From 970660e0f54a635c2ea1c17e1a3d5d37ed671573 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 19 九月 2023 16:50:13 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue |  235 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 152 insertions(+), 83 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 1904792..ccf4751 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -177,11 +177,13 @@
               >
             </div></el-col
           >
+        </el-row>
+        <el-row v-if="businessType == 1 && operationType == 'check'">
           <el-col :span="3"
             ><div style="margin-bottom: 15px;">
               <el-button
-                type="primary"
-                icon="el-icon-download"
+                type="success"
+                icon="el-icon-edit-outline"
                 @click="Manualcalculationfn"
                 >璁$畻鏄庣粏</el-button
               >
@@ -219,7 +221,7 @@
               <template slot-scope="scope">
                 <el-select
                   v-model="scope.row.applytype"
-                  placeholder="鏈嶅姟绫诲瀷"
+                  placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷"
                   @change="verifyFeeItemType(scope.row)"
                 >
                   <el-option
@@ -240,7 +242,7 @@
               <template slot-scope="scope">
                 <el-select
                   v-model="scope.row.itemid"
-                  placeholder="鏈嶅姟椤圭洰"
+                  placeholder="璇烽�夋嫨鏈嶅姟椤圭洰"
                   filterable
                   @change="verifyFeeItem(scope.row)"
                   :filter-method="val => searchItemType(val, scope)"
@@ -381,7 +383,11 @@
                   type="primary"
                   plain
                   @click="ShowDetailDialog(scope, 'expert')"
-                  >{{ scope.row.beneficiaryname }}</el-button
+                  >{{
+                    scope.row.beneficiaryname
+                      ? scope.row.beneficiaryname
+                      : "鐐瑰嚮閫夋嫨"
+                  }}</el-button
                 >
                 <!-- <el-select
                   filterable
@@ -407,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"
@@ -433,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
@@ -445,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
@@ -771,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
@@ -788,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"
@@ -876,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
@@ -918,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
@@ -927,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
@@ -966,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="韬唤璇佸彿"
@@ -992,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="鍗曚綅鍚嶇О"
@@ -1016,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="寮�鎴烽摱琛�"
@@ -1398,7 +1416,7 @@
       exportLoading: false,
       usernamedata: "",
       jurisdiction: false,
-
+      Routinglevel: 1,
       // 琛ㄥ崟鍙傛暟
       form: {},
       experthear: "",
@@ -1437,8 +1455,8 @@
       cityOptions: [],
       checkAll: false,
       checkedCities: [],
-      Personnelforname: "璇烽�夋嫨",
-      unitforname: "璇烽�夋嫨",
+      Personnelforname: null,
+      unitforname: null,
       isIndeterminate: true,
 
       //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
@@ -1721,6 +1739,7 @@
       } else if (this.businessType == "3") {
         this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
+        this.getUnitList();
       } else if (this.businessType == "4") {
         this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
@@ -1935,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: "鍙栨秷",
@@ -1952,6 +1981,7 @@
                 type: "success",
                 message: "鐢宠鎴愬姛"
               });
+              this.cancel()
             } else {
               this.$message({
                 type: "error",
@@ -2015,10 +2045,7 @@
                 return;
               }
 
-              if (
-                tempDetail.beneficiaryno == null ||
-                tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨"
-              ) {
+              if (tempDetail.beneficiaryno == null) {
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                     (k + 1).toString() +
@@ -2201,24 +2228,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),
@@ -2243,8 +2281,10 @@
     // 鍙栨秷鎸夐挳
     cancel() {
       // this.reset();
+      console.log(-this.Routinglevel);
       this.$store.dispatch("tagsView/delView", this.$route);
-      this.$router.go(-1);
+        this.$router.go(-this.Routinglevel);
+ 
     },
 
     //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
@@ -2346,6 +2386,7 @@
     getFeeUnitList() {
       listReportname("org").then(res => {
         this.feeUnitList = res.data;
+        console.log(this.feeUnitList);
       });
     },
 
@@ -2554,30 +2595,40 @@
 
     //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦)
     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)))
       //鑾峰彇鍙傛暟
-      this.taxParam.beneficiaryNo = row.beneficiaryno;
-      this.taxParam.startTime = this.form.createTime.substring(0, 10);
+      // this.taxParam.beneficiaryNo = row.beneficiaryno;
+      // this.taxParam.startTime = this.form.createTime.substring(0, 10);
 
-      if (type == "A") {
-        // 璁$畻涓◣銆佺◣鍚庨噾棰�
-        this.taxParam.money = row.amount.toString();
-        getTaxByBeneFiciaryNo(this.taxParam).then(res => {
-          if (res.code == 200) {
-            row.taxamount = res.data;
-            row.taxedamount = row.amount - row.taxamount;
-          }
-        });
-      } else {
-        // 璁$畻绋庡墠銆佷釜绋庨噾棰�
-        this.taxParam.money = row.taxedamount.toString();
-        getTaxBeforeByAfterMoney(this.taxParam).then(res => {
-          if (res.code == 200) {
-            row.taxamount = res.data.nowTax;
-            row.amount = parseFloat(res.data.nowTaxBeforeMoney);
-          }
-        });
-      }
+      // if (type == "A") {
+      //   // 璁$畻涓◣銆佺◣鍚庨噾棰�
+      //   this.taxParam.money = row.amount.toString();
+      //   getTaxByBeneFiciaryNo(this.taxParam).then(res => {
+      //     if (res.code == 200) {
+      //       row.taxamount = res.data;
+      //       row.taxedamount = row.amount - row.taxamount;
+      //     }
+      //   });
+      // } else {
+      //   // 璁$畻绋庡墠銆佷釜绋庨噾棰�
+      //   this.taxParam.money = row.taxedamount.toString();
+      //   getTaxBeforeByAfterMoney(this.taxParam).then(res => {
+      //     if (res.code == 200) {
+      //       row.taxamount = res.data.nowTax;
+      //       row.amount = parseFloat(res.data.nowTaxBeforeMoney);
+      //     }
+      //   });
+      // }
     },
 
     //瀵煎叆鎵�鏈夐」鐩�
@@ -2604,8 +2655,8 @@
               itemid: this.feeItemTypes[i].itemDetails[j].id,
               itemcode: this.feeItemTypes[i].itemDetails[j].itemCode,
               recordstatus: "-1",
-              beneficiaryname: "鐐瑰嚮閫夋嫨",
-              unitname: "鐐瑰嚮閫夋嫨",
+              beneficiaryname: null,
+              unitname: null,
               itemlist: this.feeItemTypes[i].itemDetails,
               rowfeeblocks: null,
               servicesscope: null,
@@ -2687,10 +2738,7 @@
                 return;
               }
 
-              if (
-                tempDetail.beneficiaryno == null ||
-                tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨"
-              ) {
+              if (tempDetail.beneficiaryno == null) {
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                     (k + 1).toString() +
@@ -2906,6 +2954,21 @@
     Manualcalculationfn() {
       ManualCalculation(this.rbDetails).then(res => {
         console.log(res);
+        if (res.code == 200) {
+          sessionStorage.removeItem("apiform");
+          sessionStorage.removeItem("apifunddetail");
+          sessionStorage.setItem(
+            "apifunddetail",
+            JSON.stringify(this.rbDetails)
+          );
+          sessionStorage.setItem("apiform", JSON.stringify(this.form));
+          this.$router.go(0);
+        } else {
+          // this.$message({
+          //   type: "error",
+          //   message: "鐢宠澶辫触"
+          // });
+        }
       });
     },
     // 鎵归噺褰曞叆鐐瑰嚮
@@ -2970,6 +3033,7 @@
       for (let i = 0; i < this.checkedCities.length + 1; i++) {
         this.rbDetails[i].orderno = i + 1;
       }
+      this.calculateTax();
       this.batchdialogVisible = false;
     },
     //鏂板涓�琛�
@@ -2978,9 +3042,9 @@
         orderno: null,
         id: null,
         fundid: null,
-        beneficiaryname: "鐐瑰嚮閫夋嫨",
+        beneficiaryname: null,
         beneficiaryno: null,
-        unitname: "鐐瑰嚮閫夋嫨",
+        unitname: null,
         unitno: null,
         uintuserno: null,
         title: null,
@@ -3286,7 +3350,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) {
@@ -3294,7 +3358,7 @@
 
       // }
       this.expertfrom = "1";
-
+      console.log(spoce);
       this.funddetailForm.index = spoce.$index;
       this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
       this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
@@ -3313,20 +3377,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 => {
@@ -3444,7 +3511,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;
@@ -3477,7 +3544,9 @@
   beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
   updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
   beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
-  destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+  destroyed() {
+    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
+  }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
   activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
 };
 </script>

--
Gitblit v1.9.3