| | |
| | | } from "@/api/project/organization"; |
| | | import { listDonatebaseinfo } from "@/api/project/donatebaseinfo"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import { moneySum } from "@/utils/money"; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | //几点取消的提示 |
| | | }); |
| | | }, |
| | | //计算费用合计 |
| | | //计算费用合计(金额一律走精确运算,禁止 parseFloat 累加) |
| | | sumTotalFee() { |
| | | let allSum = 0; |
| | | try { |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | let totalFee = 0; |
| | | const row = this.applicationDetailArr[i]; |
| | | //计算当前报销内容费用合计 |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].trafficexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].trafficexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].cityfee))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].cityfee); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].hotelexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].hotelexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].otherexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].otherexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].foodexpenses))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].foodexpenses); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].foodallowance))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].foodallowance); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].otherfeeamount))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].otherfeeamount); |
| | | } |
| | | this.applicationDetailArr[i].total = parseFloat(totalFee).toFixed(2); |
| | | this.$set(this.applicationDetailArr, i, this.applicationDetailArr[i]); |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].total))) { |
| | | allSum += parseFloat(this.applicationDetailArr[i].total); |
| | | } |
| | | const totalFee = moneySum([ |
| | | row.trafficexpense, |
| | | row.cityfee, |
| | | row.hotelexpense, |
| | | row.otherexpense, |
| | | row.foodexpenses, |
| | | row.foodallowance, |
| | | row.otherfeeamount |
| | | ]); |
| | | row.total = totalFee.toFixed(2); |
| | | this.$set(this.applicationDetailArr, i, row); |
| | | } |
| | | this.form.amountrequested = allSum.toFixed(2); |
| | | this.form.amountrequested = moneySum(this.applicationDetailArr, "total").toFixed(2); |
| | | this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested); |
| | | } catch { } |
| | | }, |