yxh
yxh
2023-08-12 126d60e2b14c47d390ec05b584b3504465a293d3
yxh
已修改8个文件
2999 ■■■■■ 文件已修改
src/views/project/fund/applyDetail/index.vue 379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/ethicalExpertFeeApply/index.vue 713 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/expertFeeApply/index.vue 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/medicalCostApply/index.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/officeExpenseApply/index.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fundcheck/medicalCostCheck/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/travelexpenseapply/index.vue 970 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/travelexpenseapply/travelexpensedetail/index.vue 788 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/applyDetail/index.vue
@@ -99,7 +99,7 @@
        <el-row style="margin-top: 5px; margin-bottom: 5px" />
        <el-row style="margin-bottom: 10px" v-if="businessType == '1'">
          <el-col :span="4">
            <el-button @click.native.prevent="addAllItems" type="primary" size="small">
            <el-button @click.native.prevent="importFeeItems" type="primary" size="small">
              导入服务项目
            </el-button>
          </el-col>
@@ -111,29 +111,30 @@
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <el-table-column prop="applytype" align="center" label="费用类型" width="200">
            <!--
            <el-table-column prop="itemcode" align="center" label="项目编号" show-overflow-tooltip=""
              v-if="form.applytype == '1'">
            </el-table-column>-->
            <el-table-column prop="applytype" align="center" label="服务类型" width="200">
              <template slot-scope="scope">
                <el-select v-model="scope.row.applytype" placeholder="费用类型" @change="loadItemType(scope.row)">
                <el-select v-model="scope.row.applytype" placeholder="服务类型" @change="loadFeeItems(scope.row)">
                  <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="itemid" align="center" label="费用项目" width="260">
            <el-table-column prop="itemid" align="center" label="服务项目" width="260">
              <template slot-scope="scope">
                <el-select v-model="scope.row.itemid" placeholder="费用项目" filterable @change="verifyFeeItem(scope.row)"
                <el-select v-model="scope.row.itemid" placeholder="服务项目" filterable @change="verifyFeeItem(scope.row)"
                  :filter-method="val => searchItemType(val, scope)">
                  <el-option v-for="dict in scope.row.itemlist" :key="dict.index" :label="dict.itemName"
                    :value="dict.id"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="itemcode" align="center" label="项目编号" show-overflow-tooltip=""
              v-if="form.applytype == '1'">
            </el-table-column>
            <el-table-column prop="servicesscope" align="center" label="费用说明" v-if="form.applytype == '1'" width="180">
            <el-table-column prop="servicesscope" align="center" label="服务说明" v-if="form.applytype == '1'" width="180">
              <template slot-scope="scope">
                <el-select v-model="scope.row.servicesscope" placeholder="费用说明" clearable allow-create filterable
                <el-select v-model="scope.row.servicesscope" placeholder="服务说明" clearable allow-create filterable
                  @change="selectedRemark(scope.row)">
                  <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark"
                    :value="dict.servicesscope"></el-option>
@@ -176,17 +177,17 @@
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" />
              </template>
            </el-table-column>
            <el-table-column prop="beneficiaryname" align="center" label="姓名" width="100"
            <el-table-column prop="beneficiaryname" align="center" label="姓名" width="120"
              v-if="form.applytype == '1' || form.applytype == '2'">
              <template slot-scope="scope">
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'expert')">{{ scope.row.beneficiaryname
                }}</el-button>
                <!-- <el-select
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  @change="selectpersonmsg(scope.row)"
                  @change="selectExpert(scope.row)"
                  v-model="scope.row.beneficiaryname"
                  placeholder="请选择"
                >
@@ -200,7 +201,7 @@
                                      </el-select> -->
              </template>
            </el-table-column>
            <el-table-column prop="unitno" align="center" label="单位名称" v-if="form.applytype != '4'">
            <el-table-column prop="unitno" align="center" label="单位名称" width="250">
              <template slot-scope="scope">
                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname
                }}</el-button>
@@ -347,18 +348,18 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm" v-if="operationType == 'add' || operationType == 'update'">保
          存</el-button>
        <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">保 存</el-button>
        <el-button @click="cancel" v-if="operationType == 'detail'">退 出</el-button>
        <el-button type="primary" @click="submitForm"
          v-if="operationType == 'add' || operationType == 'update'">提交保存</el-button>
        <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提交审核</el-button>
        <el-button @click="cancel">关 闭</el-button>
      </div>
    </div>
    <el-dialog :visible.sync="showDetailInfoDialog" :close-on-click-modal="false" :title="'单位/专家信息选择'" width="500px"
    <el-dialog :visible.sync="showSelectionDialog" :close-on-click-modal="false" :title="'单位/专家信息选择'" width="500px"
      style="text-align: center" v-loading="loading">
      <el-form ref="funddetailForm" :model="funddetailForm">
        <el-row>
          <el-col :span="24" v-if="showDetailInfoType == 'name'">
          <el-col :span="24" v-if="selectionType == 'expert'">
            <el-form-item label="请选择专家信息:" prop="expertfrom">
              <el-radio-group v-model="expertfrom" style="margin-bottom: 0">
                <el-radio label="1">专家库</el-radio>
@@ -366,17 +367,17 @@
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="showDetailInfoType == 'name' && expertfrom == '1'">
          <el-col :span="24" v-if="selectionType == 'expert' && expertfrom == '1'">
            <el-form-item label="专家姓名" prop="beneficiaryname" label-width="80px">
              <el-select filterable allow-create ref="beneficiaryname" default-first-option
                v-model="funddetailForm.beneficiaryname" placeholder="请选择" style="width: 100%">
                <el-option v-for="item in expertlist" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportName">
                <el-option v-for="item in expertlist" :key="item.expertNo" :label="item.exportName"
                  :value="item.exportName">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24" v-if="showDetailInfoType == 'unit'">
          <el-col :span="24" v-if="selectionType == 'unit'">
            <el-form-item label="单位名称" prop="unitno" label-width="120px" v-if="businessType == 1 || businessType == 2">
              <el-select v-model="funddetailForm.unitno" placeholder="单位名称" clearable filterable allow-create
                style="width: 100%">
@@ -450,7 +451,7 @@
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="showDetailInfoDialog = false">取 消</el-button>
        <el-button @click="showSelectionDialog = false">取 消</el-button>
        <el-button type="primary" @click="ConfirmDetailDialog()">确 定</el-button>
      </span>
    </el-dialog>
@@ -627,11 +628,9 @@
      //专家费选择:1是专家库,2是新增
      expertfrom: "1",
      //捐献案例列表数据
      donatebaseinfoList: [],
      //捐献案例列表
      donateList: [],
      // 捐献人道慰问金表格数据
      donateconsolationfundList: [],
      //费用明细列表
      rbDetails: [],
      formData: {},
@@ -640,17 +639,21 @@
      totalAfterTaxAmount: 0.0,
      totalAmount: 0.0,
      //行记录的费用类型数组
      rowfeeItemTypes: [],
      //费用类型数组
      feeItemTypes: [],
      //行记录的费用类型数组
      rowfeeItemTypes: [],
      //费用说明
      rowfeeblocks: [],
      fundflowList: [],
      showDetailInfoDialog: false,
      showDetailInfoType: "",
      //专家/单位选择:expert/unit
      selectionType: "",
      showSelectionDialog: false,
      // 表单校验
      rules: {
@@ -777,30 +780,6 @@
  computed: {},
  //监控data中的数据变化
  watch: {},
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
    //获取路由参数
    this.getroute();
    this.getUserProfile();
    this.getFeeUnitList();
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
    this.getUserList();
    this.getBaseInfoList();
    this.getExternalList();
  },
  beforeCreate() { }, //生命周期 - 创建之前
  beforeMount() { }, //生命周期 - 挂载之前
  beforeUpdate() { }, //生命周期 - 更新之前
  updated() { }, //生命周期 - 更新之后
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发
  //方法集合
  methods: {
    // 表单重置
@@ -858,35 +837,46 @@
      this.curId = this.$route.query.id;
      this.businessType = this.$route.query.businessType;
      this.operationType = this.$route.query.operationType;
      console.log(this.businessType, this.operationType);
      //获取费用项目类型
      this.getFundType();
      this.getFeeTypes();
      // if (!this.businessType && !this.operationType) {
      if (this.businessType == "1") {
        this.curCase = this.$route.query.curCase;
        this.businessName = "专家劳务费申请单";
      } else if (this.businessType == "2") {
        this.businessName = "专家劳务费申请单"
        this.getUnitList();
      }
      else if (this.businessType == "2") {
        this.curCase = this.$route.query.curCase;
        this.businessName = "伦理专家劳务费申请单";
      } else if (this.businessType == "3") {
        if (this.operationType != "check") { this.curCase = this.$route.query.curCase; }
        this.getUnitList();
      }
      else if (this.businessType == "3") {
        if (this.operationType != "check") {
          this.curCase = this.$route.query.curCase;
        }
        this.businessName = "医学成本报销单";
      } else if (this.businessType == "4") {
        this.businessName = "杂项费用报销单";
      }
      else if (this.businessType == "4") {
        this.businessName = "办公费用报销单";
        // this.getBaseInfoList();
      }
      if (this.operationType == "add") {
        this.title = this.businessName + "新建";
        this.handleAdd();
      } else if (this.operationType == "update") {
      }
      else if (this.operationType == "update") {
        this.title = this.businessName + "修改";
        this.handleUpdate();
      } else if (this.operationType == "detail") {
      }
      else if (this.operationType == "detail") {
        this.title = this.businessName + "查看";
        this.handleDetail();
      } else if (this.operationType == "check") {
      }
      else if (this.operationType == "check") {
        this.title = this.businessName + "审核";
        this.handleCheck();
      }
@@ -902,7 +892,7 @@
      this.istrue += 2;
      this.reset();
      /** businessType:1:专家费;2:伦理专家费;3:医学成本;4:杂项费用*/
      /** businessType:1:专家费;2:伦理专家费;3:医学成本;4:办公费用*/
      this.form.applytype = this.businessType;
      if (
        this.businessType == "1" ||
@@ -941,7 +931,7 @@
          if (this.rbDetails.length > 0) {
            for (let m = 0; m < this.rbDetails.length; m++) {
              this.rbDetails[m].itemlist = [];
              this.getitemlist(m, this.rbDetails[m]);
              this.getFeeItems(m, this.rbDetails[m]);
              //获取费用项目的详细信息
              this.rbDetails[m].rowfeeblocks = [];
@@ -981,11 +971,10 @@
        //业务明细
        getownFundDetail(this.curId).then(res => {
          console.log(res);
          this.rbDetails = res.data;
          for (let m = 0; m < this.rbDetails.length; m++) {
            this.rbDetails[m].itemlist = [];
            this.getitemlist(m, this.rbDetails[m]);
            this.getFeeItems(m, this.rbDetails[m]);
            this.rbDetails[m].rowfeeblocks = [];
            this.rbDetails[m].rowfeeblocks.push({
              expense: this.rbDetails[m].expense,
@@ -1024,7 +1013,7 @@
          this.rbDetails = res.data;
          for (let m = 0; m < this.rbDetails.length; m++) {
            this.rbDetails[m].itemlist = [];
            this.getitemlist(m, this.rbDetails[m]);
            this.getFeeItems(m, this.rbDetails[m]);
            this.rbDetails[m].rowfeeblocks = [];
            this.rbDetails[m].rowfeeblocks.push({
              expense: this.rbDetails[m].expense,
@@ -1127,7 +1116,7 @@
              return;
            }
            if (this.businessType == "1" || this.businessType == "2") {
            if (this.businessType == "1") {
              if (tempDetail.servicesscope == null) {
                this.$modal.msgWarning(
                  "服务项目表中,第" +
@@ -1137,7 +1126,7 @@
                return;
              }
              if (tempDetail.beneficiaryno == null) {
              if (tempDetail.beneficiaryno == null || tempDetail.beneficiaryno == "点击选择") {
                this.$modal.msgWarning(
                  "服务项目表中,第" +
                  (k + 1).toString() +
@@ -1146,6 +1135,7 @@
                return;
              }
            }
            // //判断单位 unitSel
            // try {
            //   let unitIndex = this.unitList.findIndex(
@@ -1163,7 +1153,6 @@
          //附件处理
          let list = this.fileList;
          console.log(list);
          // if (list.length > 0) {
          //   this.form.annexfiles = list.map(item => item.url).join(",");
          // }
@@ -1280,7 +1269,6 @@
          addorupdateFund(this.form).then(response => {
            if (response.code === 200) {
              this.selectDonotor(this.curCase);
              this.$modal.msgSuccess("申请单保存成功!");
            } else {
              this.$modal.msgError("申请单保存失败:" + response.msg);
@@ -1290,7 +1278,6 @@
          //关闭窗口
          // this.loading = false;
          // this.getfundList();
          // this.selectDonotor(this.curCase);
          this.$router.go(-1);
        }
      });
@@ -1330,23 +1317,18 @@
        } else {
          this.ismanager = false;
        }
        // this.form.applytype = this.businessType;
        // this.form.createTime = new Date();
        this.form.username = this.userprofile.nickName;
        this.form.userno = this.userprofile.userName;
        this.form.phone = this.userprofile.phonenumber;
        this.form.deptmentname = this.userprofile.dept.deptName;
        this.form.deptmentno = this.userprofile.dept.deptId;
        this.form.managername = this.userprofile.dept.leader;
        // this.form.applytype = this.businessType;
        // this.form.createTime = new Date();
      });
    },
    //获取系统用户列表
    getUserList() {
      listUser().then(res => {
        this.userlist = res.data;
      });
    }, //获取系统用户列表
    getUserList() {
      listUser().then(res => {
        this.userlist = res.data;
@@ -1418,8 +1400,18 @@
      });
    },
    //获取捐献案例列表
    getBaseInfoList() {
      this.loading = true;
      listDonatebaseinfo(this.queryParams).then(response => {
        this.donateList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    //获取费用类型
    getFundType() {
    getFeeTypes() {
      getFundTypeAll(this.businessType).then(res => {
        let dataList = res.data;
        this.feeItemTypes = dataList;
@@ -1435,7 +1427,7 @@
      });
    },
    getitemlist(rowindex, row) {
    getFeeItems(rowindex, row) {
      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
      row.itemlist = list[0].itemDetails;
      this.$set(this.rbDetails, rowindex, row);
@@ -1447,24 +1439,19 @@
      // });
    },
    //获取捐献案例列表
    getBaseInfoList() {
      this.loading = true;
      listDonatebaseinfo(this.queryParams).then(response => {
        this.donatebaseinfoList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    //获取申请单信息
    getfundList() {
      this.loading = true;
      this.reset();
      this.fundQueryParam.infoid = this.curCase.id;
      listFund(this.fundQueryParam).then(response => {
        this.loading = false;
        this.donateconsolationfundList = response.rows;
      });
    //加载服务项目
    loadFeeItems(row) {
      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
      row.itemlist = list[0].itemDetails;
      row.itemid = null;
      this.$forceUpdate();
      //this.loading = true;
      // getItemNames(row.applytype).then((res) => {
      //   this.loading = false;
      //   row.itemid = null;
      //   row.itemlist = res.data;
      //   this.$forceUpdate();
      // });
    },
    //获取费用项目的备注信息
@@ -1527,6 +1514,27 @@
      });
    },
    //筛查出对应的费用项目
    searchItemType(val, scope) {
      let result = [];
      if (val != "") {
        let tempitemlist = scope.row.itemlist;
        for (let i = 0; i < tempitemlist.length; i++) {
          let pym = tempitemlist[i].itempinyin;
          if (pym != null && pym != undefined && pym != "") {
            if (pym.indexOf(val) != -1) {
              result.push(tempitemlist[i]);
            }
          }
        }
        scope.row.itemlist = result;
      } else {
        getItemNames(scope.row.applytype).then(res => {
          scope.row.itemlist = res.data;
          //this.$set(this.rbDetails, rowindex, row);
        });
      }
    },
    //合计费用
    selectamount(row) {
      this.rowfeeblocks.forEach((item, i) => {
@@ -1536,14 +1544,28 @@
      });
    },
    //点击捐献案例列表触发方法
    selectDonotor(row, column, event) {
      this.curCase = row;
      this.getfundList();
    selectExpert(row) {
      // if(row.beneficiaryname)
      this.personlist.map(res => {
        if (row.beneficiaryname == res.username) {
          row.beneficiaryno = res.userno;
          row.beneficiaryname = res.username;
          row.bankcardno = res.bankcardno;
          row.branchbankname = res.branchbankname;
          row.depositbank = res.depositbank;
          row.idcardno = res.idcardno;
          row.phone = res.phonenumber;
          row.title = res.title;
          row.unitname = res.unitname;
          row.unitno = res.unitno;
        } else {
          row.beneficiaryno = row.beneficiaryname;
        }
      });
    },
    //导入所有项目
    addAllItems() {
    importFeeItems() {
      this.loading = true;
      this.rbDetails = this.rbDetails.filter(
        r => r.applytype != "" && r.applytype != null
@@ -1610,32 +1632,6 @@
      // });
    },
    addAll(row, i, arr) {
      row.itemlist.map(res => {
        if (res.id !== row.itemid) {
          let a = arr.length;
          this.addRow();
          arr[a].itemlist = row.itemlist;
          arr[a].applytype = row.applytype;
          arr[a].itemid = res.id;
          getdetailsByItemId(arr[a].itemid).then(res => {
            let fundmsg = res.data;
            let rowfeeblocks = [];
            fundmsg.forEach(item => {
              rowfeeblocks.push({
                expense: item.expense,
                expensedescribe: item.expensedescribe,
                remark: item.expensedescribe,
                servicesscope: item.id
              });
            });
            row.rowfeeblocks = rowfeeblocks;
          });
        }
      });
    },
    //新增一行
    addRow(rowIndex) {
      let rowData = {
@@ -1689,63 +1685,6 @@
      }
      for (let i = 0; i < this.rbDetails.length; i++) {
        this.rbDetails[i].orderno = i + 1;
      }
    },
    //加载服务项目
    loadItemType(row) {
      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
      row.itemlist = list[0].itemDetails;
      row.itemid = null;
      this.$forceUpdate();
      //this.loading = true;
      // getItemNames(row.applytype).then((res) => {
      //   this.loading = false;
      //   row.itemid = null;
      //   row.itemlist = res.data;
      //   this.$forceUpdate();
      // });
    },
    selectpersonmsg(row) {
      // if(row.beneficiaryname)
      this.personlist.map(res => {
        if (row.beneficiaryname == res.username) {
          row.beneficiaryno = res.userno;
          row.beneficiaryname = res.username;
          row.bankcardno = res.bankcardno;
          row.branchbankname = res.branchbankname;
          row.depositbank = res.depositbank;
          row.idcardno = res.idcardno;
          row.phone = res.phonenumber;
          row.title = res.title;
          row.unitname = res.unitname;
          row.unitno = res.unitno;
        } else {
          row.beneficiaryno = row.beneficiaryname;
        }
      });
    },
    //筛查出对应的费用项目
    searchItemType(val, scope) {
      let result = [];
      if (val != "") {
        let tempitemlist = scope.row.itemlist;
        for (let i = 0; i < tempitemlist.length; i++) {
          let pym = tempitemlist[i].itempinyin;
          if (pym != null && pym != undefined && pym != "") {
            if (pym.indexOf(val) != -1) {
              result.push(tempitemlist[i]);
            }
          }
        }
        scope.row.itemlist = result;
      } else {
        getItemNames(scope.row.applytype).then(res => {
          scope.row.itemlist = res.data;
          //this.$set(this.rbDetails, rowindex, row);
        });
      }
    },
@@ -1840,12 +1779,12 @@
    },
    mixExport(scope) {
      this.dayin(scope.row.id);
      //this.totaldayin(id);
      this.print(scope.row.id);
      //this.totalprint(id);
    },
    //专家费劳务打印
    dayin(id) {
    print(id) {
      getdownloadLW(id).then(res => {
        if (res.downloadUrl) {
          var fileUrl = res;
@@ -1867,7 +1806,7 @@
    },
    //汇总打印
    totaldayin(e) {
    totalprint(e) {
      // const id =this.row.id
      getdownloadBX(e).then(res => {
        if (res.downloadUrl) {
@@ -1977,10 +1916,12 @@
    //专家/医疗机构/费用报销机构选择
    ShowDetailDialog(spoce, showType) {
      this.selectionType = showType;
      this.expertfrom = "1";
      this.funddetailForm.index = spoce.$index;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
      this.funddetailForm.unitno = spoce.row.unitno;
      this.funddetailForm.unitname = spoce.row.unitname;
      this.funddetailForm.expertname = "";
@@ -1991,22 +1932,21 @@
      this.funddetailForm.expertdepositbank = "";
      this.funddetailForm.expertbankcardno = "";
      this.showDetailInfoDialog = true;
      this.showDetailInfoType = showType;
      this.showSelectionDialog = true;
    },
    //专家/医疗机构/费用报销机构选择
    ConfirmDetailDialog() {
      let tempIndex = this.funddetailForm.index;
      let tempName = this.funddetailForm.beneficiaryname;
      let tempExpertName = this.funddetailForm.beneficiaryname;
      let tempUnitname = this.funddetailForm.unitname;
      let singleDetail = this.rbDetails[tempIndex];
      if (this.showDetailInfoType == "name") {
      if (this.selectionType == "expert") {
        if (this.expertfrom == "1") {
          //从专家列表获取信息
          this.personlist.map(res => {
            if (tempName == res.username) {
            if (tempExpertName == res.username) {
              singleDetail.beneficiaryno = res.userno;
              singleDetail.beneficiaryname = res.username;
              singleDetail.bankcardno = res.bankcardno;
@@ -2022,8 +1962,7 @@
        } else {
          //保存新增专家
          this.expertform.id = null;
          this.expertform.userno =
            this.personlist[this.personlist.length - 1].id + 1;
          this.expertform.userno = this.personlist[this.personlist.length - 1].id + 1;
          this.expertform.usertype = "expert";
          this.expertform.username = this.funddetailForm.expertname;
          this.expertform.idcardno = this.funddetailForm.expertidcardno;
@@ -2082,7 +2021,7 @@
            }
          });
        }
      } else if (this.showDetailInfoType == "unit") {
      } else if (this.selectionType == "unit") {
        singleDetail.unitno = this.funddetailForm.unitno;
        if (this.businessType == 1 || this.businessType == 2) {
          try {
@@ -2119,9 +2058,31 @@
      }
      this.rbDetails[tempIndex] = singleDetail;
      this.showDetailInfoDialog = false;
    }
  }
      this.showSelectionDialog = false;
    },
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
    //获取路由参数
    this.getroute();
    this.getUserProfile();
    this.getUserList();
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
    this.getExternalList();
    // this.getFeeUnitList();
  },
  beforeCreate() { }, //生命周期 - 创建之前
  beforeMount() { }, //生命周期 - 挂载之前
  beforeUpdate() { }, //生命周期 - 更新之前
  updated() { }, //生命周期 - 更新之后
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
src/views/project/fund/ethicalExpertFeeApply/index.vue
@@ -51,10 +51,6 @@
        <el-card shadow="naver">
          <el-form ref="infoform" label-width="100px">
            <el-row :gutter="4" align="right" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:ethicalfund:add']">伦理审查专家费申请</el-button>
              </el-col>
              <el-col :span="9">
                <el-form-item label="捐献编号">
                  <el-input v-model="curCase.donorno" :disabled="true"></el-input>
@@ -65,7 +61,12 @@
                  <el-input v-model="curCase.name" :disabled="true"></el-input>
                </el-form-item>
              </el-col>
              <el-col> </el-col>
            </el-row>
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:ethicalfund:add']">新增申请单</el-button>
              </el-col>
            </el-row>
            <el-row>
              <el-table v-loading="loading" border :data="donateconsolationfundList">
@@ -373,8 +374,8 @@
        <el-row>
          <el-col :span="24">
            <el-form-item label="申请附件:" align="left" prop="annexbankcard">
              <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="20"
                :headers="headers" :on-success="(response, file, fileList) =>
              <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-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
@@ -612,62 +613,186 @@
      },
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  //方法集合
  methods: {
    ShowDetailDialog(spoce, showType) {
      this.funddetailForm.index = spoce.$index;
      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
      this.funddetailForm.unitno = spoce.row.unitno;
      this.funddetailForm.unitname = spoce.row.unitname;
      this.detailInfoDialogShow = true;
      this.detailInfoDialogShowType = showType;
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    ConfirmDetailDialog() {
      let tempIndex = this.funddetailForm.index;
      let tempName = this.funddetailForm.beneficiaryname;
      let tempUnitname = this.funddetailForm.unitname;
      let singleDetail = this.fundDetailArr[tempIndex];
      if (this.detailInfoDialogShowType == "name") {
        this.personlist.map((res) => {
          if (tempName == res.username) {
            singleDetail.beneficiaryno = res.userno;
            singleDetail.beneficiaryname = res.username;
            singleDetail.bankcardno = res.bankcardno;
            singleDetail.branchbankname = res.branchbankname;
            singleDetail.depositbank = res.depositbank;
            singleDetail.idcardno = res.idcardno;
            singleDetail.phone = res.telephone;
            singleDetail.title = res.title;
            singleDetail.unitname = res.unitname;
            singleDetail.unitno = parseInt(res.unitno);
          } else {
            singleDetail.beneficiaryname = tempName;
            singleDetail.beneficiaryno = tempName;
    /** 重置按钮操作 */
    resetQuery() {
      this.daterangeReporttime = [];
      this.resetForm("queryForm");
      this.handleQuery();
    },
    /** 新增按钮操作 */
    handleAdd() {
      if (this.curCase.id) {
        this.$router.push({
          path: "/finance/applyDetail/",
          query: {
            id: 0,
            businessType: "2",
            operationType: "add",
            curCase: this.curCase
          }
        });
      } else if (this.detailInfoDialogShowType == "unit") {
        singleDetail.unitno = this.funddetailForm.unitno;
        try {
          let unitIndex = this.unitList.findIndex(
            (item) => singleDetail.unitno == item.organizationid
          );
          if (unitIndex > -1) {
            singleDetail.unitname = this.unitList[unitIndex].organizationname;
          } else {
            singleDetail.unitname = singleDetail.unitno;
          }
        } catch {
          singleDetail.unitname = singleDetail.unitno;
        }
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请在左边的捐献案例表选择需要操作的案例!")]),
        });
      }
      this.fundDetailArr[tempIndex] = singleDetail;
      this.detailInfoDialogShow = false;
      return;
      if (this.curCase.id) {
        this.istrue += 2;
        this.reset();
        this.dialogOpen = true;
        this.title = "添加费用申请";
        this.dialogType = "edit";
        this.queryParams.params = {};
        this.form.infoid = this.curCase.id;
        this.form.donorno = this.curCase.donorno;
        this.form.donorname = this.curCase.name;
        this.form.username = this.defaultperson.nickName;
        this.form.userno = this.defaultperson.userName;
        this.form.deptmentname = this.defaultperson.dept.deptName;
        this.form.deptmentno = this.defaultperson.dept.deptId;
        this.form.managername = this.defaultperson.dept.leader;
        // this.form.createTime = nowdate;
        //this.open = true;
        //this.initFundApplyForm();
        this.fundDetailArr = [];
        this.fundflowList = [];
        this.addRow();
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]),
        });
      }
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: row.id,
          businessType: "2",
          operationType: "update",
          curCase: this.curCase
        }
      });
      return;
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
      this.dialogOpen = true;
      this.title = "修改费用申请";
      this.dialogType = "edit";
      const id = row.id || this.ids;
      getFund(id).then((response) => {
        this.form = response.data;
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        getownFundDetail(id).then(async (res) => {
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
            this.fundDetailArr[m].itemArr = [];
            this.getItemArr(m, this.fundDetailArr[m]);
          }
        });
      });
    },
    /** 查看按钮操作 */
    handleDetail(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: row.id,
          businessType: "2",
          operationType: "detail",
          curCase: this.curCase
        }
      });
      return;
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
      this.dialogOpen = true;
      this.title = "查看费用申请";
      this.dialogType = "detail";
      const id = row.id || this.ids;
      getFund(id).then((response) => {
        this.form = response.data;
        let listFundflowparams = {
          fundid: row.id,
          fundtype: 2,
        };
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        listFundflow(listFundflowparams).then((res) => {
          this.fundflowList = res.rows;
        });
        getownFundDetail(id).then((res) => {
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
            this.fundDetailArr[m].itemArr = [];
            this.getItemArr(m, this.fundDetailArr[m]);
            this.fundDetailArr[m].fundblock = [];
            this.fundDetailArr[m].fundblock.push({
              expense: this.fundDetailArr[m].expense,
              expensedescribe: this.fundDetailArr[m].servicesscopename,
              remark: this.fundDetailArr[m].servicesscope,
              servicesscope: this.fundDetailArr[m].servicesscope,
            });
          }
        });
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该记录?")
        .then(function () {
          return delFund(ids);
        })
        .then(() => {
          getownFundDetail(ids).then((res) => {
            let listdetails = res.data;
            for (let i = 0; i < listdetails.length; i++) {
              delFunddetail(listdetails[i].id);
            }
          });
          // this.getList();
          this.getfundList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
    },
    /** 上报按钮操作 */
    handleup(row) {
      this.$confirm("是否确认将登记记录上报?", "提示", {
        confirmButtonText: "确定",
@@ -701,24 +826,160 @@
          });
        });
    },
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$modal
        .confirm("是否确认导出所有报销申请数据项?")
        .then(() => {
          this.exportLoading = true;
          return exportReimbursement(queryParams);
        })
        .then(response => {
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => { });
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          let formData = this.form;
          let totalPreTaxAmount = 0.0;
          let totalAfterTaxAmount = 0.0;
          let totalAmount = 0.0;
          for (let k = 0; k < this.fundDetailArr.length; k++) {
            let tempDetail = this.fundDetailArr[k];
            if (tempDetail.itemid == null) {
              this.$modal.msgWarning("请选择服务项目");
              return;
            }
            //判断单位 unitSel
            // try {
            //   //获取服务项目明细
            //   let unitIndex = this.unitList.findIndex(
            //     (item) => tempDetail.unitno == item.organizationid
            //   );
            //   if (unitIndex > -1) {
            //     tempDetail.unitname = this.unitList[unitIndex].organizationname;
            //   }
            //   else{
            //     tempDetail.unitname = tempDetail.unitno;
            //   }
            // } catch {
            //   tempDetail.unitname = tempDetail.unitno;
            // }
            if (!isNaN(parseFloat(tempDetail.amount))) {
              totalPreTaxAmount += parseFloat(tempDetail.amount);
              totalAmount += parseFloat(tempDetail.amount);
            }
            if (!isNaN(parseFloat(tempDetail.taxedamount))) {
              totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
              totalAmount += parseFloat(tempDetail.taxedamount);
            }
          }
          try {
            this.form.unitname = this.$refs.orgSelecter.getOptionByValue(
              this.form.unitno
            ).organizationname;
          } catch {
            this.form.treatmenthospitalname = this.form.treatmenthospitalno;
          }
          this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2);
          this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2);
          this.form.amountrequested = totalAmount.toFixed(2);
          this.loading = true;
          //附件处理
          let list = this.fileList;
          if (list.length > 0) {
            this.form.annexbankcard = list.map(item => item.url).join(",");
          }
          if (this.form.id != null) {
            updateFund(this.form).then((response) => {
              this.getfundList();
              this.dialogOpen = false;
              this.getList();
              this.selectDonotor(this.curCase);
              this.$modal.msgSuccess("修改成功");
              this.loading = false;
              for (let m = 0; m < this.fundDetailArr.length; m++) {
                let tempData = this.fundDetailArr[m];
                let tempItemArr = tempData.itemArr;
                tempData.fundid = formData.id;
                //获取服务项目明细
                let itemIndex = tempItemArr.findIndex(
                  (item) => tempData.itemid == item.id
                );
                if (itemIndex > -1) {
                  tempData.itemname = tempItemArr[itemIndex].itemName;
                  tempData.itemid = tempItemArr[itemIndex].id;
                }
                if (tempData.id > 0) {
                  updateFunddetail(tempData).then((response2) => { });
                } else {
                  addFunddetail(tempData).then((response2) => { });
                }
              }
            });
          } else {
            //保存费用申请
            for (let m = 0; m < this.fundDetailArr.length; m++) {
              let tempData = this.fundDetailArr[m];
              let tempUtemArr = tempData.itemArr;
              //获取服务项目明细
              let itemIndex = tempUtemArr.findIndex(
                (item) => tempData.itemid == item.id
              );
              if (itemIndex > -1) {
                tempData.itemname = tempUtemArr[itemIndex].itemName;
                tempData.itemid = tempUtemArr[itemIndex].id;
              }
              //获取applytypename
              let applytypeIndex = this.fundtypeArr.findIndex(
                (item) => tempData.applytype == item.value
              );
              if (applytypeIndex > -1) {
                tempData.applytypename = this.fundtypeArr[applytypeIndex].label;
              }
              this.fundDetailArr[m] = tempData;
            }
            this.form.serviceFunddetails = this.fundDetailArr;
            addorupdateFund(this.form).then((response) => {
              if (response.code === 200) {
                this.$modal.msgSuccess("新增成功");
                this.loading = false;
                this.selectDonotor(this.curCase);
              } else {
                this.$modal.msgError("新增失败:" + response.msg);
                this.loading = false;
              }
            });
            this.dialogOpen = false;
          }
        }
      });
    },
    /** 取消按钮 */
    cancel() {
      this.dialogOpen = false;
      this.reset();
    },
    //获取所有用户列表
    getUsermsg() {
      getUserProfile().then((response) => {
        this.defaultperson = response.data;
        this.standardlevel = response.data.standardlevel;
      });
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.daterangeReporttime = [];
      this.resetForm("queryForm");
      this.handleQuery();
    },
    /** 查询捐献人道慰问金列表 */
    getList() {
      this.loading = true;
@@ -736,6 +997,7 @@
      });
    },
    //获取捐献案例列表
    getBaseInfoList() {
      this.loading = true;
      listDonatebaseinfo(this.queryParams).then((response) => {
@@ -745,43 +1007,13 @@
      });
    },
    /** 新增按钮操作 */
    handleAdd() {
      if (this.curCase.id) {
        this.istrue += 2;
        this.reset();
        this.dialogOpen = true;
        this.title = "添加费用申请";
        this.dialogType = "edit";
        this.queryParams.params = {};
        this.form.infoid = this.curCase.id;
        this.form.donorno = this.curCase.donorno;
        this.form.donorname = this.curCase.name;
        this.form.username = this.defaultperson.nickName;
        this.form.userno = this.defaultperson.userName;
        this.form.deptmentname = this.defaultperson.dept.deptName;
        this.form.deptmentno = this.defaultperson.dept.deptId;
        this.form.managername = this.defaultperson.dept.leader;
        // this.form.createTime = nowdate;
        //this.open = true;
        //this.initFundApplyForm();
        this.fundDetailArr = [];
        this.fundflowList = [];
        this.addRow();
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请先选择左方捐献案例 ")]),
        });
      }
    },
    //点击捐献案例列表触发方法
    selectDonotor(row, column, event) {
      this.curCase = row;
      this.getfundList();
    },
    //获取案例专家费用申请单
    getfundList() {
      this.loading = true;
      this.reset();
@@ -825,11 +1057,6 @@
        row.servicesscope = null;
        row.servicesscopename = "";
      });
    },
    // 取消按钮
    cancel() {
      this.dialogOpen = false;
      this.reset();
    },
    // 表单重置
@@ -947,128 +1174,7 @@
      // });
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          let formData = this.form;
          let totalPreTaxAmount = 0.0;
          let totalAfterTaxAmount = 0.0;
          let totalAmount = 0.0;
          for (let k = 0; k < this.fundDetailArr.length; k++) {
            let tempDetail = this.fundDetailArr[k];
            if (tempDetail.itemid == null) {
              this.$modal.msgWarning("请选择服务项目");
              return;
            }
            //判断单位 unitSel
            // try {
            //   //获取服务项目明细
            //   let unitIndex = this.unitList.findIndex(
            //     (item) => tempDetail.unitno == item.organizationid
            //   );
            //   if (unitIndex > -1) {
            //     tempDetail.unitname = this.unitList[unitIndex].organizationname;
            //   }
            //   else{
            //     tempDetail.unitname = tempDetail.unitno;
            //   }
            // } catch {
            //   tempDetail.unitname = tempDetail.unitno;
            // }
            if (!isNaN(parseFloat(tempDetail.amount))) {
              totalPreTaxAmount += parseFloat(tempDetail.amount);
              totalAmount += parseFloat(tempDetail.amount);
            }
            if (!isNaN(parseFloat(tempDetail.taxedamount))) {
              totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
              totalAmount += parseFloat(tempDetail.taxedamount);
            }
          }
          try {
            this.form.unitname = this.$refs.orgSelecter.getOptionByValue(
              this.form.unitno
            ).organizationname;
          } catch {
            this.form.treatmenthospitalname = this.form.treatmenthospitalno;
          }
          this.form.pretaxcost = parseFloat(totalPreTaxAmount).toFixed(2);
          this.form.taxedcost = parseFloat(totalAfterTaxAmount).toFixed(2);
          this.form.amountrequested = totalAmount.toFixed(2);
          this.loading = true;
          //附件处理
          let list = this.fileList;
          if (list.length > 0) {
            this.form.annexbankcard = list.map(item => item.url).join(",");
          }
          if (this.form.id != null) {
            updateFund(this.form).then((response) => {
              this.getfundList();
              this.dialogOpen = false;
              this.getList();
              this.selectDonotor(this.curCase);
              this.$modal.msgSuccess("修改成功");
              this.loading = false;
              for (let m = 0; m < this.fundDetailArr.length; m++) {
                let tempData = this.fundDetailArr[m];
                let tempItemArr = tempData.itemArr;
                tempData.fundid = formData.id;
                //获取服务项目明细
                let itemIndex = tempItemArr.findIndex(
                  (item) => tempData.itemid == item.id
                );
                if (itemIndex > -1) {
                  tempData.itemname = tempItemArr[itemIndex].itemName;
                  tempData.itemid = tempItemArr[itemIndex].id;
                }
                if (tempData.id > 0) {
                  updateFunddetail(tempData).then((response2) => { });
                } else {
                  addFunddetail(tempData).then((response2) => { });
                }
              }
            });
          } else {
            //保存费用申请
            for (let m = 0; m < this.fundDetailArr.length; m++) {
              let tempData = this.fundDetailArr[m];
              let tempUtemArr = tempData.itemArr;
              //获取服务项目明细
              let itemIndex = tempUtemArr.findIndex(
                (item) => tempData.itemid == item.id
              );
              if (itemIndex > -1) {
                tempData.itemname = tempUtemArr[itemIndex].itemName;
                tempData.itemid = tempUtemArr[itemIndex].id;
              }
              //获取applytypename
              let applytypeIndex = this.fundtypeArr.findIndex(
                (item) => tempData.applytype == item.value
              );
              if (applytypeIndex > -1) {
                tempData.applytypename = this.fundtypeArr[applytypeIndex].label;
              }
              this.fundDetailArr[m] = tempData;
            }
            this.form.serviceFunddetails = this.fundDetailArr;
            addorupdateFund(this.form).then((response) => {
              if (response.code === 200) {
                this.$modal.msgSuccess("新增成功");
                this.loading = false;
                this.selectDonotor(this.curCase);
              } else {
                this.$modal.msgError("新增失败:" + response.msg);
                this.loading = false;
              }
            });
            this.dialogOpen = false;
          }
        }
      });
    },
    selectremark(row) {
      this.fundblock.forEach((item, i) => {
        if (item.expensedescribe === row.servicesscopename) {
@@ -1105,90 +1211,7 @@
      });
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
      this.dialogOpen = true;
      this.title = "修改费用申请";
      this.dialogType = "edit";
      const id = row.id || this.ids;
      getFund(id).then((response) => {
        this.form = response.data;
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        getownFundDetail(id).then(async (res) => {
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
            this.fundDetailArr[m].itemArr = [];
            this.getItemArr(m, this.fundDetailArr[m]);
          }
        });
      });
    },
    /** 查看按钮操作 */
    handleDetail(row) {
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
      this.dialogOpen = true;
      this.title = "查看费用申请";
      this.dialogType = "detail";
      const id = row.id || this.ids;
      getFund(id).then((response) => {
        this.form = response.data;
        let listFundflowparams = {
          fundid: row.id,
          fundtype: 2,
        };
        //附件处理
        this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        listFundflow(listFundflowparams).then((res) => {
          this.fundflowList = res.rows;
        });
        getownFundDetail(id).then((res) => {
          this.fundDetailArr = res.data;
          for (let m = 0; m < this.fundDetailArr.length; m++) {
            this.fundDetailArr[m].itemArr = [];
            this.getItemArr(m, this.fundDetailArr[m]);
            this.fundDetailArr[m].fundblock = [];
            this.fundDetailArr[m].fundblock.push({
              expense: this.fundDetailArr[m].expense,
              expensedescribe: this.fundDetailArr[m].servicesscopename,
              remark: this.fundDetailArr[m].servicesscope,
              servicesscope: this.fundDetailArr[m].servicesscope,
            });
          }
        });
      });
    },
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该记录?")
        .then(function () {
          return delFund(ids);
        })
        .then(() => {
          getownFundDetail(ids).then((res) => {
            let listdetails = res.data;
            for (let i = 0; i < listdetails.length; i++) {
              delFunddetail(listdetails[i].id);
            }
          });
          // this.getList();
          this.getfundList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => { });
    },
    deleteRows(row, index, rows) {
      this.$confirm("是否确认删除?", "提示", {
@@ -1327,7 +1350,7 @@
      });
    },
    //汇总打印
    //下载打印
    totaldayin(e) {
      // const id =this.row.id
      getdownloadBX(e).then((res) => {
@@ -1349,6 +1372,7 @@
        }
      });
    },
    selectReporters() {
      //专家人员列表
      let arr = ["zzry"];
@@ -1361,6 +1385,7 @@
        });
      }
    },
    getlistExternalperson() {
      listExternalperson().then((res) => {
        this.personlist = res.rows;
@@ -1383,6 +1408,18 @@
        }
      });
    },
    getUnitList() {
      listOrganization(3).then((response) => {
        for (let i = 0; i < response.rows.length; i++) {
          this.unitList.push({
            organizationid: response.rows[i].organizationid,
            organizationname: response.rows[i].organizationname,
          });
        }
      });
    },
    SearchItem(val, scope) {
      let result = [];
      if (val != "") {
@@ -1402,17 +1439,6 @@
          //this.$set(this.fundDetailArr, rowindex, row);
        });
      }
    },
    getUnitList() {
      listOrganization(3).then((response) => {
        for (let i = 0; i < response.rows.length; i++) {
          this.unitList.push({
            organizationid: response.rows[i].organizationid,
            organizationname: response.rows[i].organizationname,
          });
        }
      });
    },
    addAlls() {
@@ -1478,7 +1504,59 @@
      a.href = url;
      a.dispatchEvent(event);
    },
    ShowDetailDialog(spoce, showType) {
      this.funddetailForm.index = spoce.$index;
      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
      this.funddetailForm.unitno = spoce.row.unitno;
      this.funddetailForm.unitname = spoce.row.unitname;
      this.detailInfoDialogShow = true;
      this.detailInfoDialogShowType = showType;
    },
    ConfirmDetailDialog() {
      let tempIndex = this.funddetailForm.index;
      let tempName = this.funddetailForm.beneficiaryname;
      let tempUnitname = this.funddetailForm.unitname;
      let singleDetail = this.fundDetailArr[tempIndex];
      if (this.detailInfoDialogShowType == "name") {
        this.personlist.map((res) => {
          if (tempName == res.username) {
            singleDetail.beneficiaryno = res.userno;
            singleDetail.beneficiaryname = res.username;
            singleDetail.bankcardno = res.bankcardno;
            singleDetail.branchbankname = res.branchbankname;
            singleDetail.depositbank = res.depositbank;
            singleDetail.idcardno = res.idcardno;
            singleDetail.phone = res.telephone;
            singleDetail.title = res.title;
            singleDetail.unitname = res.unitname;
            singleDetail.unitno = parseInt(res.unitno);
          } else {
            singleDetail.beneficiaryname = tempName;
            singleDetail.beneficiaryno = tempName;
          }
        });
      } else if (this.detailInfoDialogShowType == "unit") {
        singleDetail.unitno = this.funddetailForm.unitno;
        try {
          let unitIndex = this.unitList.findIndex(
            (item) => singleDetail.unitno == item.organizationid
          );
          if (unitIndex > -1) {
            singleDetail.unitname = this.unitList[unitIndex].organizationname;
          } else {
            singleDetail.unitname = singleDetail.unitno;
          }
        } catch {
          singleDetail.unitname = singleDetail.unitno;
        }
      }
      this.fundDetailArr[tempIndex] = singleDetail;
      this.detailInfoDialogShow = false;
    },
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
    this.getUnitList();
@@ -1500,6 +1578,7 @@
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style scoped>
src/views/project/fund/expertFeeApply/index.vue
@@ -51,10 +51,6 @@
        <el-card shadow="naver">
          <el-form ref="infoform" label-width="100px">
            <el-row :gutter="4" align="right" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:expretfund:add']">专家费用申请</el-button>
              </el-col>
              <el-col :span="9">
                <el-form-item label="捐献编号">
                  <el-input v-model="curCase.donorno" :disabled="true"></el-input>
@@ -66,7 +62,12 @@
                </el-form-item>
              </el-col>
              <el-col>
                <!-- <el-button round @click='totaldayin'>下载</el-button> -->
              </el-col>
            </el-row>
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:expretfund:add']">新增申请单</el-button>
              </el-col>
            </el-row>
            <el-row>
@@ -860,6 +861,24 @@
    /** 新增按钮操作 */
    handleAdd() {
      if (this.curCase.id) {
        this.$router.push({
          path: "/finance/applyDetail/",
          query: {
            id: 0,
            businessType: "1",
            operationType: "add",
            curCase: this.curCase
          }
        });
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请在左边的捐献案例表选择需要操作的案例!")]),
        });
      }
      return;
      if (this.curCase.id) {
        this.istrue += 2;
        this.reset();
        this.queryParams.params = {};
@@ -892,6 +911,17 @@
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: row.id,
          businessType: "1",
          operationType: "update",
          curCase: this.curCase
        }
      });
      return;
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
@@ -943,6 +973,17 @@
    /** 查看按钮操作 */
    handleDetail(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: row.id,
          businessType: "1",
          operationType: "detail",
          curCase: this.curCase
        }
      });
      return;
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
@@ -1016,7 +1057,6 @@
          //查找是否存在登记完成记录
          //判断是否存在上报记录
          row.recordstatus = 0;
          console.log("updateFund", row);
          updateFund(row).then((response) => {
            if (response.code == 200) {
              this.$message({
@@ -1145,7 +1185,6 @@
                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
                  this.totalAmount += parseFloat(tempDetail.amount);
                  console.log("1", this.amount);
                }
              });
            }
@@ -1297,7 +1336,6 @@
          //从专家列表获取信息
          this.personlist.map((res) => {
            if (tempName == res.username) {
              console.log("选择专家", res);
              singleDetail.beneficiaryno = res.userno;
              singleDetail.beneficiaryname = res.username;
              singleDetail.bankcardno = res.bankcardno;
@@ -1351,11 +1389,9 @@
              listExternalperson().then((res) => {
                this.personlist = res.rows;
                console.log("new personlist", this.personlist);
                //从专家列表获取信息
                this.personlist.map((res) => {
                  if (res.username == this.funddetailForm.expertname) {
                    console.log("新增专家", res);
                    singleDetail.beneficiaryno = res.userno;
                    singleDetail.beneficiaryname = res.username;
                    singleDetail.bankcardno = res.bankcardno;
@@ -1396,7 +1432,6 @@
    //获取当前用户信息
    getUsermsg() {
      getUserProfile().then((response) => {
        console.log("getUserProfile", response);
        this.defaultperson = response.data;
        this.standardlevel = response.data.standardlevel;
        if (this.defaultperson.createBy == "admin" || this.defaultperson.createBy == "001" || this.defaultperson.createBy == "002") {
@@ -1438,14 +1473,16 @@
          row.itemcode = res.itemCode;
        }
      });
      var repeatNum = 0;
      this.fundDetails.map((res) => {
        if (res.applytype === row.applytype && res.itemid == row.itemid) {
          repeatNum++;
      if (this.businessType == '1') {
        var repeatNum = 0;
        this.fundDetails.map((res) => {
          if (res.applytype === row.applytype && res.itemid == row.itemid) {
            repeatNum++;
          }
        });
        if (repeatNum > 1) {
          this.$modal.msgWarning("您已经提交过该服务项目了");
        }
      });
      if (repeatNum > 1) {
        this.$modal.msgWarning("您已经提交过该服务项目了");
      }
      //获取费用项目的详细信息
@@ -1488,7 +1525,6 @@
      }
      // this.queryParams.residencetown = this.$refs.areaSelect.getQu();
      console.log("111", this.queryParams);
      listDonatebaseinfo(this.queryParams).then((response) => {
        this.donatebaseinfoList = response.rows;
        this.total = response.total;
@@ -1744,7 +1780,6 @@
    getUserList() {
      listUser().then((res) => {
        console.log("listUser", res);
        this.userlist = res.data;
      });
    },
src/views/project/fund/medicalCostApply/index.vue
@@ -51,11 +51,6 @@
        <el-card shadow="naver">
          <el-form ref="infoform" label-width="100px">
            <el-row :gutter="4" align="right" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:medicalfund:add']">医学成本申请</el-button>
              </el-col>
              <el-col :span="9">
                <el-form-item label="捐献编号">
                  <el-input v-model="curCase.donorno" :disabled="true"></el-input>
@@ -67,6 +62,12 @@
                </el-form-item>
              </el-col>
              <el-col> </el-col>
            </el-row>
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
                  v-hasPermi="['project:medicalfund:add']">新增申请单</el-button>
              </el-col>
            </el-row>
            <el-row>
              <el-table v-loading="loading" border :data="donateconsolationfundList">
@@ -769,15 +770,22 @@
    /** 新增按钮操作 */
    handleAdd() {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: 0,
          businessType: "3",
          operationType: "add",
          curCase: this.curCase
        }
      });
      if (this.curCase.id) {
        this.$router.push({
          path: "/finance/applyDetail/",
          query: {
            id: 0,
            businessType: "3",
            operationType: "add",
            curCase: this.curCase
          }
        });
      } else {
        const h = this.$createElement;
        this.$message({
          message: h("p", null, [h("span", null, "请在左边的捐献案例表选择需要操作的案例!")]),
        });
      }
      return;
      if (this.curCase.id) {
@@ -1107,7 +1115,7 @@
      listFund(this.fundQueryParam).then(response => {
        this.loading = false;
        this.donateconsolationfundList = response.rows;
        console.log("donateconsolationfundList",this.donateconsolationfundList);
        console.log("donateconsolationfundList", this.donateconsolationfundList);
      });
    },
src/views/project/fund/officeExpenseApply/index.vue
@@ -33,7 +33,7 @@
          @click="handleExport">导出</el-button>
      </el-col>
      <!-- v-hasPermi="['project:medicalfund:export']" -->
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
    </el-row>
    <el-table v-loading="loading" border :data="donateconsolationfundList">
      <el-table-column label="申请日期" align="center" prop="createTime" width="180px">
@@ -892,6 +892,22 @@
        });
      });
    },
    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$modal
        .confirm("是否确认导出所有报销申请数据项?")
        .then(() => {
          this.exportLoading = true;
          return exportReimbursement(queryParams);
        })
        .then(response => {
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => {});
    },
    handleDelete(row) {
      const ids = row.id || this.ids;
src/views/project/fundcheck/medicalCostCheck/index.vue
@@ -72,9 +72,9 @@
          <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
            <template slot-scope="scope">
              <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit"
                @click="handleUpdate(scope.row)">审核</el-button>
                @click="handleCheck(scope.row)">审核</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleShow(scope.row)">详情</el-button>
              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">查看</el-button>
              <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">下载</el-button>
              <!-- v-hasPermi="['project:donateconsolationfund:download']" -->
@@ -912,7 +912,7 @@
      }
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
    handleCheck(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
@@ -953,7 +953,17 @@
    },
    //查看审核详情
    handleShow(row) {
    handleDetail(row) {
      this.$router.push({
        path: "/finance/applyDetail/",
        query: {
          id: row.id,
          businessType: "3",
          operationType: "detail"
        }
      });
      return;
      this.isopen = 0;
      this.reset();
      this.queryParams.params = {};
src/views/project/travelexpenseapply/index.vue
@@ -1,12 +1,6 @@
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
      <el-row>
        <!--
        <el-col :span="6">
@@ -18,68 +12,31 @@
-->
        <el-col :span="6">
          <el-form-item label="经办人" prop="username">
            <el-input
              v-model="queryParams.username"
              placeholder="请输入经办人"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
            />
            <el-input v-model="queryParams.username" placeholder="请输入经办人" clearable size="small"
              @keyup.enter.native="handleQuery" />
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="报销日期" prop="createTime">
            <el-date-picker
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              v-model="value1"
              type="daterange"
              @blur="onpick"
              range-separator="至"
              start-placeholder="报销开始日期"
              end-placeholder="报销结束日期"
              @keyup.enter.native="handleQuery"
            >
            <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick"
              range-separator="至" start-placeholder="报销开始日期" end-placeholder="报销结束日期" @keyup.enter.native="handleQuery">
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="审核状态" prop="recordstatus">
            <el-input
              v-model="queryParams.recordstatus"
              placeholder="请选择审核状态"
              clearable
              size="small"
              v-if="0"
              @keyup.enter.native="handleQuery"
            />
            <el-select
              v-model="queryParams.recordstatus"
              placeholder="请选择审核状态"
              clearable
              size="small"
            >
              <el-option
                v-for="dict in dict.type.sys_recordstatus"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            <el-input v-model="queryParams.recordstatus" placeholder="请选择审核状态" clearable size="small" v-if="0"
              @keyup.enter.native="handleQuery" />
            <el-select v-model="queryParams.recordstatus" placeholder="请选择审核状态" clearable size="small">
              <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                :value="dict.value" />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </el-form-item>
        </el-col>
      </el-row>
@@ -87,97 +44,42 @@
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          >新增</el-button
        >
        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
        <!-- v-hasPermi="['project:funddetail:add']" -->
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          :loading="exportLoading"
          @click="handleExport"
          >导出</el-button
        >
        <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading"
          @click="handleExport">导出</el-button>
      </el-col>
      <!-- v-hasPermi="['project:funddetail:export']" -->
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table
      border
      v-loading="loading"
      :data="reimbursementList"
      @selection-change="handleSelectionChange"
    >
    <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange">
      <!-- <el-table-column type="selection" width="55" align="center" /> 
      <el-table-column label="报销人类别" width="120" align="center" prop="costtype">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_travelexpensebelong" :value="scope.row.costtype" />
        </template>
      </el-table-column>-->
      <el-table-column
        label="申请时间"
        width="150"
        align="center"
        prop="createTime"
      >
      <el-table-column label="申请时间" width="150" align="center" prop="createTime">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column
        label="审核状态"
        align="center"
        prop="recordstatus"
        width="160"
      >
      <el-table-column label="审核状态" align="center" prop="recordstatus" width="160">
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.sys_recordstatus"
            :value="scope.row.recordstatus"
          />
          <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
        </template>
      </el-table-column>
      <el-table-column
        label="经办人"
        width="150"
        align="center"
        prop="username"
      />
      <el-table-column label="经办人" width="150" align="center" prop="username" />
      <!--
      <el-table-column label="出差人" width="180" align="center" prop="travelers">
      </el-table-column>-->
      <el-table-column
        label="报销金额"
        width="150"
        align="center"
        prop="amountrequested"
      >
      <el-table-column label="报销金额" width="150" align="center" prop="amountrequested">
      </el-table-column>
      <el-table-column
        label="所属组别"
        width="150"
        align="center"
        prop="deptmentname"
      />
      <el-table-column
        label="组长"
        width="150"
        align="center"
        prop="managername"
      />
      <el-table-column label="所属组别" width="150" align="center" prop="deptmentname" />
      <el-table-column label="组长" width="150" align="center" prop="managername" />
      <el-table-column label="出差事由" align="center" prop="reason" />
      <!-- <el-table-column label="联系电话" width="120" align="center" prop="phone">
      </el-table-column>
@@ -187,115 +89,47 @@
      </el-table-column>
      <el-table-column label="报销合计" align="center" prop="financechecher"/>-->
      <!-- <el-table-column label="财务审核" width="120" align="center" prop="financechecher" /> -->
      <el-table-column
        label="捐献者"
        width="150"
        align="center"
        prop="donorname"
      />
      <el-table-column
        label="操作"
        align="center"
        fixed="right"
        class-name="small-padding fixed-width"
        width="210"
      >
      <el-table-column label="捐献者" width="150" align="center" prop="donorname" />
      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="210">
        <template slot-scope="scope">
          <el-button
            v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
            size="mini"
            type="text"
            icon="el-icon-upload2"
            @click="handleup(scope.row)"
            >上报</el-button
          >
          <el-button
            v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            >修改</el-button
          >
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleDetail(scope.row)"
            >查看</el-button
          >
          <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
            icon="el-icon-upload2" @click="handleup(scope.row)">上报</el-button>
          <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
            icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">查看</el-button>
          <!-- v-hasPermi="['project:funddetail:edit']" -->
          <el-button
            size="mini"
            type="text"
            icon="el-icon-download"
            @click="gettable(scope.row)"
          >
          <el-button size="mini" type="text" icon="el-icon-download" @click="gettable(scope.row)">
            下载
          </el-button>
          <!-- v-hasPermi="['project:funddetail:edit']" -->
          <el-button
            v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            >删除</el-button
          >
          <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
            icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
          <!-- v-hasPermi="['project:funddetail:remove']" -->
        </template>
      </el-table-column>
    </el-table>
    <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
      @pagination="getList" />
    <!-- 添加或修改费用申请明细对话框 -->
    <el-dialog
      :title="title"
      :visible.sync="open"
      :close-on-click-modal="false"
      width="1400px"
      append-to-body
      @close="reset"
    >
    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="1400px" append-to-body
      @close="reset">
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row
          ><el-col :span="5">
        <el-row><el-col :span="5">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker
                style="width: 100%"
                v-model="form.createTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
              >
              <el-date-picker style="width: 100%" v-model="form.createTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-select
                v-model="form.username"
                clearable
                filterable
                allow-create
                ref="getReportname"
                default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in personsList"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportName"
                >
              <el-select v-model="form.username" clearable filterable allow-create ref="getReportname"
                default-first-option placeholder="请选择">
                <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportName">
                </el-option>
              </el-select>
            </el-form-item>
@@ -320,18 +154,8 @@
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="infoid">
              <el-select
                v-model="form.infoid"
                @change="selectbaseinfo"
                filterable
                placeholder="请选择捐献者"
              >
                <el-option
                  v-for="item in baselist"
                  :key="item.index"
                  :label="item.name"
                  :value="item.infoid"
                >
              <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="请选择捐献者">
                <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
                </el-option>
              </el-select>
            </el-form-item>
@@ -340,36 +164,17 @@
        <el-row style="margin-top: 10px">
          <el-col :span="5">
            <el-form-item label="报销金额" prop="amountrequested">
              <el-input
                :disabled="true"
                v-model="form.amountrequested"
                placeholder="报销合计金额"
              />
              <el-input :disabled="true" v-model="form.amountrequested" placeholder="报销合计金额" />
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="大写金额" prop="bigstrmoney">
              <el-input
                :disabled="true"
                v-model="form.bigstrmoney"
                placeholder="报销大写金额"
              />
            </el-form-item> </el-col
          ><el-col :span="5">
              <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="报销大写金额" />
            </el-form-item> </el-col><el-col :span="5">
            <el-form-item label="审核状态" prop="flowlevel">
              <el-select
                v-model="form.recordstatus"
                placeholder="请选择审核状态"
                clearable
                :disabled="true"
                size="small"
              >
                <el-option
                  v-for="dict in dict.type.sys_recordstatus"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small">
                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -476,263 +281,116 @@
        </el-row>
        <el-row>
          <el-table :data="rbDetails" border highlight-current-row>
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外不展示-->
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="personname"
              slot=""
              label="费用人员"
              align="center"
              fixed
              width="110"
            >
            <el-table-column prop="personname" slot="" label="费用人员" align="center" fixed width="110">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                  @focus1="getPersons(scope.row)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
                  placeholder="请选择" @focus1="getPersons(scope.row)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="starttime"
              slot=""
              label="开始日期"
              fixed
              align="center"
              width="150"
            >
            <el-table-column prop="starttime" slot="" label="开始日期" fixed align="center" width="150">
              <template slot-scope="scope">
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.endtime) {
                        return (
                          time.getTime() >
                          new Date(scope.row.endtime.replace(/-/g, '/'))
                        );
                      }
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.endtime) {
                      return (
                        time.getTime() >
                        new Date(scope.row.endtime.replace(/-/g, '/'))
                      );
                    }
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.starttime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="开始日期"
                  @blur="getdays(scope.row)"
                >
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getdays(scope.row)">
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              prop="endtime"
              slot=""
              label="结束日期"
              align="center"
              fixed
              width="150"
            >
            <el-table-column prop="endtime" slot="" label="结束日期" align="center" fixed width="150">
              <template slot-scope="scope">
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.starttime) {
                        return (
                          time.getTime() <
                          new Date(scope.row.starttime.replace(/-/g, '/'))
                        );
                      }
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.starttime) {
                      return (
                        time.getTime() <
                        new Date(scope.row.starttime.replace(/-/g, '/'))
                      );
                    }
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.endtime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="结束日期"
                  @blur="getdays(scope.row)"
                >
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getdays(scope.row)">
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              prop="departure"
              slot=""
              label="出发地"
              align="center"
              width="100"
            >
            <el-table-column prop="departure" slot="" label="出发地" align="center" width="100">
              <template slot-scope="scope">
                <el-input v-model="scope.row.departure" placeholder="出发地" />
              </template>
            </el-table-column>
            <el-table-column
              label="到达地"
              prop="destination"
              align="center"
              width="140"
            >
            <el-table-column label="到达地" prop="destination" align="center" width="140">
              <template slot-scope="scope">
                <!--  <el-input v-model="scope.row.destination" placeholder="到达地" @blur="getallowance(scope.row)" /> -->
                <el-select
                  filterable
                  allow-create
                  v-model="scope.row.destination"
                  value-key="value"
                  placeholder="到达地"
                  @change="getallowance(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_area_name"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="到达地"
                  @change="getallowance(scope.row)">
                  <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="days" label="天数" width="65" align="center">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.days"
                  @blur="getallowance(scope.row)"
                  placeholder="天数"
                />
                <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天数" />
              </template>
            </el-table-column>
            <el-table-column
              prop="traffictype"
              label="出发交通工具"
              align="center"
              width="100"
            >
            <el-table-column prop="traffictype" label="出发交通工具" align="center" width="100">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.traffictype"
                  placeholder="出发交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.traffictype" placeholder="出发交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="traffictype2"
              label="返回交通工具"
              align="center"
              width="100"
            >
            <el-table-column prop="traffictype2" label="返回交通工具" align="center" width="100">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.traffictype2"
                  placeholder="返回交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.traffictype2" placeholder="返回交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="trafficexpense"
              label="交通费"
              align="center"
              width="80"
            >
            <el-table-column prop="trafficexpense" label="交通费" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.trafficexpense"
                  placeholder="交通费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
              </template>
            </el-table-column>
            <!--
@@ -747,144 +405,65 @@
              </template>
            </el-table-column>
                                                                                                                                      -->
            <el-table-column
              prop="hotelexpense"
              label="住宿费"
              align="center"
              width="80"
            >
            <el-table-column prop="hotelexpense" label="住宿费" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.hotelexpense"
                  placeholder="住宿费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="foodexpenses"
              label="餐费报销"
              align="center"
              width="80"
            >
            <el-table-column prop="foodexpenses" label="餐费报销" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.foodexpenses"
                  placeholder="伙食费报销"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="foodallowance"
              label="伙食补助"
              align="center"
              width="80"
            >
            <el-table-column prop="foodallowance" label="伙食补助" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.foodallowance"
                  placeholder="伙食费补助"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="otherexpense"
              label="公杂费补助"
              align="center"
              width="80"
            >
            <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.otherexpense"
                  placeholder="杂费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="otherfeeamount"
              label="其他费用"
              align="center"
              width="90"
            >
            <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="90">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.otherfeeamount"
                  placeholder="其他费用"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => {
                    sumRowFee(scope.row);
                  }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="departure"
              slot=""
              label="其他费用说明"
              align="center"
              width="120"
            >
            <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.otherfeedesc"
                  placeholder="其他费用说明"
                />
                <el-input v-model="scope.row.otherfeedesc" placeholder="其他费用说明" />
              </template>
            </el-table-column>
            <el-table-column
              prop="total"
              label="合计"
              align="center"
              width="110"
            >
            <el-table-column prop="total" label="合计" align="center" width="110">
              <template slot-scope="scope">
                <el-input v-model="scope.row.total" placeholder="合计" />
              </template>
            </el-table-column>
            <el-table-column
              fixed="right"
              label="操作"
              align="center"
              width="120"
              v-if="dialogType == 'edit'"
            >
            <el-table-column fixed="right" label="操作" align="center" width="120" v-if="dialogType == 'edit'">
              <template slot-scope="scope">
                <el-button
                  type="text"
                  size="mini"
                  @click="addDetailRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deleteDetailRow(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                >
                <el-button type="text" size="mini" @click="addDetailRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deleteDetailRow(scope.$index, rbDetails, scope.row)
                  " type="text" size="small">
                  删除
                </el-button>
              </template>
@@ -896,192 +475,75 @@
        </el-row>
        <el-row style="margin-top: 30px">
          <el-table :data="rbPayees" border highlight-current-row>
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外键不展示-->
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="personname"
              slot=""
              label="收款人"
              align="center"
              fixed
              width="110"
            >
            <el-table-column prop="personname" slot="" label="收款人" align="center" fixed width="110">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  placeholder="请选择"
                  @change="getAccountinfo2(scope.row, scope.row.persontype)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname"
                  default-first-option placeholder="请选择" @change="getAccountinfo2(scope.row, scope.row.persontype)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="bankname"
              slot=""
              label="银行名称"
              align="center"
              fixed
              width="200"
            >
            <el-table-column prop="bankname" slot="" label="银行名称" align="center" fixed width="200">
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankname" placeholder="银行名称" />
              </template>
            </el-table-column>
            <el-table-column
              prop="bankcardno"
              slot=""
              label="银行卡号"
              align="center"
              fixed
              width="200"
            >
            <el-table-column prop="bankcardno" slot="" label="银行卡号" align="center" fixed width="200">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.bankcardno"
                  placeholder="银行卡号"
                />
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
              </template>
            </el-table-column>
            <el-table-column
              prop="amount"
              slot=""
              label="打款金额"
              align="center"
              fixed
              width="130"
            >
            <el-table-column prop="amount" slot="" label="打款金额" align="center" fixed width="130">
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" placeholder="打款金额" />
              </template>
            </el-table-column>
            <el-table-column
              prop="remark"
              slot=""
              label="请款说明"
              align="center"
              fixed
              width="280"
            >
            <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed width="280">
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="说明" />
              </template> </el-table-column
            ><el-table-column
              prop="paiddate"
              slot=""
              label="打款日期"
              fixed
              align="center"
              width="150"
            >
              </template> </el-table-column><el-table-column prop="paiddate" slot="" label="打款日期" fixed align="center"
              width="150">
              <template slot-scope="scope">
                <el-date-picker
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.paiddate"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="打款日期"
                  :disabled="true"
                >
                <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.paiddate" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="打款日期" :disabled="true">
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              label="操作"
              align="center"
              width="100"
              v-if="dialogType == 'edit'"
            >
            <el-table-column label="操作" align="center" width="100" v-if="dialogType == 'edit'">
              <template slot-scope="scope">
                <el-button
                  type="text"
                  size="mini"
                  @click="addPayeeRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deletePayeeRow(scope.$index, rbPayees, scope.row)
                  "
                  type="text"
                  size="small"
                >
                <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deletePayeeRow(scope.$index, rbPayees, scope.row)
                  " type="text" size="small">
                  删除
                </el-button>
              </template>
@@ -1128,76 +590,30 @@
                                                                                              -->
            <el-form-item label="文件上传" align="left" prop="annexfiles">
              <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> -->
              <el-upload
                size="mini"
                class="upload-demo"
                :action="uploadFileUrl"
                :file-list="fileList"
                multiple
                :limit="20"
                :headers="headers"
                :on-success="
                  (response, file, fileList) =>
              <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-exceed="handleExceed"
                :on-remove="remove"
                accept="image/*,.pdf"
              >
                <el-button
                  :disabled="dialogType == 'detail'"
                  size="small"
                  type="primary"
                  >上传</el-button
                >
                  " :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-upload>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="dialogType == 'detail'">
          <el-table :data="fundflowList" border>
            <el-table-column
              label="审核人"
              align="center"
              width="120"
              prop="checkusername"
            />
            <el-table-column
              label="审核日期"
              align="center"
              width="160"
              prop="createTime"
            />
            <el-table-column
              label="审核结果"
              align="center"
              width="200"
              prop="flowconclusion"
              ><template slot-scope="scope"
                ><span v-if="scope.row.flowconclusion == 1">通过</span
                ><span v-if="scope.row.flowconclusion == 2"
                  >不通过</span
                ></template
              >
            <el-table-column label="审核人" align="center" width="120" prop="checkusername" />
            <el-table-column label="审核日期" align="center" width="160" prop="createTime" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"><template
                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">通过</span><span
                  v-if="scope.row.flowconclusion == 2">不通过</span></template>
            </el-table-column>
            <el-table-column
              label="审核备注"
              align="center"
              prop="flowcontent"
            />
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
          </el-table>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          @click="submitForm"
          v-if="dialogType == 'edit'"
          >保 存</el-button
        >
        <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">保 存</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
@@ -1420,7 +836,7 @@
  },
  methods: {
    handleUploadError() {},
    handleUploadError() { },
    remove(file) {
      this.fileList.splice(this.fileList.indexOf(file), 1);
@@ -1548,7 +964,7 @@
        row.days = (
          Math.floor(
            Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
              (1000 * 3600 * 24)
            (1000 * 3600 * 24)
          ) + 1
        ).toString();
      } else {
@@ -1845,10 +1261,10 @@
    /** 新增按钮操作 */
    handleAdd() {
      console.log("defaultperson",this.defaultperson);
      console.log("defaultperson", this.defaultperson);
      this.$router.push({
        path: "/finance/travelexpenseapply/travelexpensedetail/",
        query: { id: 0, pos: 1,routerparam:this.defaultperson}
        query: { id: 0, pos: 1, routerparam: this.defaultperson }
      });
      this.reset();
@@ -1884,8 +1300,8 @@
        this.form = response.data;
        this.fileList = this.form.annexfiles
          ? this.form.annexfiles
              .split(",")
              .map(item => ({ url: item, name: item }))
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        this.form.recordstatus = response.data.recordstatus + "";
@@ -1930,7 +1346,7 @@
        path: "/finance/travelexpenseapply/travelexpensedetail/",
        query: { id: row.id, pos: 3 }
      });
      this.dialogType = "detail";
      this.title = "查看报销申请";
@@ -1943,8 +1359,8 @@
        //附件
        this.fileList = this.form.annexfiles
          ? this.form.annexfiles
              .split(",")
              .map(item => ({ url: item, name: item }))
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
@@ -2138,7 +1554,7 @@
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该条记录?")
        .then(function() {
        .then(function () {
          // 删除details内的数据
          return delReimbursement(ids);
        })
@@ -2147,7 +1563,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});
        .catch(() => { });
    },
    /** 导出按钮操作 */
@@ -2163,7 +1579,7 @@
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => {});
        .catch(() => { });
    },
    //新增一行
@@ -2446,7 +1862,7 @@
        this.form.amountrequested = allSum.toFixed(2);
        this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
      } catch {}
      } catch { }
    },
    //金额数字转换成大写
src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -3,36 +3,19 @@
    <div class="boxdiv">
      <div class="top-text">{{ title }}</div>
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row
          ><el-col :span="5">
        <el-row><el-col :span="5">
            <el-form-item label="申请日期" prop="createTime">
              <el-date-picker
                style="width: 100%"
                v-model="form.createTime"
                type="date"
                value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期"
              >
              <el-date-picker style="width: 100%" v-model="form.createTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
                placeholder="申请日期">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-select
                v-model="form.username"
                clearable
                filterable
                allow-create
                ref="getReportname"
                default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in personsList"
                  :key="item.reportNo"
                  :label="item.reportName"
                  :value="item.reportName"
                >
              <el-select v-model="form.username" clearable filterable allow-create ref="getReportname"
                default-first-option placeholder="请选择">
                <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName"
                  :value="item.reportName">
                </el-option>
              </el-select>
            </el-form-item>
@@ -57,18 +40,8 @@
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="infoid">
              <el-select
                v-model="form.infoid"
                @change="selectbaseinfo"
                filterable
                placeholder="请选择捐献者"
              >
                <el-option
                  v-for="item in baselist"
                  :key="item.index"
                  :label="item.name"
                  :value="item.infoid"
                >
              <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="请选择捐献者">
                <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
                </el-option>
              </el-select>
            </el-form-item>
@@ -77,36 +50,17 @@
        <el-row style="margin-top: 10px">
          <el-col :span="5">
            <el-form-item label="报销金额" prop="amountrequested">
              <el-input
                :disabled="true"
                v-model="form.amountrequested"
                placeholder="报销合计金额"
              />
              <el-input :disabled="true" v-model="form.amountrequested" placeholder="报销合计金额" />
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="大写金额" prop="bigstrmoney">
              <el-input
                :disabled="true"
                v-model="form.bigstrmoney"
                placeholder="报销大写金额"
              />
            </el-form-item> </el-col
          ><el-col :span="5">
              <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="报销大写金额" />
            </el-form-item> </el-col><el-col :span="5">
            <el-form-item label="审核状态" prop="flowlevel">
              <el-select
                v-model="form.recordstatus"
                placeholder="请选择审核状态"
                clearable
                :disabled="true"
                size="small"
              >
                <el-option
                  v-for="dict in dict.type.sys_recordstatus"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                />
              <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small">
                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
                  :value="dict.value" />
              </el-select>
            </el-form-item>
          </el-col>
@@ -209,273 +163,120 @@
          </el-row>
          -->
        <el-row style="margin-top: 25px; margin-bottom: 5px">
          <el-col :span="20">报销明细录入:</el-col>
          <el-col :span="20">报销明细</el-col>
        </el-row>
        <el-row>
          <el-table
            :data="rbDetails"
            border
            highlight-current-row
            :summary-method="getSummaries"
            show-summary
          >
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
          <el-table :data="rbDetails" border highlight-current-row :summary-method="getSummaries" show-summary>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外不展示-->
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="personname"
              slot=""
              label="费用人员"
              align="center"
              fixed
              width="110"
            >
            <el-table-column prop="personname" slot="" label="费用人员" align="center" fixed width="110">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                  @focus1="getPersons(scope.row)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
                  placeholder="请选择" @focus1="getPersons(scope.row)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="starttime"
              slot=""
              label="开始日期"
              fixed
              align="center"
              width="150"
            >
            <el-table-column prop="starttime" slot="" label="开始日期" fixed align="center" width="150">
              <template slot-scope="scope">
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.endtime) {
                        return (
                          time.getTime() >
                          new Date(scope.row.endtime.replace(/-/g, '/'))
                        );
                      }
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.endtime) {
                      return (
                        time.getTime() >
                        new Date(scope.row.endtime.replace(/-/g, '/'))
                      );
                    }
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.starttime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="开始日期"
                  @blur="getdays(scope.row)"
                >
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getdays(scope.row)">
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              prop="endtime"
              slot=""
              label="结束日期"
              align="center"
              fixed
              width="150"
            >
            <el-table-column prop="endtime" slot="" label="结束日期" align="center" fixed width="150">
              <template slot-scope="scope">
                <el-date-picker
                  :picker-options="{
                    disabledDate: time => {
                      if (scope.row.starttime) {
                        return (
                          time.getTime() <
                          new Date(scope.row.starttime.replace(/-/g, '/'))
                        );
                      }
                <el-date-picker :picker-options="{
                  disabledDate: time => {
                    if (scope.row.starttime) {
                      return (
                        time.getTime() <
                        new Date(scope.row.starttime.replace(/-/g, '/'))
                      );
                    }
                  }"
                  clearable
                  size="small"
                  style="width: 100%"
                  v-model="scope.row.endtime"
                  type="date"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="结束日期"
                  @blur="getdays(scope.row)"
                >
                  }
                }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getdays(scope.row)">
                </el-date-picker>
              </template>
            </el-table-column>
            <el-table-column
              prop="departure"
              slot=""
              label="出发地"
              align="center"
              width="100"
            >
            <el-table-column prop="departure" slot="" label="出发地" align="center" width="100">
              <template slot-scope="scope">
                <el-input v-model="scope.row.departure" placeholder="出发地" />
              </template>
            </el-table-column>
            <el-table-column
              label="到达地"
              prop="destination"
              align="center"
              width="140"
            >
            <el-table-column label="到达地" prop="destination" align="center" width="140">
              <template slot-scope="scope">
                <!--  <el-input v-model="scope.row.destination" placeholder="到达地" @blur="getallowance(scope.row)" /> -->
                <el-select
                  filterable
                  allow-create
                  v-model="scope.row.destination"
                  value-key="value"
                  placeholder="到达地"
                  @change="getallowance(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_area_name"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="到达地"
                  @change="getallowance(scope.row)">
                  <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="days" label="天数" width="65" align="center">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.days"
                  @blur="getallowance(scope.row)"
                  placeholder="天数"
                />
                <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天数" />
              </template>
            </el-table-column>
            <el-table-column
              prop="traffictype"
              label="出发交通工具"
              align="center"
              width="100"
            >
            <el-table-column prop="traffictype" label="出发交通工具" align="center" width="100">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.traffictype"
                  placeholder="出发交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.traffictype" placeholder="出发交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="traffictype2"
              label="返回交通工具"
              align="center"
              width="100"
            >
            <el-table-column prop="traffictype2" label="返回交通工具" align="center" width="100">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.traffictype2"
                  placeholder="返回交通工具"
                >
                  <el-option
                    v-for="dict in dict.type.sys_traffictype"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.traffictype2" placeholder="返回交通工具">
                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="trafficexpense"
              label="交通费"
              align="center"
              width="80"
            >
            <el-table-column prop="trafficexpense" label="交通费" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.trafficexpense"
                  placeholder="交通费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <!--
@@ -490,310 +291,131 @@
              </template>
            </el-table-column>
                                                                                                                                      -->
            <el-table-column
              prop="hotelexpense"
              label="住宿费"
              align="center"
              width="80"
            >
            <el-table-column prop="hotelexpense" label="住宿费" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.hotelexpense"
                  placeholder="住宿费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="foodexpenses"
              label="餐费报销"
              align="center"
              width="80"
            >
            <el-table-column prop="foodexpenses" label="餐费报销" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.foodexpenses"
                  placeholder="伙食费报销"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="foodallowance"
              label="伙食补助"
              align="center"
              width="80"
            >
            <el-table-column prop="foodallowance" label="伙食补助" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.foodallowance"
                  placeholder="伙食费补助"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="otherexpense"
              label="公杂费补助"
              align="center"
              width="80"
            >
            <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="80">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.otherexpense"
                  placeholder="杂费"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="otherfeeamount"
              label="其他费用"
              align="center"
              width="90"
            >
            <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="90">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.otherfeeamount"
                  placeholder="其他费用"
                  @blur="
                    val => {
                      sumRowFee(scope.row);
                    }
                  "
                />
                <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => {
                  sumRowFee(scope.row);
                }
                  " />
              </template>
            </el-table-column>
            <el-table-column
              prop="departure"
              slot=""
              label="其他费用说明"
              align="center"
              width="120"
            >
            <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.otherfeedesc"
                  placeholder="其他费用说明"
                />
                <el-input v-model="scope.row.otherfeedesc" placeholder="其他费用说明" />
              </template>
            </el-table-column>
            <el-table-column
              prop="total"
              label="合计"
              align="center"
              width="110"
              fixed="right"
            >
            <el-table-column prop="total" label="合计" align="center" width="110" fixed="right">
              <template slot-scope="scope">
                <el-input v-model="scope.row.total" placeholder="合计" />
              </template>
            </el-table-column>
            <el-table-column
              fixed="right"
              label="操作"
              align="center"
              width="120"
            >
            <el-table-column fixed="right" label="操作" align="center" width="120">
              <template slot-scope="scope">
                <el-button
                  type="text"
                  size="mini"
                  @click="addDetailRow(scope.$index)"
                  v-if="dialogType == 'edit'"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deleteDetailRow(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  v-if="dialogType == 'edit'"
                  >删除</el-button
                >
                <el-button
                  @click.native.prevent="
                    Filepopup(scope.$index, rbDetails, scope.row)
                  "
                  type="text"
                  size="small"
                  >票据</el-button
                >
                <el-button type="text" size="mini" @click="addDetailRow(scope.$index)"
                  v-if="operationType == 'edit'">新增</el-button>
                <el-button @click.native.prevent="
                  deleteDetailRow(scope.$index, rbDetails, scope.row)
                  " type="text" size="small" v-if="operationType == 'edit'">删除</el-button>
                <el-button @click.native.prevent="
                  Filepopup(scope.$index, rbDetails, scope.row)
                  " type="text" size="small">票据</el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <el-row style="margin-top: 25px; margin-bottom: 5px">
          <el-col :span="20">报销请款明细:</el-col>
          <el-col :span="20">打款明细</el-col>
        </el-row>
        <el-row style="margin-top: 30px">
          <el-table
            :data="rbPayees"
            border
            highlight-current-row
            :summary-method="getSummaries"
            show-summary
          >
            <el-table-column
              prop="orderno"
              slot=""
              label="序号"
              align="center"
              fixed
              width="65"
            >
        <el-row style="margin-top: 5px">
          <el-table :data="rbPayees" border highlight-current-row :summary-method="getSummaries" show-summary>
            <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65">
              <template slot-scope="scope">
                <el-input v-model="scope.row.orderno" placeholder="序号" />
              </template>
            </el-table-column>
            <!--主键、外键不展示-->
            <el-table-column
              prop="id"
              slot=""
              label="主键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.id" placeholder="id" />
              </template>
            </el-table-column>
            <el-table-column
              prop="rbid"
              slot=""
              label="外键"
              align="center"
              fixed
              width="95"
              v-if="false"
            >
            <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false">
              <template slot-scope="scope">
                <el-input v-model="scope.row.rbid" placeholder="rbid" />
              </template>
            </el-table-column>
            <el-table-column
              prop="persontype"
              slot=""
              label="人员类别"
              align="center"
              fixed
              width="130"
            >
            <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.persontype"
                  value-key="value"
                  placeholder="人员类别"
                  @change="getPersons(scope.row)"
                >
                  <el-option
                    v-for="dict in dict.type.sys_travelexpensebelong"
                    :key="dict.value"
                    :label="dict.label"
                    :value="dict.label"
                  ></el-option>
                <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别"
                  @change="getPersons(scope.row)">
                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
                    :value="dict.label"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="personname"
              slot=""
              label="收款人"
              align="center"
              fixed
              width="110"
            >
            <el-table-column prop="personname" slot="" label="收款人" align="center" fixed width="110">
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.personname"
                  clearable
                  filterable
                  allow-create
                  ref="getReportname"
                  default-first-option
                  placeholder="请选择"
                  @change="getAccountinfo2(scope.row, scope.row.persontype)"
                >
                  <el-option
                    v-for="item in personsSel"
                    :key="item.reportNo"
                    :label="item.reportName"
                    :value="item.reportName"
                  >
                <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname"
                  default-first-option placeholder="请选择" @change="getAccountinfo2(scope.row, scope.row.persontype)">
                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
                    :value="item.reportName">
                  </el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="bankname"
              slot=""
              label="银行名称"
              align="center"
              fixed
              width="200"
            >
            <el-table-column prop="bankname" slot="" label="银行名称" align="center" fixed width="200">
              <template slot-scope="scope">
                <el-input v-model="scope.row.bankname" placeholder="银行名称" />
              </template>
            </el-table-column>
            <el-table-column
              prop="bankcardno"
              slot=""
              label="银行卡号"
              align="center"
              fixed
              width="200"
            >
            <el-table-column prop="bankcardno" slot="" label="银行卡号" align="center" fixed width="200">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.bankcardno"
                  placeholder="银行卡号"
                />
                <el-input v-model="scope.row.bankcardno" placeholder="银行卡号" />
              </template>
            </el-table-column>
            <el-table-column
              prop="amount"
              slot=""
              label="打款金额"
              align="center"
              fixed
              width="130"
            >
            <el-table-column prop="amount" slot="" label="打款金额" align="center" fixed width="130">
              <template slot-scope="scope">
                <el-input v-model="scope.row.amount" placeholder="打款金额" />
              </template>
            </el-table-column>
            <el-table-column
              prop="remark"
              slot=""
              label="请款说明"
              align="center"
              fixed
            >
            <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed>
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="说明" />
              </template>
@@ -806,70 +428,33 @@
                </el-date-picker>
              </template>
            </el-table-column>-->
            <el-table-column
              label="操作"
              align="center"
              width="100"
              v-if="dialogType == 'edit'"
            >
            <el-table-column label="操作" align="center" width="100" v-if="operationType == 'edit'">
              <template slot-scope="scope">
                <el-button
                  type="text"
                  size="mini"
                  @click="addPayeeRow(scope.$index)"
                  >新增</el-button
                >
                <el-button
                  @click.native.prevent="
                    deletePayeeRow(scope.$index, rbPayees, scope.row)
                  "
                  type="text"
                  size="small"
                >
                <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button>
                <el-button @click.native.prevent="
                  deletePayeeRow(scope.$index, rbPayees, scope.row)
                  " type="text" size="small">
                  删除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <el-row v-if="dialogType == 'detail' || dialogType == 'check'">
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'">
          <el-col :span="20">审核记录</el-col>
        </el-row>
        <el-row v-if="operationType != 'edit'">
          <el-table :data="fundflowList" border>
            <el-table-column
              label="审核人"
              align="center"
              width="120"
              prop="checkusername"
            />
            <el-table-column
              label="审核日期"
              align="center"
              width="160"
              prop="createTime"
            />
            <el-table-column
              label="审核结果"
              align="center"
              width="200"
              prop="flowconclusion"
              ><template slot-scope="scope"
                ><span v-if="scope.row.flowconclusion == 1">通过</span
                ><span v-if="scope.row.flowconclusion == 2"
                  >不通过</span
                ></template
              >
            <el-table-column label="审核人" align="center" width="150" prop="checkusername" />
            <el-table-column label="审核日期" align="center" width="200" prop="createTime" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"><template
                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">通过</span><span
                  v-if="scope.row.flowconclusion == 2">不通过</span></template>
            </el-table-column>
            <el-table-column
              label="审核备注"
              align="center"
              prop="flowcontent"
            />
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
          </el-table>
        </el-row>
        <el-row
          style="margin-top: 25px; margin-bottom: 5px"
          v-if="dialogType == 'check'"
        >
        <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'">
          <el-col :span="7">
            <el-form-item label="审核结果" align="left">
              <el-radio-group v-model="checkObj.flowlevelone" align="left">
@@ -879,7 +464,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="dialogType == 'check'">
        <el-row v-if="operationType == 'check'">
          <el-col :span="17">
            <el-form-item label="审核备注" align="left">
              <el-input v-model="checkObj.flowconclusion" placeholder="备注" />
@@ -888,18 +473,8 @@
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button
          type="primary"
          @click="submitForm"
          v-if="dialogType == 'edit'"
          >保 存</el-button
        >
        <el-button
          type="primary"
          @click="checksubmit"
          v-if="dialogType == 'check'"
          >提 交</el-button
        >
        <el-button type="primary" @click="submitForm" v-if="operationType == 'edit'">保 存</el-button>
        <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提 交</el-button>
        <!--<el-button @click="cancel">退 出</el-button>-->
      </div>
    </div>
@@ -908,31 +483,12 @@
      <div class="pdfimg">
        <div class="box-pdf">
          <div>
            <el-upload
              size="mini"
              class="upload-demo"
              :action="uploadFileUrl"
              :file-list="fileListto"
              multiple
              :limit="20"
              :headers="headers"
              :on-success="
                (response, file, fileList) =>
                  uploadSccess(response, file, fileList)
              "
              :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-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" multiple
              :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
                uploadSccess(response, file, fileList)
                " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError"
              :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
              <el-button :disabled="operationType == 'detail'" size="small" type="primary">上传</el-button>
            </el-upload>
          </div>
          <!-- <div
@@ -1114,7 +670,7 @@
      defaultperson: {},
      fundflowList: [],
      showApproveRecordDialog: false,
      dialogType: "edit",
      operationType: "edit",
      //上传发票文件路径
      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
@@ -1194,7 +750,7 @@
  },
  methods: {
    handleUploadError() {},
    handleUploadError() { },
    remove(file, fileList) {
      const rbDetails = [...this.rbDetails];
@@ -1354,7 +910,7 @@
        row.days = (
          Math.floor(
            Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
              (1000 * 3600 * 24)
            (1000 * 3600 * 24)
          ) + 1
        ).toString();
      } else {
@@ -1635,7 +1191,7 @@
      this.reset();
      // this.open = true;
      this.title = "新增差旅申请单";
      this.dialogType = "edit";
      this.operationType = "edit";
      this.fundflowList = [];
      console.log(this.title, this.defaultperson);
@@ -1657,7 +1213,7 @@
      //   query: { id: ids }
      // });
      this.dialogType = "edit";
      this.operationType = "edit";
      this.reset();
      // this.open = true;
      this.title = "报销申请修改";
@@ -1668,8 +1224,8 @@
        this.form = response.data;
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
              .split(",")
              .map(item => ({ url: item, name: item }))
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        this.form.recordstatus = response.data.recordstatus + "";
@@ -1710,7 +1266,7 @@
    /** 查看按钮操作 */
    handleDetail(ids) {
      this.dialogType = "detail";
      this.operationType = "detail";
      this.title = "报销申请详情";
      this.reset();
@@ -1722,8 +1278,8 @@
        //票据
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
              .split(",")
              .map(item => ({ url: item, name: item }))
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
@@ -1770,7 +1326,7 @@
    /** 审核按钮操作 */
    handleCheck(ids) {
      this.dialogType = "check";
      this.operationType = "check";
      this.title = "报销申请详情";
      this.reset();
@@ -1783,8 +1339,8 @@
        //票据
        this.fileListto = this.form.annexfiles
          ? this.form.annexfiles
              .split(",")
              .map(item => ({ url: item, name: item }))
            .split(",")
            .map(item => ({ url: item, name: item }))
          : [];
        //审核状态
@@ -2013,7 +1569,7 @@
      const ids = row.id || this.ids;
      this.$modal
        .confirm("是否确认删除该条记录?")
        .then(function() {
        .then(function () {
          // 删除details内的数据
          return delReimbursement(ids);
        })
@@ -2022,7 +1578,7 @@
          this.getList();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});
        .catch(() => { });
    },
    /** 导出按钮操作 */
@@ -2038,7 +1594,7 @@
          this.$download.name(response.msg);
          this.exportLoading = false;
        })
        .catch(() => {});
        .catch(() => { });
    },
    //新增一行
@@ -2321,7 +1877,7 @@
        this.form.amountrequested = allSum.toFixed(2);
        this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
      } catch {}
      } catch { }
    },
    //金额数字转换成大写