From 39b9569ca5611f77377dd3bd66f39ebe55707462 Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Fri, 7 Feb 2025 11:11:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=88=E5=90=8C=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../planFileApproval.vue | 89 ++- .../projectContract/ContractPay.vue | 535 ++++++++++++++++++ .../projectLib/projectPlan/addPlanFile.vue | 63 ++- .../projectPlan/planinfoFileDetail.vue | 34 +- .../projectLib/projectPlan/projectPlan.api.ts | 4 +- .../projectLib/projectPlan/viewPlanDetail.vue | 54 +- 6 files changed, 696 insertions(+), 83 deletions(-) create mode 100644 src/views/projectLib/projectContract/ContractPay.vue diff --git a/src/views/ProcessApprovalSubPage/planFileApproval.vue b/src/views/ProcessApprovalSubPage/planFileApproval.vue index e17f64e..1434533 100644 --- a/src/views/ProcessApprovalSubPage/planFileApproval.vue +++ b/src/views/ProcessApprovalSubPage/planFileApproval.vue @@ -1,9 +1,15 @@ + diff --git a/src/views/projectLib/projectPlan/addPlanFile.vue b/src/views/projectLib/projectPlan/addPlanFile.vue index c117279..f29f872 100644 --- a/src/views/projectLib/projectPlan/addPlanFile.vue +++ b/src/views/projectLib/projectPlan/addPlanFile.vue @@ -5,7 +5,11 @@ 下载模板 --> - + +
+ +
+ 上传文件 只能上传证明材料且不超过500M -
+
其他文件 >([]); let projectId = ref(''); + let contractRef = ref(); let isSubmitting = ref(false); let dataTo = defineProps(['type', 'files', 'planinfoid', 'taskName']); + const showMoneyForm = ref(false); const emit = defineEmits(['close']); //加载项目数据 onMounted(async () => { @@ -187,6 +197,13 @@ }, }); } + let contract = await getContractinfoByTaskName({ + taskName: dataTo.taskName, + projectId: projectId.value, + }); + if (contract.planList != null && contract.planList.length > 0) { + showMoneyForm.value = true; + } }); function httpRequest(option) { @@ -212,7 +229,7 @@ return false; } //不做检测 - if(item == 'all'){ + if (item == 'all') { return true; } let geShi = ['xlx', 'xlsx', 'docx', 'doc', 'pdf'] as Array; @@ -221,7 +238,7 @@ console.log('文件格式错误!仅支持' + 'xlsx', 'docx', 'doc', 'pdf'); return false; } - + if (item.indexOf(file.name.substring(0, file.name.indexOf('.'))) == -1) { message.error('请上传文件:' + item); return false; @@ -247,11 +264,8 @@ dataTo.taskName.indexOf('可研报告送审稿编制') >= 0 ) { //有一个文件就行 - } - else if (projectStages.includes(dataTo.taskName)||dataTo.taskName == '首付支付' ){ - - } - else { + } else if (projectStages.includes(dataTo.taskName) || dataTo.taskName == '首付支付') { + } else { if (fileList.length != dataTo.files.length && dataTo.type == 0) { message.error('上传的文件数量与项目计划资料数量不一致,请检查'); return; @@ -290,7 +304,7 @@ } else { return; } - } else if (dataTo.taskName == '合同签订') { + } else if (dataTo.taskName == '合同签订' || showMoneyForm.value) { if (await validateContractMoneyForm()) { const contractMoneyFieldsValue = getContractMoneyFieldsValue(); const { @@ -322,6 +336,11 @@ } else { return; } + //合同支付 + if (dataTo.taskName == '合同签订') { + let fromdate = await contractRef.value.getFieldsValuetoRef(); + params.append('contractinfoList', JSON.stringify(fromdate)); + } } // 将上传文件数组依次添加到参数paramsData中 fileList.forEach((x) => { diff --git a/src/views/projectLib/projectPlan/planinfoFileDetail.vue b/src/views/projectLib/projectPlan/planinfoFileDetail.vue index 0891cbc..c7c88f7 100644 --- a/src/views/projectLib/projectPlan/planinfoFileDetail.vue +++ b/src/views/projectLib/projectPlan/planinfoFileDetail.vue @@ -10,9 +10,15 @@
- + +
+ +
项目计划资料详情 - + 项目计划审批文件列表 @@ -31,6 +37,7 @@ import PlanFileDetail from '@/views/ProcessApprovalSubPage/component/PlanFileDetail.vue'; import { EstimateAmountFormSchemas } from '@/views/projectLib/projectPlan/projectPlan.data'; import { queryProjectInfoById } from '@/views/projectLib/projectInfo/projectInfo.api'; + import ContractPay from '@/views/projectLib/projectContract/ContractPay.vue'; import { useForm, BasicForm } from '@/components/Form'; const [registerMoneyForm, { setFieldsValue: setMoneyFieldsValue }] = useForm({ @@ -50,7 +57,7 @@ // labelCol: { style: { width: '120px' } }, wrapperCol: { style: { width: 'auto' } }, }); - import { getProjectinfoMoneyInfo } from '@/views/projectLib/projectPlan/projectPlan.api'; + import { getProjectinfoMoneyInfo,getContractinfoByTaskName } from '@/views/projectLib/projectPlan/projectPlan.api'; import { ApprovalMoneyFormSchemas, ContractMoneyFormSchemas, @@ -95,6 +102,8 @@ let taskName = ref(); let isfinish = ref(0); let planFileDetailkey = ref(0); + const projectId = ref(''); + const showMoneyForm = ref(false); onMounted(async () => { // processName.value =await getProcessName(dataTo.planinfoid) }); @@ -103,7 +112,8 @@ planinfoid.value = data.planinfoid; taskName.value = data.taskName; isfinish.value = data.isfinish; - planFileDetailkey.value+=1 + projectId.value = data.projectid; + planFileDetailkey.value += 1; if (taskName.value == '立项审批') { let res = await getProjectinfoMoneyInfo({ projectid: data.projectid, @@ -121,6 +131,22 @@ let res = await queryProjectInfoById(param); setMoneyFieldsValue(res); } + + let contract = await getContractinfoByTaskName({ + taskName: taskName.value, + projectId: projectId.value, + }); + if (contract.realList != null && contract.realList.length > 0) { + showMoneyForm.value = true; + setContractMoneyFieldsValue({ + contractTotalMoney: contract.realList[0].totalMoney, + contractCentralMoney: contract.realList[0].centralMoney, + contractProvincialMoney: contract.realList[0].provincialMoney, + contractCityMoney: contract.realList[0].cityMoney, + contractCountyMoney: contract.realList[0].countyMoney, + contractSelfMoney: contract.realList[0].selfMoney, + }); + } } diff --git a/src/views/projectLib/projectPlan/projectPlan.api.ts b/src/views/projectLib/projectPlan/projectPlan.api.ts index e1d7ec5..231a190 100644 --- a/src/views/projectLib/projectPlan/projectPlan.api.ts +++ b/src/views/projectLib/projectPlan/projectPlan.api.ts @@ -32,7 +32,8 @@ export enum Api { planREUploadFile="/huzhouPlaninfofile/planREUploadFile", getProcessDetailByPlaninfoid="/huzhouPlaninfofile/getProcessDetailByPlaninfoid", setPlaninfoIsoffline="/huzhouPlaninfofile/setPlaninfoIsoffline", - queryTaskLevelDetail="/huzhouPlan/queryTaskLevelDetail" + queryTaskLevelDetail="/huzhouPlan/queryTaskLevelDetail", + getContractinfoByTaskName="huzhouContractinfo/getContractinfoByTaskName" } /** * 提交入库申请流程 @@ -69,3 +70,4 @@ export const uploadURTFile=(params) => defHttp.post({ url:Api.uploadURTFile,head export const getProcessDetailByPlaninfoid=(params) => defHttp.get({ url:Api.getProcessDetailByPlaninfoid , params }) export const queryPlanInfoMainTimelineOffline = (params) => defHttp.get({ url: Api.queryPlanInfoMainTimelineOffline, params }) export const setPlaninfoIsoffline = (params) => defHttp.post({ url: Api.setPlaninfoIsoffline, params }) +export const getContractinfoByTaskName = (params) => defHttp.get({ url: Api.getContractinfoByTaskName, params }) \ No newline at end of file diff --git a/src/views/projectLib/projectPlan/viewPlanDetail.vue b/src/views/projectLib/projectPlan/viewPlanDetail.vue index c6c4c9a..4df5e09 100644 --- a/src/views/projectLib/projectPlan/viewPlanDetail.vue +++ b/src/views/projectLib/projectPlan/viewPlanDetail.vue @@ -323,33 +323,33 @@ console.log('tableData', tableData); //项目采购阶段先后顺序限制取消 - for (let x = 1; x < tableData.length; x++) { - for (let i = 0; i < tableData[x].children.length; i++) { - let child = tableData[x].children[i]; - //得到当前计划,当前计划在当前阶段第二个开始 - if (i >= 1) { - if (child.id == record.id) { - //获取上一个计划 - let pre = tableData[x].children[i - 1]; - if (pre.isfinish != 2) { - message.error('请先完成【' + pre.taskName + '】'); - return; - } - } - } else { - //如果我当前阶段的第一个,拿比较当前前一个阶段的最后一个任务是否完成 - if (child.id == record.id) { - //获取上一个阶段 - let preLength = tableData[x - 1].children.length; //上一个阶段的长度 - let pre = tableData[x - 1].children[preLength - 1]; - if (pre.isfinish != 2) { - message.error('请先完成【' + pre.taskName + '】'); - return; - } - } - } - } - } + // for (let x = 1; x < tableData.length; x++) { + // for (let i = 0; i < tableData[x].children.length; i++) { + // let child = tableData[x].children[i]; + // //得到当前计划,当前计划在当前阶段第二个开始 + // if (i >= 1) { + // if (child.id == record.id) { + // //获取上一个计划 + // let pre = tableData[x].children[i - 1]; + // if (pre.isfinish != 2) { + // message.error('请先完成【' + pre.taskName + '】'); + // return; + // } + // } + // } else { + // //如果我当前阶段的第一个,拿比较当前前一个阶段的最后一个任务是否完成 + // if (child.id == record.id) { + // //获取上一个阶段 + // let preLength = tableData[x - 1].children.length; //上一个阶段的长度 + // let pre = tableData[x - 1].children[preLength - 1]; + // if (pre.isfinish != 2) { + // message.error('请先完成【' + pre.taskName + '】'); + // return; + // } + // } + // } + // } + // } if (record.taskName.indexOf('联合技术审查') >= 0) { UnitedTechnicalReviewmode.value = record.id; messageInfo.value = '如项目涉及申报资金变更的,请先进行资金变更流程';