From 5e093dcc9f4177bfd5f9ab2927914d2bf852770b Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 21 八月 2026 15:45:03 +0800
Subject: [PATCH] 连续审批
---
src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 221 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 163 insertions(+), 58 deletions(-)
diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
index 6ba39af..4a13d16 100644
--- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
+++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -76,7 +76,7 @@
<el-form-item
label="鎹愮尞鑰�"
prop="infoid"
- v-show="form.costtype == 4"
+ v-show="form.costtype == 3 || form.costtype == 4"
>
<el-select
v-model="form.infoid"
@@ -94,6 +94,14 @@
</el-option>
</el-select>
</el-form-item>
+ </el-col>
+ <el-col :span="4">
+ <div style="margin-left: 10px;">
+ <dict-tag
+ :options="dict.type.sys_DonationStatus"
+ :value="form.invoicecount"
+ />
+ </div>
</el-col>
</el-row>
<el-row style="margin-top: 10px">
@@ -145,7 +153,7 @@
<el-form-item label="鍑哄樊浜�" prop="travelers">
<el-select v-model="form.travelers" clearable filterable allow-create ref="getReportname"
default-first-option placeholder="璇烽�夋嫨" @change="getAccountinfo()">
- <el-option v-for="item in travelers" :key="item.reportNo" :label="item.reportName"
+ <el-option v-for="item in travelers" :label="item.reportName"
:value="item.reportName">
</el-option>
</el-select>
@@ -326,12 +334,11 @@
allow-create
default-first-option
placeholder="璇烽�夋嫨"
- @focus1="getPersons(scope.row)"
>
<el-option
v-for="item in personsSel"
- :key="item.reportNo"
- :label="item.reportName"
+ :key="item.id"
+ :label="item.reportNameDesc"
:value="item.reportName"
>
</el-option>
@@ -780,9 +787,9 @@
>
<el-option
v-for="item in personsSel"
- :key="item.reportNo"
- :label="item.reportName"
- :value="item.reportName"
+ :key="item.id"
+ :label="item.reportNameDesc"
+ :value="item.id"
>
</el-option>
</el-select>
@@ -917,9 +924,9 @@
<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 label="1">寰呯敵璇�</el-radio>
+ <el-radio label="2">瀹℃牳閫氳繃绛夊緟绾歌川鏉愭枡</el-radio>
+ <el-radio label="3">宸叉敹鍒扮焊璐ㄦ潗鏂�</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@@ -1109,8 +1116,8 @@
<!-- <el-image
style="width: 95%; height: 90%"
:src="pdfimg"
- :preview-src-list="pdfimgsrcList" -->
- >
+ :preview-src-list="pdfimgsrcList"
+ > -->
<el-image
ref="imagePreview"
style="width: 95%; height: 90%"
@@ -1275,7 +1282,8 @@
exportReimbursement,
getdownload,
checkfund,
- fundSubmit
+ fundSubmit,
+ listbypowerone
} from "@/api/project/reimbursement";
import {
addReimbursementdetail,
@@ -1313,7 +1321,8 @@
"sys_recordstatus",
"sys_travelexpensebelong",
"sys_traffictype",
- "sys_area_name"
+ "sys_area_name",
+ "sys_DonationStatus"
],
data() {
return {
@@ -1436,15 +1445,15 @@
baselisttages: [
{
id: 1,
- name: "寰呯敵璇锋潗鏂�"
+ name: "寰呯敵璇�"
},
{
id: 2,
- name: "瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+ name: "棰勫閫氳繃绛夊緟绾歌川鏉愭枡"
},
{
id: 3,
- name: "宸叉敹鍒版姤閿�鏉愭枡"
+ name: "宸叉敹鍒扮焊璐ㄦ潗鏂�"
}
],
baselist: [],
@@ -1484,6 +1493,8 @@
flowconclusion: null,
fundid: null
},
+ //杩炵画瀹℃壒锛氬緟瀹℃壒鍒楄〃
+ pendingList: [],
jurisdiction: false,
//淇濆瓨鎸夐挳鎺у埗
@@ -1576,7 +1587,7 @@
if (
(JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
JSON.stringify(this.rbDetails) ==
- sessionStorage.getItem("apifunddetail")) ||
+ sessionStorage.getItem("apifunddetail")) ||
!sessionStorage.getItem("apifunddetail")
) {
} else {
@@ -1639,7 +1650,7 @@
handleImageLoad() {
console.log("鍥剧墖鍔犺浇鎴愬姛");
},
- handleUploadError() {},
+ handleUploadError() { },
// 鑾峰彇璇锋眰澶�
Getnetworkheader() {
console.log(window.location.href);
@@ -1699,6 +1710,15 @@
name: file.name,
url: URL.createObjectURL(blob)
});
+ // console.log(file.response.url);
+ // console.log(file);
+
+ this.pdfimgsrcList.push(file.response.url);
+ this.fileListto.push({
+ name: file.response.fileName,
+ url: file.response.url
+ });
+ console.log(URL.createObjectURL(blob), "ur杞崲");
})
.catch(error => {
console.error("Error loading image", error);
@@ -2046,6 +2066,11 @@
} else if (row.persontype == "绠$悊浜哄憳") {
this.personsSel = this.personsManager;
}
+ if (this.personsSel && this.personsSel.length) {
+ this.personsList.forEach(item => {
+ item.reportNameDesc = `${item.reportName}(${item.unitname})`;
+ });
+ }
},
//鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
@@ -2075,7 +2100,8 @@
}
for (let m = 0; m < dataArr.length; m++) {
- if (dataArr[m].reportName == row.personname) {
+ if (dataArr[m].id == row.personname) {
+ row.personname = dataArr[m].reportName;
row.bankname = dataArr[m].depositbank;
row.bankcardno = dataArr[m].bankcardno;
}
@@ -2094,7 +2120,7 @@
row.days = (
Math.floor(
Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
- (1000 * 3600 * 24)
+ (1000 * 3600 * 24)
) + 1
).toString();
} else {
@@ -2244,10 +2270,22 @@
if (item.id == this.form.infoid) {
this.form.donorno = item.donorno;
this.form.donorname = item.name;
+
+ // 鏂板锛氬皢鎹愮尞鑰呯殑 recordstate 璧嬪�煎埌 invoicecount
+ if (item.recordstate !== undefined && item.recordstate !== null) {
+ this.form.invoicecount = item.recordstate.toString();
+ } else {
+ this.form.invoicecount = ""; // 濡傛灉 recordstate 涓虹┖锛屾竻绌哄瓧娈�
+ }
}
});
},
-
+ // 娣诲姞娓呴櫎鏂规硶
+ clearDonatorInfo() {
+ this.form.donorno = "";
+ this.form.donorname = "";
+ this.form.invoicecount = ""; // 娓呯┖ invoicecount
+ },
onpick(e) {
// console.log(e,this.value1)
},
@@ -2425,13 +2463,13 @@
this.fileListto = this.form.annexfiles
? this.form.annexfiles
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
this.invoicefileListto = this.form.invoicefilesList
? this.form.invoicefilesList
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
this.form.recordstatus = response.data.recordstatus + "";
sessionStorage.removeItem("apiform");
@@ -2490,13 +2528,13 @@
//绁ㄦ嵁
this.fileListto = this.form.annexfiles
? this.form.annexfiles
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
this.invoicefileListto = this.form.invoicefilesList
? this.form.invoicefilesList
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
//瀹℃牳鐘舵��
this.form.recordstatus = response.data.recordstatus + "";
@@ -2540,7 +2578,15 @@
this.reset();
this.open = true;
const id = ids || this.ids;
- this.checkObj.fundid = id;
+ // 閲嶇疆瀹℃壒淇℃伅锛岄伩鍏嶄笂涓�鍗曠殑瀹℃壒缁撴灉甯﹀叆涓嬩竴鍗�
+ this.checkObj = {
+ flowlevelone: null,
+ flowconclusion: null,
+ fundid: id
+ };
+
+ // 杩炵画瀹℃壒锛氬姞杞藉綋鍓嶇敤鎴风殑寰呭鎵瑰垪琛�
+ this.getPendingList();
getReimbursement(id).then(response => {
this.form = response.data;
@@ -2550,13 +2596,13 @@
//绁ㄦ嵁
this.fileListto = this.form.annexfiles
? this.form.annexfiles
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
this.invoicefileListto = this.form.invoicefilesList
? this.form.invoicefilesList
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
//瀹℃牳鐘舵��
@@ -2630,9 +2676,8 @@
if (res.code == 200) {
this.$modal.closeLoading();
this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!");
- // 鍏抽棴绐楀彛
- this.$store.dispatch("tagsView/delView", this.$route);
- this.$router.go(-1);
+ // 杩炵画瀹℃壒锛氳闂槸鍚︾户缁鎵逛笅涓�鍗�
+ this.continueOrExit();
} else {
this.$modal.closeLoading();
if (res.msg) {
@@ -2644,12 +2689,72 @@
});
},
+ // 鑾峰彇褰撳墠鐢ㄦ埛寰呭鎵瑰垪琛紙鐢ㄤ簬杩炵画瀹℃壒锛�
+ getPendingList() {
+ listbypowerone({
+ pageNum: 1,
+ pageSize: 1000,
+ CHECKFLAG: 1
+ })
+ .then(res => {
+ this.pendingList = res.rows || [];
+ })
+ .catch(() => {
+ this.pendingList = [];
+ });
+ },
+
+ // 瀹℃壒瀹屾垚鍚庯細璇㈤棶鏄惁缁х画瀹℃壒涓嬩竴鍗�
+ continueOrExit() {
+ const list = this.pendingList || [];
+ const curId = String(this.checkObj.fundid);
+ const idx = list.findIndex(item => String(item.id) === curId);
+ let next = null;
+ if (idx > -1 && idx + 1 < list.length) {
+ next = list[idx + 1];
+ } else {
+ // 褰撳墠宸叉槸鏈綅锛堟垨浠庝腑闂村紑濮嬶級锛屽彇鍓╀綑鍒楄〃涓涓�鏉¢潪褰撳墠鍗曟嵁
+ next = list.find(item => String(item.id) !== curId) || null;
+ }
+
+ if (next) {
+ this.$confirm("瀹℃壒宸插畬鎴愶紝鏄惁缁х画瀹℃壒涓嬩竴寮犲緟瀹℃壒鍗曟嵁锛�", "鎻愮ず", {
+ confirmButtonText: "缁х画瀹℃壒",
+ cancelButtonText: "杩斿洖鍒楄〃",
+ type: "info"
+ })
+ .then(() => {
+ // 鐩存帴鍦ㄥ綋鍓嶉〉闈㈠姞杞戒笅涓�寮犲緟瀹℃壒鍗曟嵁
+ this.handleCheck(next.id);
+ // 鍚屾鏇存柊鍦板潃鏍忥紝閬垮厤鍒锋柊鍚庡洖鍒颁笂涓�鍗�
+ this.$router
+ .replace({
+ path: this.$route.path,
+ query: { id: next.id, pos: 4 }
+ })
+ .catch(() => {});
+ })
+ .catch(() => {
+ this.exitToPage();
+ });
+ } else {
+ this.$modal.msgSuccess("宸叉棤寰呭鎵瑰崟鎹紝杩斿洖鍒楄〃");
+ this.exitToPage();
+ }
+ },
+
+ // 杩斿洖鍒楄〃椤�
+ exitToPage() {
+ this.$store.dispatch("tagsView/delView", this.$route);
+ this.$router.go(-1);
+ },
+
/** 鎻愪氦淇濆瓨鎸夐挳 */
- submitForm: debounce(function(data) {
+ submitForm: debounce(function (data) {
this.$refs["form"].validate(valid => {
if (valid) {
//绁ㄦ嵁鏂囦欢澶勭悊
- // const addnumber = new Decimal(this.rbPayees.reduce((amount, item) => amount + Number(item.amount), 0 ));
+ // const addnumber = new Decimal(this.rbPayees.reduce((amount, item) => amount + Number(item.amount), 0 ));
// console.log(this.form.amountrequested,addnumber);
// //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰�
// if (this.form.amountrequested != addnumber) {
@@ -2660,11 +2765,11 @@
// });
// return;
// }
-
+
// 1. 鍦� reduce 绱姞鏃讹紝鐩存帴浼犲叆瀛楃涓茬粰 Decimal锛屽苟浣跨敤 .plus() 鏂规硶杩涜绱姞
// 鍒濆鍊艰涓� new Decimal(0)锛岀‘淇濆叏绋嬮珮绮惧害杩愮畻
const addnumber = this.rbPayees.reduce((amount, item) => {
- return amount.plus(new Decimal(item.amount.toString()));
+ return amount.plus(new Decimal(item.amount.toString()));
}, new Decimal(0));
console.log(this.form.amountrequested, addnumber.toString());
@@ -2689,8 +2794,8 @@
if (!tempDetail.persontype) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑浜哄憳绫诲埆鏈�夋嫨锛岃鍏堥�夋嫨浜哄憳绫诲埆鍚庡啀鎻愪氦淇濆瓨锛�"
+ (k + 1).toString() +
+ "琛岀殑浜哄憳绫诲埆鏈�夋嫨锛岃鍏堥�夋嫨浜哄憳绫诲埆鍚庡啀鎻愪氦淇濆瓨锛�"
);
return;
}
@@ -2698,8 +2803,8 @@
if (!tempDetail.personname) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+ (k + 1).toString() +
+ "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
);
return;
}
@@ -2707,8 +2812,8 @@
if (!tempDetail.starttime) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒"
+ (k + 1).toString() +
+ "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒"
);
return;
}
@@ -2716,8 +2821,8 @@
if (!tempDetail.endtime) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�"
+ (k + 1).toString() +
+ "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�"
);
return;
}
@@ -2729,12 +2834,12 @@
//淇濆瓨鏄庣粏
for (let i = 0; i < rbDetails.length; i++) {
if (rbDetails[i].rbid != null) {
- if (rbDetails[i].persontype == "瀹跺睘") {
+ if (rbDetails[i].persontype == "瀹跺睘"||rbDetails[i].persontype == "涓撳") {
if (this.form.infoid) {
updateReimbursementdetail(rbDetails[i]);
} else {
return this.$message.error(
- `鍥犲灞炲垎閰嶈姹傦紝璇烽�夋嫨鎹愮尞鑰呬俊鎭痐
+ "鍥犺储鍔℃牳绠楃殑瑕佹眰锛屽灞炴垨涓撳鐨勬姤閿�锛岄渶瑕侀�夋嫨瀵瑰簲鐨勬崘鐚�咃紒"
);
}
} else {
@@ -2748,7 +2853,7 @@
addReimbursementdetail(rbDetails[i]);
} else {
return this.$message.error(
- `鍥犲灞炲垎閰嶈姹傦紝璇烽�夋嫨鎹愮尞鑰呬俊鎭痐
+ "鍥犺储鍔℃牳绠楃殑瑕佹眰锛屽灞炴垨涓撳鐨勬姤閿�锛岄渶瑕侀�夋嫨瀵瑰簲鐨勬崘鐚�咃紒"
);
}
} else {
@@ -2835,7 +2940,7 @@
const ids = row.id || this.ids;
this.$modal
.confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
- .then(function() {
+ .then(function () {
// 鍒犻櫎details鍐呯殑鏁版嵁
return delReimbursement(ids);
})
@@ -2844,7 +2949,7 @@
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
- .catch(() => {});
+ .catch(() => { });
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
@@ -2860,7 +2965,7 @@
this.$download.name(response.msg);
this.exportLoading = false;
})
- .catch(() => {});
+ .catch(() => { });
},
// 鍙栨秷鎻愰啋
unsave() {
@@ -3248,7 +3353,7 @@
this.form.amountrequested = allSum.toFixed(2);
this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
- } catch {}
+ } catch { }
},
//閲戦鏁板瓧杞崲鎴愬ぇ鍐�
--
Gitblit v1.9.3