From e57e645d24a89adb3391be16f6948b292183fa04 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 11 二月 2025 14:02:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/projectEngineering/projectLibrary/component/investmentFunds.vue |  207 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 148 insertions(+), 59 deletions(-)

diff --git a/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue b/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue
index c0ae3d7..e506821 100644
--- a/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue
+++ b/src/views/projectEngineering/projectLibrary/component/investmentFunds.vue
@@ -1,161 +1,188 @@
 <template>
   <div class="basic-info">
-    <el-form ref="demoFormRef" :disabled="disabled" :model="investmentFunds" class="dialog_form">
+    <el-form ref="demoFormRef" :disabled="disabled" :model="investmentFundsForm" 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="investmentFunds.totalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.totalInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.principal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.principal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.governmentInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.governmentInvestmentTotal" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.centralInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.centralInvestmentTotal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.centralBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.centralBudgetInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.centralFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.centralFiscalInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.centralSpecialBondInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+          <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
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.centralSpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.centralSpecialFundInvestment" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.provincialInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.provincialInvestmentTotal" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.provincialBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.provincialBudgetInvestment" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.provincialFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.provincialFiscalInvestment" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.provincialSpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.provincialSpecialFundInvestment" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.cityInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.cityInvestmentTotal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.cityBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.cityBudgetInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.cityFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.cityFiscalInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.citySpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.citySpecialFundInvestment" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.countyInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.countyInvestmentTotal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.countyBudgetInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.countyBudgetInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item class="items" label="2.鍖猴紙鍘匡級璐㈡斂鎬у缓璁捐祫閲�" label-width="130px" prop="investmentType" style="width: 100%">
-            <el-input v-model.trim="investmentFunds.countyFiscalInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+          <el-form-item class="items" label="2.鍖猴紙鍘匡級璐㈡斂鎬у缓璁捐祫閲�" label-width="130px" prop="investmentType"
+                        style="width: 100%">
+            <el-input v-model.trim="investmentFundsForm.countyFiscalInvestment" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.countySpecialFundInvestment" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.countySpecialFundInvestment" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.domesticLoanTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.domesticLoanTotal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.bankLoan" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.bankLoan" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.foreignInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.foreignInvestmentTotal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.enterpriseSelfRaisedTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.enterpriseSelfRaisedTotal" class="item" clearable
+                      maxlength="255" placeholder="璇疯緭鍏�"/>
           </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="investmentFunds.otherInvestmentTotal" class="item" clearable maxlength="255" placeholder="璇疯緭鍏�" />
+            <el-input v-model.trim="investmentFundsForm.otherInvestmentTotal" class="item" clearable maxlength="255"
+                      placeholder="璇疯緭鍏�"/>
           </el-form-item>
         </el-col>
       </el-row>
@@ -164,6 +191,14 @@
 </template>
 
 <script>
+import Cookies from "js-cookie";
+import {
+  addProjectInvestmentFunding,
+  editProjectInvestmentFunding,
+  getProjectInvestmentFundingById
+} from "@/api/projectEngineering/projectInvestmentFunding";
+import {editProject} from "@/api/projectEngineering/projectInfo";
+
 export default {
   name: 'InvestmentFundsForm',
   props: {
@@ -171,46 +206,100 @@
       type: Boolean,
       default: false,
       required: true
-    }
+    },
   },
   data() {
     return {
-      investmentFunds: {
-        totalInvestment: '',
-        principal: '',
-        governmentInvestmentTotal: '',
-        centralInvestmentTotal: '',
-        centralBudgetInvestment: '',
-        centralFiscalInvestment: '',
-        centralSpecialBondInvestment: '',
-        centralSpecialFundInvestment: '',
-        provincialInvestmentTotal: '',
-        provincialBudgetInvestment: '',
-        provincialFiscalInvestment: '',
-        provincialSpecialFundInvestment: '',
-        cityInvestmentTotal: '',
-        cityBudgetInvestment: '',
-        cityFiscalInvestment: '',
-        citySpecialFundInvestment: '',
-        countyInvestmentTotal: '',
-        countyBudgetInvestment: '',
-        countyFiscalInvestment: '',
-        countySpecialFundInvestment: '',
-        domesticLoanTotal: '',
-        bankLoan: '',
-        foreignInvestmentTotal: '',
-        enterpriseSelfRaisedTotal: '',
-        otherInvestmentTotal: ''
+      projectForm: {},
+      investmentFundsForm: {
+        // id: '',
+        // projectId: '',
+        // totalInvestment: '',
+        // principal: '',
+        // governmentInvestmentTotal: '',
+        // centralInvestmentTotal: '',
+        // centralBudgetInvestment: '',
+        // centralFiscalInvestment: '',
+        // centralSpecialBondInvestment: '',
+        // centralSpecialFundInvestment: '',
+        // provincialInvestmentTotal: '',
+        // provincialBudgetInvestment: '',
+        // provincialFiscalInvestment: '',
+        // provincialSpecialFundInvestment: '',
+        // cityInvestmentTotal: '',
+        // cityBudgetInvestment: '',
+        // cityFiscalInvestment: '',
+        // citySpecialFundInvestment: '',
+        // countyInvestmentTotal: '',
+        // countyBudgetInvestment: '',
+        // countyFiscalInvestment: '',
+        // countySpecialFundInvestment: '',
+        // domesticLoanTotal: '',
+        // bankLoan: '',
+        // foreignInvestmentTotal: '',
+        // enterpriseSelfRaisedTotal: '',
+        // otherInvestmentTotal: ''
       }
     };
   },
   methods: {
-
+    getInvestmentFunds() {
+      getProjectInvestmentFundingById(this.$route.query.projectId).then(res => {
+        this.investmentFundsForm = res.data;
+      });
+    },
+    submit() {
+      if (!this.projectForm.id) {
+        this.$message.error("璇峰厛淇濆瓨鎶曡祫绠$悊鍩烘湰淇℃伅")
+      } else {
+        this.investmentFundsForm.projectId = this.projectForm.id;
+        if (this.investmentFundsForm.id) {
+          editProjectInvestmentFunding(this.investmentFundsForm).then(response => {
+            this.$modal.msgSuccess("淇敼鎴愬姛");
+            //璺宠浆鍒颁笅涓粍浠�
+            this.$emit('toNext', 3);
+          });
+        } else {
+          addProjectInvestmentFunding(this.investmentFundsForm).then(response => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.investmentFundsForm.id = response.data
+            //璺宠浆鍒颁笅涓粍浠�
+            this.$emit('toNext', 3);
+          });
+        }
+      }
+    },
   },
-  created() {
+  mounted() {
+    const investmentFundsForm = localStorage.getItem("investmentFundsForm");
+    const projectForm = localStorage.getItem("projectForm");
 
+    const parsedInvestmentFundsForm = investmentFundsForm ? JSON.parse(investmentFundsForm) : null;
+    const parsedProjectForm = projectForm ? JSON.parse(projectForm) : null;
+    if (parsedInvestmentFundsForm) {
+      this.investmentFundsForm = parsedInvestmentFundsForm
+    }
+    if (parsedProjectForm) {
+      this.projectForm = parsedProjectForm
+    }
+    // 濡傛灉璺敱瀛樺湪id涓旀病鏈夌紦瀛�,瑙嗕负缂栬緫鎴栨煡鐪嬶紝璋冪敤api
+    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>
 
@@ -244,7 +333,7 @@
 }
 
 .items {
-  ::v-deep  .el-form-item__label {
+  ::v-deep .el-form-item__label {
     line-height: 16px;
     text-align: right;
   }

--
Gitblit v1.8.0