From 6ae23bb9596f5b7511ac31cb15d46e18d19fe217 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Sat, 10 Oct 2026 15:19:10 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=93=E7=AE=97=E5=8D=95/=E5=BC=80?=
=?UTF-8?q?=E7=A5=A8=E7=94=B3=E8=AF=B7=E5=88=97=E8=A1=A8=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E9=87=91=E8=9D=B6=E9=94=81=E7=8A=B6=E6=80=81=E6=A0=87=E8=AF=86?=
=?UTF-8?q?=E4=B8=8E=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/option/payment/invoiceApplication.js | 1 +
.../settlement/formalSettlementTable.js | 1 +
src/views/payment/invoice-application.vue | 32 ++++++++++++++++++-
.../formal-settlement-table-panel.vue | 28 ++++++++++++++++
4 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/src/option/payment/invoiceApplication.js b/src/option/payment/invoiceApplication.js
index 2e7d138..fa5ed87 100644
--- a/src/option/payment/invoiceApplication.js
+++ b/src/option/payment/invoiceApplication.js
@@ -13,6 +13,7 @@ export const invoiceApplicationTableColumns = [
{ prop: 'currentProcessor', label: '当前处理人', minWidth: 130 },
{ prop: 'kingdeeBillNo', label: '金蝶单据号', minWidth: 150 },
{ prop: 'kingdeeStatusName', label: '金蝶单据状态', minWidth: 140 },
+ { prop: 'kingdeeLockStatus', label: '金蝶锁状态', minWidth: 150 },
{ prop: 'attachmentSyncStatusName', label: '附件同步', minWidth: 100 },
];
diff --git a/src/option/settlement/formalSettlementTable.js b/src/option/settlement/formalSettlementTable.js
index 4cb9012..83e9f1f 100644
--- a/src/option/settlement/formalSettlementTable.js
+++ b/src/option/settlement/formalSettlementTable.js
@@ -21,6 +21,7 @@ export const formalSettlementTableColumns = [
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
{ label: '金蝶单据状态', prop: 'kingdeeSyncStatus', minWidth: 135 },
+ { label: '金蝶锁状态', prop: 'kingdeeLockStatus', minWidth: 150 },
{ label: '附件同步', prop: 'attachmentSyncStatusName', minWidth: 100 },
{ label: '创建人', prop: 'createUserName', minWidth: 110 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
diff --git a/src/views/payment/invoice-application.vue b/src/views/payment/invoice-application.vue
index 186f7c8..4e7090b 100644
--- a/src/views/payment/invoice-application.vue
+++ b/src/views/payment/invoice-application.vue
@@ -115,6 +115,12 @@
{{ displayValue(row[column.prop]) }}
{{ formatMoney(row[column.prop]) }}
+
+
+ {{ lockTag(row).label }}
+
+ -
+
{{ displayValue(row[column.prop]) }}
@@ -183,7 +189,9 @@
>
= 5) {
+ return {
+ show: true,
+ type: 'danger',
+ label: '锁定失败·已达上限',
+ tip: row.kingdeeLockFailReason || '自动补偿次数已用完,请重推「同步金蝶」立即补锁',
+ };
+ }
+ return {
+ show: true,
+ type: 'warning',
+ label: '锁定失败·补偿中',
+ tip: row.kingdeeLockFailReason || '系统将自动补偿重锁',
+ };
+ }
+ return { show: false };
+ },
displayValue(value) {
return value === null || value === undefined || value === '' ? '-' : value;
},
diff --git a/src/views/settlement/components/formal-settlement-table-panel.vue b/src/views/settlement/components/formal-settlement-table-panel.vue
index 3eacd02..eaa1868 100644
--- a/src/views/settlement/components/formal-settlement-table-panel.vue
+++ b/src/views/settlement/components/formal-settlement-table-panel.vue
@@ -88,6 +88,12 @@
{{
kingdeeSyncName(row.kingdeeSyncStatus)
}}
+
+
+ {{ lockTag(row).label }}
+
+ -
+
{{ displayValue(row[column.prop]) }}
@@ -226,6 +232,28 @@ export default {
kingdeeSyncName(value) {
return kingdeeSyncStatusOptions.find(item => item.value === value)?.label || value || '-';
},
+ lockTag(row) {
+ if (row.kingdeeLockStatus === 'locked') {
+ return { show: true, type: 'danger', label: '金蝶锁定中', tip: '该单据已被金蝶锁定,不可编辑/作废' };
+ }
+ if (row.kingdeeLockStatus === 'failed') {
+ if ((row.kingdeeTryCount || 0) >= 5) {
+ return {
+ show: true,
+ type: 'danger',
+ label: '锁定失败·已达上限',
+ tip: row.kingdeeLockFailReason || '自动补偿次数已用完,请重推「同步金蝶」立即补锁',
+ };
+ }
+ return {
+ show: true,
+ type: 'warning',
+ label: '锁定失败·补偿中',
+ tip: row.kingdeeLockFailReason || '系统将自动补偿重锁',
+ };
+ }
+ return { show: false };
+ },
displayValue(value) {
return value === null || value === undefined || value === '' ? '-' : value;
},