From 6914d3d6ab1f76e6f1b85fdb547b016707ae0179 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 01 八月 2024 17:34:30 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/applyDetail/index.vue |  272 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 163 insertions(+), 109 deletions(-)

diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index eb26d54..8da0d89 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -56,7 +56,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" />
@@ -113,7 +113,7 @@
               <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">
@@ -158,7 +158,7 @@
               >
             </div>
           </el-col>
-          <el-col
+          <!-- <el-col
             :span="3"
             v-if="
               userprofile.nickName == '闄堟厱鍗�' &&
@@ -174,7 +174,7 @@
                 >璁$畻涓◣</el-button
               >
             </div>
-          </el-col>
+          </el-col> -->
         </el-row>
         <el-row>
           <el-table
@@ -194,10 +194,6 @@
                 <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
               </template>
             </el-table-column>
-            <!--
-            <el-table-column prop="itemcode" align="center" label="椤圭洰缂栧彿" show-overflow-tooltip=""
-              v-if="form.applytype == '1'">
-            </el-table-column>-->
             <el-table-column
               prop="applytype"
               align="center"
@@ -386,33 +382,7 @@
                 >
               </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"
@@ -540,7 +510,10 @@
                   type="text"
                   size="small"
                   v-if="
-                    businessType == 2 || businessType == 3 || businessType == 4
+                    businessType == 2 ||
+                      businessType == 3 ||
+                      businessType == 4 ||
+                      businessType == 1
                   "
                   >绁ㄦ嵁</el-button
                 >
@@ -675,12 +648,21 @@
           style="margin-top: 25px; margin-bottom: 5px"
           v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'"
         >
-          <el-col :span="20">
+          <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-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>
@@ -954,7 +936,7 @@
       :visible.sync="pdfVisible"
       width="60%"
     >
-      <div>
+      <div style="margin-bottom: 10px;">
         <el-table :data="tableDatatop" style="width: 100%">
           <el-table-column
             v-if="businessType == 4"
@@ -1027,14 +1009,20 @@
           </el-table-column>
         </el-table>
       </div>
-
+      <el-alert
+        title="鏂颁笂浼犳枃浠堕渶鍦ㄦ彁浜や繚瀛樺悗鎵嶅彲杩涜妗堜緥鍏宠仈锛屽惁鍒欒涓烘斁寮�"
+        type="error"
+        show-icon
+        close-text="鐭ラ亾浜�"
+      >
+      </el-alert>
       <el-tabs
         style="margin-top: 20px;"
         v-model="activeName"
         type="border-card"
         @tab-click="handleClick"
       >
-        <el-tab-pane label="鏅�氶檮浠�" :name="1">
+        <el-tab-pane label="鏅�氶檮浠�" name="common">
           <div class="pdfimg">
             <div class="box-pdf">
               <div>
@@ -1095,7 +1083,7 @@
                   >
                     <template slot-scope="scope">
                       <el-button
-                        type="primary"
+                        type="danger"
                         size="mini"
                         @click.native.prevent.stop="deletedowfile(scope.row)"
                         >鍒犻櫎</el-button
@@ -1139,7 +1127,7 @@
             <div v-else class="pdfimgmins">{{ hintitle }}</div>
           </div>
         </el-tab-pane>
-        <el-tab-pane label="鍙戠エ鏂囦欢" :name="2">
+        <el-tab-pane label="鍙戠エ鏂囦欢" name="invoice">
           <div class="pdfimg">
             <div class="box-pdf">
               <div>
@@ -1656,7 +1644,7 @@
       invoicepdfimg: "",
       invoicepdfimgsrcList: [],
       invoDatatop: [],
-      activeName: 1, //鏂囦欢绫诲瀷
+      activeName: "common", //鏂囦欢绫诲瀷
       //涓婁紶闄勪欢璺緞
       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
       ICDtoken: getToken(),
@@ -2249,7 +2237,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);
@@ -2705,7 +2693,15 @@
                 this.$modal.msgWarning(
                   "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
                     (k + 1).toString() +
-                    "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                    "琛岀殑浜哄憳濮撳悕涓虹┖,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+              if (tempDetail.unitname == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (k + 1).toString() +
+                    "琛岀殑涓撳鍗曚綅涓虹┖,璇烽�夋嫨鍗曚綅鍚庡啀鎻愪氦淇濆瓨锛�"
                 );
                 return;
               }
@@ -2811,11 +2807,19 @@
                 };
                 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 {
+                    if (res.msg) {
+                      this.$modal.msgError("鎿嶄綔澶辫");
+                    } else {
+                      this.$modal.msgError(res.msg);
+                    }
+                  }
                 });
               }
               this.Getnetworkheader();
@@ -3043,10 +3047,8 @@
         .catch(() => {
           //鍑犵偣鍙栨秷鐨勬彁绀�
         });
-
       //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛�
     },
-
     //璁$畻鎬婚噾棰�
     sumTotalFee(row) {
       let allSum = 0;
@@ -3162,7 +3164,7 @@
     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 {
@@ -3178,7 +3180,7 @@
       };
       const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
       //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         if (response.code == 200) {
           this.previewpdf = true;
 
@@ -3262,29 +3264,54 @@
       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 = [];
@@ -3293,26 +3320,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 = [];
@@ -3320,16 +3356,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(".");
@@ -3377,7 +3415,7 @@
     },
     // 鍙戠エ鍒囨崲
     handleClick(tab, event) {
-      if (this.activeName == 1) {
+      if (this.activeName == "common") {
         this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�";
       } else {
         this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�";
@@ -3387,16 +3425,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);
@@ -3409,10 +3445,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);
@@ -3420,11 +3454,14 @@
     },
     // 鐐瑰嚮涓婄Щ
     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 indexann = this.rbDetails[
+          this.atpresent
+        ].annexfilesList.findIndex(item => item.name == row.name);
         const itemann = this.rbDetails[this.atpresent].annexfilesList.splice(
           indexann,
           1
@@ -3434,13 +3471,19 @@
           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 indexinvo = this.rbDetails[
+          this.atpresent
+        ].invoicefilesList.findIndex(item => item.name == row.name);
         const iteminvo = this.rbDetails[this.atpresent].invoicefilesList.splice(
           indexinvo,
           1
@@ -3513,6 +3556,17 @@
             ) {
               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;

--
Gitblit v1.9.3