diff --git a/src/views/oa/erp/projectInfo/edit.vue b/src/views/oa/erp/projectInfo/edit.vue index abe8eb5..ceff3d4 100644 --- a/src/views/oa/erp/projectInfo/edit.vue +++ b/src/views/oa/erp/projectInfo/edit.vue @@ -55,9 +55,15 @@ - + @@ -287,7 +293,7 @@ import { ProjectTypeVO } from '@/api/oa/erp/projectType/types'; import { getUserList } from '@/api/system/user'; import { CodeRuleEnum, FlowCodeEnum, ProjectCategoryEnum } from '@/enums/OAEnum'; import { getErpProjectContractsList } from '@/api/oa/erp/projectContracts'; -import { listContractInfo } from '@/api/oa/erp/contractInfo'; +import { getContractInfo, listContractInfo } from '@/api/oa/erp/contractInfo'; import { ContractInfoVO, ContractInfoQuery } from '@/api/oa/erp/contractInfo/types'; import { getInfo } from '@/api/login'; @@ -754,6 +760,39 @@ const handleDeleteContract = async (row: any) => { console.error('删除合同关联失败:', error); } }; + +/** 查看合同信息 */ +const handleViewContractInfo = (row: any) => { + if (!row?.contractId) { + proxy?.$modal.msgWarning('未获取到合同ID,无法查看合同信息'); + return; + } + proxy?.$tab.openPage('/oa/erp/contractInfo/edit', '合同信息', { + id: row.contractId, + type: 'view' + }); +}; + +/** 下载终版合同附件 */ +const handleDownloadFinalContract = async (row: any) => { + if (!row?.contractId) { + proxy?.$modal.msgWarning('未获取到合同ID,无法下载终版合同附件'); + return; + } + try { + const res = await getContractInfo(row.contractId); + const contractData = res?.data as any; + const signatureAppendix = contractData?.signatureAppendix; + if (!signatureAppendix) { + proxy?.$modal.msgWarning('该合同暂无终版合同附件'); + return; + } + proxy?.$download.oss(signatureAppendix); + } catch (error) { + console.error('下载终版合同附件失败:', error); + proxy?.$modal.msgError('下载终版合同附件失败'); + } +};