yxh
昨天 a79d67f8a9a9fa02f9d25f987b9611af965c484f
src/views/project/fund/officeExpenseApply/index.vue
@@ -2,6 +2,7 @@
<template>
  <div class="app-container">
    <el-form
      class="opo-query-form"
      :model="queryParams"
      ref="queryForm"
      :inline="true"
@@ -87,8 +88,11 @@
      <!-- v-hasPermi="['project:medicalfund:export']" -->
      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
    </el-row>
    <el-table v-loading="loading" border :data="donateconsolationfundList"
    :row-class-name="rowClassName"
    <el-table
      v-loading="loading"
      border
      :data="donateconsolationfundList"
      :row-class-name="rowClassName"
    >
      <el-table-column
        label="申请日期"
@@ -138,7 +142,7 @@
        </template>
      </el-table-column>
      <el-table-column
        label="申请材料状态"
        label="材料预审状态"
        width="140"
        align="center"
        prop="checkstatus"
@@ -177,7 +181,6 @@
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['project:medicalfund:edit']"
            >修改</el-button
          >
          <el-button
@@ -192,7 +195,6 @@
            size="mini"
            type="text"
            @click="handleDelete(scope.row)"
            v-hasPermi="['project:medicalfund:delete']"
            ><span class="button-delete"
              ><i class="el-icon-delete"></i>删除</span
            ></el-button
@@ -202,7 +204,6 @@
            type="text"
            icon="el-icon-download"
            @click="mixExport(scope.row.id)"
            v-hasPermi="['project:medicalfund:download']"
            >下载</el-button
          >
        </template>
@@ -225,7 +226,7 @@
                clearable
                style="width: 100%"
                v-model="form.applyTime"
                type="date"
                type="date" format="yyyy-MM-dd"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
              >
@@ -683,9 +684,9 @@
                  type="text"
                  size="small"
                >
                <span class="button-delete"
              ><i class="el-icon-delete"></i>删除</span
            >
                  <span class="button-delete"
                    ><i class="el-icon-delete"></i>删除</span
                  >
                </el-button>
                <el-button
                  @click.native.prevent="
@@ -1168,8 +1169,20 @@
        .then(() => {
          //查找是否存在登记完成记录
          //判断是否存在上报记录
          row.recordstatus = 0;var currenttime = new Date();
          row.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth()+1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds();
          row.recordstatus = 0;
          var currenttime = new Date();
          row.applyTime =
            currenttime.getFullYear() +
            "-" +
            (currenttime.getMonth() + 1) +
            "-" +
            currenttime.getDate() +
            " " +
            currenttime.getHours() +
            ":" +
            currenttime.getMinutes() +
            ":" +
            currenttime.getSeconds();
          updateFund(row).then(response => {
            if (response.code == 200) {
              this.$message({
@@ -1697,41 +1710,40 @@
        });
    },
    //计算总金额
    //计算总金额(金额一律走精确运算,禁止 parseFloat 累加)
    sumTotalFee(row) {
      let allSum = 0;
      const detailsArr = [];
      if (this.form.applytype != null) {
        for (let i = 0; i < this.fundDetails.length; i++) {
          const detail = this.fundDetails[i];
          let totalFee = 0;
          let taxFee = 0;
          if (this.form.applytype == 1 || this.form.applytype == 2) {
            //计算当前报销内容费用合计
            if (!isNaN(parseFloat(this.fundDetails[i].amount))) {
              totalFee += parseFloat(this.fundDetails[i].amount);
              taxFee += parseFloat(this.fundDetails[i].amount);
            //计算当前报销内容费用合计:税前 - 扣税
            if (!isNaN(parseFloat(detail.amount))) {
              totalFee = moneyAdd(totalFee, detail.amount);
              taxFee = moneyAdd(taxFee, detail.amount);
            }
            if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) {
              totalFee -= parseFloat(this.fundDetails[i].taxamount);
              taxFee -= parseFloat(this.fundDetails[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.fundDetails[i].price)) &&
              !isNaN(parseFloat(this.fundDetails[i].quantity))
              !isNaN(parseFloat(detail.price)) &&
              !isNaN(parseFloat(detail.quantity))
            ) {
              totalFee +=
                parseFloat(this.fundDetails[i].price) *
                parseFloat(this.fundDetails[i].quantity);
              totalFee = moneyMul(detail.price, detail.quantity);
            }
          }
          if (!isNaN(parseFloat(taxFee))) {
            this.fundDetails[i].taxedamount = taxFee.toFixed(2);
            this.fundDetails[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();
    },
@@ -1845,7 +1857,7 @@
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            const name = fileUrl["downloadName"];
            link.setAttribute("download", name); // 替换file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
@@ -1917,7 +1929,9 @@
      if (response.code == 200) {
        this.form.filename = file.raw.name;
        this.$modal.msgSuccess(response.msg);
        this.fileList.push({ name: response.fileName, url: response.fileName });
        // 2026-10-15:列表里的 name 用操作人的原始文件名,不要用 response.fileName(那是存储路径)。
        // 保存时只回写 url(form.annexbankcard 存的是逗号拼接的 url),所以这里只影响上传框的显示。
        this.fileList.push({ name: file.raw.name, url: response.fileName });
      } else {
        console.log(response.msg);
      }
@@ -1933,7 +1947,7 @@
    },
    rowClassName({ row, column, rowIndex, columnIndex }) {
      //此判断为最后三行
      if (row.recordstatus == -1 && row.backflowlevel >= 0) {
      if (row.recordstatus == -1 && row.backflowlevel != null) {
        return "error-row";
      }
    }
@@ -1978,10 +1992,10 @@
</script>
<style scoped>
/* @import url(); 引入公共css类 */
.button-delete{
.button-delete {
  color: rgb(236, 69, 69);
}
::v-deep.el-table .error-row {
  background: #FCEBEB;
  background: #fcebeb;
}
</style>