From ecf548f84c5fa5a68c53041e37daf43053f40fa4 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 31 八月 2023 17:09:46 +0800
Subject: [PATCH] 11
---
src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 331 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 272 insertions(+), 59 deletions(-)
diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
index cd24f2c..9670383 100644
--- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
+++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -209,11 +209,12 @@
</el-row>
-->
<el-row style="margin-top: 25px; margin-bottom: 5px">
- <el-col :span="20">鎶ラ攢鏄庣粏褰曞叆锛�</el-col>
+ <el-col :span="20">鎶ラ攢鏄庣粏</el-col>
</el-row>
<el-row>
<el-table
:data="rbDetails"
+ ref="table"
border
highlight-current-row
:summary-method="getSummaries"
@@ -478,18 +479,25 @@
/>
</template>
</el-table-column>
- <!--
- <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" width="100">
+ <el-table-column
+ prop="cityfee"
+ label="甯傚唴浜ら�氳垂"
+ align="center"
+ width="100"
+ >
<template slot-scope="scope">
- <el-input v-model="scope.row.cityfee" placeholder="甯傚唴浜ら�氳垂" @blur="
- (val) => {
- sumRowFee(scope.row);
- }
- ">{{ Number(scope.row.cityfee).toFixed(2) }}
+ <el-input
+ v-model="scope.row.cityfee"
+ placeholder="甯傚唴浜ら�氳垂"
+ @blur="
+ val => {
+ sumRowFee(scope.row);
+ }
+ "
+ >{{ Number(scope.row.cityfee).toFixed(2) }}
</el-input>
</template>
</el-table-column>
- -->
<el-table-column
prop="hotelexpense"
label="浣忓璐�"
@@ -619,7 +627,7 @@
type="text"
size="mini"
@click="addDetailRow(scope.$index)"
- v-if="dialogType == 'edit'"
+ v-if="operationType == 'edit'"
>鏂板</el-button
>
<el-button
@@ -628,7 +636,7 @@
"
type="text"
size="small"
- v-if="dialogType == 'edit'"
+ v-if="operationType == 'edit'"
>鍒犻櫎</el-button
>
<el-button
@@ -644,9 +652,9 @@
</el-table>
</el-row>
<el-row style="margin-top: 25px; margin-bottom: 5px">
- <el-col :span="20">鎶ラ攢璇锋鏄庣粏锛�</el-col>
+ <el-col :span="20">鎵撴鏄庣粏</el-col>
</el-row>
- <el-row style="margin-top: 30px">
+ <el-row style="margin-top: 5px">
<el-table
:data="rbPayees"
border
@@ -810,7 +818,7 @@
label="鎿嶄綔"
align="center"
width="100"
- v-if="dialogType == 'edit'"
+ v-if="operationType == 'edit'"
>
<template slot-scope="scope">
<el-button
@@ -832,32 +840,36 @@
</el-table-column>
</el-table>
</el-row>
-
- <el-row v-if="dialogType == 'detail' || dialogType == 'check'">
+ <el-row
+ style="margin-top: 25px; margin-bottom: 5px"
+ v-if="operationType != 'edit'"
+ >
+ <el-col :span="20">瀹℃牳璁板綍</el-col>
+ </el-row>
+ <el-row v-if="operationType != 'add'">
<el-table :data="fundflowList" border>
- <el-table-column
- label="瀹℃牳浜�"
- align="center"
- width="120"
- prop="checkusername"
- />
<el-table-column
label="瀹℃牳鏃ユ湡"
align="center"
- width="160"
+ width="200"
prop="createTime"
+ />
+ <el-table-column
+ label="瀹℃牳浜�"
+ align="center"
+ width="150"
+ prop="checkusername"
/>
<el-table-column
label="瀹℃牳缁撴灉"
align="center"
width="200"
prop="flowconclusion"
- ><template slot-scope="scope"
- ><span v-if="scope.row.flowconclusion == 1">閫氳繃</span
- ><span v-if="scope.row.flowconclusion == 2"
- >涓嶉�氳繃</span
- ></template
- >
+ >
+ <template slot-scope="scope">
+ <span v-if="scope.row.flowconclusion == 1">閫氳繃</span>
+ <span v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span>
+ </template>
</el-table-column>
<el-table-column
label="瀹℃牳澶囨敞"
@@ -868,7 +880,7 @@
</el-row>
<el-row
style="margin-top: 25px; margin-bottom: 5px"
- v-if="dialogType == 'check'"
+ v-if="operationType == 'check'"
>
<el-col :span="7">
<el-form-item label="瀹℃牳缁撴灉" align="left">
@@ -879,7 +891,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row v-if="dialogType == 'check'">
+ <el-row v-if="operationType == 'check'">
<el-col :span="17">
<el-form-item label="瀹℃牳澶囨敞" align="left">
<el-input v-model="checkObj.flowconclusion" placeholder="澶囨敞" />
@@ -891,13 +903,13 @@
<el-button
type="primary"
@click="submitForm"
- v-if="dialogType == 'edit'"
+ v-if="operationType == 'edit'"
>淇� 瀛�</el-button
>
<el-button
type="primary"
@click="checksubmit"
- v-if="dialogType == 'check'"
+ v-if="operationType == 'check'"
>鎻� 浜�</el-button
>
<!--<el-button @click="cancel">閫� 鍑�</el-button>-->
@@ -921,14 +933,14 @@
uploadSccess(response, file, fileList)
"
:on-preview="downFile"
- :disabled="dialogType == 'detail'"
+ :disabled="operationType == 'detail'"
:on-error="handleUploadError"
:on-exceed="handleExceed"
:on-remove="remove"
accept="image/*,.pdf"
>
<el-button
- :disabled="dialogType == 'detail'"
+ :disabled="operationType == 'detail'"
size="small"
type="primary"
>涓婁紶</el-button
@@ -946,10 +958,34 @@
</div>
<div v-if="this.previewpdf" class="pdfimgmin">
- <img :src="pdfimg" />
+ <!-- <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-dialog>
+ <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%">
+ <el-alert
+ :title="
+ '鎮ㄥ凡娣诲姞' +
+ totalquantity +
+ '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�'
+ "
+ type="warning"
+ >
+ </el-alert>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="unsave">鍙� 娑�</el-button>
+ <el-button type="primary" @click="Savenow">纭� 瀹�</el-button>
+ </span>
</el-dialog>
</div>
</template>
@@ -1035,6 +1071,10 @@
value: 0,
label: ""
},
+ pdfimgsrcList: [],
+ Savereminder: false, //鎻愰啋淇濆瓨寮规
+ Reminderquantity: 0, //鎻愰啋鏁伴噺
+ totalquantity: 0, //鎬绘暟閲�
hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�",
atpresent: "",
@@ -1052,6 +1092,11 @@
loading: true,
// 瀵煎嚭閬僵灞�
exportLoading: false,
+ // 缃戠粶璇锋眰澶�
+ Networkheader: null,
+
+ // 褰撳墠鍗曟嵁ID
+ curId: 0,
// 閫変腑鏁扮粍
ids: [],
// 闈炲崟涓鐢�
@@ -1114,7 +1159,7 @@
defaultperson: {},
fundflowList: [],
showApproveRecordDialog: false,
- dialogType: "edit",
+ operationType: "edit",
//涓婁紶鍙戠エ鏂囦欢璺緞
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
@@ -1143,6 +1188,8 @@
},
created() {
+ this.Getnetworkheader();
+
//鑾峰彇璁板綍鍒楄〃
// this.getList();
@@ -1179,23 +1226,41 @@
mounted() {
//閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪�
- let ids = this.$route.query.id;
+ let curId = this.$route.query.id;
let pos = this.$route.query.pos;
this.defaultperson = this.$route.query.routerparam;
if (pos == 1) {
- this.handleAdd(ids);
+ this.handleAdd(curId);
} else if (pos == 2) {
- this.handleUpdate(ids);
+ this.handleUpdate(curId);
} else if (pos == 3) {
- this.handleDetail(ids);
+ this.handleDetail(curId);
} else if (pos == 4) {
- this.handleCheck(ids);
+ this.handleCheck(curId);
}
+ },
+ updated() {
+ this.$nextTick(() => {
+ this.$refs["table"].doLayout();
+ });
},
methods: {
handleUploadError() {},
-
+ // 鑾峰彇璇锋眰澶�
+ Getnetworkheader() {
+ console.log(window.location.href);
+ let string = window.location.href;
+ if (string.includes("9091")) {
+ const index = string.indexOf("9091");
+ this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃
+ console.log(this.Networkheader);
+ } else {
+ const index = string.indexOf("8032");
+ this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃
+ console.log(this.Networkheader);
+ }
+ },
remove(file, fileList) {
const rbDetails = [...this.rbDetails];
this.fileListto.splice(this.fileListto.indexOf(file), 1);
@@ -1209,13 +1274,19 @@
//鏂囦欢涓婁紶鎴愬姛鍥炶皟
uploadSccess(response, file, fileList) {
this.rbDetails;
-
//鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
if (response.code == 200) {
this.form.filename = file.raw.name;
this.$modal.msgSuccess(response.msg);
- this.fileListto.push({ name: file.name, url: response.url });
+ this.fileListto.push({
+ name: file.name,
+ url: response.fileName
+ });
+ // this.fileListto.push({
+ // name: file.name,
+ // url: response.url
+ // });
this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
} else {
console.log(response.msg);
@@ -1225,8 +1296,14 @@
Filepopup(index, rows, 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;
+ console.log(this.pdfimg);
+ this.pdfimgsrcList = [];
+ this.pdfimgsrcList.push(this.pdfimg);
} else {
this.fileListto = [];
this.pdfimg = "";
@@ -1246,9 +1323,12 @@
} else if (name[1] == "jpg" || "png") {
this.previewpdf = true;
if (item.url) {
- this.pdfimg = item.url;
+ this.pdfimg = this.Networkheader + "/prod-api" + item.url;
+ this.pdfimgsrcList = [];
+ this.pdfimgsrcList.push(this.pdfimg);
+ console.log(this.pdfimg);
} else {
- this.pdfimg = item.response.url;
+ this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
}
} else {
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -1262,6 +1342,9 @@
treeselect().then(response => {
this.deptOptions = response.data;
});
+ },
+ cellCilicksa(row) {
+ console.log(row);
},
//鑾峰彇浜哄憳鍒楄〃
@@ -1391,7 +1474,17 @@
}
//浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
- row.foodallowance = (parseInt(row.days) * 100).toString();
+ if (tempStr == "鏉窞") {
+ row.foodallowance = "";
+ } else if (
+ tempStr == "瑗胯棌" ||
+ tempStr == "鏂扮枂" ||
+ tempStr == "闈掓捣"
+ ) {
+ row.foodallowance = (parseInt(row.days) * 120).toString();
+ } else {
+ row.foodallowance = (parseInt(row.days) * 100).toString();
+ }
//璁$畻鍚堣
this.sumRowFee(row);
@@ -1536,6 +1629,7 @@
this.loading = true;
listReimbursement(this.queryParams).then(response => {
this.reimbursementList = response.rows;
+ console.log(this.reimbursementList);
this.total = response.total;
this.loading = false;
});
@@ -1635,7 +1729,7 @@
this.reset();
// this.open = true;
this.title = "鏂板宸梾鐢宠鍗�";
- this.dialogType = "edit";
+ this.operationType = "edit";
this.fundflowList = [];
console.log(this.title, this.defaultperson);
@@ -1651,20 +1745,19 @@
},
/** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(ids) {
+ handleUpdate(curId) {
// this.$router.push({
// path: "/finance/travelexpenseslist/Modifydetails/",
// query: { id: ids }
// });
- this.dialogType = "edit";
+ this.operationType = "edit";
this.reset();
// this.open = true;
this.title = "鎶ラ攢鐢宠淇敼";
//鑾峰彇鎶ラ攢涓讳俊鎭�
- const id = ids || this.ids;
- getReimbursement(id).then(response => {
+ getReimbursement(curId).then(response => {
this.form = response.data;
this.fileListto = this.form.annexfiles
? this.form.annexfiles
@@ -1673,9 +1766,8 @@
: [];
this.form.recordstatus = response.data.recordstatus + "";
- let ids = response.data.id;
//鑾峰彇鎶ラ攢鏄庣粏淇℃伅
- getReimbursementdetaillist(ids).then(res => {
+ getReimbursementdetaillist(curId).then(res => {
this.rbDetails = res.data;
console.log(this.rbDetails);
if (this.rbDetails.length == 0) {
@@ -1698,19 +1790,29 @@
});
//鑾峰彇鎶ラ攢鎵撴淇℃伅
- this.queryParamsPayee.rbid = ids;
+ this.queryParamsPayee.rbid = curId;
listReimbursementpayee(this.queryParamsPayee).then(res => {
this.rbPayees = res.rows;
if (this.rbPayees.length == 0) {
this.addPayeeRow(0);
}
});
+
+ //瀹℃牳鐘舵��
+ this.form.recordstatus = response.data.recordstatus + "";
+ let listFundflowparams = {
+ fundid: curId,
+ fundtype: 1
+ };
+ listFundflow(listFundflowparams).then(res => {
+ this.fundflowList = res.rows;
+ });
});
},
/** 鏌ョ湅鎸夐挳鎿嶄綔 */
handleDetail(ids) {
- this.dialogType = "detail";
+ this.operationType = "detail";
this.title = "鎶ラ攢鐢宠璇︽儏";
this.reset();
@@ -1770,7 +1872,7 @@
/** 瀹℃牳鎸夐挳鎿嶄綔 */
handleCheck(ids) {
- this.dialogType = "check";
+ this.operationType = "check";
this.title = "鎶ラ攢鐢宠璇︽儏";
this.reset();
@@ -1852,8 +1954,10 @@
checkfund(checkfundobj).then(res => {
this.reset();
this.open = false;
- this.getList();
this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!");
+ // 鍏抽棴绐楀彛
+ this.$store.dispatch("tagsView/delView", this.$route);
+ this.$router.go(-1);
});
},
@@ -1970,7 +2074,9 @@
this.open = false;
// 鍏抽棴绐楀彛
+ this.$store.dispatch("tagsView/delView", this.$route);
this.$router.go(-1);
+
// this.getList();
// })
// .catch(err => {
@@ -1998,6 +2104,7 @@
this.open = false;
// 鍏抽棴绐楀彛
+ this.$store.dispatch("tagsView/delView", this.$route);
this.$router.go(-1);
})
.catch(err => {
@@ -2039,6 +2146,100 @@
this.exportLoading = false;
})
.catch(() => {});
+ },
+ // 鍙栨秷鎻愰啋
+ unsave() {
+ this.Savereminder = false;
+ this.Reminderquantity = 0;
+ },
+ // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨
+ Savenow() {
+ this.Savereminder = false;
+ this.Reminderquantity = 0;
+ this.totalquantity = 0;
+ 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
+ )
+ ) {
+ this.$message({
+ message:
+ "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
+ type: "warning"
+ });
+ return;
+ }
+
+ const rbDetails = [...this.rbDetails];
+ const rbPayees = [...this.rbPayees];
+ if (this.form.id != null) {
+ console.log(this.form);
+ updateReimbursement(this.form);
+ // .then(res => {
+ //淇濆瓨鏄庣粏
+ for (let i = 0; i < rbDetails.length; i++) {
+ if (rbDetails[i].rbid != null) {
+ updateReimbursementdetail(rbDetails[i]);
+ } else {
+ //rbid鍏宠仈涓昏〃Id
+ rbDetails[i].rbid = this.form.id;
+ addReimbursementdetail(rbDetails[i]);
+ }
+ }
+
+ //淇濆瓨璐︽埛
+ for (let i = 0; i < rbPayees.length; i++) {
+ if (rbPayees[i].rbid != null) {
+ updateReimbursementpayee(rbPayees[i]);
+ } else {
+ //rbid鍏宠仈涓昏〃Id
+ rbPayees[i].rbid = this.form.id;
+ addReimbursementpayee(rbPayees[i]);
+ }
+ }
+
+ this.$modal.msgSuccess("淇敼鎶ラ攢鍗曚繚瀛樻垚鍔�!");
+
+ // this.getList();
+ // })
+ // .catch(err => {
+ // this.$modal.msgError("淇敼鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
+ // });
+ } else {
+ this.form.recordstatus = -1;
+ addReimbursement(this.form)
+ .then(response => {
+ //淇濆瓨鏄庣粏
+ for (let i = 0; i < rbDetails.length; i++) {
+ //rbid鍏宠仈涓昏〃Id
+ rbDetails[i].rbid = response.data;
+ addReimbursementdetail(rbDetails[i]);
+ }
+
+ //淇濆瓨璐﹀彿
+ for (let i = 0; i < rbPayees.length; i++) {
+ //rbid鍏宠仈涓昏〃Id
+ rbPayees[i].rbid = response.data;
+ addReimbursementpayee(rbPayees[i]);
+ }
+
+ this.$modal.msgSuccess("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!");
+ })
+ .catch(err => {
+ this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
+ });
+ }
+ }
+ });
},
//鏂板涓�琛�
@@ -2083,11 +2284,17 @@
personname: null,
destination: null
};
+ if (this.Reminderquantity >= 5) {
+ this.Savereminder = true;
+ return;
+ }
if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
this.rbDetails.push(rowData);
} else {
this.rbDetails.splice(rowIndex + 1, 0, rowData);
}
+ this.Reminderquantity++;
+ this.totalquantity++;
for (let i = 0; i < this.rbDetails.length; i++) {
this.rbDetails[i].orderno = i + 1;
}
@@ -2106,11 +2313,17 @@
personname: null,
amount: null
};
+ if (this.Reminderquantity >= 5) {
+ this.Savereminder = true;
+ return;
+ }
if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) {
this.rbPayees.push(rowData);
} else {
this.rbPayees.splice(rowIndex + 1, 0, rowData);
}
+ this.Reminderquantity++;
+ this.totalquantity++;
for (let i = 0; i < this.rbPayees.length; i++) {
this.rbPayees[i].orderno = i + 1;
}
--
Gitblit v1.9.3