Merge pull request '销账功能调整' (#204) from develop into master

Reviewed-on: http://git.xdadan.loc/tanex/emis-frontend/pulls/204
This commit is contained in:
wuteng 2026-02-10 16:07:36 +08:00
commit 4a76ce7c83
5 changed files with 126 additions and 52 deletions

View File

@ -98,7 +98,7 @@
min-width="170"></el-table-column> min-width="170"></el-table-column>
<el-table-column :label="$t('支付方式')" align="center" prop="emisWaybill.paymentType" min-width="140"> <el-table-column :label="$t('支付方式')" align="center" prop="emisWaybill.paymentType" min-width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.emis_payment_type" :value="scope.row.emisWaybill.paymentType" /> <dict-tag :options="dict.type.emis_payment_type" :value="scope.row.emisWaybill?.paymentType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('产品类型')" align="center" prop="emisWaybill.productTypeName" <el-table-column :label="$t('产品类型')" align="center" prop="emisWaybill.productTypeName"
@ -106,6 +106,16 @@
<el-table-column :label="$t('件数')" align="center" prop="emisWaybill.parcelQty" min-width="100"> <el-table-column :label="$t('件数')" align="center" prop="emisWaybill.parcelQty" min-width="100">
</el-table-column> </el-table-column>
<el-table-column :label="$t('结算重量 ')" align="center" prop="emisWaybill.settlementWeight" min-width="100" /> <el-table-column :label="$t('结算重量 ')" align="center" prop="emisWaybill.settlementWeight" min-width="100" />
<el-table-column :label="$t('发票号 ')" align="center" prop="invoiceNo" min-width="100" />
<el-table-column :label="$t('收款状态 ')" align="center" prop="emisSettleSubBill.paymentStatus" min-width="100" >
<template slot-scope="scope">
<!-- 收款状态 展示不同颜色的标签 -->
<el-tag v-if="scope.row.emisSettleSubBill.paymentStatus=='0'" type="error">未收款</el-tag>
<el-tag v-if="scope.row.emisSettleSubBill.paymentStatus=='1'" type="success">已收款</el-tag>
<el-tag v-if="scope.row.emisSettleSubBill.paymentStatus=='2'" type="warning">部分收款</el-tag>
<!-- <dict-tag :options="dict.type.emis_settlebill_pay_status" :value="scope.row.emisSettleBill.paymentStatus"/> -->
</template>
</el-table-column>
</el-table> </el-table>
<div style="text-align: center;margin-bottom: 10px;" v-if="!disabled"> <div style="text-align: center;margin-bottom: 10px;" v-if="!disabled">

View File

@ -9,6 +9,7 @@
<el-radio-group class="query-label" v-model="queryOrderType"> <el-radio-group class="query-label" v-model="queryOrderType">
<el-radio label="1">运单号</el-radio> <el-radio label="1">运单号</el-radio>
<el-radio label="0">账单号</el-radio> <el-radio label="0">账单号</el-radio>
<el-radio label="2">发票号</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<XdTextareaInput v-model="queryParams.queryKey" :placeholder="$t('多个流水号逗号或换行隔开')" clearable :rows="2" /> <XdTextareaInput v-model="queryParams.queryKey" :placeholder="$t('多个流水号逗号或换行隔开')" clearable :rows="2" />
@ -43,6 +44,14 @@
<el-form-item :label="$t('申请人')" prop="applyManName"> <el-form-item :label="$t('申请人')" prop="applyManName">
<EmpNamePicker :placeholder="$t('申请人')" v-model="queryParams.applyManName"></EmpNamePicker> <EmpNamePicker :placeholder="$t('申请人')" v-model="queryParams.applyManName"></EmpNamePicker>
</el-form-item> </el-form-item>
<!-- 收款方式 -->
<el-form-item :label="$t('收款方式')">
<el-select v-model="queryParams.payType" placeholder="请选择收款方式" clearable="">
<el-option v-for="item in dict.type.emis_settlebill_pay_type" :key="item.value"
:label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</SearchForm> </SearchForm>
@ -107,6 +116,8 @@
{{ unrecedMoney(scope.row) }} {{ unrecedMoney(scope.row) }}
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column :label="$t('收款公司')" align="center" prop="recedCompanyName" min-width="100" />
<el-table-column :label="$t('发票号')" align="center" prop="invoiceNo" min-width="100" />
<el-table-column :label="$t('申请说明')" align="center" prop="applyMemo" min-width="100"> <el-table-column :label="$t('申请说明')" align="center" prop="applyMemo" min-width="100">
</el-table-column> </el-table-column>
<el-table-column :label="$t('申请时间')" align="center" prop="applyDate" min-width="80"> <el-table-column :label="$t('申请时间')" align="center" prop="applyDate" min-width="80">
@ -146,7 +157,7 @@ export default {
components: { components: {
elDateAdvPicker, PayeePicker, SalemanPicker, EmpNamePicker, CancelAccountApplicationFormPanel elDateAdvPicker, PayeePicker, SalemanPicker, EmpNamePicker, CancelAccountApplicationFormPanel
}, },
dicts: ['emis_payment_type', 'center_confirme_status'], dicts: ['emis_payment_type', 'center_confirme_status','emis_settlebill_pay_type'],
data() { data() {
return { return {
@ -203,19 +214,19 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
let rqParams = { ...this.queryParams }; let rqParams = this.initQueryParams();
if (this.queryParams.queryKey) { // if (this.queryParams.queryKey) {
rqParams.params.queryParams = this.queryParams.queryKey; // rqParams.params.queryParams = this.queryParams.queryKey;
}else{ // }else{
rqParams.params.queryParams = null; // rqParams.params.queryParams = null;
} // }
if (this.dateTimeRange) { // if (this.dateTimeRange) {
rqParams = this.addDateRange(rqParams, this.dateTimeRange, "applyDate"); // rqParams = this.addDateRange(rqParams, this.dateTimeRange, "applyDate");
rqParams.applyDateStart = this.dateTimeRange[0]; // rqParams.applyDateStart = this.dateTimeRange[0];
rqParams.applyDateEnd = this.dateTimeRange[1]; // rqParams.applyDateEnd = this.dateTimeRange[1];
this.removeDateRange(rqParams, "etd"); // this.removeDateRange(rqParams, "etd");
} // }
getWriteoffApplyList(rqParams).then(response => { getWriteoffApplyList(rqParams).then(response => {
this.emisTmsBatchList = response.rows; this.emisTmsBatchList = response.rows;
@ -225,22 +236,19 @@ export default {
}, },
initQueryParams() { initQueryParams() {
if (this.queryParams.queryKey) {
if (this.queryOrderType == '1') { this.queryParams.params.queryParams = this.queryParams.queryKey;
this.queryParams.params.billCode = this.queryParams.queryKey; }else{
this.queryParams.batchNo = null; this.queryParams.params.queryParams = null;
} else {
this.queryParams.batchNo = this.queryParams.queryKey;
this.queryParams.params.billCode = null;
} }
if (this.dateTimeRange) {
this.queryParams = this.addDateRange(this.queryParams, this.dateTimeRange, "applyDate");
if (this.queryETDType == '2') { this.queryParams.applyDateStart = this.dateTimeRange[0];
this.removeDateRange(this.queryParams, "createTime"); this.queryParams.applyDateEnd = this.dateTimeRange[1];
this.queryParams = this.addDateRange(this.queryParams, this.dateTimeRange, "etd"); this.removeDateRange(this.queryParams, "applyDate");
} else { }else{
this.removeDateRange(this.queryParams, "etd"); this.queryParams.applyDateStart =null;
this.queryParams = this.addDateRange(this.queryParams, this.dateTimeRange, "createTime"); this.queryParams.applyDateEnd = null;
} }
return this.queryParams; return this.queryParams;
}, },

View File

@ -40,15 +40,21 @@
<el-table-column :label="$t('产品类型')" align="center" prop="emisWaybill.productTypeName" min-width="100"></el-table-column> <el-table-column :label="$t('产品类型')" align="center" prop="emisWaybill.productTypeName" min-width="100"></el-table-column>
<el-table-column :label="$t('件数')" align="center" prop="emisWaybill.parcelQty" min-width="100"> </el-table-column> <el-table-column :label="$t('件数')" align="center" prop="emisWaybill.parcelQty" min-width="100"> </el-table-column>
<el-table-column :label="$t('结算重量 ')" align="center" prop="emisWaybill.settlementWeight" min-width="100" /> <el-table-column :label="$t('结算重量 ')" align="center" prop="emisWaybill.settlementWeight" min-width="100" />
<el-table-column :label="$t('收款状态 ')" align="center" prop="emisSettleBill.paymentStatus" min-width="100"> <el-table-column :label="$t('发票号 ')" align="center" prop="invoiceNo" min-width="100" />
<el-table-column :label="$t('收款状态 ')" align="center" prop="emisSettleSubBill.paymentStatus" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 收款状态 展示不同颜色的标签 --> <!-- 收款状态 展示不同颜色的标签 -->
<el-tag v-if="scope.row.emisSettleBill.paymentStatus=='0'" type="error">未收款</el-tag> <el-tag v-if="scope.row.emisSettleSubBill.paymentStatus=='0'" type="error">未收款</el-tag>
<el-tag v-if="scope.row.emisSettleBill.paymentStatus=='1'" type="success">已收款</el-tag> <el-tag v-if="scope.row.emisSettleSubBill.paymentStatus=='1'" type="success">已收款</el-tag>
<el-tag v-if="scope.row.emisSettleBill.paymentStatus=='2'" type="warning">部分收款</el-tag> <el-tag v-if="scope.row.emisSettleSubBill.paymentStatus=='2'" type="warning">部分收款</el-tag>
<!-- <dict-tag :options="dict.type.emis_settlebill_pay_status" :value="scope.row.emisSettleBill.paymentStatus"/> --> <!-- <dict-tag :options="dict.type.emis_settlebill_pay_status" :value="scope.row.emisSettleBill.paymentStatus"/> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('销账时间')" align="center" min-width="170" >
<template slot-scope="scope">
{{tradeDate}}
</template>
</el-table-column>
<el-table-column :label="$t('开票状态 ')" align="center" prop="emisSettleBill.chargeStatus" min-width="100"> <el-table-column :label="$t('开票状态 ')" align="center" prop="emisSettleBill.chargeStatus" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.emisSettleBill.openBillStatus=='0'" type="error">未开票</el-tag> <el-tag v-if="scope.row.emisSettleBill.openBillStatus=='0'" type="error">未开票</el-tag>
@ -79,6 +85,10 @@ export default {
emisSettlePayRecordList:{ emisSettlePayRecordList:{
type:Array, type:Array,
default:()=>[] default:()=>[]
},
tradeDate:{
type:String,
default:()=>''
} }
}, },
components: { elDateSimplePicker,PayRecordSubBillRelList }, components: { elDateSimplePicker,PayRecordSubBillRelList },

View File

@ -9,6 +9,7 @@
<el-radio-group class="query-label" v-model="queryOrderType"> <el-radio-group class="query-label" v-model="queryOrderType">
<el-radio label="1">运单号</el-radio> <el-radio label="1">运单号</el-radio>
<el-radio label="0">账单号</el-radio> <el-radio label="0">账单号</el-radio>
<el-radio label="2">发票号</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<XdTextareaInput v-model="queryParams.queryKey" :placeholder="$t('多个流水号逗号或换行隔开')" clearable <XdTextareaInput v-model="queryParams.queryKey" :placeholder="$t('多个流水号逗号或换行隔开')" clearable
@ -44,6 +45,12 @@
<el-form-item :label="$t('申请人')" prop="applyManName"> <el-form-item :label="$t('申请人')" prop="applyManName">
<EmpNamePicker :placeholder="$t('申请人')" v-model="queryParams.applyManName"></EmpNamePicker> <EmpNamePicker :placeholder="$t('申请人')" v-model="queryParams.applyManName"></EmpNamePicker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收款方式')">
<el-select v-model="queryParams.payType" placeholder="请选择收款方式" clearable="">
<el-option v-for="item in dict.type.emis_settlebill_pay_type" :key="item.value"
:label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</SearchForm> </SearchForm>
@ -95,18 +102,38 @@
{{ scope.row.detailList.reduce((total, item) => total + (item.emisWaybill.freight -item.emisSettleSubBill.recedMoney || 0), 0) }} {{ scope.row.detailList.reduce((total, item) => total + (item.emisWaybill.freight -item.emisSettleSubBill.recedMoney || 0), 0) }}
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column :label="$t('缴款人')" align="center" prop="recipient" min-width="100">
</el-table-column>
<el-table-column :label="$t('收款公司')" align="center" prop="payCompanyName" min-width="100">
</el-table-column>
<el-table-column :label="$t('收款方式')" align="center" prop="payType" min-width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_settlebill_pay_type" :value="scope.row.payType" />
</template>
</el-table-column>
<el-table-column :label="$t('付款日期')" align="center" prop="payDate" min-width="100">
</el-table-column>
<el-table-column :label="$t('销账日期')" align="center" prop="tradeDate" min-width="100">
</el-table-column>
<el-table-column :label="$t('发票号')" align="center" prop="invoiceNo" min-width="100">
</el-table-column>
<el-table-column :label="$t('图片')" align="center" prop="fileUrl" min-width="200">
<template slot-scope="scope">
<ImagePreview height="50px" v-for="pic in (scope.row.imageList||[])" :key="pic.id" :src="pic.imagePath" ></ImagePreview>
</template>
</el-table-column>
<el-table-column :label="$t('申请说明')" align="center" prop="applyMemo" min-width="100"> <el-table-column :label="$t('申请说明')" align="center" prop="applyMemo" min-width="100">
</el-table-column> </el-table-column>
<el-table-column :label="$t('申请时间')" align="center" prop="applyDate" min-width="80"> <el-table-column :label="$t('申请时间')" align="center" prop="applyDate" min-width="80">
</el-table-column> </el-table-column>
<el-table-column :label="$t('财务中心审核状态')" align="center" prop="blCenterConfirmed" min-width="140"> <el-table-column :label="$t('财务中心审核状态')" align="center" prop="blCenterConfirmed" min-width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.center_confirme_status" :value="scope.row.blCenterConfirmed" /> <dict-tag :options="dict.type.center_confirme_status" :value="scope.row.blCenterConfirmed" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('总部审核状态')" align="center" prop="blHeadquartersConfirmed" min-width="120"> <el-table-column :label="$t('总部审核状态')" align="center" prop="blHeadquartersConfirmed" min-width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.center_confirme_status" :value="scope.row.blHeadquartersConfirmed" /> <dict-tag :options="dict.type.center_confirme_status" :value="scope.row.blHeadquartersConfirmed" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('中心审核时间')" align="center" prop="centerConfirmDate" min-width="120" /> <el-table-column :label="$t('中心审核时间')" align="center" prop="centerConfirmDate" min-width="120" />
@ -133,7 +160,7 @@ export default {
name: "CancelAccountCheckListPanel", name: "CancelAccountCheckListPanel",
components: { elDateAdvPicker, PayeePicker, SalemanPicker, EmpNamePicker, CancelAccountApplicationFormPanel components: { elDateAdvPicker, PayeePicker, SalemanPicker, EmpNamePicker, CancelAccountApplicationFormPanel
}, },
dicts: [ 'center_confirme_status'], dicts: [ 'center_confirme_status','emis_settlebill_pay_type'],
data() { data() {
return { return {
@ -244,6 +271,7 @@ export default {
salesmen: null, salesmen: null,
applyDateStart: null, applyDateStart: null,
applyDateEnd: null, applyDateEnd: null,
payType: null,
params: { params: {
queryParams: null, queryParams: null,
} }
@ -258,20 +286,22 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
let rqParams = { ...this.queryParams }; let rqParams = this.initQueryParams();
if (this.queryParams.queryKey) {
rqParams.params.queryParams = this.queryParams.queryKey;
}else{
rqParams.params.queryParams = null;
}
if (this.dateTimeRange) {
rqParams = this.addDateRange(rqParams, this.dateTimeRange, "applyDate");
rqParams.applyDateStart = this.dateTimeRange[0];
rqParams.applyDateEnd = this.dateTimeRange[1];
this.removeDateRange(rqParams, "etd");
}
// if (this.queryParams.queryKey) {
// rqParams.params.queryParams = this.queryParams.queryKey;
// }else{
// rqParams.params.queryParams = null;
// }
// if (this.dateTimeRange) {
// rqParams = this.addDateRange(rqParams, this.dateTimeRange, "applyDate");
// rqParams.applyDateStart = this.dateTimeRange[0];
// rqParams.applyDateEnd = this.dateTimeRange[1];
// this.removeDateRange(rqParams, "etd");
// }else{
// rqParams.applyDateStart = null;
// rqParams.applyDateEnd = null;
// }
getWriteoffApplyList(rqParams).then(response => { getWriteoffApplyList(rqParams).then(response => {
this.emisTmsBatchList = response.rows; this.emisTmsBatchList = response.rows;
this.total = response.total; this.total = response.total;
@ -289,7 +319,10 @@ export default {
this.queryParams = this.addDateRange(this.queryParams, this.dateTimeRange, "applyDate"); this.queryParams = this.addDateRange(this.queryParams, this.dateTimeRange, "applyDate");
this.queryParams.applyDateStart = this.dateTimeRange[0]; this.queryParams.applyDateStart = this.dateTimeRange[0];
this.queryParams.applyDateEnd = this.dateTimeRange[1]; this.queryParams.applyDateEnd = this.dateTimeRange[1];
this.removeDateRange(this.queryParams, "etd"); this.removeDateRange(this.queryParams, "applyDate");
}else{
this.queryParams.applyDateStart = null;
this.queryParams.applyDateEnd = null;
} }
return this.queryParams; return this.queryParams;
}, },
@ -450,6 +483,19 @@ export default {
if (j === 'blCenterConfirmed') { if (j === 'blCenterConfirmed') {
return this.selectDictLabel(this.dict.type.center_confirme_status, v[j]); return this.selectDictLabel(this.dict.type.center_confirme_status, v[j]);
} }
if(j === 'blHeadquartersConfirmed'){
return this.selectDictLabel(this.dict.type.center_confirme_status, v[j]);
}
if(j=== 'payType' ){
return this.selectDictLabel(this.dict.type.emis_settlebill_pay_type, v[j]);
}
if(j === 'emisWaybill.freight'){ // 账单金额
return v['detailList']?.reduce((total, item) => total + (item.emisWaybill.freight || 0), 0)
}
if(j=== 'emisSettleSubBill.recedMoney'){ // 已收金额
return v['detailList']?.reduce((total, item) => total + (item.emisSettleSubBill.recedMoney || 0), 0)
}
return v[j] return v[j]
})) }))
}, },

View File

@ -7,7 +7,7 @@
<dict-tag :options="dict.type.emis_settlebill_pay_type" :value="settleBillItem.payType"/> <dict-tag :options="dict.type.emis_settlebill_pay_type" :value="settleBillItem.payType"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="销账总金额">¥{{ settleBillItem.writeoffAmount }}</el-descriptions-item> <el-descriptions-item label="销账总金额">¥{{ settleBillItem.writeoffAmount }}</el-descriptions-item>
<el-descriptions-item label="收款人" :span="2" > {{ settleBillItem.recipient }} <el-descriptions-item label="缴款人" :span="2" > {{ settleBillItem.recipient }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="交易时间">{{ settleBillItem.tradeDate }}</el-descriptions-item> <el-descriptions-item label="交易时间">{{ settleBillItem.tradeDate }}</el-descriptions-item>
@ -19,7 +19,7 @@
</div> </div>
<div> <div>
<CancelAccountBillList :settleBillNo="settleBillNo" :emisSettlePayRecordList="settleBillItem.detailList" /> <CancelAccountBillList :settleBillNo="settleBillNo" :emisSettlePayRecordList="settleBillItem.detailList" :tradeDate="settleBillItem.tradeDate" />
</div> </div>