From 4c70b785d9ecdd6fbb5e0e324eed9b3222401465 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期二, 11 八月 2026 22:12:21 +0800
Subject: [PATCH] 放开报销单修改删除下载权限

---
 src/views/project/fund/applyDetail/index.vue | 1115 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 706 insertions(+), 409 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 2771bcd..df6f172 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -6,6 +6,11 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
           <el-col :span="5">
+            <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.applyTime" type="date"
                 value-format="yyyy-MM-dd HH:mm:ss" placeholder="鏃�   鏈�">
@@ -22,18 +27,13 @@
             </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>
         <el-row>
-          <!--         
+          <!--
           <el-col :span="7">
             <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno">
               <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" />
@@ -47,31 +47,34 @@
               }}</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 v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" />
             </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">
               <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" :disabled="true">
@@ -101,12 +104,23 @@
               <el-button type="primary" icon="el-icon-download" size="small" @click="Batchentry">鎵归噺褰曞叆涓撳</el-button>
             </div>
           </el-col>
-          <el-col :span="3" v-if="userprofile.nickName == '闄堟厱鍗�' && (businessType == '1' || businessType == '2')">
+          <!-- <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>
+              <el-button
+                type="success"
+                icon="el-icon-edit-outline"
+                size="small"
+                @click="Manualcalculationfn"
+                >璁$畻涓◣</el-button
+              >
             </div>
-          </el-col>
+          </el-col> -->
         </el-row>
         <el-row>
           <el-table :data="rbDetails" v-loading="loading" max-height="800" border highlight-current-row>
@@ -115,10 +129,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" label="鏈嶅姟绫诲瀷" width="200">
               <template slot-scope="scope">
                 <el-select v-model="scope.row.applytype" placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" @change="verifyFeeItemType(scope.row)">
@@ -129,8 +139,8 @@
             </el-table-column>
             <el-table-column prop="itemid" align="center" label="鏈嶅姟椤圭洰" width="260">
               <template slot-scope="scope">
-                <el-select v-model="scope.row.itemid" placeholder="璇烽�夋嫨鏈嶅姟椤圭洰" filterable @change="verifyFeeItem(scope.row)"
-                  :filter-method="val => searchItemType(val, scope)">
+                <el-select v-model="scope.row.itemid" placeholder="璇烽�夋嫨鏈嶅姟椤圭洰" filterable
+                  @change="verifyFeeItem(scope.row)" :filter-method="val => searchItemType(val, scope)">
                   <el-option v-for="dict in scope.row.itemlist" :key="dict.index" :label="dict.itemName"
                     :value="dict.id"></el-option>
                 </el-select>
@@ -147,18 +157,20 @@
             </el-table-column>
             <el-table-column prop="price" align="center" label="鍗曚环" width="120" v-if="businessType == 4">
               <template slot-scope="scope">
-                <el-input v-model="scope.row.price" placeholder="鍗曚环" @blur="val => {
-                  sumTotalFee(scope.row);
-                }
-                  " />
+                <el-input v-model="scope.row.price" placeholder="鍗曚环" @blur="
+                  val => {
+                    sumTotalFee(scope.row);
+                  }
+                " />
               </template>
             </el-table-column>
             <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="businessType == 4">
               <template slot-scope="scope">
-                <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => {
-                  sumTotalFee(scope.row);
-                }
-                  " />
+                <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="
+                  val => {
+                    sumTotalFee(scope.row);
+                  }
+                " />
               </template>
             </el-table-column>
             <el-table-column prop="amount" align="center" :label="amountlabel" width="120">
@@ -166,14 +178,16 @@
                 <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')">
+            <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.taxamount" placeholder="鎵g◣閲戦" />
               </template>
             </el-table-column>
             <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120"
-              v-if="(ismanager == true) && (businessType == '1' || businessType == '2')">
+              v-if="businessType == '1' || businessType == '2'">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" />
               </template>
@@ -182,7 +196,10 @@
               width="200">
               <template slot-scope="scope">
                 <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{
-                  scope.row.beneficiaryname ? scope.row.beneficiaryname : "鐐瑰嚮閫夋嫨" }}</el-button>
+                  scope.row.beneficiaryname
+                    ? scope.row.beneficiaryname
+                    : "鐐瑰嚮閫夋嫨"
+                }}</el-button>
               </template>
             </el-table-column>
             <el-table-column prop="unitno" align="center" label="涓撳鎵�鍦ㄥ崟浣�" width="250"
@@ -193,33 +210,7 @@
                 }}</el-button>
               </template>
             </el-table-column>
-            <!-- 
-            <el-table-column prop="unitname" align="center" label="鍗曚綅锛堜釜浜猴級鍚嶇О" width="300"
-              v-if="form.applytype == '4' || form.applytype == '3'">
-              <template slot-scope="scope">
-                <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{
-                  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="title" align="center" label="鑱岀О" width="120"
               v-if="businessType == '1' || businessType == '2'">
               <template slot-scope="scope">
@@ -230,21 +221,20 @@
               v-if="businessType == '1' || businessType == '2'">
               <template slot-scope="scope">
                 <el-form-item label-width="0">
-                  <el-input :disabled="userprofile.nickName != '闄堟厱鍗�'
-                    " v-model.number="scope.row.idcardno" @input="tableParValueChange1(scope.row)"
-                    placeholder="韬唤璇佸彿" />
+                  <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 prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200">
               <template slot-scope="scope">
-                <el-input :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" />
+                <el-input :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.depositbank"
+                  placeholder="寮�鎴烽摱琛�" />
               </template>
             </el-table-column>
             <el-table-column prop="bankcardno" align="center" label="閾惰甯愬彿" width="210">
               <template slot-scope="scope">
-                <el-input :disabled="userprofile.nickName != '闄堟厱鍗�'
-                  " v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" />
+                <el-input :disabled="userprofile.nickName != '闄堟厱鍗�'" v-model="scope.row.bankcardno" placeholder="閾惰甯愬彿" />
               </template>
             </el-table-column>
             <el-table-column prop="itemdescrisca" align="center" width="330" label="椤圭洰璇存槑">
@@ -259,22 +249,28 @@
             </el-table-column>
             <el-table-column fixed="right" align="center" label="鎿嶄綔" width="180">
               <template slot-scope="scope">
-                <el-button type="text" size="mini" @click="addRow(scope.$index)" v-if="operationType == 'add' ||
+                <el-button type="text" size="mini" @click="addRow(scope.$index)" v-if="
+                  operationType == 'add' ||
                   operationType == 'update' ||
                   operationType == 'check'
-                  ">鏂板</el-button>
+                ">鏂板</el-button>
                 <el-button @click.native.prevent="
                   deleteRows(scope.row, scope.$index, rbDetails)
-                  " type="text" size="small" v-if="operationType == 'add' ||
-    operationType == 'update' ||
-    operationType == 'check'
-    ">
+                  " type="text" size="small" v-if="
+                    operationType == 'add' ||
+                    operationType == 'update' ||
+                    operationType == 'check'
+                  ">
                   鍒犻櫎
                 </el-button>
                 <el-button @click.native.prevent="
                   Filepopup(scope.$index, rbDetails, scope.row)
-                  " type="text" size="small" v-if="businessType == 2 || businessType == 3 || businessType == 4
-    ">绁ㄦ嵁</el-button>
+                  " type="text" size="small" v-if="
+                    businessType == 2 ||
+                    businessType == 3 ||
+                    businessType == 4 ||
+                    businessType == 1
+                  ">绁ㄦ嵁</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -305,7 +301,7 @@
 
                 <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="鍔熻兘">
                   <template slot-scope="scope">
-                    <el-button type="primary" size="mini"
+                    <el-button type="danger" size="mini"
                       @click.native.prevent.stop="deletedowfile(scope.row)">鍒犻櫎</el-button>
                     <el-button type="primary" size="mini"
                       @click.native.prevent.stop="moveupdowfile(scope.row)">涓婄Щ</el-button>
@@ -315,10 +311,11 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="operationType == 'detail' ||
+        <el-row v-if="
+          operationType == 'detail' ||
           operationType == 'check' ||
           operationType == 'update'
-          ">
+        ">
           <el-table :data="fundflowList" border>
             <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" />
             <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" />
@@ -334,12 +331,21 @@
 
         <el-row style="margin-top: 25px; margin-bottom: 5px"
           v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'">
-          <el-col :span="20">
-            <el-form-item label="鐢宠鏉愭枡鐘舵��" prop="infoid">
+          <el-col :span="12">
+            <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="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio>
+                <el-radio :label="1">寰呭鏍�</el-radio>
+                <el-radio :label="2">棰勫閫氳繃绛夊緟绾歌川鏉愭枡</el-radio>
+                <el-radio :label="3">宸叉敹鍒扮焊璐ㄦ潗鏂�</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-if="businessType == 1">
+            <el-form-item label="绠楃◣鐘舵��" prop="infoid">
+              <el-radio-group v-model="form.istax" align="left">
+                <el-radio :label="-1">瀹℃牳涓�</el-radio>
+                <el-radio :label="0">鍏佽绠楃◣</el-radio>
+                <el-radio :label="1">宸茬畻绋�</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
@@ -363,10 +369,11 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm" v-if="operationType == 'add' ||
+        <el-button type="primary" @click="submitForm" v-if="
+          operationType == 'add' ||
           operationType == 'update' ||
           ismanager == true
-          ">淇濆瓨</el-button>
+        ">淇濆瓨</el-button>
         <el-button type="success" @click="handleup"
           v-if="operationType == 'add' || operationType == 'update'">涓婃姤</el-button>
         <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">鎻愪氦瀹℃牳</el-button>
@@ -393,7 +400,7 @@
             <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 label="2">鏂板璐︽埛锛堟柊澧炰笓瀹惰处鎴峰悗闇�瑕佸鏍稿惎鐢ㄦ墠鑳戒娇鐢級</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
@@ -401,36 +408,54 @@
             <el-form-item label="璐︽埛鍚嶇О" prop="accountname">
               <el-select filterable allow-create ref="accountname" default-first-option
                 v-model="accountselectform.accountname" placeholder="璇烽�夋嫨" style="width: 100%">
-                <el-option v-for="item in accountlist" :key="item.id" :label="item.username" :value="item.username">
+                <el-option v-for="item in accountlist" :key="item.id" :label="item.userid" :value="item.id">
                 </el-option>
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row v-if="selectionType == 'account' && accountfrom == '2'">
-          <el-col :span="16"><el-form-item label="鏂板绫诲瀷" prop="usertype">
+          <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-radio label="expert">鏂板涓撳璐﹀彿</el-radio>
-                <el-radio label="org">鏂板鍗曚綅璐﹀彿</el-radio>
+                <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="selectionType == 'account' && accountfrom == '2'">
           <el-col :span="24">
-            <el-form-item label="璐﹀彿鍚嶇О" prop="username">
-              <el-input v-model="accountselectform.username" placeholder="璇疯緭鍏ュ崟浣嶅悕绉版垨涓撳濮撳悕" />
+            <el-form-item label="璐︽埛鍚嶇О" prop="username">
+              <el-input v-model="accountselectform.username" placeholder="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�" />
             </el-form-item>
           </el-col>
         </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-row v-if="
+          selectionType == 'account' &&
+          accountfrom == '2' &&
+          accountselectform.usertype == 'org'
+        ">
+          <el-col :span="24">
+            <el-form-item label="绋庡彿" prop="unitTaxNo">
+              <el-input v-model="accountselectform.unitTaxNo" placeholder="璇疯緭鍏ョ◣鍙�" />
             </el-form-item>
           </el-col>
+        </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="璇疯緭鍏ヨ韩浠借瘉鍙�" @blur="handleIdCardBlur" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-if="accountselectform.usertype == 'expert'">
             <el-form-item label="鑱岀О" prop="title">
               <el-select v-model="accountselectform.title" placeholder="璇烽�夋嫨浜哄憳鑱岀О">
                 <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label"
@@ -439,7 +464,11 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype != 'org'">
+        <el-row v-if="
+          selectionType == 'account' &&
+          accountfrom == '2' &&
+          accountselectform.usertype == 'expert'
+        ">
           <el-col>
             <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitno">
               <el-select v-model="accountselectform.unitno" placeholder="鍗曚綅鍚嶇О" clearable filterable allow-create
@@ -487,7 +516,7 @@
     </el-dialog>
     <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :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" prop="price" align="center" label="鍗曚环">
           </el-table-column>
@@ -495,9 +524,10 @@
           </el-table-column>
           <el-table-column prop="amount" align="center" :label="amountlabel">
           </el-table-column>
-          <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" v-if="(this.ismanager == true) &
+          <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" v-if="
+            (this.ismanager == true) &
             (form.applytype == '1' || form.applytype == '2')
-            ">
+          ">
           </el-table-column>
           <!-- <el-table-column
             prop="beneficiaryname"
@@ -529,9 +559,10 @@
           </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>
@@ -543,7 +574,8 @@
                   <i class="el-icon-upload"></i>
                   <div class="el-upload__text">
                     灏嗙エ鎹嫋鍒版澶勶紝鎴�
-                    <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">鐐瑰嚮涓婁紶</el-button></em>
+                    <em><el-button :disabled="operationType == 'detail'" size="small"
+                        type="primary">鐐瑰嚮涓婁紶</el-button></em>
                   </div>
                 </el-upload>
                 <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400">
@@ -556,7 +588,7 @@
 
                   <el-table-column prop="name" width="190" :show-overflow-tooltip="true" label="鍔熻兘">
                     <template slot-scope="scope">
-                      <el-button type="primary" size="mini"
+                      <el-button type="danger" size="mini"
                         @click.native.prevent.stop="deletedowfile(scope.row)">鍒犻櫎</el-button>
                       <el-button type="primary" size="mini"
                         @click.native.prevent.stop="moveupdowfile(scope.row)">涓婄Щ</el-button>
@@ -570,16 +602,19 @@
 
             <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
               <!-- <img :src="pdfimg" /> -->
-              <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList">
+              <el-image ref="imagePreview" style="width: 95%; height: 90%" :src="pdfimg"
+                @click="handleImageClick(initialIndex)">
                 <!-- <div slot="error" class="image-slot">
-              <i class="el-icon-picture-outline"></i>
-            </div> -->
+                <i class="el-icon-picture-outline"></i>
+              </div> -->
               </el-image>
+              <custom-image-viewer :url-list="pdfimgsrcList" :initial-index="currentIndex" :visible="viewerVisible"
+                @update:visible="viewerVisible = $event" @close="handleViewerClose" />
             </div>
             <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>
@@ -591,7 +626,8 @@
                   <i class="el-icon-upload"></i>
                   <div class="el-upload__text">
                     灏嗗彂绁ㄦ枃浠舵嫋鍒版澶勶紝鎴�
-                    <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">鐐瑰嚮涓婁紶</el-button></em>
+                    <em><el-button :disabled="operationType == 'detail'" size="small"
+                        type="primary">鐐瑰嚮涓婁紶</el-button></em>
                   </div>
                 </el-upload>
                 <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400">
@@ -618,11 +654,15 @@
 
             <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin">
               <!-- <img :src="pdfimg" /> -->
-              <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList">
+              <el-image style="width: 95%; height: 90%" :src="invoicepdfimg"
+                @click="invoicehandleImageClick(initialIndex)">
                 <!-- <div slot="error" class="image-slot">
-              <i class="el-icon-picture-outline"></i>
-            </div> -->
+                <i class="el-icon-picture-outline"></i>
+              </div> -->
               </el-image>
+              <custom-image-viewer :url-list="invoicepdfimgsrcList" :initial-index="invoicecurrentIndex"
+                :visible="invoiceviewerVisible" @update:visible="invoiceviewerVisible = $event"
+                @close="invoicehandleViewerClose" />
             </div>
             <div v-else class="pdfimgmins">{{ hintitle }}</div>
           </div>
@@ -661,6 +701,8 @@
 </template>
 
 <script>
+import store from "@/store";
+
 // 'sdaad2123UD2',1  'wsadadwsad',4 'sdadaddad',3 'ssaaddxs',2
 //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級
 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��';
@@ -726,7 +768,7 @@
   addExternalperson,
   updateExternalperson,
   exportExternalperson,
-  getOnlyCode,
+  getOnlyCode, getInfoByIDCardNo
 } from "@/api/project/externalperson";
 
 import { listItemexpense } from "@/api/project/itemexpense";
@@ -735,12 +777,14 @@
 import Li_area_select from "@/components/Address";
 import OrgSelecter from "@/views/project/components/orgselect";
 import { getToken } from "@/utils/auth";
+import CustomImageViewer from "@/components/CustomImageViewer"; // 鏍规嵁浣犵殑璺緞璋冩暣
 
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: {
     Li_area_select,
-    OrgSelecter
+    OrgSelecter,
+    CustomImageViewer
   },
   name: "fundApply",
 
@@ -760,15 +804,35 @@
     "sys_professionaltitle"
   ],
 
-  data() {
-    var validatePass = (rule, value, callback) => {
+  data() {  
+    // 鑷畾涔夎韩浠借瘉鍙锋牎楠屽櫒
+    const validateIdCard = (rule, value, callback) => {
+      // 1. 濡傛灉涓虹┖锛屼氦缁� required 瑙勫垯鍘诲鐞嗭紝杩欓噷鐩存帴鏀捐
+      if (!value) {
+        return 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("韬唤璇佸彿鐮佹牸寮忛敊璇�"));
       }
+
+      // 2. 璋冪敤鍚庣鎺ュ彛杩涜閲嶅鎬ф牎楠�
+      getInfoByIDCardNo(value).then(res => {
+        // 鍋囪鍚庣杩斿洖鐨� res.data 鏄暟缁勶紝涓旈暱搴﹀ぇ浜�0琛ㄧず宸插瓨鍦�
+        if (res.data && res.data.length > 0) {
+          // 鏍¢獙涓嶉�氳繃锛屽皢閿欒淇℃伅浼犵粰 callback
+          callback(new Error("韬唤璇佸彿淇℃伅宸茶鐧昏锛岃妫�鏌ワ紒"));
+        } else {
+          // 鏍¢獙閫氳繃
+          callback();
+        }
+      }).catch(() => {
+        // 鎺ュ彛寮傚父鏃剁殑澶勭悊
+        callback(new Error("鏍¢獙韬唤璇佸彿鏃跺彂鐢熺綉缁滈敊璇�"));
+      });
     };
+
     //杩欓噷瀛樻斁鏁版嵁
     return {
       // 閬僵灞�
@@ -787,7 +851,7 @@
       businessName: "",
       //鎿嶄綔绫诲瀷
       operationType: "",
-
+      Loadornot: false,
       //褰撳墠鍗曟嵁id
       curId: 0,
       //褰撳墠閫変腑鎹愮尞妗堜緥
@@ -820,11 +884,11 @@
       baselisttages: [
         {
           id: 1,
-          name: "鏉愭枡寰呭鏍�"
+          name: "寰呭鏍�"
         },
         {
           id: 2,
-          name: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+          name: "棰勫閫氳繃绛夊緟绾歌川鏉愭枡"
         },
         {
           id: 3,
@@ -872,17 +936,33 @@
 
       // 琛ㄥ崟鏍¢獙
       rules: {
-        reason: [{ required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }],
-        deptmentname: [{ required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }]
+        reason: [
+          { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }
+        ],
+        deptmentname: [
+          { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }
+        ]
       },
-      
+
       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" }],
+        usertype: [
+          { required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" }
+        ],
+        username: [
+          { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" }
+        ],
+        unitTaxNo: [{ required: true, message: "璇疯緭鍏ョ◣鍙�", trigger: "blur" }],
+        idcardno: [
+          { required: true, message: '璇疯緭鍏ヨ韩浠借瘉鍙�', trigger: 'blur' },
+          // 娣诲姞鑷畾涔夋牎楠岃鍒�
+          { validator: validateIdCard, trigger: 'blur' }
+        ],
+        depositbank: [
+          { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" }
+        ],
+        bankcardno: [
+          { required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" }
+        ]
       },
 
       accountselectform: {
@@ -977,7 +1057,7 @@
       // 鏌ヨ鏈�鏂板簭鍙峰弬鏁�
       seqnoParams: {
         businessType: "externalperson",
-        datequery: false,
+        datequery: false
       },
 
       //璁$畻涓◣鍙傛暟
@@ -1004,9 +1084,10 @@
       invoicepdfimg: "",
       invoicepdfimgsrcList: [],
       invoDatatop: [],
-      activeName: 1, //鏂囦欢绫诲瀷
+      activeName: "common", //鏂囦欢绫诲瀷
       //涓婁紶闄勪欢璺緞
       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      ICDtoken: getToken(),
       //鏂囦欢涓婁紶token
       headers: {
         Authorization: "Bearer " + getToken()
@@ -1015,6 +1096,11 @@
       pdftitle: "",
       pdfimg: "",
       pdfimgsrcList: [],
+      currentIndex: 0, // 鍒濆绱㈠紩
+      invoicecurrentIndex: 0, // 鍒濆绱㈠紩
+      initialIndex: 0, // 鍒濆绱㈠紩
+      viewerVisible: false, // 鎺у埗棰勮缁勪欢鏄剧ず
+      invoiceviewerVisible: false, // 鎺у埗棰勮缁勪欢鏄剧ず
       pdfVisible: false,
       previewpdf: false,
       hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅",
@@ -1198,11 +1284,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;
@@ -1250,8 +1333,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));
@@ -1261,7 +1342,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]);
@@ -1269,10 +1350,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
             );
           }
 
@@ -1298,10 +1375,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));
 
         //闄勪欢澶勭悊
@@ -1452,22 +1527,6 @@
               return;
             }
 
-            /*
-            if (
-              tempDetail.idcardno == null &&
-              this.businessType != "3" &&
-              this.businessType != "4"
-            ) {
-              console.log(1122);
-              this.$modal.msgWarning(
-                "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
-                  (k + 1).toString() +
-                  "琛岀殑韬唤璇佹湭瀹屽杽锛岃鍏堝~鍐欒韩浠借瘉鍚庡啀鎻愪氦淇濆瓨锛�"
-              );
-              return;
-            }
-            */
-
             if (this.businessType == "1") {
               if (tempDetail.servicesscope == null) {
                 this.$modal.msgWarning(
@@ -1594,7 +1653,18 @@
           } 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();
+            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) {
@@ -1612,9 +1682,7 @@
           sessionStorage.setItem("apiform", JSON.stringify(this.form));
           addorupdateFund(this.form)
             .then(response => {
-              console.log(this.form);
-              console.log(response, "淇濆瓨杩斿弬");
-              if (response.code === 200) {
+              if (response.code == 200) {
                 if (this.form.id) {
                   this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒");
                   this.$router.go(-1);
@@ -1625,7 +1693,7 @@
                     path: "/finance/applyDetail/",
                     query: {
                       id: response.data,
-                      businessType: "2",
+                      businessType: this.businessType,
                       operationType: "update",
                       curCase: this.curCase
                     }
@@ -1648,40 +1716,34 @@
       });
     }, 500),
 
-    //瀹℃壒鎻愪氦
-    // checksubmit() {
-    //   console.log(this.checkObj.flowlevelone);
-    //   if (
-    //     this.form.checkstatus != 3 &&
-    //     this.userprofile.nickName == "闄堟厱鍗�" &&
-    //     this.checkObj.flowlevelone == 1
-    //   ) {
-    //     this.$modal.msgError("璇烽�夌‘璁ゆ潗鏂欑姸鎬佸凡鏀跺埌锛�");
-    //     return;
-    //   }
-    //   this.Savenow();
-    //   console.log("淇濆瓨骞跺鎵�");
-    // },
     checksubmit() {
-      console.log(this.checkObj.flowlevelone);
-      if (this.userprofile.nickName == "闄堟厱鍗�") {
-        //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂�
-        if (this.form.checkstatus != 3 && 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.applytype == "2") && this.form.fundtaxtime == null ) {
-        //   this.$modal.msgError(
-        //     "鎻愪氦涓撳璐圭敤鐢宠鍗曘�佷鸡鐞嗕笓瀹剁敵璇疯垂鐢ㄧ敵璇峰崟瀹℃牳锛岄渶瑕佸厛瀹屾垚涓◣璁$畻锛�"
-        //   );
-        //   return;
-        // }
-        if (this.form.applytype == "1" && this.form.fundtaxtime == null) {
-          this.$modal.msgError("鎻愪氦涓撳璐圭敤鐢宠鍗曞鏍革紝闇�瑕佸厛瀹屾垚涓◣璁$畻锛�");
-          return;
+          //妫�鏌ヤ釜绋庤绠�
+          if (this.form.applytype == "1" && this.form.fundtaxtime == null) {
+            this.$modal.msgError(
+              "璇峰厛瀹屾垚涓撳璐圭敤鐨勪釜绋庤绠楀悗锛屽啀鎻愪氦瀹℃牳閫氳繃锛�"
+            );
+            return;
+          }
         }
+      } else {
+        this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒");
+        return;
       }
 
       this.Savenow();
@@ -1698,12 +1760,13 @@
     getUserProfile() {
       getUserProfile().then(res => {
         this.userprofile = res.data;
-        console.log(this.userprofile);
         this.standardlevel = res.data.standardlevel;
+
         if (
           this.userprofile.userName == "admin" ||
-          this.userprofile.userName == "001" ||
-          this.userprofile.userName == "047"
+          this.userprofile.userName == "053" ||
+          this.userprofile.userName == "047" ||
+          store.getters.rolesor[0].roleSort == "13"
         ) {
           this.ismanager = true;
         } else {
@@ -1717,7 +1780,7 @@
           this.form.deptmentno = this.userprofile.dept.deptId;
           this.form.managername = this.userprofile.dept.leader;
           this.form.phone = this.userprofile.phonenumber;
-          // this.form.applytype = this.businessType;        
+          // this.form.applytype = this.businessType;
 
           if (this.businessType == "4") {
             this.getUserAccount();
@@ -1736,47 +1799,42 @@
     //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃
     getAccountList() {
       listExternalperson().then(res => {
-        this.accountlist = res.rows;
+        // this.accountlist = res.rows;
         //鑾峰彇鍚敤鐨勮处鎴峰垪琛�
-        for (let j = 0; j < res.length; j++) {
+        for (let j = 0; j < res.rows.length; j++) {
           //鍗曚綅璐﹀彿鍒楄〃
-          if (res.userstatus == "1") {
-            this.accountlist.push({
-              id: res.id,
-              userno: res.userno,
-              username: res.username,
-              idcardno: res.idcardno,
-              title: res.title,
-              depositbank: res.depositbank,
-              bankcardno: res.bankcardno,
-              unitno: res.unitno,
-              unitname: res.unitname
-            });
+          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 + "锛�"
+              });
+            }
           }
         }
-
-        /** 
-        for (let j = 0; j < this.accountlist.length; j++) {
-          //鍗曚綅璐﹀彿鍒楄〃
-          if (this.accountlist[j].usertype == "org") {
-            this.feeAccountList.push({
-              id: this.accountlist[j].id,
-              reportNo: this.accountlist[j].userno,
-              reportName: this.accountlist[j].username,
-              depositbank: this.accountlist[j].depositbank,
-              branchbankname: this.accountlist[j].branchbankname,
-              bankcardno: this.accountlist[j].bankcardno
-            });
-          }
-          //涓撳璐﹀彿鍒楄〃
-          else if (res.rows[j].usertype == "expert") {
-            this.expertAccountList.push({
-              expertNo: this.accountlist[j].id,
-              exportName: this.accountlist[j].username+"("+this.accountlist[j].id+")"
-            });
-          }
-        }
-        */
       });
     },
 
@@ -1784,7 +1842,7 @@
     getUserAccount() {
       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;
         }
@@ -1796,7 +1854,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
           });
@@ -1855,7 +1912,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);
     },
@@ -1877,22 +1933,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;
-          // });
         }
       });
     },
@@ -1984,7 +2029,6 @@
         }
         targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅
       }
-      console.log(targetValue, "鍚堣");
       this.form.pretaxcost = targetValue;
     },
 
@@ -2096,7 +2140,15 @@
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                   (k + 1).toString() +
-                  "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                  "琛岀殑浜哄憳濮撳悕涓虹┖,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+              if (tempDetail.unitname == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                  (k + 1).toString() +
+                  "琛岀殑涓撳鍗曚綅涓虹┖,璇烽�夋嫨鍗曚綅鍚庡啀鎻愪氦淇濆瓨锛�"
                 );
                 return;
               }
@@ -2200,11 +2252,23 @@
                   flowconclusion: this.checkObj.flowlevelone,
                   flowcontent: this.checkObj.flowconclusion
                 };
+                this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒");
                 checkfund(checkFundObj).then(res => {
-                  //鍏抽棴绐楀彛
-                  this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
-                  this.$store.dispatch("tagsView/delView", this.$route);
-                  this.$router.go(-1);
+                  if (res.code == 200) {
+                    //鍏抽棴绐楀彛
+                    this.$modal.closeLoading();
+                    this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
+                    this.$store.dispatch("tagsView/delView", this.$route);
+                    this.$router.go(-1);
+                  } else {
+                    this.$modal.closeLoading();
+
+                    if (res.msg) {
+                      this.$modal.msgError("鎿嶄綔澶辫");
+                    } else {
+                      this.$modal.msgError(res.msg);
+                    }
+                  }
                 });
               }
               this.Getnetworkheader();
@@ -2236,7 +2300,6 @@
     // 鎵嬪姩璁$畻
     Manualcalculationfn() {
       ManualCalculation(this.rbDetails).then(res => {
-        console.log(res);
         if (res.code == 200) {
           sessionStorage.removeItem("apiform");
           sessionStorage.removeItem("apifunddetail");
@@ -2379,10 +2442,6 @@
         rowfeeblocks: [],
         annexfiles: null
       };
-      // if (this.Reminderquantity >= 5) {
-      //   this.Savereminder = true;
-      //   return;
-      // }
       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
         this.rbDetails.push(rowData);
       } else {
@@ -2437,10 +2496,8 @@
         .catch(() => {
           //鍑犵偣鍙栨秷鐨勬彁绀�
         });
-
       //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛�
     },
-
     //璁$畻鎬婚噾棰�
     sumTotalFee(row) {
       let allSum = 0;
@@ -2514,30 +2571,63 @@
     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");
+    },
+    handleImageClick(index) {
+      this.currentIndex = index;
+      this.viewerVisible = true;
+    },
+    invoicehandleImageClick(index) {
+      this.invoicecurrentIndex = index;
+      this.invoiceviewerVisible = true;
+    },
+    handleViewerClose() {
+      this.viewerVisible = false;
+    },
+    invoicehandleViewerClose() {
+      this.invoiceviewerVisible = false;
+    },
     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 {
@@ -2548,108 +2638,199 @@
 
     uploadSccess(response, file, fileList) {
       this.rbDetails;
+      const config = {
+        headers: { Authorization: "Bearer " + this.ICDtoken }
+      };
+      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
       //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
-      console.log(response);
-      console.log(file);
-      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(".");
@@ -2658,11 +2839,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 = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -2670,7 +2852,6 @@
           this.previewpdf = false;
         }
       } else {
-        console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem");
         this.pdftitle =
           "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name;
         let name = item.name.split(".");
@@ -2681,12 +2862,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 = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -2700,7 +2878,7 @@
     },
     // 鍙戠エ鍒囨崲
     handleClick(tab, event) {
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
       } else {
         this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
@@ -2708,39 +2886,86 @@
     },
     // 鐐瑰嚮鍒犻櫎
     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');
     },
     Downloadfile(row) {
-      console.log(row);
-      window.location.href = this.Networkheader + "/prod-api" + row.url;
+      window.location.href = row.url;
     },
 
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
@@ -2752,13 +2977,19 @@
       if (this.selectionType == "account") {
         //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴�
         this.accountfrom = "1";
-        this.accountselectform.accountname = scope.row.beneficiaryname;
+        if (scope.row.idcardno) {
+          this.accountselectform.accountname =
+            scope.row.beneficiaryname + "锛�" + scope.row.idcardno + "锛�";
+        } else {
+          this.accountselectform.accountname =
+            scope.row.beneficiaryname + "锛�" + scope.row.bankcardno + "锛�";
+        }
         this.accountselectform.accountno = scope.row.beneficiaryno;
         this.accountselectform.expertunitname = "";
         this.accountselectform.expertunitno = "";
 
-        this.accountselectform.username = '';
-        this.accountselectform.userno = '';
+        this.accountselectform.username = "";
+        this.accountselectform.userno = "";
         this.accountselectform.idcardno = "";
         this.accountselectform.telephone = "";
         this.accountselectform.title = "";
@@ -2773,7 +3004,6 @@
         this.accountselectform.expertunitname = scope.row.unitname;
         this.accountselectform.expertunitno = scope.row.unitno;
       }
-
       this.showselectiondialog = true;
     },
 
@@ -2784,9 +3014,22 @@
         if (this.selectionType == "account") {
           if (this.accountfrom == "1") {
             //璧嬪�间俊鎭�
-            if (this.rbDetails[tempIndex].beneficiaryname != this.accountselectform.accountname) {
+            if (
+              this.rbDetails[tempIndex].userno != this.accountselectform.userno
+            ) {
               this.accountlist.map(res => {
-                if (res.username == this.accountselectform.accountname) {
+                if (res.id == this.accountselectform.accountname) {
+                  console.log(res, "res");
+                  const hasIdOne = this.rbDetails.some(
+                    obj => obj.beneficiaryname == res.username
+                  );
+                  if (hasIdOne) {
+                    this.$modal.msgWarning(
+                      "鏈嶅姟椤圭洰琛ㄤ腑锛屼汉鍛樺悕绉帮細" +
+                      res.username +
+                      "閲嶅锛岃娉ㄦ剰鏍稿淇℃伅锛�"
+                    );
+                  }
                   this.rbDetails[tempIndex].beneficiaryno = res.userno;
                   this.rbDetails[tempIndex].beneficiaryname = res.username;
                   this.rbDetails[tempIndex].depositbank = res.depositbank;
@@ -2811,11 +3054,10 @@
           } else if (this.accountfrom == "2") {
             //淇濆瓨鏂板璐﹀彿
             //鑾峰彇鐢ㄦ埛缂栧彿
-            // this.accountform.userno = this.accountlist[this.accountlist.length - 1].id + 1;
-            getOnlyCode(this.seqnoParams).then((res) => {
+            getOnlyCode(this.seqnoParams).then(res => {
               this.accountform.userno = res.data.currentvalue;
-              this.accountform.id = null;
 
+              this.accountform.id = null;
               this.accountform.usertype = this.accountselectform.usertype;
               this.accountform.username = this.accountselectform.username;
               this.accountform.idcardno = this.accountselectform.idcardno;
@@ -2833,63 +3075,108 @@
               this.accountform.del_flag = "0";
               this.accountform.personnelunitno = null;
 
-              if (this.accountselectform.usertype != "org") {
+              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) {
-                  this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒");
+                  // //閲嶆柊鑾峰彇璐︽埛鍒楄〃
+                  // listExternalperson().then(res => {
+                  //   this.accountlist = res.rows;
+                  // });
 
-                  /**
-                  this.accountselectform.accountno = this.accountselectform.userno;
-                  this.accountselectform.accountname = this.accountselectform.username;
-  
-                  //閲嶆柊鑾峰彇璐︽埛鍒楄〃
-                  listExternalperson().then(res => {
-                    this.accountlist = res.rows;
-  
-                    //璧嬪�间俊鎭�
-                    this.accountlist.map(res => {
-                      if (res.username == 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;
-  
-                        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;
-                        }
-                      }
+                  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.selectionType == "workunit") {
-          if (this.rbDetails[tempIndex].unitname != this.accountselectform.expertunitname) {
-            this.rbDetails[tempIndex].unitname = this.accountselectform.expertunitname;
+          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) {
+              if (
+                res.organizationname == this.accountselectform.expertunitname
+              ) {
                 this.rbDetails[tempIndex].unitno = res.organizationid;
               }
             });
@@ -2900,6 +3187,7 @@
         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) {
@@ -2910,12 +3198,15 @@
         }
         return;
       }
-      console.log(11);
-      if (regex.test(row.idcardno)) {
-        row.error = "";
-      } else {
-        row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�";
-      }
+
+      //韬唤璇侀噸澶嶉獙璇�
+      getInfoByIDCardNo(idcardno).then(res => {
+        if (res.data.length > 1) {
+          this.$modal.msgWarning("韬唤璇佸彿淇℃伅宸茶鐧昏锛岃妫�鏌ヨ韩浠借瘉鍙凤紒"
+          );
+          return;
+        }
+      });
     },
 
     //璐︽埛绫诲瀷閫夋嫨鍙樺寲
@@ -2925,11 +3216,17 @@
         this.accountselectform.unitno = "";
         this.accountselectform.unitname = "";
         this.accountselectform.personnelunitno = "";
-      };
+      }
       // this.$modal.msgWarning(type);
     }
   },
 
+  // 澶辩劍鏃舵墜鍔ㄨЕ鍙戞牎楠岋紙鍙�夛紝閫氬父閰嶇疆浜� trigger: 'blur' 鍚庝細鑷姩瑙﹀彂锛�
+  handleIdCardBlur() {
+    // 鎵嬪姩鏍¢獙鍗曚釜瀛楁锛岀‘淇濆け鐒︽椂绔嬪埢鐪嬪埌缁撴灉
+    this.$refs.showselectiondialog.validateField('idcardno');
+  },
+
   //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
   created() {
     //鑾峰彇璺敱鍙傛暟

--
Gitblit v1.9.3