From 99229b25c71c8305082743ad623fad3cad6f2f6a Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 12 八月 2026 13:56:47 +0800
Subject: [PATCH] 附件缩放旋转
---
src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 153 ++++++++++++++++++++++++++++++---------------------
1 files changed, 90 insertions(+), 63 deletions(-)
diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
index 7f5b2a6..1851048 100644
--- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
+++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -30,6 +30,7 @@
>
<el-option
v-for="item in personsList"
+ :key="item.reportNo"
:label="item.reportName"
:value="item.reportName"
>
@@ -64,6 +65,7 @@
>
<el-option
v-for="dict in dict.type.sys_travelexpensebelong"
+ :key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
@@ -74,12 +76,11 @@
<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"
@change="selectbaseinfo"
- @clear="clearDonatorInfo"
clearable
filterable
placeholder="璇烽�夋嫨鎹愮尞鑰�"
@@ -333,12 +334,11 @@
allow-create
default-first-option
placeholder="璇烽�夋嫨"
- @focus1="getPersons(scope.row)"
>
<el-option
- v-for="(item, index) in personsSel"
- :key="`${item.reportNo}_${index}`"
- :label="item.reportName"
+ v-for="item in personsSel"
+ :key="item.id"
+ :label="item.reportNameDesc"
:value="item.reportName"
>
</el-option>
@@ -786,10 +786,10 @@
@change="getAccountinfo2(scope.row, scope.row.persontype)"
>
<el-option
- v-for="(item, index) in personsSel"
- :key="`${item.reportNo}_${index}`"
- :label="item.reportName"
- :value="item.reportName"
+ v-for="item in personsSel"
+ :key="item.id"
+ :label="item.reportNameDesc"
+ :value="item.id"
>
</el-option>
</el-select>
@@ -924,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>
@@ -1116,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%"
@@ -1263,6 +1263,7 @@
<script>
import pdf from "vue-pdf";
+import Decimal from 'decimal.js';
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { listDonatebaseinfo } from "@/api/project/donatebaseinfo";
@@ -1443,15 +1444,15 @@
baselisttages: [
{
id: 1,
- name: "寰呯敵璇锋潗鏂�"
+ name: "寰呯敵璇�"
},
{
id: 2,
- name: "瀹℃牳閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+ name: "棰勫閫氳繃绛夊緟绾歌川鏉愭枡"
},
{
id: 3,
- name: "宸叉敹鍒版姤閿�鏉愭枡"
+ name: "宸叉敹鍒扮焊璐ㄦ潗鏂�"
}
],
baselist: [],
@@ -1583,7 +1584,7 @@
if (
(JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
JSON.stringify(this.rbDetails) ==
- sessionStorage.getItem("apifunddetail")) ||
+ sessionStorage.getItem("apifunddetail")) ||
!sessionStorage.getItem("apifunddetail")
) {
} else {
@@ -1646,7 +1647,7 @@
handleImageLoad() {
console.log("鍥剧墖鍔犺浇鎴愬姛");
},
- handleUploadError() {},
+ handleUploadError() { },
// 鑾峰彇璇锋眰澶�
Getnetworkheader() {
console.log(window.location.href);
@@ -1706,6 +1707,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);
@@ -2053,6 +2063,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})`;
+ });
+ }
},
//鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
@@ -2082,7 +2097,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;
}
@@ -2101,7 +2117,7 @@
row.days = (
Math.floor(
Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
- (1000 * 3600 * 24)
+ (1000 * 3600 * 24)
) + 1
).toString();
} else {
@@ -2444,13 +2460,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");
@@ -2509,13 +2525,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 + "";
@@ -2569,13 +2585,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 }))
: [];
//瀹℃牳鐘舵��
@@ -2664,28 +2680,40 @@
},
/** 鎻愪氦淇濆瓨鎸夐挳 */
- submitForm: debounce(function(data) {
+ submitForm: debounce(function (data) {
this.$refs["form"].validate(valid => {
if (valid) {
//绁ㄦ嵁鏂囦欢澶勭悊
- const addnumber = 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) {
+ // this.$message({
+ // message:
+ // "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛侊紒",
+ // type: "warning"
+ // });
+ // return;
+ // }
- // 淇濈暀2浣嶅皬鏁板悗杩涜姣旇緝
- const requestedAmount = Number(this.form.amountrequested);
- const calculatedAmount = Number(addnumber);
+ // 1. 鍦� reduce 绱姞鏃讹紝鐩存帴浼犲叆瀛楃涓茬粰 Decimal锛屽苟浣跨敤 .plus() 鏂规硶杩涜绱姞
+ // 鍒濆鍊艰涓� new Decimal(0)锛岀‘淇濆叏绋嬮珮绮惧害杩愮畻
+ const addnumber = this.rbPayees.reduce((amount, item) => {
+ return amount.plus(new Decimal(item.amount.toString()));
+ }, new Decimal(0));
- // 浣跨敤toFixed淇濈暀2浣嶅皬鏁�
- if (requestedAmount.toFixed(2) !== calculatedAmount.toFixed(2)) {
+ console.log(this.form.amountrequested, addnumber.toString());
+
+ // 2. 浣跨敤 Decimal 鐨� .eq() 鏂规硶杩涜涓ユ牸鐩哥瓑姣旇緝
+ // 杩欐牱鏃㈣В鍐充簡绮惧害闂锛屼篃瑙e喅浜嗙被鍨嬭浆鎹㈡瘮杈冪殑闂
+ if (!addnumber.eq(this.form.amountrequested)) {
this.$message({
- message:
- "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
+ message: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛侊紒",
type: "warning"
});
return;
}
+
const rbDetails = [...this.rbDetails];
const rbPayees = [...this.rbPayees];
@@ -2696,8 +2724,8 @@
if (!tempDetail.persontype) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑浜哄憳绫诲埆鏈�夋嫨锛岃鍏堥�夋嫨浜哄憳绫诲埆鍚庡啀鎻愪氦淇濆瓨锛�"
+ (k + 1).toString() +
+ "琛岀殑浜哄憳绫诲埆鏈�夋嫨锛岃鍏堥�夋嫨浜哄憳绫诲埆鍚庡啀鎻愪氦淇濆瓨锛�"
);
return;
}
@@ -2705,8 +2733,8 @@
if (!tempDetail.personname) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+ (k + 1).toString() +
+ "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
);
return;
}
@@ -2714,8 +2742,8 @@
if (!tempDetail.starttime) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒"
+ (k + 1).toString() +
+ "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒"
);
return;
}
@@ -2723,8 +2751,8 @@
if (!tempDetail.endtime) {
this.$modal.msgWarning(
"鏄庣粏琛ㄤ腑锛岀" +
- (k + 1).toString() +
- "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�"
+ (k + 1).toString() +
+ "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�"
);
return;
}
@@ -2736,12 +2764,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 {
@@ -2755,7 +2783,7 @@
addReimbursementdetail(rbDetails[i]);
} else {
return this.$message.error(
- `鍥犲灞炲垎閰嶈姹傦紝璇烽�夋嫨鎹愮尞鑰呬俊鎭痐
+ "鍥犺储鍔℃牳绠楃殑瑕佹眰锛屽灞炴垨涓撳鐨勬姤閿�锛岄渶瑕侀�夋嫨瀵瑰簲鐨勬崘鐚�咃紒"
);
}
} else {
@@ -2842,7 +2870,7 @@
const ids = row.id || this.ids;
this.$modal
.confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
- .then(function() {
+ .then(function () {
// 鍒犻櫎details鍐呯殑鏁版嵁
return delReimbursement(ids);
})
@@ -2851,7 +2879,7 @@
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
- .catch(() => {});
+ .catch(() => { });
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
@@ -2867,7 +2895,7 @@
this.$download.name(response.msg);
this.exportLoading = false;
})
- .catch(() => {});
+ .catch(() => { });
},
// 鍙栨秷鎻愰啋
unsave() {
@@ -2883,7 +2911,6 @@
(amount, item) => amount + Number(item.amount),
0
);
- console.log(addnumber, "addnumber");
this.$refs["form"].validate(valid => {
if (valid) {
//绁ㄦ嵁鏂囦欢澶勭悊
@@ -2891,7 +2918,7 @@
if (this.form.amountrequested != addnumber) {
this.$message({
message:
- "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
+ "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛侊紒锛�",
type: "warning"
});
return;
@@ -3256,7 +3283,7 @@
this.form.amountrequested = allSum.toFixed(2);
this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
- } catch {}
+ } catch { }
},
//閲戦鏁板瓧杞崲鎴愬ぇ鍐�
--
Gitblit v1.9.3