From f67a4036ed4b40798488bc687e1904fe2faaac5d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Wed, 28 Oct 2026 14:16:42 +0800
Subject: [PATCH 01/43] =?UTF-8?q?fix:=20=E9=A1=B9=E7=9B=AE=E5=8F=98?=
=?UTF-8?q?=E6=9B=B4=E4=B8=8E=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86=E5=AE=A1?=
=?UTF-8?q?=E6=89=B9=E6=8E=A5=E5=8F=A3=E8=B6=85=E6=97=B6=E7=BB=9F=E4=B8=80?=
=?UTF-8?q?=E4=BD=BF=E7=94=A8APPROVE=5FTIMEOUT?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/contract-manage.js | 4 ++--
src/api/business/project-change.js | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/api/business/contract-manage.js b/src/api/business/contract-manage.js
index b7ce897..875839a 100644
--- a/src/api/business/contract-manage.js
+++ b/src/api/business/contract-manage.js
@@ -1,4 +1,5 @@
import { createCrudApi } from './common';
+import { APPROVE_TIMEOUT } from '@/api/common';
import request from '@/axios';
const baseUrl = '/blade-transport/contract-manage';
@@ -36,8 +37,7 @@ export const approve = id =>
url: `${baseUrl}/approve`,
method: 'post',
params: { id },
- // 审批通过后同步推送合规(附件转传可达 20s+),覆盖全局 10s 超时
- timeout: 120000,
+ timeout: APPROVE_TIMEOUT,
});
export const reject = id =>
diff --git a/src/api/business/project-change.js b/src/api/business/project-change.js
index f1de353..c369a5f 100644
--- a/src/api/business/project-change.js
+++ b/src/api/business/project-change.js
@@ -1,4 +1,5 @@
import { createCrudApi } from './common';
+import { APPROVE_TIMEOUT } from '@/api/common';
import request from '@/axios';
const baseUrl = '/blade-transport/project-change';
@@ -35,6 +36,7 @@ export const approve = id =>
url: `${baseUrl}/approve`,
method: 'post',
params: { id },
+ timeout: APPROVE_TIMEOUT,
});
export const reject = id =>
From 358add743e116875f6fbd88143c6cabd505854d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Wed, 28 Oct 2026 14:36:03 +0800
Subject: [PATCH 02/43] =?UTF-8?q?fix:=20=E5=90=88=E5=90=8C=E5=8F=98?=
=?UTF-8?q?=E6=9B=B4=E5=AE=A1=E6=89=B9=E6=8E=A5=E5=8F=A3=E8=B6=85=E6=97=B6?=
=?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=BD=BF=E7=94=A8APPROVE=5FTIMEOUT?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/contract-change.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/api/business/contract-change.js b/src/api/business/contract-change.js
index 4f407ec..739be83 100644
--- a/src/api/business/contract-change.js
+++ b/src/api/business/contract-change.js
@@ -1,4 +1,5 @@
import { createCrudApi } from './common';
+import { APPROVE_TIMEOUT } from '@/api/common';
import request from '@/axios';
const baseUrl = '/blade-transport/contract-change';
@@ -35,8 +36,7 @@ export const approve = id =>
url: `${baseUrl}/approve`,
method: 'post',
params: { id },
- // 审批通过后同步推送合规(附件转传可达 20s+),覆盖全局 10s 超时
- timeout: 120000,
+ timeout: APPROVE_TIMEOUT,
});
export const reject = id =>
From 450288106321e9f9a1c872487bd9794bae7ce704 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Wed, 28 Oct 2026 16:11:29 +0800
Subject: [PATCH 03/43] =?UTF-8?q?feat:=20=E4=BB=98=E6=AC=BE=E7=94=B3?=
=?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=89=B9=E9=80=9A=E8=BF=87=E5=89=8D=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E7=A1=AE=E8=AE=A4=E5=BC=B9=E6=A1=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/payment/payment-application.vue | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/views/payment/payment-application.vue b/src/views/payment/payment-application.vue
index 45b8fe6..ad7d57b 100644
--- a/src/views/payment/payment-application.vue
+++ b/src/views/payment/payment-application.vue
@@ -328,15 +328,17 @@ export default {
this.refreshChange();
},
async handleApprove(row) {
- // 防止重复点击:请求进行中忽略后续点击
+ // 防止重复点击:请求进行中忽略后续点击,避免重复审批和重复提示
if (this.approveLoading) return;
this.approveLoading = true;
- const loading = this.$loading({
- lock: true,
- text: '审批处理中,请稍候…',
- background: 'rgba(255, 255, 255, 0.6)',
- });
+ let loading = null;
try {
+ await this.$confirm('确认审批通过该付款申请?', '提示', { type: 'warning' });
+ loading = this.$loading({
+ lock: true,
+ text: '审批处理中,请稍候…',
+ background: 'rgba(255, 255, 255, 0.6)',
+ });
const res = await api.approve({ id: row.id });
// data=false 表示审批已通过但自动同步金蝶失败,msg 带具体原因
if (res.data.data === false) {
@@ -346,7 +348,7 @@ export default {
}
this.refreshChange();
} finally {
- loading.close();
+ loading?.close();
this.approveLoading = false;
}
},
From 775307f5c04e23dee7a5d2de3c6de4536ae02d25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Wed, 28 Oct 2026 17:00:34 +0800
Subject: [PATCH 04/43] =?UTF-8?q?feat:=20=E4=BB=98=E6=AC=BE=E4=B8=8E?=
=?UTF-8?q?=E5=BC=80=E7=A5=A8=E7=94=B3=E8=AF=B7=E9=87=91=E8=9D=B6=E5=8D=95?=
=?UTF-8?q?=E6=8D=AE=E7=8A=B6=E6=80=81=E7=9D=80=E8=89=B2=E5=B9=B6=E6=82=AC?=
=?UTF-8?q?=E6=B5=AE=E5=B1=95=E7=A4=BA=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/option/payment/paymentApplication.js | 2 +-
src/utils/kingdee.js | 15 +++++++++++++++
src/views/payment/invoice-application.vue | 13 +++++++++++++
src/views/payment/payment-application.vue | 14 ++++++++++++++
4 files changed, 43 insertions(+), 1 deletion(-)
create mode 100644 src/utils/kingdee.js
diff --git a/src/option/payment/paymentApplication.js b/src/option/payment/paymentApplication.js
index 65494a3..9a74a22 100644
--- a/src/option/payment/paymentApplication.js
+++ b/src/option/payment/paymentApplication.js
@@ -169,7 +169,7 @@ export const paymentApplicationOption = ({
{ label: '当前节点', prop: 'currentNode', minWidth: 120, formatter: textFormatter },
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 120, formatter: textFormatter },
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 130, formatter: textFormatter },
- { label: '金蝶单据状态', prop: 'kingdeeStatusName', minWidth: 130, formatter: textFormatter },
+ { label: '金蝶单据状态', prop: 'kingdeeStatusName', slot: true, minWidth: 130 },
{ label: '金蝶锁状态', prop: 'kingdeeLockStatus', slot: true, minWidth: 150 },
{ label: '附件同步', prop: 'attachmentSyncStatusName', minWidth: 100, formatter: textFormatter },
],
diff --git a/src/utils/kingdee.js b/src/utils/kingdee.js
new file mode 100644
index 0000000..b3f812c
--- /dev/null
+++ b/src/utils/kingdee.js
@@ -0,0 +1,15 @@
+/**
+ * 金蝶单据状态公共映射
+ */
+
+/** 金蝶单据状态 → el-tag 颜色类型(failed 状态列表页悬浮展示失败原因) */
+export const KINGDEE_STATUS_TAG_TYPES = {
+ synced: 'success',
+ paid: 'success',
+ invoiced: 'success',
+ paying: 'warning',
+ failed: 'danger',
+};
+
+/** 金蝶单据状态 → el-tag 颜色类型,未映射状态返回 info */
+export const kingdeeStatusType = status => KINGDEE_STATUS_TAG_TYPES[status] || 'info';
diff --git a/src/views/payment/invoice-application.vue b/src/views/payment/invoice-application.vue
index a447f77..e806a80 100644
--- a/src/views/payment/invoice-application.vue
+++ b/src/views/payment/invoice-application.vue
@@ -125,6 +125,17 @@
{{ displayValue(row[column.prop]) }}
{{ formatMoney(row[column.prop]) }}
+
+
+ {{
+ row.kingdeeStatusName || '-'
+ }}
+
+
{{ lockTag(row).label }}
@@ -238,6 +249,7 @@ import TableHeaderTools from '@/components/table-header-tools/main.vue';
import organizationSearch from '@/mixins/organization-search';
import { getMKApprovalUrl } from '@/api/system/business-process';
import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval';
+import { kingdeeStatusType } from '@/utils/kingdee';
const emptyQuery = () => ({
applicationNo: '',
@@ -500,6 +512,7 @@ export default {
''
);
},
+ kingdeeStatusType,
lockTag(row) {
if (row.kingdeeLockStatus === 'locked') {
return { show: true, type: 'danger', label: '金蝶锁定中', tip: '该单据已被金蝶锁定,不可编辑/作废' };
diff --git a/src/views/payment/payment-application.vue b/src/views/payment/payment-application.vue
index ad7d57b..321b917 100644
--- a/src/views/payment/payment-application.vue
+++ b/src/views/payment/payment-application.vue
@@ -68,6 +68,18 @@
-
+
+
+ {{
+ row.kingdeeStatusName || '-'
+ }}
+
+
+
Date: Wed, 28 Oct 2026 17:00:34 +0800
Subject: [PATCH 05/43] =?UTF-8?q?feat:=20=E7=BB=93=E7=AE=97=E5=8D=95?=
=?UTF-8?q?=E4=B8=8E=E5=AE=A2=E5=95=86=E6=A1=A3=E6=A1=88=E9=87=91=E8=9D=B6?=
=?UTF-8?q?=E7=8A=B6=E6=80=81=E7=9D=80=E8=89=B2=E5=B9=B6=E6=82=AC=E6=B5=AE?=
=?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/formal-settlement-table-panel.vue | 14 +++++++++++++-
src/views/settlement/settlement-adjustment.vue | 12 ++++++++----
src/views/vehicle/customer-archive.vue | 8 +++++++-
3 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/src/views/settlement/components/formal-settlement-table-panel.vue b/src/views/settlement/components/formal-settlement-table-panel.vue
index 7654dfd..e79dd06 100644
--- a/src/views/settlement/components/formal-settlement-table-panel.vue
+++ b/src/views/settlement/components/formal-settlement-table-panel.vue
@@ -60,7 +60,17 @@
}}
- {{ kingdeeSyncName(row.kingdeeSyncStatus) }}
+
+
+ {{
+ kingdeeSyncName(row.kingdeeSyncStatus)
+ }}
+
+
@@ -84,6 +94,7 @@