From 563230f7ebcfe6b2d07d147f8b0f29e681bb68fb Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 05 三月 2024 11:05:07 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue | 1773 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 984 insertions(+), 789 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index c4f8e17..a5186fc 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -6,14 +6,25 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
           <el-col :span="5">
-            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+            <el-form-item label="鎶ラ攢鍗曞彿" prop="bh">
+              <el-input
+                v-model="form.bh"
+                :disabled="true"
+                placeholder="鎶ラ攢鍗曞彿"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
               <el-date-picker
                 clearable
+                :disabled="true"
                 style="width: 100%"
-                v-model="form.createTime"
+                v-model="form.applyTime"
                 type="date"
                 value-format="yyyy-MM-dd HH:mm:ss"
-                placeholder="鐢宠鏃ユ湡"
+                placeholder="鏃�   鏈�"
               >
               </el-date-picker>
             </el-form-item>
@@ -39,21 +50,8 @@
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname">
-              <el-input
-                v-model="form.deptmentname"
-                placeholder="璇疯緭鍏ユ墍灞炵粍鍒�"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="缁勯暱" prop="managername">
-              <el-input
-                v-model="form.managername"
-                placeholder="璇疯緭鍏ョ粍闀�"
-                clearable
-              />
+            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
+              <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -72,21 +70,6 @@
               }}</el-radio>
             </el-form-item>
           </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" v-if="ismanager == true">
             <el-form-item label="鐢宠閲戦" prop="pretaxcost">
               <el-input
@@ -96,14 +79,40 @@
               />
             </el-form-item>
           </el-col>
+          <el-col :span="5">
+            <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname">
+              <el-input
+                v-model="form.deptmentname"
+                placeholder="璇疯緭鍏ユ墍灞炵粍鍒�"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="缁勯暱" prop="managername">
+              <el-input
+                v-model="form.managername"
+                placeholder="璇疯緭鍏ョ粍闀�"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row style="text-align: left">
-          <el-col :span="8">
+          <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="10">
             <el-form-item label="鐢宠璇存槑" prop="remark">
               <el-input v-model="form.remark" placeholder="鐢宠璇存槑" />
             </el-form-item>
           </el-col>
-
           <!-- 
           <el-col :span="5">
             <el-form-item label="鐢宠鐘舵��" prop="recordstatus">
@@ -127,35 +136,40 @@
         </el-row>
         <el-row>
           <el-col :span="3" v-if="businessType == '1'">
-            <el-button
-              @click.native.prevent="importFeeItems"
-              type="primary"
-              size="small"
-            >
-              瀵煎叆鏈嶅姟椤圭洰
-            </el-button>
-          </el-col>
-          <el-col :span="3"
-            ><div style="margin-bottom: 15px;" v-if="businessType == 2">
+            <div style="margin-bottom: 15px;">
               <el-button
-                type="success"
+                type="primary"
                 icon="el-icon-download"
+                size="small"
+                @click.native.prevent="importFeeItems"
+              >
+                鎵归噺瀵煎叆鏈嶅姟椤圭洰
+              </el-button>
+            </div>
+          </el-col>
+          <el-col :span="3" v-if="businessType == 2">
+            <div style="margin-bottom: 15px;">
+              <el-button
+                type="primary"
+                icon="el-icon-download"
+                size="small"
                 @click="Batchentry"
-                >鎵归噺褰曞叆</el-button
+                >鎵归噺褰曞叆涓撳</el-button
               >
             </div>
           </el-col>
-
-          <el-col :span="3">
-            <div
-              style="margin-bottom: 15px;"
-              v-if="
-                userprofile.nickName == '闄堟厱鍗�' && operationType == 'check'
-              "
-            >
+          <el-col
+            :span="3"
+            v-if="
+              userprofile.nickName == '闄堟厱鍗�' &&
+                (businessType == '1' || businessType == '2')
+            "
+          >
+            <div style="margin-bottom: 15px;">
               <el-button
                 type="success"
                 icon="el-icon-edit-outline"
+                size="small"
                 @click="Manualcalculationfn"
                 >璁$畻涓◣</el-button
               >
@@ -180,10 +194,6 @@
                 <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
               </template>
             </el-table-column>
-            <!--
-            <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip=""
-              v-if="form.applytype == '1'">
-            </el-table-column>-->
             <el-table-column
               prop="applytype"
               align="center"
@@ -232,7 +242,7 @@
               prop="servicesscope"
               align="center"
               label="鏈嶅姟璇存槑"
-              v-if="form.applytype == '1'"
+              v-if="businessType == '1'"
               width="180"
             >
               <template slot-scope="scope">
@@ -291,33 +301,29 @@
               </template>
             </el-table-column>
             <el-table-column
-              v-if="
-                businessType == 2 ||
-                  businessType == 3 ||
-                  businessType == 4 ||
-                  ismanager == true
-              "
               prop="amount"
               align="center"
-              :label="amountLabel"
+              :label="amountlabel"
               width="120"
             >
               <template slot-scope="scope">
-                <!--
-                  <el-select v-model="scope.row.amount" placeholder="绋庡墠閲戦" clearable filterable allow-create
-                  @change="selectamount(scope.row)">
-                  <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense"
-                    :value="dict.expense"></el-option>
-                </el-select>
-              -->
+                <el-input v-model="scope.row.amount" placeholder="閲戦" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="taxamount"
+              align="center"
+              label="鎵g◣閲戦"
+              width="120"
+              v-if="
+                ismanager == true &&
+                  (businessType == '1' || businessType == '2')
+              "
+            >
+              <template slot-scope="scope">
                 <el-input
-                  v-model="scope.row.amount"
-                  placeholder="閲戦"
-                  @blur="
-                    val => {
-                      calculateTax(scope.row, 'A');
-                    }
-                  "
+                  v-model="scope.row.taxamount"
+                  placeholder="鎵g◣閲戦"
                 />
               </template>
             </el-table-column>
@@ -327,34 +333,29 @@
               label="绋庡悗閲戦"
               width="120"
               v-if="
-                (this.ismanager == true) &
-                  (form.applytype == '1' || form.applytype == '2')
+                ismanager == true &&
+                  (businessType == '1' || businessType == '2')
               "
             >
               <template slot-scope="scope">
                 <el-input
                   v-model="scope.row.taxedamount"
                   placeholder="绋庡悗閲戦"
-                  @blur="
-                    val => {
-                      calculateTax(scope.row, 'B');
-                    }
-                  "
                 />
               </template>
             </el-table-column>
             <el-table-column
               prop="beneficiaryname"
+              column-key="sdad"
               align="center"
-              label="濮撳悕"
-              width="120"
-              v-if="form.applytype == '1' || form.applytype == '2'"
+              :label="beneficiarylabel"
+              width="200"
             >
               <template slot-scope="scope">
                 <el-button
                   type="primary"
                   plain
-                  @click="ShowDetailDialog(scope, 'expert')"
+                  @click="showSelectionDialog(scope, 'account')"
                   >{{
                     scope.row.beneficiaryname
                       ? scope.row.beneficiaryname
@@ -366,75 +367,28 @@
             <el-table-column
               prop="unitno"
               align="center"
-              label="鍗曚綅鍚嶇О"
+              label="涓撳鎵�鍦ㄥ崟浣�"
               width="250"
-              v-if="form.applytype != '4' && form.applytype != '3'"
+              v-if="businessType == '1' || businessType == '2'"
             >
               <template slot-scope="scope">
                 <el-button
                   type="primary"
                   plain
-                  @click="ShowDetailDialog(scope, 'unit')"
+                  @click="showSelectionDialog(scope, 'workunit')"
                   >{{
                     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="beneficiaryname"
-              align="center"
-              label="鍗曚綅/涓汉"
-              width="250"
-              v-if="form.applytype == '4' || form.applytype == '3'"
-            >
-              <template slot-scope="scope">
-                <el-button
-                  type="primary"
-                  plain
-                  @click="ShowDetailDialog(scope, 'expert')"
-                  >{{
-                    scope.row.beneficiaryname
-                      ? scope.row.beneficiaryname
-                      : "鐐瑰嚮閫夋嫨"
-                  }}</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="title"
               align="center"
               label="鑱岀О"
               width="120"
-              v-if="form.applytype == '1' || form.applytype == '2'"
+              v-if="businessType == '1' || businessType == '2'"
             >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.title" placeholder="鑱岀О" />
@@ -445,10 +399,17 @@
               align="center"
               label="韬唤璇佸彿"
               width="200"
-              v-if="form.applytype == '1' || form.applytype == '2'"
+              v-if="businessType == '1' || businessType == '2'"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" />
+                <el-form-item label-width="0">
+                  <el-input
+                    :disabled="userprofile.nickName != '闄堟厱鍗�'"
+                    v-model.number="scope.row.idcardno"
+                    @input="tableParValueChange1(scope.row)"
+                    placeholder="韬唤璇佸彿"
+                  />
+                </el-form-item>
               </template>
             </el-table-column>
             <el-table-column
@@ -457,9 +418,9 @@
               label="寮�鎴烽摱琛�"
               width="200"
             >
-              <!-- v-if="form.applytype != '4'" -->
               <template slot-scope="scope">
                 <el-input
+                  :disabled="userprofile.nickName != '闄堟厱鍗�'"
                   v-model="scope.row.depositbank"
                   placeholder="寮�鎴烽摱琛�"
                 />
@@ -473,13 +434,14 @@
             >
               <template slot-scope="scope">
                 <el-input
+                  :disabled="userprofile.nickName != '闄堟厱鍗�'"
                   v-model="scope.row.bankcardno"
                   placeholder="閾惰甯愬彿"
                 />
               </template>
             </el-table-column>
             <el-table-column
-              prop="itemdescribe"
+              prop="itemdescrisca"
               align="center"
               width="330"
               label="椤圭洰璇存槑"
@@ -498,12 +460,7 @@
               align="center"
               width="330"
               label="澶囨敞"
-              v-if="
-                businessType == 2 ||
-                  businessType == 3 ||
-                  businessType == 4 ||
-                  ismanager == true
-              "
+              v-show="ismanager == true"
             >
               <template slot-scope="scope">
                 <el-input
@@ -552,7 +509,9 @@
                   "
                   type="text"
                   size="small"
-                  v-if="businessType == 3 || businessType == 4"
+                  v-if="
+                    businessType == 2 || businessType == 3 || businessType == 4
+                  "
                   >绁ㄦ嵁</el-button
                 >
               </template>
@@ -626,7 +585,7 @@
                 >
                   <template slot-scope="scope">
                     <el-button
-                      type="primary"
+                      type="danger"
                       size="mini"
                       @click.native.prevent.stop="deletedowfile(scope.row)"
                       >鍒犻櫎</el-button
@@ -686,11 +645,11 @@
           style="margin-top: 25px; margin-bottom: 5px"
           v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'"
         >
-          <el-col :span="7">
-            <el-form-item label="鐢宠鏉愭枡鐘舵��" prop="infoid">
+          <el-col :span="20">
+            <el-form-item label="棰勫鏉愭枡" prop="infoid">
               <el-radio-group v-model="form.checkstatus" align="left">
                 <el-radio :label="1">寰呯敵璇锋潗鏂�</el-radio>
-                <el-radio :label="2">鐢宠鏉愭枡閫氳繃绛夊緟鏉愭枡</el-radio>
+                <el-radio :label="2">瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡</el-radio>
                 <el-radio :label="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio>
               </el-radio-group>
             </el-form-item>
@@ -700,7 +659,7 @@
           style="margin-top: 5px; margin-bottom: 5px"
           v-if="operationType == 'check'"
         >
-          <el-col :span="7">
+          <el-col :span="20">
             <el-form-item label="瀹℃牳缁撴灉" align="left">
               <el-radio-group v-model="checkObj.flowlevelone" align="left">
                 <el-radio label="1">閫氳繃</el-radio>
@@ -709,7 +668,6 @@
             </el-form-item>
           </el-col>
         </el-row>
-
         <el-row v-if="operationType == 'check'">
           <el-col :span="17">
             <el-form-item label="瀹℃牳澶囨敞" align="left">
@@ -727,7 +685,7 @@
               operationType == 'update' ||
               ismanager == true
           "
-          >鎻愪氦淇濆瓨</el-button
+          >淇濆瓨</el-button
         >
         <el-button
           type="success"
@@ -746,63 +704,28 @@
     </div>
 
     <el-dialog
-      :visible.sync="showSelectionDialog"
+      :visible.sync="showselectiondialog"
       :close-on-click-modal="false"
-      :title="'鍗曚綅/涓汉淇℃伅閫夋嫨'"
-      width="500px"
+      :title="'璐︽埛淇℃伅/鍗曚綅淇℃伅閫夋嫨'"
+      width="650px"
       style="text-align: center"
       v-loading="loading"
     >
-      <el-form ref="funddetailForm" :model="funddetailForm">
-        <el-row v-if="businessType != 4 && businessType != 3">
-          <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>
-                <el-radio label="2">鏂板涓撳</el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-          <el-col
-            :span="24"
-            v-if="selectionType == 'expert' && expertfrom == '1'"
-          >
-            <el-form-item
-              label="涓撳濮撳悕"
-              prop="beneficiaryname"
-              label-width="80px"
-            >
-              <el-select
-                filterable
-                allow-create
-                ref="beneficiaryname"
-                default-first-option
-                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="selectionType == 'unit'">
+      <el-form
+        ref="accountselectform"
+        :rules="dialogrules"
+        :model="accountselectform"
+        label-width="120px"
+      >
+        <el-row v-if="selectionType == 'workunit'">
+          <el-col :span="24">
             <el-form-item
               label="鍗曚綅鍚嶇О"
-              prop="unitno"
+              prop="expertunitname"
               label-width="120px"
-              v-if="businessType == 1 || businessType == 2"
             >
               <el-select
-                v-model="funddetailForm.unitno"
+                v-model="accountselectform.expertunitname"
                 placeholder="鍗曚綅鍚嶇О"
                 clearable
                 filterable
@@ -813,114 +736,94 @@
                   v-for="(spec, index) in unitList"
                   :key="index"
                   :label="spec.organizationname"
-                  :value="spec.organizationid"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item
-              label="鍙戠エ鍗曚綅鍚嶇О"
-              prop="unitno"
-              label-width="120px"
-              v-if="businessType == 3"
-            >
-              <el-select
-                v-model="funddetailForm.unitno"
-                placeholder="鍗曚綅鍚嶇О"
-                clearable
-                filterable
-                allow-create
-                style="width: 100%"
-              >
-                <el-option
-                  v-for="(item, index) in feeUnitList"
-                  :key="index"
-                  :label="item.reportName"
-                  :value="item.reportNo"
+                  :value="spec.organizationname"
                 ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
-
-        <el-row v-if="businessType == 4 || businessType == 3">
-          <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-row v-if="selectionType == 'account'">
+          <el-col>
+            <el-form-item
+              label="璐︽埛鏉ユ簮"
+              prop="accountfrom"
+              class="left-align"
+            >
+              <el-radio-group v-model="accountfrom" style="margin-bottom: 0">
+                <el-radio label="1">浠庤处鎴峰簱</el-radio>
+                <el-radio label="2"
+                  >鏂板璐︽埛锛堟柊澧炰笓瀹惰处鎴峰悗闇�瑕佸鏍稿惎鐢ㄦ墠鑳戒娇鐢級</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-col :span="24" v-if="accountfrom == '1'">
+            <el-form-item label="璐︽埛鍚嶇О" prop="accountname">
               <el-select
                 filterable
                 allow-create
-                ref="beneficiaryname"
+                ref="accountname"
                 default-first-option
-                @change="bbaaccss"
-                v-model="funddetailForm.beneficiaryname"
+                v-model="accountselectform.accountname"
                 placeholder="璇烽�夋嫨"
                 style="width: 100%"
               >
                 <el-option
-                  v-for="item in expertlist"
-                  :key="item.expertNo"
-                  :label="item.exportName"
-                  :value="item.exportName"
+                  v-for="item in accountlist"
+                  :key="item.id"
+                  :label="item.userid"
+                  :value="item.id"
                 >
                 </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.beneficiaryname"
-                placeholder="鍗曚綅鍚嶇О"
-                @change="bbaaccss"
-                clearable
-                filterable
-                allow-create
-                style="width: 100%"
+        </el-row>
+        <el-row v-if="selectionType == 'account' && accountfrom == '2'">
+          <el-col :span="24">
+            <el-form-item label="鏂板绫诲瀷" prop="usertype" class="left-align">
+              <el-radio-group
+                v-model="accountselectform.usertype"
+                style="margin-bottom: 0"
+                @change="userTypeChange(accountselectform.usertype)"
               >
-                <el-option
-                  v-for="(spec, index) in feeUnitList"
-                  :key="index"
-                  :label="spec.reportName"
-                  :value="spec.reportName"
-                ></el-option>
-              </el-select>
+                <el-radio label="expert">涓撳璐︽埛</el-radio>
+                <el-radio label="org">鍗曚綅璐︽埛</el-radio>
+                <el-radio label="donor">鎹愮尞鑰呬翰灞炶处鎴�</el-radio>
+              </el-radio-group>
             </el-form-item>
           </el-col>
         </el-row>
-
-        <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-row v-if="selectionType == 'account' && accountfrom == '2'">
+          <el-col :span="24">
+            <el-form-item label="璐︽埛鍚嶇О" prop="username">
               <el-input
-                v-model="funddetailForm.expertname"
-                placeholder="蹇呭~椤�"
+                v-model="accountselectform.username"
+                placeholder="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�"
               />
             </el-form-item>
           </el-col>
-          <el-col :span="12" v-if="expertfrom == '2'">
-            <el-form-item
-              label="鑱�    绉�"
-              prop="experttitle"
-              label-width="80px"
-            >
+        </el-row>
+        <el-row
+          v-if="
+            selectionType == 'account' &&
+              accountfrom == '2' &&
+              accountselectform.usertype != 'org'
+          "
+        >
+          <el-col :span="12">
+            <el-form-item label="韬唤璇佸彿" prop="idcardno">
+              <el-input
+                v-model="accountselectform.idcardno"
+                placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-if="accountselectform.usertype == 'expert'">
+            <el-form-item label="鑱岀О" prop="title">
               <el-select
-                v-model="funddetailForm.experttitle"
-                placeholder="蹇呭~椤�"
+                v-model="accountselectform.title"
+                placeholder="璇烽�夋嫨浜哄憳鑱岀О"
               >
                 <el-option
                   v-for="dict in dict.type.sys_professionaltitle"
@@ -932,30 +835,17 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="businessType != 4 && businessType != 3">
-          <el-col :span="24" v-if="expertfrom == '2'">
-            <el-form-item
-              label="韬唤璇佸彿"
-              prop="expertidcardno"
-              label-width="80px"
-            >
-              <el-input
-                v-model="funddetailForm.expertidcardno"
-                placeholder="蹇呭~椤�"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-
-        <el-row v-if="businessType != 4 && businessType != 3">
-          <el-col :span="24" v-if="expertfrom == '2'">
-            <el-form-item
-              label="鍗曚綅鍚嶇О"
-              prop="expertunitno"
-              label-width="80px"
-            >
+        <el-row
+          v-if="
+            selectionType == 'account' &&
+              accountfrom == '2' &&
+              accountselectform.usertype == 'expert'
+          "
+        >
+          <el-col>
+            <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitno">
               <el-select
-                v-model="funddetailForm.expertunitno"
+                v-model="accountselectform.unitno"
                 placeholder="鍗曚綅鍚嶇О"
                 clearable
                 filterable
@@ -968,41 +858,62 @@
                   :label="spec.organizationname"
                   :value="spec.organizationid"
                 ></el-option>
-              </el-select> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row v-if="businessType != 4 && businessType != 3">
-          <el-col :span="24" v-if="expertfrom == '2'">
-            <el-form-item
-              label="寮�鎴烽摱琛�"
-              prop="expertdepositbank"
-              label-width="80px"
-            >
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col>
+            <el-form-item label="鍗曚綅宸ュ彿" prop="personnelunitno">
               <el-input
-                v-model="funddetailForm.expertdepositbank"
-                placeholder="蹇呭~椤�"
+                v-model="accountselectform.personnelunitno"
+                placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿"
               />
             </el-form-item>
           </el-col>
-          <el-col :span="24" v-if="expertfrom == '2'">
-            <el-form-item
-              label="閾惰鍗″彿"
-              prop="expertbankcardno"
-              label-width="80px"
-            >
+        </el-row>
+        <el-row v-if="selectionType == 'account' && accountfrom == '2'">
+          <el-col
+            ><el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
               <el-input
-                v-model="funddetailForm.expertbankcardno"
-                placeholder="蹇呭~椤�"
+                v-model="accountselectform.depositbank"
+                placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col
+            ><el-form-item label="閾惰鍗″彿" prop="bankcardno">
+              <el-input
+                v-model="accountselectform.bankcardno"
+                placeholder="璇疯緭鍏ラ摱琛屽崱鍙�"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row v-if="selectionType == 'account' && accountfrom == '2'">
+          <el-col>
+            <el-form-item label="鑱旂郴鍦板潃" prop="address">
+              <el-input
+                v-model="accountselectform.address"
+                placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row v-if="selectionType == 'account' && accountfrom == '2'">
+          <el-col>
+            <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone">
+              <el-input
+                v-model="accountselectform.telephone"
+                placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
               />
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="showSelectionDialog = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="ConfirmDetailDialog()"
+        <el-button type="primary" @click="confirmSelectionDialog()"
           >纭� 瀹�</el-button
         >
+        <el-button @click="showselectiondialog = false">鍙� 娑�</el-button>
       </span>
     </el-dialog>
     <el-dialog
@@ -1013,7 +924,7 @@
       :visible.sync="pdfVisible"
       width="60%"
     >
-      <div>
+      <div style="margin-bottom: 10px;">
         <el-table :data="tableDatatop" style="width: 100%">
           <el-table-column
             v-if="businessType == 4"
@@ -1029,7 +940,7 @@
             v-if="businessType == 4"
           >
           </el-table-column>
-          <el-table-column prop="amount" align="center" :label="amountLabel">
+          <el-table-column prop="amount" align="center" :label="amountlabel">
           </el-table-column>
           <el-table-column
             prop="taxedamount"
@@ -1057,12 +968,7 @@
             v-if="form.applytype != '4'"
           >
           </el-table-column> -->
-          <el-table-column
-            prop="beneficiaryname"
-            align="center"
-            label="鍗曚綅/涓汉"
-            width="250"
-          >
+          <el-table-column prop="" align="center" label="鍗曚綅/涓汉" width="250">
           </el-table-column>
           <el-table-column
             prop="title"
@@ -1091,14 +997,20 @@
           </el-table-column>
         </el-table>
       </div>
-
+      <el-alert
+        title="鏂颁笂浼犳枃浠堕渶鍦ㄦ彁浜や繚瀛樺悗鎵嶅彲杩涜妗堜緥鍏宠仈锛屽惁鍒欒涓烘斁寮�"
+        type="error"
+        show-icon
+        close-text="鐭ラ亾浜�"
+      >
+      </el-alert>
       <el-tabs
         style="margin-top: 20px;"
         v-model="activeName"
         type="border-card"
         @tab-click="handleClick"
       >
-        <el-tab-pane label="鏅�氶檮浠�" :name="1">
+        <el-tab-pane label="鏅�氶檮浠�" name="common">
           <div class="pdfimg">
             <div class="box-pdf">
               <div>
@@ -1146,21 +1058,20 @@
                     label="鍚嶇О"
                   >
                     <template slot-scope="scope">
-                      <i style="color:#409EFF" class=" el-icon-s-order" />{{
-                        scope.row.name
-                      }}
+                      <i style="color:#409EFF" class=" el-icon-s-order" />
+                      <span>{{ scope.row.name }}</span>
                     </template>
                   </el-table-column>
 
                   <el-table-column
                     prop="name"
-                    width="180"
+                    width="190"
                     :show-overflow-tooltip="true"
                     label="鍔熻兘"
                   >
                     <template slot-scope="scope">
                       <el-button
-                        type="primary"
+                        type="danger"
                         size="mini"
                         @click.native.prevent.stop="deletedowfile(scope.row)"
                         >鍒犻櫎</el-button
@@ -1171,6 +1082,13 @@
                         @click.native.prevent.stop="moveupdowfile(scope.row)"
                         >涓婄Щ</el-button
                       >
+                      <el-button
+                        type="success"
+                        size="mini"
+                        icon="el-icon-search"
+                        circle
+                        @click.native.prevent.stop="Downloadfile(scope.row)"
+                      ></el-button>
                     </template>
                   </el-table-column>
                 </el-table>
@@ -1184,6 +1102,8 @@
               <!-- <img :src="pdfimg" /> -->
               <el-image
                 style="width: 95%; height: 90%"
+                @error="handleImageError"
+                @load="handleImageLoad"
                 :src="pdfimg"
                 :preview-src-list="pdfimgsrcList"
               >
@@ -1195,7 +1115,7 @@
             <div v-else class="pdfimgmins">{{ hintitle }}</div>
           </div>
         </el-tab-pane>
-        <el-tab-pane label="鍙戠エ鏂囦欢" :name="2">
+        <el-tab-pane label="鍙戠エ鏂囦欢" name="invoice">
           <div class="pdfimg">
             <div class="box-pdf">
               <div>
@@ -1243,15 +1163,14 @@
                     label="鍚嶇О"
                   >
                     <template slot-scope="scope">
-                      <i style="color:#409EFF" class=" el-icon-s-order" />{{
-                        scope.row.name
-                      }}
+                      <i style="color:#409EFF" class=" el-icon-s-order" />
+                      <span>{{ scope.row.name }}</span>
                     </template>
                   </el-table-column>
 
                   <el-table-column
                     prop="name"
-                    width="180"
+                    width="190"
                     :show-overflow-tooltip="true"
                     label="鍔熻兘"
                   >
@@ -1268,6 +1187,13 @@
                         @click.native.prevent.stop="moveupdowfile(scope.row)"
                         >涓婄Щ</el-button
                       >
+                      <el-button
+                        type="success"
+                        size="mini"
+                        icon="el-icon-search"
+                        circle
+                        @click.native.prevent.stop="Downloadfile(scope.row)"
+                      ></el-button>
                     </template>
                   </el-table-column>
                 </el-table>
@@ -1281,6 +1207,8 @@
               <!-- <img :src="pdfimg" /> -->
               <el-image
                 style="width: 95%; height: 90%"
+                @error="handleImageError"
+                @load="handleImageLoad"
                 :src="invoicepdfimg"
                 :preview-src-list="invoicepdfimgsrcList"
               >
@@ -1290,8 +1218,8 @@
               </el-image>
             </div>
             <div v-else class="pdfimgmins">{{ hintitle }}</div>
-          </div></el-tab-pane
-        >
+          </div>
+        </el-tab-pane>
       </el-tabs>
     </el-dialog>
     <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%">
@@ -1305,8 +1233,8 @@
       >
       </el-alert>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="unsave">鍙� 娑�</el-button>
         <el-button type="primary" @click="Savenow">纭� 瀹�</el-button>
+        <el-button @click="unsave">鍙� 娑�</el-button>
       </span>
     </el-dialog>
 
@@ -1339,8 +1267,8 @@
       </div>
 
       <span slot="footer" class="dialog-footer">
-        <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button>
+        <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button>
       </span>
     </el-dialog>
   </div>
@@ -1411,7 +1339,8 @@
   delExternalperson,
   addExternalperson,
   updateExternalperson,
-  exportExternalperson
+  exportExternalperson,
+  getOnlyCode
 } from "@/api/project/externalperson";
 
 import { listItemexpense } from "@/api/project/itemexpense";
@@ -1446,6 +1375,14 @@
   ],
 
   data() {
+    var validatePass = (rule, value, callback) => {
+      const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/;
+      if (regex.test(value)) {
+        callback();
+      } else {
+        callback(new Error("韬唤璇佸彿鐮佹牸寮忛敊璇�"));
+      }
+    };
     //杩欓噷瀛樻斁鏁版嵁
     return {
       // 閬僵灞�
@@ -1457,8 +1394,6 @@
       Routinglevel: 1,
       // 琛ㄥ崟鍙傛暟
       form: {},
-      experthear: "",
-      spocewl: "",
       //璐圭敤鐢宠琛ㄥ崟title
       title: "",
       //鐢宠鍗曠被鍨�
@@ -1466,7 +1401,7 @@
       businessName: "",
       //鎿嶄綔绫诲瀷
       operationType: "",
-
+      Loadornot: false,
       //褰撳墠鍗曟嵁id
       curId: 0,
       //褰撳墠閫変腑鎹愮尞妗堜緥
@@ -1478,14 +1413,11 @@
       userprofile: {},
       //绯荤粺鐢ㄦ埛鍒楄〃
       userlist: [],
-      //鎵�鏈変汉鍛樿〃
-      personlist: [],
-      //涓撳鍒楄〃
-      expertlist: [],
+      //璐﹀彿鍒楄〃
+      accountlist: [],
       //鍖荤枟鏈烘瀯鍒楄〃
       unitList: [],
-      //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃
-      feeUnitList: [],
+
       // 缃戠粶璇锋眰澶�
       Networkheader: null,
       batchdialogVisible: false,
@@ -1499,8 +1431,6 @@
 
       //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
       ismanager: false,
-      //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧�
-      expertfrom: "1",
       baselisttages: [
         {
           id: 1,
@@ -1541,17 +1471,21 @@
       // 闅忔満鏁�
       randomnumber: "",
 
-      //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit
+      //閫夋嫨绐楀彛鏄剧ず鐘舵��
+      showselectiondialog: false,
+      //閫夋嫨鏃跺綋鍓嶈
+      selectionScope: "",
+      //閫夋嫨绫诲瀷锛氫笓瀹讹紙鍗曚綅锛夎处鎴枫�佸伐浣滃崟浣嶏紙account/workunit锛�
       selectionType: "",
-      showSelectionDialog: false,
+      //璐︽埛閫夋嫨锛�1鏄处鎴峰簱锛�2鏄柊澧�
+      accountfrom: "1",
+      //鍙楃泭浜烘爣绛撅細涓撳璐�-涓撳锛堝崟浣嶏級鍚嶇О锛屽尰瀛︽垚鏈�-鍔炲叕-鍗曚綅锛堜釜浜猴級鍚嶇О
+      beneficiarylabel: "",
       //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦
-      amountLabel: "绋庡墠閲戦",
+      amountlabel: "绋庡墠閲戦",
 
       // 琛ㄥ崟鏍¢獙
       rules: {
-        createTime: [
-          { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" }
-        ],
         reason: [
           { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }
         ],
@@ -1560,47 +1494,73 @@
         ]
       },
 
-      funddetailForm: {
-        index: null,
-        beneficiaryname: null,
-        beneficiaryno: null,
-        unitno: null,
-        unitname: null,
-        expertname: null,
-        expertidcardno: null,
-        expertunitno: null,
-        expertunitname: null,
-        experttitle: null,
-        expertdepositbank: null,
-        expertbankcardno: null
+      dialogrules: {
+        usertype: [
+          { required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" }
+        ],
+        username: [
+          { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" }
+        ],
+        idcardno: [
+          { required: true, message: "璇疯緭鍏ヨ韩浠借处鍙�", trigger: "blur" }
+        ],
+        //idcardno: [{ validator: validatePass, trigger: "blur" }],
+        depositbank: [
+          { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" }
+        ],
+        bankcardno: [
+          { required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" }
+        ]
       },
 
-      expertform: {
-        id: null,
-        address: null,
-        bankcardno: null,
-        branchbankname: null,
-        createBy: null,
-        createTime: null,
-        del_flag: null,
+      accountselectform: {
+        index: null,
+        usertype: "expert",
+        accountname: null,
+        accountno: null,
+        expertunitname: null,
+        expertunitno: null,
         depositbank: null,
+        bankcardno: null,
         idcardno: null,
-        personnelunitno: null,
-        pym: null,
-        remark: null,
-        searchValue: null,
-        sex: null,
-        telephone: null,
         title: null,
         unitname: null,
         unitno: null,
-        updateBy: null,
-        updateTime: null,
+        personnelunitno: null,
+        address: null,
+        telephone: null,
+        username: null,
+        userno: null
+      },
+
+      accountform: {
+        searchValue: null,
+        id: null,
+        userstatus: 0,
+        usertype: null,
+
+        pym: null,
+        wbm: null,
         username: null,
         userno: null,
-        userstatus: 1,
-        usertype: null,
-        wbm: null
+        sex: null,
+        idcardno: null,
+        title: null,
+        address: null,
+        telephone: null,
+        depositbank: null,
+        branchbankname: null,
+        bankcardno: null,
+        unitname: null,
+        unitno: null,
+        personnelunitno: null,
+
+        del_flag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null
       },
       //瀹℃壒鍙傛暟
       checkObj: {
@@ -1642,6 +1602,11 @@
         username: null,
         usertype: null
       },
+      // 鏌ヨ鏈�鏂板簭鍙峰弬鏁�
+      seqnoParams: {
+        businessType: "externalperson",
+        datequery: false
+      },
 
       //璁$畻涓◣鍙傛暟
       taxParam: {
@@ -1667,9 +1632,10 @@
       invoicepdfimg: "",
       invoicepdfimgsrcList: [],
       invoDatatop: [],
-      activeName: 1, //鏂囦欢绫诲瀷
+      activeName: "common", //鏂囦欢绫诲瀷
       //涓婁紶闄勪欢璺緞
       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      ICDtoken: getToken(),
       //鏂囦欢涓婁紶token
       headers: {
         Authorization: "Bearer " + getToken()
@@ -1787,19 +1753,23 @@
       // if (!this.businessType && !this.operationType) {
       if (this.businessType == "1") {
         this.businessName = "涓撳鍔冲姟璐圭敵璇峰崟";
-        this.amountLabel = "绋庡墠閲戦";
+        this.amountlabel = "绋庡墠閲戦";
+        this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�";
         this.getUnitList();
       } else if (this.businessType == "2") {
         this.businessName = "浼︾悊涓撳鍔冲姟璐圭敵璇峰崟";
-        this.amountLabel = "绋庡墠閲戦";
+        this.amountlabel = "绋庡墠閲戦";
+        this.beneficiarylabel = "涓撳鎴栧崟浣嶅悕绉�";
         this.getUnitList();
       } else if (this.businessType == "3") {
         this.businessName = "鍖诲鎴愭湰鎶ラ攢鍗�";
-        this.amountLabel = "閲戦";
+        this.amountlabel = "閲戦";
+        this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�";
         this.getUnitList();
       } else if (this.businessType == "4") {
         this.businessName = "鍔炲叕璐圭敤鎶ラ攢鍗�";
-        this.amountLabel = "閲戦";
+        this.amountlabel = "閲戦";
+        this.beneficiarylabel = "鍗曚綅鍚嶇О鎴栦釜浜�";
         this.getUnitList();
 
         // this.getBaseInfoList();
@@ -1857,11 +1827,8 @@
       this.reset();
 
       getFund(this.curId).then(response => {
-        console.log(response.data, "鍒濆");
-
         this.form = response.data;
         sessionStorage.removeItem("apiform");
-
         sessionStorage.setItem("apiform", JSON.stringify(this.form));
 
         // this.form.recordstate =-1;
@@ -1909,8 +1876,6 @@
       this.reset();
 
       getFund(this.curId).then(response => {
-        console.log(response.data, "鍒濆");
-
         this.form = response.data;
         sessionStorage.removeItem("apiform");
         sessionStorage.setItem("apiform", JSON.stringify(this.form));
@@ -1920,7 +1885,7 @@
         //涓氬姟鏄庣粏
         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.getRowFeeItems(m, this.rbDetails[m]);
@@ -1928,10 +1893,6 @@
             //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
             this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
               r => r.itemid == this.rbDetails[m].itemid
-            );
-            console.log(
-              "this.rbDetails[m].rowfeeblocks",
-              this.rbDetails[m].rowfeeblocks
             );
           }
 
@@ -1957,10 +1918,8 @@
       this.reset();
 
       getFund(this.curId).then(response => {
-        console.log(response.data, "鍒濆");
         this.form = response.data;
         sessionStorage.removeItem("apiform");
-
         sessionStorage.setItem("apiform", JSON.stringify(this.form));
 
         //闄勪欢澶勭悊
@@ -2036,6 +1995,20 @@
           //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍
           //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
           this.form.recordstatus = 0;
+          var currenttime = new Date();
+          this.form.applyTime =
+            currenttime.getFullYear() +
+            "-" +
+            (currenttime.getMonth() + 1) +
+            "-" +
+            currenttime.getDate() +
+            " " +
+            currenttime.getHours() +
+            ":" +
+            currenttime.getMinutes() +
+            ":" +
+            currenttime.getSeconds();
+
           if (!this.form.id) {
             this.form.id = this.$route.query.id;
           }
@@ -2093,19 +2066,6 @@
                 "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                   (k + 1).toString() +
                   "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�"
-              );
-              return;
-            }
-            if (
-              tempDetail.idcardno == null &&
-              this.businessType != "3" &&
-              this.businessType != "4"
-            ) {
-              console.log(1122);
-              this.$modal.msgWarning(
-                "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
-                  (k + 1).toString() +
-                  "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�"
               );
               return;
             }
@@ -2235,6 +2195,19 @@
             // });
           } else {
             this.form.recordstatus = -1;
+            var currenttime = new Date();
+            this.form.applyTime =
+              currenttime.getFullYear() +
+              "-" +
+              (currenttime.getMonth() + 1) +
+              "-" +
+              currenttime.getDate() +
+              " " +
+              currenttime.getHours() +
+              ":" +
+              currenttime.getMinutes() +
+              ":" +
+              currenttime.getSeconds();
 
             // addorupdateFund(this.form).then((response) => {
             //   if (response.code === 200) {
@@ -2250,30 +2223,35 @@
             JSON.stringify(this.rbDetails)
           );
           sessionStorage.setItem("apiform", JSON.stringify(this.form));
-          addorupdateFund(this.form).then(response => {
-            console.log(this.form);
-            console.log(response, "淇濆瓨杩斿弬");
-            if (response.code === 200) {
-              if (this.form.id) {
-                this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒");
-                this.$router.go(-1);
+          addorupdateFund(this.form)
+            .then(response => {
+              if (response.code === 200) {
+                if (this.form.id) {
+                  this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒");
+                  this.$router.go(-1);
+                } else {
+                  this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
+                  this.$store.dispatch("tagsView/delView", this.$route);
+                  this.$router.push({
+                    path: "/finance/applyDetail/",
+                    query: {
+                      id: response.data,
+                      businessType: this.businessType,
+                      operationType: "update",
+                      curCase: this.curCase
+                    }
+                  });
+                }
+                this.form.id = response.data;
+                this.curId = response.data;
+                this.handleUpdate();
               } else {
-                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.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
               }
-            } else {
-              this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
-            }
-          });
+            })
+            .catch(res => {
+              this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + res);
+            });
           //鍏抽棴绐楀彛
           this.loading = false;
           // this.getfundList();
@@ -2281,20 +2259,38 @@
       });
     }, 500),
 
-    //瀹℃壒鎻愪氦
     checksubmit() {
-      console.log(this.checkObj.flowlevelone);
-      if (
-        this.form.checkstatus != 3 &&
-        this.userprofile.nickName == "闄堟厱鍗�" &&
-        this.checkObj.flowlevelone == 1
-      ) {
-        this.$modal.msgError("璇烽�夌‘璁ゆ潗鏂欑姸鎬佸凡鏀跺埌锛�");
+      //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂�
+      if (this.checkObj.flowlevelone == 2) {
+        if (!this.checkObj.flowconclusion) {
+          this.$modal.msgError(
+            "璇疯緭鍏ュ鏍镐笉閫氳繃鐨勮鏄庝俊鎭紝鏂逛究缁忓姙浜轰慨鏀圭敵璇峰崟锛�"
+          );
+          return;
+        }
+      } else if (this.checkObj.flowlevelone == 1) {
+        if (this.userprofile.nickName == "闄堟厱鍗�") {
+          //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂�
+          if (this.form.checkstatus != 3) {
+            this.$modal.msgError("璇峰厛纭鎶ラ攢鐨勭焊璐ㄦ潗鏂欐槸鍚﹀凡缁忔敹鍒帮紒");
+            return;
+          }
+
+          //妫�鏌ヤ釜绋庤绠�
+          if (this.form.applytype == "1" && this.form.fundtaxtime == null) {
+            this.$modal.msgError(
+              "璇峰厛瀹屾垚涓撳璐圭敤鐨勪釜绋庤绠楀悗锛屽啀鎻愪氦瀹℃牳閫氳繃锛�"
+            );
+            return;
+          }
+        }
+      } else {
+        this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒");
         return;
       }
-        this.Savenow();
-        console.log("淇濆瓨骞跺鎵�");
 
+      this.Savenow();
+      console.log("淇濆瓨骞跺鎵�");
     },
 
     // 鍙栨秷鎸夐挳
@@ -2307,7 +2303,6 @@
     getUserProfile() {
       getUserProfile().then(res => {
         this.userprofile = res.data;
-        console.log(this.userprofile);
         this.standardlevel = res.data.standardlevel;
         if (
           this.userprofile.userName == "admin" ||
@@ -2327,7 +2322,6 @@
           this.form.managername = this.userprofile.dept.leader;
           this.form.phone = this.userprofile.phonenumber;
           // this.form.applytype = this.businessType;
-          // this.form.createTime = new Date();
 
           if (this.businessType == "4") {
             this.getUserAccount();
@@ -2343,28 +2337,43 @@
       });
     },
 
-    //鑾峰彇鎵�鏈変笓瀹�/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯鍒楄〃
-    getExternalList() {
+    //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃
+    getAccountList() {
       listExternalperson().then(res => {
-        this.personlist = res.rows;
-        for (let j = 0; j < this.personlist.length; j++) {
-          //鑾峰彇璐圭敤鎶ラ攢鏈烘瀯鍒楄〃
-          if (this.personlist[j].usertype == "org") {
-            this.feeUnitList.push({
-              id: this.personlist[j].id,
-              reportNo: this.personlist[j].userno,
-              reportName: this.personlist[j].username,
-              depositbank: this.personlist[j].depositbank,
-              branchbankname: this.personlist[j].branchbankname,
-              bankcardno: this.personlist[j].bankcardno
-            });
-          }
-          //涓撳浜哄憳鍒楄〃
-          else if (res.rows[j].usertype == "expert") {
-            this.expertlist.push({
-              expertNo: this.personlist[j].id,
-              exportName: this.personlist[j].username
-            });
+        // this.accountlist = res.rows;
+        //鑾峰彇鍚敤鐨勮处鎴峰垪琛�
+        for (let j = 0; j < res.rows.length; j++) {
+          //鍗曚綅璐﹀彿鍒楄〃
+          if (res.rows[j].userstatus == "1") {
+            if (res.rows[j].usertype == "org") {
+              this.accountlist.push({
+                id: res.rows[j].id,
+                userno: res.rows[j].userno,
+                username: res.rows[j].username,
+                idcardno: res.rows[j].idcardno,
+                title: res.rows[j].title,
+                depositbank: res.rows[j].depositbank,
+                bankcardno: res.rows[j].bankcardno,
+                unitno: res.rows[j].unitno,
+                unitname: res.rows[j].unitname,
+                userid:
+                  res.rows[j].username + "锛�" + res.rows[j].bankcardno + "锛�"
+              });
+            } else {
+              this.accountlist.push({
+                id: res.rows[j].id,
+                userno: res.rows[j].userno,
+                username: res.rows[j].username,
+                idcardno: res.rows[j].idcardno,
+                title: res.rows[j].title,
+                depositbank: res.rows[j].depositbank,
+                bankcardno: res.rows[j].bankcardno,
+                unitno: res.rows[j].unitno,
+                unitname: res.rows[j].unitname,
+                userid:
+                  res.rows[j].username + "锛�" + res.rows[j].idcardno + "锛�"
+              });
+            }
           }
         }
       });
@@ -2372,38 +2381,12 @@
 
     //鑾峰彇缁忓姙浜鸿处鍙蜂俊鎭�
     getUserAccount() {
-      this.personlist.map(res => {
+      this.accountlist.map(res => {
         if (res.username == this.form.username) {
-          this.form.bankname = res.depositbank; //res.branchbankname銆乺es.depositbank;
+          this.form.bankname = res.depositbank;
           this.form.bankcardno = res.bankcardno;
           this.form.phone = res.telephone;
         }
-      });
-    },
-
-    //鑾峰彇涓撳浜哄憳鍒楄〃
-    getExpertList() {
-      let types = ["expert"];
-      let templist = [];
-      for (let i = 0; i < types.length; i++) {
-        templist = [];
-        listReportname(types[i]).then(res => {
-          for (let j = 0; j < res.data.length; j++) {
-            templist.push({
-              reportName: res.data[j].reportName,
-              reportNo: res.data[j].reportNo
-            });
-          }
-          this.expertlist = this.expertlist.concat(templist);
-        });
-      }
-    },
-
-    //鑾峰彇璐圭敤鏈烘瀯鍒楄〃
-    getFeeUnitList() {
-      listReportname("org").then(res => {
-        this.feeUnitList = res.data;
-        console.log(this.feeUnitList);
       });
     },
 
@@ -2412,7 +2395,6 @@
       listOrganization(3).then(response => {
         for (let i = 0; i < response.rows.length; i++) {
           this.unitList.push({
-            //organizationid: response.rows[i].organizationid,
             organizationid: response.rows[i].id,
             organizationname: response.rows[i].organizationname
           });
@@ -2471,7 +2453,6 @@
     //鑾峰彇鏈嶅姟椤圭洰
     getRowFeeItems(rowindex, row) {
       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
-      console.log(list[0]);
       row.itemlist = list[0].itemDetails;
       this.$set(this.rbDetails, rowindex, row);
     },
@@ -2493,22 +2474,11 @@
             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;
-          // this.rbDetails.map(item => {
-          //   this.form.serviceFunddetails += item.amount;
-          // });
         }
       });
     },
@@ -2600,7 +2570,6 @@
         }
         targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅
       }
-      console.log(targetValue, "鍚堣");
       this.form.pretaxcost = targetValue;
     },
 
@@ -2816,8 +2785,10 @@
                   flowconclusion: this.checkObj.flowlevelone,
                   flowcontent: this.checkObj.flowconclusion
                 };
+                this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒");
                 checkfund(checkFundObj).then(res => {
                   //鍏抽棴绐楀彛
+                  this.$modal.closeLoading();
                   this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
                   this.$store.dispatch("tagsView/delView", this.$route);
                   this.$router.go(-1);
@@ -2825,7 +2796,7 @@
               }
               this.Getnetworkheader();
               this.getroute();
-              this.getExternalList();
+              this.getAccountList();
               this.getUserList();
               this.getUserProfile();
             } else {
@@ -2852,7 +2823,6 @@
     // 鎵嬪姩璁$畻
     Manualcalculationfn() {
       ManualCalculation(this.rbDetails).then(res => {
-        console.log(res);
         if (res.code == 200) {
           sessionStorage.removeItem("apiform");
           sessionStorage.removeItem("apifunddetail");
@@ -2862,20 +2832,22 @@
           );
           sessionStorage.setItem("apiform", JSON.stringify(this.form));
           // this.$router.go(0);
-          this.$router.push({
-            path: "/finance/applyDetail/",
-            query: {
-              id: this.curId,
-              businessType: this.businessType,
-              operationType: this.operationType,
-              curCase: this.curCase
-            }
-          });
-        } else {
-          // this.$message({
-          //   type: "error",
-          //   message: "鐢宠澶辫触"
+          // this.$router.push({
+          //   path: "/finance/applyDetail/",
+          //   query: {
+          //     id: this.curId,
+          //     businessType: this.businessType,
+          //     operationType: this.operationType,
+          //     curCase: this.curCase
+          //   }
           // });
+          this.$modal.msgSuccess("璁$畻鎴愬姛");
+          this.handleCheck();
+        } else {
+          this.$message({
+            type: "error",
+            message: "璁$畻閿欒"
+          });
         }
       });
     },
@@ -2993,10 +2965,6 @@
         rowfeeblocks: [],
         annexfiles: null
       };
-      // if (this.Reminderquantity >= 5) {
-      //   this.Savereminder = true;
-      //   return;
-      // }
       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
         this.rbDetails.push(rowData);
       } else {
@@ -3128,30 +3096,49 @@
     totalprint(e) {
       // const id =this.row.id
       getdownloadBX(e).then(res => {
-        if (res.downloadUrl) {
-          var fileUrl = res;
-          //鑾峰彇褰撳墠缃戝潃
-          var urlBase = process.env.VUE_APP_BASE_API;
-          var curWWWPath = window.document.location.href;
-          var pos = curWWWPath.indexOf(window.document.location.pathname);
-          // 鍒涘缓a鏍囩
-          var aEle = document.createElement("a");
-          aEle.href =
-            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
-          aEle.click();
-          this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", {
-            confirmButtonText: "纭畾",
-            type: "success"
+        var fileUrl = res;
+        //鑾峰彇褰撳墠缃戝潃
+        var urlBase = process.env.VUE_APP_BASE_API;
+        var curWWWPath = window.document.location.href;
+        var pos = curWWWPath.indexOf(window.document.location.pathname);
+        // 鍒涘缓a鏍囩
+        var aEle = document.createElement("a");
+        aEle.href =
+          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+        console.log(aEle.href);
+        // 娣诲姞Authorization澶撮儴
+        fetch(aEle.href, {
+          headers: this.headers
+        })
+          .then(response => {
+            // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇
+            return response.blob();
+          })
+          .then(blob => {
+            const url = window.URL.createObjectURL(new Blob([blob]));
+            console.log(url);
+            const link = document.createElement("a");
+            link.href = url;
+            const name = fileUrl["downloadName"];
+            link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
+            document.body.appendChild(link);
+            link.click();
+            link.parentNode.removeChild(link);
           });
-        }
       });
     },
 
-    //鏂囦欢涓婁紶
+    handleImageError(e) {
+      // 鍔犺浇澶辫触
+    },
+    handleImageLoad(e) {
+      // 鍥剧墖鍔犺浇鎴愬姛鏃舵墽琛岀殑鎿嶄綔
+      console.log("Image loaded successfully");
+    },
     handleUploadError() {},
     remove(file, fileList) {
       const rbDetails = [...this.rbDetails];
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         this.fileListto.splice(this.fileListto.indexOf(file), 1);
         rbDetails[this.atpresent].annexfilesList = this.fileListto;
       } else {
@@ -3162,106 +3149,199 @@
 
     uploadSccess(response, file, fileList) {
       this.rbDetails;
+      const config = {
+        headers: { Authorization: "Bearer " + this.ICDtoken }
+      };
+      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
       //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         if (response.code == 200) {
-          // this.form.filename = file.raw.name;
           this.previewpdf = true;
+
+          fetch(pdfimg, config)
+            .then(response => response.blob())
+            .then(blob => {
+              // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
+              this.pdfimg = URL.createObjectURL(blob);
+              this.pdfimgsrcList.push(URL.createObjectURL(blob));
+              this.fileListto.push({
+                name: file.name,
+                url: URL.createObjectURL(blob)
+              });
+            })
+            .catch(error => {
+              console.error("Error loading image", error);
+              return;
+            });
+
           this.$modal.msgSuccess(response.msg);
-          this.fileListto.push({
+
+          console.log(this.fileListto, "鏂板鍚�");
+          if (!this.rbDetails[this.atpresent].annexfilesList) {
+            this.rbDetails[this.atpresent].annexfilesList = [];
+          }
+          this.rbDetails[this.atpresent].annexfilesList.push({
             name: file.name,
             url: response.fileName
           });
-          this.pdfimgsrcList.push(
-            this.Networkheader + "/prod-api" + response.fileName
-          );
-          console.log(this.pdfimgsrcList);
           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);
         }
       } else {
         if (response.code == 200) {
-          // this.form.filename = file.raw.name;
           this.previewpdf = true;
+          fetch(pdfimg, config)
+            .then(response => response.blob())
+            .then(blob => {
+              // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
+              this.invoicepdfimg = URL.createObjectURL(blob);
+              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
+              this.invoicefileListto.push({
+                name: file.name,
+                url: URL.createObjectURL(blob)
+              });
+            })
+            .catch(error => {
+              console.error("Error loading image", error);
+              return;
+            });
+
           this.$modal.msgSuccess(response.msg);
-          this.invoicefileListto.push({
+
+          console.log(this.invoicefileListto, "鏂板鍚�");
+          if (!this.rbDetails[this.atpresent].invoicefilesList) {
+            this.rbDetails[this.atpresent].invoicefilesList = [];
+          }
+          this.rbDetails[this.atpresent].invoicefilesList.push({
             name: file.name,
             url: response.fileName
           });
-          this.invoicepdfimgsrcList.push(
-            this.Networkheader + "/prod-api" + response.fileName
-          );
-          console.log(this.invoicepdfimgsrcList);
           this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
-          this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
-          this.rbDetails[
-            this.atpresent
-          ].invoicefilesList = this.invoicefileListto;
-          console.log(this.rbDetails[this.atpresent]);
-        } else {
-          console.log(response.msg);
         }
       }
     },
 
     // 鐐瑰嚮绁ㄦ嵁
     Filepopup(index, rows, row) {
+      const config = {
+        headers: { Authorization: "Bearer " + this.ICDtoken }
+      };
+
       this.tableDatatop = [];
+      this.fileListto = [];
+      this.invoicefileListto = [];
+      this.pdfimg = "";
+      this.invoicepdfimg = [];
       this.pdfimgsrcList = [];
-      this.invoDatatop = [];
       this.invoicepdfimgsrcList = [];
-      this.invoDatatop.push(row);
       this.tableDatatop.push(row);
       this.atpresent = index;
       this.pdfVisible = true;
-      console.log(this.rbDetails[index]);
+
       if (this.rbDetails[index].annexfilesList) {
-        this.previewpdf = true;
-        this.fileListto = this.rbDetails[index].annexfilesList;
-        console.log(this.fileListto);
-        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
-        this.fileListto.forEach(item => {
-          this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
+        // this.rbDetails[index].annexfilesList.forEach((value, indexson) => {
+        //   const pdfimg = this.Networkheader + "/prod-api" + value.url;
+        //   fetch(pdfimg, config)
+        //     .then(response => response.blob())
+        //     .then(blob => {
+        //       // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
+        //       this.fileListto.push({
+        //         name: value.name,
+        //         url: URL.createObjectURL(blob)
+        //       });
+        //       if (this.fileListto.length == 1) {
+        //         this.pdfimg = URL.createObjectURL(blob);
+        //       }
+        //       this.pdfimgsrcList.push(URL.createObjectURL(blob));
+        //     })
+        //     .catch(error => {
+        //       console.error("Error loading image", error);
+        //       return;
+        //     });
+        // });
+
+        const fetchPromises = this.rbDetails[index].annexfilesList.map(
+          (value, indexson) => {
+            const pdfimg = this.Networkheader + "/prod-api" + value.url;
+            return fetch(pdfimg, config)
+              .then(response => response.blob())
+              .then(blob => {
+                return {
+                  name: value.name,
+                  url: URL.createObjectURL(blob)
+                };
+              })
+              .catch(error => {
+                console.error("Error loading image", error);
+                return null;
+              });
+          }
+        );
+
+        Promise.all(fetchPromises).then(fileListto => {
+          this.fileListto = fileListto.filter(item => item !== null);
+          this.pdfimg = this.fileListto[0].url;
+          console.log(this.pdfimg, "pdfimg");
+          this.pdfimgsrcList = this.fileListto.map(item => item.url);
         });
+
+        this.previewpdf = true;
       } else {
         this.fileListto = [];
         this.pdfimg = "";
         this.pdftitle = "";
       }
-      // -鍙戠エ鏂囦欢
+      //鍙戠エ
       if (this.rbDetails[index].invoicefilesList) {
-        this.previewpdf = true;
-        this.invoicefileListto = this.rbDetails[index].invoicefilesList;
-        console.log(this.invoicefileListto);
-        this.invoicepdfimg =
-          this.Networkheader + "/prod-api" + this.invoicefileListto[0].url;
-        this.invoicefileListto.forEach(item => {
-          this.invoicepdfimgsrcList.push(
-            this.Networkheader + "/prod-api" + item.url
+        const fetchPromises = this.rbDetails[index].invoicefilesList.map(
+          (value, indexson) => {
+            const pdfimg = this.Networkheader + "/prod-api" + value.url;
+            return fetch(pdfimg, config)
+              .then(response => response.blob())
+              .then(blob => {
+                return {
+                  name: value.name,
+                  url: URL.createObjectURL(blob)
+                };
+              })
+              .catch(error => {
+                console.error("Error loading image", error);
+                return null;
+              });
+          }
+        );
+
+        Promise.all(fetchPromises).then(invoicefileListto => {
+          this.invoicefileListto = invoicefileListto.filter(
+            item => item !== null
+          );
+          this.invoicepdfimg = this.invoicefileListto[0].url;
+          console.log(this.invoicepdfimg, "invoicepdfimg");
+          this.invoicepdfimgsrcList = this.invoicefileListto.map(
+            item => item.url
           );
         });
-        console.log(this.invoicepdfimgsrcList);
-        console.log(this.invoicepdfimg);
+
+        this.previewpdf = true;
       } else {
         this.invoicefileListto = [];
         this.invoicepdfimg = "";
         this.pdftitle = "";
       }
 
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
       } else {
         this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
       }
+      console.log(this.fileListto, "this.fileListto");
+      console.log(this.rbDetails[index].annexfilesList, "annexfilesList");
     },
 
     // 鐐瑰嚮宸蹭笂浼犳枃浠�
     downFile(item) {
-      if (this.activeName == 1) {
-        console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem");
+      if (this.activeName == "common") {
         this.pdftitle =
           "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name;
         let name = item.name.split(".");
@@ -3270,11 +3350,12 @@
           this.previewpdf = false;
           this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
         } else if (name[1] == "jpg" || "png") {
+          console.log(item, "灞曠ず");
           this.previewpdf = true;
           if (item.url) {
-            this.pdfimg = this.Networkheader + "/prod-api" + item.url;
+            this.pdfimg = item.url;
           } else {
-            this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
+            this.pdfimg = "";
           }
         } else {
           this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -3282,7 +3363,6 @@
           this.previewpdf = false;
         }
       } else {
-        console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem");
         this.pdftitle =
           "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name;
         let name = item.name.split(".");
@@ -3293,12 +3373,9 @@
         } else if (name[1] == "jpg" || "png") {
           this.previewpdf = true;
           if (item.url) {
-            this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url;
-            console.log(this.invoicepdfimg, "pdfimg");
-            console.log(this.invoicepdfimgsrcList, "imglist");
+            this.invoicepdfimg = item.url;
           } else {
-            this.invoicepdfimg =
-              this.Networkheader + "/prod-api" + item.response.url;
+            this.invoicepdfimg = "";
           }
         } else {
           this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -3312,7 +3389,7 @@
     },
     // 鍙戠エ鍒囨崲
     handleClick(tab, event) {
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
       } else {
         this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
@@ -3320,203 +3397,324 @@
     },
     // 鐐瑰嚮鍒犻櫎
     deletedowfile(row) {
-      if (this.activeName == 1) {
-        const indexlist = this.getIndexInArray(
-          this.pdfimgsrcList,
-          this.Networkheader + "/prod-api" + row.url
-        );
+      console.log(row);
+      let indexvalue = "";
+      if (this.activeName == "common") {
+        const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url);
         this.pdfimgsrcList.splice(indexlist, 1);
         const index = this.getIndexInArray(this.fileListto, row);
         this.fileListto.splice(index, 1);
+        console.log(this.rbDetails[this.atpresent].annexfilesList);
+        indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex(
+          item => item.name == row.name
+        );
+        console.log(indexvalue, "鍒犻櫎绱㈠紩");
+        this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
       } else {
         const indexlist = this.getIndexInArray(
           this.invoicepdfimgsrcList,
-          this.Networkheader + "/prod-api" + row.url
+          row.url
         );
         this.invoicepdfimgsrcList.splice(indexlist, 1);
         const index = this.getIndexInArray(this.invoicefileListto, row);
         this.invoicefileListto.splice(index, 1);
+        console.log(this.rbDetails[this.atpresent].invoicefilesList);
+        indexvalue = this.rbDetails[this.atpresent].invoicefilesList.findIndex(
+          item => item.name == row.name
+        );
+        console.log(indexvalue, "鍒犻櫎绱㈠紩");
+        this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
       }
     },
     // 鐐瑰嚮涓婄Щ
     moveupdowfile(row) {
-      if (this.activeName == 1) {
-        const index = this.getIndexInArray(this.fileListto, row);
+      if (this.activeName == "common") {
+        const index = this.fileListto.findIndex(item => item.name == row.name);
         const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
         this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+
+        const indexann = this.rbDetails[
+          this.atpresent
+        ].annexfilesList.findIndex(item => item.name == row.name);
+        const itemann = this.rbDetails[this.atpresent].annexfilesList.splice(
+          indexann,
+          1
+        )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+        this.rbDetails[this.atpresent].annexfilesList.splice(
+          indexann - 1,
+          0,
+          itemann
+        ); // 灏唅temann鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+        console.log(indexann, "indexann");
+        console.log(index, "index");
       } else {
-        const index = this.getIndexInArray(this.invoicefileListto, row);
+        const index = this.invoicefileListto.findIndex(
+          item => item.name == row.name
+        );
+
         const item = this.invoicefileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
         this.invoicefileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+
+        const indexinvo = this.rbDetails[
+          this.atpresent
+        ].invoicefilesList.findIndex(item => item.name == row.name);
+        const iteminvo = this.rbDetails[this.atpresent].invoicefilesList.splice(
+          indexinvo,
+          1
+        )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+        this.rbDetails[this.atpresent].invoicefilesList.splice(
+          indexinvo - 1,
+          0,
+          iteminvo
+        ); // 灏唅teminvo鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
       }
+      console.log(
+        this.rbDetails[this.atpresent].annexfilesList,
+        "annexfilesList"
+      );
+      console.log(this.fileListto, "fileListto");
+      // console.log(this.rbDetails[this.atpresent].invoicefilesList,'invoicefilesList');
     },
-    //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
-    ShowDetailDialog(spoce, showType) {
-      this.spocewl = spoce;
-      this.selectionType = showType;
-      if (this.businessType == 4 || this.businessType == 3 || !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;
-      this.funddetailForm.unitno = spoce.row.unitno;
-      this.funddetailForm.unitname = spoce.row.unitname;
-      this.funddetailForm.expertname = "";
-      this.funddetailForm.expertidcardno = "";
-      this.funddetailForm.expertunitno = "";
-      this.funddetailForm.expertunitname = "";
-      this.funddetailForm.experttitle = "";
-      this.funddetailForm.expertdepositbank = "";
-      this.funddetailForm.expertbankcardno = "";
-
-      this.showSelectionDialog = true;
+    Downloadfile(row) {
+      window.location.href = row.url;
     },
 
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
-    ConfirmDetailDialog() {
-      // 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];
+    showSelectionDialog(scope, selectiontype) {
+      this.selectionScope = scope;
+      this.selectionType = selectiontype;
+      this.accountselectform.index = scope.$index;
 
-      if (
-        this.selectionType == "expert" ||
-        this.businessType == 4 ||
-        this.businessType == 3
-      ) {
-        if (this.expertfrom == "1" || this.experthear == "unit") {
-          //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
-          this.personlist.map(res => {
-            if (tempExpertName == res.username) {
-              singleDetail.beneficiaryno = res.userno;
-              singleDetail.beneficiaryname = res.username;
-              singleDetail.bankcardno = res.bankcardno;
-              singleDetail.branchbankname = res.branchbankname;
-              singleDetail.depositbank = res.depositbank;
-              singleDetail.idcardno = res.idcardno;
-              singleDetail.phone = res.telephone;
-              singleDetail.title = res.title;
-              singleDetail.unitname = res.unitname;
-              singleDetail.unitno = parseInt(res.unitno);
-            }
-          });
+      if (this.selectionType == "account") {
+        //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴�
+        this.accountfrom = "1";
+        if (scope.row.idcardno) {
+          this.accountselectform.accountname =
+            scope.row.beneficiaryname + "锛�" + scope.row.idcardno + "锛�";
         } else {
-          //淇濆瓨鏂板涓撳
-          this.expertform.id = null;
-          this.expertform.userno =
-            this.personlist[this.personlist.length - 1].id + 1;
-          this.expertform.usertype = "expert";
-          this.expertform.username = this.funddetailForm.expertname;
-          this.expertform.idcardno = this.funddetailForm.expertidcardno;
-          this.expertform.sex = null;
-          this.expertform.telephone = null;
-          this.expertform.address = null;
-          this.expertform.wbm = null;
-          this.expertform.pym = null;
+          this.accountselectform.accountname =
+            scope.row.beneficiaryname + "锛�" + scope.row.bankcardno + "锛�";
+        }
+        this.accountselectform.accountno = scope.row.beneficiaryno;
+        this.accountselectform.expertunitname = "";
+        this.accountselectform.expertunitno = "";
 
-          this.expertform.unitno = this.funddetailForm.expertunitno;
-          try {
-            let unitIndex = this.unitList.findIndex(
-              item => this.expertform.unitno == item.organizationid
-            );
-            if (unitIndex > -1) {
-              this.expertform.unitname = this.unitList[
-                unitIndex
-              ].organizationname;
-            } else {
-              this.expertform.unitname = this.expertform.unitno;
-            }
-          } catch {
-            this.expertform.unitname = this.expertform.unitno;
-          }
-          this.expertform.title = this.funddetailForm.experttitle;
-          this.expertform.personnelunitno = null;
+        this.accountselectform.username = "";
+        this.accountselectform.userno = "";
+        this.accountselectform.idcardno = "";
+        this.accountselectform.telephone = "";
+        this.accountselectform.title = "";
+        this.accountselectform.unitno = "";
+        this.accountselectform.unitname = "";
+        this.accountselectform.depositbank = "";
+        this.accountselectform.bankcardno = "";
+        this.accountselectform.personnelunitno = "";
+        this.accountselectform.address = "";
+        this.accountselectform.telephone = "";
+      } else if (this.selectionType == "workunit") {
+        this.accountselectform.expertunitname = scope.row.unitname;
+        this.accountselectform.expertunitno = scope.row.unitno;
+      }
+      this.showselectiondialog = true;
+    },
 
-          this.expertform.depositbank = this.funddetailForm.expertdepositbank;
-          this.expertform.bankcardno = this.funddetailForm.expertbankcardno;
-          this.expertform.branchbankname = null;
-          this.expertform.remark = null;
-          this.expertform.del_flag = "0";
+    //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
+    confirmSelectionDialog() {
+      this.$refs["accountselectform"].validate(valid => {
+        let tempIndex = this.accountselectform.index;
+        if (this.selectionType == "account") {
+          if (this.accountfrom == "1") {
+            //璧嬪�间俊鎭�
+            if (
+              this.rbDetails[tempIndex].userno != this.accountselectform.userno
+            ) {
+              this.accountlist.map(res => {
+                if (res.id == this.accountselectform.accountname) {
+                  this.rbDetails[tempIndex].beneficiaryno = res.userno;
+                  this.rbDetails[tempIndex].beneficiaryname = res.username;
+                  this.rbDetails[tempIndex].depositbank = res.depositbank;
+                  this.rbDetails[tempIndex].branchbankname = res.branchbankname;
+                  this.rbDetails[tempIndex].bankcardno = res.bankcardno;
+                  this.rbDetails[tempIndex].phone = res.telephone;
 
-          addExternalperson(this.expertform).then(response => {
-            if (response.code == 200) {
-              this.$modal.msgSuccess("鏂板涓撳淇℃伅鎴愬姛锛�");
-
-              listExternalperson().then(res => {
-                this.personlist = res.rows;
-                //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
-                this.personlist.map(res => {
-                  if (res.username == this.funddetailForm.expertname) {
-                    singleDetail.beneficiaryno = res.userno;
-                    singleDetail.beneficiaryname = res.username;
-                    singleDetail.bankcardno = res.bankcardno;
-                    singleDetail.branchbankname = res.branchbankname;
-                    singleDetail.depositbank = res.depositbank;
-                    singleDetail.idcardno = res.idcardno;
-                    singleDetail.phone = res.telephone;
-                    singleDetail.title = res.title;
-                    singleDetail.unitname = res.unitname;
-                    singleDetail.unitno = parseInt(res.unitno);
+                  if (res.usertype == "org") {
+                    this.rbDetails[tempIndex].idcardno = "";
+                    this.rbDetails[tempIndex].title = "";
+                    this.rbDetails[tempIndex].unitno = "";
+                    this.rbDetails[tempIndex].unitname = "";
+                  } else {
+                    this.rbDetails[tempIndex].idcardno = res.idcardno;
+                    this.rbDetails[tempIndex].title = res.title;
+                    this.rbDetails[tempIndex].unitno = parseInt(res.unitno);
+                    this.rbDetails[tempIndex].unitname = res.unitname;
                   }
-                });
+                }
               });
             }
-          });
-        }
-      } else if (this.selectionType == "unit") {
-        singleDetail.unitno = this.funddetailForm.unitno;
-        if (this.businessType == 1 || this.businessType == 2) {
-          try {
-            let unitIndex = this.unitList.findIndex(
-              item => singleDetail.unitno == item.organizationid
-            );
-            if (unitIndex > -1) {
-              singleDetail.unitname = this.unitList[unitIndex].organizationname;
-            } else {
-              singleDetail.unitname = singleDetail.unitno;
-            }
-          } catch {
-            singleDetail.unitname = singleDetail.unitno;
+          } else if (this.accountfrom == "2") {
+            //淇濆瓨鏂板璐﹀彿
+            //鑾峰彇鐢ㄦ埛缂栧彿
+            getOnlyCode(this.seqnoParams).then(res => {
+              this.accountform.userno = res.data.currentvalue;
+
+              this.accountform.id = null;
+              this.accountform.usertype = this.accountselectform.usertype;
+              this.accountform.username = this.accountselectform.username;
+              this.accountform.idcardno = this.accountselectform.idcardno;
+              this.accountform.sex = null;
+              this.accountform.title = this.accountselectform.title;
+              this.accountform.telephone = this.accountselectform.telephone;
+              this.accountform.address = this.accountselectform.address;
+              this.accountform.wbm = null;
+              this.accountform.pym = null;
+
+              this.accountform.depositbank = this.accountselectform.depositbank;
+              this.accountform.bankcardno = this.accountselectform.bankcardno;
+              this.accountform.branchbankname = null;
+              this.accountform.remark = null;
+              this.accountform.del_flag = "0";
+              this.accountform.personnelunitno = null;
+
+              if (this.accountselectform.usertype == "expert") {
+                this.accountform.unitno = this.accountselectform.unitno;
+                this.unitList.map(res => {
+                  if (res.organizationid == this.accountform.unitno) {
+                    this.accountform.unitname = res.organizationname;
+                  }
+                });
+              } else {
+                this.accountform.userstatus = 1;
+              }
+
+              addExternalperson(this.accountform).then(response => {
+                if (response.code == 200) {
+                  // //閲嶆柊鑾峰彇璐︽埛鍒楄〃
+                  // listExternalperson().then(res => {
+                  //   this.accountlist = res.rows;
+                  // });
+
+                  console.log("addExternalperson", response.data.id);
+                  if (this.accountselectform.usertype == "org") {
+                    this.accountlist.push({
+                      id: response.data.id,
+                      userno: this.accountform.userno,
+                      username: this.accountform.username,
+                      idcardno: this.accountform.idcardno,
+                      title: this.accountform.title,
+                      depositbank: this.accountform.depositbank,
+                      bankcardno: this.accountform.bankcardno,
+                      unitno: this.accountform.unitno,
+                      unitname: this.accountform.unitname,
+                      userid:
+                        this.accountform.username +
+                        "锛�" +
+                        this.accountform.bankcardno +
+                        "锛�"
+                    });
+                    this.$modal.msgSuccess("鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭紒");
+                  } else {
+                    this.accountlist.push({
+                      id: response.data.id,
+                      userno: this.accountform.userno,
+                      username: this.accountform.username,
+                      idcardno: this.accountform.idcardno,
+                      title: this.accountform.title,
+                      depositbank: this.accountform.depositbank,
+                      bankcardno: this.accountform.bankcardno,
+                      unitno: this.accountform.unitno,
+                      unitname: this.accountform.unitname,
+                      userid:
+                        this.accountform.username +
+                        "锛�" +
+                        this.accountform.idcardno +
+                        "锛�"
+                    });
+                    this.$modal.msgSuccess(
+                      "鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭�,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒"
+                    );
+                    return;
+                  }
+                  this.accountselectform.accountno = this.accountform.userno;
+                  this.accountselectform.accountname = this.accountselectform.username;
+
+                  //璧嬪�间俊鎭�
+                  this.accountlist.map(res => {
+                    if (res.userno == this.accountselectform.accountno) {
+                      this.rbDetails[tempIndex].beneficiaryno = res.userno;
+                      this.rbDetails[tempIndex].beneficiaryname = res.username;
+                      this.rbDetails[tempIndex].depositbank = res.depositbank;
+                      this.rbDetails[tempIndex].branchbankname =
+                        res.branchbankname;
+                      this.rbDetails[tempIndex].bankcardno = res.bankcardno;
+                      this.rbDetails[tempIndex].phone = res.telephone;
+
+                      if (res.usertype == "org") {
+                        this.rbDetails[tempIndex].idcardno = "";
+                        this.rbDetails[tempIndex].title = "";
+                        this.rbDetails[tempIndex].unitno = "";
+                        this.rbDetails[tempIndex].unitname = "";
+                      } else {
+                        this.rbDetails[tempIndex].idcardno = res.idcardno;
+                        this.rbDetails[tempIndex].title = res.title;
+                        this.rbDetails[tempIndex].unitno = parseInt(res.unitno);
+                        this.rbDetails[tempIndex].unitname = res.unitname;
+                      }
+                    }
+                  });
+                }
+              });
+            });
           }
-        } else if (this.businessType == 3 || this.businessType == 4) {
-          try {
-            let unitIndex = this.feeUnitList.findIndex(
-              item => singleDetail.unitno == item.reportNo
-            );
-            if (unitIndex > -1) {
-              singleDetail.unitname = this.feeUnitList[unitIndex].reportName;
-              singleDetail.depositbank = this.feeUnitList[
-                unitIndex
-              ].depositbank;
-              singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno;
-            } else {
-              singleDetail.unitname = singleDetail.unitno;
-            }
-          } catch {
-            singleDetail.unitname = singleDetail.unitno;
+        } else if (this.selectionType == "workunit") {
+          if (
+            this.rbDetails[tempIndex].unitname !=
+            this.accountselectform.expertunitname
+          ) {
+            this.rbDetails[
+              tempIndex
+            ].unitname = this.accountselectform.expertunitname;
+            this.unitList.map(res => {
+              if (
+                res.organizationname == this.accountselectform.expertunitname
+              ) {
+                this.rbDetails[tempIndex].unitno = res.organizationid;
+              }
+            });
           }
         }
+
+        //鍏抽棴绐楀彛
+        this.showselectiondialog = false;
+      });
+    },
+
+    tableParValueChange(row, tto) {
+      const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/;
+      if (tto) {
+        if (regex.test(accountselectform.expertidcardno)) {
+          row.error = "";
+        } else {
+          row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�";
+        }
+        return;
       }
 
-      // if (this.experthear == "unit") {
-      //   singleDetail.unitname = "";
-      // }
-      if (this.businessType == 4 || this.businessType == 3) {
-        singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
+      if (regex.test(row.idcardno)) {
+        row.error = "";
+      } else {
+        row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�";
       }
-      this.rbDetails[tempIndex] = singleDetail;
-      this.showSelectionDialog = false;
+    },
+
+    //璐︽埛绫诲瀷閫夋嫨鍙樺寲
+    userTypeChange(type) {
+      if (type == "org") {
+        this.accountselectform.idcardno = "";
+        this.accountselectform.unitno = "";
+        this.accountselectform.unitname = "";
+        this.accountselectform.personnelunitno = "";
+      }
+      // this.$modal.msgWarning(type);
     }
   },
 
@@ -3525,19 +3723,16 @@
     //鑾峰彇璺敱鍙傛暟
     this.Getnetworkheader();
     this.getroute();
-    this.getExternalList();
-    this.getFeeUnitList();
+    this.getAccountList();
+    this.getUserProfile();
   },
 
   //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
   mounted() {
     window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
     this.getUserList();
-    this.getUserProfile();
-    let apifunddetailForm = this.funddetailForm;
+    let apiaccountselectform = this.accountselectform;
     let apiform = this.form;
-
-    // this.getFeeUnitList();
   },
   beforeRouteLeave(to, from, next) {
     // 鎵ц閿�姣佹搷浣�

--
Gitblit v1.9.3