yxh
4 小时以前 c75027743ea7c3ecc2d0885f01d11d2ad78679a3
src/views/project/travelexpenseapply/edit.vue
@@ -62,8 +62,8 @@
                    </el-form-item>
                </el-col>
                <el-col :span="7">
                    <el-form-item label="申请日期" prop="createTime">
                        <el-date-picker style="width: 100%" v-model="form.createTime" type="date"
                    <el-form-item label="申请日期" prop="applyTime">
                        <el-date-picker style="width: 100%" v-model="form.applyTime" type="date" format="yyyy-MM-dd"
                            value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请日期">
                        </el-date-picker>
                    </el-form-item>
@@ -101,7 +101,7 @@
                    <el-table-column prop="starttime" slot="" label="出发日期" fixed align="center" width="150">
                        <template slot-scope="scope">
                            <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.starttime"
                                type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="出发日期"
                                type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" placeholder="出发日期"
                                @change="getStandard(scope.row)">
                            </el-date-picker>
                        </template>
@@ -115,7 +115,7 @@
                    <el-table-column prop="endtime" slot="" label="到达日期" align="center" width="150" fixed>
                        <template slot-scope="scope">
                            <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.endtime"
                                type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="到达日期">
                                type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" placeholder="到达日期">
                            </el-date-picker>
                        </template>
                    </el-table-column>
@@ -340,6 +340,7 @@
} from "@/api/project/organization";
import { listDonatebaseinfo } from "@/api/project/donatebaseinfo";
import { getToken } from "@/utils/auth";
import { moneySum } from "@/utils/money";
export default {
    data() {
        return {
@@ -673,41 +674,25 @@
                    //几点取消的提示
                });
        },
        //计算费用合计
        //计算费用合计(金额一律走精确运算,禁止 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 { }
        },