feat: 结算单与客商档案金蝶状态着色并悬浮展示失败原因

This commit is contained in:
刘泉佳
2026-10-28 17:00:34 +08:00
parent 775307f5c0
commit f5697e111a
3 changed files with 28 additions and 6 deletions
@@ -60,7 +60,17 @@
}}</el-tag>
</template>
<template #kingdeeSyncStatus="{ row }">{{ kingdeeSyncName(row.kingdeeSyncStatus) }}</template>
<template #kingdeeSyncStatus="{ row }">
<el-tooltip
:disabled="row.kingdeeSyncStatus !== 'failed'"
:content="row.kingdeeFailReason || '推送金蝶失败,可点击「同步金蝶」重试'"
placement="top"
>
<el-tag :type="kingdeeStatusType(row.kingdeeSyncStatus)" class="status-text">{{
kingdeeSyncName(row.kingdeeSyncStatus)
}}</el-tag>
</el-tooltip>
</template>
<template #kingdeeLockStatus="{ row }">
<el-tooltip v-if="lockTag(row).show" :content="lockTag(row).tip" placement="top">
@@ -84,6 +94,7 @@
<script>
import { invoiceStatusName } from '@/option/settlement/formalSettlementSearch';
import { kingdeeSyncName, paymentStatusName } from '@/option/settlement/formalSettlement';
import { kingdeeStatusType } from '@/utils/kingdee';
export default {
name: 'FormalSettlementTablePanel',
@@ -186,6 +197,7 @@ export default {
''
);
},
kingdeeStatusType,
invoiceName(value, settlementType) {
return invoiceStatusName(value, settlementType);
},
@@ -93,11 +93,16 @@
><el-tag v-else-if="column.status" :type="statusType(row.approvalStatus)" class="status-text">{{
row[column.prop] || '-'
}}</el-tag
><el-tag
><el-tooltip
v-else-if="column.kingdee"
:disabled="row.kingdeeSyncStatus !== 'failed'"
:content="row.kingdeeFailReason || '推送金蝶失败,请重试'"
placement="top"
><el-tag
:type="kingdeeStatusType(row.kingdeeSyncStatus)"
class="status-text"
>{{ kingdeeSyncName(row.kingdeeSyncStatus) }}</el-tag
></el-tooltip
><span v-else-if="column.money">{{ formatMoney(row[column.prop]) }}</span
><span v-else>{{ displayValue(row[column.prop]) }}</span></template
></el-table-column
@@ -182,6 +187,7 @@ import { settlementAdjustmentSearchFields } from '@/option/settlement/settlement
import organizationSearch from '@/mixins/organization-search';
import { settlementAdjustmentTableColumns } from '@/option/settlement/settlementAdjustmentTable';
import { kingdeeSyncStatusOptions } from '@/option/settlement/formalSettlementSearch';
import { kingdeeStatusType } from '@/utils/kingdee';
import SettlementAdjustmentEditor from './components/settlement-adjustment-editor.vue';
import SettlementTableTools from './components/settlement-table-tools.vue';
import { isAdministrator } from '@/utils/auth';
@@ -365,9 +371,7 @@ export default {
'info'
);
},
kingdeeStatusType(status) {
return { synced: 'success', failed: 'danger' }[status] || 'info';
},
kingdeeStatusType,
kingdeeSyncName(value) {
return kingdeeSyncStatusOptions.find(item => item.value === value)?.label || value || '-';
},
+7 -1
View File
@@ -135,7 +135,13 @@
<template #kingdeeStatus="{ row }">
<el-tag v-if="row.kingdeeStatus === 'synced'" type="success">已推送</el-tag>
<el-tag v-else-if="row.kingdeeStatus === 'exist'" type="primary">金蝶已有</el-tag>
<el-tag v-else-if="row.kingdeeStatus === 'failed'" type="danger">推送失败</el-tag>
<el-tooltip
v-else-if="row.kingdeeStatus === 'failed'"
:content="row.kingdeeFailReason || '推送金蝶失败,请重试'"
placement="top"
>
<el-tag type="danger">推送失败</el-tag>
</el-tooltip>
<el-tag v-else type="info">未推送</el-tag>
</template>
<template #menu="{ row }">