From daab1001db770422c40f78962d50fb887f6ec48a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Mon, 2 Nov 2026 17:15:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=98=E6=AC=BE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=90=8C=E6=AD=A5=E5=A2=9E=E5=8A=A0=E9=81=AE?= =?UTF-8?q?=E7=BD=A9=E5=B9=B6=E7=BB=9F=E4=B8=80=E9=87=91=E8=9D=B6=E6=8E=A5?= =?UTF-8?q?=E5=8F=A330s=E8=B6=85=E6=97=B6=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/payment/paymentApplication.js | 6 +++--- src/views/payment/payment-application.vue | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/api/payment/paymentApplication.js b/src/api/payment/paymentApplication.js index e464552..4a64416 100644 --- a/src/api/payment/paymentApplication.js +++ b/src/api/payment/paymentApplication.js @@ -27,13 +27,13 @@ export const returnBill = data => request({ url: `${baseUrl}/return`, method: 'p export const voidBill = data => request({ url: `${baseUrl}/void`, method: 'post', data }); // 同步金蝶涉及多次金蝶远程接口调用(A103-2 预检 + A103-1/A103-3 推送),单笔可达 20s+,覆盖全局 10s 超时 export const syncKingdee = id => - request({ url: `${baseUrl}/sync-kingdee`, method: 'post', timeout: 30000, params: { id } }); + request({ url: `${baseUrl}/sync-kingdee`, method: 'post', timeout: APPROVE_TIMEOUT, params: { id } }); // 批量同步逐单单据级事务串行推送,耗时随单量线性增长 export const syncKingdeeBatch = ids => - request({ url: `${baseUrl}/sync-kingdee-batch`, method: 'post', timeout: 30000, data: ids }); + request({ url: `${baseUrl}/sync-kingdee-batch`, method: 'post', timeout: APPROVE_TIMEOUT, data: ids }); // 回写任务按 paymentNo 分批远程查询 A103-2/A103-4,同样可能超过全局超时 export const syncKingdeeResult = () => - request({ url: `${baseUrl}/sync-kingdee-result`, method: 'post', timeout: 30000 }); + request({ url: `${baseUrl}/sync-kingdee-result`, method: 'post', timeout: APPROVE_TIMEOUT }); export const paymentTypeOptions = [ { label: '项目预付', value: 'project_advance' }, diff --git a/src/views/payment/payment-application.vue b/src/views/payment/payment-application.vue index 7135c3a..bad87ea 100644 --- a/src/views/payment/payment-application.vue +++ b/src/views/payment/payment-application.vue @@ -409,6 +409,12 @@ export default { return; } this.syncLoading = true; + // 批量同步金蝶逐单串行推送耗时较长,加遮罩防重复操作(照审批通过遮罩) + const loading = this.$loading({ + lock: true, + text: '正在批量同步金蝶,请稍候…', + background: 'rgba(255, 255, 255, 0.6)', + }); try { const data = this.unwrapData(await api.syncKingdeeBatch(rows.map(row => row.id))) || []; const failedList = data.filter(item => String(item).includes('同步失败')); @@ -425,6 +431,7 @@ export default { this.warnAttachmentNotUploaded(rows.map(row => row.id)); } finally { this.syncLoading = false; + loading.close(); } }, // 附件联带同步提示:同步成功但附件未全部上传时追加 warning,重推即自动补传