From 4fc9abfa57e81e83b74bdbd2e2f6d71d3500ef66 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 19 九月 2023 11:26:07 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue |  595 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 358 insertions(+), 237 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 36f8615..7f8e422 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -157,6 +157,8 @@
           </el-col>
         </el-row>
         <el-row v-if="jurisdiction">
+          <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning">
+          </el-alert> -->
           <el-alert
             title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��"
             type="warning"
@@ -165,14 +167,28 @@
           </el-alert>
         </el-row>
         <el-row v-if="businessType == 2">
-          <div style="margin-bottom: 15px;">
-            <el-button
-              type="success"
-              icon="el-icon-download"
-              @click="Batchentry"
-              >鎵归噺褰曞叆</el-button
-            >
-          </div>
+          <el-col :span="3"
+            ><div style="margin-bottom: 15px;">
+              <el-button
+                type="success"
+                icon="el-icon-download"
+                @click="Batchentry"
+                >鎵归噺褰曞叆</el-button
+              >
+            </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="success"
+                icon="el-icon-edit-outline"
+                @click="Manualcalculationfn"
+                >璁$畻鏄庣粏</el-button
+              >
+            </div></el-col
+          >
         </el-row>
         <el-row>
           <el-table
@@ -205,7 +221,7 @@
               <template slot-scope="scope">
                 <el-select
                   v-model="scope.row.applytype"
-                  placeholder="鏈嶅姟绫诲瀷"
+                  placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷"
                   @change="verifyFeeItemType(scope.row)"
                 >
                   <el-option
@@ -226,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)"
@@ -367,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
@@ -393,30 +413,50 @@
               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"
+                  placeholder="鍗曚綅"
+                  clearable
+                  filterable
+                  allow-create
+                >
+                  <el-option
+                    v-for="(spec, index) in unitList"
+                    :key="index"
+                    :label="spec.organizationname"
+                    :value="spec.organizationid"
+                  ></el-option>
+                                      </el-select> -->
               </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
                   type="primary"
                   plain
                   @click="ShowDetailDialog(scope, 'expert')"
-                  >{{ scope.row.beneficiaryname }}</el-button
+                  >{{
+                    scope.row.beneficiaryname
+                      ? scope.row.beneficiaryname
+                      : "鐐瑰嚮閫夋嫨"
+                  }}</el-button
                 >
                 <!-- <el-select
                   v-model="scope.row.unitno"
@@ -756,7 +796,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"
@@ -844,7 +884,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
@@ -869,7 +909,7 @@
                 ref="beneficiaryname"
                 default-first-option
                 @change="bbaaccss"
-                v-model="Personnelforname"
+                v-model="funddetailForm.beneficiaryname"
                 placeholder="璇烽�夋嫨"
                 style="width: 100%"
               >
@@ -886,7 +926,7 @@
           <el-col :span="24" v-if="experthear == 'expert'">
             <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px">
               <el-select
-                v-model="unitforname"
+                v-model="funddetailForm.beneficiaryname"
                 placeholder="鍗曚綅鍚嶇О"
                 @change="bbaaccss"
                 clearable
@@ -905,7 +945,7 @@
           </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
@@ -934,7 +974,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="韬唤璇佸彿"
@@ -960,7 +1000,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="鍗曚綅鍚嶇О"
@@ -984,7 +1024,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="寮�鎴烽摱琛�"
@@ -1026,6 +1066,85 @@
       :visible.sync="pdfVisible"
       width="60%"
     >
+      <div>
+        <el-table :data="tableDatatop" style="width: 100%">
+          <el-table-column
+            v-if="businessType == 4"
+            prop="price"
+            align="center"
+            label="鍗曚环"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="quantity"
+            align="center"
+            label="鏁伴噺"
+            v-if="businessType == 4"
+          >
+          </el-table-column>
+          <el-table-column prop="amount" align="center" :label="amountLabel">
+          </el-table-column>
+          <el-table-column
+            prop="taxedamount"
+            align="center"
+            label="绋庡悗閲戦"
+            v-if="
+              (this.ismanager == true) &
+                (form.applytype == '1' || form.applytype == '2')
+            "
+          >
+          </el-table-column>
+          <el-table-column
+            prop="beneficiaryname"
+            align="center"
+            label="濮撳悕"
+            v-if="form.applytype == '1' || form.applytype == '2'"
+          >
+          </el-table-column>
+
+          <el-table-column
+            prop="unitno"
+            align="center"
+            label="鍗曚綅鍚嶇О"
+            width="250"
+            v-if="form.applytype != '4'"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="beneficiaryname"
+            align="center"
+            label="鍗曚綅/涓汉"
+            width="250"
+            v-if="form.applytype == '4'"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="title"
+            align="center"
+            label="鑱岀О"
+            width="120"
+            v-if="form.applytype == '1' || form.applytype == '2'"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="idcardno"
+            align="center"
+            label="韬唤璇佸彿"
+            width="200"
+            v-if="form.applytype == '1' || form.applytype == '2'"
+          >
+          </el-table-column>
+          <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�">
+          </el-table-column>
+          <el-table-column
+            prop="bankcardno"
+            align="center"
+            label="閾惰甯愬彿"
+            width="210"
+          >
+          </el-table-column>
+        </el-table>
+      </div>
       <div class="pdfimg">
         <div class="box-pdf">
           <div>
@@ -1172,7 +1291,7 @@
       </div>
 
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button>
       </span>
     </el-dialog>
@@ -1203,6 +1322,7 @@
   checkfund,
   getdownloadBX,
   addorupdateFund,
+  ManualCalculation,
   getdetailsByItemId
 } from "@/api/project/fund";
 
@@ -1245,6 +1365,8 @@
   updateExternalperson,
   exportExternalperson
 } from "@/api/project/externalperson";
+
+import { listItemexpense } from "@/api/project/itemexpense";
 
 import { getUserProfile } from "@/api/system/user";
 import Li_area_select from "@/components/Address";
@@ -1323,8 +1445,8 @@
       cityOptions: [],
       checkAll: false,
       checkedCities: [],
-      Personnelforname: "璇烽�夋嫨",
-      unitforname: "璇烽�夋嫨",
+      Personnelforname: null,
+      unitforname: null,
       isIndeterminate: true,
 
       //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
@@ -1342,6 +1464,7 @@
       totalPreTaxAmount: 0.0,
       totalAfterTaxAmount: 0.0,
       totalAmount: 0.0,
+      tableDatatop: [],
 
       //璐圭敤绫诲瀷鏁扮粍
       feeItemTypes: [],
@@ -1350,7 +1473,7 @@
       rowfeeItemTypes: [],
 
       //璐圭敤璇存槑
-      rowfeeblocks: [],
+      feeBlocks: [],
 
       fundflowList: [],
       // 闅忔満鏁�
@@ -1465,6 +1588,16 @@
         startTime: ""
       },
 
+      //鏈嶅姟璐圭敤鍙傛暟
+      expenseQueryParams: {
+        pageNum: 1,
+        pageSize: 10000,
+        itemid: null,
+        expense: null,
+        expensedescribe: null,
+        usestate: null
+      },
+
       //闄勪欢鍒楄〃
       fileList: [],
       fileListto: [],
@@ -1495,10 +1628,7 @@
   watch: {},
   //鏂规硶闆嗗悎
   methods: {
-    bbaaccss(val) {
-      console.log(val);
-      console.log(this.funddetailForm);
-    },
+    bbaaccss(val) {},
     // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず
     beforeunloadHandler(e) {
       if (
@@ -1507,7 +1637,6 @@
             sessionStorage.getItem("apifunddetail")) ||
         !sessionStorage.getItem("apifunddetail")
       ) {
-        console.log(cg);
       } else {
         this._beforeUnload_time = new Date().getTime();
         e = e || window.event;
@@ -1573,7 +1702,6 @@
       if (string.includes("9091")) {
         const index = string.indexOf("9091");
         this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃
-        // console.log(this.Networkheader);
       } else {
         const index = string.indexOf("8032");
         this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃
@@ -1601,6 +1729,7 @@
       } else if (this.businessType == "3") {
         this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
+        this.getUnitList();
       } else if (this.businessType == "4") {
         this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
@@ -1613,7 +1742,6 @@
         this.title = this.businessName + "鏂板缓";
         if (this.operationType != "4") {
           this.curCase = this.$route.query.curCase;
-          console.log("this.curCase", this.curCase);
         }
         this.handleAdd();
       } else if (this.operationType == "update") {
@@ -1679,29 +1807,14 @@
           if (this.rbDetails.length > 0) {
             for (let m = 0; m < this.rbDetails.length; m++) {
               this.rbDetails[m].itemlist = [];
-              this.getFeeItems(m, this.rbDetails[m]);
+              this.getRowFeeItems(m, this.rbDetails[m]);
 
               //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
-              this.rbDetails[m].rowfeeblocks = [];
-              this.rbDetails[m].rowfeeblocks.push({
-                servicesscope: this.rbDetails[m].servicesscope,
-                expensedescribe: this.rbDetails[m].servicesscopename,
-                expense: this.rbDetails[m].expense,
-                remark: this.rbDetails[m].servicesscopename
-              });
-              // getdetailsByItemId(this.rbDetails[m].itemid).then((res) => {
-              //   let fundmsg = res.data;
-              //   fundmsg.forEach((item) => {
-              //     this.rbDetails[m].rowfeeblocks.push({
-              //       servicesscope: item.id,
-              //       expensedescribe: item.expensedescribe,
-              //       expense: item.expense,
-              //       remark: item.expensedescribe,
-              //     });
-              //   });
-              // });
+              this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
+                r => r.itemid == this.rbDetails[m].itemid
+              );
             }
-            console.log("yeil");
+
             sessionStorage.removeItem("apifunddetail");
             sessionStorage.setItem(
               "apifunddetail",
@@ -1718,7 +1831,6 @@
         listFundflow(listFundflowparams).then(res => {
           this.fundflowList = res.rows;
         });
-        console.log(this.fundflowList);
       });
     },
 
@@ -1730,27 +1842,26 @@
       getFund(this.curId).then(response => {
         this.form = response.data;
         sessionStorage.removeItem("apiform");
-
         sessionStorage.setItem("apiform", JSON.stringify(this.form));
-
-        console.log("response.data", response.data);
         //闄勪欢澶勭悊
         // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
 
         //涓氬姟鏄庣粏
         getownFundDetail(this.curId).then(res => {
           this.rbDetails = res.data;
+          console.log("this.feeBlocks", this.feeBlocks);
           for (let m = 0; m < this.rbDetails.length; m++) {
             this.rbDetails[m].itemlist = [];
-            this.getFeeItems(m, this.rbDetails[m]);
+            this.getRowFeeItems(m, this.rbDetails[m]);
 
-            this.rbDetails[m].rowfeeblocks = [];
-            this.rbDetails[m].rowfeeblocks.push({
-              servicesscope: this.rbDetails[m].servicesscope,
-              expensedescribe: this.rbDetails[m].servicesscopename,
-              expense: this.rbDetails[m].expense,
-              remark: this.rbDetails[m].servicesscopename
-            });
+            //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+            this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
+              r => r.itemid == this.rbDetails[m].itemid
+            );
+            console.log(
+              "this.rbDetails[m].rowfeeblocks",
+              this.rbDetails[m].rowfeeblocks
+            );
           }
 
           if (this.rbDetails.length == 0) {
@@ -1788,15 +1899,12 @@
           this.rbDetails = res.data;
           for (let m = 0; m < this.rbDetails.length; m++) {
             this.rbDetails[m].itemlist = [];
-            this.getFeeItems(m, this.rbDetails[m]);
+            this.getRowFeeItems(m, this.rbDetails[m]);
 
-            this.rbDetails[m].rowfeeblocks = [];
-            this.rbDetails[m].rowfeeblocks.push({
-              servicesscope: this.rbDetails[m].servicesscope,
-              expensedescribe: this.rbDetails[m].servicesscopename,
-              expense: this.rbDetails[m].expense,
-              remark: this.rbDetails[m].servicesscopename
-            });
+            //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+            this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
+              r => r.itemid == this.rbDetails[m].itemid
+            );
           }
 
           if (this.rbDetails.length == 0) {
@@ -1824,8 +1932,6 @@
         })
         .then(() => {
           getownFundDetail(this.curId).then(res => {
-            console.log(res);
-
             let listdetails = res.data;
             for (let i = 0; i < listdetails.length; i++) {
               delFunddetail(listdetails[i].id);
@@ -1888,7 +1994,7 @@
         this.randomnumber = this.generateRandomString(9);
         this.form.randomnumber = this.randomnumber;
       }
-      console.log(this.randomnumber);
+
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.formData = this.form;
@@ -1918,10 +2024,7 @@
                 return;
               }
 
-              if (
-                tempDetail.beneficiaryno == null ||
-                tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨"
-              ) {
+              if (tempDetail.beneficiaryno == null) {
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                     (k + 1).toString() +
@@ -2074,7 +2177,6 @@
           this.rbDetails.map(item => {
             this.form.serviceFunddetails += item.amount;
           });
-          console.log(this.rbDetails);
           this.form.serviceFunddetails = this.rbDetails;
 
           if (this.form.id != null) {
@@ -2165,7 +2267,7 @@
         } else {
           this.ismanager = false;
         }
-        console.log(this.userprofile, this.ismanager);
+
         if (this.operationType == "add") {
           this.form.username = this.userprofile.nickName;
           this.form.userno = this.userprofile.userName;
@@ -2248,16 +2350,13 @@
 
     //鑾峰彇璐圭敤鏈烘瀯鍒楄〃
     getFeeUnitList() {
-      console.log("鍗曚綅");
       listReportname("org").then(res => {
         this.feeUnitList = res.data;
       });
-      console.log(this.feeUnitList);
     },
 
     //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃
     getUnitList() {
-      console.log("鍖荤枟鏈烘瀯");
       listOrganization(3).then(response => {
         for (let i = 0; i < response.rows.length; i++) {
           this.unitList.push({
@@ -2265,7 +2364,6 @@
             organizationid: response.rows[i].id,
             organizationname: response.rows[i].organizationname
           });
-          console.log(this.unitList);
         }
       });
     },
@@ -2280,11 +2378,15 @@
       });
     },
 
-    //鑾峰彇璐圭敤绫诲瀷
+    //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�佹湇鍔¤鏄�
     getFeeTypes() {
+      //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�
       getFundTypeAll(this.businessType).then(res => {
         let dataList = res.data;
+        //鑾峰彇鏈嶅姟璐圭敤鏈嶅姟椤圭洰
         this.feeItemTypes = dataList;
+
+        //鑾峰彇鏈嶅姟璐圭敤绫诲瀷
         this.rowfeeItemTypes = [];
         for (let m = 0; m < dataList.length; m++) {
           this.rowfeeItemTypes.push({
@@ -2295,18 +2397,30 @@
           });
         }
       });
+
+      //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃
+      if (this.businessType == "1" || this.businessType == "2") {
+        this.loading = true;
+        listItemexpense(this.expenseQueryParams).then(response => {
+          response.rows.forEach(item => {
+            this.feeBlocks.push({
+              servicesscope: JSON.stringify(item.id),
+              itemid: item.itemid,
+              expense: item.expense,
+              expensedescribe: item.expensedescribe,
+              remark: item.expensedescribe
+            });
+          });
+          this.loading = false;
+        });
+      }
     },
 
-    getFeeItems(rowindex, row) {
+    //鑾峰彇鏈嶅姟椤圭洰
+    getRowFeeItems(rowindex, row) {
       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
       row.itemlist = list[0].itemDetails;
       this.$set(this.rbDetails, rowindex, row);
-      //this.loading = true;
-      // getItemNames(row.applytype).then((res) => {
-      //   this.loading = false;
-      //   row.itemlist = res.data;
-      //   this.$set(this.rbDetails, rowindex, row);
-      // });
     },
 
     //鍔犺浇鏈嶅姟椤圭洰
@@ -2315,13 +2429,6 @@
       row.itemlist = list[0].itemDetails;
       row.itemid = null;
       this.$forceUpdate();
-      //this.loading = true;
-      // getItemNames(row.applytype).then((res) => {
-      //   this.loading = false;
-      //   row.itemid = null;
-      //   row.itemlist = res.data;
-      //   this.$forceUpdate();
-      // });
     },
 
     //鑾峰彇璐圭敤椤圭洰鐨勫娉ㄤ俊鎭�
@@ -2335,20 +2442,20 @@
             row.taxedamount = item.expense;
 
             //璁$畻绋庡墠閲戦
-            this.calculateTax(row, "B");
+            // this.calculateTax(row, "B");
           } else {
             row.amount = item.expense;
             row.taxamount = 0.0;
             row.taxedamount = 0.0;
 
             //璁$畻绋庡悗閲戦
-            this.calculateTax(row, "A");
+            // this.calculateTax(row, "A");
           }
 
-          this.form.serviceFunddetails = 0;
-          this.rbDetails.map(item => {
-            this.form.serviceFunddetails += item.amount;
-          });
+          // this.form.serviceFunddetails = 0;
+          // this.rbDetails.map(item => {
+          //   this.form.serviceFunddetails += item.amount;
+          // });
         }
       });
     },
@@ -2376,22 +2483,28 @@
       }
 
       //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
-      getdetailsByItemId(row.itemid).then(res => {
-        let fundmsg = res.data;
-        let rowfeeblocks = [];
-        fundmsg.forEach(item => {
-          rowfeeblocks.push({
-            expense: item.expense,
-            expensedescribe: item.expensedescribe,
-            remark: item.expensedescribe,
-            servicesscope: item.id
-          });
-        });
-
-        row.rowfeeblocks = rowfeeblocks;
+      if (this.businessType == "1") {
         row.servicesscope = null;
         row.servicesscopename = "";
-      });
+        row.amount = 0.0;
+        row.taxamount = 0.0;
+        row.taxedamount = 0.0;
+
+        row.rowfeeblocks = this.feeBlocks.filter(r => r.itemid == row.itemid);
+        if (row.rowfeeblocks.length == 1) {
+          row.servicesscope = row.rowfeeblocks[0].servicesscope;
+          row.servicesscopename = row.rowfeeblocks[0].expensedescribe;
+          if (row.servicesscopename.includes("绋庡悗")) {
+            row.amount = 0.0;
+            row.taxamount = 0.0;
+            row.taxedamount = row.rowfeeblocks[0].expense;
+          } else {
+            row.amount = row.rowfeeblocks[0].expense;
+            row.taxamount = 0.0;
+            row.taxedamount = 0.0;
+          }
+        }
+      }
     },
 
     //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰
@@ -2415,9 +2528,10 @@
         });
       }
     },
+
     //鍚堣璐圭敤
     selectamount(row) {
-      this.rowfeeblocks.forEach((item, i) => {
+      this.feeBlockList.forEach((item, i) => {
         if (item.expense === row.amount) {
           row.remark = item.expensedescribe;
         }
@@ -2446,30 +2560,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);
+      //     }
+      //   });
+      // }
     },
 
     //瀵煎叆鎵�鏈夐」鐩�
@@ -2496,31 +2620,38 @@
               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,
               servicesscopename: ""
             };
 
-            //鑾峰彇鏀惰垂椤圭洰鐨勮鏄庝俊鎭�
-            getdetailsByItemId(rowData.itemid).then(res => {
-              let fundmsg = res.data;
-              let rowfeeblocks = [];
-              fundmsg.forEach(item => {
-                rowfeeblocks.push({
-                  expense: item.expense,
-                  expensedescribe: item.expensedescribe,
-                  remark: item.expensedescribe,
-                  servicesscope: item.id
-                });
-              });
+            //鑾峰彇鏈嶅姟璇存槑淇℃伅
+            rowData.servicesscope = null;
+            rowData.servicesscopename = "";
+            rowData.amount = 0.0;
+            rowData.taxamount = 0.0;
+            rowData.taxedamount = 0.0;
 
-              rowData.rowfeeblocks = rowfeeblocks;
-              rowData.servicesscope = null;
-              rowData.servicesscopename = "";
-            });
+            rowData.rowfeeblocks = this.feeBlocks.filter(
+              r => r.itemid == rowData.itemid
+            );
+            if (rowData.rowfeeblocks.length == 1) {
+              rowData.servicesscope = rowData.rowfeeblocks[0].servicesscope;
+              rowData.servicesscopename =
+                rowData.rowfeeblocks[0].expensedescribe;
+              if (rowData.servicesscopename.includes("绋庡悗")) {
+                rowData.amount = 0.0;
+                rowData.taxamount = 0.0;
+                rowData.taxedamount = rowData.rowfeeblocks[0].expense;
+              } else {
+                rowData.amount = rowData.rowfeeblocks[0].expense;
+                rowData.taxamount = 0.0;
+                rowData.taxedamount = 0.0;
+              }
+            }
 
             listAdd.push(rowData);
           }
@@ -2528,16 +2659,6 @@
       }
       this.rbDetails = listAdd;
       this.loading = false;
-      // let Outerarr = this.rbDetails;
-      // Outerarr.map((res) => {
-      //   let onelist = this.rowfeeItemTypes;
-      //   onelist.map((item) => {
-      //     //绗竴灞備笉鐩哥瓑鏃讹紱
-      //     if (res.applytype !== item.itemType) {
-      //       this.addRow();
-      //     }
-      //   });
-      // });
     },
 
     unsave() {
@@ -2582,10 +2703,7 @@
                 return;
               }
 
-              if (
-                tempDetail.beneficiaryno == null ||
-                tempDetail.beneficiaryno == "鐐瑰嚮閫夋嫨"
-              ) {
+              if (tempDetail.beneficiaryno == null) {
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                     (k + 1).toString() +
@@ -2666,7 +2784,7 @@
                 }
               });
             }
-
+   
             // 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰�
             if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
               //鑾峰彇鍙傛暟
@@ -2738,7 +2856,6 @@
           this.rbDetails.map(item => {
             this.form.serviceFunddetails += item.amount;
           });
-          console.log(this.rbDetails);
           this.form.serviceFunddetails = this.rbDetails;
 
           if (this.form.id != null) {
@@ -2789,24 +2906,40 @@
       });
     },
     handleCheckAllChange(val) {
-      console.log(val);
       this.checkedCities = val ? this.cityOptions : [];
       this.isIndeterminate = false;
     },
     handleCheckedCitiesChange(value) {
-      console.log(value);
-      console.log(this.checkedCities);
       let checkedCount = value.length;
-      console.log(checkedCount);
       this.checkAll = checkedCount === this.cityOptions.length;
       this.isIndeterminate =
         checkedCount > 0 && checkedCount < this.cityOptions.length;
+    },
+    // 鎵嬪姩璁$畻
+    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: "鐢宠澶辫触"
+          // });
+        }
+      });
     },
     // 鎵归噺褰曞叆鐐瑰嚮
     Batchentry() {
       // ethical
       listReportname("ethical").then(res => {
-        console.log(res);
         this.cityOptions = res.data;
       });
       this.batchdialogVisible = true;
@@ -2814,13 +2947,11 @@
     // 纭褰曞叆
     BatchentryFn() {
       this.checkedCities.forEach(item => {
-        console.log(item);
         let rowData = {
           orderno: null,
-          id: item.id,
           fundid: null,
           beneficiaryname: item.reportName,
-          beneficiaryno: null,
+          beneficiaryno: item.reportNo,
           unitname: item.unitname,
           unitno: null,
           uintuserno: null,
@@ -2835,11 +2966,13 @@
           branchbankname: item.branchbankname,
           annexbankcard: null,
           annexregistform: null,
-          applytype: "浼︾悊瀹℃牳涓撳璐�",
-          itemid: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�",
-          itemname: null,
+          applytype: "7",
+          applytypename: "浼︾悊瀹℃牳涓撳璐�",
+          itemid: "27",
+          itemcode: "27",
+          itemname: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�",
           itemtype: null,
-          amount: null,
+          amount: 200,
           prepaidamount: null,
           taxamount: null,
           invoicecount: null,
@@ -2854,18 +2987,18 @@
           updateTime: null,
           uploadflag: null,
           uploadtime: null,
-          itemlist: [],
+          itemlist: [{ id: "27", itemName: "鍣ㄥ畼鎹愮尞浼︾悊瀹℃牳涓撳璐�" }],
           servicesscope: null,
           rowfeeblocks: [],
           annexfiles: null
         };
 
-        console.log(rowData);
         this.rbDetails.push(rowData);
       });
       for (let i = 0; i < this.checkedCities.length + 1; i++) {
         this.rbDetails[i].orderno = i + 1;
       }
+      this.calculateTax();
       this.batchdialogVisible = false;
     },
     //鏂板涓�琛�
@@ -2874,9 +3007,9 @@
         orderno: null,
         id: null,
         fundid: null,
-        beneficiaryname: "鐐瑰嚮閫夋嫨",
+        beneficiaryname: null,
         beneficiaryno: null,
-        unitname: "鐐瑰嚮閫夋嫨",
+        unitname: null,
         unitno: null,
         uintuserno: null,
         title: null,
@@ -2893,6 +3026,7 @@
         applytype: null,
         itemid: null,
         itemname: null,
+        itemcode: null,
         itemtype: null,
         amount: null,
         prepaidamount: null,
@@ -2937,9 +3071,7 @@
         type: "success"
       })
         .then(() => {
-          console.log(this.rbDetails.length);
           if (this.rbDetails.length == 1) {
-            console.log("鏂板");
             this.addRow(0);
           }
           if (row.id !== null) {
@@ -2952,9 +3084,10 @@
                 }).then(() => {
                   this.$set(rows, rows.splice(index, 1));
                   getownFundDetail(this.form.id).then(res => {
-                    console.log(res);
-
                     this.$set(this.rbDetails, res.data);
+                    for (let i = 0; i < this.rbDetails.length; i++) {
+                      this.rbDetails[i].orderno = i + 1;
+                    }
                     this.sumTotalFee();
                     // this.rbDetails = res.data
                   });
@@ -3085,7 +3218,6 @@
     //     this.$modal.msgSuccess(response.msg);
     //     this.fileList.push({ name: response.fileName, url: response.fileName });
     //   } else {
-    //     console.log(response.msg);
     //   }
     // },
     uploadSccess(response, file, fileList) {
@@ -3101,16 +3233,21 @@
         this.pdfimgsrcList.push(
           this.Networkheader + "/prod-api" + response.fileName
         );
+        this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
+
         this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
 
         this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
       } else {
-        console.log(response.msg);
       }
     },
 
     // 鐐瑰嚮绁ㄦ嵁
     Filepopup(index, rows, row) {
+      this.tableDatatop = [];
+      this.pdfimgsrcList = [];
+      this.tableDatatop.push(row);
+
       this.atpresent = index;
       this.pdfVisible = true;
       if (this.rbDetails[index].annexfilesList) {
@@ -3118,12 +3255,10 @@
         this.fileListto = this.rbDetails[index].annexfilesList;
         this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
         // this.pdfimg = this.fileListto[0].url;
-        this.pdfimgsrcList = [];
         this.fileListto.forEach(item => {
           this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
         });
-        console.log(this.pdfimgsrcList);
-        console.log(this.pdfimg);
+        this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
       } else {
         this.fileListto = [];
         this.pdfimg = "";
@@ -3133,8 +3268,8 @@
 
     // 鐐瑰嚮宸蹭笂浼犳枃浠�
     downFile(item) {
-      console.log(item);
-      this.pdftitle = item.name;
+      this.pdftitle =
+        "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name;
       let name = item.name.split(".");
       if (name[1] == "pdf") {
         this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
@@ -3147,10 +3282,7 @@
 
           // if (!this.pdfimgsrcList.includes(this.pdfimg)) {
           //   this.pdfimgsrcList.push(this.pdfimg);
-          //   console.log("鍔犲叆");
           // }
-          console.log(this.pdfimg);
-          console.log(this.pdfimgsrcList, "imglist");
         } else {
           this.pdfimg = this.Networkheader + "/prod-api" + item.url;
         }
@@ -3165,18 +3297,13 @@
     },
     // 鐐瑰嚮鍒犻櫎
     deletedowfile(row) {
-      console.log(this.fileListto);
-      console.log(row);
       const indexlist = this.getIndexInArray(
         this.pdfimgsrcList,
         this.Networkheader + "/prod-api" + row.url
       );
-      console.log(indexlist);
       this.pdfimgsrcList.splice(indexlist, 1);
       const index = this.getIndexInArray(this.fileListto, row);
       this.fileListto.splice(index, 1);
-      console.log(index);
-      console.log(this.pdfimgsrcList);
     },
     // 鐐瑰嚮涓婄Щ
     moveupdowfile(row) {
@@ -3187,18 +3314,16 @@
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
     ShowDetailDialog(spoce, showType) {
       this.spocewl = spoce;
-      console.log(spoce);
       this.selectionType = showType;
-      if (this.businessType == 4 || !showType) {
+      if (this.businessType == 4 || this.businessType == 3 || !showType) {
         this.selectionType = this.experthear;
-        console.log(this.selectionType);
       }
       // if (!showType) {
       //   this.selectionType = this.experthear;
 
       // }
       this.expertfrom = "1";
-
+      console.log(spoce);
       this.funddetailForm.index = spoce.$index;
       this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
       this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
@@ -3217,23 +3342,23 @@
 
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
     ConfirmDetailDialog() {
-      console.log(this.unitforname);
-      console.log(this.Personnelforname);
-      if (this.experthear == "expert") {
-        this.funddetailForm.beneficiaryname = this.unitforname;
-      } else {
-        console.log(11);
-        this.funddetailForm.beneficiaryname = this.Personnelforname;
-        console.log(this.funddetailForm.beneficiaryname);
-      }
-      console.log(this.funddetailForm);
+      // 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];
-      console.log(tempExpertName);
 
-      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 => {
@@ -3333,7 +3458,6 @@
             let unitIndex = this.feeUnitList.findIndex(
               item => singleDetail.unitno == item.reportNo
             );
-
             if (unitIndex > -1) {
               singleDetail.unitname = this.feeUnitList[unitIndex].reportName;
               singleDetail.depositbank = this.feeUnitList[
@@ -3352,11 +3476,9 @@
       // if (this.experthear == "unit") {
       //   singleDetail.unitname = "";
       // }
-      if (this.businessType == 4) {
+      if (this.businessType == 4 || this.businessType == 3) {
         singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
       }
-      console.log(singleDetail);
-      console.log(this.funddetailForm);
       this.rbDetails[tempIndex] = singleDetail;
       this.showSelectionDialog = false;
     }
@@ -3378,8 +3500,6 @@
     this.getUserProfile();
     let apifunddetailForm = this.funddetailForm;
     let apiform = this.form;
-    console.log(apiform);
-    console.log(apifunddetailForm);
 
     // this.getFeeUnitList();
   },
@@ -3405,7 +3525,6 @@
 
     .top-text {
       text-align: center;
-
       font-size: 23px;
       font-weight: 600;
       margin: 20px 0;
@@ -3468,10 +3587,12 @@
   line-height: 36px;
   text-align: center;
 }
+
 ::v-deep .el-alert__title {
   font-size: 25px;
   line-height: 25px;
 }
+
 ::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered {
   margin-left: 0 !important;
   margin-bottom: 10px;

--
Gitblit v1.9.3