From 10f1df2abb4f9d7de6e8031c2729684faad24734 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 12 八月 2026 09:30:52 +0800
Subject: [PATCH] Merge branch 'srm-master' of http://116.62.18.175:6699/r/~yxh/opo-web into srm-master

---
 src/views/project/fund/applyDetail/index.vue |  594 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 397 insertions(+), 197 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 46b670c..9497b6f 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -33,7 +33,7 @@
           </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" />
@@ -69,12 +69,20 @@
               <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" />
             </el-form-item>
           </el-col>
+          <el-col :span="4">
+            <div style="margin-left: 10px;">
+              <dict-tag
+                :options="dict.type.sys_DonationStatus"
+                :value="form.invoicecount"
+              />
+            </div>
+          </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">
@@ -104,14 +112,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>
@@ -120,10 +137,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)">
@@ -134,8 +147,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>
@@ -152,18 +165,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">
@@ -171,16 +186,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 &&
+            <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')
-              ">
+            <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120"
+              v-if="businessType == '1' || businessType == '2'">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" />
               </template>
@@ -190,8 +205,8 @@
               <template slot-scope="scope">
                 <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{
                   scope.row.beneficiaryname
-                  ? scope.row.beneficiaryname
-                  : "鐐瑰嚮閫夋嫨"
+                    ? scope.row.beneficiaryname
+                    : "鐐瑰嚮閫夋嫨"
                 }}</el-button>
               </template>
             </el-table-column>
@@ -203,33 +218,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">
@@ -247,7 +236,8 @@
             </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">
@@ -267,22 +257,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>
@@ -313,7 +309,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>
@@ -323,10 +319,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" />
@@ -342,12 +339,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>
@@ -371,10 +377,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>
@@ -427,6 +434,7 @@
             </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">
@@ -434,13 +442,25 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="selectionType == 'account' &&
+        <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="璇疯緭鍏ヨ韩浠借瘉鍙�" />
+              <el-input v-model="accountselectform.idcardno" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @blur="handleIdCardBlur" />
             </el-form-item>
           </el-col>
           <el-col :span="12" v-if="accountselectform.usertype == 'expert'">
@@ -452,10 +472,11 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="selectionType == 'account' &&
+        <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
@@ -503,7 +524,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>
@@ -511,9 +532,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"
@@ -545,9 +567,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>
@@ -559,7 +582,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">
@@ -572,7 +596,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>
@@ -586,17 +610,19 @@
 
             <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin">
               <!-- <img :src="pdfimg" /> -->
-              <el-image style="width: 95%; height: 90%" @error="handleImageError" @load="handleImageLoad" :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>
@@ -608,7 +634,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">
@@ -635,12 +662,15 @@
 
             <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin">
               <!-- <img :src="pdfimg" /> -->
-              <el-image style="width: 95%; height: 90%" @error="handleImageError" @load="handleImageLoad"
-                :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>
@@ -679,6 +709,8 @@
 </template>
 
 <script>
+import store from "@/store";
+
 // 'sdaad2123UD2',1  'wsadadwsad',4 'sdadaddad',3 'ssaaddxs',2
 //杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級
 //渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��';
@@ -744,7 +776,7 @@
   addExternalperson,
   updateExternalperson,
   exportExternalperson,
-  getOnlyCode
+  getOnlyCode, getInfoByIDCardNo
 } from "@/api/project/externalperson";
 
 import { listItemexpense } from "@/api/project/itemexpense";
@@ -753,12 +785,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",
 
@@ -774,19 +808,40 @@
     //"sys_finsubject",
     //"sys_financeitemtype",
     //"sys_expensetype",
+    'sys_DonationStatus',
     "sys_recordstatus",
     "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 {
       // 閬僵灞�
@@ -838,11 +893,11 @@
       baselisttages: [
         {
           id: 1,
-          name: "鏉愭枡寰呭鏍�"
+          name: "寰呭鏍�"
         },
         {
           id: 2,
-          name: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+          name: "棰勫閫氳繃绛夊緟绾歌川鏉愭枡"
         },
         {
           id: 3,
@@ -905,10 +960,12 @@
         username: [
           { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" }
         ],
+        unitTaxNo: [{ required: true, message: "璇疯緭鍏ョ◣鍙�", trigger: "blur" }],
         idcardno: [
-          { required: true, message: "璇疯緭鍏ヨ韩浠借处鍙�", trigger: "blur" }
+          { required: true, message: '璇疯緭鍏ヨ韩浠借瘉鍙�', trigger: 'blur' },
+          // 娣诲姞鑷畾涔夋牎楠岃鍒�
+          { validator: validateIdCard, trigger: 'blur' }
         ],
-        //idcardno: [{ validator: validatePass, trigger: "blur" }],
         depositbank: [
           { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" }
         ],
@@ -1036,7 +1093,7 @@
       invoicepdfimg: "",
       invoicepdfimgsrcList: [],
       invoDatatop: [],
-      activeName: 1, //鏂囦欢绫诲瀷
+      activeName: "common", //鏂囦欢绫诲瀷
       //涓婁紶闄勪欢璺緞
       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
       ICDtoken: getToken(),
@@ -1048,6 +1105,11 @@
       pdftitle: "",
       pdfimg: "",
       pdfimgsrcList: [],
+      currentIndex: 0, // 鍒濆绱㈠紩
+      invoicecurrentIndex: 0, // 鍒濆绱㈠紩
+      initialIndex: 0, // 鍒濆绱㈠紩
+      viewerVisible: false, // 鎺у埗棰勮缁勪欢鏄剧ず
+      invoiceviewerVisible: false, // 鎺у埗棰勮缁勪欢鏄剧ず
       pdfVisible: false,
       previewpdf: false,
       hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅",
@@ -1215,9 +1277,12 @@
         this.businessType == "2" ||
         this.businessType == "3"
       ) {
+        console.log(this.curCase,'this.curCase');
+
         this.form.infoid = this.curCase.id;
         this.form.donorname = this.curCase.name;
         this.form.donorno = this.curCase.donorno;
+        this.form.invoicecount = this.curCase.recordstate;
       }
 
       //鍒濆鍖栨槑缁�
@@ -1629,7 +1694,7 @@
           sessionStorage.setItem("apiform", JSON.stringify(this.form));
           addorupdateFund(this.form)
             .then(response => {
-              if (response.code === 200) {
+              if (response.code == 200) {
                 if (this.form.id) {
                   this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒");
                   this.$router.go(-1);
@@ -1640,7 +1705,7 @@
                     path: "/finance/applyDetail/",
                     query: {
                       id: response.data,
-                      businessType: "2",
+                      businessType: this.businessType,
                       operationType: "update",
                       curCase: this.curCase
                     }
@@ -1708,10 +1773,12 @@
       getUserProfile().then(res => {
         this.userprofile = res.data;
         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 {
@@ -1760,10 +1827,10 @@
                 bankcardno: res.rows[j].bankcardno,
                 unitno: res.rows[j].unitno,
                 unitname: res.rows[j].unitname,
-                userid: res.rows[j].username
+                userid:
+                  res.rows[j].username + "锛�" + res.rows[j].bankcardno + "锛�"
               });
-            }
-            else {
+            } else {
               this.accountlist.push({
                 id: res.rows[j].id,
                 userno: res.rows[j].userno,
@@ -1774,7 +1841,8 @@
                 bankcardno: res.rows[j].bankcardno,
                 unitno: res.rows[j].unitno,
                 unitname: res.rows[j].unitname,
-                userid: res.rows[j].username + '锛�' + res.rows[j].idcardno + '锛�'
+                userid:
+                  res.rows[j].username + "锛�" + res.rows[j].idcardno + "锛�"
               });
             }
           }
@@ -2084,7 +2152,15 @@
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                   (k + 1).toString() +
-                  "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                  "琛岀殑浜哄憳濮撳悕涓虹┖,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+              if (tempDetail.unitname == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                  (k + 1).toString() +
+                  "琛岀殑涓撳鍗曚綅涓虹┖,璇烽�夋嫨鍗曚綅鍚庡啀鎻愪氦淇濆瓨锛�"
                 );
                 return;
               }
@@ -2188,13 +2264,23 @@
                   flowconclusion: this.checkObj.flowlevelone,
                   flowcontent: this.checkObj.flowconclusion
                 };
-      this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒");
+                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);
+                  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();
@@ -2422,10 +2508,8 @@
         .catch(() => {
           //鍑犵偣鍙栨秷鐨勬彁绀�
         });
-
       //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛�
     },
-
     //璁$畻鎬婚噾棰�
     sumTotalFee(row) {
       let allSum = 0;
@@ -2538,10 +2622,24 @@
       // 鍥剧墖鍔犺浇鎴愬姛鏃舵墽琛岀殑鎿嶄綔
       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 {
@@ -2557,7 +2655,7 @@
       };
       const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
       //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         if (response.code == 200) {
           this.previewpdf = true;
 
@@ -2634,36 +2732,61 @@
       this.tableDatatop = [];
       this.fileListto = [];
       this.invoicefileListto = [];
-      this.pdfimg = '';
+      this.pdfimg = "";
       this.invoicepdfimg = [];
       this.pdfimgsrcList = [];
       this.invoicepdfimgsrcList = [];
       this.tableDatatop.push(row);
       this.atpresent = index;
       this.pdfVisible = true;
-      console.log(this.fileListto, "this.fileListto");
-      console.log(this.invoicefileListto, "this.invoicefileListto");
+
       if (this.rbDetails[index].annexfilesList) {
-        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)
+        // 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;
               });
-              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;
-            });
+          }
+        );
+
+        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 = [];
@@ -2672,26 +2795,35 @@
       }
       //鍙戠エ
       if (this.rbDetails[index].invoicefilesList) {
-        this.rbDetails[index].invoicefilesList.forEach((value, indexson) => {
-          const pdfimg = this.Networkheader + "/prod-api" + value.url;
-          fetch(pdfimg, config)
-            .then(response => response.blob())
-            .then(blob => {
-              // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
-              this.invoicefileListto.push({
-                name: value.name,
-                url: URL.createObjectURL(blob)
+        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;
               });
-              if (this.invoicefileListto.length == 1) {
-                this.invoicepdfimg = URL.createObjectURL(blob);
-              }
-              this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
-            })
-            .catch(error => {
-              console.error("Error loading image", error);
-              return;
-            });
+          }
+        );
+
+        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
+          );
         });
+
         this.previewpdf = true;
       } else {
         this.invoicefileListto = [];
@@ -2699,16 +2831,18 @@
         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) {
+      if (this.activeName == "common") {
         this.pdftitle =
           "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name;
         let name = item.name.split(".");
@@ -2756,7 +2890,7 @@
     },
     // 鍙戠エ鍒囨崲
     handleClick(tab, event) {
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
       } else {
         this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
@@ -2766,16 +2900,14 @@
     deletedowfile(row) {
       console.log(row);
       let indexvalue = "";
-      if (this.activeName == 1) {
+      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.find(
-          (item, index) => {
-            return item.name == row.name;
-          }
+        indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex(
+          item => item.name == row.name
         );
         console.log(indexvalue, "鍒犻櫎绱㈠紩");
         this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1);
@@ -2788,10 +2920,8 @@
         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.find(
-          (item, index) => {
-            return item.name == row.name;
-          }
+        indexvalue = this.rbDetails[this.atpresent].invoicefilesList.findIndex(
+          item => item.name == row.name
         );
         console.log(indexvalue, "鍒犻櫎绱㈠紩");
         this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
@@ -2799,15 +2929,52 @@
     },
     // 鐐瑰嚮涓婄Щ
     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) {
       window.location.href = row.url;
@@ -2822,11 +2989,12 @@
       if (this.selectionType == "account") {
         //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴�
         this.accountfrom = "1";
-        if (scope.row.idcardno == undefined || scope.row.idcardno == null) {
-          this.accountselectform.accountname = scope.row.beneficiaryname;
-        }
-        else {
-          this.accountselectform.accountname = scope.row.beneficiaryname + '锛�' + scope.row.idcardno + '锛�';
+        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 = "";
@@ -2858,9 +3026,22 @@
         if (this.selectionType == "account") {
           if (this.accountfrom == "1") {
             //璧嬪�间俊鎭�
-            if (this.rbDetails[tempIndex].userno != this.accountselectform.userno) {
+            if (
+              this.rbDetails[tempIndex].userno != this.accountselectform.userno
+            ) {
               this.accountlist.map(res => {
                 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;
@@ -2913,13 +3094,12 @@
                     this.accountform.unitname = res.organizationname;
                   }
                 });
-              }
-              else {
+              } else {
                 this.accountform.userstatus = 1;
               }
 
               addExternalperson(this.accountform).then(response => {
-                if (response.code == 200) {                  
+                if (response.code == 200) {
                   // //閲嶆柊鑾峰彇璐︽埛鍒楄〃
                   // listExternalperson().then(res => {
                   //   this.accountlist = res.rows;
@@ -2937,7 +3117,11 @@
                       bankcardno: this.accountform.bankcardno,
                       unitno: this.accountform.unitno,
                       unitname: this.accountform.unitname,
-                      userid: this.accountform.username
+                      userid:
+                        this.accountform.username +
+                        "锛�" +
+                        this.accountform.bankcardno +
+                        "锛�"
                     });
                     this.$modal.msgSuccess("鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭紒");
                   } else {
@@ -2951,9 +3135,15 @@
                       bankcardno: this.accountform.bankcardno,
                       unitno: this.accountform.unitno,
                       unitname: this.accountform.unitname,
-                      userid: this.accountform.username + '锛�' + this.accountform.idcardno + '锛�'
+                      userid:
+                        this.accountform.username +
+                        "锛�" +
+                        this.accountform.idcardno +
+                        "锛�"
                     });
-                    this.$modal.msgSuccess("鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭�,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒");
+                    this.$modal.msgSuccess(
+                      "鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭�,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒"
+                    );
                     return;
                   }
                   this.accountselectform.accountno = this.accountform.userno;
@@ -2965,7 +3155,8 @@
                       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].branchbankname =
+                        res.branchbankname;
                       this.rbDetails[tempIndex].bankcardno = res.bankcardno;
                       this.rbDetails[tempIndex].phone = res.telephone;
 
@@ -3020,11 +3211,14 @@
         return;
       }
 
-      if (regex.test(row.idcardno)) {
-        row.error = "";
-      } else {
-        row.error = "韬唤璇佸彿鐮佹牸寮忛敊璇�";
-      }
+      //韬唤璇侀噸澶嶉獙璇�
+      getInfoByIDCardNo(idcardno).then(res => {
+        if (res.data.length > 1) {
+          this.$modal.msgWarning("韬唤璇佸彿淇℃伅宸茶鐧昏锛岃妫�鏌ヨ韩浠借瘉鍙凤紒"
+          );
+          return;
+        }
+      });
     },
 
     //璐︽埛绫诲瀷閫夋嫨鍙樺寲
@@ -3039,6 +3233,12 @@
     }
   },
 
+  // 澶辩劍鏃舵墜鍔ㄨЕ鍙戞牎楠岋紙鍙�夛紝閫氬父閰嶇疆浜� trigger: 'blur' 鍚庝細鑷姩瑙﹀彂锛�
+  handleIdCardBlur() {
+    // 鎵嬪姩鏍¢獙鍗曚釜瀛楁锛岀‘淇濆け鐒︽椂绔嬪埢鐪嬪埌缁撴灉
+    this.$refs.showselectiondialog.validateField('idcardno');
+  },
+
   //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
   created() {
     //鑾峰彇璺敱鍙傛暟

--
Gitblit v1.9.3