diff --git a/src/views/flow/create.vue b/src/views/flow/create.vue index 317311e..b0b5725 100644 --- a/src/views/flow/create.vue +++ b/src/views/flow/create.vue @@ -401,7 +401,24 @@ - {{ contractDetail.contract_no || '-' }} + + {{ contractDetail.contract_no || '-' }} {{ contractDetail.title || '-' }} @@ -844,6 +861,80 @@
未获取到会议纪要数据
+ + +
+
+ + + {{ contractDrawerDetail.contract_no || '-' }} + + + {{ contractDrawerDetail.title || '-' }} + + + {{ contractDrawerDetail.party_a || '-' }} + + + {{ contractDrawerDetail.party_b || '-' }} + + + ¥{{ formatAmount(contractDrawerDetail.amount_total) }} + + + {{ contractDrawerDetail.amount_type === 'open' ? '开口' : (contractDrawerDetail.amount_type === 'fixed' ? '闭口' : '-') }} + + + {{ contractDrawerDetail.main_content || '-' }} + + + {{ contractDrawerDetail.sign_date || '-' }} + + + {{ contractDrawerDetail.apply_date || '-' }} + + + {{ contractDrawerDetail.perform_period || '-' }} + + + {{ contractDrawerDetail.pay_method || '-' }} + + + {{ contractDrawerDetail.fund_source || '-' }} + + + {{ contractDrawerDetail.purchase_method || '-' }} + + + + - + + + +
+
付款计划
+ + + + + + + +
+
+
未获取到合同详情
+
@@ -963,6 +1054,8 @@ export default { rightDrawerUrl: '', meetingMinutesDetail: null, loadingMeetingMinutes: false, + contractDrawerDetail: null, + loadingContractDrawer: false, // fill_flow_title 自动填充:专用 watcher(避免 deep watcher oldVal/newVal 引用问题) _unwatchFillFlowTitle: null, }; @@ -1992,6 +2085,7 @@ export default { this.rightDrawerTitle = '查看会议纪要'; this.rightDrawerUrl = ''; this.meetingMinutesDetail = null; + this.contractDrawerDetail = null; this.rightDrawerVisible = true; this.loadingMeetingMinutes = true; try { @@ -2007,6 +2101,29 @@ export default { } }, + async openContractDrawer(contractId, title = '') { + const cid = Number(contractId); + if (!cid || Number.isNaN(cid)) return; + + this.rightDrawerType = 'contract'; + this.rightDrawerTitle = title || '查看合同详情'; + this.rightDrawerUrl = ''; + this.meetingMinutesDetail = null; + this.contractDrawerDetail = null; + this.rightDrawerVisible = true; + this.loadingContractDrawer = true; + try { + const detail = await getBudgetContractDetail(cid); + this.contractDrawerDetail = detail || null; + this.rightDrawerTitle = detail?.title || detail?.contract_no || title || '查看合同详情'; + } catch (e) { + console.error('加载合同详情失败:', e); + this.contractDrawerDetail = null; + } finally { + this.loadingContractDrawer = false; + } + }, + // 通用只读展示 formatReadonlyValue(val) { if (val === undefined || val === null || val === '') return '-';