diff --git a/src/api/settlement/settlementAdjustment.js b/src/api/settlement/settlementAdjustment.js index d809bf6..4c7b460 100644 --- a/src/api/settlement/settlementAdjustment.js +++ b/src/api/settlement/settlementAdjustment.js @@ -17,6 +17,10 @@ export const approve = id => request({ url: `${baseUrl}/approve`, method: 'post' export const returnBill = (id, reason) => request({ url: `${baseUrl}/return`, method: 'post', data: { id, reason } }); export const repush = id => request({ url: `${baseUrl}/repush`, method: 'post', params: { id } }); +export const syncKingdee = id => + request({ url: `${baseUrl}/sync-kingdee`, method: 'post', timeout: 30000, params: { id } }); +export const kingdeeWriteOffPrecheck = formalSettlementId => + request({ url: `${baseUrl}/kingdee-writeoff-precheck`, method: 'get', params: { formalSettlementId } }); export const approvalStatusOptions = [ { label: '草稿', value: 'draft' }, diff --git a/src/option/settlement/settlementAdjustmentTable.js b/src/option/settlement/settlementAdjustmentTable.js index aaaa9fc..ad8b2fb 100644 --- a/src/option/settlement/settlementAdjustmentTable.js +++ b/src/option/settlement/settlementAdjustmentTable.js @@ -9,6 +9,8 @@ export const settlementAdjustmentTableColumns = [ { label: '合同名称', prop: 'contractName', minWidth: 170 }, { label: '调整金额', prop: 'adjustmentAmount', minWidth: 130, money: true }, { label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true }, + { label: '金蝶单据状态', prop: 'kingdeeSyncStatus', minWidth: 130, kingdee: true }, + { label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 }, { label: '当前节点', prop: 'currentNode', minWidth: 120 }, { label: '当前处理人', prop: 'currentProcessor', minWidth: 130 }, { label: '创建人', prop: 'createUserName', minWidth: 110 }, diff --git a/src/views/settlement/components/settlement-adjustment-editor.vue b/src/views/settlement/components/settlement-adjustment-editor.vue index 0c646d3..0ee9530 100644 --- a/src/views/settlement/components/settlement-adjustment-editor.vue +++ b/src/views/settlement/components/settlement-adjustment-editor.vue @@ -414,6 +414,8 @@ export default { }); this.details = []; this.recalculate(); + // 金蝶冲销预检:软提示,不阻断建单(金蝶不可用时静默降级) + this.precheckWriteOff(formalSettlementId); this.loading = true; try { const { data } = await api.getFormalDetails(formalSettlementId); @@ -431,6 +433,19 @@ export default { this.loading = false; } }, + async precheckWriteOff(formalSettlementId) { + try { + const { data } = await api.kingdeeWriteOffPrecheck(formalSettlementId); + if (String(this.form.formalSettlementId) !== String(formalSettlementId)) return; + const result = data?.data || data || {}; + if (!result.message) return; + if (result.syncStatus === 'synced' && result.writtenOff === false) + this.$message.warning(result.message); + else this.$message.info(result.message); + } catch (error) { + // 预检软提示:金蝶查询失败静默降级,不阻断建单 + } + }, addFeeRow() { this.details.push({ formalSettlementDetailId: null, diff --git a/src/views/settlement/settlement-adjustment.vue b/src/views/settlement/settlement-adjustment.vue index c4bacd4..9a43c11 100644 --- a/src/views/settlement/settlement-adjustment.vue +++ b/src/views/settlement/settlement-adjustment.vue @@ -93,11 +93,16 @@ >{{ row[column.prop] || '-' }}{{ kingdeeSyncName(row.kingdeeSyncStatus) }}{{ formatMoney(row[column.prop]) }}{{ displayValue(row[column.prop]) }} -