diff --git a/src/views/payment/bill-payment.vue b/src/views/payment/bill-payment.vue index defddf9..962dab8 100644 --- a/src/views/payment/bill-payment.vue +++ b/src/views/payment/bill-payment.vue @@ -156,9 +156,17 @@ export default { }); }, async handleApprove(row) { - await api.approve({ id: row.id }); - this.$message.success('审批通过'); - this.loadTable(); + await this.$confirm('确认审批通过该汇票付款?', '提示', { type: 'warning' }); + // 防止重复点击:请求期间表格遮罩,后续点击直接忽略 + if (this.loading) return; + this.loading = true; + try { + await api.approve({ id: row.id }); + this.$message.success('审批通过'); + await this.loadTable(); + } finally { + this.loading = false; + } }, async handleReturn(row) { const { value } = await this.$prompt('请输入驳回原因', '审批驳回'); diff --git a/src/views/payment/invoice-application-form.vue b/src/views/payment/invoice-application-form.vue index ec8ee8f..49f2838 100644 --- a/src/views/payment/invoice-application-form.vue +++ b/src/views/payment/invoice-application-form.vue @@ -323,17 +323,8 @@ - - + + @@ -454,6 +445,9 @@ + + + @@ -861,7 +855,6 @@ export default { keyword: this.settlementDialog.keyword, contractCategory: '客户合同', settlementType: 'receivable', - invoiceStatus: 'unreceived', } ) ); @@ -913,7 +906,7 @@ export default { ...item, formalSettlementId: item.id, settlementId: item.id, - allocatedInvoiceAmount: rows.length === 1 ? Number(item.availableInvoiceAmount || 0) : 0, + allocatedInvoiceAmount: 0, })); this.form.projectName = first.projectName; this.form.deptName = first.deptName; diff --git a/src/views/settlement/settlement-adjustment.vue b/src/views/settlement/settlement-adjustment.vue index 629f8c1..3d99e0c 100644 --- a/src/views/settlement/settlement-adjustment.vue +++ b/src/views/settlement/settlement-adjustment.vue @@ -317,11 +317,18 @@ export default { }, async handleApprove(row) { await this.$confirm('审批通过后将更新关联正式结算单,确认继续?', '提示'); - const res = await api.approve(row.id); - // data=false:自动同步金蝶失败;data=true 且 msg 带已推送场景的手工冲销提示 - if (res.data.data === true || res.data.data === false) this.$message.warning(res.data.msg); - else this.$message.success(res.data.msg || '审批通过'); - this.loadTable(); + // 防止重复点击:请求期间表格遮罩,后续点击直接忽略 + if (this.loading) return; + this.loading = true; + try { + const res = await api.approve(row.id); + // data=false:自动同步金蝶失败;data=true 且 msg 带已推送场景的手工冲销提示 + if (res.data.data === true || res.data.data === false) this.$message.warning(res.data.msg); + else this.$message.success(res.data.msg || '审批通过'); + await this.loadTable(); + } finally { + this.loading = false; + } }, async handleReturn(row) { const { value } = await this.$prompt('请输入驳回原因', '驳回', { diff --git a/src/views/vehicle/customer-archive.vue b/src/views/vehicle/customer-archive.vue index b08d1e5..8f02324 100644 --- a/src/views/vehicle/customer-archive.vue +++ b/src/views/vehicle/customer-archive.vue @@ -2462,6 +2462,7 @@ export default { resetKingdeeBackfill() { const form = this.archiveForm; form.kingdeeStatus = 'none'; + form.customerCode = ''; form.fullName = ''; form.legalPerson = ''; form.registeredCapital = ''; @@ -2517,6 +2518,8 @@ export default { applyKingdeeCustomer(customer) { const form = this.archiveForm; form.kingdeeStatus = 'exist'; + // 客商编号回显金蝶客商编码,与后端同步金蝶时的采纳口径保持一致 + if (customer.number) form.customerCode = customer.number; // 工商信息以金蝶为准,直接覆盖(后续字段锁定) if (customer.name) form.fullName = customer.name; if (customer.name) this.checkArchiveNameRisk();