yxh
2023-09-12 69505a69fbfa11384a480487a937369e58de2de2
src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -1,19 +1,25 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px">
      <el-row align="left">
      <el-row>
        <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">
              @keyup.enter.native="flowconclusion">
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="申请人" prop="APPLICANT" style="float: left">
          <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="5">
          <el-form-item label="经办人" prop="APPLICANT" style="float: left">
            <el-input v-model="queryParams.APPLICANT" placeholder="请输入申请人姓名" clearable size="small"
              @keyup.enter.native="handleQuery" />
              @keyup.enter.native="flowconclusion" />
          </el-form-item>
        </el-col>
        <el-col :span="5">
@@ -24,16 +30,16 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <!-- <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>
        </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 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"
@@ -65,15 +71,14 @@
          <el-table-column label="备注" align="center" prop="remark" />
          <!--<el-table-column label="捐献编号" align="center" prop="donorno" />
          <el-table-column label="财务审核" align="center" prop="financechecher" width="140" />-->
          <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="160px">
            <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>
              <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="dayin(scope.row.id)">下载</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -178,9 +183,9 @@
            </el-table-column>
            <el-table-column prop="amount" align="center" label="税前金额" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" @blur="(val) => {
                  sumTotalFee();
                }
                <el-input v-model="scope.row.amount" @blur="val => {
                    sumTotalFee();
                  }
                  " placeholder="税前金额" />
              </template>
            </el-table-column>
@@ -196,9 +201,9 @@
            </el-table-column> -->
            <el-table-column prop="taxedamount" align="center" label="税后金额" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" @blur="(val) => {
                  sumTotalFee();
                }
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" @blur="val => {
                    sumTotalFee();
                  }
                  " />
              </template>
            </el-table-column>
@@ -320,7 +325,8 @@
  getdownloadYX,
  getdownloadBX,
  checkfund,
  listbypower, addFundSharedInfo
  listbypower,
  addFundSharedInfo
} from "@/api/project/fund";
import {
  onelistFunds,
@@ -334,13 +340,13 @@
  exportFunddetail,
  getItemNames,
  getFundType,
  getFundTypeAll,
  getFundTypeAll
} from "@/api/project/funddetail";
import {
  listOrganization,
  getOrganization,
  listReportname,
  listUser,
  listUser
} from "@/api/project/organization";
import {
  listFundflow,
@@ -348,7 +354,7 @@
  delFundflow,
  addFundflow,
  updateFundflow,
  exportFundflow,
  exportFundflow
} from "@/api/project/fundflow";
import {
@@ -358,11 +364,11 @@
  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";
@@ -371,7 +377,7 @@
export default {
  components: {
    Li_area_select,
    OrgSelecter,
    OrgSelecter
  },
  name: "Donateconsolationfund",
  dicts: [
@@ -384,7 +390,7 @@
    "sys_ConsolationType",
    "sys_fund_type",
    "sys_finsubject",
    "sys_financeitemtype",
    "sys_financeitemtype"
  ],
  data() {
    return {
@@ -396,7 +402,7 @@
      newobj: {
        flowlevelone: null,
        flowconclusion: null,
        fundid: null,
        fundid: null
      },
      showFirstapprovelevel: false,
      showSecondapprovelevel: false,
@@ -405,7 +411,7 @@
        sheng: "",
        shi: "",
        qu: "",
        organizationname: null,
        organizationname: null
      },
      openbtn: true,
      isopen: 0,
@@ -447,16 +453,16 @@
      checkFlagOptions: [
        {
          value: 0,
          label: "已审批",
          label: "已审批"
        },
        {
          value: 1,
          label: "待审批",
          label: "待审批"
        },
        {
          value: 2,
          label: "全部",
        },
          label: "全部"
        }
      ],
      // 查询参数
      queryParams: {
@@ -467,20 +473,21 @@
        APPLICATIONENDTIME: null,
        CHECKFLAG: 1,
        APPLYTYPE: 2,
        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: {},
@@ -506,8 +513,8 @@
          hsfbx: null,
          hsfbz: null,
          total: null,
          title: null,
        },
          title: null
        }
      ],
      fundDetailArr: [],
      fundflowList: [],
@@ -527,7 +534,7 @@
        { name: "捐献者医学成本" },
        { name: "捐献者善后成本" },
        { name: "捐献伦理委员会劳务发放表" },
        { name: "捐献者家属交通食宿费" },
        { name: "捐献者家属交通食宿费" }
      ],
      itemArr: [],
      allnum: [],
@@ -535,7 +542,7 @@
      approveLevel: 5,
      show: 0,
      fundtypeArrAll: [],
      dialogType: "show",
      dialogType: "show"
    };
  },
  watch: {},
@@ -560,7 +567,7 @@
    },
    getlistbypower() {
      this.loading = true;
      listbypower(this.queryParams).then((res) => {
      listbypower(this.queryParams).then(res => {
        //console.log("根据权限显示列表", res);
        this.loading = false;
        let list = res.rows;
@@ -575,7 +582,7 @@
      let checkfundobj = {
        flowconclusion: this.newobj.flowlevelone,
        flowcontent: this.newobj.flowconclusion,
        fundid: this.newobj.fundid,
        fundid: this.newobj.fundid
      };
      if (
        checkfundobj.flowconclusion == null ||
@@ -585,7 +592,7 @@
        this.$modal.msgError("请选择审核结论!");
        return;
      }
      checkfund(checkfundobj).then((res) => {
      checkfund(checkfundobj).then(res => {
        console.log("审核费用", res);
        this.dialogOpen = false;
        this.reset();
@@ -595,7 +602,7 @@
    },
    getlistUser() {
      this.queryParams = {};
      listUser(this.queryParams).then((res) => {
      listUser(this.queryParams).then(res => {
        this.userlist = res.data;
      });
    },
@@ -607,7 +614,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" //需要显示和合计纵列
        ) {
@@ -627,12 +634,12 @@
    },
    getlistOrganization() {
      listOrganization().then((res) => { });
      listOrganization().then(res => { });
    },
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then((res) => {
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
          //获取当前网址
@@ -646,7 +653,7 @@
          aEle.click();
          this.$alert("下载成功", "提示", {
            confirmButtonText: "确定",
            type: "success",
            type: "success"
          });
        }
      });
@@ -658,12 +665,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;
@@ -681,12 +688,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;
@@ -713,7 +720,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;
@@ -722,9 +729,9 @@
    //动态计算税前金额
    change(scope) { },
    autodonorno() {
      listDonatebaseinfo().then((res) => {
      listDonatebaseinfo().then(res => {
        // console.log("所有捐献者列表:",res);
        res.rows.forEach((data) => {
        res.rows.forEach(data => {
          // console.log("data:",data);
          if (this.form.doname === data.name) {
            this.form.donorno = data.donorno;
@@ -744,7 +751,7 @@
      this.loading = true;
      this.reset();
      var infoid = this.curCase.id;
      listFund().then((response) => {
      listFund().then(response => {
        console.log("获取数据", response);
        this.loading = false;
        this.donateconsolationfundList = response.rows;
@@ -812,7 +819,7 @@
        annexbankcard: null,
        annexregistform: null,
        consolationmoney: null,
        applytype: "2",
        applytype: "2"
      };
      this.resetForm("form");
    },
@@ -832,7 +839,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;
    },
@@ -857,12 +864,12 @@
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]),
          message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")])
        });
      }
    },
    /** 修改按钮操作 */
    handleCheck(row) {
    handleCheck(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
@@ -886,16 +893,16 @@
      //加载审核记录
      let listFundflowparams = {
        fundid: row.id,
        fundtype: 2,
        fundtype: 2
      };
      listFundflow(listFundflowparams).then((res) => {
      listFundflow(listFundflowparams).then(res => {
        this.fundflowList = res.rows;
      });
      getFund(id).then((response) => {
      getFund(id).then(response => {
        this.form = response.data;
        this.form.name = this.curCase.name;
        console.log("applytype", this.form.applytype);
        getownFundDetail(id).then((res) => {
        getownFundDetail(id).then(res => {
          console.log("查询明细记录:", res);
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
@@ -910,9 +917,9 @@
      const infoid = this.curCase.id;
      const aaa = {
        infoid: infoid,
        count: this.idss,
        count: this.idss
      };
      listFunddetails(aaa).then((res) => { });
      listFunddetails(aaa).then(res => { });
    },
    //初始化费用申请表单界面
@@ -954,8 +961,8 @@
          updateBy: null,
          updateTime: null,
          uploadflag: null,
          uploadtime: null,
        },
          uploadtime: null
        }
      ];
    },
@@ -1000,7 +1007,7 @@
        updateTime: null,
        uploadflag: null,
        uploadtime: null,
        itemArr: [],
        itemArr: []
      };
      this.fundDetailArr.push(rowData);
    },
@@ -1009,19 +1016,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();
                  });
@@ -1047,23 +1054,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;
@@ -1076,17 +1081,17 @@
            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;
                this.loading = false;
              });
            });
          } 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;
                this.loading = false;
@@ -1103,10 +1108,10 @@
      this.$confirm("是否确认保存?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          updateFunddetail(this.fundDetailArr).then((res) => {
          updateFunddetail(this.fundDetailArr).then(res => {
            console.log("牛丸牛啊", res);
          });
        })
@@ -1145,7 +1150,7 @@
    //加载服务项目
    LoadItemTypeArr(row) {
      let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype);
      let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype);
      row.itemArr = list[0].itemDetails;
      row.itemid = null;
      this.$forceUpdate();
@@ -1160,7 +1165,7 @@
    //获取费用类型
    getCurFundType() {
      getFundTypeAll(2).then((res) => {
      getFundTypeAll(2).then(res => {
        console.log("费用类型", res.data);
        let dataList = res.data;
        this.fundtypeArrAll = dataList;
@@ -1168,14 +1173,14 @@
        for (let m = 0; m < dataList.length; m++) {
          this.fundtypeArr.push({
            value: dataList[m].itemType,
            label: dataList[m].itemTypeName,
            label: dataList[m].itemTypeName
          });
        }
      });
    },
    getItemArr(rowindex, row) {
      let list = this.fundtypeArrAll.filter((r) => r.itemType == row.applytype);
      let list = this.fundtypeArrAll.filter(r => r.itemType == row.applytype);
      row.itemArr = list[0].itemDetails;
      this.$set(this.fundDetailArr, rowindex, row);
      //this.loading = true;
@@ -1192,7 +1197,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);
          console.log("adadadadasdsad", this.arrr3, this.userlist);
@@ -1201,7 +1206,7 @@
    },
    selectpersonmsg(row) {
      this.personlist.map((res) => {
      this.personlist.map(res => {
        if (row.beneficiaryname == res.username) {
          row.beneficiaryno = res.userno;
          row.beneficiaryname = res.username;
@@ -1221,7 +1226,7 @@
    },
    getlistExternalperson() {
      listExternalperson().then((res) => {
      listExternalperson().then(res => {
        this.personlist = res.rows;
      });
    },
@@ -1274,7 +1279,7 @@
    },
    getUsermsg() {
      getUserProfile().then((response) => {
      getUserProfile().then(response => {
        console.log("登录用户信息", response.data);
        // this.defaultperson = response.data;
        // this.standardlevel = response.data.standardlevel;
@@ -1292,7 +1297,7 @@
    },
    //查看审核详情
    handleDetail(row) {
    handleDetail(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
@@ -1314,16 +1319,16 @@
      //加载审核记录
      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;
        console.log("applytype", this.form.applytype);
        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 = [];
@@ -1364,7 +1369,7 @@
      if (this.form.id) {
        const id = this.form.id;
        console.log(id);
        getdownloadLW(id).then((res) => {
        getdownloadLW(id).then(res => {
          if (res.downloadUrl) {
            var fileUrl = res;
            //获取当前网址
@@ -1378,14 +1383,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1393,7 +1398,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;
            //获取当前网址
@@ -1407,14 +1412,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1422,7 +1427,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;
            //获取当前网址
@@ -1436,14 +1441,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1451,7 +1456,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;
            //获取当前网址
@@ -1465,14 +1470,14 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
        });
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
@@ -1486,7 +1491,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;
            //获取当前网址
@@ -1500,7 +1505,7 @@
            aEle.click();
            this.$alert("下载成功", "提示", {
              confirmButtonText: "确定",
              type: "success",
              type: "success"
            });
          }
          console.log("家属伙食交通费", res);
@@ -1508,10 +1513,10 @@
      } else {
        this.$alert("请确认您要下载的专家劳务表", "提醒", {
          confirmButtonText: "确定",
          type: "warning",
          type: "warning"
        });
      }
    },
  },
    }
  }
};
</script>