From 84a14c24edf92f7072e50b51ee37143d658ecfd4 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 11 三月 2025 14:28:09 +0800 Subject: [PATCH] 项目库展示总年度投资金额 --- src/views/projectEngineering/projectLibrary/projectDetails.vue | 150 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 127 insertions(+), 23 deletions(-) diff --git a/src/views/projectEngineering/projectLibrary/projectDetails.vue b/src/views/projectEngineering/projectLibrary/projectDetails.vue index 6204cbf..446ece8 100644 --- a/src/views/projectEngineering/projectLibrary/projectDetails.vue +++ b/src/views/projectEngineering/projectLibrary/projectDetails.vue @@ -1,4 +1,5 @@ <template> + <div> <el-card class="card-container"> <div class="flex-container mb-4"> <el-tabs v-model="currentTab" @tab-click="handleClick" v-show="isShow"> @@ -29,9 +30,21 @@ :isShow="isShow" class="full-width custom-height" /> + <div v-if="audit" class="button-container"> + <el-button + class="save-button" + type="primary" + @click="saveProject(2)" + >閫氳繃</el-button> + <el-button + class="save-button" + type="danger" + @click="showDialog" + >椹冲洖</el-button> + </div> + <div v-if="!disabled" class="button-container"> <el-button - v-if="componentName.name == 'BasicInfo'" class="save-button" type="primary" @click="saveProject(0)" @@ -45,6 +58,18 @@ <!-- <el-button v-else class="cancel-button" @click="cancel">鍙栨秷</el-button> --> </div> </el-card> + <el-dialog :visible.sync="remarkShow" width="1000px" title="椹冲洖淇℃伅" append-to-body> + <el-form ref="form" label-width="80px"> + <el-form-item label="椹冲洖鍘熷洜"> + <el-input type="textarea" v-model="remark"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="cancelAuditing">鍙� 娑�</el-button> + <el-button type="primary" @click="submitAuditing">纭� 瀹�</el-button> + </div> + </el-dialog> +</div> </template> <script> @@ -63,6 +88,9 @@ isShow: false, currentTab: "椤圭洰绠$悊鍩虹淇℃伅", disabled: false, + remarkShow: false, + audit: false, + remark: '', projectForm: {}, componentName: BasicInfo, projectId: null, @@ -72,11 +100,11 @@ value: "椤圭洰绠$悊鍩虹淇℃伅", componentName: BasicInfo, }, - { - label: "鎶曡祫绠$悊鍩虹淇℃伅", - value: "鎶曡祫绠$悊鍩虹淇℃伅", - componentName: InvestInfo, - }, + // { + // label: "鎶曡祫绠$悊鍩虹淇℃伅", + // value: "鎶曡祫绠$悊鍩虹淇℃伅", + // componentName: InvestInfo, + // }, { label: "椤圭洰鎶曡祫鍙婅祫閲戞潵婧�", value: "椤圭洰鎶曡祫鍙婅祫閲戞潵婧�", @@ -87,27 +115,71 @@ value: "椤圭洰(娉曚汉)鍗曚綅鐧昏淇℃伅", componentName: LegalPerson, }, - { - label: "鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌", - value: "鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌", - componentName: PolicyInfo, - }, - { - label: "鐩稿叧鏂囦功", - value: "鐩稿叧鏂囦功", - componentName: DocumentsInfo, - }, + // { + // label: "鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌", + // value: "鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌", + // componentName: PolicyInfo, + // }, + // { + // label: "鐩稿叧鏂囦功", + // value: "鐩稿叧鏂囦功", + // componentName: DocumentsInfo, + // }, ], childRef: null, + baseInfoRules: [ + {name: 'projectName', message: '璇疯緭鍏ラ」鐩悕绉�'}, + {name: 'content', message: '璇疯緭鍏ュ缓璁惧唴瀹�'}, + {name: 'fundTypeList', message: '璇烽�夋嫨璧勯噾绫诲瀷'}, + {name: 'investType', message: '璇烽�夋嫨椤圭洰鎶曡祫绫诲埆'}, + {name: 'constructionNature', message: '璇烽�夋嫨寤鸿鎬ц川'}, + {name: 'attractInvestment', message: '璇烽�夋嫨鏄惁鎷涘晢寮曡祫椤圭洰'}, + {name: 'projectType', message: '璇烽�夋嫨椤圭洰鎺ㄨ繘绫诲瀷'}, + {name: 'projectStatus', message: '璇烽�夋嫨椤圭洰鐘舵��'}, + {name: 'projectPhase', message: '璇烽�夋嫨椤圭洰闃舵'}, + {name: 'projectContactPerson', message: '璇疯緭鍏ラ」鐩仈绯讳汉'}, + {name: 'contact', message: '璇疯緭鍏ラ」鐩仈绯绘柟寮�'}, + {name: 'projectOwnerUnit', message: '璇烽�夋嫨椤圭洰涓氫富鍗曚綅'}, + {name: 'competentDepartment', message: '璇烽�夋嫨涓荤閮ㄩ棬'}, + {name: 'competentDepartmentPerson', message: '璇烽�夋嫨涓荤閮ㄩ棬鑱旂郴浜�'}, + {name: 'competentDepartmentPhone', message: '璇疯緭鍏ヤ富绠¢儴闂ㄨ仈绯绘柟寮�'}, + {name: 'area', message: '璇烽�夋嫨琛屾斂鍖哄垝'}, + {name: 'managementCentralizationList', message: '璇烽�夋嫨绠$悊褰掑彛'}, + {name: 'projectApprovalType', message: '璇烽�夋嫨椤圭洰瀹℃壒绫诲瀷'}, + {name: 'importanceTypeList', message: '璇烽�夋嫨閲嶇偣鍒嗙被'}, + {name: 'planStartTime', message: '璇烽�夋嫨璁″垝寮�宸ユ椂闂�'}, + {name: 'planCompleteTime', message: '璇烽�夋嫨璁″垝绔e伐鏃堕棿'}, + {name: 'industryCompetentDepartment', message: '璇烽�夋嫨琛屼笟涓荤閮ㄩ棬'}, + {name: 'industryCompetentDepartmentPerson', message: '璇疯緭鍏ヨ涓氫富绠¢儴闂ㄨ仈绯讳汉'}, + {name: 'departmentPersonPhone', message: '璇疯緭鍏ヨ涓氫富绠¢儴闂ㄨ仈绯绘柟寮�'}, + ], + investmentFundsFormRules: [ + {name: 'totalInvestment', message: '椤圭洰鎬绘姇璧勯涓嶈兘涓虹┖(涓斿ぇ浜�0)'}, + ] }; }, methods: { + showDialog(){ + this.remark = null; + this.remarkShow = true; + }, + cancelAuditing(){ + this.remark = null; + this.remarkShow = false; + }, + submitAuditing(){ + this.projectForm.projectInfoForm.remark = this.remark + this.saveProject(3) + this.remark = null + this.remarkShow = false; + }, updateIsShow(newValue) { this.isShow = newValue; }, basicInfoForm(data) { this.projectForm.projectInfoForm = data; this.projectId = data.id; + this.audit = this.$route.query.audit == 1 && this.projectForm.projectInfoForm.auditRole; }, investInfoForm(data) { this.projectForm.projectInvestmentInfoForm = data; @@ -131,12 +203,10 @@ }, handleClick(tabTarget) { this.componentName = this.TABS_DATA[tabTarget.index].componentName; - console.log(this.projectForm); }, changeTable(index) { this.componentName = this.TABS_DATA[index].componentName; this.currentTab = this.TABS_DATA[index].value; - }, submit(usedStatus) { this.$refs.childRef.submit(usedStatus); @@ -146,11 +216,45 @@ }, saveProject(num) { this.projectForm.projectInfoForm.usedStatus = num; - editProject(this.projectForm).then((res) => { - this.$message.success("淇濆瓨鎴愬姛"); - }) - this.$router.push('/projectEngineering/project/projectLibrary') - } + + const msg = this.formValidate() + if (msg && num != 0) { // 鑽夌涓嶆牎楠� + this.$message.error(msg) + } else { + editProject(this.projectForm).then((res) => { + this.$message.success("淇濆瓨鎴愬姛"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push('/projectEngineering/project/projectLibrary') + }) + } + }, + /** + * 涓存椂浣跨敤杩欑鏂瑰紡鏍¢獙 + */ + formValidate() { + let msg = ""; + for (let i = 0; i < this.baseInfoRules.length; i++) { + if (! this.projectForm.projectInfoForm[this.baseInfoRules[i].name]) { + msg = this.baseInfoRules[i].message + return msg + } + } + console.log(this.projectForm, "椤圭洰淇℃伅") + if (this.projectForm.projectInvestmentFundingForm) { + for (let i = 0; i < this.investmentFundsFormRules.length; i++) { + const name = this.investmentFundsFormRules[i].name + if (! this.projectForm.projectInvestmentFundingForm[name]) { + msg = this.investmentFundsFormRules[i].message + return msg + } else if (name == 'totalInvestment' && parseFloat(this.projectForm.projectInvestmentFundingForm[name]) <= 0) { + // 濡傛灉鏄�绘姇璧勯锛屼笉浠呬笉鑳戒负绌鸿繕蹇呴』澶т簬0 + msg = this.investmentFundsFormRules[i].message + return msg + } + } + } + return msg; + }, }, mounted() { if (this.$route.query.disabled) { -- Gitblit v1.8.0