11
WXL
2024-08-14 0ac2d43fce4d74f6eea5a51a2e16af4e6a536c7c
src/views/project/donationdetails/index.vue
@@ -1324,7 +1324,7 @@
                    prop="organno"
                  />
                  <el-table-column
                    label="系统编号"
                    label="分配系统编号"
                    align="center"
                    width="120"
                    prop="caseno"
@@ -1332,12 +1332,12 @@
                    <template slot-scope="scope">
                      <el-input
                        v-model="scope.row.caseno"
                        placeholder="系统编号"
                        placeholder="分配系统编号"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="接收时间"
                    label="分配接收时间"
                    align="center"
                    width="200"
                    prop="applicanttime"
@@ -1350,7 +1350,7 @@
                        v-model="scope.row.applicanttime"
                        type="datetime"
                        value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="选择接收时间"
                        placeholder="选择分配接收时间"
                      >
                      </el-date-picker>
                    </template>
@@ -1379,6 +1379,7 @@
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.transplanthospitalno"
                        />
                      </div>
@@ -1788,6 +1789,7 @@
                        <org-selecter
                          ref="tranHosSelect"
                          :org-type="'4'"
                          :dataList="dataList"
                          v-model="scope.row.gainhospitalno"
                        />
                      </div>
@@ -2028,6 +2030,7 @@
                      <org-selecter
                        ref="tranHosSelect"
                        :org-type="'4'"
                        :dataList="dataList"
                        v-model="scope.row.hospitalno"
                        style="width: 100%"
                      />
@@ -2401,7 +2404,8 @@
  addDonatebaseinfo,
  updateDonatebaseinfo,
  getDonatebaseinfoflow,
  fileCase
  fileCase,
  getDonationNumber
} from "@/api/project/donatebaseinfo";
import {
  listMedicalevaluation,
@@ -2485,6 +2489,7 @@
      infoid: 736,
      drawer: false,
      form: {},
      istb: false,
      activeName: "",
      tableDatafile: [
        {
@@ -2494,6 +2499,7 @@
          type: "success"
        }
      ],
      dataList: [],
      medicineform: {
        infoid: null
      },
@@ -2750,6 +2756,7 @@
  created() {
    this.Getnetworkheader();
    this.getdataList();
    this.infoid = this.$route.query.id;
  },
  mounted() {
@@ -2894,29 +2901,32 @@
            // );
          }
        });
      } else if (
        this.actives == 5 &&
        !this.witnessform.id &&
        !this.procureddata[0]
      ) {
      } else if (this.actives == 5) {
        // 不存在时获取器官信息
        if (this.witnessform.id) {
        if (this.procureddata[0] && !this.istb) {
          return;
        }
        listDonationwitnessorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.procureddata = res.rows;
              this.procureddata.infoid = this.infoid;
              // this.procureddata.infoid = this.infoid;
            } else {
              this.procureddata = this.allocateddata.filter(
                obj =>
                  obj.organname !== "左半肝" &&
                  obj.organname !== "右半肝" &&
                  obj.organname !== "左外叶" &&
                  obj.organname !== "右三叶" &&
                  obj.organname !== "左肝" &&
                  obj.organname !== "右肝"
              );
              this.procureddata.infoid = this.infoid;
              this.procureddata = this.procureddata.map(obj => {
                obj.id = null;
                return obj;
              });
              // this.procureddata.infoid = this.infoid;
            }
            this.organList.organprocured = [];
            for (let i = 0; i < this.procureddata.length; i++) {
@@ -2935,6 +2945,7 @@
            if (response.data) {
              this.witnessform = response.data;
              this.witnessform.infoid = this.infoid;
              this.istb = false;
            }
          } else {
            // this.$modal.msgError(
@@ -2944,32 +2955,42 @@
        });
      } else if (this.actives == 6) {
        this.activetele = "完成登记";
        if (this.accomplishform.id) {
        if (this.transplantdata[0] && !this.istb) {
          return;
        }
        if (!this.organList.organtransplant[0]) {
          listDonatecomporgan(searchParam).then(res => {
            if (res.code == 200) {
              if (res.rows[0]) {
                this.transplantdata = res.rows;
                this.transplantdata.infoid = this.infoid;
              } else {
                this.transplantdata = this.allocateddata;
                this.transplantdata.infoid = this.infoid;
              }
              for (let i = 0; i < this.transplantdata.length; i++) {
                this.organList.organtransplant.push(
                  this.transplantdata[i].organno
                );
              }
        listDonatecomporgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.transplantdata = res.rows;
              // this.transplantdata.infoid = this.infoid;
            } else {
              // this.$modal.msgError(
              //   "器官列表获取失败:" + JSON.stringify(resall)
              // );
              this.transplantdata = this.allocateddata;
              this.transplantdata = this.transplantdata.map(obj => {
                obj.id = null;
                if (
                  obj.organname == "左眼角膜" ||
                  obj.organname == "右眼角膜"
                ) {
                  obj.transplantstate = 2;
                }
                return obj;
              });
              this.transplantdata.infoid = this.infoid;
            }
          });
        }
            for (let i = 0; i < this.transplantdata.length; i++) {
              this.organList.organtransplant.push(
                this.transplantdata[i].organno
              );
            }
          } else {
            // this.$modal.msgError(
            //   "器官列表获取失败:" + JSON.stringify(resall)
            // );
          }
        });
        // 获取完成登记信息
        listDonatecompletioninfo(searchParam).then(response => {
          if (response.code == 200 && response.rows.length) {
@@ -2982,6 +3003,22 @@
      } else if (this.actives == 0) {
        this.activetele = "潜在捐献";
      }
      if (!this.allocateddata[0]) {
        listDonateorgan(searchParam).then(res => {
          if (res.code == 200) {
            if (res.rows[0]) {
              this.allocateddata = res.rows;
              console.log("this.allocateddata", this.allocateddata);
              this.allocateddataform.allocateddata = this.allocateddata;
            }
            this.organList.organallocated = [];
            for (let i = 0; i < res.rows.length; i++) {
              this.organList.organallocated.push(this.allocateddata[i].organno);
            }
          } else {
          }
        });
      }
    },
    /** 保存主表按钮 */
@@ -2992,7 +3029,9 @@
          this.form.birthday = this.$moment(this.form.birthday).format(
            "YYYY-MM-DD HH:mm:ss"
          );
          this.form.diseasetype = this.form.diseasetype.join(",");
          this.form.infectious = this.form.infectious.join(",");
          this.form.selfwill = this.form.selfwill.join(",");
          this.form.othercases = this.form.othercases.join(",");
@@ -3050,7 +3089,9 @@
            }
            updateDonatebaseinfo(this.form).then(response => {
              this.$modal.msgSuccess("保存成功");
              Modifydonationattachment(this.donatelist).then(res => {});
              Modifydonationattachment(this.donatelist).then(res => {
                this.listDonateannex();
              });
              this.Getbasicinformation();
              // this.Processvalidation();
              this.open = false;
@@ -3060,7 +3101,9 @@
            addDonatebaseinfo(this.form).then(response => {
              if (response.code == 200) {
                this.$modal.msgSuccess("新增成功");
                Modifydonationattachment(this.donatelist).then(res => {});
                Modifydonationattachment(this.donatelist).then(res => {
                  this.listDonateannex();
                });
                this.Getbasicinformation();
                // this.Processvalidation();
                this.open = false;
@@ -3143,29 +3186,20 @@
          }
        });
      } else if (this.actives == 4) {
        this.procureddata.infoid = this.infoid;
        // this.procureddata.infoid = this.infoid;
        this.$refs["allocateddataform"].validate(valid => {
          this.$modal.loading("正在提交,请稍候!");
          /**
          let rows = [];
          this.allocateddata.map(item => {
            if (item.id) {
              item.applicanttime = formatDate(item.applicanttime);
              updateDonateorgan(item).then(response => { });
            } else {
              item.infoid=this.infoid;
              rows.push(item);
            }
          });
          if (rows.length) {
            addOrganallocation(rows).then(res => {
              this.$modal.msgSuccess("器官捐献信息新增成功");
            });
          }
           */
          this.allocateddata.map(item => {
            item.applicanttime = formatDate(item.applicanttime);
          });
          this.allocateddata.forEach(item => {
            const objs = this.dataList.find(
              obj => obj.organizationid == item.transplanthospitalno
            );
            if (objs) {
              item.transplanthospitalname = objs.organizationname;
            }
          });
          saveDonateorgan(this.allocateddata).then(res => {
            if (res.code == 200) {
@@ -3186,6 +3220,7 @@
              coordinatedusernameIndex
            ].reportName;
          }
          //协调员2
          let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
            item => this.witnessform.coordinateduseridt == item.reportNo
@@ -3202,25 +3237,57 @@
            if (this.witnessform.id != null) {
              updateDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息修改成功");
                this.$modal.closeLoading();
                this.form.donationcategory = this.witnessform.donationcategory;
                this.Processvalidation();
                this.procureddata.forEach(item => {
                  const objs = this.dataList.find(
                    obj => obj.organizationid == item.gainhospitalno
                  );
                  if (objs) {
                    item.gainhospitalname = objs.organizationname;
                  }
                });
                //保存器官获取表数据
                saveDonationwitnessorgan(this.procureddata).then(res => {
                  if (res == 200) {
                    this.$modal.msgSuccess("捐献器官获取信息保存成功!");
                  }
                  this.$modal.closeLoading();
                });
              });
            } else {
              addDonationwitness(this.witnessform).then(response => {
                this.$modal.msgSuccess("获取见证信息新增成功");
                this.$modal.closeLoading();
                if (response.code === 200) {
                  this.$modal.msgSuccess("获取见证信息新增成功");
                  this.form.donationcategory = this.witnessform.donationcategory;
                  let data = JSON.parse(JSON.stringify(this.form));
                  data.diseasetype = "";
                  data.infectious = data.infectious.join(",");
                  data.selfwill = data.selfwill.join(",");
                  data.othercases = data.othercases.join(",");
                  data.infosources = data.infosources.join(",");
                  data.kinship = data.kinship.join(",");
                  data.patientstate = data.patientstate.join(",");
                  // 获取捐献编号
                  getDonationNumber(data).then(res => {
                    this.form.donorno = res.msg;
                    this.istb = true;
                    this.Processvalidation();
                  });
                  //保存器官获取表数据
                  saveDonationwitnessorgan(this.procureddata).then(res => {
                    if (res == 200) {
                      this.$modal.msgSuccess("捐献器官获取信息保存成功!");
                    }
                    this.$modal.closeLoading();
                  });
                } else {
                  this.$modal.msgError("获取见证信息新增失败");
                  this.$modal.closeLoading();
                }
              });
            }
            //保存器官获取表数据
            this.procureddata.infoid = this.infoid;
            saveDonationwitnessorgan(this.procureddata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              }
            });
            this.form.donationcategory = this.witnessform.donationcategory;
            this.Processvalidation();
          }
        });
      } else if (this.actives == 6) {
@@ -3229,51 +3296,42 @@
          if (valid) {
            this.$modal.loading("正在提交,请稍候!");
            // 保存捐献器官移植信息
            this.transplantdata.infoid = this.infoid;
            console.log(this.form);
            this.transplantdata.forEach(item => {
              listDonorchargeorgan({
                infoid: item.infoid,
                organno: item.organno
              }).then(res => {
                console.log("aaa");
                if (res.rows[0]) {
                  let objfn = res.rows[0];
                  console.log(objfn, "sass");
                  objfn.caseno = item.caseno;
                  objfn.hospitalno = item.hospitalno;
                  objfn.name = item.name;
                  objfn.receiveTime = item.transplanttime;
                  console.log(objfn, "sass");
                  updateDonorchargeorgan(objfn).then(res1 => {});
                } else {
                  item.id = null;
                  addDonorchargeorgan(item).then(res2 => {});
                }
              });
              item.donorname = this.form.name;
            });
            saveDonatecomporgan(this.transplantdata).then(res => {
              if (res == 200) {
                this.$modal.msgSuccess("捐献器官获取信息保存成功!");
              } else {
                this.$modal.msgSuccess(res.msg);
                return;
            this.transplantdata.forEach(item => {
              const objs = this.dataList.find(
                obj => obj.organizationid == item.hospitalno
              );
              if (objs) {
                item.hospitalname = objs.organizationname;
              }
            });
            console.log(this.accomplishform.id, "完成id");
            // 保存确认信息
            if (this.accomplishform.id) {
              updateDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记信息修改成功");
                this.$modal.closeLoading();
                saveDonatecomporgan(this.transplantdata).then(res => {
                  if (res == 200) {
                    this.$modal.msgSuccess("捐献器官登记信息保存成功!");
                  } else {
                    this.$modal.msgSuccess(res.msg);
                  }
                  this.$modal.closeLoading();
                });
              });
            } else {
              addDonatecompletioninfo(this.accomplishform).then(response => {
                this.$modal.msgSuccess("完成登记成功");
                this.$modal.closeLoading();
                saveDonatecomporgan(this.transplantdata).then(res => {
                  if (res.code == 200) {
                    this.$modal.msgSuccess("捐献器官登记信息保存成功!");
                  } else {
                    this.$modal.msgError(res.msg);
                  }
                  this.$modal.closeLoading();
                });
                this.istb = true;
                // this.$modal
                //   .confirm("案例已完成是否跳转案例费用页面进行费用单保存?")
                //   .then(() => {
@@ -3303,6 +3361,10 @@
        this.$modal.msgWarning("请先完成前部步骤");
      }
      // }
    },
    // 获取部门数据缓存
    getdataList() {
      this.$store.dispatch("getdataList").then(() => {});
    },
    // 器官分配栏目控制
    changeorganState(value) {
@@ -3531,8 +3593,8 @@
    },
    // 更改进程效验
    Processvalidation() {
      if (this.form.workflow + 1 == this.actives || this.actives == 6) {
        if (this.form.workflow <= 6) {
      if (this.form.workflow + 1 == this.actives) {
        if (this.form.workflow < 6) {
          this.form.workflow++;
        } else {
        }
@@ -3540,8 +3602,7 @@
        // this.GetAttacheddata();
      } else if (this.form.workflow > this.actives) {
        this.submitForm();
        Modifydonationattachment(this.donatelist).then(res => {});
        this.listDonateannex();
        // Modifydonationattachment(this.donatelist).then(res => {});
        // this.GetAttacheddata();
      } else {
        this.submitForm();
@@ -3551,8 +3612,8 @@
    },
    // 提交归档
    Reportforreview() {
      if (this.form.workflow == 9) {
        this.form.workflow = 8;
      if (this.form.workflow == 8) {
        this.form.workflow = 7;
        this.submitForm();
        this.$router.go(-1);
        this.$message({
@@ -3570,7 +3631,7 @@
              if (res.code == 500) {
                this.$message.error(res.msg);
              } else {
                this.form.workflow = 9;
                this.form.workflow = 8;
                this.submitForm();
                this.$message({
                  type: "success",