|
@@ -7,10 +7,10 @@
|
|
|
class="el-menu-vertical-demo"
|
|
|
@select="handleSelect"
|
|
|
background-color="#FFFFFF">
|
|
|
- <el-menu-item index="1">
|
|
|
- <i class="el-icon-menu"></i>
|
|
|
- <span slot="title">结算说明</span>
|
|
|
- </el-menu-item>
|
|
|
+<!-- <el-menu-item index="1">-->
|
|
|
+<!-- <i class="el-icon-menu"></i>-->
|
|
|
+<!-- <span slot="title">结算说明</span>-->
|
|
|
+<!-- </el-menu-item>-->
|
|
|
<el-menu-item index="/settlementCenter">
|
|
|
<i class="el-icon-menu"></i>
|
|
|
<span slot="title">生成账单</span>
|
|
@@ -28,95 +28,187 @@
|
|
|
<div style="background-color: #FFFFFF;border: 1px solid #eeeeee;">
|
|
|
<div style="width:75%;display:flex;justify-content: space-around;float: left">
|
|
|
<div style="width: 20%;">
|
|
|
- <el-input placeholder="订舱单" style="width: 100%;"></el-input>
|
|
|
- <el-input placeholder="船名"></el-input>
|
|
|
- <el-input placeholder="箱号"></el-input>
|
|
|
+ <el-input placeholder="订舱单" v-model="form.fBillno" style="width: 100%;"></el-input>
|
|
|
+<!-- <el-input placeholder="船名" v-model="form.fVslid"></el-input>-->
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="form.fVslid"
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ style="margin-top: 10px"
|
|
|
+ placeholder="请输入船名"
|
|
|
+ :remote-method="searchShipName"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in shipName"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+<!-- <el-input placeholder="结算单位"></el-input>-->
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="form.fCorpid"
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ style="margin-top: 20px;"
|
|
|
+ placeholder="请输入结算单位"
|
|
|
+ :remote-method="corpsRemoteMethod"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fEblnoOptions"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
<div style="width: 20%;">
|
|
|
- <el-input placeholder="收货人" style="width: 100%;"></el-input>
|
|
|
- <el-input placeholder="航次"></el-input>
|
|
|
- <el-input placeholder="条数"></el-input>
|
|
|
+ <el-input placeholder="收货人" v-model="form.fConsigneername" style="width: 100%;"></el-input>
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="form.fVoyid"
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ style="margin-top: 10px;margin-bottom: 10px"
|
|
|
+ placeholder="请输入航次"
|
|
|
+ :remote-method="voyageNumber"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in geNumber"
|
|
|
+ :key="index.fId"
|
|
|
+ :label="dict.fNo"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+<!-- <el-input placeholder="付款方式" v-model="form.fPaymodeid"></el-input>-->
|
|
|
+ <el-select
|
|
|
+ v-model="form.fPaymodeid"
|
|
|
+ placeholder="请选择付款方式"
|
|
|
+ clearable
|
|
|
+ style="margin-top: 10px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in methodOptions"
|
|
|
+ :key="index.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
<div style="width: 50%;">
|
|
|
<div style="display:flex;justify-content: space-between;width: 100%;">
|
|
|
- <el-input placeholder="始发港" style="width: 45%;"></el-input>
|
|
|
+<!-- <el-input placeholder="始发港" v-model="form.fLoadportid" style="width: 45%;"></el-input>-->
|
|
|
+ <el-select
|
|
|
+ v-model="form.fLoadportid"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ style="width: 45%;margin-top: 10px;margin-right: 2px;padding-left: 5px;margin-bottom: 10px"
|
|
|
+ class="elSelect"
|
|
|
+ placeholder="查找起运港口"
|
|
|
+ >
|
|
|
+ <el-scrollbar>
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fMblnoOptions"
|
|
|
+ :key="dict.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-select>
|
|
|
<span style="margin-top: 20px">至</span>
|
|
|
- <el-input placeholder="目的港" style="width: 45%;"></el-input>
|
|
|
+<!-- <el-input placeholder="目的港" v-model="form.fDestportid" style="width: 45%;"></el-input>-->
|
|
|
+ <el-select
|
|
|
+ v-model="form.fDestportid"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ style="width: 45%;margin-top: 10px;padding-right: 5px;margin-bottom: 10px"
|
|
|
+ class="elSelect"
|
|
|
+ placeholder="查找目的港"
|
|
|
+ >
|
|
|
+ <el-scrollbar>
|
|
|
+ <el-option
|
|
|
+ v-for="(dict, index) in fMblnoOptions"
|
|
|
+ :key="dict.fId"
|
|
|
+ :label="dict.fName"
|
|
|
+ :value="dict.fId"
|
|
|
+ ></el-option>
|
|
|
+ </el-scrollbar>
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
- <div style="display:flex;justify-content: space-between;">
|
|
|
+ <div style="display:flex;justify-content: space-between;padding-left: 5px;padding-right: 5px">
|
|
|
<el-date-picker
|
|
|
- style="width: 45%;"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="创建开始时间">
|
|
|
+ v-model="form.sailTime"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="至"
|
|
|
+ style="width: 100%;margin-top: 10px;margin-bottom: 10px"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ :default-time="['00:00:00', '23:59:59']"
|
|
|
+ end-placeholder="结束日期">
|
|
|
</el-date-picker>
|
|
|
- <span style="margin-top: 20px">至</span>
|
|
|
+ </div>
|
|
|
+ <div style="display:flex;justify-content: space-between;">
|
|
|
<el-date-picker
|
|
|
- style="width: 45%;"
|
|
|
+ v-model="form.fDocmentdate"
|
|
|
type="date"
|
|
|
+ style="width: 45%;"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
- placeholder="创建结束时间">
|
|
|
+ placeholder="单据有效期结束">
|
|
|
</el-date-picker>
|
|
|
- </div>
|
|
|
- <div style="display:flex;justify-content: space-between;">
|
|
|
- <el-input placeholder="单据有效期结束" style="width: 45%;"></el-input>
|
|
|
<span style="margin-top: 20px"> </span>
|
|
|
- <el-input placeholder="提单号" style="width: 45%;"></el-input>
|
|
|
+ <el-input placeholder="提单号" v-model="form.fMblno" style="width: 45%;"></el-input>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="query">
|
|
|
<div>
|
|
|
<div>
|
|
|
- <el-button type="primary">查询</el-button>
|
|
|
+ <el-button type="primary" @click="queryList">查询</el-button>
|
|
|
</div>
|
|
|
<div>
|
|
|
<el-button type="success" size="mini">对账单下载</el-button>
|
|
|
- <el-button type="success" size="mini">对账申请</el-button>
|
|
|
+ <el-button type="success" size="mini" :disabled="disabled" @click="submit">对账生成</el-button>
|
|
|
</div>
|
|
|
- <div>合计金额:¥87127319</div>
|
|
|
+ <div>合计金额:¥{{ list.fAmtdr? list.fAmtdr:'0'}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="width: 98%;height: 200px;float: left;padding-right: 1%;padding-left: 1%;border-top: 1px solid #eeeeee;border-left: 1px solid #eeeeee">
|
|
|
+ <div style="width: 98%;float: left;padding-right: 1%;padding-left: 1%;border-top: 1px solid #eeeeee;border-left: 1px solid #eeeeee">
|
|
|
<el-table
|
|
|
:data="tableData"
|
|
|
+ @selection-change="selection"
|
|
|
style="width: 100%">
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
- <el-table-column type="index" label="行号" align="center"/>
|
|
|
- <el-table-column
|
|
|
- prop="date"
|
|
|
- label="运单号">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="date"
|
|
|
- label="收费单位">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="date"
|
|
|
- label="售票单位">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="date"
|
|
|
- label="付款方式">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="date"
|
|
|
- label="费目名称">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="date"
|
|
|
- label="应收(元)">
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column type="selection" :show-overflow-tooltip="true" width="55" align="center"/>
|
|
|
+ <el-table-column type="index" :show-overflow-tooltip="true" label="行号" align="center"/>
|
|
|
+ <el-table-column prop="fBillno" :show-overflow-tooltip="true" label="运单号" width="160" align="center"/>
|
|
|
+ <el-table-column prop="vesselName" :show-overflow-tooltip="true" label="船名" width="100" align="center"/>
|
|
|
+ <el-table-column prop="voyageName" :show-overflow-tooltip="true" label="航次" width="100" align="center"/>
|
|
|
+ <el-table-column prop="payment" :show-overflow-tooltip="true" label="费用名称" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fAmtdr" :show-overflow-tooltip="true" label="原始金额" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fAmt" :show-overflow-tooltip="true" label="本次金额" width="100" align="center"/>
|
|
|
+ <el-table-column prop="invoice" :show-overflow-tooltip="true" label="收费单位" width="100" align="center"/>
|
|
|
+ <el-table-column prop="drawee" :show-overflow-tooltip="true" label="受票单位" width="100" align="center"/>
|
|
|
+ <el-table-column prop="corpName" :show-overflow-tooltip="true" label="货权方" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fPaymode" :show-overflow-tooltip="true" label="付款方式" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fLoadportidName" :show-overflow-tooltip="true" label="始发港" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fDestportidName" :show-overflow-tooltip="true" label="目的港" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fServiceitems" :show-overflow-tooltip="true" label="运输条款" width="100" align="center"/>
|
|
|
+ <el-table-column prop="goodName" :show-overflow-tooltip="true" label="货名" width="100" align="center"/>
|
|
|
+ <el-table-column prop="transit" :show-overflow-tooltip="true" label="箱型" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fCntrcount" :show-overflow-tooltip="true" label="箱量" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fShippername" :show-overflow-tooltip="true" label="发货人" width="100" align="center"/>
|
|
|
+ <el-table-column prop="fConsigneername" :show-overflow-tooltip="true" label="收货人" width="100" align="center"/>
|
|
|
</el-table>
|
|
|
<div style="float: right;margin-top: 30px">
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange"
|
|
|
:page-sizes="[10, 20, 30, 50]"
|
|
|
- :page-size="10"
|
|
|
+ :page-size="form.pageSize"
|
|
|
background
|
|
|
layout="sizes, prev, pager, next"
|
|
|
- :total="23">
|
|
|
+ :total="total">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -126,25 +218,169 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import {request} from '../../request/request'
|
|
|
export default {
|
|
|
name: 'settlementCenter',
|
|
|
data() {
|
|
|
return {
|
|
|
activeIndex: '/settlementCenter',
|
|
|
- tableData:[]
|
|
|
+ tableData:[],
|
|
|
+ total:0,
|
|
|
+ disabled:true,
|
|
|
+ fMblnoOptions:[],
|
|
|
+ tFeeDo:[],
|
|
|
+ form:{
|
|
|
+ pageNum:1,
|
|
|
+ pageSize:10
|
|
|
+ },
|
|
|
+ fEblnoOptions:[],
|
|
|
+ geNumber:[],
|
|
|
+ methodOptions:[],
|
|
|
+ shipName:[],
|
|
|
+ list:{}
|
|
|
};
|
|
|
},
|
|
|
+ created() {
|
|
|
+ this.handleQuery()
|
|
|
+ this.queryList()
|
|
|
+ request({
|
|
|
+ url: '/system/dict/data/type/data_settlement_type',
|
|
|
+ method: 'get',
|
|
|
+ }).then(response =>{
|
|
|
+ this.methodOptions = response.data.data
|
|
|
+ })
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ voyageNumber(name){
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let queryParams = { fName: name };
|
|
|
+ request({
|
|
|
+ url: '/shipping/voyage/selectTVoyagefNumber',
|
|
|
+ method: 'get',
|
|
|
+ params: queryParams
|
|
|
+ }).then(response =>{
|
|
|
+ this.geNumber = response.data.rows;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ searchShipName(name){
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let queryParams = { fName: name };
|
|
|
+ request({
|
|
|
+ url: '/shipping/vessel/selectTVesselfNumber',
|
|
|
+ method: 'get',
|
|
|
+ params: queryParams
|
|
|
+ }).then(response =>{
|
|
|
+ this.shipName = response.data.rows;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ corpsRemoteMethod(name) {
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let queryParams = { fName: name };
|
|
|
+ request({
|
|
|
+ url: '/khwarehouse/warehousebills/getClientName',
|
|
|
+ method: 'post',
|
|
|
+ data: queryParams
|
|
|
+ }).then(response =>{
|
|
|
+ this.fEblnoOptions = response.data.data;
|
|
|
+ // console.log(this.fEblnoOptions);
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleQuery() {
|
|
|
+ // this.fMblnoOptions
|
|
|
+ request({
|
|
|
+ url: '/shipping/address/selectPortName',
|
|
|
+ method: 'get',
|
|
|
+ params: {
|
|
|
+ fName: this.form.fLoadportid
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ // console.log(res);
|
|
|
+ this.fMblnoOptions = res.data.rows;
|
|
|
+ // console.log(this.fMblnoOptions);
|
|
|
+ })
|
|
|
+ },
|
|
|
+ queryList(){
|
|
|
+ let data = JSON.parse(JSON.stringify(this.form))
|
|
|
+ if (data.sailTime){
|
|
|
+ data.sailTime = data.sailTime.join(',')
|
|
|
+ }
|
|
|
+ request({
|
|
|
+ url: '/financial/webVersionAccount/webVersionList',
|
|
|
+ method: 'get',
|
|
|
+ params: data
|
|
|
+ }).then(res => {
|
|
|
+ // console.log(res.data)
|
|
|
+ this.total = res.data.total
|
|
|
+ this.tableData = res.data.rows
|
|
|
+ })
|
|
|
+ },
|
|
|
+ submit(){
|
|
|
+ // console.log(this.list);
|
|
|
+ let formData = new window.FormData();
|
|
|
+ formData.append('tFee', JSON.stringify(this.list));
|
|
|
+ formData.append('tFeeDo', JSON.stringify(this.tFeeDo));
|
|
|
+ formData.append('billsType', 'KHDZ');
|
|
|
+ request({
|
|
|
+ url: '/financial/webVersionAccount/webVersionAdd',
|
|
|
+ method: 'post',
|
|
|
+ data:formData
|
|
|
+ }).then(res => {
|
|
|
+ if (res.data.code == 200){
|
|
|
+ this.queryList()
|
|
|
+ this.$message({
|
|
|
+ showClose: true,
|
|
|
+ message: '操作成功',
|
|
|
+ type: 'success',
|
|
|
+ offset:90
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ console.log(err);
|
|
|
+ })
|
|
|
+ },
|
|
|
handleSizeChange(val) {
|
|
|
- console.log(`每页 ${val} 条`);
|
|
|
+ // console.log(`每页 ${val} 条`);
|
|
|
+ this.form.pageSize = val
|
|
|
+ this.queryList()
|
|
|
+ },
|
|
|
+ selection(selection){
|
|
|
+ this.list = {}
|
|
|
+ if (selection.length > 0){
|
|
|
+ this.tFeeDo = selection
|
|
|
+ this.disabled = false
|
|
|
+ this.list.fAmtdr = this.list.fAmtcr = 0
|
|
|
+ for (let item in selection){
|
|
|
+ this.list.fAmtdr += Number(selection[item].fAmt)
|
|
|
+ this.list.fAmtcr += Number(selection[item].fAmtdr)
|
|
|
+ }
|
|
|
+ this.list.fCtrlcorpid = selection[0].corpName
|
|
|
+ if (selection.length >= 2){
|
|
|
+ this.list.tMblno = selection[0].fMblno + '•••'
|
|
|
+ }else {
|
|
|
+ this.list.tMblno = selection[0].fMblno
|
|
|
+ }
|
|
|
+ this.list.fSystemType = '3'
|
|
|
+ this.list.fCorpid = selection[0].fCorpid
|
|
|
+ }else {
|
|
|
+ this.disabled = true
|
|
|
+ this.list = {}
|
|
|
+ }
|
|
|
},
|
|
|
handleCurrentChange(val) {
|
|
|
- console.log(`当前页: ${val}`);
|
|
|
+ // console.log(`当前页: ${val}`);
|
|
|
+ this.form.pageNum = val
|
|
|
+ this.queryList()
|
|
|
},
|
|
|
handleSelect(key, keyPath) {
|
|
|
this.$router.push(key);
|
|
|
- console.log(this.activeIndex);
|
|
|
- console.log(key, keyPath);
|
|
|
+ // console.log(this.activeIndex);
|
|
|
+ // console.log(key, keyPath);
|
|
|
},
|
|
|
}
|
|
|
};
|