WXL
2024-02-20 c0b29ee03f4f6c984f35618bfa669ba3f2ab6517
src/views/project/donationdetails/index.vue
@@ -3,7 +3,7 @@
    <div class="left-course">
      <div class="postfilx">
        <div class="title">工作进程</div>
        <div style="height: 666px;">
        <div>
          <el-steps direction="vertical" :active="workflow">
            <el-step title="潜在捐献" icon="el-icon-user">
              <template slot="description" v-if="Processdata.donatebaseinfo.createtime">
@@ -618,7 +618,7 @@
            <el-col :span="12">
              <el-form-item label="签字亲属" prop="kinshipconfirmationsign">
                <el-checkbox-group v-model="organdecision">
                  <el-checkbox v-for="item in kinshiplist" :label="item">
                  <el-checkbox v-for="item in kinshiplist" :key="item" :label="item">
                    {{ item == "子女" ? item + "(人)" : item }}
                  </el-checkbox>
                </el-checkbox-group>
@@ -638,11 +638,11 @@
          <el-row>
            <el-form-item label-width="100px" label="捐献决定">
              <el-checkbox-group v-model="organdecision">
                <el-checkbox v-for="item in organselection" :label="item">
                  {{ item }}
                <el-checkbox v-for="item in organselection" :key="item" :label="item">{{ item }}
                </el-checkbox>
              </el-checkbox-group>
            </el-form-item></el-row>
            </el-form-item>
          </el-row>
          <el-row>
            <!-- <el-col :span="18">
              <el-form-item align="left" label="捐献决定">
@@ -1226,15 +1226,15 @@
          >文件指导目录</el-button
        >
      </div> -->
      <el-tabs style="margin-top: 20px;" v-model="activeName" type="card" @tab-click="handleClick">
        <el-tab-pane :label="activetele" :name="1"> </el-tab-pane>
      <el-tabs style="margin-top: 20px;" v-model="activeName" type="card">
        <el-tab-pane :label="activetele" name="1"> </el-tab-pane>
      </el-tabs>
      <div class="pdfimg">
        <div class="box-pdf">
          <div>
            <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList"
              :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) =>
                uploadSccess(response, file, fileList)
                  uploadSccess(response, file, fileList)
                " :on-preview="downFile" :on-error="handleUploadError" :on-remove="remove" accept="image/*,.pdf">
              <i class="el-icon-upload"></i>
              <div class="el-upload__text">
@@ -1358,6 +1358,7 @@
} from "@/api/project/donationwitness";
import {
  listnewDonatecompletioninfo,
  listDonatecompletioninfo,
  addDonatecompletioninfo,
  updateDonatecompletioninfo,
  listDonatecomporgan,
@@ -1384,6 +1385,7 @@
      infoid: 736,
      drawer: false,
      form: {},
      activeName: "",
      tableDatafile: [
        {
          name: "王小虎",
@@ -1410,7 +1412,7 @@
        "双肾脏",
        "心脏",
        "肺脏",
        "腺体",
        "胰腺",
        "小肠",
        "双眼组织",
        "遗体",
@@ -1461,8 +1463,7 @@
      showSaveBtn: true,
      showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
      // 流程数据:donatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
      Processdata: {
      },
      Processdata: {},
      //省市区默认值设置,可为空
      searchAddress: {
@@ -1610,6 +1611,7 @@
      headers: {
        Authorization: "Bearer " + getToken()
      },
      ICDtoken: getToken(),
      // 网络请求头
      Networkheader: null,
      //票据文件
@@ -1624,6 +1626,7 @@
  },
  created() {
    this.Getnetworkheader();
    this.infoid = this.$route.query.id;
  },
  mounted() {
@@ -1649,7 +1652,6 @@
    Getbasicinformation() {
      // 左侧流程数据
      getDonatebaseinfoflow(this.infoid).then(res => {
        console.log("getDonatebaseinfoflow", res.data);
        this.Processdata = res.data;
      });
@@ -1767,14 +1769,14 @@
        });
      } else if (this.actives == 5 && !this.witnessform.infoid) {
        // 不存在时获取器官信息
        if (this.transplantdata.infoid) {
        if (this.witnessform.infoid) {
          return;
        }
        listDonationwitnessorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              this.procureddata = res.rows;
              this.procureddata.infoid = this.infoid;
            }
            this.organList.organprocured = [];
@@ -1804,7 +1806,7 @@
      } else if (this.actives == 6) {
        this.annexfilesList = this.registerlist;
        this.activetele = "完成登记";
        if (this.transplantdata.infoid) {
        if (this.accomplishform.infoid) {
          return;
        }
        // 不存在时获取器官
@@ -1819,7 +1821,9 @@
                this.transplantdata.infoid = this.infoid;
              }
              for (let i = 0; i < this.transplantdata.length; i++) {
                this.organList.organtransplant.push(this.transplantdata[i].organno);
                this.organList.organtransplant.push(
                  this.transplantdata[i].organno
                );
              }
            } else {
              // this.$modal.msgError(
@@ -1829,7 +1833,8 @@
          });
        }
        // 获取完成登记信息
        listnewDonatecompletioninfo(accpre).then(response => {
        // listnewDonatecompletioninfo(accpre).then(response => {
        listDonatecompletioninfo(accpre).then(response => {
          if (response.code == 200 && response.rows.length) {
            this.accomplishform = response.rows[0];
            this.accomplishform.infoid = this.infoid;
@@ -1894,6 +1899,15 @@
            this.form.redorganname = this.form.redorganno;
          }
          //案例时间更新成获取时间
          if (this.actives == 5) {
            this.$refs["witnessform"].validate(valid1 => {
              this.$refs["form"].validate(valid2 => {
                this.form.donatetime = this.witnessform.operationbegtime;
              });
            });
          }
          if (this.form.id != null) {
            if (this.form.workflow == 0) {
              this.form.workflow = 1;
@@ -1901,7 +1915,6 @@
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {
                console.log(res);
              });
              this.Getbasicinformation();
              // this.Processvalidation();
@@ -1914,7 +1927,6 @@
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {
                  console.log(res);
                });
                this.Getbasicinformation();
                // this.Processvalidation();
@@ -2037,12 +2049,10 @@
          if (valid) {
            if (this.witnessform.id != null) {
              console.log(456);
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
              });
            } else {
              console.log(123);
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
              });
@@ -2050,7 +2060,6 @@
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            console.log("procureddata", this.procureddata);
            saveDonationwitnessorgan(this.procureddata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
@@ -2067,7 +2076,6 @@
          if (valid) {
            // 保存捐献器官移植信息
            this.transplantdata.infoid = this.infoid;
            console.log("transplantdata", this.transplantdata);
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
@@ -2075,8 +2083,7 @@
            });
            // 保存确认信息
            if (this.accomplishform.dcid) {
              console.log(this.accomplishform);
            if (this.accomplishform.id) {
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
              });
@@ -2094,8 +2101,7 @@
    // 切换tab
    on_click(e) {
      // if (e != "" || e != null) {
      console.log(this.form.workflow);
      console.log(e);
      let asdx = this.form.workflow + 1;
      if (asdx >= e) {
        this.actives = e;
@@ -2113,22 +2119,30 @@
      let organIndex = this.allocateddata.findIndex(
        item => item.organno == value
      );
      console.log("selectedIndex:" + selectedIndex + ",organIndex:" + organIndex);
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        //取消选择
        if (organIndex != -1) {
          if (this.allocateddata[organIndex].id > 0) {
            this.$confirm("删除器官分配数据后将不法恢复,您确认删除该条记录吗?", "提示", {
              confirmButtonText: "确定",
              cancelButtonText: "取消",
              type: "warning"
            })
            this.$confirm(
              "删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonateorgan(this.allocateddata[organIndex].id).then(res => {
                  this.allocateddata.splice(organIndex, 1);
                  this.loading = false;
                  this.$modal.msgSuccess("删除成功,如果需要增加该器官,请重新选择器官!");
                  this.$modal.msgSuccess(
                    "删除成功,如果需要增加该器官,请重新选择器官!"
                  );
                });
              })
              .catch(() => {
@@ -2139,8 +2153,7 @@
            this.allocateddata.splice(organIndex, 1);
          }
        }
      }
      else {
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
@@ -2161,8 +2174,7 @@
              organstate: 1
            });
          }
        }
        else {
        } else {
          this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
        }
      }
@@ -2175,23 +2187,33 @@
      let organIndex = this.procureddata.findIndex(
        item => item.organno == value
      );
      console.log("selectedIndex:" + selectedIndex + ",organIndex:" + organIndex);
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        //取消选择
        if (organIndex != -1) {
          if (this.procureddata[organIndex].id > 0) {
            this.$confirm("删除器官分配数据后将不法恢复,您确认删除该条记录吗?", "提示", {
              confirmButtonText: "确定",
              cancelButtonText: "取消",
              type: "warning"
            })
            this.$confirm(
              "删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonationwitnessorgan(this.procureddata[organIndex].id).then(res => {
                  this.procureddata.splice(organIndex, 1);
                  this.loading = false;
                  this.$modal.msgSuccess("删除成功,如果需要增加该器官,请重新选择器官!");
                });
                delDonationwitnessorgan(this.procureddata[organIndex].id).then(
                  res => {
                    this.procureddata.splice(organIndex, 1);
                    this.loading = false;
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                  }
                );
              })
              .catch(() => {
                this.organList.organprocured.push(value);
@@ -2201,8 +2223,7 @@
            this.procureddata.splice(organIndex, 1);
          }
        }
      }
      else {
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
@@ -2223,8 +2244,7 @@
              organstate: "1"
            });
          }
        }
        else {
        } else {
          this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
        }
      }
@@ -2237,23 +2257,33 @@
      let organIndex = this.transplantdata.findIndex(
        item => item.organno == value
      );
      console.log("selectedIndex:" + selectedIndex + ",organIndex:" + organIndex);
      console.log(
        "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
      );
      if (selectedIndex == -1) {
        //取消选择
        //取消选择
        if (organIndex != -1) {
          if (this.transplantdata[organIndex].id > 0) {
            this.$confirm("删除器官数据后将不法恢复,您确认删除该条记录吗?", "提示", {
              confirmButtonText: "确定",
              cancelButtonText: "取消",
              type: "warning"
            })
            this.$confirm(
              "删除器官数据后将不法恢复,您确认删除该条记录吗?",
              "提示",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning"
              }
            )
              .then(() => {
                this.loading = true;
                delDonatecomporgan(this.transplantdata[organIndex].id).then(res => {
                  this.transplantdata.splice(organIndex, 1);
                  this.loading = false;
                  this.$modal.msgSuccess("删除成功,如果需要增加该器官,请重新选择器官!");
                });
                delDonatecomporgan(this.transplantdata[organIndex].id).then(
                  res => {
                    this.transplantdata.splice(organIndex, 1);
                    this.loading = false;
                    this.$modal.msgSuccess(
                      "删除成功,如果需要增加该器官,请重新选择器官!"
                    );
                  }
                );
              })
              .catch(() => {
                this.organList.organtransplant.push(value);
@@ -2263,8 +2293,7 @@
            this.transplantdata.splice(organIndex, 1);
          }
        }
      }
      else {
      } else {
        //选择新器官
        if (organIndex == -1) {
          //添加器官记录
@@ -2285,8 +2314,7 @@
              organstate: 1
            });
          }
        }
        else {
        } else {
          this.$modal.msgWarning("该器官已经选择,请勿重复选择!");
        }
      }
@@ -2294,7 +2322,6 @@
    // 前进步骤
    makeastepforward() {
      console.log(this.actives);
      if (this.actives <= 6) {
        this.actives++;
        this.GetAttacheddata();
@@ -2304,8 +2331,7 @@
    },
    // 更改进程效验
    Processvalidation() {
      console.log(this.form.workflow);
      console.log(this.actives);
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
          this.form.workflow++;
@@ -2316,7 +2342,6 @@
      } else if (this.form.workflow > this.actives) {
        // this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {
          console.log(res);
        });
        this.listDonateannex();
        this.GetAttacheddata();
@@ -2325,7 +2350,6 @@
        // this.$modal.msgWarning("请先完成前部步骤");
        return;
      }
      console.log(this.form.workflow);
    },
    // 上报审核
    Reportforreview() { },
@@ -2375,7 +2399,6 @@
          },
          {}
        );
        console.log(groupedArr);
      });
    },
    // 附件修改数据转存封装
@@ -2393,10 +2416,8 @@
        this.registerlist = arr;
      }
      // 删除时修改主列delFlag
      console.log(delvalue);
      const index = this.donatelist.indexOf(delvalue);
      console.log(index);
      if (index !== -1) {
      if (index != -1) {
        if (delvalue.id) {
          this.donatelist[index].delFlag = 1;
          console.log("修改老数据后", this.donatelist);
@@ -2422,46 +2443,91 @@
    // 上传成功
    uploadSccess(response, file, fileList) {
      this.rbDetails;
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
      console.log(this.Networkheader);
      //获取票据信息位置
      if (response.code == 200) {
        // this.form.filename = file.raw.name;
        this.previewpdf = true;
        fetch(pdfimg, config)
          .then(response => response.blob())
          .then(blob => {
            // 将获取的数据流转换为URL
            this.pdfimg = URL.createObjectURL(blob);
            this.pdfimgsrcList.push(URL.createObjectURL(blob));
            this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
            let addvalue = {
              annexname: file.name,
              annexurl: URL.createObjectURL(blob),
              delFlag: 0,
              infoid: this.infoid,
              annexfilestype: this.actives
            };
            this.fileListto.push(addvalue);
          })
          .catch(error => {
            console.error("Error loading image", error);
            return;
          });
        this.$modal.msgSuccess(response.msg);
        let addvalue = {
        console.log(this.fileListto, "新增后");
        if (!this.annexfilesList) {
          this.annexfilesList = [];
        }
        let addvalues = {
          annexname: file.name,
          annexurl: response.fileName,
          delFlag: 0,
          infoid: this.infoid,
          annexfilestype: this.actives
        };
        this.fileListto.push(addvalue);
        this.Newconversion(this.fileListto, "", addvalue);
        this.pdfimgsrcList.push(
          this.Networkheader + "/prod-api" + response.fileName
        );
        console.log(this.pdfimgsrcList);
        this.pdftitle = "共" + this.pdfimgsrcList.length + "项";
        this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
        this.annexfilesList = this.fileListto;
        this.annexfilesList.push(addvalues);
        this.Newconversion(this.annexfilesList, "", addvalues);
      } else {
        console.log(response.msg);
      }
    },
    // 点击票据
    // 文件弹窗触发
    Filepopup(index, rows, row) {
      const config = {
        headers: { Authorization: "Bearer " + this.ICDtoken }
      };
      this.fileListto = [];
      this.pdfimgsrcList = [];
      this.pdfimg = '';
      this.atpresent = index;
      this.pdfVisible = true;
      if (this.annexfilesList.length) {
        this.previewpdf = true;
        this.fileListto = this.annexfilesList;
        console.log(this.fileListto);
        this.pdfimg =
          this.Networkheader + "/prod-api" + this.fileListto[0].annexurl;
        this.fileListto.forEach(item => {
          this.pdfimgsrcList.push(
            this.Networkheader + "/prod-api" + item.annexurl
          );
        this.annexfilesList.forEach((value, indexson) => {
          const pdfimg = this.Networkheader + "/prod-api" + value.annexurl;
          fetch(pdfimg, config)
            .then(response => response.blob())
            .then(blob => {
              // 将获取的数据流转换为URL
              this.fileListto.push({
                annexname: value.annexname,
                annexurl: URL.createObjectURL(blob),
                delFlag: 0,
                infoid: this.infoid,
                annexfilestype: this.actives
              });
              if (this.fileListto.length == 1) {
                this.pdfimg = URL.createObjectURL(blob);
              }
              this.pdfimgsrcList.push(URL.createObjectURL(blob));
            })
            .catch(error => {
              console.error("Error loading image", error);
              return;
            });
        });
        this.previewpdf = true;
      } else {
        this.fileListto = [];
        this.pdfimg = "";
@@ -2473,8 +2539,8 @@
    downFile(item) {
      console.log(item, "点击文件拿item");
      this.pdftitle =
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name;
      let name = item.name.split(".");
        "共" + this.pdfimgsrcList.length + "项,当前选中" + item.annexname;
      let name = item.annexname.split(".");
      if (name[1] == "pdf") {
        this.$modal.msgWarning("当前文件暂不支持预览");
        this.previewpdf = false;
@@ -2482,10 +2548,9 @@
      } else if (name[1] == "jpg" || "png") {
        this.previewpdf = true;
        if (item.annexurl) {
          this.pdfimg = this.Networkheader + "/prod-api" + item.annexurl;
          this.pdfimg = item.annexurl;
        } else {
          this.pdfimg =
            this.Networkheader + "/prod-api" + item.response.annexurl;
          this.pdfimg = "";
        }
      } else {
        this.hintitle = "当前文件暂不支持预览";
@@ -2499,15 +2564,22 @@
    },
    // 点击删除
    deletedowfile(row) {
      const indexlist = this.getIndexInArray(
        this.pdfimgsrcList,
        this.Networkheader + "/prod-api" + row.annexurl
      );
      let indexvalue = "";
      const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.annexurl);
      this.pdfimgsrcList.splice(indexlist, 1);
      const index = this.getIndexInArray(this.fileListto, row);
      this.Newconversion(this.fileListto, this.fileListto[index], "");
      this.fileListto.splice(index, 1);
      console.log(index);
      indexvalue = this.annexfilesList.find((item, index) => {
        return item.annexname == row.annexname;
      });
      console.log(indexvalue, "删除索引");
      this.annexfilesList.splice(indexvalue, 1);
      this.Newconversion(
        this.annexfilesList,
        indexvalue,
        ""
      );
    },
    // 点击上移
    moveupdowfile(row) {
@@ -2563,11 +2635,18 @@
    //重新分配器官
    redistribution(row) {
      console.log("redistribution", row);
      row.reallocationreason = "已重新分配,原分配信息(姓名:" + row.name + "、系统编号:" + row.caseno + "、接收时间:" + row.applicanttime + ")"
      row.reallocationreason =
        "已重新分配,原分配信息(姓名:" +
        row.name +
        "、系统编号:" +
        row.caseno +
        "、接收时间:" +
        row.applicanttime +
        ")";
      row.name = null;
      row.caseno = null;
      row.applicanttime = null;
    },
    }
  },
  dicts: [
@@ -2618,10 +2697,10 @@
      margin: 20px 10px;
      padding: 10px;
      margin-top: 0;
      z-index: 999;
      position: -webkit-sticky;
      position: fixed;
      top: 50;
      // z-index: 999;
      // position: -webkit-sticky;
      // position: fixed;
      // top: 50;
    }
    .title {