This commit is contained in:
linfso 2025-05-16 13:56:07 +08:00
parent 3464856fdd
commit b990811239
4 changed files with 158 additions and 80 deletions

View File

@ -113,6 +113,8 @@
@click="handleExport" @click="handleExport"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5" v-if="confirmStatus==0"> <!-- <el-col :span="1.5" v-if="confirmStatus==0">
<el-button <el-button
type="primary" type="primary"
@ -171,7 +173,7 @@
@click="handleExportToSeaWaybill" @click="handleExportToSeaWaybill"
>海运账单下载</el-button> >海运账单下载</el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5" v-if="confirmStatus==1"> <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
@ -179,7 +181,7 @@
:disabled="single" :disabled="single"
@click="handleGenPayCode" @click="handleGenPayCode"
>微信收款码</el-button> >微信收款码</el-button>
</el-col> --> </el-col>
</el-row> </el-row>
</div> </div>
@ -267,11 +269,12 @@
</XdTable> </XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="80%" :destroy-on-close="true" v-dialogDrag append-to-body> <el-dialog :title="titleForm" :visible.sync="openForm" width="40%" :destroy-on-close="true" v-dialogDrag append-to-body>
<MergeBillForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></MergeBillForm> <PayQrCode :key="'payqr_'+resetRefreshId" :settleBillNo="currentSettleBillNo" :settleType="settleType" @on-changed="handleFormChanged" @on-cancel="cancelForm"></PayQrCode>
</el-dialog> </el-dialog>
</XdPageContainer> </XdPageContainer>
</template> </template>
@ -280,14 +283,14 @@ import JSZip from 'jszip';
import FileSaver from 'file-saver'; import FileSaver from 'file-saver';
import { listEmisSettleBill,confirmSettleBillBySite, getEmisSettleBill, delEmisSettleBill, addEmisSettleBill, updateEmisSettleBill } from "@/api/emis/emisSettleBill"; import { listEmisSettleBill,confirmSettleBillBySite, getEmisSettleBill, delEmisSettleBill, addEmisSettleBill, updateEmisSettleBill } from "@/api/emis/emisSettleBill";
import MergeBillForm from '@/views/emis/emisSettleBill/MergeBillForm.vue';
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue'; import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue'; import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue'; import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker'; import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
import AllMonthpayAccountPicker from '@/views/emis/EmisBaseTools/AllMonthpayAccountPicker.vue'; import AllMonthpayAccountPicker from '@/views/emis/EmisBaseTools/AllMonthpayAccountPicker.vue';
import PayQrCode from '@/views/emis/emisSettlePayRecord/panel/PayQrCode.vue';
export default { export default {
name: "EmisSettleBillQuery", name: "EmisSettleBillQuery",
@ -296,13 +299,14 @@ export default {
type:[String,Number] type:[String,Number]
} }
}, },
components: { MergeBillForm,elDateAdvPicker,PayeePicker,SalemanPicker,EmisMonthpayAccountPicker,AllMonthpayAccountPicker }, components: { PayQrCode,elDateAdvPicker,PayeePicker,SalemanPicker,EmisMonthpayAccountPicker,AllMonthpayAccountPicker },
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear', dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type', 'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
'emis_calc_fee_type','emis_print_type','emis_payment_status','emis_waybill_status','emis_tab_dispatch_mode' 'emis_calc_fee_type','emis_print_type','emis_payment_status','emis_waybill_status','emis_tab_dispatch_mode'
], ],
data() { data() {
return { return {
resetRefreshId:null,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
@ -452,15 +456,12 @@ export default {
this.$modal.msgSuccess("操作成功"); this.$modal.msgSuccess("操作成功");
}).catch(() => {}); }).catch(() => {});
}, },
handleGenPayCode(row) { handleGenPayCode(row) {
this.$modal.msgSuccess("暂不支持"); // this.$modal.msgSuccess("暂不支持");
const ids = row.id || this.ids; // const ids = row.id || this.ids;
// this.$modal.confirm('').then(function() { this.resetRefreshId="pay-"+Math.random().toString(36).substring(3,10);
// return confirmSettleBillBySite(ids); this.titleForm="微信二维码收款";
// }).then(() => { this.openForm=true;
// this.getList();
// this.$modal.msgSuccess("操作成功");
// }).catch(() => {});
}, },
handleSendDbClick(row){ handleSendDbClick(row){

View File

@ -145,7 +145,15 @@
v-hasPermi="['emis:emisSettleSubBill:confirmNoBillBySite']" v-hasPermi="['emis:emisSettleSubBill:confirmNoBillBySite']"
>确认不出账</el-button> >确认不出账</el-button>
</el-col> --> </el-col> -->
<el-col :span="1.5" v-if="confirmStatus==1">
<el-button
type="primary"
plain
size="mini"
:disabled="single"
@click="handleGenPayCode"
>微信收款码</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -175,15 +183,7 @@
@click="handleExportToSeaWaybill" @click="handleExportToSeaWaybill"
>海运账单下载</el-button> >海运账单下载</el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5" v-if="confirmStatus==1">
<el-button
type="primary"
plain
size="mini"
:disabled="single"
@click="handleGenPayCode"
>微信收款码</el-button>
</el-col> -->
</el-row> </el-row>
</div> </div>
@ -270,7 +270,7 @@
<el-dialog :title="titleForm" :visible.sync="openForm" width="40%" :destroy-on-close="true" v-dialogDrag append-to-body> <el-dialog :title="titleForm" :visible.sync="openForm" width="40%" :destroy-on-close="true" v-dialogDrag append-to-body>
<PayQrCode :settleBillNo="currentSettleBillNo" :settleType="settleType" @on-changed="handleFormChanged" @on-cancel="cancelForm"></PayQrCode> <PayQrCode :key="'payqr_'+resetRefreshId" :settleBillNo="currentSettleBillNo" :settleType="settleType" @on-changed="handleFormChanged" @on-cancel="cancelForm"></PayQrCode>
</el-dialog> </el-dialog>
</XdPageContainer> </XdPageContainer>
@ -311,6 +311,7 @@ export default {
], ],
data() { data() {
return { return {
resetRefreshId:null,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
@ -476,10 +477,11 @@ export default {
}).catch(() => {}); }).catch(() => {});
}, },
handleGenPayCode(row) { handleGenPayCode(row) {
this.$modal.msgSuccess("暂不支持"); // this.$modal.msgSuccess("暂不支持");
// const ids = row.id || this.ids; // const ids = row.id || this.ids;
// this.titleForm="微信二维码收款"; this.resetRefreshId="pay-"+Math.random().toString(36).substring(3,10);
// this.openForm=true; this.titleForm="微信二维码收款";
this.openForm=true;
}, },
handleSendDbClick(row){ handleSendDbClick(row){

View File

@ -48,6 +48,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="收退类型" prop="recType"> <el-form-item label="收退类型" prop="recType">
<el-select v-model="queryParams.recType" placeholder="" clearable filterable style="width:100%"> <el-select v-model="queryParams.recType" placeholder="" clearable filterable style="width:100%">

View File

@ -1,74 +1,124 @@
<template> <template>
<div > <div style="overflow: auto;">
<div style="margin-bottom: 20px;"> <el-form id="payPage" ref="form" v-if="settleBillItem!=null" :model="form" size="mini" :rules="rules" label-width="80px">
<el-descriptions :title="$t('账单信息')" size="mini" :column="2">
<el-descriptions-item label="账单名称">{{ settleBillItem.settleBillName }}</el-descriptions-item>
<!-- <el-descriptions-item label="账单编号">{{ settleBillItem.settleBillNo }}</el-descriptions-item> -->
<el-descriptions-item label="账单类型" :span="2" >
<span v-if="settleBillItem.settleType==1">现金账单</span>
<span v-if="settleBillItem.settleType==2">月结账单</span>
</el-descriptions-item>
<!-- <el-descriptions-item label="月结编号" v-if="settleBillItem.settleType==2">{{ settleBillItem.custNo }}</el-descriptions-item> -->
<el-descriptions-item label="月结客户" v-if="settleBillItem.settleType==2">{{ settleBillItem.custName }}</el-descriptions-item>
<el-descriptions-item label="销售联系人">{{ settleBillItem.salesmen }}</el-descriptions-item>
<el-descriptions-item label="回款联系人" :span="3" >{{ settleBillItem.payee }}</el-descriptions-item>
<el-descriptions-item label="账单月份">{{ settleBillItem.billMonth }}</el-descriptions-item>
<el-descriptions-item label="总票数">{{ settleBillItem.sendPieceSum }}</el-descriptions-item>
<el-descriptions-item label="总件数">{{ settleBillItem.pieceNumber }}</el-descriptions-item>
<el-descriptions-item label="结算重量" >{{ settleBillItem.feeWeight }}</el-descriptions-item>
<el-descriptions-item label="应收金额"><span style="color:blue">¥{{ settleBillItem.recMoney }}</span></el-descriptions-item>
<el-descriptions-item label="已收金额"><span style="color:red">¥{{ settleBillItem.recedMoney }}</span></el-descriptions-item>
<!-- <el-descriptions-item label="退款金额" :span="2" >¥{{ settleBillItem.refundMoney }}</el-descriptions-item>
<el-descriptions-item label="理赔金额">¥{{ settleBillItem.satisfyMoney }}</el-descriptions-item>
<el-descriptions-item label="理赔原因" :span="3">{{ settleBillItem.satisfyReason }}</el-descriptions-item>
<el-descriptions-item label="折让金额">¥{{ settleBillItem.allowanceMoney }}</el-descriptions-item>
<el-descriptions-item label="折让原因" :span="3">{{ settleBillItem.allowanceReason }}</el-descriptions-item>
<el-descriptions-item label="抵扣金额">¥{{ settleBillItem.deductionMoney }}</el-descriptions-item>
<el-descriptions-item label="抵扣原因" :span="3">{{ settleBillItem.deductionReason }}</el-descriptions-item>
<el-descriptions-item label="其他费用">¥{{ settleBillItem.otherMoney }}</el-descriptions-item>
<el-descriptions-item label="其他原因" :span="3">{{ settleBillItem.otherReason }}</el-descriptions-item> -->
</el-descriptions>
</div>
<el-form ref="form" v-if="settleBillItem!=null" :model="form" size="mini" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;"> <el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24"> <el-col :span="24">
<div style="padding: 10px 60px 60px;text-align:center"> <div style="text-align:center">
<div >收款公司:江苏探路者国际物流有限公司</div> <div style="display: inline-flex;" >
<div class="pay-title">收款金额 <span class="pay-count"> {{ settleBillItem.recMoney-settleBillItem.recedMoney }} </span> 元</div> <span><img :src="shortLogo" style="width: 30px;height: 30px;margin-top: 0px;" /></span>
<div style="width:200px;margin: 0 auto;"> <span style="font-size: 20px;font-weight: bold;color: black;">探路供应链(江苏)有限公司</span>
</div>
<div style="width:150px;margin: 0 auto;">
<img :src="wxPayQrImageUrl" width="100%" draggable="false"/> <img :src="wxPayQrImageUrl" width="100%" draggable="false"/>
</div> </div>
<div class="pay-title"><span style="color: black;font-size: 20px;">¥{{ settleBillItem.recMoney-settleBillItem.recedMoney }} </span></div>
<div style="text-align: center;" > <div style="text-align: center;" >
<div>请使用微信[<span style="color:black;font-weight: bold;">24小时</span>]内完成支付</div> <div>请使用微信[<span style="color:black;font-weight: bold;">24小时</span>]内完成支付</div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> <el-col :span="24">
</el-form> <el-row :gutter="0" style="display: flex;flex-wrap: wrap;margin-top:10px">
<!-- <div style="text-align: center;margin-bottom: 10px;"> <el-col :span="12">
<el-button type="primary" @click="submitForm">确 定</el-button> <span class="item-label">账单编号:</span>
<el-button @click="cancel">取 消</el-button> <span class="item-value" style="font-size:14px;font-weight: bold;">{{ settleBillItem.settleBillNo }}</span>
</div> --> </el-col>
<!-- <el-col :span="12">
<span class="item-label">账单名称:</span><span class="item-value">{{ settleBillItem.settleBillName }}</span>
</el-col> -->
<el-col :span="12">
<span class="item-label">账单日期:</span><span class="item-value">{{ settleBillItem.createTime }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">总票数:</span><span class="item-value">{{ settleBillItem.sendPieceSum }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">总件数:</span><span class="item-value">{{ settleBillItem.pieceNumber }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">结算重量:</span><span class="item-value">{{ settleBillItem.feeWeight }}KG</span>
</el-col>
<el-col :span="12">
<span class="item-label">应付金额:</span><span class="item-value">¥{{ settleBillItem.recMoney }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">开票状态:</span>
<span class="item-value">
<span type="info" v-if="settleBillItem.openBillStatus==0">未开票</span>
<span type="info" v-if="settleBillItem.openBillStatus==1">已开票</span>
<span type="info" v-if="settleBillItem.openBillStatus==2">部分开票</span>
<span type="info" v-if="settleBillItem.openBillStatus==3">不开票</span>
<span type="info" v-if="settleBillItem.openBillStatus==4">已完成</span>
</span>
</el-col>
<!-- <el-col :span="12">
</el-col> -->
<el-col :span="12">
<span class="item-label">已付金额:</span><span class="item-value">¥{{ settleBillItem.recedMoney }}</span>
</el-col>
</el-row>
</el-col>
<el-col :span="24" v-for="item in emisSettleSubBillList" :key="item.id">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;margin-top:10px">
<el-col :span="12">
<span class="item-label">运单号:</span><span class="item-value" style="font-size:14px;font-weight: bold;">{{ item.billCode }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">寄件日期:</span><span class="item-value">{{ parseTime(item.waybillDetail.sendDate, '{y}-{m}-{d}') }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">发件人:</span><span class="item-value">{{ item.waybillDetail.sendName }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">快件类型:</span><span class="item-value">{{ item.waybillDetail.sendSiteName }}--{{ item.waybillDetail.dispatchUnderlingSiteName }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">总运费:</span><span class="item-value">{{ item.waybillDetail.freight }} CNY</span>
</el-col>
<el-col :span="12" v-for="feeItem in item.feeitemList" :key="feeItem.id">
<span class="item-label">{{ feeItem.feeName }}:</span><span class="item-value">{{ feeItem.billFee }}{{feeItem.currency}}</span>
</el-col>
<el-col :span="12">
<span class="item-label">件数:</span><span class="item-value">{{ item.waybillDetail.parcelQty }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">实际重量:</span><span class="item-value">{{ item.waybillDetail.billWeight }}KG</span>
</el-col>
<el-col :span="12">
<span class="item-label">产品类型:</span><span class="item-value">{{ item.waybillDetail.productTypeName }}</span>
</el-col>
<el-col :span="12">
<span class="item-label">寄件公司:</span><span class="item-value">{{ item.waybillDetail.sendCompany }}</span>
</el-col>
<el-col :span="24">
<span class="item-label">备注:</span><span class="item-value">{{ item.waybillDetail.remark }} {{ item.waybillDetail.feeRemark }}</span>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form>
<div style="margin-bottom: 20px;">
<!-- <el-button type="primary" v-print="'#payPage'" >打印</el-button> -->
</div>
</div> </div>
</template> </template>
<script> <script>
import { getInfoBySettleBillNo,getWxPayQrCode} from "@/api/emis/emisSettleBill"; import { getInfoBySettleBillNo,getWxPayQrCode} from "@/api/emis/emisSettleBill";
import {listEmisSettleSubBill,listHasPayMap} from "@/api/emis/emisSettleSubBill"; import {listEmisSettleSubBill,listHasPayMap} from "@/api/emis/emisSettleSubBill";
import shortLogoImg from '@/assets/logo/short_logo.png'
import { listEmisSettlePayRecord, getEmisSettlePayRecord, delEmisSettlePayRecord, addEmisSettlePayRecord, updateEmisSettlePayRecord } from "@/api/emis/emisSettlePayRecord"; import { listEmisSettlePayRecord, getEmisSettlePayRecord, delEmisSettlePayRecord, addEmisSettlePayRecord, updateEmisSettlePayRecord } from "@/api/emis/emisSettlePayRecord";
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue'; import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue'; import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import { parseTime } from "@/utils/custom";
export default { export default {
name: "emisSettlePayRecordForm", name: "emisSettlePayRecordForm",
@ -91,11 +141,14 @@ export default {
settleBillItem:this.settleBillObj, settleBillItem:this.settleBillObj,
// 遮罩层 // 遮罩层
loading: true, loading: true,
shortLogo: shortLogoImg,
// 表单参数 // 表单参数
form: {}, form: {},
wxPayQrImageUrl:null, wxPayQrImageUrl:null,
emisSettleSubBillList:[],
// 表单校验 // 表单校验
rules: { rules: {
id: [ id: [
@ -165,6 +218,15 @@ export default {
console.log("===>getWxPayQrCode===>",response.data) console.log("===>getWxPayQrCode===>",response.data)
}); });
let qParam ={
pageNum:1,
pageSize:500,
"settleBillNo":this.settleBillNo,
}
listEmisSettleSubBill(qParam).then(response => {
this.emisSettleSubBillList = response.rows;
});
} }
@ -407,8 +469,20 @@ export default {
text-align: center; text-align: center;
} }
.pay-count{ .pay-count{
color: #2962ff; color: #2962ff;
} }
.item-label{
font-size: 12px;
color: #2e2f33;
}
.item-value{
font-size: 12px;
font-weight: 500;
color: #2e2f33;
}
</style> </style>