1
lkk
1 天以前 23c5e0e685d7824b34db2e5d2776a13c325a71bd
src/views/doctor/checkAll/index.vue
@@ -779,7 +779,7 @@
                  <el-button
                    type="primary"
                    @click="determine"
                    :disabled="isdisabled"
                    :disabled="isdisabled || isLoading"
                    >提交并生成报告</el-button
                  >
                </div>
@@ -2581,7 +2581,6 @@
    yichangjieguo() {
      this.loading = true;
      this.isLoading = true; // 确保整体加载框开启
      this.status1 = 0;
      this.yichangList = [];
      
@@ -2593,9 +2592,7 @@
            const data = res.data;
            if (!data || data.length === 0) {
              this.$message.warning("暂无异常报告");
              this.loading = false;
              this.isLoading = false; // 关闭整体加载框
              resolve(); // 返回 Promise,但不继续后续逻辑
              return;
            }
@@ -2611,23 +2608,18 @@
                }
              });
            });
            if (!this.yichangList) {
            /* if (!this.yichangList) {
              this.$message.warning("暂无异常报告");
            }
            } */
            resolve(); // 成功完成
          })
          .catch((error) => {
            this.isLoading = false;
            this.loading = false;
            console.error("获取异常结果失败:", error);
            this.$message.error("获取异常结果失败");
            reject(error); // 返回错误
          })
          .finally(() => {
            // 只在没有提前返回的情况下关闭加载框
            if (this.isLoading) {
              this.isLoading = false;
            }
            if (this.loading) {
              this.loading = false;
            }
@@ -3204,55 +3196,99 @@
        this.status = res.data;
        if (this.status) {
          if (this.status.status === "1") {
            // 没有强制进入弹框,直接开启加载和弹框
            this.isLoading = true;
            this.drawer = true;
            // 先调用异常结果,等待其完成后再继续后续逻辑
            this.yichangjieguo().then(() => {
              // 无论异常结果是否有数据,都继续后续逻辑
              getInfo().then((response) => {
                this.userId = response.user.userId;
                if (this.userId) {
                  let data = {
                    userId: this.userId,
                    tjNumber: this.tjNumber,
                    state: 0,
                  };
                  getModifiedState(data).then((res) => {
                    this.MsgId = res.msg;
                    // 只有当异常结果有数据时才开启加载框
                    if (this.yichangList && this.yichangList.length > 0) {
                      this.isLoading = true;
                    }
                    this.drawer = true;
                    getupdateCheckType(this.tjNumber).then((response) => {
                      this.isLoading = false; // 关闭加载框
                      this.changedate = response.data;
                      if (this.changedate) {
                        this.changedate.forEach((item) => {
                          this.textarea1 = item.checkAdvice || "";
                        });
                        this.initialTotalCheckAdvice = this.textarea1;
                        this.initialState = JSON.parse(
                          JSON.stringify(this.changedate)
                        );
                        for (let i = 0; i < this.changedate.length; i++) {
                          this.remark = this.changedate[i].remark;
              // 如果异常结果为空,左边数据加载完成后就关闭加载框
              if (!this.yichangList || this.yichangList.length === 0) {
                getInfo().then((response) => {
                  this.userId = response.user.userId;
                  if (this.userId) {
                    let data = {
                      userId: this.userId,
                      tjNumber: this.tjNumber,
                      state: 0,
                    };
                    getModifiedState(data).then((res) => {
                      this.MsgId = res.msg;
                      getupdateCheckType(this.tjNumber).then((response) => {
                        this.isLoading = false; // 关闭加载框
                        this.changedate = response.data;
                        if (this.changedate) {
                          this.changedate.forEach((item) => {
                            this.textarea1 = item.checkAdvice || "";
                          });
                          this.initialTotalCheckAdvice = this.textarea1;
                          this.initialState = JSON.parse(
                            JSON.stringify(this.changedate)
                          );
                          for (let i = 0; i < this.changedate.length; i++) {
                            this.remark = this.changedate[i].remark;
                          }
                          // 回显 zhiyeJl 和 zhiyeJg
                          this.zhiyeJl = this.changedate[0].zhiyejl || "";
                          this.zhiyeJg =
                            this.changedate[0].zhiyejg || "未发现目标性疾病";
                        } else {
                          this.$message({
                            type: "warning",
                            message: "该客户没有体检项目数据",
                          });
                          // 如果没有数据,清空字段
                          this.zhiyeJl = "";
                          this.zhiyeJg = "未发现目标性疾病";
                        }
                        // 回显 zhiyeJl 和 zhiyeJg
                        this.zhiyeJl = this.changedate[0].zhiyejl || "";
                        this.zhiyeJg =
                          this.changedate[0].zhiyejg || "未发现目标性疾病";
                      } else {
                        this.$message({
                          type: "warning",
                          message: "该客户没有体检项目数据",
                        });
                        // 如果没有数据,清空字段
                        this.zhiyeJl = "";
                        this.zhiyeJg = "未发现目标性疾病";
                      }
                      });
                    });
                  });
                }
              });
                  }
                });
              } else {
                // 异常结果有数据,等待左右两边都加载完成
                getInfo().then((response) => {
                  this.userId = response.user.userId;
                  if (this.userId) {
                    let data = {
                      userId: this.userId,
                      tjNumber: this.tjNumber,
                      state: 0,
                    };
                    getModifiedState(data).then((res) => {
                      this.MsgId = res.msg;
                      getupdateCheckType(this.tjNumber).then((response) => {
                        this.isLoading = false; // 关闭加载框
                        this.changedate = response.data;
                        if (this.changedate) {
                          this.changedate.forEach((item) => {
                            this.textarea1 = item.checkAdvice || "";
                          });
                          this.initialTotalCheckAdvice = this.textarea1;
                          this.initialState = JSON.parse(
                            JSON.stringify(this.changedate)
                          );
                          for (let i = 0; i < this.changedate.length; i++) {
                            this.remark = this.changedate[i].remark;
                          }
                          // 回显 zhiyeJl 和 zhiyeJg
                          this.zhiyeJl = this.changedate[0].zhiyejl || "";
                          this.zhiyeJg =
                            this.changedate[0].zhiyejg || "未发现目标性疾病";
                        } else {
                          this.$message({
                            type: "warning",
                            message: "该客户没有体检项目数据",
                          });
                          // 如果没有数据,清空字段
                          this.zhiyeJl = "";
                          this.zhiyeJg = "未发现目标性疾病";
                        }
                      });
                    });
                  }
                });
              }
            });
          } else {
            this.$confirm(
@@ -3265,57 +3301,103 @@
              }
            )
              .then(() => {
                // 关闭表格的loading状态
                this.loading = false;
                // 用户确认强制进入,开启加载和弹框
                this.isLoading = true;
                this.drawer = true;
                // 先调用异常结果,等待其完成后再继续后续逻辑
                this.yichangjieguo().then(() => {
                  // 无论异常结果是否有数据,都继续后续逻辑
                  getInfo().then((response) => {
                    this.userId = response.user.userId;
                    if (this.userId) {
                      let data = {
                        userId: this.userId,
                        tjNumber: this.tjNumber,
                        state: 0,
                      };
                      getforceIn(data).then((res) => {
                        this.MsgId = res.msg;
                        // 只有当异常结果有数据时才开启加载框
                        if (this.yichangList && this.yichangList.length > 0) {
                          this.isLoading = true;
                        }
                        this.drawer = true;
                        getupdateCheckType(this.tjNumber).then((response) => {
                          this.isLoading = false; // 关闭加载框
                          this.changedate = response.data;
                          if (this.changedate) {
                            for (let i = 0; i < this.changedate.length; i++) {
                              this.remark = this.changedate[i].remark;
                  // 如果异常结果为空,左边数据加载完成后就关闭加载框
                  if (!this.yichangList || this.yichangList.length === 0) {
                    getInfo().then((response) => {
                      this.userId = response.user.userId;
                      if (this.userId) {
                        let data = {
                          userId: this.userId,
                          tjNumber: this.tjNumber,
                          state: 0,
                        };
                        getforceIn(data).then((res) => {
                          this.MsgId = res.msg;
                          getupdateCheckType(this.tjNumber).then((response) => {
                            this.isLoading = false; // 关闭加载框
                            this.changedate = response.data;
                            if (this.changedate) {
                              for (let i = 0; i < this.changedate.length; i++) {
                                this.remark = this.changedate[i].remark;
                              }
                              this.initialState = JSON.parse(
                                JSON.stringify(this.changedate)
                              );
                              this.changedate.forEach((item) => {
                                this.textarea1 = item.checkAdvice || "";
                              });
                              // 回显 zhiyeJl 和 zhiyeJg
                              this.zhiyeJl = this.changedate[0].zhiyejl || "";
                              this.zhiyeJg =
                                this.changedate[0].zhiyejg || "未发现目标性疾病";
                            } else {
                              this.$message({
                                type: "warning",
                                message: "该客户没有体检项目数据",
                              });
                              // 如果没有数据,清空字段
                              this.zhiyeJl = "";
                              this.zhiyeJg = "未发现目标性疾病";
                            }
                            this.initialState = JSON.parse(
                              JSON.stringify(this.changedate)
                            );
                            this.changedate.forEach((item) => {
                              this.textarea1 = item.checkAdvice || "";
                            });
                            // 回显 zhiyeJl 和 zhiyeJg
                            this.zhiyeJl = this.changedate[0].zhiyejl || "";
                            this.zhiyeJg =
                              this.changedate[0].zhiyejg || "未发现目标性疾病";
                          } else {
                            this.$message({
                              type: "warning",
                              message: "该客户没有体检项目数据",
                            });
                            // 如果没有数据,清空字段
                            this.zhiyeJl = "";
                            this.zhiyeJg = "未发现目标性疾病";
                          }
                          });
                        });
                      });
                    }
                  });
                      }
                    });
                  } else {
                    // 异常结果有数据,等待左右两边都加载完成
                    getInfo().then((response) => {
                      this.userId = response.user.userId;
                      if (this.userId) {
                        let data = {
                          userId: this.userId,
                          tjNumber: this.tjNumber,
                          state: 0,
                        };
                        getforceIn(data).then((res) => {
                          this.MsgId = res.msg;
                          getupdateCheckType(this.tjNumber).then((response) => {
                            this.isLoading = false; // 关闭加载框
                            this.changedate = response.data;
                            if (this.changedate) {
                              for (let i = 0; i < this.changedate.length; i++) {
                                this.remark = this.changedate[i].remark;
                              }
                              this.initialState = JSON.parse(
                                JSON.stringify(this.changedate)
                              );
                              this.changedate.forEach((item) => {
                                this.textarea1 = item.checkAdvice || "";
                              });
                              // 回显 zhiyeJl 和 zhiyeJg
                              this.zhiyeJl = this.changedate[0].zhiyejl || "";
                              this.zhiyeJg =
                                this.changedate[0].zhiyejg || "未发现目标性疾病";
                            } else {
                              this.$message({
                                type: "warning",
                                message: "该客户没有体检项目数据",
                              });
                              // 如果没有数据,清空字段
                              this.zhiyeJl = "";
                              this.zhiyeJg = "未发现目标性疾病";
                            }
                          });
                        });
                      }
                    });
                  }
                });
              })
              .catch(() => {
                this.isLoading = false; // 取消时也要关闭加载框
                this.$message({
                  type: "info",
                  message: "已取消进入",