feat: 正式结算单列表新增金蝶冲销状态列

- 列表新增「金蝶冲销状态」单元格插槽:已同步显示 已冲销/未冲销/未校验 标签,未同步显示 -
- 新增 kingdeeWriteOffStatusOptions 选项与 kingdeeWriteOffTagType 颜色映射
This commit is contained in:
刘泉佳
2026-10-30 21:23:53 +08:00
parent 8388904916
commit e0a420ad08
5 changed files with 33 additions and 2 deletions
@@ -16,6 +16,7 @@ import {
approvalStatusOptions,
invoiceStatusOptions,
kingdeeSyncStatusOptions,
kingdeeWriteOffStatusOptions,
paymentStatusOptions,
} from './formalSettlementSearch';
import { formalSettlementTableColumns } from './formalSettlementTable';
@@ -87,6 +88,7 @@ const COLUMN_EXTRA = {
searchPlaceholder: '请选择',
},
kingdeeLockStatus: { slot: true },
kingdeeWriteOffStatus: { slot: true },
createTime: { width: 180 },
};
@@ -171,4 +173,5 @@ export const formalSettlementOption = () => ({
});
export const kingdeeSyncName = value => pickLabel(kingdeeSyncStatusOptions, value);
export const kingdeeWriteOffName = value => pickLabel(kingdeeWriteOffStatusOptions, value);
export const paymentStatusName = value => pickLabel(paymentStatusOptions, value);
@@ -34,6 +34,11 @@ export const kingdeeSyncStatusOptions = [
{ label: '同步失败', value: 'failed' },
];
export const kingdeeWriteOffStatusOptions = [
{ label: '未冲销', value: 'unwrittenoff' },
{ label: '已冲销', value: 'writtenoff' },
];
export const formalSettlementSearchFields = [
{ label: '结算单号', prop: 'formalSettlementNo', type: 'input' },
{ label: '预付结算单号', prop: 'preSettlementNo', type: 'input' },
@@ -25,6 +25,7 @@ export const formalSettlementTableColumns = [
{ label: '来源原单号', prop: 'originFormalSettlementNo', minWidth: 170 },
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
{ label: '金蝶单据状态', prop: 'kingdeeSyncStatus', minWidth: 135 },
{ label: '金蝶冲销状态', prop: 'kingdeeWriteOffStatus', minWidth: 135 },
{ label: '金蝶锁状态', prop: 'kingdeeLockStatus', minWidth: 150 },
{ label: '附件同步', prop: 'attachmentSyncStatusName', minWidth: 100 },
{ label: '创建人', prop: 'createUserName', minWidth: 110 },
+9
View File
@@ -13,3 +13,12 @@ export const KINGDEE_STATUS_TAG_TYPES = {
/** 金蝶单据状态 → el-tag 颜色类型,未映射状态返回 info */
export const kingdeeStatusType = status => KINGDEE_STATUS_TAG_TYPES[status] || 'info';
/** 金蝶冲销状态 → el-tag 颜色类型(已冲销=绿、未冲销=黄) */
export const KINGDEE_WRITEOFF_TAG_TYPES = {
writtenoff: 'success',
unwrittenoff: 'warning',
};
/** 金蝶冲销状态 → el-tag 颜色类型,未映射状态(null=未校验)返回 info */
export const kingdeeWriteOffTagType = status => KINGDEE_WRITEOFF_TAG_TYPES[status] || 'info';
@@ -72,6 +72,15 @@
</el-tooltip>
</template>
<template #kingdeeWriteOffStatus="{ row }">
<el-tag
v-if="row.kingdeeSyncStatus === 'synced'"
:type="kingdeeWriteOffTagType(row.kingdeeWriteOffStatus)"
>{{ kingdeeWriteOffName(row.kingdeeWriteOffStatus) || '未校验' }}</el-tag
>
<span v-else>-</span>
</template>
<template #kingdeeLockStatus="{ row }">
<el-tooltip v-if="lockTag(row).show" :content="lockTag(row).tip" placement="top">
<el-tag :type="lockTag(row).type" class="status-text">{{ lockTag(row).label }}</el-tag>
@@ -93,8 +102,8 @@
<script>
import { invoiceStatusName } from '@/option/settlement/formalSettlementSearch';
import { kingdeeSyncName, paymentStatusName } from '@/option/settlement/formalSettlement';
import { kingdeeStatusType } from '@/utils/kingdee';
import { kingdeeSyncName, kingdeeWriteOffName, paymentStatusName } from '@/option/settlement/formalSettlement';
import { kingdeeStatusType, kingdeeWriteOffTagType } from '@/utils/kingdee';
export default {
name: 'FormalSettlementTablePanel',
@@ -207,6 +216,10 @@ export default {
kingdeeSyncName(value) {
return kingdeeSyncName(value);
},
kingdeeWriteOffName(value) {
return kingdeeWriteOffName(value);
},
kingdeeWriteOffTagType,
lockTag(row) {
if (row.kingdeeLockStatus === 'locked') {
return {