From 4fbeee3784d4be5483ed7ec9e00a875d66bc9ed0 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 20 二月 2024 16:09:40 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue |  571 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 384 insertions(+), 187 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index ccfa55b..8b17f43 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,13 +27,8 @@
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname">
-              <el-input v-model="form.deptmentname" placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" clearable />
-            </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="缁勯暱" prop="managername">
-              <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable />
+            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
+              <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -47,30 +47,33 @@
               }}</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">
@@ -101,7 +104,9 @@
               <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>
@@ -166,14 +171,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')">
+            <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="ismanager == true &&
+              (businessType == '1' || businessType == '2')
+              ">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" />
               </template>
@@ -182,7 +189,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"
@@ -230,9 +240,8 @@
               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>
@@ -243,8 +252,7 @@
             </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="椤圭洰璇存槑">
@@ -335,7 +343,7 @@
         <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-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>
@@ -401,7 +409,7 @@
             <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>
@@ -412,21 +420,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="donor">鎹愮尞鑰呬翰灞炶处鍙�</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-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-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="璇疯緭鍏ヨ韩浠借瘉鍙�" />
@@ -441,7 +452,10 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype == 'expert'">
+        <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
@@ -572,7 +586,8 @@
 
             <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 style="width: 95%; height: 90%" @error="handleImageError" @load="handleImageLoad" :src="pdfimg"
+                :preview-src-list="pdfimgsrcList">
                 <!-- <div slot="error" class="image-slot">
               <i class="el-icon-picture-outline"></i>
             </div> -->
@@ -620,7 +635,8 @@
 
             <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%" @error="handleImageError" @load="handleImageLoad"
+                :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList">
                 <!-- <div slot="error" class="image-slot">
               <i class="el-icon-picture-outline"></i>
             </div> -->
@@ -728,7 +744,7 @@
   addExternalperson,
   updateExternalperson,
   exportExternalperson,
-  getOnlyCode,
+  getOnlyCode
 } from "@/api/project/externalperson";
 
 import { listItemexpense } from "@/api/project/itemexpense";
@@ -789,7 +805,7 @@
       businessName: "",
       //鎿嶄綔绫诲瀷
       operationType: "",
-
+      Loadornot: false,
       //褰撳墠鍗曟嵁id
       curId: 0,
       //褰撳墠閫変腑鎹愮尞妗堜緥
@@ -874,17 +890,31 @@
 
       // 琛ㄥ崟鏍¢獙
       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" }],
+        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" }],
+        depositbank: [
+          { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "change" }
+        ],
+        bankcardno: [
+          { required: true, message: "璇疯緭鍏ラ摱琛屽崱鍙�", trigger: "change" }
+        ]
       },
 
       accountselectform: {
@@ -979,7 +1009,7 @@
       // 鏌ヨ鏈�鏂板簭鍙峰弬鏁�
       seqnoParams: {
         businessType: "externalperson",
-        datequery: false,
+        datequery: false
       },
 
       //璁$畻涓◣鍙傛暟
@@ -1009,6 +1039,7 @@
       activeName: 1, //鏂囦欢绫诲瀷
       //涓婁紶闄勪欢璺緞
       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      ICDtoken: getToken(),
       //鏂囦欢涓婁紶token
       headers: {
         Authorization: "Bearer " + getToken()
@@ -1258,7 +1289,7 @@
         //涓氬姟鏄庣粏
         getownFundDetail(this.curId).then(res => {
           this.rbDetails = res.data;
-          
+
           for (let m = 0; m < this.rbDetails.length; m++) {
             this.rbDetails[m].itemlist = [];
             this.getRowFeeItems(m, this.rbDetails[m]);
@@ -1569,7 +1600,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) {
@@ -1625,26 +1667,28 @@
       //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂�
       if (this.checkObj.flowlevelone == 2) {
         if (!this.checkObj.flowconclusion) {
-          this.$modal.msgError("璇疯緭鍏ュ鏍镐笉閫氳繃鐨勮鏄庝俊鎭紝鏂逛究缁忓姙浜轰慨鏀圭敵璇峰崟锛�");
+          this.$modal.msgError(
+            "璇疯緭鍏ュ鏍镐笉閫氳繃鐨勮鏄庝俊鎭紝鏂逛究缁忓姙浜轰慨鏀圭敵璇峰崟锛�"
+          );
           return;
         }
-      }
-      else if (this.checkObj.flowlevelone == 2) {
+      } else if (this.checkObj.flowlevelone == 1) {
         if (this.userprofile.nickName == "闄堟厱鍗�") {
           //妫�鏌ユ槸鍚︽敹鍒扮焊璐ㄦ潗鏂�
-          if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) {
-            this.$modal.msgError("璇风‘璁ゆ姤閿�鐨勭焊璐ㄦ潗鏂欏凡缁忔敹鍒帮紒");
+          if (this.form.checkstatus != 3) {
+            this.$modal.msgError("璇峰厛纭鎶ラ攢鐨勭焊璐ㄦ潗鏂欐槸鍚﹀凡缁忔敹鍒帮紒");
             return;
           }
 
           //妫�鏌ヤ釜绋庤绠�
           if (this.form.applytype == "1" && this.form.fundtaxtime == null) {
-            this.$modal.msgError("鎻愪氦涓撳璐圭敤鐢宠鍗曞鏍革紝闇�瑕佸厛瀹屾垚涓◣璁$畻锛�");
+            this.$modal.msgError(
+              "璇峰厛瀹屾垚涓撳璐圭敤鐨勪釜绋庤绠楀悗锛屽啀鎻愪氦瀹℃牳閫氳繃锛�"
+            );
             return;
           }
         }
-      }
-      else {
+      } else {
         this.$modal.msgError("璇峰厛閫夋嫨瀹℃壒缁撴灉鍐嶆彁浜わ紒");
         return;
       }
@@ -1681,7 +1725,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();
@@ -1700,22 +1744,39 @@
     //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃
     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
+              });
+            }
+            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 + '锛�'
+              });
+            }
           }
         }
       });
@@ -1794,7 +1855,7 @@
 
     //鑾峰彇鏈嶅姟椤圭洰
     getRowFeeItems(rowindex, row) {
-      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);      
+      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
       row.itemlist = list[0].itemDetails;
       this.$set(this.rbDetails, rowindex, row);
     },
@@ -2305,10 +2366,6 @@
         rowfeeblocks: [],
         annexfiles: null
       };
-      // if (this.Reminderquantity >= 5) {
-      //   this.Savereminder = true;
-      //   return;
-      // }
       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
         this.rbDetails.push(rowData);
       } else {
@@ -2440,26 +2497,45 @@
     totalprint(e) {
       // const id =this.row.id
       getdownloadBX(e).then(res => {
-        if (res.downloadUrl) {
-          var fileUrl = res;
-          //鑾峰彇褰撳墠缃戝潃
-          var urlBase = process.env.VUE_APP_BASE_API;
-          var curWWWPath = window.document.location.href;
-          var pos = curWWWPath.indexOf(window.document.location.pathname);
-          // 鍒涘缓a鏍囩
-          var aEle = document.createElement("a");
-          aEle.href =
-            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
-          aEle.click();
-          this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", {
-            confirmButtonText: "纭畾",
-            type: "success"
+        var fileUrl = res;
+        //鑾峰彇褰撳墠缃戝潃
+        var urlBase = process.env.VUE_APP_BASE_API;
+        var curWWWPath = window.document.location.href;
+        var pos = curWWWPath.indexOf(window.document.location.pathname);
+        // 鍒涘缓a鏍囩
+        var aEle = document.createElement("a");
+        aEle.href =
+          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+        console.log(aEle.href);
+        // 娣诲姞Authorization澶撮儴
+        fetch(aEle.href, {
+          headers: this.headers
+        })
+          .then(response => {
+            // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇
+            return response.blob();
+          })
+          .then(blob => {
+            const url = window.URL.createObjectURL(new Blob([blob]));
+            console.log(url);
+            const link = document.createElement("a");
+            link.href = url;
+            const name = fileUrl["downloadName"];
+            link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
+            document.body.appendChild(link);
+            link.click();
+            link.parentNode.removeChild(link);
           });
-        }
       });
     },
 
-    //鏂囦欢涓婁紶
+    handleImageError(e) {
+      // 鍔犺浇澶辫触
+    },
+    handleImageLoad(e) {
+      // 鍥剧墖鍔犺浇鎴愬姛鏃舵墽琛岀殑鎿嶄綔
+      console.log("Image loaded successfully");
+    },
     handleUploadError() { },
     remove(file, fileList) {
       const rbDetails = [...this.rbDetails];
@@ -2474,79 +2550,147 @@
 
     uploadSccess(response, file, fileList) {
       this.rbDetails;
+      const config = {
+        headers: { Authorization: "Bearer " + this.ICDtoken }
+      };
+      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
       //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
       if (this.activeName == 1) {
         if (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
-          );
           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.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
-          );
           this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
-          this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
-          this.rbDetails[
-            this.atpresent
-          ].invoicefilesList = this.invoicefileListto;
-        } else {
         }
       }
     },
 
     // 鐐瑰嚮绁ㄦ嵁
     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.fileListto, "this.fileListto");
+      console.log(this.invoicefileListto, "this.invoicefileListto");
       if (this.rbDetails[index].annexfilesList) {
-        this.previewpdf = true;
-        this.fileListto = this.rbDetails[index].annexfilesList;
-        this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
-        this.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;
+            });
         });
+        this.previewpdf = true;
       } else {
         this.fileListto = [];
         this.pdfimg = "";
         this.pdftitle = "";
       }
-      // -鍙戠エ鏂囦欢
+      //鍙戠エ
       if (this.rbDetails[index].invoicefilesList) {
-        this.previewpdf = true;
-        this.invoicefileListto = this.rbDetails[index].invoicefilesList;
-        this.invoicepdfimg =
-          this.Networkheader + "/prod-api" + this.invoicefileListto[0].url;
-        this.invoicefileListto.forEach(item => {
-          this.invoicepdfimgsrcList.push(
-            this.Networkheader + "/prod-api" + item.url
-          );
+        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)
+              });
+              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;
+            });
         });
+        this.previewpdf = true;
       } else {
         this.invoicefileListto = [];
         this.invoicepdfimg = "";
@@ -2571,11 +2715,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 = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -2593,10 +2738,9 @@
         } else if (name[1] == "jpg" || "png") {
           this.previewpdf = true;
           if (item.url) {
-            this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url;
+            this.invoicepdfimg = item.url;
           } else {
-            this.invoicepdfimg =
-              this.Networkheader + "/prod-api" + item.response.url;
+            this.invoicepdfimg = "";
           }
         } else {
           this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -2618,22 +2762,37 @@
     },
     // 鐐瑰嚮鍒犻櫎
     deletedowfile(row) {
+      console.log(row);
+      let indexvalue = "";
       if (this.activeName == 1) {
-        const indexlist = this.getIndexInArray(
-          this.pdfimgsrcList,
-          this.Networkheader + "/prod-api" + row.url
-        );
+        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;
+          }
+        );
+        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.find(
+          (item, index) => {
+            return item.name == row.name;
+          }
+        );
+        console.log(indexvalue, "鍒犻櫎绱㈠紩");
+        this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1);
       }
     },
     // 鐐瑰嚮涓婄Щ
@@ -2648,8 +2807,8 @@
         this.invoicefileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
       }
     },
-    Downloadfile(row) {      
-      window.location.href = this.Networkheader + "/prod-api" + row.url;
+    Downloadfile(row) {
+      window.location.href = row.url;
     },
 
     //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
@@ -2661,13 +2820,18 @@
       if (this.selectionType == "account") {
         //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴�
         this.accountfrom = "1";
-        this.accountselectform.accountname = scope.row.beneficiaryname;
+        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 + '锛�';
+        }
         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 = "";
@@ -2692,9 +2856,9 @@
         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) {
                   this.rbDetails[tempIndex].beneficiaryno = res.userno;
                   this.rbDetails[tempIndex].beneficiaryname = res.username;
                   this.rbDetails[tempIndex].depositbank = res.depositbank;
@@ -2719,10 +2883,10 @@
           } else if (this.accountfrom == "2") {
             //淇濆瓨鏂板璐﹀彿
             //鑾峰彇鐢ㄦ埛缂栧彿
-            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;
@@ -2748,57 +2912,90 @@
                   }
                 });
               }
+              else {
+                this.accountform.userstatus = 1;
+              }
 
               addExternalperson(this.accountform).then(response => {
-                if (response.code == 200) {
-                  if (this.accountselectform.usertype == "expert") {
-                    this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒");
-                    return;
-                  } else {
-                    this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛锛�");
-                  }
+                if (response.code == 200) {                  
+                  // //閲嶆柊鑾峰彇璐︽埛鍒楄〃
+                  // listExternalperson().then(res => {
+                  //   this.accountlist = res.rows;
+                  // });
 
-                  this.accountselectform.accountno = this.accountselectform.userno;
+                  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.$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;
 
-                  //閲嶆柊鑾峰彇璐︽埛鍒楄〃
-                  listExternalperson().then(res => {
-                    this.accountlist = res.rows;
+                  //璧嬪�间俊鎭�
+                  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;
 
-                    //璧嬪�间俊鎭�
-                    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;
-                        }
+                      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;
               }
             });
@@ -2820,7 +3017,7 @@
         }
         return;
       }
-      
+
       if (regex.test(row.idcardno)) {
         row.error = "";
       } else {
@@ -2835,7 +3032,7 @@
         this.accountselectform.unitno = "";
         this.accountselectform.unitname = "";
         this.accountselectform.personnelunitno = "";
-      };
+      }
       // this.$modal.msgWarning(type);
     }
   },

--
Gitblit v1.9.3