11
WXL
2024-07-17 21fe2968337eb8eab97adc88750b71c4057e98f8
src/views/project/fundcheck/officeExpenseCheck/index.vue
@@ -2,18 +2,18 @@
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px">
      <el-row align="left">
        <el-col :span="8">
          <el-form-item label="申请日期" prop="createTime">
            <el-date-picker format="yyyy-MM-dd" @change="selectapplication" value-format="yyyy-MM-dd" v-model="createTime"
              type="daterange" range-separator="至" start-placeholder="申请开始日期" end-placeholder="申请结束日期"
              @keyup.enter.native="handleQuery">
            </el-date-picker>
        <el-col :span="5">
          <el-form-item label="捐献案例" prop="donorname" style="float: left">
            <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="经办人" prop="APPLICANT" style="float: left">
            <el-input v-model="queryParams.APPLICANT" placeholder="请输入申请人姓名" clearable size="small"
              @keyup.enter.native="handleQuery" />
          <el-form-item label-width="120px" 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>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
@@ -24,15 +24,40 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-button type="primary" icon="el-icon-search" size="mini" @click="flowconclusion">搜索</el-button>
          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        <el-col :span="5">
          <el-form-item label="经办人" prop="APPLICANT" style="float: left">
            <el-input v-model="queryParams.APPLICANT" placeholder="请输入申请人姓名" clearable size="small"
              @keyup.enter.native="flowconclusion" />
          </el-form-item>
        </el-col>
      </el-row></el-form>
      </el-row>
      <el-row>
        <el-col :span="5">
          <el-form-item label="报销金额" prop="money" style="float: left">
            <el-input v-model="queryParams.money" placeholder="请输入申请人金额" clearable size="small"
              @keyup.enter.native="flowconclusion" />
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="申请日期" prop="createTime">
            <el-date-picker format="yyyy-MM-dd" @change="selectapplication" value-format="yyyy-MM-dd" v-model="createTime"
              type="daterange" range-separator="至" start-placeholder="申请开始日期" end-placeholder="申请结束日期"
              @keyup.enter.native="flowconclusion">
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <div style="margin-bottom: 15px;">
            <el-button type="primary" icon="el-icon-search" size="mini" @click="flowconclusion">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </div>
        </el-col>
      </el-row>
    </el-form>
    <el-form ref="infoform" label-width="100px">
      <el-row>
        <el-table v-loading="loading" border :data="donateconsolationfundList" @selection-change="handleSelectionChange">
         <!--
          <!--
          <el-table-column label="审批状态" width="120" align="center" prop="checkFlag">
            <template slot-scope="scope">
              <span v-if="scope.row.checkFlag == 0"><i class="el-icon-check"
@@ -41,15 +66,15 @@
            </template>
          </el-table-column>
           -->
           <el-table-column label="申请日期" width="180" align="center" prop="createTime">
          <el-table-column label="报销单号" align="center" prop="bh" width="150px" />
          <el-table-column label="申请日期" width="180" align="center" prop="applyTime">
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
              <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
            </template>
          </el-table-column>
          <el-table-column label="经办人" align="center" prop="username" width="150px" />
          <el-table-column label="申请金额" align="center" prop="pretaxcost" width="200px" />
          <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="username" width="150px" />
          <!--<el-table-column label="捐献编号" align="center" prop="donorno" />-->
          <!--
          <el-table-column label="预支费用" align="center" prop="prepaidamount" width="120px" />
@@ -62,22 +87,30 @@
          </el-table-column>
          <el-table-column label="财务审核" align="center" prop="financechecher" width="140" />
          -->
          <el-table-column label="捐献者" align="center" prop="donorname" width="150px" />
          <el-table-column label="申请材料状态" width="140" 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="200">
            <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="remark" />
          <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
            <template slot-scope="scope">
              <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0"
                @click="handleDetail(scope.row)">详情</el-button>
              <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                @click="handleCheck(scope.row)">审核</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)"
                v-hasPermi="['project:donateconsolationfund:download']">下载</el-button>
              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">下载</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:download']" -->
              <!-- 新增审核页面 -->
              <!-- <el-button
@@ -171,8 +204,7 @@
          <el-col :span="5">
            <el-form-item label="合计金额" prop="amountrequested">
              <el-input v-model="form.amountrequested" placeholder="申请金额" :disabled="true" />
            </el-form-item>
          </el-col><!--
            </el-form-item> </el-col><!--
          <el-col :span="5">
            <el-form-item label="税前金额" prop="amountrequested">
              <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" />
@@ -216,7 +248,7 @@
            <el-table-column prop="itemtype" align="center" label="服务项目" width="260">
              <template slot-scope="scope">
                <el-select v-model="scope.row.itemid" placeholder="服务项目" clearable filterable allow-create
                  @change="select(scope.row)" :filter-method="(val) => SearchItem(val, scope)">
                  @change="select(scope.row)" :filter-method="val => SearchItem(val, scope)">
                  <el-option v-for="dict in scope.row.itemArr" :key="dict.id" :label="dict.itemName"
                    :value="dict.id"></el-option>
                </el-select>
@@ -259,7 +291,7 @@
            <el-table-column prop="price" align="center" label="价格" width="120" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.price" placeholder="价格" @blur="(val) => {
                <el-input v-model="scope.row.price" placeholder="价格" @blur="val => {
                  sumTotalFee(scope.row);
                }
                  " />
@@ -267,7 +299,7 @@
            </el-table-column>
            <el-table-column prop="quantity" align="center" label="数量" width="80" v-if="form.applytype == '3'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.quantity" placeholder="数量" @blur="(val) => {
                <el-input v-model="scope.row.quantity" placeholder="数量" @blur="val => {
                  sumTotalFee(scope.row);
                }
                  " />
@@ -343,9 +375,9 @@
              <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple
                :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
                  uploadSccess(response, file, fileList)
                  " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError"
                  " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError"
                :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
                <el-button :disabled='dialogType == "detail"' size="small" type="primary">上传</el-button>
                <el-button :disabled="dialogType == 'detail'" size="small" type="primary">上传</el-button>
              </el-upload>
            </el-form-item>
          </el-col>
@@ -403,7 +435,8 @@
  getdownloadBX,
  checkfund,
  listbypower,
  getdetailsByItemId, addFundSharedInfo
  getdetailsByItemId,
  addFundSharedInfo
} from "@/api/project/fund";
import {
  onelistFunds,
@@ -424,7 +457,7 @@
  listOrganization,
  getOrganization,
  listReportname,
  listUser,
  listUser
} from "@/api/project/organization";
import {
  listFundflow,
@@ -432,7 +465,7 @@
  delFundflow,
  addFundflow,
  updateFundflow,
  exportFundflow,
  exportFundflow
} from "@/api/project/fundflow";
import {
@@ -442,21 +475,22 @@
  delExternalperson,
  addExternalperson,
  updateExternalperson,
  exportExternalperson,
  exportExternalperson
} from "@/api/project/externalperson";
import {
  listDonatebaseinfo,
  getDonatebaseinfo,
  getDonatebaseinfo
} from "@/api/project/donatebaseinfo";
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
import { getUserProfile } from "@/api/system/user";
import { getToken } from "@/utils/auth";
import { setItem, grtItem, removeItem } from "@/utils/storage.js";
export default {
  components: {
    Li_area_select,
    OrgSelecter,
    OrgSelecter
  },
  name: "Donateconsolationfund",
  dicts: [
@@ -470,7 +504,8 @@
    "sys_fund_type",
    "sys_finsubject",
    "sys_financeitemtype",
    "sys_consolationfundlevel"
    "sys_consolationfundlevel",
    "sys_stage_type"
  ],
  data() {
    return {
@@ -483,7 +518,7 @@
      newobj: {
        flowlevelone: null,
        flowconclusion: null,
        fundid: null,
        fundid: null
      },
      showFirstapprovelevel: false,
      showSecondapprovelevel: false,
@@ -492,7 +527,7 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      },
      openbtn: true,
      isopen: 0,
@@ -534,15 +569,30 @@
      checkFlagOptions: [
        {
          value: 0,
          label: "已审批",
          label: "已审批"
        },
        {
          value: 1,
          label: "待审批",
        }, {
          value: 2,
          label: "全部",
          label: "待审批"
        },
        {
          value: 2,
          label: "全部"
        }
      ],
      checkmaterials: [
        {
          value: 1,
          label: "材料待审核"
        },
        {
          value: 2,
          label: "审查通过等待邮寄纸质材料"
        },
        {
          value: 3,
          label: "已收到纸质材料"
        }
      ],
      // 查询参数
      queryParams: {
@@ -553,20 +603,22 @@
        APPLICATIONENDTIME: null,
        CHECKFLAG: 1,
        APPLYTYPE: 4,
        money: null
      },
      // 表单参数
      form: {},
      // 表单校验
      rules: {
        username: [
          { required: true, message: "请输入申请人姓名", trigger: "blur" },
          { required: true, message: "请输入申请人姓名", trigger: "blur" }
        ],
        createTime: [
          { required: true, message: "请输入申请日期", trigger: "blur" },
          { required: true, message: "请输入申请日期", trigger: "blur" }
        ],
        amountrequested: [
          { required: true, message: "请输入申请金额", trigger: "blur" },
        ],
          { required: true, message: "请输入申请金额", trigger: "blur" }
        ]
      },
      //当前选中捐献案例
      curCase: {},
@@ -592,8 +644,8 @@
          hsfbx: null,
          hsfbz: null,
          total: null,
          title: null,
        },
          title: null
        }
      ],
      fundDetailArr: [],
      fundflowList: [],
@@ -613,7 +665,7 @@
        { name: "捐献者医学成本" },
        { name: "捐献者善后成本" },
        { name: "捐献伦理委员会劳务发放表" },
        { name: "捐献者家属交通食宿费" },
        { name: "捐献者家属交通食宿费" }
      ],
      itemArr: [],
      allnum: [],
@@ -627,9 +679,8 @@
      //上传附件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
      headers: {
        Authorization: "Bearer " + getToken(),
      },
        Authorization: "Bearer " + getToken()
      }
    };
  },
  watch: {},
@@ -640,6 +691,11 @@
  },
  mounted() {
    if (grtItem("officeExpenseCheck")) {
      this.queryParams = grtItem("officeExpenseCheck");
      this.queryParams.APPLICATIONBEGTIME = "";
      this.queryParams.APPLICATIONENDTIME = "";
    }
    this.selectReporters();
    this.getlistOrganization();
    //his.getlistUser();
@@ -654,8 +710,10 @@
    getlistbypower() {
      this.loading = true;
      // this.queryParams.params = {};
      console.log("this.queryParams",this.queryParams);
      listbypower(this.queryParams).then((res) => {
      console.log("this.queryParams", this.queryParams);
      listbypower(this.queryParams).then(res => {
        removeItem("officeExpenseCheck");
        setItem("officeExpenseCheck", this.queryParams);
        this.loading = false;
        let list = res.rows;
        this.total = res.total;
@@ -668,9 +726,9 @@
      let checkfundobj = {
        flowconclusion: this.newobj.flowlevelone,
        flowcontent: this.newobj.flowconclusion,
        fundid: this.newobj.fundid,
        fundid: this.newobj.fundid
      };
      checkfund(checkfundobj).then((res) => {
      checkfund(checkfundobj).then(res => {
        this.reset();
        this.$modal.msgSuccess("审核完成!");
        this.getlistbypower();
@@ -678,7 +736,7 @@
    },
    getlistUser() {
      this.queryParams = {};
      listUser(this.queryParams).then((res) => {
      listUser(this.queryParams).then(res => {
        this.userlist = res.data;
      });
    },
@@ -690,7 +748,7 @@
          sums[index] = "合计";
          return;
        }
        const values = data.map((item) => Number(item[column.property]));
        const values = data.map(item => Number(item[column.property]));
        if (
          column.property == "amount" //需要显示和合计纵列
        ) {
@@ -710,28 +768,41 @@
    },
    getlistOrganization() {
      listOrganization().then((res) => { });
      listOrganization().then(res => { });
    },
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then((res) => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
          var urlBase = process.env.VUE_APP_BASE_API;
          var curWWWPath = window.document.location.href;
          var pos = curWWWPath.indexOf(window.document.location.pathname);
          // 创建a标签
          var aEle = document.createElement("a");
          aEle.href =
            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success",
      getdownloadLW(e).then(res => {
        var fileUrl = res;
        //获取当前网址
        var urlBase = process.env.VUE_APP_BASE_API;
        var curWWWPath = window.document.location.href;
        var pos = curWWWPath.indexOf(window.document.location.pathname);
        // 创建a标签
        var aEle = document.createElement("a");
        aEle.href =
          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
        console.log(aEle.href);
        // 添加Authorization头部
        fetch(aEle.href, {
          headers: this.headers
        })
          .then(response => {
            // 将文件下载链接作为blob对象进行下载
            return response.blob();
          })
          .then(blob => {
            const url = window.URL.createObjectURL(new Blob([blob]));
            console.log(url);
            const link = document.createElement("a");
            link.href = url;
            const name=fileUrl["downloadName"]
            link.setAttribute("download", name); // 替换file.pdf为实际的文件名
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
          });
        }
      });
    },
@@ -741,12 +812,12 @@
    tojust(e) {
      let username = "111";
      getFund(e).then((res) => {
      getFund(e).then(res => {
        username = res.data.username;
        this.$modal
          .confirm('是否确认通过"' + username + '"的费用申请?')
          .then(function () {
            getFund(e).then((res) => {
            getFund(e).then(res => {
              let data = res.data;
              let financechecher = "已审核";
              data.financechecher = financechecher;
@@ -764,12 +835,12 @@
    },
    selectReporters() {
      //专家人员列表
      listReportname("expert").then((res) => {
      listReportname("expert").then(res => {
        this.reporters = res.data;
      });
    },
    getmessages(val) {
      getInfoBytheUserNo(val.beneficiaryno).then((res) => {
      getInfoBytheUserNo(val.beneficiaryno).then(res => {
        if (res.data) {
          this.$set(val, res.data);
          val.beneficiaryname = res.data.username;
@@ -796,7 +867,7 @@
    getBaseInfoList() {
      this.loading = true;
      listDonatebaseinfo(this.queryParams).then((response) => {
      listDonatebaseinfo(this.queryParams).then(response => {
        this.donatebaseinfoList = response.rows;
        this.total = response.total;
        this.loading = false;
@@ -805,8 +876,8 @@
    //动态计算税前金额
    change(scope) { },
    autodonorno() {
      listDonatebaseinfo().then((res) => {
        res.rows.forEach((data) => {
      listDonatebaseinfo().then(res => {
        res.rows.forEach(data => {
          if (this.form.doname === data.name) {
            this.form.donorno = data.donorno;
          } else {
@@ -865,12 +936,12 @@
        annexbankcard: null,
        annexregistform: null,
        consolationmoney: null,
        applytype: "4",
        applytype: "4"
      };
      this.resetForm("form");
      //清空附件
      this.fileList = []
      this.fileList = [];
    },
    /** 搜索按钮操作 */
@@ -886,7 +957,7 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.id);
      this.ids = selection.map(item => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
@@ -910,9 +981,20 @@
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]),
          message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")])
        });
      }
    },
    beforehandCheck(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: row.id,
          businessType: "4",
          beforehandType: "1",
          operationType: "check"
        }
      });
    },
    /** 审核按钮操作 */
    handleCheck(row) {
@@ -938,13 +1020,17 @@
      const id = row.id || this.ids;
      this.loading = true;
      this.newobj.fundid = row.id;
      getFund(id).then((response) => {
      getFund(id).then(response => {
        this.form = response.data;
        this.form.name = this.curCase.name;
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        this.fileList = this.form.annexbankcard
          ? this.form.annexbankcard
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        getownFundDetail(id).then((res) => {
        getownFundDetail(id).then(res => {
          this.loading = false;
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
@@ -978,18 +1064,22 @@
      //加载审核记录
      let listFundflowparams = {
        fundid: row.id,
        fundtype: 2,
        fundtype: 2
      };
      listFundflow(listFundflowparams).then((res) => {
      listFundflow(listFundflowparams).then(res => {
        this.fundflowList = res.rows;
      });
      getFund(row.id).then((response) => {
      getFund(row.id).then(response => {
        this.form = response.data;
        this.form.name = this.curCase.name;
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        this.fileList = this.form.annexbankcard
          ? this.form.annexbankcard
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        getownFundDetail(row.id).then((res) => {
        getownFundDetail(row.id).then(res => {
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
            this.fundDetailArr[m].itemArr = [];
@@ -1000,30 +1090,30 @@
    },
    select(row) {
      row.itemArr.map((res) => {
      row.itemArr.map(res => {
        if (row.itemid === res.id) {
          row.remark = res.itemdescribe;
        }
      });
      this.fundDetailArr.map((res) => {
      this.fundDetailArr.map(res => {
        if (res.itemid === row.id) {
          this.$modal.msgWarning("您已经提交过服务项目");
        }
      });
      listcountItem(this.form.infoid, row.itemid).then((res) => {
      listcountItem(this.form.infoid, row.itemid).then(res => {
        if (res.data > 0) {
          this.$modal.msgWarning("您已经提交过该服务项目");
        }
      });
      getdetailsByItemId(row.itemid).then((res) => {
      getdetailsByItemId(row.itemid).then(res => {
        let fundmsg = res.data;
        let fundblock = [];
        fundmsg.forEach((item) => {
        fundmsg.forEach(item => {
          fundblock.push({
            expense: item.expense,
            expensedescribe: item.expensedescribe,
            remark: item.expensedescribe,
            servivesscope: item.id,
            servivesscope: item.id
          });
        });
@@ -1035,9 +1125,9 @@
      const infoid = this.curCase.id;
      const aaa = {
        infoid: infoid,
        count: this.idss,
        count: this.idss
      };
      listFunddetails(aaa).then((res) => { });
      listFunddetails(aaa).then(res => { });
    },
    //初始化费用申请表单界面
@@ -1079,8 +1169,8 @@
          updateBy: null,
          updateTime: null,
          uploadflag: null,
          uploadtime: null,
        },
          uploadtime: null
        }
      ];
    },
@@ -1125,7 +1215,7 @@
        updateTime: null,
        uploadflag: null,
        uploadtime: null,
        itemArr: [],
        itemArr: []
      };
      this.fundDetailArr.push(rowData);
    },
@@ -1137,9 +1227,9 @@
          row.fundid = this.form.id;
          row.donorname = this.form.donorname;
          row.donorno = this.form.donorno;
          addFunddetail(row).then((res) => {
            getownFundDetail(this.form.id).then((res) => {
              getownFundDetail(this.form.id).then((res) => {
          addFunddetail(row).then(res => {
            getownFundDetail(this.form.id).then(res => {
              getownFundDetail(this.form.id).then(res => {
                let ress = res.data;
                this.form.amountrequested = 0;
                ress.forEach((ele, i) => {
@@ -1162,8 +1252,8 @@
          // rows[index].quantity = row.quantity;
          // rows[index].price = row.price;
          // rows[index].remark = row.remark;
          updateFunddetail(rows[index]).then((res) => {
            getownFundDetail(this.form.id).then((res) => {
          updateFunddetail(rows[index]).then(res => {
            getownFundDetail(this.form.id).then(res => {
              let ress = res.data;
              this.form.amountrequested = 0;
              ress.forEach((ele, i) => {
@@ -1179,19 +1269,19 @@
      this.$confirm("是否确认删除?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "success",
        type: "success"
      })
        .then(() => {
          if (row.id !== null) {
            delFunddetail(row.id).then((res) => {
            delFunddetail(row.id).then(res => {
              if (res.code === 200) {
                this.$confirm("删除成功", "提示", {
                  confirmButtonText: "确定",
                  cancelButtonText: "取消",
                  type: "success",
                  type: "success"
                }).then(() => {
                  this.$set(rows, rows.splice(index, 1));
                  getownFundDetail(this.form.id).then((res) => {
                  getownFundDetail(this.form.id).then(res => {
                    this.$set(this.fundDetailArr, res.data);
                    this.sumTotalFee();
                    // this.fundDetailArr = res.data
@@ -1207,7 +1297,6 @@
            rows.splice(index, 1);
            this.sumTotalFee();
          }
        })
        .catch(() => {
          //几点取消的提示
@@ -1218,23 +1307,21 @@
      this.$confirm("是否确认保存?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          let formData = this.form;
          let tempItemArr = rows.itemArr;
          rows.fundid = formData.id;
          //获取服务项目明细
          let itemIndex = tempItemArr.findIndex(
            (item) => rows.itemid == item.id
          );
          let itemIndex = tempItemArr.findIndex(item => rows.itemid == item.id);
          if (itemIndex > -1) {
            rows.itemname = tempItemArr[itemIndex].itemname;
            rows.itemid = tempItemArr[itemIndex].id;
          }
          //获取applytypename
          let applytypeIndex = this.fundtypeArr.findIndex(
            (item) => rows.applytype == item.value
            item => rows.applytype == item.value
          );
          if (applytypeIndex > -1) {
            rows.applytypename = this.fundtypeArr[applytypeIndex].label;
@@ -1247,10 +1334,10 @@
            rows.unitname = rows.unitno;
          }
          if (rows.id > 0) {
            updateFunddetail(rows).then((res) => {
            updateFunddetail(rows).then(res => {
              this.$modal.msgSuccess("修改成功");
              this.loading = true;
              getownFundDetail(this.form.id).then((res) => {
              getownFundDetail(this.form.id).then(res => {
                this.fundDetailArr = res.data;
                for (let m = 0; m < this.fundDetailArr.length; m++) {
                  this.fundDetailArr[m].itemArr = [];
@@ -1260,8 +1347,8 @@
              });
            });
          } else {
            addFunddetail(rows).then((response2) => {
              getownFundDetail(this.form.id).then((res) => {
            addFunddetail(rows).then(response2 => {
              getownFundDetail(this.form.id).then(res => {
                this.$modal.msgSuccess("新增成功");
                this.fundDetailArr = res.data;
                for (let m = 0; m < this.fundDetailArr.length; m++) {
@@ -1282,11 +1369,10 @@
      this.$confirm("是否确认保存?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          updateFunddetail(this.fundDetailArr).then((res) => {
          });
          updateFunddetail(this.fundDetailArr).then(res => { });
        })
        .catch(() => {
          //几点取消的提示
@@ -1374,14 +1460,14 @@
    //获取费用类型
    getCurFundType() {
      getFundTypeAll(4).then((res) => {
      getFundTypeAll(4).then(res => {
        let dataList = res.data;
        this.fundtypeArrAll = dataList;
        this.fundtypeArr = [];
        for (let m = 0; m < dataList.length; m++) {
          this.fundtypeArr.push({
            value: dataList[m].itemType,
            label: dataList[m].itemTypeName,
            label: dataList[m].itemTypeName
          });
        }
      });
@@ -1405,7 +1491,7 @@
      let arrreportlist = [];
      for (let i = 0; i < arr.length; i++) {
        this.arrr2 = [];
        listReportname(arr[i]).then((res) => {
        listReportname(arr[i]).then(res => {
          this.arrr2 = res.data;
          this.arrr3 = this.arrr3.concat(this.arrr2);
        });
@@ -1413,7 +1499,7 @@
    },
    selectpersonmsg(row) {
      this.personlist.map((res) => {
      this.personlist.map(res => {
        if (row.beneficiaryname == res.username) {
          row.beneficiaryno = res.userno;
          row.beneficiaryname = res.username;
@@ -1433,13 +1519,13 @@
    },
    getlistExternalperson() {
      listExternalperson().then((res) => {
      listExternalperson().then(res => {
        this.personlist = res.rows;
      });
    },
    getUsermsg() {
      getUserProfile().then((response) => {
      getUserProfile().then(response => {
        // this.defaultperson = response.data;
        // this.standardlevel = response.data.standardlevel;
        if (
@@ -1484,7 +1570,7 @@
    dayin() {
      if (this.form.id) {
        const id = this.form.id;
        getdownloadLW(id).then((res) => {
        getdownloadLW(id).then(res => {
          if (res.downloadUrl) {
            var fileUrl = res;
            //获取当前网址
@@ -1498,14 +1584,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1513,7 +1599,7 @@
    dayin1() {
      if (this.form.id) {
        const id = this.form.id;
        getdownloadLW(id).then((res) => {
        getdownloadLW(id).then(res => {
          if (res.downloadUrl) {
            var fileUrl = res;
            //获取当前网址
@@ -1527,14 +1613,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1542,7 +1628,7 @@
    dayin2() {
      if (this.form.id) {
        const id = this.form.id;
        getdownloadYX(id).then((res) => {
        getdownloadYX(id).then(res => {
          if (res.downloadUrl) {
            var fileUrl = res;
            //获取当前网址
@@ -1556,14 +1642,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1571,7 +1657,7 @@
    dayin3() {
      if (this.form.id) {
        const id = this.form.id;
        getdownloadSH(id).then((res) => {
        getdownloadSH(id).then(res => {
          if (res.downloadUrl) {
            var fileUrl = res;
            //获取当前网址
@@ -1585,14 +1671,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1605,7 +1691,7 @@
    dayin5() {
      if (this.form.id) {
        const id = this.form.id;
        getdownloadSS(id).then((res) => {
        getdownloadSS(id).then(res => {
          if (res.downloadUrl) {
            var fileUrl = res;
            //获取当前网址
@@ -1619,14 +1705,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1634,7 +1720,7 @@
    //文件上传
    handleUploadError() { },
    remove(file) {
      this.fileList.splice(this.fileList.indexOf(file), 1)
      this.fileList.splice(this.fileList.indexOf(file), 1);
    },
    handleExceed() {
      this.$message.error(`上传文件数量不能超过 ${5} 个!`);
@@ -1647,19 +1733,18 @@
        this.$modal.msgSuccess(response.msg);
        this.fileList.push({ name: response.fileName, url: response.fileName });
      } else {
        console.log(response.msg);;
        console.log(response.msg);
      }
    },
    // 下载文件
    downFile(item) {
      const url = process.env.VUE_APP_BASE_API + item.url
      var a = document.createElement('a');
      var event = new MouseEvent('click');
      const url = process.env.VUE_APP_BASE_API + item.url;
      var a = document.createElement("a");
      var event = new MouseEvent("click");
      a.download = item.name;
      a.href = url;
      a.dispatchEvent(event);
    },
  },
    }
  }
};
</script>