From 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 14 八月 2024 14:19:24 +0800 Subject: [PATCH] 11 --- src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 1134 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 814 insertions(+), 320 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index 2a21e36..cc31692 100644 --- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue +++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue @@ -5,13 +5,14 @@ <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 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> @@ -84,7 +85,7 @@ /> </el-form-item> </el-col> - <el-col :span="10"> + <el-col :span="7"> <el-form-item label="澶у啓閲戦" prop="bigstrmoney"> <el-input :disabled="true" @@ -92,7 +93,7 @@ placeholder="鎶ラ攢澶у啓閲戦" /> </el-form-item> </el-col - ><el-col :span="5"> + ><el-col :span="4"> <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel"> <el-select v-model="form.recordstatus" @@ -194,7 +195,7 @@ </el-col> </el-row> --> - <!-- + <!-- <el-row type="flex" :gutter="10" align="right" class="mb8"> <el-col :span="6"> <el-button @@ -208,6 +209,16 @@ </el-col> </el-row> --> + <el-row v-if="jurisdiction"> + <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning"> + </el-alert> --> + <el-alert + title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" + type="warning" + show-icon + > + </el-alert> + </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px"> <el-col :span="20">鎶ラ攢鏄庣粏</el-col> </el-row> @@ -413,7 +424,12 @@ </el-select> </template> </el-table-column> - <el-table-column prop="days" label="澶╂暟" width="65" align="center"> + <el-table-column + prop="days" + label="澶╂暟" + width="100" + align="center" + > <template slot-scope="scope"> <el-input v-model="scope.row.days" @@ -518,7 +534,7 @@ </template> </el-table-column> - <el-table-column + <!-- <el-table-column prop="foodexpenses" label="椁愯垂鎶ラ攢" align="center" @@ -535,7 +551,7 @@ " /> </template> - </el-table-column> + </el-table-column> --> <el-table-column prop="foodallowance" label="浼欓琛ュ姪" @@ -708,16 +724,16 @@ <el-table-column prop="persontype" slot="" - label="浜哄憳绫诲埆" + label="鏀舵浜虹被鍒�" align="center" fixed - width="130" + width="150" > <template slot-scope="scope"> <el-select v-model="scope.row.persontype" value-key="value" - placeholder="浜哄憳绫诲埆" + placeholder="鏀舵浜虹被鍒�" @change="getPersons(scope.row)" > <el-option @@ -735,7 +751,7 @@ label="鏀舵浜�" align="center" fixed - width="110" + width="200" > <template slot-scope="scope"> <el-select @@ -761,19 +777,19 @@ <el-table-column prop="bankname" slot="" - label="閾惰鍚嶇О" + label="鏀舵閾惰" align="center" fixed - width="200" + width="250" > <template slot-scope="scope"> - <el-input v-model="scope.row.bankname" placeholder="閾惰鍚嶇О" /> + <el-input v-model="scope.row.bankname" placeholder="鏀舵閾惰" /> </template> </el-table-column> <el-table-column prop="bankcardno" slot="" - label="閾惰鍗″彿" + label="閾惰璐﹀彿" align="center" fixed width="200" @@ -781,7 +797,7 @@ <template slot-scope="scope"> <el-input v-model="scope.row.bankcardno" - placeholder="閾惰鍗″彿" + placeholder="閾惰璐﹀彿" /> </template> </el-table-column> @@ -882,6 +898,30 @@ </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType == 'check' && userprofile.nickName == '闄堟厱鍗�'" + > + <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"> + <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> + </el-row> + + <el-row + style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'" > <el-col :span="7"> @@ -905,14 +945,14 @@ <el-button type="primary" @click="submitForm" - v-if="operationType == 'edit'" + v-if="operationType == 'edit' || userprofile.nickName == '闄堟厱鍗�'" >淇� 瀛�</el-button > <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'" - >鎻� 浜�</el-button + >鎻愪氦瀹℃牳</el-button > <!--<el-button @click="cancel">閫� 鍑�</el-button>--> </div> @@ -926,99 +966,243 @@ :visible.sync="pdfVisible" width="60%" > - <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 - :limit="20" - :headers="headers" - :on-success=" - (response, file, fileList) => - uploadSccess(response, file, fileList) - " - :on-preview="downFile" - :disabled="operationType == 'detail'" - :on-error="handleUploadError" - :on-exceed="handleExceed" - :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 style="margin-bottom: 10px;"> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column prop="orderno" label="搴忓彿"> </el-table-column> + <el-table-column prop="personname" label="璐圭敤浜哄憳"> + </el-table-column> + <el-table-column prop="starttime" label="寮�濮嬫棩鏈�"> </el-table-column> + <el-table-column prop="endtime" label="缁撴潫鏃ユ湡"> </el-table-column> + <el-table-column prop="departure" label="鍑哄彂鍦�"> </el-table-column> + <el-table-column prop="destination" label="鍒拌揪鍦�"> </el-table-column> + <el-table-column prop="days" label="澶╂暟"> </el-table-column> + </el-table> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column prop="traffictype" label="鍑哄彂浜ら�氬伐鍏�"> + </el-table-column> + <el-table-column prop="traffictype2" label="杩斿洖浜ら�氬伐鍏�"> + </el-table-column> + <el-table-column prop="trafficexpense" label="浜ら�氳垂"> + </el-table-column> + <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂"> </el-table-column> + <el-table-column prop="hotelexpense" label="浣忓璐�"> + </el-table-column> + <el-table-column prop="foodallowance" label="浼欓琛ュ姪"> + </el-table-column> + <el-table-column prop="otherexpense" label="鍏潅璐硅ˉ鍔�"> + </el-table-column> + <el-table-column prop="otherfeeamount" label="鍏朵粬璐圭敤"> + </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" />{{ + scope.row.name + }} + </template> + </el-table-column> + + <el-table-column + prop="name" + width="180" + :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 + > + </template> + </el-table-column> + </el-table> </div> - </el-upload> - <el-table - :data="fileListto" - @row-click="downFile" - style="width: 100%" + </div> + + <div + v-if="this.previewpdf && pdfimgsrcList.length" + class="pdfimgmin" > - <el-table-column - prop="name" - :show-overflow-tooltip="true" - label="鍚嶇О" + <!-- <img :src="pdfimg" /> --> + <el-image + style="width: 95%; height: 90%" + :src="pdfimg" + :preview-src-list="pdfimgsrcList" > - <template slot-scope="scope"> - <i style="color:#409EFF" class=" el-icon-s-order" />{{ - scope.row.name - }} - </template> - </el-table-column> - - <el-table-column - prop="name" - width="180" - :show-overflow-tooltip="true" - label="鍔熻兘" - > - <template slot-scope="scope"> - <el-button - type="primary" - size="mini" - @click.native.prevent="deletedowfile(scope.row)" - >鍒犻櫎</el-button - > - <el-button - type="primary" - size="mini" - @click.native.prevent="moveupdowfile(scope.row)" - >涓婄Щ</el-button - > - </template> - </el-table-column> - </el-table> - </div> - </div> - - <div v-if="this.previewpdf" class="pdfimgmin"> - <!-- <img :src="pdfimg" /> --> - <el-image - style="width: 95%; height: 90%" - :src="pdfimg" - :preview-src-list="pdfimgsrcList" - > - <!-- <div slot="error" class="image-slot"> + <!-- <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-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" />{{ + scope.row.name + }} + </template> + </el-table-column> + + <el-table-column + prop="name" + width="180" + :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 + > + </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> <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%"> <el-alert @@ -1046,7 +1230,8 @@ import { listReimbursementpayee, addReimbursementpayee, - updateReimbursementpayee + updateReimbursementpayee, + delReimbursementpayee } from "@/api/project/reimbursementpayee"; import { listReimbursement, @@ -1109,6 +1294,7 @@ personsList: [], //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃 personsSel: [], + activeName: 1, //鏂囦欢绫诲瀷 // 閮ㄩ棬鏍戦�夐」 deptOptions: undefined, @@ -1120,6 +1306,7 @@ value: 0, label: "" }, + ICDtoken: getToken(), pdfimgsrcList: [], Savereminder: false, //鎻愰啋淇濆瓨寮规 Reminderquantity: 0, //鎻愰啋鏁伴噺 @@ -1171,19 +1358,25 @@ starttime: null, endtime: null }, + tableDatatop: [ + { + date: "2016-05-02", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + } + ], //鏌ヨ浠樻 queryParamsPayee: { rbid: null }, + // 褰撳墠鐢ㄦ埛淇℃伅 + userprofile: {}, // 琛ㄥ崟鍙傛暟 form: {}, reimbursementList: [], // 琛ㄥ崟鏍¢獙 rules: { - createTime: [ - { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" } - ], reason: [ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" } ], @@ -1202,6 +1395,20 @@ rbDetails: [], rbPayees: [], arrr2: [], + baselisttages: [ + { + id: 1, + name: "寰呯敵璇锋潗鏂�" + }, + { + id: 2, + name: "瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡" + }, + { + id: 3, + name: "宸叉敹鍒版姤閿�鏉愭枡" + } + ], baselist: [], donatorList: [], standardlevel: 0, @@ -1215,11 +1422,14 @@ //鏂囦欢鍒楄〃 fileList: [], fileListto: [], + invoicefileList: [], + invoicefileListto: [], + invoicepdfimg: "", + invoicepdfimgsrcList: [], //浜哄憳绫诲埆 persontype: null, //鍒拌揪鍦� arriveAddr: null, - headers: { Authorization: "Bearer " + getToken() }, @@ -1230,6 +1440,7 @@ flowconclusion: null, fundid: null }, + jurisdiction: false, //淇濆瓨鎸夐挳鎺у埗 idisabled: false @@ -1247,6 +1458,7 @@ //鑾峰彇鐧诲綍鑰呬俊鎭� getUserProfile().then(response => { + this.userprofile = response.data; this.defaultperson = response.data; this.standardlevel = response.data.standardlevel; console.log("this.defaultperson", this.defaultperson); @@ -1274,6 +1486,8 @@ }, mounted() { + window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); + //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� let curId = this.$route.query.id; let pos = this.$route.query.pos; @@ -1293,8 +1507,29 @@ this.$refs["table"].doLayout(); }); }, + destroyed() { + window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); + }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� methods: { + // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず + beforeunloadHandler(e) { + if ( + (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && + JSON.stringify(this.rbDetails) == + sessionStorage.getItem("apifunddetail")) || + !sessionStorage.getItem("apifunddetail") + ) { + } else { + this._beforeUnload_time = new Date().getTime(); + e = e || window.event; + if (e) { + e.returnValue = "鍏抽棴鎻愮ず"; + } + return "鍏抽棴鎻愮ず"; + } + }, + handleUploadError() {}, // 鑾峰彇璇锋眰澶� Getnetworkheader() { @@ -1310,10 +1545,23 @@ console.log(this.Networkheader); } }, + // 鍙戠エ鍒囨崲 + handleClick(tab, event) { + if (this.activeName == 1) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; + } + }, remove(file, fileList) { const rbDetails = [...this.rbDetails]; - this.fileListto.splice(this.fileListto.indexOf(file), 1); - rbDetails[this.atpresent].annexfilesList = this.fileListto; + 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; + } }, handleExceed() { @@ -1323,78 +1571,217 @@ //鏂囦欢涓婁紶鎴愬姛鍥炶皟 uploadSccess(response, file, fileList) { this.rbDetails; + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 - if (response.code == 200) { - this.form.filename = file.raw.name; + if (this.activeName == 1) { + if (response.code == 200) { + this.previewpdf = true; - this.$modal.msgSuccess(response.msg); - this.fileListto.push({ - name: file.name, - url: response.fileName - }); - this.pdfimgsrcList.push( - this.Networkheader + "/prod-api" + response.fileName - ); + 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.fileListto.push({ - // name: file.name, - // url: response.url - // }); - this.rbDetails[this.atpresent].annexfilesList = this.fileListto; + 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 { - console.log(response.msg); + 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; - console.log(this.rbDetails[index]); + if (this.rbDetails[index].annexfilesList) { - this.fileListto = this.rbDetails[index].annexfilesList; - console.log(this.fileListto); - this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; - this.pdfimgsrcList = []; - this.fileListto.forEach(item => { - this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); + 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); }); - console.log(this.pdfimgsrcList); - console.log(this.pdfimg); + + 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) { - console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); - this.pdftitle = 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.pdfimg = this.Networkheader + "/prod-api" + item.url; - // this.pdfimgsrcList = []; - // this.pdfimgsrcList.push(this.pdfimg); - if (!this.pdfimgsrcList.includes(this.pdfimg)) { - this.pdfimgsrcList.push(this.pdfimg); - console.log("鍔犲叆"); + 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 = ""; } - console.log(this.pdfimg, "pdfimg"); - console.log(this.pdfimgsrcList, "imglist"); } else { - this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; } } else { - this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; - this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); - this.previewpdf = false; + 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) { @@ -1402,17 +1789,76 @@ }, // 鐐瑰嚮鍒犻櫎 deletedowfile(row) { - console.log(this.fileListto); console.log(row); - const index = this.getIndexInArray(this.fileListto, row); - this.fileList = this.fileListto.splice(index, 1); - console.log(index); + 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) { - const index = this.getIndexInArray(this.fileListto, row); - const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + 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鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + } }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ @@ -1685,21 +2131,27 @@ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; - aEle.click(); + 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); + }); }); - - // downloadconfirmationinfo(id).then((response) => { - // var fileUrl = response; - // //鑾峰彇褰撳墠缃戝潃 - // 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(); - // }); }, /** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */ @@ -1837,12 +2289,20 @@ //鑾峰彇鎶ラ攢涓讳俊鎭� getReimbursement(curId).then(response => { this.form = response.data; + this.fileListto = this.form.annexfiles ? this.form.annexfiles .split(",") .map(item => ({ url: item, name: item })) : []; + this.invoicefileListto = this.form.invoicefilesList + ? this.form.invoicefilesList + .split(",") + .map(item => ({ url: item, name: item })) + : []; this.form.recordstatus = response.data.recordstatus + ""; + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); //鑾峰彇鎶ラ攢鏄庣粏淇℃伅 getReimbursementdetaillist(curId).then(res => { @@ -1851,20 +2311,16 @@ if (this.rbDetails.length == 0) { this.addDetailRow(0); } - //瀹炴椂鍚堣閲戦 //this.sumTotalFee(); for (let i = 0; i < this.rbDetails.length; i++) { this.sumRowFee(this.rbDetails[i]); - //瑙f瀽鍑哄樊鍦板潃 - /* - this.rbDetails[i].index = i; - this.rbDetails[i].searchAddress = { - sheng: this.rbDetails[i].travelprovincename, - shi: this.rbDetails[i].travelcityname, - qu: this.rbDetails[i].traveltownname, - }; */ } + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); }); //鑾峰彇鎶ラ攢鎵撴淇℃伅 @@ -1892,11 +2348,10 @@ handleDetail(ids) { this.operationType = "detail"; this.title = "鎶ラ攢鐢宠璇︽儏"; - + this.jurisdiction = true; this.reset(); this.open = true; const id = ids || this.ids; - getReimbursement(id).then(response => { this.form = response.data; //绁ㄦ嵁 @@ -1905,7 +2360,11 @@ .split(",") .map(item => ({ url: item, name: item })) : []; - + this.invoicefileListto = this.form.invoicefilesList + ? this.form.invoicefilesList + .split(",") + .map(item => ({ url: item, name: item })) + : []; //瀹℃牳鐘舵�� this.form.recordstatus = response.data.recordstatus + ""; let ids = response.data.id; @@ -1920,16 +2379,6 @@ //鎶ラ攢鏄庣粏 getReimbursementdetaillist(ids).then(res => { this.rbDetails = res.data; - /* - for (let i = 0; i < this.rbDetails.length; i++) { - this.rbDetails[i].index = i; - this.rbDetails[i].searchAddress = { - sheng: this.rbDetails[i].travelprovincename, - shi: this.rbDetails[i].travelcityname, - qu: this.rbDetails[i].traveltownname, - }; - } - */ //鍚堣璐圭敤 // if (this.rbDetails.length > 0) this.sumTotalFee(); for (let i = 0; i < this.rbDetails.length; i++) { @@ -1945,6 +2394,8 @@ this.addPayeeRow(0); } }); + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); }); }, @@ -1960,9 +2411,17 @@ getReimbursement(id).then(response => { this.form = response.data; + console.log(this.form.checkstatus, "checkstatus"); + this.form.checkstatus = this.form.checkstatus.toString(); + //绁ㄦ嵁 this.fileListto = this.form.annexfiles ? this.form.annexfiles + .split(",") + .map(item => ({ url: item, name: item })) + : []; + this.invoicefileListto = this.form.invoicefilesList + ? this.form.invoicefilesList .split(",") .map(item => ({ url: item, name: item })) : []; @@ -1983,16 +2442,6 @@ getReimbursementdetaillist(ids).then(res => { this.rbDetails = res.data; console.log(this.rbDetails); - /* - for (let i = 0; i < this.rbDetails.length; i++) { - this.rbDetails[i].index = i; - this.rbDetails[i].searchAddress = { - sheng: this.rbDetails[i].travelprovincename, - shi: this.rbDetails[i].travelcityname, - qu: this.rbDetails[i].traveltownname, - }; - } - */ //鍚堣璐圭敤 // if (this.rbDetails.length > 0) this.sumTotalFee(); @@ -2009,11 +2458,21 @@ this.addPayeeRow(0); } }); + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); }); }, //鎻愪氦瀹℃牳鎰忚 checksubmit() { + if ( + this.form.checkstatus != 3 && + this.userprofile.nickName == "闄堟厱鍗�" && + this.checkObj.flowlevelone == 1 + ) { + this.$modal.msgError("璇烽�夌‘璁ゆ潗鏂欑姸鎬佸凡鏀跺埌锛�"); + return; + } let checkfundobj = { flowconclusion: this.checkObj.flowlevelone, flowcontent: this.checkObj.flowconclusion, @@ -2028,14 +2487,27 @@ this.$modal.msgError("璇烽�夋嫨瀹℃牳缁撹鍚庡啀鎻愪氦瀹℃壒缁撴灉!"); return; } + if (this.userprofile.nickName == "闄堟厱鍗�") { + this.Savenow(); + console.log("淇濆瓨"); + } + this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒"); checkfund(checkfundobj).then(res => { - this.reset(); - this.open = false; - this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!"); - // 鍏抽棴绐楀彛 - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.go(-1); + if (res.code == 200) { + this.$modal.closeLoading(); + this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!"); + // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); + } else { + this.$modal.closeLoading(); + if (res.msg) { + this.$modal.msgError("鎿嶄綔澶辫"); + } else { + this.$modal.msgError(res.msg); + } + } }); }, @@ -2043,75 +2515,14 @@ submitForm: debounce(function(data) { this.$refs["form"].validate(valid => { if (valid) { - // idisabled=true; - /** - let indexErrTime = this.rbDetails.findIndex((item) => { - if (item.endtime && item.starttime) { - let d = this.$moment(item.endtime).diff(this.$moment(item.starttime), "d"); - if (d < 0) { - return true; - } else { - return false; - } - } else { - false; - } - }); - - if (indexErrTime > -1) { - this.$message({ - message: "绗�" + (indexErrTime + 1) + "琛屽埌杈炬棩鏈熸棭浜庡嚭鍙戞棩鏈�", - type: "warning", - }); - return; - } - - let emptyStartTimeindex = this.rbDetails.findIndex( - (item) => item.starttime == null || item.starttime == undefined || item.starttime == "" - ); - - if (emptyStartTimeindex > -1) { - this.$message({ - message: "绗�" + (emptyStartTimeindex + 1) + "琛屽嚭鍙戞棩鏈熶负绌�", - type: "warning", - }); - return; - } - - let emptyEndTimeindex = this.rbDetails.findIndex( - (item) => item.endtime == null || item.endtime == undefined || item.endtime == "" - ); - - if (emptyEndTimeindex > -1) { - this.$message({ - message: "绗�" + (emptyEndTimeindex + 1) + "琛屽埌杈炬棩鏈熶负绌�", - type: "warning", - }); - return; - } - - //璐圭敤褰掑睘 - let belongArr = this.dict.type.sys_travelexpensebelong; - let costtypeindex = belongArr.findIndex( - (item) => this.form.costtype == item.value - ); - if (costtypeindex > -1) { - this.form.costtypename = belongArr[costtypeindex].label; - } - */ - //绁ㄦ嵁鏂囦欢澶勭悊 - let list = this.fileListto; - console.log(list); + const addnumber = this.rbPayees.reduce( + (amount, item) => amount + Number(item.amount), + 0 + ); //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰� - if ( - this.form.amountrequested != - this.rbPayees.reduce( - (amount, item) => amount + Number(item.amount), - 0.0 - ) - ) { + if (this.form.amountrequested != addnumber) { this.$message({ message: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�", @@ -2122,6 +2533,47 @@ const rbDetails = [...this.rbDetails]; const rbPayees = [...this.rbPayees]; + //淇濆瓨鍓嶆牎楠屾暟鎹� + for (let k = 0; k < rbDetails.length; k++) { + let tempDetail = rbDetails[k]; + console.log(tempDetail, "tem"); + if (!tempDetail.persontype) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑浜哄憳绫诲埆鏈�夋嫨锛岃鍏堥�夋嫨浜哄憳绫诲埆鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (!tempDetail.personname) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + + if (!tempDetail.starttime) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒" + ); + return; + } + + if (!tempDetail.endtime) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } + } + if (this.form.id != null) { console.log(this.form); updateReimbursement(this.form); @@ -2129,11 +2581,33 @@ //淇濆瓨鏄庣粏 for (let i = 0; i < rbDetails.length; i++) { if (rbDetails[i].rbid != null) { - updateReimbursementdetail(rbDetails[i]); + if (rbDetails[i].persontype == "瀹跺睘") { + if (this.form.infoid) { + updateReimbursementdetail(rbDetails[i]); + } else { + return this.$message.error( + `鍥犲灞炲垎閰嶈姹傦紝璇烽�夋嫨鎹愮尞鑰呬俊鎭痐 + ); + } + } else { + updateReimbursementdetail(rbDetails[i]); + } } else { - //rbid鍏宠仈涓昏〃Id - rbDetails[i].rbid = this.form.id; - addReimbursementdetail(rbDetails[i]); + if (rbDetails[i].persontype == "瀹跺睘") { + if (this.form.infoid) { + //rbid鍏宠仈涓昏〃Id + rbDetails[i].rbid = this.form.id; + addReimbursementdetail(rbDetails[i]); + } else { + return this.$message.error( + `鍥犲灞炲垎閰嶈姹傦紝璇烽�夋嫨鎹愮尞鑰呬俊鎭痐 + ); + } + } else { + //rbid鍏宠仈涓昏〃Id + rbDetails[i].rbid = this.form.id; + addReimbursementdetail(rbDetails[i]); + } } } @@ -2147,21 +2621,31 @@ addReimbursementpayee(rbPayees[i]); } } - - this.$modal.msgSuccess("淇敼鎶ラ攢鍗曚繚瀛樻垚鍔�!"); + if (this.userprofile.nickName != "闄堟厱鍗�") { + this.$modal.msgSuccess("淇敼鎶ラ攢鍗曚繚瀛樻垚鍔燂紒"); + } this.open = false; // 鍏抽棴绐楀彛 this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); - - // this.getList(); - // }) - // .catch(err => { - // this.$modal.msgError("淇敼鎶ラ攢鍗曚繚瀛樺け璐ワ紒"); - // }); } 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(); + addReimbursement(this.form) .then(response => { //淇濆瓨鏄庣粏 @@ -2177,6 +2661,11 @@ rbPayees[i].rbid = response.data; addReimbursementpayee(rbPayees[i]); } + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); this.$modal.msgSuccess("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!"); this.open = false; @@ -2186,7 +2675,7 @@ this.$router.go(-1); }) .catch(err => { - this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒"); + this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒" + res); }); } } @@ -2235,20 +2724,16 @@ this.Savereminder = false; this.Reminderquantity = 0; this.totalquantity = 0; + const addnumber = this.rbPayees.reduce( + (amount, item) => amount + Number(item.amount), + 0 + ); + console.log(addnumber, "addnumber"); this.$refs["form"].validate(valid => { if (valid) { //绁ㄦ嵁鏂囦欢澶勭悊 - let list = this.fileListto; - console.log(list); - //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰� - if ( - this.form.amountrequested != - this.rbPayees.reduce( - (amount, item) => amount + Number(item.amount), - 0.0 - ) - ) { + if (this.form.amountrequested != addnumber) { this.$message({ message: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�", @@ -2286,12 +2771,6 @@ } this.$modal.msgSuccess("淇敼鎶ラ攢鍗曚繚瀛樻垚鍔�!"); - - // this.getList(); - // }) - // .catch(err => { - // this.$modal.msgError("淇敼鎶ラ攢鍗曚繚瀛樺け璐ワ紒"); - // }); } else { this.form.recordstatus = -1; addReimbursement(this.form) @@ -2322,6 +2801,8 @@ //鏂板涓�琛� addDetailRow(rowIndex) { + console.log(rowIndex); + let rowData = { //index: this.rbDetails.length, searchAddress: { @@ -2336,6 +2817,8 @@ endtime: null, destination: null, days: null, + persontype: null, + personname: null, trafficexpense: 0, traffictype: null, traffictype2: null, @@ -2359,9 +2842,14 @@ total: 0, orderno: null, personname2: null, - personname: null, destination: null }; + if (this.rbDetails.length) { + console.log(this.rbDetails[rowIndex].persontype); + console.log(this.rbDetails[rowIndex].personname); + rowData.persontype = this.rbDetails[rowIndex].persontype; + rowData.personname = this.rbDetails[rowIndex].personname; + } // if (this.Reminderquantity >= 5) { // this.Savereminder = true; // return; @@ -2442,8 +2930,10 @@ }) .then(() => { console.log(row); + let arrow = []; + arrow.push(row.id); if (row.id !== null) { - delReimbursementdetail(row.id).then(res => { + delReimbursementpayee(arrow).then(res => { this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); rows.splice(index, 1); this.recountOrderNo2(); @@ -2534,7 +3024,7 @@ if (!isNaN(parseFloat(row.otherfeeamount))) { totalFee += parseFloat(row.otherfeeamount); } - row.total = totalFee; + row.total = totalFee.toFixed(2); /* if (!isNaN(parseFloat(this.rbDetails[rowIndex].trafficexpense))) { @@ -2729,8 +3219,7 @@ "departure", "destination", "traffictype", - "traffictype2", - "departure" + "traffictype2" ]; columns.forEach((column, index) => { if (index === 0) { @@ -2756,7 +3245,7 @@ return prev; } }, 0); - sums[index] += ""; + sums[index] = sums[index].toFixed(2); // 淇濈暀2浣嶅皬鏁帮紝瑙e喅灏忔暟鍚堣鍒�; } else { sums[index] = ""; } @@ -2841,4 +3330,9 @@ line-height: 36px; text-align: center; } + +::v-deep .el-alert__title { + font-size: 20px; + line-height: 20px; +} </style> -- Gitblit v1.9.3