From f64155f6ad27c50451bb7d4a15f553bc72ead7de Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 12 九月 2025 14:35:26 +0800
Subject: [PATCH] 年龄计算相关
---
src/views/project/fund/performancedetails/index.vue | 321 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 260 insertions(+), 61 deletions(-)
diff --git a/src/views/project/fund/performancedetails/index.vue b/src/views/project/fund/performancedetails/index.vue
index d600a23..3144c06 100644
--- a/src/views/project/fund/performancedetails/index.vue
+++ b/src/views/project/fund/performancedetails/index.vue
@@ -14,7 +14,7 @@
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="鐢宠鏃ユ湡"
- disabled="true"
+ :disabled="true"
>
</el-date-picker>
</el-form-item>
@@ -141,12 +141,15 @@
max-height="800"
border
highlight-current-row
+ :summary-method="getSummaries"
+ show-summary
>
<el-table-column
prop="orderno"
align="center"
label="搴忓彿"
width="88"
+ fixed
>
<template slot-scope="scope">
<el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
@@ -157,6 +160,7 @@
align="center"
label="鏈嶅姟绫诲瀷"
width="200"
+ fixed
>
<template slot-scope="scope">
<el-select
@@ -194,8 +198,28 @@
: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="jxrq"
+ 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
prop="amount"
align="center"
@@ -206,11 +230,21 @@
<el-input
v-model="scope.row.amount"
placeholder="绋庡墠閲戦"
- @blur="
- val => {
- calculateTax(scope.row, 'A');
- }
- "
+ @blur="chargeSum"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="taxamount"
+ align="center"
+ label="鎵g◣閲戦"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-input
+ @blur="chargeSum"
+ v-model="scope.row.taxamount"
+ placeholder="鎵g◣閲戦"
/>
</template>
</el-table-column>
@@ -224,14 +258,11 @@
<el-input
v-model="scope.row.taxedamount"
placeholder="绋庡悗閲戦"
- @blur="
- val => {
- calculateTax(scope.row, 'B');
- }
- "
+ @blur="queenchargeSum"
/>
</template>
</el-table-column>
+
<el-table-column
prop="beneficiaryname"
align="center"
@@ -500,7 +531,7 @@
:visible.sync="pdfVisible"
width="60%"
>
- <div>
+ <div style="margin-bottom: 10px;">
<el-table :data="tableDatatop" style="width: 100%">
<el-table-column
prop="beneficiaryname"
@@ -528,7 +559,13 @@
</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"
@@ -596,7 +633,7 @@
>
<template slot-scope="scope">
<el-button
- type="primary"
+ type="danger"
size="mini"
@click.native.prevent.stop="deletedowfile(scope.row)"
>鍒犻櫎</el-button
@@ -949,7 +986,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: [],
@@ -1705,12 +1787,23 @@
flowconclusion: this.checkObj.flowlevelone,
flowcontent: this.checkObj.flowconclusion
};
+ this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒");
checkfund(checkFundObj).then(res => {
- //鍏抽棴绐楀彛
- this.reset();
- this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
- this.$store.dispatch("tagsView/delView", this.$route);
- this.$router.go(-1);
+ if (res.code == 200) {
+ //鍏抽棴绐楀彛
+ this.reset();
+ 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);
+ }
+ }
});
},
@@ -1728,7 +1821,7 @@
this.standardlevel = res.data.standardlevel;
if (
this.userprofile.userName == "admin" ||
- this.userprofile.userName == "001" ||
+ this.userprofile.userName == "053" ||
this.userprofile.userName == "047"
) {
this.ismanager = true;
@@ -1962,17 +2055,39 @@
}
},
- //璁$畻閲戦
- calculateTax(row, type) {
+ //绋庡墠鎵g◣绠楃◣鍚�
+ chargeSum(row, type) {
let targetValue = 0;
for (let i = 0; i < this.rbDetails.length; i++) {
if (!this.rbDetails[i].amount) {
this.rbDetails[i].amount = 0;
}
+ if (!this.rbDetails[i].taxamount) {
+ this.rbDetails[i].taxamount = 0;
+ }
+ this.rbDetails[i].taxedamount = (
+ parseFloat(this.rbDetails[i].amount) -
+ parseFloat(this.rbDetails[i].taxamount)
+ ).toFixed(2);
targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅
+ console.log(this.rbDetails[i].taxedamount, "鍚堣");
}
console.log(targetValue, "鍚堣");
this.form.pretaxcost = targetValue;
+ },
+ //绋庡悗鎵g◣绠楃◣鍓�
+ queenchargeSum(row, type) {
+ for (let i = 0; i < this.rbDetails.length; i++) {
+ if (!this.rbDetails[i].amount) {
+ this.rbDetails[i].amount = 0;
+ }
+ if (!this.rbDetails[i].taxamount) {
+ this.rbDetails[i].taxamount = 0;
+ }
+ this.rbDetails[i].amount =
+ parseFloat(this.rbDetails[i].taxamount) +
+ parseFloat(this.rbDetails[i].taxedamount);
+ }
},
unsave() {
@@ -2500,7 +2615,7 @@
this.tableDatatop = [];
this.fileListto = [];
this.invoicefileListto = [];
- this.pdfimg = '';
+ this.pdfimg = "";
this.invoicepdfimg = [];
this.pdfimgsrcList = [];
this.invoicepdfimgsrcList = [];
@@ -2509,26 +2624,31 @@
this.pdfVisible = true;
if (this.rbDetails[index].annexfilesList) {
- this.rbDetails[index].annexfilesList.forEach((value, indexson) => {
- const pdfimg = this.Networkheader + "/prod-api" + value.url;
- fetch(pdfimg, config)
- .then(response => response.blob())
- .then(blob => {
- // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
- this.fileListto.push({
- name: value.name,
- url: URL.createObjectURL(blob)
+ 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;
});
- if (this.fileListto.length == 1) {
- this.pdfimg = URL.createObjectURL(blob);
- }
- this.pdfimgsrcList.push(URL.createObjectURL(blob));
- })
- .catch(error => {
- console.error("Error loading image", error);
- return;
- });
+ }
+ );
+
+ 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 = [];
@@ -2537,26 +2657,35 @@
}
//鍙戠エ
if (this.rbDetails[index].invoicefilesList) {
- this.rbDetails[index].invoicefilesList.forEach((value, indexson) => {
- const pdfimg = this.Networkheader + "/prod-api" + value.url;
- fetch(pdfimg, config)
- .then(response => response.blob())
- .then(blob => {
- // 灏嗚幏鍙栫殑鏁版嵁娴佽浆鎹负URL
- this.invoicefileListto.push({
- name: value.name,
- url: URL.createObjectURL(blob)
+ 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;
});
- if (this.invoicefileListto.length == 1) {
- this.invoicepdfimg = URL.createObjectURL(blob);
- }
- this.invoicepdfimgsrcList.push(URL.createObjectURL(blob));
- })
- .catch(error => {
- console.error("Error loading image", error);
- return;
- });
+ }
+ );
+
+ 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 = [];
@@ -2564,11 +2693,13 @@
this.pdftitle = "";
}
- if (this.activeName == 1) {
+ 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");
},
// 鐐瑰嚮宸蹭笂浼犳枃浠�
@@ -2668,15 +2799,83 @@
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;
+ },
+ //琛ㄦ牸鍚堣
+ getSummaries(param) {
+ const { columns, data } = param;
+ const sums = [];
+ var columnnames = [
+ "applytype",
+ "itemid",
+ // "jxrq",
+ "beneficiaryname",
+ "idcardno",
+ "depositbank",
+ "bankcardno",
+ "remark"
+ ];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = "鍚堣";
+ return;
+ }
+
+ //鍘婚櫎閮ㄥ垎瀛楁璁$畻
+ if (columnnames.indexOf(column.property) > -1) {
+ return;
+ }
+
+ const values = data.map(item => Number(item[column.property]));
+ if (!values.every(value => isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr);
+ if (!isNaN(value)) {
+ return prev + curr;
+ } else {
+ return prev;
+ }
+ }, 0);
+ sums[index] = sums[index].toFixed(2); // 淇濈暀2浣嶅皬鏁帮紝瑙e喅灏忔暟鍚堣鍒�;
+ } else {
+ sums[index] = "";
+ }
+ });
+ return sums;
}
},
--
Gitblit v1.9.3