yxh
2026-09-20 c870390bfc28b314f30240352895c5d6c466c148
src/views/project/fundcheck/medicalCostCheck/index.vue
@@ -1,15 +1,15 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
      <el-row align="left">
        <el-col :span="5">
          <el-form-item label="捐献案例" prop="donorname" style="float: left">
            <el-input v-model="queryParams.donorname" placeholder="请输入申请人捐献者" clearable size="small"
            <el-input v-model="queryParams.donorname" placeholder="请输入捐献者" clearable size="small"
              @keyup.enter.native="flowconclusion" />
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label-width="120px" label="预审状态" prop="checkstatus" style="float: left">
          <el-form-item label-width="90px" label="预审状态" prop="checkstatus" style="float: left">
            <el-select v-model="queryParams.checkstatus" placeholder="请选择" style="width: 100%">
              <el-option v-for="item in checkmaterials" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
@@ -76,13 +76,13 @@
</el-table-column>
-->
          <el-table-column label="报销单号" align="center" prop="bh" width="150px" />
          <el-table-column label="申请日期" width="180" align="center" prop="applyTime">
          <el-table-column label="申请日期" width="120px" align="center" prop="applyTime">
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
            </template>
          </el-table-column>
          <el-table-column label="申请金额" align="center" prop="pretaxcost" width="200px" />
          <el-table-column label="经办人" align="center" prop="username" width="150px" />
          <el-table-column label="申请金额" align="center" prop="pretaxcost" width="120px" />
          <el-table-column label="经办人" align="center" prop="username" width="90px" />
          <!--<el-table-column label="捐献编号" align="center" prop="donorno" />-->
          <!--
          <el-table-column label="预支费用" align="center" prop="prepaidamount" width="120px" />
@@ -95,21 +95,21 @@
          </el-table-column>
          <el-table-column label="财务审核" align="center" prop="financechecher" width="140" />
          -->
          <el-table-column label="申请材料状态" width="140" align="center" prop="checkstatus">
          <el-table-column label="材料预审状态" width="140px" align="center" prop="checkstatus">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" />
            </template>
          </el-table-column>
          <el-table-column label="审批状态" align="center" prop="recordstatus" width="180">
          <el-table-column label="审批状态" align="center" prop="recordstatus" width="140px">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
            </template>
          </el-table-column>
          <el-table-column label="所属组别" align="center" prop="deptmentname" width="200px" />
          <el-table-column label="组长" align="center" prop="managername" width="150px" />
          <el-table-column label="捐献者" align="center" prop="donorname" width="150px" />
          <el-table-column label="所属组别" align="center" prop="deptmentname" width="140px" />
          <el-table-column label="组长" align="center" prop="managername" width="90px" />
          <el-table-column label="捐献者" align="center" prop="donorname" width="90px" />
          <el-table-column label="备注" align="center" prop="remark" />
          <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
          <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="200px">
            <template slot-scope="scope">
              <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                @click="handleCheck(scope.row)">审核</el-button>
@@ -496,6 +496,7 @@
import { listDept } from "@/api/system/dept";
import { getToken } from "@/utils/auth";
import { setItem, grtItem, removeItem } from "@/utils/storage.js";
import { moneySum, moneyAdd, moneySub, moneyMul, moneyRound } from "@/utils/money";
export default {
  components: {
@@ -593,11 +594,11 @@
      checkmaterials: [
        {
          value: 1,
          label: "材料待审核"
          label: "待审核"
        },
        {
          value: 2,
          label: "审查通过等待邮寄纸质材料"
          label: "审查通过等待纸质材料"
        },
        {
          value: 3,
@@ -1443,41 +1444,40 @@
      // });
    },
    //计算总金额
    //计算总金额(金额一律走精确运算,禁止 parseFloat 累加)
    sumTotalFee() {
      let allSum = 0;
      const detailsArr = [];
      if (this.form.applytype != null) {
        for (let i = 0; i < this.fundDetailArr.length; i++) {
          const detail = this.fundDetailArr[i];
          let totalFee = 0;
          let taxFee = 0;
          if (this.form.applytype == 1 || this.form.applytype == 2) {
            //计算当前报销内容费用合计
            if (!isNaN(parseFloat(this.fundDetailArr[i].amount))) {
              totalFee += parseFloat(this.fundDetailArr[i].amount);
              taxFee += parseFloat(this.fundDetailArr[i].amount);
            //计算当前报销内容费用合计:税前 - 扣税
            if (!isNaN(parseFloat(detail.amount))) {
              totalFee = moneyAdd(totalFee, detail.amount);
              taxFee = moneyAdd(taxFee, detail.amount);
            }
            if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) {
              totalFee -= parseFloat(this.fundDetailArr[i].taxamount);
              taxFee -= parseFloat(this.fundDetailArr[i].taxamount);
            if (!isNaN(parseFloat(detail.taxamount))) {
              totalFee = moneySub(totalFee, detail.taxamount);
              taxFee = moneySub(taxFee, detail.taxamount);
            }
          } else if (this.form.applytype == 3) {
            if (
              !isNaN(parseFloat(this.fundDetailArr[i].price)) &&
              !isNaN(parseFloat(this.fundDetailArr[i].quantity))
              !isNaN(parseFloat(detail.price)) &&
              !isNaN(parseFloat(detail.quantity))
            ) {
              totalFee +=
                parseFloat(this.fundDetailArr[i].price) *
                parseFloat(this.fundDetailArr[i].quantity);
              totalFee = moneyMul(detail.price, detail.quantity);
            }
          }
          if (!isNaN(parseFloat(taxFee))) {
            this.fundDetailArr[i].taxedamount = taxFee.toFixed(2);
            this.fundDetailArr[i].taxedamount = moneyRound(taxFee).toFixed(2);
          }
          allSum += totalFee;
          detailsArr.push(totalFee);
        }
      }
      //this.form.amountrequested = allSum.toFixed(2);
      this.$set(this.form, "amountrequested", allSum.toFixed(2));
      this.$set(this.form, "amountrequested", moneyRound(moneySum(detailsArr)).toFixed(2));
      //this.$forceUpdate();
    },