diff --git a/src/api/business/contract-change.js b/src/api/business/contract-change.js index 4f407ec..739be83 100644 --- a/src/api/business/contract-change.js +++ b/src/api/business/contract-change.js @@ -1,4 +1,5 @@ import { createCrudApi } from './common'; +import { APPROVE_TIMEOUT } from '@/api/common'; import request from '@/axios'; const baseUrl = '/blade-transport/contract-change'; @@ -35,8 +36,7 @@ export const approve = id => url: `${baseUrl}/approve`, method: 'post', params: { id }, - // 审批通过后同步推送合规(附件转传可达 20s+),覆盖全局 10s 超时 - timeout: 120000, + timeout: APPROVE_TIMEOUT, }); export const reject = id => diff --git a/src/api/business/contract-manage.js b/src/api/business/contract-manage.js index b7ce897..875839a 100644 --- a/src/api/business/contract-manage.js +++ b/src/api/business/contract-manage.js @@ -1,4 +1,5 @@ import { createCrudApi } from './common'; +import { APPROVE_TIMEOUT } from '@/api/common'; import request from '@/axios'; const baseUrl = '/blade-transport/contract-manage'; @@ -36,8 +37,7 @@ export const approve = id => url: `${baseUrl}/approve`, method: 'post', params: { id }, - // 审批通过后同步推送合规(附件转传可达 20s+),覆盖全局 10s 超时 - timeout: 120000, + timeout: APPROVE_TIMEOUT, }); export const reject = id => diff --git a/src/api/business/project-change.js b/src/api/business/project-change.js index f1de353..c369a5f 100644 --- a/src/api/business/project-change.js +++ b/src/api/business/project-change.js @@ -1,4 +1,5 @@ import { createCrudApi } from './common'; +import { APPROVE_TIMEOUT } from '@/api/common'; import request from '@/axios'; const baseUrl = '/blade-transport/project-change'; @@ -35,6 +36,7 @@ export const approve = id => url: `${baseUrl}/approve`, method: 'post', params: { id }, + timeout: APPROVE_TIMEOUT, }); export const reject = id => diff --git a/src/api/payment/receiptClaimRecord.js b/src/api/payment/receiptClaimRecord.js index 570888d..90e8633 100644 --- a/src/api/payment/receiptClaimRecord.js +++ b/src/api/payment/receiptClaimRecord.js @@ -8,20 +8,12 @@ export const getDetail = id => request({ url: `${baseUrl}/detail`, method: 'get' export const updateAttachments = data => request({ url: `${baseUrl}/attachments`, method: 'post', data }); export const voidClaim = id => request({ url: `${baseUrl}/void`, method: 'post', params: { id } }); -export const queryKingdeeResult = () => - request({ url: `${baseUrl}/query-kingdee-result`, method: 'post' }); export const claimStatusOptions = [ { label: '已认领', value: 'claimed' }, { label: '已作废', value: 'voided' }, ]; -export const pushStatusOptions = [ - { label: '未推送', value: 'none' }, - { label: '已推送', value: 'pushed' }, - { label: '推送失败', value: 'failed' }, -]; - export const kingdeeBillStatusOptions = [ { label: '未生成', value: 'none' }, { label: '已推送', value: 'pushed' }, diff --git a/src/api/payment/receiptFlow.js b/src/api/payment/receiptFlow.js index 231e0ac..4520988 100644 --- a/src/api/payment/receiptFlow.js +++ b/src/api/payment/receiptFlow.js @@ -2,6 +2,9 @@ import request from '@/axios'; const baseUrl = '/blade-transport/receipt-flow'; +/** 收款流水同步需远程拉取金蝶收款单并逐条落库,覆盖全局 10s 超时 */ +export const SYNC_TIMEOUT = 30000; + export const getList = (current, size, params) => request({ url: `${baseUrl}/list`, method: 'get', params: { current, size, ...params } }); export const getDetail = id => request({ url: `${baseUrl}/detail`, method: 'get', params: { id } }); @@ -12,9 +15,7 @@ export const getSettlementCandidates = (keyword, flowId) => params: { keyword, flowId }, }); export const claim = data => request({ url: `${baseUrl}/claim`, method: 'post', data }); -export const sync = () => request({ url: `${baseUrl}/sync`, method: 'post' }); -export const pushKingdee = flowId => - request({ url: `${baseUrl}/push-kingdee`, method: 'post', params: { flowId } }); +export const sync = () => request({ url: `${baseUrl}/sync`, method: 'post', timeout: SYNC_TIMEOUT }); export const claimStatusOptions = [ { label: '未认领', value: 'unclaimed' }, @@ -22,12 +23,6 @@ export const claimStatusOptions = [ { label: '认领完成', value: 'claimed' }, ]; -export const pushStatusOptions = [ - { label: '未推送', value: 'none' }, - { label: '已推送', value: 'pushed' }, - { label: '推送失败', value: 'failed' }, -]; - export const kingdeeBillStatusOptions = [ { label: '已推送', value: 'pushed' }, { label: '审核通过', value: 'approved' }, diff --git a/src/option/payment/paymentApplication.js b/src/option/payment/paymentApplication.js index 65494a3..9a74a22 100644 --- a/src/option/payment/paymentApplication.js +++ b/src/option/payment/paymentApplication.js @@ -169,7 +169,7 @@ export const paymentApplicationOption = ({ { label: '当前节点', prop: 'currentNode', minWidth: 120, formatter: textFormatter }, { label: '当前处理人', prop: 'currentProcessor', minWidth: 120, formatter: textFormatter }, { label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 130, formatter: textFormatter }, - { label: '金蝶单据状态', prop: 'kingdeeStatusName', minWidth: 130, formatter: textFormatter }, + { label: '金蝶单据状态', prop: 'kingdeeStatusName', slot: true, minWidth: 130 }, { label: '金蝶锁状态', prop: 'kingdeeLockStatus', slot: true, minWidth: 150 }, { label: '附件同步', prop: 'attachmentSyncStatusName', minWidth: 100, formatter: textFormatter }, ], diff --git a/src/option/payment/receiptClaimRecord.js b/src/option/payment/receiptClaimRecord.js index d1f1d96..c445762 100644 --- a/src/option/payment/receiptClaimRecord.js +++ b/src/option/payment/receiptClaimRecord.js @@ -1,7 +1,7 @@ export const receiptClaimRecordTableColumns = [ - { prop: 'receiptNoticeNo', label: '认领通知单', minWidth: 150, link: true }, + { prop: 'receiptNoticeNo', label: '收款单号', minWidth: 150, link: true }, { prop: 'payerName', label: '付款人', minWidth: 130 }, - { prop: 'receiptAmount', label: '付款金额', minWidth: 130, money: true }, + { prop: 'receiptAmount', label: '收款金额', minWidth: 130, money: true }, { prop: 'counterpartyName', label: '对方户名', minWidth: 150 }, { prop: 'counterpartyAccount', label: '对方账号', minWidth: 170 }, { prop: 'counterpartyBank', label: '对方开户行', minWidth: 150 }, diff --git a/src/option/payment/receiptFlow.js b/src/option/payment/receiptFlow.js index 983f4a1..ff2ac33 100644 --- a/src/option/payment/receiptFlow.js +++ b/src/option/payment/receiptFlow.js @@ -1,18 +1,23 @@ export const receiptFlowTableColumns = [ - { prop: 'receiptNoticeNo', label: '认领通知单', minWidth: 150, link: true }, + { prop: 'receiptNoticeNo', label: '收款单号', minWidth: 150, link: true }, { prop: 'payerName', label: '付款人', minWidth: 130 }, - { prop: 'receiptAmount', label: '付款金额', minWidth: 130, money: true }, + { prop: 'receiptAmount', label: '收款金额', minWidth: 130, money: true }, { prop: 'counterpartyName', label: '对方户名', minWidth: 150 }, { prop: 'counterpartyAccount', label: '对方账号', minWidth: 170 }, { prop: 'counterpartyBank', label: '对方开户行', minWidth: 150 }, + { prop: 'payeeName', label: '收款人(公司)', minWidth: 150 }, + //{ prop: 'orgNumber', label: '收款公司编码', minWidth: 130 }, + //{ prop: 'openOrgNumber', label: '核算组织编码', minWidth: 130 }, { prop: 'summary', label: '摘要', minWidth: 160 }, { prop: 'transactionTime', label: '交易时间', minWidth: 170 }, { prop: 'claimStatusName', label: '认领状态', minWidth: 110, status: true }, - { prop: 'kingdeeClaimStatusName', label: '公告状态', minWidth: 110 }, { prop: 'claimedAmount', label: '已认领金额', minWidth: 130, money: true }, - { prop: 'unclaimedAmount', label: '金蝶未认领金额', minWidth: 140, money: true }, - { prop: 'pushStatusName', label: '推送状态', minWidth: 110, status: true }, - { prop: 'pushFailReason', label: '推送失败原因', minWidth: 160 }, - { prop: 'kingdeeBillNo', label: '金蝶收款单号', minWidth: 150 }, + { prop: 'remainingAmount', label: '剩余可认领金额', minWidth: 140, money: true }, + { prop: 'unmatchAmountRec', label: '未匹配金额', minWidth: 140, money: true }, + //{ prop: 'matchAmountRec', label: '已匹配收款金额', minWidth: 140, money: true }, + //{ prop: 'matchAmountPay', label: '已匹配付款金额', minWidth: 140, money: true }, + //{ prop: 'unmatchAmountPay', label: '未匹配付款金额', minWidth: 140, money: true }, + //{ prop: 'settleAmount', label: '已结算金额', minWidth: 130, money: true }, + //{ prop: 'unsettleAmount', label: '未结算金额', minWidth: 130, money: true }, { prop: 'kingdeeBillStatusName', label: '金蝶状态', minWidth: 110 }, ]; diff --git a/src/option/settlement/formalSettlement.js b/src/option/settlement/formalSettlement.js index e9523be..b425c42 100644 --- a/src/option/settlement/formalSettlement.js +++ b/src/option/settlement/formalSettlement.js @@ -99,7 +99,8 @@ const buildTableColumns = () => } // link / status 标记的列统一走单元格插槽 if (column.link || column.status) extra.slot = true; - if (!extra.formatter) extra.formatter = textFormatter; + // 插槽列不挂兜底 formatter:avue 中 formatter 会覆盖单元格插槽渲染 + if (!extra.slot && !extra.formatter) extra.formatter = textFormatter; return { ...column, ...extra }; }); diff --git a/src/utils/kingdee.js b/src/utils/kingdee.js new file mode 100644 index 0000000..b3f812c --- /dev/null +++ b/src/utils/kingdee.js @@ -0,0 +1,15 @@ +/** + * 金蝶单据状态公共映射 + */ + +/** 金蝶单据状态 → el-tag 颜色类型(failed 状态列表页悬浮展示失败原因) */ +export const KINGDEE_STATUS_TAG_TYPES = { + synced: 'success', + paid: 'success', + invoiced: 'success', + paying: 'warning', + failed: 'danger', +}; + +/** 金蝶单据状态 → el-tag 颜色类型,未映射状态返回 info */ +export const kingdeeStatusType = status => KINGDEE_STATUS_TAG_TYPES[status] || 'info'; diff --git a/src/views/payment/invoice-application-form.vue b/src/views/payment/invoice-application-form.vue index 49f2838..9e91a2c 100644 --- a/src/views/payment/invoice-application-form.vue +++ b/src/views/payment/invoice-application-form.vue @@ -293,6 +293,12 @@ + + + + + + - +