From baec42f876293fd38447b038958e730a936e6efb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Fri, 16 Oct 2026 19:47:08 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=AD=A3=E5=BC=8F=E7=BB=93=E7=AE=97?=
=?UTF-8?q?=E5=8D=95=E5=B1=95=E7=A4=BA=E8=B0=83=E6=95=B4=E6=A0=87=E8=AF=86?=
=?UTF-8?q?=E4=B8=8E=E9=87=8D=E6=8E=A8=E5=85=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../settlement/formalSettlementTable.js | 2 ++
.../components/formal-settlement-editor.vue | 28 +++++++++++++++++++
.../formal-settlement-table-panel.vue | 7 +++++
3 files changed, 37 insertions(+)
diff --git a/src/option/settlement/formalSettlementTable.js b/src/option/settlement/formalSettlementTable.js
index 390c4e1..dececd2 100644
--- a/src/option/settlement/formalSettlementTable.js
+++ b/src/option/settlement/formalSettlementTable.js
@@ -19,6 +19,8 @@ export const formalSettlementTableColumns = [
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
{ label: '当前节点', prop: 'currentNode', minWidth: 130 },
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
+ { label: '调整标识', prop: 'adjustFlag', minWidth: 110 },
+ { label: '来源原单号', prop: 'originFormalSettlementNo', minWidth: 170 },
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
{ label: '金蝶单据状态', prop: 'kingdeeSyncStatus', minWidth: 135 },
{ label: '金蝶锁状态', prop: 'kingdeeLockStatus', minWidth: 150 },
diff --git a/src/views/settlement/components/formal-settlement-editor.vue b/src/views/settlement/components/formal-settlement-editor.vue
index 930e2a1..3807f0c 100644
--- a/src/views/settlement/components/formal-settlement-editor.vue
+++ b/src/views/settlement/components/formal-settlement-editor.vue
@@ -639,6 +639,22 @@
{{ displayValue(row.createTime) }}
+
+
+ 重新推送
+ -
+
+
@@ -1048,6 +1064,7 @@ import KingdeeInvoicePoolDialog from '@/components/kingdee-invoice-pool-dialog/m
import ProjectAdvanceWriteOff from './project-advance-write-off.vue';
import * as XLSX from 'xlsx';
import { isAdministrator } from '@/utils/auth';
+import * as settlementAdjustmentApi from '@/api/settlement/settlementAdjustment';
// 结算币种为本位币(人民币)时汇率恒为1,汇率日期、结算汇率与按汇率换算的本位币合计都不展示
const LOCAL_CURRENCY_HIDDEN_FIELDS = ['exchangeRateDate', 'exchangeRate', 'localSettlementAmount'];
@@ -1316,6 +1333,17 @@ export default {
hasPermission(code) {
return this.isAdmin || this.validData(this.permission?.[code], false);
},
+ async handleAdjustmentRepush(row) {
+ await this.$confirm(
+ '请确认金蝶旧应付/应收单已由财务手工冲销,继续将生成全新财务应付/应收单。',
+ '高危操作确认',
+ { type: 'warning', confirmButtonText: '确认重新推送' }
+ );
+ const res = await settlementAdjustmentApi.repush(row.id);
+ this.$message.success(`已生成新金蝶单据:${res.data?.data || res.data || '-'}`);
+ await this.loadFormalDetail(this.recordId);
+ this.$emit('success');
+ },
async loadFormalDetail(id) {
const response = this.publicMode
? await getMkPublicDetail('formal-settlement', id)
diff --git a/src/views/settlement/components/formal-settlement-table-panel.vue b/src/views/settlement/components/formal-settlement-table-panel.vue
index 9108e5c..80ed458 100644
--- a/src/views/settlement/components/formal-settlement-table-panel.vue
+++ b/src/views/settlement/components/formal-settlement-table-panel.vue
@@ -92,6 +92,7 @@
{{
kingdeeSyncName(row.kingdeeSyncStatus)
}}
+ {{ adjustFlag(row) }}
{{ lockTag(row).label }}
@@ -275,6 +276,12 @@ export default {
kingdeeSyncName(value) {
return kingdeeSyncStatusOptions.find(item => item.value === value)?.label || value || '-';
},
+ adjustFlag(row) {
+ // 原单已调整 / 重推生成的新单(显示来源原单号)
+ if (row.adjustStatusName) return row.adjustStatusName;
+ if (row.originFormalSettlementNo) return '调整后单';
+ return '-';
+ },
lockTag(row) {
if (row.kingdeeLockStatus === 'locked') {
return { show: true, type: 'danger', label: '金蝶锁定中', tip: '该单据已被金蝶锁定,不可编辑/作废' };