From 863c5a26cb1f065bf24a8f28e5641242fdb95644 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 20 九月 2023 16:11:30 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue |  135 ++++++++++++++++++++++++++++++--------------
 1 files changed, 91 insertions(+), 44 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 84eb3e4..bc61882 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -413,14 +413,16 @@
               align="center"
               label="鍗曚綅鍚嶇О"
               width="250"
-              v-if="form.applytype != '4'"
+              v-if="form.applytype != '4' && form.applytype != '3'"
             >
               <template slot-scope="scope">
                 <el-button
                   type="primary"
                   plain
                   @click="ShowDetailDialog(scope, 'unit')"
-                  >{{ scope.row.unitname }}</el-button
+                  >{{
+                    scope.row.unitname ? scope.row.unitname : "鐐瑰嚮閫夋嫨"
+                  }}</el-button
                 >
                 <!-- <el-select
                   v-model="scope.row.unitno"
@@ -439,11 +441,11 @@
               </template>
             </el-table-column>
             <el-table-column
-              prop="unitno"
+              prop="beneficiaryname"
               align="center"
               label="鍗曚綅/涓汉"
               width="250"
-              v-if="form.applytype == '4'"
+              v-if="form.applytype == '4' || form.applytype == '3'"
             >
               <template slot-scope="scope">
                 <el-button
@@ -451,9 +453,9 @@
                   plain
                   @click="ShowDetailDialog(scope, 'expert')"
                   >{{
-                    experthear == "expert"
-                      ? scope.row.unitname
-                      : scope.row.beneficiaryname
+                    scope.row.beneficiaryname
+                      ? scope.row.beneficiaryname
+                      : "鐐瑰嚮閫夋嫨"
                   }}</el-button
                 >
                 <!-- <el-select
@@ -777,6 +779,16 @@
         >
         <el-button
           type="primary"
+          @click="handleup"
+          v-if="
+            operationType == 'add' ||
+              operationType == 'update' ||
+              ismanager == true
+          "
+          >涓婃姤</el-button
+        >
+        <el-button
+          type="primary"
           @click="checksubmit"
           v-if="operationType == 'check'"
           >鎻愪氦瀹℃牳</el-button
@@ -794,7 +806,7 @@
       v-loading="loading"
     >
       <el-form ref="funddetailForm" :model="funddetailForm">
-        <el-row v-if="businessType != 4">
+        <el-row v-if="businessType != 4 && businessType != 3">
           <el-col
             :span="24"
             v-if="selectionType == 'expert' && businessType != 4"
@@ -882,7 +894,7 @@
           </el-col>
         </el-row>
 
-        <el-row v-if="businessType == 4">
+        <el-row v-if="businessType == 4 || businessType == 3">
           <el-col :span="24">
             <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="experthear">
               <el-radio-group
@@ -924,7 +936,7 @@
           <el-col :span="24" v-if="experthear == 'expert'">
             <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px">
               <el-select
-                v-model="funddetailForm.unitname"
+                v-model="funddetailForm.beneficiaryname"
                 placeholder="鍗曚綅鍚嶇О"
                 @change="bbaaccss"
                 clearable
@@ -933,17 +945,17 @@
                 style="width: 100%"
               >
                 <el-option
-                  v-for="(spec, index) in unitList"
+                  v-for="(spec, index) in feeUnitList"
                   :key="index"
-                  :label="spec.organizationname"
-                  :value="spec.organizationname"
+                  :label="spec.reportName"
+                  :value="spec.reportName"
                 ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
 
-        <el-row v-if="businessType != 4">
+        <el-row v-if="businessType != 4 && businessType != 3">
           <el-col :span="12" v-if="expertfrom == '2'">
             <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px">
               <el-input
@@ -972,7 +984,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="businessType != 4">
+        <el-row v-if="businessType != 4 && businessType != 3">
           <el-col :span="24" v-if="expertfrom == '2'">
             <el-form-item
               label="韬唤璇佸彿"
@@ -998,7 +1010,7 @@
           </el-col>          
         </el-row>
       -->
-        <el-row v-if="businessType != 4">
+        <el-row v-if="businessType != 4 && businessType != 3">
           <el-col :span="24" v-if="expertfrom == '2'">
             <el-form-item
               label="鍗曚綅鍚嶇О"
@@ -1022,7 +1034,7 @@
               </el-select> </el-form-item
           ></el-col>
         </el-row>
-        <el-row v-if="businessType != 4">
+        <el-row v-if="businessType != 4 && businessType != 3">
           <el-col :span="24" v-if="expertfrom == '2'">
             <el-form-item
               label="寮�鎴烽摱琛�"
@@ -1404,7 +1416,7 @@
       exportLoading: false,
       usernamedata: "",
       jurisdiction: false,
-
+      Routinglevel: 1,
       // 琛ㄥ崟鍙傛暟
       form: {},
       experthear: "",
@@ -1727,6 +1739,7 @@
       } else if (this.businessType == "3") {
         this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
+        this.getUnitList();
       } else if (this.businessType == "4") {
         this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
@@ -1941,7 +1954,17 @@
     },
 
     /** 涓婃姤鎸夐挳鎿嶄綔 */
-    handleUp() {
+    handleup() {
+      if (
+        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
+          JSON.stringify(this.rbDetails) ==
+            sessionStorage.getItem("apifunddetail")) ||
+        !sessionStorage.getItem("apifunddetail")
+      ){
+      }else{
+        this.$message.error('璇蜂繚瀛樺悗鍐嶈繘琛屼笂鎶�');
+        return
+      }
       this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
@@ -1951,13 +1974,13 @@
           //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍
           //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
           this.form.recordstatus = 0;
-
           updateFund(this.form).then(response => {
             if (response.code == 200) {
               this.$message({
                 type: "success",
                 message: "鐢宠鎴愬姛"
               });
+              this.cancel()
             } else {
               this.$message({
                 type: "error",
@@ -2204,24 +2227,35 @@
             // });
           }
 
-          addorupdateFund(this.form).then(response => {
-            if (response.code === 200) {
-              this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
-            } else {
-              this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
-            }
-          });
           sessionStorage.setItem(
             "apifunddetail",
             JSON.stringify(this.rbDetails)
           );
           sessionStorage.setItem("apiform", JSON.stringify(this.form));
-
+          addorupdateFund(this.form).then(response => {
+            console.log(response, "淇濆瓨杩斿弬");
+            if (response.code === 200) {
+              this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
+              this.$store.dispatch("tagsView/delView", this.$route);
+              this.$router.push({
+                path: "/finance/applyDetail/",
+                query: {
+                  id: response.data,
+                  businessType: "2",
+                  operationType: "update",
+                  curCase: this.curCase
+                }
+              });
+              this.Routinglevel++;
+            } else {
+              this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
+            }
+          });
           //鍏抽棴绐楀彛
           this.loading = false;
           // this.getfundList();
-          this.$store.dispatch("tagsView/delView", this.$route);
-          this.$router.go(-1);
+          // this.$store.dispatch("tagsView/delView", this.$route);
+          // this.$router.go(-1);
         }
       });
     }, 500),
@@ -2246,8 +2280,10 @@
     // 鍙栨秷鎸夐挳
     cancel() {
       // this.reset();
+      console.log(-this.Routinglevel);
       this.$store.dispatch("tagsView/delView", this.$route);
-      this.$router.go(-1);
+        this.$router.go(-this.Routinglevel);
+ 
     },
 
     //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
@@ -2349,6 +2385,7 @@
     getFeeUnitList() {
       listReportname("org").then(res => {
         this.feeUnitList = res.data;
+        console.log(this.feeUnitList);
       });
     },
 
@@ -2559,8 +2596,12 @@
     calculateTax(row, type) {
       let targetValue = 0;
       for (let i = 0; i < this.rbDetails.length; i++) {
+        if (!this.rbDetails[i].amount) {
+          this.rbDetails[i].amount = 0;
+        }
         targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅
       }
+      console.log(targetValue, "鍚堣");
       this.form.pretaxcost = targetValue;
 
       //if (isNaN(parseFloat(tempDetail.taxedamount)))
@@ -2991,6 +3032,7 @@
       for (let i = 0; i < this.checkedCities.length + 1; i++) {
         this.rbDetails[i].orderno = i + 1;
       }
+      this.calculateTax();
       this.batchdialogVisible = false;
     },
     //鏂板涓�琛�
@@ -3307,7 +3349,7 @@
     ShowDetailDialog(spoce, showType) {
       this.spocewl = spoce;
       this.selectionType = showType;
-      if (this.businessType == 4 || !showType) {
+      if (this.businessType == 4 || this.businessType == 3 || !showType) {
         this.selectionType = this.experthear;
       }
       // if (!showType) {
@@ -3315,7 +3357,7 @@
 
       // }
       this.expertfrom = "1";
-
+      console.log(spoce);
       this.funddetailForm.index = spoce.$index;
       this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
       this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
@@ -3334,20 +3376,23 @@
 
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
     ConfirmDetailDialog() {
-      if (this.businessType == 4) {
-        if (this.experthear == "expert") {
-          this.funddetailForm.beneficiaryname = this.unitforname;
-        } else {
-          this.funddetailForm.beneficiaryname = this.Personnelforname;
-        }
-      }
-
+      // if (this.businessType == 4) {
+      //   if (this.experthear == "expert") {
+      //     this.funddetailForm.beneficiaryname = this.unitforname;
+      //   } else {
+      //     this.funddetailForm.beneficiaryname = this.Personnelforname;
+      //   }
+      // }
       let tempIndex = this.funddetailForm.index;
       let tempExpertName = this.funddetailForm.beneficiaryname;
       let tempUnitname = this.funddetailForm.unitname;
       let singleDetail = this.rbDetails[tempIndex];
 
-      if (this.selectionType == "expert" || this.businessType == 4) {
+      if (
+        this.selectionType == "expert" ||
+        this.businessType == 4 ||
+        this.businessType == 3
+      ) {
         if (this.expertfrom == "1" || this.experthear == "unit") {
           //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
           this.personlist.map(res => {
@@ -3465,7 +3510,7 @@
       // if (this.experthear == "unit") {
       //   singleDetail.unitname = "";
       // }
-      if (this.businessType == 4) {
+      if (this.businessType == 4 || this.businessType == 3) {
         singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
       }
       this.rbDetails[tempIndex] = singleDetail;
@@ -3498,7 +3543,9 @@
   beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
   updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
   beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
-  destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+  destroyed() {
+    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
+  }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
   activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
 };
 </script>

--
Gitblit v1.9.3