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/component/investmentFunds.vue | 189 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 152 insertions(+), 37 deletions(-) diff --git a/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue b/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue index 7f6ee41..97a0272 100644 --- a/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue +++ b/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue @@ -1,191 +1,240 @@ <template> <div class="basic-info"> - <el-form ref="demoFormRef" :disabled="disabled" :model="investmentFundsForm" class="dialog_form"> + <el-form ref="demoFormRef" :disabled="disabled" :model="investmentFundsForm" :rules="rules" class="dialog_form"> <!-- 淇濇寔鍘熸湁妯℃澘鍐呭涓嶅彉 --> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="椤圭洰鎬绘姇璧勯" label-width="130px" prop="fundsType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.totalInvestment" class="item" clearable maxlength="255" + <el-form-item label="椤圭洰鎬绘姇璧勯" label-width="130px" prop="totalInvestment" required style="width: 100%"> + <el-input v-model.trim="totalInvestment" class="item" clearable disabled style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="椤圭洰鏈噾" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.principal" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.principal" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="涓�銆佹斂搴滄姇璧�" label-width="130px" prop="projectType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.governmentInvestmentTotal" class="item" clearable + <el-input v-model.trim="investmentFundsForm.governmentInvestmentTotal" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="锛堜竴锛変腑澶姇璧�" label-width="130px" prop="projectType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.centralInvestmentTotal" class="item" clearable maxlength="255" + <el-input v-model.trim="centralInvestmentTotal" class="item" clearable disabled style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="1.涓ぎ棰勭畻鎶曡祫" label-width="130px" prop="fundsType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.centralBudgetInvestment" class="item" clearable maxlength="255" + <el-form-item label="1.涓ぎ棰勭畻鎶曡祫" label-width="160px" prop="fundsType" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.centralBudgetInvestment" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="2.涓ぎ璐㈡斂" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.centralFiscalInvestment" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.centralFiscalInvestment" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="items" label="3.涓ぎ涓撻」鍊哄埜绛归泦鐨勪笓椤瑰缓璁捐祫閲�" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.centralSpecialBondInvestment" class="item" clearable + <el-input v-model.trim="investmentFundsForm.centralSpecialBondInvestment" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> - <el-col :span="18"> - <el-form-item label="4.涓ぎ涓撻」寤鸿鍩洪噾" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.centralSpecialFundInvestment" class="item" clearable + <el-col :span="6"> + <el-form-item label="4.涓ぎ涓撻」寤鸿鍩洪噾" label-width="180px" prop="engineering" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.centralSpecialFundInvestment" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="5.瓒呴暱鏈熺壒鍒浗鍊鸿祫閲�" label-width="150px" prop="engineering" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.nationalDebt" class="item" clearable maxlength="255" style="width: 90%" + placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="6.2023骞村鍙戝浗鍊鸿祫閲�" label-width="150px" prop="engineering" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.additionalNationalDebt" class="item" clearable maxlength="255" style="width: 90%" + placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="锛堜簩锛夌渷绾ф姇璧�" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.provincialInvestmentTotal" class="item" clearable - maxlength="255" placeholder="璇疯緭鍏�"/> + <el-input v-model.trim="provincialInvestmentTotal" class="item" clearable disabled style="width: 90%" + placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="1.鐪侀绠楀唴鎶曡祫" label-width="130px" prop="fundsType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.provincialBudgetInvestment" class="item" clearable + <el-form-item label="1.鐪侀绠楀唴鎶曡祫" label-width="160px" prop="fundsType" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.provincialBudgetInvestment" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="2.鐪佽储鏀挎�у缓璁炬姇璧�" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.provincialFiscalInvestment" class="item" clearable + <el-input v-model.trim="investmentFundsForm.provincialFiscalInvestment" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="3.鐪佷笓椤瑰缓璁捐祫閲�" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.provincialSpecialFundInvestment" class="item" clearable + <el-input v-model.trim="investmentFundsForm.provincialSpecialFundInvestment" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="锛堜笁锛夊競(宸�)鎶曡祫" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.cityInvestmentTotal" class="item" clearable maxlength="255" + <el-input v-model.trim="cityInvestmentTotal" class="item" clearable disabled style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="1.甯�(宸�)棰勭畻鍐呮姇璧�" label-width="130px" prop="fundsType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.cityBudgetInvestment" class="item" clearable maxlength="255" + <el-form-item label="1.甯�(宸�)棰勭畻鍐呮姇璧�" label-width="170px" prop="fundsType" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.cityBudgetInvestment" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="2.甯�(宸�)璐㈡斂鎬ф姇璧�" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.cityFiscalInvestment" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.cityFiscalInvestment" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="3.甯�(宸�)涓撻」璧勯噾" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.citySpecialFundInvestment" class="item" clearable + <el-input v-model.trim="investmentFundsForm.citySpecialFundInvestment" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="锛堝洓锛夊幙(甯傘�佸尯)鎶曡祫" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.countyInvestmentTotal" class="item" clearable maxlength="255" + <el-input v-model.trim="countyInvestmentTotal" class="item" disabled style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="6"> - <el-form-item label="1.鍖�(鍘�)棰勭畻鍐呮姇璧�" label-width="130px" prop="fundsType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.countyBudgetInvestment" class="item" clearable maxlength="255" + <el-form-item label="1.鍖�(鍘�)棰勭畻鍐呮姇璧�" label-width="180px" prop="fundsType" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.countyBudgetInvestment" class="item" clearable style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> - <el-form-item class="items" label="2.鍖猴紙鍘匡級璐㈡斂鎬у缓璁捐祫閲�" label-width="130px" prop="investmentType" + <el-form-item label="2.鍖猴紙鍘匡級璐㈡斂鎬у缓璁捐祫閲�" label-width="170px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.countyFiscalInvestment" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.countyFiscalInvestment" class="item" clearable style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="3.鍖�(鍘�)涓撻」璧勯噾" label-width="130px" prop="investmentType" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.countySpecialFundInvestment" class="item" clearable - maxlength="255" placeholder="璇疯緭鍏�"/> + <el-input v-model.trim="investmentFundsForm.countySpecialFundInvestment" class="item" clearable style="width: 90%" + type="number" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="6"> + <el-form-item label="4.鍦版柟鏀垮簻涓撻」鍊哄埜" label-width="180px" prop="engineering" style="width: 100%"> + <el-input v-model.trim="investmentFundsForm.deptBond" class="item" clearable style="width: 90%" + placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="浜屻�佸浗鍐呰捶娆�" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.domesticLoanTotal" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.domesticLoanTotal" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="閾惰璐锋" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.bankLoan" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.bankLoan" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="涓夈�佸鍟嗘姇璧�" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.foreignInvestmentTotal" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.foreignInvestmentTotal" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="鍥涖�佷紒涓氳嚜绛�" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.enterpriseSelfRaisedTotal" class="item" clearable + <el-input v-model.trim="investmentFundsForm.enterpriseSelfRaisedTotal" class="item" clearable style="width: 90%" maxlength="255" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="18"> <el-form-item label="浜斻�佸叾浠栨姇璧�" label-width="130px" prop="engineering" style="width: 100%"> - <el-input v-model.trim="investmentFundsForm.otherInvestmentTotal" class="item" clearable maxlength="255" + <el-input v-model.trim="investmentFundsForm.otherInvestmentTotal" class="item" clearable maxlength="255" style="width: 90%" placeholder="璇疯緭鍏�"/> + <span class="money">涓囧厓</span> </el-form-item> </el-col> </el-row> + </el-form> </div> </template> @@ -197,6 +246,7 @@ editProjectInvestmentFunding, getProjectInvestmentFundingById } from "@/api/projectEngineering/projectInvestmentFunding"; +import {editProject} from "@/api/projectEngineering/projectInfo"; export default { name: 'InvestmentFundsForm', @@ -207,9 +257,60 @@ required: true }, }, + computed: { + totalInvestment() { + this.investmentFundsForm.totalInvestment = + parseFloat(this.investmentFundsForm.governmentInvestmentTotal ? this.investmentFundsForm.governmentInvestmentTotal : 0) + + this.centralInvestmentTotal + + this.provincialInvestmentTotal + + this.cityInvestmentTotal + + this.countyInvestmentTotal + + parseFloat(this.investmentFundsForm.domesticLoanTotal ? this.investmentFundsForm.domesticLoanTotal : 0) + + parseFloat(this.investmentFundsForm.bankLoan ? this.investmentFundsForm.bankLoan : 0) + + parseFloat(this.investmentFundsForm.foreignInvestmentTotal ? this.investmentFundsForm.foreignInvestmentTotal : 0) + + parseFloat(this.investmentFundsForm.enterpriseSelfRaisedTotal ? this.investmentFundsForm.enterpriseSelfRaisedTotal : 0) + + parseFloat(this.investmentFundsForm.otherInvestmentTotal ? this.investmentFundsForm.otherInvestmentTotal : 0) + return this.investmentFundsForm.totalInvestment; + }, + centralInvestmentTotal() { + this.investmentFundsForm.centralInvestmentTotal = + parseFloat(this.investmentFundsForm.centralBudgetInvestment ? this.investmentFundsForm.centralBudgetInvestment : 0) + + parseFloat(this.investmentFundsForm.centralFiscalInvestment ? this.investmentFundsForm.centralFiscalInvestment : 0) + + parseFloat(this.investmentFundsForm.centralSpecialBondInvestment ? this.investmentFundsForm.centralSpecialBondInvestment : 0) + + parseFloat(this.investmentFundsForm.centralSpecialFundInvestment ? this.investmentFundsForm.centralSpecialFundInvestment : 0) + + parseFloat(this.investmentFundsForm.nationalDebt ? this.investmentFundsForm.nationalDebt : 0) + + parseFloat(this.investmentFundsForm.additionalNationalDebt ? this.investmentFundsForm.additionalNationalDebt : 0) + return this.investmentFundsForm.centralInvestmentTotal; + }, + provincialInvestmentTotal() { + this.investmentFundsForm.provincialInvestmentTotal = + parseFloat(this.investmentFundsForm.provincialBudgetInvestment ? this.investmentFundsForm.provincialBudgetInvestment : 0) + + parseFloat(this.investmentFundsForm.provincialFiscalInvestment ? this.investmentFundsForm.provincialFiscalInvestment : 0) + + parseFloat(this.investmentFundsForm.provincialSpecialFundInvestment ? this.investmentFundsForm.provincialSpecialFundInvestment : 0) + return this.investmentFundsForm.provincialInvestmentTotal; + }, + cityInvestmentTotal() { + this.investmentFundsForm.cityInvestmentTotal = + parseFloat(this.investmentFundsForm.cityBudgetInvestment ? this.investmentFundsForm.cityBudgetInvestment : 0) + + parseFloat(this.investmentFundsForm.cityFiscalInvestment ? this.investmentFundsForm.cityFiscalInvestment : 0) + + parseFloat(this.investmentFundsForm.citySpecialFundInvestment ? this.investmentFundsForm.citySpecialFundInvestment : 0) + return this.investmentFundsForm.cityInvestmentTotal; + }, + countyInvestmentTotal() { + this.investmentFundsForm.countyInvestmentTotal = + parseFloat(this.investmentFundsForm.countyBudgetInvestment ? this.investmentFundsForm.countyBudgetInvestment : 0) + + parseFloat(this.investmentFundsForm.countyFiscalInvestment ? this.investmentFundsForm.countyFiscalInvestment : 0) + + parseFloat(this.investmentFundsForm.countySpecialFundInvestment ? this.investmentFundsForm.countySpecialFundInvestment : 0) + + parseFloat(this.investmentFundsForm.deptBond ? this.investmentFundsForm.deptBond : 0) + return this.investmentFundsForm.countyInvestmentTotal; + } + }, data() { return { projectForm: {}, + rules: { + + }, investmentFundsForm: { // id: '', // projectId: '', @@ -285,10 +386,20 @@ if (this.$route.query.projectId&& !parsedInvestmentFundsForm) { this.getInvestmentFunds(); } + + this.investmentFundsForm.projectId = this.projectForm.id; }, beforeDestroy() { if(Object.keys(this.investmentFundsForm).length !==0) localStorage.setItem("investmentFundsForm", JSON.stringify(this.investmentFundsForm)); }, + watch: { + investmentFundsForm: { + deep: true, + handler(newVal) { + this.$emit('investmentFundsForm', newVal) + } + } + } } </script> @@ -320,7 +431,11 @@ width: 20px; } } - +.money { + font-size: 12px; + margin-left: 2px; + color: #909399; +} .items { ::v-deep .el-form-item__label { line-height: 16px; -- Gitblit v1.8.0