From 563230f7ebcfe6b2d07d147f8b0f29e681bb68fb Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 05 三月 2024 11:05:07 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 408 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 255 insertions(+), 153 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 6f0703c..a5186fc 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/src/views/project/fund/applyDetail/index.vue @@ -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" @@ -615,7 +585,7 @@ > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -801,8 +771,8 @@ <el-option v-for="item in accountlist" :key="item.id" - :label="item.username" - :value="item.username" + :label="item.userid" + :value="item.id" > </el-option> </el-select> @@ -817,16 +787,16 @@ 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="璇疯緭鍏ュ崟浣嶅悕绉帮紝鎴栦笓瀹跺鍚嶏紝鎴栧叾浠栬处鍙�" @@ -954,7 +924,7 @@ :visible.sync="pdfVisible" width="60%" > - <div> + <div style="margin-bottom: 10px;"> <el-table :data="tableDatatop" style="width: 100%"> <el-table-column v-if="businessType == 4" @@ -1027,14 +997,20 @@ </el-table-column> </el-table> </div> - + <el-alert + title="鏂颁笂浼犳枃浠堕渶鍦ㄦ彁浜や繚瀛樺悗鎵嶅彲杩涜妗堜緥鍏宠仈锛屽惁鍒欒涓烘斁寮�" + type="error" + show-icon + close-text="鐭ラ亾浜�" + > + </el-alert> <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick" > - <el-tab-pane label="鏅�氶檮浠�" :name="1"> + <el-tab-pane label="鏅�氶檮浠�" name="common"> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -1095,7 +1071,7 @@ > <template slot-scope="scope"> <el-button - type="primary" + type="danger" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button @@ -1139,7 +1115,7 @@ <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> </el-tab-pane> - <el-tab-pane label="鍙戠エ鏂囦欢" :name="2"> + <el-tab-pane label="鍙戠エ鏂囦欢" name="invoice"> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -1656,7 +1632,7 @@ invoicepdfimg: "", invoicepdfimgsrcList: [], invoDatatop: [], - activeName: 1, //鏂囦欢绫诲瀷 + activeName: "common", //鏂囦欢绫诲瀷 //涓婁紶闄勪欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", ICDtoken: getToken(), @@ -2260,7 +2236,7 @@ path: "/finance/applyDetail/", query: { id: response.data, - businessType: "2", + businessType: this.businessType, operationType: "update", curCase: this.curCase } @@ -2364,22 +2340,40 @@ //鑾峰彇涓撳銆佸崟浣嶆満鏋勭殑璐︽埛鍒楄〃 getAccountList() { listExternalperson().then(res => { - this.accountlist = res.rows; + // this.accountlist = res.rows; //鑾峰彇鍚敤鐨勮处鎴峰垪琛� - for (let j = 0; j < res.length; j++) { + for (let j = 0; j < res.rows.length; j++) { //鍗曚綅璐﹀彿鍒楄〃 - if (res.userstatus == "1") { - this.accountlist.push({ - id: res.id, - userno: res.userno, - username: res.username, - idcardno: res.idcardno, - title: res.title, - depositbank: res.depositbank, - bankcardno: res.bankcardno, - unitno: res.unitno, - unitname: res.unitname - }); + if (res.rows[j].userstatus == "1") { + if (res.rows[j].usertype == "org") { + this.accountlist.push({ + id: res.rows[j].id, + userno: res.rows[j].userno, + username: res.rows[j].username, + idcardno: res.rows[j].idcardno, + title: res.rows[j].title, + depositbank: res.rows[j].depositbank, + bankcardno: res.rows[j].bankcardno, + unitno: res.rows[j].unitno, + unitname: res.rows[j].unitname, + userid: + res.rows[j].username + "锛�" + res.rows[j].bankcardno + "锛�" + }); + } else { + this.accountlist.push({ + id: res.rows[j].id, + userno: res.rows[j].userno, + username: res.rows[j].username, + idcardno: res.rows[j].idcardno, + title: res.rows[j].title, + depositbank: res.rows[j].depositbank, + bankcardno: res.rows[j].bankcardno, + unitno: res.rows[j].unitno, + unitname: res.rows[j].unitname, + userid: + res.rows[j].username + "锛�" + res.rows[j].idcardno + "锛�" + }); + } } } }); @@ -2791,8 +2785,10 @@ flowconclusion: this.checkObj.flowlevelone, flowcontent: this.checkObj.flowconclusion }; + this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒"); checkfund(checkFundObj).then(res => { //鍏抽棴绐楀彛 + this.$modal.closeLoading(); this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); @@ -3142,7 +3138,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 { @@ -3158,7 +3154,7 @@ }; const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - if (this.activeName == 1) { + if (this.activeName == "common") { if (response.code == 200) { this.previewpdf = true; @@ -3234,36 +3230,62 @@ 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; 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 = []; @@ -3272,26 +3294,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 = []; @@ -3299,16 +3330,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("."); @@ -3356,7 +3389,7 @@ }, // 鍙戠エ鍒囨崲 handleClick(tab, event) { - if (this.activeName == 1) { + if (this.activeName == "common") { this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; @@ -3366,16 +3399,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); @@ -3388,10 +3419,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); @@ -3399,15 +3428,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; @@ -3422,7 +3488,13 @@ if (this.selectionType == "account") { //榛樿浠庤处鎴峰簱閫夋嫨锛�1,璐︽埛搴擄紱2锛屾柊寤鸿处鎴� this.accountfrom = "1"; - this.accountselectform.accountname = scope.row.beneficiaryname; + if (scope.row.idcardno) { + this.accountselectform.accountname = + scope.row.beneficiaryname + "锛�" + scope.row.idcardno + "锛�"; + } else { + this.accountselectform.accountname = + scope.row.beneficiaryname + "锛�" + scope.row.bankcardno + "锛�"; + } this.accountselectform.accountno = scope.row.beneficiaryno; this.accountselectform.expertunitname = ""; this.accountselectform.expertunitno = ""; @@ -3454,11 +3526,10 @@ if (this.accountfrom == "1") { //璧嬪�间俊鎭� if ( - this.rbDetails[tempIndex].beneficiaryname != - this.accountselectform.accountname + 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; @@ -3485,8 +3556,8 @@ //鑾峰彇鐢ㄦ埛缂栧彿 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; @@ -3511,53 +3582,84 @@ this.accountform.unitname = res.organizationname; } }); + } else { + this.accountform.userstatus = 1; } addExternalperson(this.accountform).then(response => { if (response.code == 200) { - if (this.accountselectform.usertype == "expert") { + // //閲嶆柊鑾峰彇璐︽埛鍒楄〃 + // listExternalperson().then(res => { + // this.accountlist = res.rows; + // }); + + console.log("addExternalperson", response.data.id); + if (this.accountselectform.usertype == "org") { + this.accountlist.push({ + id: response.data.id, + userno: this.accountform.userno, + username: this.accountform.username, + idcardno: this.accountform.idcardno, + title: this.accountform.title, + depositbank: this.accountform.depositbank, + bankcardno: this.accountform.bankcardno, + unitno: this.accountform.unitno, + unitname: this.accountform.unitname, + userid: + this.accountform.username + + "锛�" + + this.accountform.bankcardno + + "锛�" + }); + this.$modal.msgSuccess("鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭紒"); + } else { + this.accountlist.push({ + id: response.data.id, + userno: this.accountform.userno, + username: this.accountform.username, + idcardno: this.accountform.idcardno, + title: this.accountform.title, + depositbank: this.accountform.depositbank, + bankcardno: this.accountform.bankcardno, + unitno: this.accountform.unitno, + unitname: this.accountform.unitname, + userid: + this.accountform.username + + "锛�" + + this.accountform.idcardno + + "锛�" + }); this.$modal.msgSuccess( - "鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒" + "鎮ㄥ凡娣诲姞鎴愬姛鏂拌处鎴蜂俊鎭�,闇�瑕佸湪璐﹀彿鐘舵�佸惎鐢ㄥ悗鎵嶈兘琚娇鐢紒" ); return; - } else { - this.$modal.msgSuccess("鏂拌处鎴蜂俊鎭凡娣诲姞鎴愬姛锛�"); } - - this.accountselectform.accountno = this.accountselectform.userno; + 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; } - }); + } }); } }); -- Gitblit v1.9.3