From 1e487a42549384f6e937a5c7d557563aedafec2c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 20 三月 2024 18:41:29 +0800 Subject: [PATCH] 11 --- src/views/project/fund/performancedetails/index.vue | 925 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 852 insertions(+), 73 deletions(-) diff --git a/src/views/project/fund/performancedetails/index.vue b/src/views/project/fund/performancedetails/index.vue index f661042..00a33d7 100644 --- a/src/views/project/fund/performancedetails/index.vue +++ b/src/views/project/fund/performancedetails/index.vue @@ -6,14 +6,15 @@ <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <el-col :span="5"> - <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> + <el-form-item label="鐢宠鏃ユ湡" prop="applyTime"> <el-date-picker clearable style="width: 100%" - v-model="form.createTime" + v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="鐢宠鏃ユ湡" + disabled="true" > </el-date-picker> </el-form-item> @@ -107,30 +108,31 @@ </el-alert> </el-row> <el-row> - <el-col :span="3" - ><div style="margin-bottom: 15px;"> + <el-col :span="3"> + <div style="margin-bottom: 15px;"> <el-button - type="success" + type="primary" icon="el-icon-download" + size="small" @click="Batchentry" - >鎵归噺褰曞叆</el-button + >鎵归噺褰曞叆浜哄憳</el-button > - </div></el-col + </div> + </el-col> + <el-col + :span="3" + v-if="userprofile.nickName == '闄堟厱鍗�' && operationType == 'check'" > - </el-row> - <el-row - v-if="userprofile.nickName == '闄堟厱鍗�' && operationType == 'check'" - > - <el-col :span="3" - ><div style="margin-bottom: 15px;"> + <div style="margin-bottom: 15px;"> <el-button type="success" icon="el-icon-edit-outline" + size="small" @click="Manualcalculationfn" >璁$畻涓◣</el-button > - </div></el-col - > + </div> + </el-col> </el-row> <el-row> <el-table @@ -145,6 +147,7 @@ align="center" label="搴忓彿" width="88" + fixed > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> @@ -155,6 +158,7 @@ align="center" label="鏈嶅姟绫诲瀷" width="200" + fixed > <template slot-scope="scope"> <el-select @@ -192,6 +196,26 @@ :value="dict.id" ></el-option> </el-select> + <!-- <el-cascader + v-model="scope.row.applytype" + :options="aaoptions" + :show-all-levels="false" + ></el-cascader> --> + </template> + </el-table-column> + <el-table-column + prop="amount" + align="center" + label="缁╂晥鏃ユ湡" + width="260" + > + <template slot-scope="scope"> + <el-date-picker + v-model="scope.row.jxrq" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> </template> </el-table-column> <el-table-column @@ -231,9 +255,22 @@ </template> </el-table-column> <el-table-column + prop="taxamount" + align="center" + label="鎵g◣閲戦" + width="120" + > + <template slot-scope="scope"> + <el-input + v-model="scope.row.taxamount" + placeholder="鎵g◣閲戦" + /> + </template> + </el-table-column> + <el-table-column prop="beneficiaryname" align="center" - label="濮撳悕" + label="缁╂晥浜哄憳鎴栧崟浣�" width="250" > <template slot-scope="scope"> @@ -333,6 +370,14 @@ > 鍒犻櫎 </el-button> + <el-button + @click.native.prevent=" + Filepopup(scope.$index, rbDetails, scope.row) + " + type="text" + size="small" + >绁ㄦ嵁</el-button + > </template> </el-table-column> </el-table> @@ -428,32 +473,35 @@ <el-dialog :visible.sync="showSelectionDialog" :close-on-click-modal="false" - :title="'涓汉淇℃伅閫夋嫨'" + :title="'缁╂晥浜哄憳锛堝惈鎵�鍦ㄥ崟浣嶏級璐﹀彿閫夋嫨'" width="500px" style="text-align: center" v-loading="loading" > <el-form ref="funddetailForm" :model="funddetailForm"> <el-row> - <el-select - v-model="funddetailForm.userName" - filterable - remote - reserve-keyword - allow-create - default-first-option - placeholder="璇疯緭鍏ュ叧閿瘝" - :remote-method="remoteMethod" - :loading="loadingperformance" - > - <el-option - v-for="item in optionsperformance" - :key="item.value" - :label="item.label" - :value="item.value" + <el-form-item label="璇疯緭鍏ラ�夋嫨锛�" prop="unitno" label-width="120px"> + <el-select + v-model="funddetailForm.userName" + filterable + remote + reserve-keyword + allow-create + default-first-option + placeholder="璇疯緭鍏ュ鍚嶆垨鍗曚綅鍚嶇О" + :remote-method="remoteMethod" + :loading="loadingperformance" + style="width: 100%" > - </el-option> - </el-select> + <el-option + v-for="item in optionsperformance" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> </el-row> </el-form> <span slot="footer" class="dialog-footer"> @@ -477,6 +525,264 @@ <el-button @click="unsave">鍙� 娑�</el-button> <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> </span> + </el-dialog> + <!-- 闄勪欢 --> + <el-dialog + v-dialogDrags + :modal="false" + :close-on-click-modal="false" + :title="pdftitle" + :visible.sync="pdfVisible" + width="60%" + > + <div style="margin-bottom: 10px;"> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column + prop="beneficiaryname" + align="center" + label="鍗曚綅/涓汉" + width="250" + > + </el-table-column> + <el-table-column + prop="idcardno" + align="center" + label="韬唤璇佸彿" + width="200" + v-if="form.applytype == '1' || form.applytype == '2'" + > + </el-table-column> + <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�"> + </el-table-column> + <el-table-column + prop="bankcardno" + align="center" + label="閾惰甯愬彿" + width="210" + > + </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"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="fileListto" + :show-file-list="false" + multiple + drag + :headers="headers" + :on-success=" + (response, file, fileList) => + uploadSccess(response, file, fileList) + " + :on-preview="downFile" + :disabled="operationType == 'detail'" + :on-error="handleUploadError" + :on-remove="remove" + accept="image/*,.pdf" + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗙エ鎹嫋鍒版澶勶紝鎴� + <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" + > + <el-table-column + prop="name" + :show-overflow-tooltip="true" + label="鍚嶇О" + > + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="name" + width="190" + :show-overflow-tooltip="true" + label="鍔熻兘" + > + <template slot-scope="scope"> + <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 + > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(scope.row)" + ></el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + + <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" + > + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-tab-pane> + <el-tab-pane label="鍙戠エ鏂囦欢" :name="2"> + <div class="pdfimg"> + <div class="box-pdf"> + <div> + <el-upload + size="mini" + class="upload-demo" + :action="uploadFileUrl" + :file-list="invoicefileList" + :show-file-list="false" + multiple + drag + :headers="headers" + :on-success=" + (response, file, fileList) => + uploadSccess(response, file, fileList) + " + :on-preview="downFile" + :disabled="operationType == 'detail'" + :on-error="handleUploadError" + :on-remove="remove" + accept="image/*,.pdf" + > + <i class="el-icon-upload"></i> + <div class="el-upload__text"> + 灏嗗彂绁ㄦ枃浠舵嫋鍒版澶勶紝鎴� + <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" + > + <el-table-column + prop="name" + :show-overflow-tooltip="true" + label="鍚嶇О" + > + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="name" + width="190" + :show-overflow-tooltip="true" + label="鍔熻兘" + > + <template slot-scope="scope"> + <el-button + type="primary" + 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 + > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(scope.row)" + ></el-button> + </template> + </el-table-column> + </el-table> + </div> + </div> + + <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" + > + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-tab-pane> + </el-tabs> </el-dialog> <!-- 鎵归噺閫夊彇 --> @@ -597,7 +903,7 @@ spocewl: "", //璐圭敤鐢宠琛ㄥ崟title title: "", - Copy: "", + //鐢宠鍗曠被鍨� businessType: "0", businessName: "", @@ -629,6 +935,7 @@ unitforname: null, isIndeterminate: true, Performanceclass: 68, + ICDtoken: getToken(), //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 ismanager: false, @@ -641,7 +948,7 @@ }, { id: 2, - name: "鐢宠鏉愭枡閫氳繃绛夊緟鏉愭枡" + name: "瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡" }, { id: 3, @@ -683,7 +990,52 @@ //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍 rowfeeItemTypes: [{ label: "绠$悊鎴愭湰", value: "9" }], - + aaoptions: [ + { + value: "niandu", + label: "骞村害" + }, + { + value: "jidu", + label: "瀛e害", + children: [ + { + value: "2024-03-31", + label: "绗竴瀛e害" + }, + { + value: "2024-6-30", + label: "绗簩瀛e害" + }, + { + value: "2024-9-30", + label: "绗笁瀛e害" + }, + { + value: "2024-12-31", + label: "绗洓瀛e害" + } + ] + }, + { + value: "yuedu", + label: "鏈堝害", + children: [ + { label: "涓�鏈�", value: new Date(2024, 0 + 1, 0).getDate() }, + { label: "浜屾湀", value: new Date(2024, 1 + 1, 0).getDate() }, + { label: "涓夋湀", value: new Date(2024, 2 + 1, 0).getDate() }, + { label: "鍥涙湀", value: new Date(2024, 3 + 1, 0).getDate() }, + { label: "浜旀湀", value: new Date(2024, 4 + 1, 0).getDate() }, + { label: "鍏湀", value: new Date(2024, 5 + 1, 0).getDate() }, + { label: "涓冩湀", value: new Date(2024, 6 + 1, 0).getDate() }, + { label: "鍏湀", value: new Date(2024, 7 + 1, 0).getDate() }, + { label: "涔濇湀", value: new Date(2024, 8 + 1, 0).getDate() }, + { label: "鍗佹湀", value: new Date(2024, 9 + 1, 0).getDate() }, + { label: "鍗佷竴鏈�", value: new Date(2024, 10 + 1, 0).getDate() }, + { label: "鍗佷簩鏈�", value: new Date(2024, 11 + 1, 0).getDate() } + ] + } + ], //璐圭敤璇存槑 feeBlocks: [], @@ -699,9 +1051,6 @@ // 琛ㄥ崟鏍¢獙 rules: { - createTime: [ - { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - ], reason: [ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } ], @@ -759,6 +1108,8 @@ flowconclusion: null, fundid: null }, + // 缃戠粶璇锋眰澶� + Networkheader: null, // 鏌ヨ鍙傛暟 queryParams: { @@ -811,6 +1162,20 @@ usestate: null }, + //闄勪欢鍒楄〃 + fileList: [], + fileListto: [], + invoicefileList: [], + invoicefileListto: [], + invoicepdfimg: "", + invoicepdfimgsrcList: [], + activeName: 1, //鏂囦欢绫诲瀷 + //涓婁紶闄勪欢璺緞 + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", + //鏂囦欢涓婁紶token + headers: { + Authorization: "Bearer " + getToken() + }, //绁ㄦ嵁鏂囦欢 pdftitle: "", pdfimg: "", @@ -902,9 +1267,8 @@ /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */ getroute() { console.log(11); - //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� + //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佸鍒讹紱4銆佹煡鐪� this.curId = this.$route.query.id; - this.Copy = this.$route.query.Copy; this.businessType = this.$route.query.businessType; this.operationType = this.$route.query.operationType; this.beforehandType = this.$route.query.beforehandType; @@ -920,11 +1284,10 @@ this.handleAdd(); } else if (this.operationType == "update") { this.title = this.businessName + "淇敼"; - if (this.Copy) { - this.title = this.businessName + "澶嶅埗"; - } - console.log(this.title); this.handleUpdate(); + } else if (this.operationType == "copy") { + this.title = this.businessName + "澶嶅埗"; + this.handleCopy(); } else if (this.operationType == "detail") { this.title = this.businessName + "鏌ョ湅"; this.jurisdiction = true; @@ -963,15 +1326,6 @@ //鏄庣粏澶勭悊 getownFundDetail(this.curId).then(res => { this.rbDetails = res.data; - if (this.Copy) { - this.form.createTime = null; - this.rbDetails.map(item => { - item.amount = 0; - item.taxedamount = 0; - }); - console.log(this.rbDetails); - } - if (this.rbDetails.length > 0) { for (let m = 0; m < this.rbDetails.length; m++) { this.rbDetails[m].itemlist = []; @@ -999,6 +1353,74 @@ listFundflow(listFundflowparams).then(res => { this.fundflowList = res.rows; }); + }); + }, + + /** 澶嶅埗鎸夐挳鎿嶄綔 */ + handleCopy() { + this.isopen = 0; + this.reset(); + + getFund(this.curId).then(response => { + this.form = response.data; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); + + //鏄庣粏澶勭悊 + getownFundDetail(this.curId).then(res => { + this.rbDetails = res.data; + if (this.rbDetails.length > 0) { + for (let m = 0; m < this.rbDetails.length; m++) { + this.rbDetails[m].itemlist = []; + this.getRowFeeItems(m, this.rbDetails[m]); + + //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭� + this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( + r => r.itemid == this.rbDetails[m].itemid + ); + + //鍒濆鍖栨槑缁嗕俊鎭� + this.rbDetails[m].id = null; + this.rbDetails[m].fundid = null; + this.rbDetails[m].amount = 0; + this.rbDetails[m].taxamount = 0; + this.rbDetails[m].taxedamount = 0; + } + + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + } else { + this.addRow(0); + } + }); + + //鍒濆鍖栦富淇℃伅 + this.curId = null; + this.form.id = null; + this.form.recordstatus = "-1"; + this.form.checkstatus = null; + this.form.pretaxcost = 0; + this.form.istax = null; + this.form.fundtaxtime = null; + this.form.createTime = null; + this.form.updateTime = null; + + this.form.flowlevel = null; + this.form.backflowlevel = null; + + this.form.financedirector = null; + this.form.financechecher = null; + this.form.president = null; + this.form.finvicepresident = null; + this.form.busvicepresident = null; + this.form.zffs = null; + this.form.riqi = null; + this.form.bh = null; + this.form.istax = 0; + this.form.fundtaxtime = null; }); }, @@ -1122,6 +1544,20 @@ //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍 //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍 this.form.recordstatus = 0; + var currenttime = new Date(); + this.form.applyTime = + currenttime.getFullYear() + + "-" + + (currenttime.getMonth() + 1) + + "-" + + currenttime.getDate() + + " " + + currenttime.getHours() + + ":" + + currenttime.getMinutes() + + ":" + + currenttime.getSeconds(); + if (!this.form.id) { this.form.id = this.$route.query.id; } @@ -1294,12 +1730,19 @@ if (this.form.id != null) { } else { this.form.recordstatus = -1; - } - if (this.Copy) { - this.form.id = null; - this.rbDetails.map(item => { - return (item.id = null); - }); + var currenttime = new Date(); + this.form.applyTime = + currenttime.getFullYear() + + "-" + + (currenttime.getMonth() + 1) + + "-" + + currenttime.getDate() + + " " + + currenttime.getHours() + + ":" + + currenttime.getMinutes() + + ":" + + currenttime.getSeconds(); } sessionStorage.setItem( @@ -1310,17 +1753,25 @@ addorupdateFund(this.form).then(response => { console.log(response, "淇濆瓨杩斿弬"); if (response.code === 200) { - this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.push({ - path: "/finance/performancedetails/", - query: { - id: response.data, - businessType: "5", - operationType: "update" - } - }); + if (this.form.id) { + this.$modal.msgSuccess("鐢宠鍗曚慨鏀规垚鍔燂紒"); + this.$router.go(-1); + } else { + this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒"); + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.push({ + path: "/finance/performancedetails/", + query: { + id: response.data, + businessType: "5", + operationType: "update" + } + }); + } this.Routinglevel++; + this.form.id = response.data; + this.curId = response.data; + this.handleUpdate(); } else { this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg); } @@ -1340,9 +1791,11 @@ flowconclusion: this.checkObj.flowlevelone, flowcontent: this.checkObj.flowconclusion }; + this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒"); checkfund(checkFundObj).then(res => { //鍏抽棴绐楀彛 this.reset(); + this.$modal.closeLoading(); this.$modal.msgSuccess("瀹℃牳瀹屾垚!"); this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); @@ -1976,7 +2429,6 @@ this.selectionType = showType; this.selectionType = this.experthear; this.expertfrom = "1"; - console.log(spoce); this.funddetailForm.index = spoce.$index; this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno; this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname; @@ -2029,6 +2481,332 @@ } else { this.optionsperformance = []; } + }, + handleUploadError() {}, + remove(file, fileList) { + const rbDetails = [...this.rbDetails]; + if (this.activeName == 1) { + this.fileListto.splice(this.fileListto.indexOf(file), 1); + rbDetails[this.atpresent].annexfilesList = this.fileListto; + } else { + this.invoicefileListto.splice(this.invoicefileListto.indexOf(file), 1); + rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; + } + }, + // 鑾峰彇璇锋眰澶� + Getnetworkheader() { + let string = window.location.href; + if (string.includes("9091")) { + const index = string.indexOf("9091"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃 + } else { + const index = string.indexOf("8032"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 + } + }, + 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.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); + + 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.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } 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); + + 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.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } + } + }, + + // 鐐瑰嚮绁ㄦ嵁 + Filepopup(index, rows, row) { + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + + this.tableDatatop = []; + this.fileListto = []; + this.invoicefileListto = []; + this.pdfimg = ""; + this.invoicepdfimg = []; + this.pdfimgsrcList = []; + this.invoicepdfimgsrcList = []; + this.tableDatatop.push(row); + this.atpresent = index; + this.pdfVisible = true; + + if (this.rbDetails[index].annexfilesList) { + const fetchPromises = this.rbDetails[index].annexfilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; + }); + } + ); + + Promise.all(fetchPromises).then(fileListto => { + this.fileListto = fileListto.filter(item => item !== null); + this.pdfimg = this.fileListto[0].url; + console.log(this.pdfimg, "pdfimg"); + this.pdfimgsrcList = this.fileListto.map(item => item.url); + }); + + this.previewpdf = true; + } else { + this.fileListto = []; + this.pdfimg = ""; + this.pdftitle = ""; + } + //鍙戠エ + if (this.rbDetails[index].invoicefilesList) { + const fetchPromises = this.rbDetails[index].invoicefilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; + }); + } + ); + + Promise.all(fetchPromises).then(invoicefileListto => { + this.invoicefileListto = invoicefileListto.filter( + item => item !== null + ); + this.invoicepdfimg = this.invoicefileListto[0].url; + console.log(this.invoicepdfimg, "invoicepdfimg"); + this.invoicepdfimgsrcList = this.invoicefileListto.map( + item => item.url + ); + }); + + this.previewpdf = true; + } else { + this.invoicefileListto = []; + this.invoicepdfimg = ""; + this.pdftitle = ""; + } + + 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) { + this.pdftitle = + "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + console.log(item, "灞曠ず"); + this.previewpdf = true; + if (item.url) { + this.pdfimg = item.url; + } else { + this.pdfimg = ""; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + } else { + this.pdftitle = + "鍏�" + this.invoicepdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + this.previewpdf = true; + if (item.url) { + this.invoicepdfimg = item.url; + } else { + this.invoicepdfimg = ""; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + } + }, + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鍙戠エ鍒囨崲 + handleClick(tab, event) { + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + console.log(row); + let indexvalue = ""; + if (this.activeName == 1) { + 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, + 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); + } + }, + // 鐐瑰嚮涓婄Щ + moveupdowfile(row) { + if (this.activeName == 1) { + const index = this.getIndexInArray(this.fileListto, row); + 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鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } else { + const index = this.getIndexInArray(this.invoicefileListto, row); + 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鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } + }, + Downloadfile(row) { + console.log(row); + window.location.href = this.Networkheader + "/prod-api" + row.url; } }, @@ -2036,6 +2814,7 @@ created() { //鑾峰彇璺敱鍙傛暟 this.getroute(); + this.Getnetworkheader(); this.getExternalList(); this.getFeeUnitList(); this.listperformance(); -- Gitblit v1.9.3