fix: 收款结算单不展示已指定应付列

This commit is contained in:
刘泉佳
2026-11-04 11:02:45 +08:00
parent b492dd35ea
commit 7f694bad55
3 changed files with 28 additions and 17 deletions
+18 -15
View File
@@ -91,21 +91,24 @@ const COLUMN_EXTRA = {
createTime: { width: 180 }, createTime: { width: 180 },
}; };
const buildTableColumns = () => // 已指定应付仅付款结算单(先票后款 A302-6)有,收款结算单不展示
formalSettlementTableColumns.map(column => { const buildTableColumns = settlementType =>
const extra = { ...(COLUMN_EXTRA[column.prop] || {}) }; formalSettlementTableColumns
if (column.money) { .filter(column => !(settlementType === 'receivable' && column.prop === 'kingdeeAssignStatus'))
extra.formatter = moneyFormatter; .map(column => {
extra.align = 'right'; const extra = { ...(COLUMN_EXTRA[column.prop] || {}) };
} if (column.money) {
// link / status 标记的列统一走单元格插槽 extra.formatter = moneyFormatter;
if (column.link || column.status) extra.slot = true; extra.align = 'right';
// 插槽列不挂兜底 formatter:avue 中 formatter 会覆盖单元格插槽渲染 }
if (!extra.slot && !extra.formatter) extra.formatter = textFormatter; // link / status 标记的列统一走单元格插槽
return { ...column, ...extra }; if (column.link || column.status) extra.slot = true;
}); // 插槽列不挂兜底 formatter:avue 中 formatter 会覆盖单元格插槽渲染
if (!extra.slot && !extra.formatter) extra.formatter = textFormatter;
return { ...column, ...extra };
});
export const formalSettlementOption = () => ({ export const formalSettlementOption = (settlementType = '') => ({
height: 'auto', height: 'auto',
calcHeight: 32, calcHeight: 32,
tip: false, tip: false,
@@ -167,7 +170,7 @@ export const formalSettlementOption = () => ({
type: 'daterange', type: 'daterange',
}), }),
// ---------- 表格列(部分兼搜索项) ---------- // ---------- 表格列(部分兼搜索项) ----------
...buildTableColumns(), ...buildTableColumns(settlementType),
], ],
}); });
@@ -494,7 +494,12 @@
<span v-else>{{ formatMoney(row.matchedAmount) }}</span> <span v-else>{{ formatMoney(row.matchedAmount) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否已指定应付" min-width="130" align="center"> <el-table-column
v-if="form.settlementType !== 'receivable'"
label="是否已指定应付"
min-width="130"
align="center"
>
<template #default="{ row }"> <template #default="{ row }">
<el-tooltip <el-tooltip
:disabled="row.kingdeePushStatus !== 'failed'" :disabled="row.kingdeePushStatus !== 'failed'"
+4 -1
View File
@@ -255,7 +255,6 @@ export default {
}, },
data() { data() {
return { return {
option: formalSettlementOption(),
query: {}, query: {},
activeSettlementType: 'payable', activeSettlementType: 'payable',
rows: [], rows: [],
@@ -289,6 +288,10 @@ export default {
}, },
computed: { computed: {
...mapGetters(['permission', 'userInfo']), ...mapGetters(['permission', 'userInfo']),
// 列随结算类型切换重建:收款结算单不展示「已指定应付」
option() {
return formalSettlementOption(this.activeSettlementType);
},
isAdmin() { isAdmin() {
return isAdministrator(this.userInfo); return isAdministrator(this.userInfo);
}, },