From 4f9b729dac1bc53bb1d0ddf43cf8c60ff5cdd8b7 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 07 九月 2023 16:28:35 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue |  611 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 479 insertions(+), 132 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index f867ecc..75c043e 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -72,7 +72,7 @@
               }}</el-radio>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <!-- <el-col :span="5">
             <el-form-item label="閾惰鍚嶇О" prop="bankname">
               <el-input v-model="form.bankname" placeholder="璇疯緭鍏ラ摱琛屽悕绉�" />
             </el-form-item> </el-col
@@ -83,10 +83,28 @@
                 placeholder="璇疯緭鍏ラ摱琛岃处鍙�"
               />
             </el-form-item>
-          </el-col>
+          </el-col> -->
           <el-col :span="5">
             <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
               <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鎹愮尞鑰�" prop="name">
+              <el-input
+                :disabled="true"
+                v-model="form.donorname"
+                placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鐢宠閲戦" prop="pretaxcost">
+              <el-input
+                v-model="form.pretaxcost"
+                placeholder="绋庡墠閲戦鍚堣"
+                :disabled="true"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -98,15 +116,7 @@
             </el-form-item>
           </el-col>
           -->
-          <el-col :span="5">
-            <el-form-item label="鐢宠閲戦" prop="pretaxcost">
-              <el-input
-                v-model="form.pretaxcost"
-                placeholder="绋庡墠閲戦鍚堣"
-                :disabled="true"
-              />
-            </el-form-item>
-          </el-col>
+
           <!--
           <el-col :span="5">
             <el-form-item label="搴旂即绋�" prop="taxcost" v-if="businessType == '1' || businessType == '2'">
@@ -123,15 +133,7 @@
               <el-input v-model="form.remark" placeholder="鐢宠璇存槑" />
             </el-form-item>
           </el-col>
-          <el-col :span="5">
-            <el-form-item label="鎹愮尞鑰�" prop="name">
-              <el-input
-                :disabled="true"
-                v-model="form.donorname"
-                placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
-              />
-            </el-form-item>
-          </el-col>
+
           <!-- 
           <el-col :span="5">
             <el-form-item label="鐢宠鐘舵��" prop="recordstatus">
@@ -154,10 +156,21 @@
             </el-button>
           </el-col>
         </el-row>
+        <el-row v-if="jurisdiction">
+          <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning">
+          </el-alert> -->
+          <el-alert
+            title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��"
+            type="warning"
+            show-icon
+          >
+          </el-alert>
+        </el-row>
         <el-row>
           <el-table
             :data="rbDetails"
             v-loading="loading"
+            max-height="800"
             border
             highlight-current-row
           >
@@ -165,7 +178,7 @@
               prop="orderno"
               align="center"
               label="搴忓彿"
-              width="65"
+              width="88"
             >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
@@ -301,7 +314,15 @@
                     :value="dict.expense"></el-option>
                 </el-select>
               -->
-                <el-input v-model="scope.row.amount" placeholder="閲戦" />
+                <el-input
+                  v-model="scope.row.amount"
+                  placeholder="閲戦"
+                  @blur="
+                    val => {
+                      calculateTax(scope.row, 'A');
+                    }
+                  "
+                />
               </template>
             </el-table-column>
             <el-table-column
@@ -318,6 +339,11 @@
                 <el-input
                   v-model="scope.row.taxedamount"
                   placeholder="绋庡悗閲戦"
+                  @blur="
+                    val => {
+                      calculateTax(scope.row, 'B');
+                    }
+                  "
                 />
               </template>
             </el-table-column>
@@ -359,6 +385,7 @@
               align="center"
               label="鍗曚綅鍚嶇О"
               width="250"
+              v-if="form.applytype != '4'"
             >
               <template slot-scope="scope">
                 <el-button
@@ -366,6 +393,40 @@
                   plain
                   @click="ShowDetailDialog(scope, 'unit')"
                   >{{ 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"
+              align="center"
+              label="鍗曚綅/涓汉"
+              width="250"
+              v-if="form.applytype == '4'"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  type="primary"
+                  plain
+                  @click="ShowDetailDialog(scope, 'expert')"
+                  >{{
+                    experthear == "expert"
+                      ? scope.row.unitname
+                      : scope.row.beneficiaryname
+                  }}</el-button
                 >
                 <!-- <el-select
                   v-model="scope.row.unitno"
@@ -410,8 +471,8 @@
               align="center"
               label="寮�鎴烽摱琛�"
               width="200"
-              v-if="form.applytype != '4'"
             >
+              <!-- v-if="form.applytype != '4'" -->
               <template slot-scope="scope">
                 <el-input
                   v-model="scope.row.depositbank"
@@ -424,7 +485,6 @@
               align="center"
               label="閾惰甯愬彿"
               width="210"
-              v-if="form.applytype != '4'"
             >
               <template slot-scope="scope">
                 <el-input
@@ -433,9 +493,19 @@
                 />
               </template>
             </el-table-column>
-            <el-table-column prop="remark" align="center" label="澶囨敞">
+            <el-table-column
+              prop="remark"
+              align="center"
+              width="330"
+              label="澶囨敞"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.remark" placeholder="澶囨敞" />
+                <el-input
+                  type="textarea"
+                  :rows="2"
+                  v-model="scope.row.remark"
+                  placeholder="澶囨敞"
+                />
               </template>
             </el-table-column>
             <el-table-column
@@ -536,9 +606,10 @@
                 size="mini"
                 class="upload-demo"
                 :action="uploadFileUrl"
-                :file-list="fileList"
+                :file-list="fileListto"
+                :show-file-list="false"
                 multiple
-                :limit="20"
+                drag
                 :headers="headers"
                 :on-success="
                   (response, file, fileList) =>
@@ -547,21 +618,72 @@
                 :on-preview="downFile"
                 :disabled="operationType == 'detail'"
                 :on-error="handleUploadError"
-                :on-exceed="handleExceed"
                 :on-remove="remove"
                 accept="image/*,.pdf"
               >
-                <el-button
-                  :disabled="operationType == 'detail'"
-                  size="small"
-                  type="primary"
-                  >涓婁紶绁ㄦ嵁</el-button
-                >
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">
+                  灏嗙エ鎹嫋鍒版澶勶紝鎴�
+                  <em
+                    ><el-button
+                      :disabled="operationType == 'detail'"
+                      size="small"
+                      type="primary"
+                      >鐐瑰嚮涓婁紶</el-button
+                    ></em
+                  >
+                </div>
               </el-upload>
+              <el-table
+                :data="fileListto"
+                @row-click="downFile"
+                style="width: 100%"
+                height="400"
+              >
+                <el-table-column
+                  prop="name"
+                  :show-overflow-tooltip="true"
+                  label="鍚嶇О"
+                >
+                  <template slot-scope="scope">
+                    <i style="color:#409EFF" class=" el-icon-s-order" />{{
+                      scope.row.name
+                    }}
+                  </template>
+                </el-table-column>
+
+                <el-table-column
+                  prop="name"
+                  width="180"
+                  :show-overflow-tooltip="true"
+                  label="鍔熻兘"
+                >
+                  <template slot-scope="scope">
+                    <el-button
+                      type="primary"
+                      size="mini"
+                      @click.native.prevent.stop="deletedowfile(scope.row)"
+                      >鍒犻櫎</el-button
+                    >
+                    <el-button
+                      type="primary"
+                      size="mini"
+                      @click.native.prevent.stop="moveupdowfile(scope.row)"
+                      >涓婄Щ</el-button
+                    >
+                  </template>
+                </el-table-column>
+              </el-table>
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="operationType == 'detail' || operationType == 'check'">
+        <el-row
+          v-if="
+            operationType == 'detail' ||
+              operationType == 'check' ||
+              operationType == 'update'
+          "
+        >
           <el-table :data="fundflowList" border>
             <el-table-column
               label="瀹℃牳鏃ユ湡"
@@ -621,7 +743,7 @@
           v-if="
             operationType == 'add' ||
               operationType == 'update' ||
-              operationType == 'check'
+              ismanager == true
           "
           >鎻愪氦淇濆瓨</el-button
         >
@@ -638,14 +760,17 @@
     <el-dialog
       :visible.sync="showSelectionDialog"
       :close-on-click-modal="false"
-      :title="'鍗曚綅/涓撳淇℃伅閫夋嫨'"
+      :title="'鍗曚綅/涓汉淇℃伅閫夋嫨'"
       width="500px"
       style="text-align: center"
       v-loading="loading"
     >
       <el-form ref="funddetailForm" :model="funddetailForm">
-        <el-row>
-          <el-col :span="24" v-if="selectionType == 'expert'">
+        <el-row v-if="businessType != 4">
+          <el-col
+            :span="24"
+            v-if="selectionType == 'expert' && businessType != 4"
+          >
             <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="expertfrom">
               <el-radio-group v-model="expertfrom" style="margin-bottom: 0">
                 <el-radio label="1">涓撳搴�</el-radio>
@@ -708,7 +833,7 @@
               label="鍙戠エ鍗曚綅鍚嶇О"
               prop="unitno"
               label-width="120px"
-              v-if="businessType == 3 || businessType == 4"
+              v-if="businessType == 3"
             >
               <el-select
                 v-model="funddetailForm.unitno"
@@ -728,7 +853,69 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row>
+
+        <el-row v-if="businessType == 4">
+          <el-col :span="24">
+            <el-form-item label="璇烽�夋嫨涓撳淇℃伅锛�" prop="experthear">
+              <el-radio-group
+                @change="ShowDetailDialog(spocewl)"
+                v-model="experthear"
+                style="margin-bottom: 0"
+              >
+                <el-radio label="unit">浜哄憳閫夐」</el-radio>
+                <el-radio label="expert">鍗曚綅閫夐」</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-if="experthear == 'unit'">
+            <el-form-item
+              label="浜哄憳濮撳悕"
+              prop="beneficiaryname"
+              label-width="80px"
+            >
+              <el-select
+                filterable
+                allow-create
+                ref="beneficiaryname"
+                default-first-option
+                @change="bbaaccss"
+                v-model="funddetailForm.beneficiaryname"
+                placeholder="璇烽�夋嫨"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in expertlist"
+                  :key="item.expertNo"
+                  :label="item.exportName"
+                  :value="item.exportName"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24" v-if="experthear == 'expert'">
+            <el-form-item label="鍗曚綅鍚嶇О" prop="unitno" label-width="120px">
+              <el-select
+                v-model="funddetailForm.unitname"
+                placeholder="鍗曚綅鍚嶇О"
+                @change="bbaaccss"
+                clearable
+                filterable
+                allow-create
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="(spec, index) in unitList"
+                  :key="index"
+                  :label="spec.organizationname"
+                  :value="spec.organizationname"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row v-if="businessType != 4">
           <el-col :span="12" v-if="expertfrom == '2'">
             <el-form-item label="涓撳濮撳悕" prop="expertname" label-width="80px">
               <el-input
@@ -757,7 +944,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row>
+        <el-row v-if="businessType != 4">
           <el-col :span="24" v-if="expertfrom == '2'">
             <el-form-item
               label="韬唤璇佸彿"
@@ -783,7 +970,7 @@
           </el-col>          
         </el-row>
       -->
-        <el-row>
+        <el-row v-if="businessType != 4">
           <el-col :span="24" v-if="expertfrom == '2'">
             <el-form-item
               label="鍗曚綅鍚嶇О"
@@ -807,7 +994,7 @@
               </el-select> </el-form-item
           ></el-col>
         </el-row>
-        <el-row>
+        <el-row v-if="businessType != 4">
           <el-col :span="24" v-if="expertfrom == '2'">
             <el-form-item
               label="寮�鎴烽摱琛�"
@@ -841,7 +1028,14 @@
         >
       </span>
     </el-dialog>
-    <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%">
+    <el-dialog
+      v-dialogDrags
+      :modal="false"
+      :close-on-click-modal="false"
+      :title="pdftitle"
+      :visible.sync="pdfVisible"
+      width="60%"
+    >
       <div class="pdfimg">
         <div class="box-pdf">
           <div>
@@ -850,8 +1044,9 @@
               class="upload-demo"
               :action="uploadFileUrl"
               :file-list="fileListto"
+              :show-file-list="false"
               multiple
-              :limit="20"
+              drag
               :headers="headers"
               :on-success="
                 (response, file, fileList) =>
@@ -860,17 +1055,65 @@
               :on-preview="downFile"
               :disabled="operationType == 'detail'"
               :on-error="handleUploadError"
-              :on-exceed="handleExceed"
               :on-remove="remove"
               accept="image/*,.pdf"
             >
-              <el-button
-                :disabled="operationType == 'detail'"
-                size="small"
-                type="primary"
-                >涓婁紶绁ㄦ嵁</el-button
-              >
+              <i class="el-icon-upload"></i>
+              <div class="el-upload__text">
+                灏嗙エ鎹嫋鍒版澶勶紝鎴�
+                <em
+                  ><el-button
+                    :disabled="operationType == 'detail'"
+                    size="small"
+                    type="primary"
+                    >鐐瑰嚮涓婁紶</el-button
+                  ></em
+                >
+              </div>
+              <!-- <div class="el-upload__tip" slot="tip">
+                鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb
+              </div> -->
             </el-upload>
+            <el-table
+              :data="fileListto"
+              @row-click="downFile"
+              style="width: 100%"
+              height="400"
+            >
+              <el-table-column
+                prop="name"
+                :show-overflow-tooltip="true"
+                label="鍚嶇О"
+              >
+                <template slot-scope="scope">
+                  <i style="color:#409EFF" class=" el-icon-s-order" />{{
+                    scope.row.name
+                  }}
+                </template>
+              </el-table-column>
+
+              <el-table-column
+                prop="name"
+                width="180"
+                :show-overflow-tooltip="true"
+                label="鍔熻兘"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    type="primary"
+                    size="mini"
+                    @click.native.prevent.stop="deletedowfile(scope.row)"
+                    >鍒犻櫎</el-button
+                  >
+                  <el-button
+                    type="primary"
+                    size="mini"
+                    @click.native.prevent.stop="moveupdowfile(scope.row)"
+                    >涓婄Щ</el-button
+                  >
+                </template>
+              </el-table-column>
+            </el-table>
           </div>
           <!-- <div
             class="pdftit"
@@ -919,7 +1162,7 @@
   listDonatebaseinfo,
   getDonatebaseinfo
 } from "@/api/project/donatebaseinfo";
-
+import debounce from "lodash/debounce";
 import {
   onelistFund,
   listFund,
@@ -989,7 +1232,6 @@
     Li_area_select,
     OrgSelecter
   },
-
   name: "fundApply",
 
   dicts: [
@@ -1016,9 +1258,12 @@
       // 瀵煎嚭閬僵灞�
       exportLoading: false,
       usernamedata: "",
+      jurisdiction: false,
+
       // 琛ㄥ崟鍙傛暟
       form: {},
-
+      experthear: "",
+      spocewl: "",
       //璐圭敤鐢宠琛ㄥ崟title
       title: "",
       //鐢宠鍗曠被鍨�
@@ -1077,6 +1322,8 @@
       rowfeeblocks: [],
 
       fundflowList: [],
+      // 闅忔満鏁�
+      randomnumber: "",
 
       //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit
       selectionType: "",
@@ -1210,42 +1457,17 @@
       Modifyornot: 0 //鏄惁淇敼
     };
   },
-  // vue璺敱鎺у埗椤甸潰鍏抽棴鎻愮ず
-  beforeRouteLeave(to, from, next) {
-    if (
-      JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
-      JSON.stringify(this.rbDetails) == sessionStorage.getItem("apifunddetail")
-    ) {
-      console.log("cg1");
-      sessionStorage.removeItem("apiform");
-      sessionStorage.removeItem("apifunddetail");
 
-      //灏辨槸涓婇潰鐨勭姸鎬� 濡傛灉鏄痶rue , 鍒欎笉璇㈤棶鏄惁淇濆瓨, 褰撶劧杩欎釜鏂规硶姣旇緝绗�, 澶у鍙互浣跨敤鏇翠紭闆呯殑鏂瑰紡
-      next();
-    } else {
-      console.log("cg2");
-      this.$confirm("绂诲紑椤甸潰 , 鏇存柊鏁版嵁灏嗕笉鍋氫繚瀛�, 璇风‘璁ゅ凡缁忎繚瀛�", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning"
-      })
-        .then(() => {
-          sessionStorage.removeItem("apiform");
-          sessionStorage.removeItem("apifunddetail");
-          this.$router.go(-1);
-          next();
-        })
-        .catch(() => {
-          // alert("router")
-        });
-    }
-  },
   //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康
   computed: {},
   //鐩戞帶data涓殑鏁版嵁鍙樺寲
   watch: {},
   //鏂规硶闆嗗悎
   methods: {
+    bbaaccss(val) {
+      console.log(val);
+      console.log(this.funddetailForm);
+    },
     // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず
     beforeunloadHandler(e) {
       if (
@@ -1351,6 +1573,7 @@
       } else if (this.businessType == "4") {
         this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�";
         this.amountLabel = "閲戦";
+        this.getUnitList();
 
         // this.getBaseInfoList();
       }
@@ -1367,6 +1590,7 @@
         this.handleUpdate();
       } else if (this.operationType == "detail") {
         this.title = this.businessName + "鏌ョ湅";
+        this.jurisdiction = true;
         this.handleDetail();
       } else if (this.operationType == "check") {
         this.title = this.businessName + "瀹℃牳";
@@ -1456,6 +1680,14 @@
             this.addRow(0);
           }
         });
+        let listFundflowparams = {
+          fundid: this.curId,
+          fundtype: 2
+        };
+        listFundflow(listFundflowparams).then(res => {
+          this.fundflowList = res.rows;
+        });
+        console.log(this.fundflowList);
       });
     },
 
@@ -1506,7 +1738,7 @@
       });
     },
 
-    /** 淇敼鎸夐挳鎿嶄綔 */
+    /** 鏌ョ湅鎸夐挳鎿嶄綔 */
     handleCheck() {
       this.isopen = 0;
       this.reset();
@@ -1608,9 +1840,24 @@
           });
         });
     },
-
+    generateRandomString(length) {
+      const characters =
+        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+      let randomString = "";
+      for (let i = 0; i < length; i++) {
+        randomString += characters.charAt(
+          Math.floor(Math.random() * characters.length)
+        );
+      }
+      return randomString;
+    },
     /** 鎻愪氦鎸夐挳 */
-    submitForm() {
+    submitForm: debounce(function() {
+      if (!this.randomnumber) {
+        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;
@@ -1704,7 +1951,7 @@
             }
             this.rbDetails[i] = tempDetail;
             /*
-            //璁$畻涓◣
+            //璁$畻涓◣            
             //if (isNaN(parseFloat(tempDetail.taxedamount)))
             //鑾峰彇鍙傛暟
             this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
@@ -1718,13 +1965,13 @@
                   tempDetail.taxamount = res.data;
                   tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
                   this.rbDetails[k] = tempDetail;
-
+           
                   this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                   this.totalAmount += parseFloat(tempDetail.amount);
                 }
               });
             }
-
+           
             // 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰�
             if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
               //鑾峰彇鍙傛暟
@@ -1734,7 +1981,7 @@
                   tempDetail.taxamount = res.data.nowTax;
                   tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
                   this.rbDetails[k] = tempDetail;
-
+           
                   this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                   this.totalAmount += parseFloat(tempDetail.amount);
                 }
@@ -1776,10 +2023,11 @@
                 isNaN(parseFloat(tempDetail.taxamount)) ||
                 parseFloat(tempDetail.taxamount) == 0
               ) {
-                tempDetail.taxedamount = tempDetail.amount;
+                tempDetail.taxedamount = parseFloat(tempDetail.amount);
               } else {
                 tempDetail.taxedamount =
-                  tempDetail.amount + tempDetail.taxamount;
+                  parseFloat(tempDetail.amount) +
+                  parseFloat(tempDetail.taxamount);
               }
             }
           }
@@ -1846,7 +2094,7 @@
           this.$router.go(-1);
         }
       });
-    },
+    }, 500),
 
     //瀹℃壒鎻愪氦
     checksubmit() {
@@ -1969,13 +2217,16 @@
 
     //鑾峰彇璐圭敤鏈烘瀯鍒楄〃
     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({
@@ -1983,6 +2234,7 @@
             organizationid: response.rows[i].id,
             organizationname: response.rows[i].organizationname
           });
+          console.log(this.unitList);
         }
       });
     },
@@ -2050,10 +2302,16 @@
             row.amount = 0.0;
             row.taxamount = 0.0;
             row.taxedamount = item.expense;
+
+            //璁$畻绋庡墠閲戦
+            this.calculateTax(row, "B");
           } else {
             row.amount = item.expense;
             row.taxamount = 0.0;
             row.taxedamount = 0.0;
+
+            //璁$畻绋庡悗閲戦
+            this.calculateTax(row, "A");
           }
 
           this.form.serviceFunddetails = 0;
@@ -2155,6 +2413,34 @@
       });
     },
 
+    //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦)
+    calculateTax(row, type) {
+      //if (isNaN(parseFloat(tempDetail.taxedamount)))
+      //鑾峰彇鍙傛暟
+      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);
+          }
+        });
+      }
+    },
+
     //瀵煎叆鎵�鏈夐」鐩�
     importFeeItems() {
       this.loading = true;
@@ -2229,6 +2515,10 @@
     },
     // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨
     Savenow() {
+      if (!this.randomnumber) {
+        this.randomnumber = this.generateRandomString(9);
+        this.form.randomnumber = this.randomnumber;
+      }
       this.Savereminder = false;
       this.Reminderquantity = 0;
       this.totalquantity = 0;
@@ -2325,7 +2615,7 @@
             }
             this.rbDetails[i] = tempDetail;
             /*
-            //璁$畻涓◣
+            //璁$畻涓◣            
             //if (isNaN(parseFloat(tempDetail.taxedamount)))
             //鑾峰彇鍙傛暟
             this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
@@ -2339,7 +2629,7 @@
                   tempDetail.taxamount = res.data;
                   tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
                   this.rbDetails[k] = tempDetail;
-
+           
                   this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                   this.totalAmount += parseFloat(tempDetail.amount);
                 }
@@ -2355,7 +2645,7 @@
                   tempDetail.taxamount = res.data.nowTax;
                   tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
                   this.rbDetails[k] = tempDetail;
-
+           
                   this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                   this.totalAmount += parseFloat(tempDetail.amount);
                 }
@@ -2397,10 +2687,11 @@
                 isNaN(parseFloat(tempDetail.taxamount)) ||
                 parseFloat(tempDetail.taxamount) == 0
               ) {
-                tempDetail.taxedamount = tempDetail.amount;
+                tempDetail.taxedamount = parseFloat(tempDetail.amount);
               } else {
                 tempDetail.taxedamount =
-                  tempDetail.amount + tempDetail.taxamount;
+                  parseFloat(tempDetail.amount) +
+                  parseFloat(tempDetail.taxamount);
               }
             }
           }
@@ -2513,10 +2804,10 @@
         rowfeeblocks: [],
         annexfiles: null
       };
-      if (this.Reminderquantity >= 5) {
-        this.Savereminder = true;
-        return;
-      }
+      // if (this.Reminderquantity >= 5) {
+      //   this.Savereminder = true;
+      //   return;
+      // }
       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
         this.rbDetails.push(rowData);
       } else {
@@ -2573,9 +2864,6 @@
         this.addRow(0);
       }
     },
-
-    //璁$畻涓◣
-    calculateTax() {},
 
     //璁$畻鎬婚噾棰�
     sumTotalFee(row) {
@@ -2673,14 +2961,14 @@
     handleUploadError() {},
 
     /** 涓嬭浇鏂囦欢鎸夐挳鎿嶄綔 */
-    downFile(item) {
-      const url = process.env.VUE_APP_BASE_API + item.url;
-      var a = document.createElement("a");
-      var event = new MouseEvent("click");
-      a.download = item.name;
-      a.href = url;
-      a.dispatchEvent(event);
-    },
+    // downFile(item) {
+    //   const url = process.env.VUE_APP_BASE_API + item.url;
+    //   var a = document.createElement("a");
+    //   var event = new MouseEvent("click");
+    //   a.download = item.name;
+    //   a.href = url;
+    //   a.dispatchEvent(event);
+    // },
 
     // remove(file) {
     //   this.fileList.splice(this.fileList.indexOf(file), 1)
@@ -2712,10 +3000,15 @@
       //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
       if (response.code == 200) {
         this.form.filename = file.raw.name;
-
+        this.previewpdf = true;
         this.$modal.msgSuccess(response.msg);
-        // this.fileListto.push({ name: file.name, url: response.fileName });
-        this.fileListto.push({ name: file.name, url: response.url });
+        this.fileListto.push({ name: file.name, url: response.fileName });
+        // this.fileListto.push({ name: file.name, url: response.url });
+        this.pdfimgsrcList.push(
+          this.Networkheader + "/prod-api" + response.fileName
+        );
+        this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
+
         this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
       } else {
         console.log(response.msg);
@@ -2727,11 +3020,15 @@
       this.atpresent = index;
       this.pdfVisible = true;
       if (this.rbDetails[index].annexfilesList) {
+        this.previewpdf = true;
         this.fileListto = this.rbDetails[index].annexfilesList;
-        // this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
-        this.pdfimg = this.fileListto[0].url;
+        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
+        // this.pdfimg = this.fileListto[0].url;
         this.pdfimgsrcList = [];
-        this.pdfimgsrcList.push(this.pdfimg);
+        this.fileListto.forEach(item => {
+          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
+        });
+        console.log(this.pdfimgsrcList);
         console.log(this.pdfimg);
       } else {
         this.fileListto = [];
@@ -2739,8 +3036,10 @@
         this.pdftitle = "";
       }
     },
+
     // 鐐瑰嚮宸蹭笂浼犳枃浠�
     downFile(item) {
+      console.log(item);
       this.pdftitle = item.name;
       let name = item.name.split(".");
       if (name[1] == "pdf") {
@@ -2751,11 +3050,15 @@
         this.previewpdf = true;
         if (item.url) {
           this.pdfimg = this.Networkheader + "/prod-api" + item.url;
-          this.pdfimgsrcList = [];
-          this.pdfimgsrcList.push(this.pdfimg);
+
+          // 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.response.url;
+          this.pdfimg = this.Networkheader + "/prod-api" + item.url;
         }
       } else {
         this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -2763,10 +3066,43 @@
         this.previewpdf = false;
       }
     },
-
+    getIndexInArray(arr, obj) {
+      return arr.indexOf(obj);
+    },
+    // 鐐瑰嚮鍒犻櫎
+    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) {
+      const index = this.getIndexInArray(this.fileListto, row);
+      const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+    },
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
     ShowDetailDialog(spoce, showType) {
+      this.spocewl = spoce;
+      console.log(spoce);
       this.selectionType = showType;
+      if (this.businessType == 4 || !showType) {
+        this.selectionType = this.experthear;
+        console.log(this.selectionType);
+      }
+      // if (!showType) {
+      //   this.selectionType = this.experthear;
+
+      // }
       this.expertfrom = "1";
 
       this.funddetailForm.index = spoce.$index;
@@ -2787,13 +3123,16 @@
 
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
     ConfirmDetailDialog() {
+      console.log(this.funddetailForm.tempExpertName);
+      console.log(this.funddetailForm);
       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") {
-        if (this.expertfrom == "1") {
+      if (this.selectionType == "expert" || this.businessType == 4) {
+        if (this.expertfrom == "1" || this.experthear == "unit") {
           //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
           this.personlist.map(res => {
             if (tempExpertName == res.username) {
@@ -2908,6 +3247,11 @@
         }
       }
 
+      // if (this.experthear == "unit") {
+      //   singleDetail.unitname = "";
+      // }
+      singleDetail.unitname = this.funddetailForm.unitname;
+      console.log(this.funddetailForm);
       this.rbDetails[tempIndex] = singleDetail;
       this.showSelectionDialog = false;
     }
@@ -2919,6 +3263,7 @@
     this.Getnetworkheader();
     this.getroute();
     this.getExternalList();
+    this.getFeeUnitList();
   },
 
   //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
@@ -2936,9 +3281,7 @@
 
   beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
   beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
-  beforeUpdate() {
-    console.log("beforeUpdate");
-  }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
+  beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
   updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
   beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
   destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
@@ -2981,7 +3324,7 @@
   height: 600px;
 
   .box-pdf {
-    width: 200px;
+    width: 400px;
     padding-top: 20px;
     margin-right: 30px;
     border: 1px solid #dcdfe6;
@@ -3020,4 +3363,8 @@
   line-height: 36px;
   text-align: center;
 }
+::v-deep .el-alert__title {
+  font-size: 20px;
+  line-height: 20px;
+}
 </style>

--
Gitblit v1.9.3