11
WXL
2023-10-31 be42af700f901f496db68d97ab46e2c1d4bef85a
11
已修改3个文件
367 ■■■■■ 文件已修改
src/api/project/donateannex.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/donationdetails/index.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/applyDetail/index.vue 297 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/project/donateannex.js
@@ -8,7 +8,14 @@
    params: query
  })
}
// 修改附件列表
export function Modifydonationattachment(data) {
  return request({
    url: '/project/donateannex/editannexfiles',
    method: 'post',
    data: data
  })
}
// 查询捐献附件列表
export function listDonateannex(query) {
  return request({
@@ -29,7 +36,7 @@
// 新增捐献附件
export function addDonateannex(data) {
  return request({
    url: '/project/donateannex',
    url: '/project/donateannex/add',
    method: 'post',
    data: data
  })
src/views/project/donationdetails/index.vue
@@ -4,7 +4,7 @@
      <div class="postfilx">
        <div class="title">工作进程</div>
        <div style="height: 666px;">
          <el-steps direction="vertical" :active="actives">
          <el-steps direction="vertical" :active="workflow">
            <el-step title="潜在捐献" icon="el-icon-user">
              <template
                slot="description"
@@ -2225,6 +2225,11 @@
<script>
import {
  addDonateannex,
  listDonateannex,
  Modifydonationattachment
} from "@/api/project/donateannex";
import {
  getDonatebaseinfo,
  addDonatebaseinfo,
  updateDonatebaseinfo,
@@ -2310,6 +2315,7 @@
      accomplishform: {},
      tableData: [],
      actives: 0, //进程
      workflow:0,
      loading: false,
      //   保存、终止按钮确认
      showSaveBtn: true,
@@ -2422,6 +2428,12 @@
      witnessrules: {},
      accomplishrules: {},
      //附件列表
      donatelist: [], //附件总组
      potentiallist: [], //潜在附件
      medicinelist: [], //医学附件
      affirmlist: [], //确认附件
      ethiclist: [], //伦理附件
      registerlist: [], //完成附件
      fileList: [],
      fileListto: [],
      invoicefileList: [],
@@ -2452,23 +2464,24 @@
  mounted() {
    // this.id = this.$route.query.id;
    this.Getbasicinformation();
    this.listDonateannex();
  },
  methods: {
    // 获取主表数据
    Getbasicinformation() {
      console.log(this.infoid);
      console.log(this.hintitle);
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        console.log(res.data);
        this.Processdata = res.data;
      });
      // 表单数据
      getDonatebaseinfo(this.infoid).then(response => {
        this.form = response.data;
        this.showTerminationBtn = response.data.terminationCase;
        this.actives = response.data.workflow;
        this.workflow=response.data.workflow;
        response.data.sex = parseInt(response.data.sex);
        this.form.id = response.data.id;
        this.form.diseasetype = this.form.diseasetype.split(",");
@@ -2578,6 +2591,40 @@
        });
      }
    },
    // 获取附件数据并分类二级列
    listDonateannex() {
      let parmi = {};
      parmi.infoid = this.infoid.toString();
      listDonateannex(parmi).then(res => {
        this.donatelist = res.rows;
      });
// 测试数据
      const arr = [
        { type: "type1", name: "saaada" },
        { type: "type2", name: "ssssda" },
        { type: "type3", name: "sdddda" },
        { type: "type4", name: "sdddda" },
        { type: "type5", name: "sdddda" }
      ];
      const groupedArr = arr.reduce((accumulator, currentValue) => {
        const key = currentValue.type;
        if (key == "type1") {
          this.potentiallist.push(currentValue);
        } else if (key == "type2") {
          this.medicinelist.push(currentValue);
        } else if (key == "type3") {
          this.affirmlist.push(currentValue);
        } else if (key == "type4") {
          this.ethiclist.push(currentValue);
        } else if (key == "type5") {
          this.registerlist.push(currentValue);
        }
        return accumulator;
      }, {});
      console.log(this.potentiallist);
      console.log(this.medicinelist);
    },
    /** 保存主表按钮 */
    submitForm() {
      this.$refs["form"].validate(valid => {
@@ -2880,7 +2927,7 @@
    },
    // 返回上一页
    cancel() {},
    // ------------------------票据
    // ----------------------------------文件
    // 获取请求头
    Getnetworkheader() {
      let string = window.location.href;
@@ -3092,7 +3139,9 @@
        const item = this.invoicefileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中
        this.invoicefileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位
      }
    }
    },
    // 保存
    saveattachment(stype) {}
  }
};
</script>
src/views/project/fund/applyDetail/index.vue
@@ -448,7 +448,13 @@
              v-if="form.applytype == '1' || form.applytype == '2'"
            >
              <template slot-scope="scope">
                <el-input v-model="scope.row.idcardno" placeholder="身份证号" />
                <el-form-item :error="scope.row.error" label-width="0">
                  <el-input
                    v-model.number="scope.row.idcardno"
                    @input="tableParValueChange(scope.row)"
                    placeholder="身份证号"
                  />
                </el-form-item>
              </template>
            </el-table-column>
            <el-table-column
@@ -753,7 +759,7 @@
      style="text-align: center"
      v-loading="loading"
    >
      <el-form ref="funddetailForm" :model="funddetailForm">
      <el-form ref="funddetailForm" :rules="funddrules" :model="funddetailForm">
        <el-row v-if="businessType != 4 && businessType != 3">
          <el-col
            :span="24"
@@ -1446,6 +1452,14 @@
  ],
  data() {
    var validatePass = (rule, value, callback) => {
      const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/;
      if (regex.test(value)) {
        callback();
      } else {
        callback(new Error("身份证号码格式错误"));
      }
    };
    //这里存放数据
    return {
      // 遮罩层
@@ -1557,6 +1571,18 @@
        ],
        deptmentname: [
          { required: true, message: "请输入所属业务组", trigger: "blur" }
        ]
      },
      funddrules: {
        expertidcardno: [{ validator: validatePass, trigger: "blur" }],
        expertdepositbank: [
          { required: true, message: "请输入开户银行", trigger: "change" }
        ],
        expertbankcardno: [
          { required: true, message: "请输入银行卡号", trigger: "change" }
        ],
        expertunitno: [
          { required: true, message: "请选择单位名称", trigger: "change" }
        ]
      },
@@ -2292,9 +2318,8 @@
        this.$modal.msgError("请选确认材料状态已收到!");
        return;
      }
        this.Savenow();
        console.log("保存并审批");
      this.Savenow();
      console.log("保存并审批");
    },
    // 取消按钮
@@ -3378,145 +3403,161 @@
    //专家/医疗机构/费用报销机构选择
    ConfirmDetailDialog() {
      // if (this.businessType == 4) {
      //   if (this.experthear == "expert") {
      //     this.funddetailForm.beneficiaryname = this.unitforname;
      //   } else {
      //     this.funddetailForm.beneficiaryname = this.Personnelforname;
      //   }
      // }
      let tempIndex = this.funddetailForm.index;
      let tempExpertName = this.funddetailForm.beneficiaryname;
      let tempUnitname = this.funddetailForm.unitname;
      let singleDetail = this.rbDetails[tempIndex];
      this.$refs["funddetailForm"].validate(valid => {
        let tempIndex = this.funddetailForm.index;
        let tempExpertName = this.funddetailForm.beneficiaryname;
        let tempUnitname = this.funddetailForm.unitname;
        let singleDetail = this.rbDetails[tempIndex];
      if (
        this.selectionType == "expert" ||
        this.businessType == 4 ||
        this.businessType == 3
      ) {
        if (this.expertfrom == "1" || this.experthear == "unit") {
          //从专家列表获取信息
          this.personlist.map(res => {
            if (tempExpertName == 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 {
          //保存新增专家
          this.expertform.id = null;
          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;
          this.expertform.sex = null;
          this.expertform.telephone = null;
          this.expertform.address = null;
          this.expertform.wbm = null;
          this.expertform.pym = null;
        if (
          this.selectionType == "expert" ||
          this.businessType == 4 ||
          this.businessType == 3
        ) {
          if (this.expertfrom == "1" || this.experthear == "unit") {
            //从专家列表获取信息
            this.personlist.map(res => {
              if (tempExpertName == 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 {
            //保存新增专家
            this.expertform.id = null;
            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;
            this.expertform.sex = null;
            this.expertform.telephone = null;
            this.expertform.address = null;
            this.expertform.wbm = null;
            this.expertform.pym = null;
          this.expertform.unitno = this.funddetailForm.expertunitno;
          try {
            let unitIndex = this.unitList.findIndex(
              item => this.expertform.unitno == item.organizationid
            );
            if (unitIndex > -1) {
              this.expertform.unitname = this.unitList[
                unitIndex
              ].organizationname;
            } else {
            this.expertform.unitno = this.funddetailForm.expertunitno;
            try {
              let unitIndex = this.unitList.findIndex(
                item => this.expertform.unitno == item.organizationid
              );
              if (unitIndex > -1) {
                this.expertform.unitname = this.unitList[
                  unitIndex
                ].organizationname;
              } else {
                this.expertform.unitname = this.expertform.unitno;
              }
            } catch {
              this.expertform.unitname = this.expertform.unitno;
            }
          } catch {
            this.expertform.unitname = this.expertform.unitno;
          }
          this.expertform.title = this.funddetailForm.experttitle;
          this.expertform.personnelunitno = null;
            this.expertform.title = this.funddetailForm.experttitle;
            this.expertform.personnelunitno = null;
          this.expertform.depositbank = this.funddetailForm.expertdepositbank;
          this.expertform.bankcardno = this.funddetailForm.expertbankcardno;
          this.expertform.branchbankname = null;
          this.expertform.remark = null;
          this.expertform.del_flag = "0";
            this.expertform.depositbank = this.funddetailForm.expertdepositbank;
            this.expertform.bankcardno = this.funddetailForm.expertbankcardno;
            this.expertform.branchbankname = null;
            this.expertform.remark = null;
            this.expertform.del_flag = "0";
          addExternalperson(this.expertform).then(response => {
            if (response.code == 200) {
              this.$modal.msgSuccess("新增专家信息成功!");
            addExternalperson(this.expertform).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增专家信息成功!");
              listExternalperson().then(res => {
                this.personlist = res.rows;
                //从专家列表获取信息
                this.personlist.map(res => {
                  if (res.username == this.funddetailForm.expertname) {
                    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);
                  }
                listExternalperson().then(res => {
                  this.personlist = res.rows;
                  //从专家列表获取信息
                  this.personlist.map(res => {
                    if (res.username == this.funddetailForm.expertname) {
                      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 if (this.selectionType == "unit") {
        singleDetail.unitno = this.funddetailForm.unitno;
        if (this.businessType == 1 || this.businessType == 2) {
          try {
            let unitIndex = this.unitList.findIndex(
              item => singleDetail.unitno == item.organizationid
            );
            if (unitIndex > -1) {
              singleDetail.unitname = this.unitList[unitIndex].organizationname;
            } else {
              }
            });
          }
        } else if (this.selectionType == "unit") {
          singleDetail.unitno = this.funddetailForm.unitno;
          if (this.businessType == 1 || this.businessType == 2) {
            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;
            }
          } catch {
            singleDetail.unitname = singleDetail.unitno;
          }
        } else if (this.businessType == 3 || this.businessType == 4) {
          try {
            let unitIndex = this.feeUnitList.findIndex(
              item => singleDetail.unitno == item.reportNo
            );
            if (unitIndex > -1) {
              singleDetail.unitname = this.feeUnitList[unitIndex].reportName;
              singleDetail.depositbank = this.feeUnitList[
                unitIndex
              ].depositbank;
              singleDetail.bankcardno = this.feeUnitList[unitIndex].bankcardno;
            } else {
          } else if (this.businessType == 3 || this.businessType == 4) {
            try {
              let unitIndex = this.feeUnitList.findIndex(
                item => singleDetail.unitno == item.reportNo
              );
              if (unitIndex > -1) {
                singleDetail.unitname = this.feeUnitList[unitIndex].reportName;
                singleDetail.depositbank = this.feeUnitList[
                  unitIndex
                ].depositbank;
                singleDetail.bankcardno = this.feeUnitList[
                  unitIndex
                ].bankcardno;
              } else {
                singleDetail.unitname = singleDetail.unitno;
              }
            } catch {
              singleDetail.unitname = singleDetail.unitno;
            }
          } catch {
            singleDetail.unitname = singleDetail.unitno;
          }
        }
      }
      // if (this.experthear == "unit") {
      //   singleDetail.unitname = "";
      // }
      if (this.businessType == 4 || this.businessType == 3) {
        singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
        // if (this.experthear == "unit") {
        //   singleDetail.unitname = "";
        // }
        if (this.businessType == 4 || this.businessType == 3) {
          singleDetail.beneficiaryname = this.funddetailForm.beneficiaryname;
        }
        this.rbDetails[tempIndex] = singleDetail;
        this.showSelectionDialog = false;
      });
    },
    tableParValueChange(row, tto) {
      const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/;
      if (tto) {
        if (regex.test(funddetailForm.expertidcardno)) {
          row.error = "";
        } else {
          row.error = "身份证号码格式错误";
        }
        return;
      }
      this.rbDetails[tempIndex] = singleDetail;
      this.showSelectionDialog = false;
      console.log(11);
      if (regex.test(row.idcardno)) {
        row.error = "";
      } else {
        row.error = "身份证号码格式错误";
      }
    }
  },