qx
qx
2 天以前 44e7c74462e3dd3bf4bf24ab34b126d6e59c41f9
qx
5个文件已修改
427 ■■■■■ 已修改文件
public/yuanqu.ini 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/project/index.vue 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/picture/picture/index.vue 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/package/index.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/yuanqu.ini
@@ -1,7 +1,12 @@
[development]
8094=pbkwyy
<<<<<<< HEAD
81=xatlgcyy
82=sqyy
=======
81=jdczgzyy
82=bjxjyy
>>>>>>> 97ddbdb0827051db8fb25e42b964185fa6a9a3b5
8095=jdczgzyy
8096=sqyy
8097=wbzxyy
src/views/doctor/checkAll/index.vue
@@ -2583,36 +2583,49 @@
      this.loading = true;
      this.status1 = 0;
      this.yichangList = [];
      yichang({
        tjNum: this.tjNumber,
      })
        .then((res) => {
          // this.isLoading = false
          this.yichangList = res.data;
      return new Promise((resolve, reject) => {
        yichang({
          tjNum: this.tjNumber,
        })
          .then((res) => {
            const data = res.data;
          this.yichangList.forEach((item) => {
            item.sone.forEach((soneItem) => {
              if (
                !Array.isArray(soneItem.advices) ||
                soneItem.advices.length === 0
              ) {
                soneItem.advices = [{ bt: "", nr: "" }];
              }
            if (!data || data.length === 0) {
              this.$message.warning("暂无异常报告");
              this.loading = false;
              resolve(); // 返回 Promise,但不继续后续逻辑
              return;
            }
            this.yichangList = data;
            this.yichangList.forEach((item) => {
              item.sone.forEach((soneItem) => {
                if (
                  !Array.isArray(soneItem.advices) ||
                  soneItem.advices.length === 0
                ) {
                  soneItem.advices = [{ bt: "", nr: "" }];
                }
              });
            });
            if (!this.yichangList) {
              this.$message.warning("暂无异常报告");
            }
            resolve(); // 成功完成
          })
          .catch((error) => {
            this.loading = false;
            console.error("获取异常结果失败:", error);
            this.$message.error("获取异常结果失败");
            reject(error); // 返回错误
          })
          .finally(() => {
            if (this.loading) {
              this.loading = false;
            }
          });
          if (!this.yichangList) {
            this.$message.warning("暂无异常报告");
          }
        })
        .catch((error) => {
          this.isLoading = false;
          console.error("获取异常结果失败:", error);
          this.$message.error("获取异常结果失败");
        })
        .finally(() => {
          this.isLoading = false;
          this.loading = false;
        });
      });
    },
    fuchaxiangmu() {
@@ -2939,6 +2952,7 @@
    radiotjprojectChange() {
      if (this.tjproject == "0") {
        getupdateCheckType(this.tjNumber).then((response) => {
          this.isLoading = false;
          this.changedate = response.data;
          this.changedate.forEach((item) => {
            this.textarea1 = item.checkAdvice;
@@ -3162,6 +3176,7 @@
    handleClick(row) {
      this.qingkong();
      this.isLoading = true; // 开始整体加载
      this.$refs.Pre.open = false;
      this.tableAll = row;
      let dict = "dict_tjtype";
@@ -3183,49 +3198,58 @@
        this.status = res.data;
        if (this.status) {
          if (this.status.status === "1") {
            this.yichangjieguo();
            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;
                  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;
                      }
                      // 回显 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.yichangjieguo().then(() => {
              // 如果异常结果为空,立即关闭加载框并打开抽屉
              if (!this.yichangList || this.yichangList.length === 0) {
                this.isLoading = false;
                this.drawer = true;
                return;
              }
              // 异常结果有数据,继续后续逻辑
              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;
                    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;
                        }
                        // 回显 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(
@@ -3238,51 +3262,61 @@
              }
            )
              .then(() => {
                this.yichangjieguo();
                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;
                      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;
                          }
                          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.yichangjieguo().then(() => {
                  // 如果异常结果为空,立即关闭加载框并打开抽屉
                  if (!this.yichangList || this.yichangList.length === 0) {
                    this.isLoading = false;
                    this.drawer = true;
                    return;
                  }
                  // 异常结果有数据,继续后续逻辑
                  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;
                        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;
                            }
                            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: "已取消进入",
@@ -3366,7 +3400,7 @@
        .then((response) => {
          if (response.code === 200) {
            this.isLoading = false;
           this.$modal.msgSuccess(response.msg);
            this.$modal.msgSuccess(response.msg);
            // 清空字段
            this.zhiyeJl = "";
            this.zhiyeJg = "";
src/views/hosp/project/index.vue
@@ -1327,7 +1327,7 @@
      this.form.lisXmbm = param1[0].pacCode;
      this.form.lisXmmc = param1[0].pacName;
    },
    /* getList() {
    getList() {
      this.loading = true;
      let data = {
        proName: this.queryParams.proName,
@@ -1339,7 +1339,7 @@
        this.projectList = response.data.list;
        this.loading = false;
      });
    }, */
    },
    getConsumables() {
      this.loading = true;
      listConsumables(this.queryParams).then((response) => {
@@ -1665,25 +1665,39 @@
      }
    },
    handleUpdate1() {
      // this.updateLoading = true;
      this.form = {};
      this.form = this.xiugaiList;
      this.form.proStatus = this.form.proStatus.toString();
      this.form.sfcyyc = this.form.sfcyyc.toString();
      this.form.proDelivery = this.form.proDelivery.toString();
      this.proParent = true;
      this.isPriceDisabled = true;
      getlist().then((response) => {
        if (response.code == 200) {
      // 先加载科室列表数据,再设置表单数据
      Promise.all([
        listDept(this.queryParams),
        getlist()
      ]).then(([deptResponse, listResponse]) => {
        // 先设置科室列表
        this.parentNameList = deptResponse.data;
        // 再设置表单数据
        this.form = this.xiugaiList;
        this.form.proStatus = this.form.proStatus.toString();
        this.form.sfcyyc = this.form.sfcyyc.toString();
        // 处理项目选项
        if (listResponse.code == 200) {
          this.loading = false;
          this.projectOptions = [];
          const project = { proId: 0, proName: "主类目", children: [] };
          project.children = this.handleTree(response.data.list, "proId");
          this.key = response.data.key;
          project.children = this.handleTree(listResponse.data.list, "proId");
          this.key = listResponse.data.key;
          this.projectOptions.push(project);
          console.log(this.projectOptions, 11111);
        }
      });
      this.open = true;
        this.open = true;
      }).catch((error) => {
        console.error("加载数据失败:", error);
        this.$message.error("加载数据失败");
      })
    },
    handleUpdate(row) {
      this.reset();
@@ -1691,7 +1705,9 @@
      const proId = row.proId || this.ids;
      this.proParent = false;
      this.isPriceDisabled = false;
      getProject(proId).then((response) => {
      listDept(this.queryParams).then((response) => {
        this.parentNameList = response.data;
        getProject(proId).then((response) => {
        this.form = response.data;
        this.showPrise = this.form.proParentId === "0";
        this.showRentPrise = !this.showPrise;
@@ -1733,6 +1749,8 @@
        this.open = true;
        this.title = "体检项目信息维护";
      });
      })
    },
    getSelectValue(val) {
      this.form.consumablesList.forEach((formitem) => {
@@ -1822,6 +1840,9 @@
      // 等待右侧表格刷新
      await this.getList();
      // 立即刷新当前项目数据,确保数据是最新的
      await this.refreshCurrentProjectData();
      this.pageLoading = false; // ✅ 统一加载状态控制
    },
@@ -1834,6 +1855,23 @@
        });
      }
    }, */
    // 刷新当前选中项目的数据
    async refreshCurrentProjectData() {
      if (this.id) {
        try {
          const response = await getInfoByProId(this.id);
          this.xiugaiList = response.data;
          console.log("刷新项目数据成功:", this.xiugaiList);
          return response.data;
        } catch (error) {
          console.error("刷新项目数据失败:", error);
          this.$message.error("刷新项目数据失败");
          this.xiugaiList = null; // 刷新失败时重置为 null
          return null;
        }
      }
      return null;
    },
    submit() {
      this.ChangeList.forEach((item) => {
        this.form.proPrice = item.ckdj;
@@ -1843,6 +1881,10 @@
        this.sfxmId = parseInt(item.id);
      });
      this.dialogTableVisible = false;
      this.getDeptList();
      this.getDeptTree().then(() => {
        this.precomputePinyin();
      });
    },
    handleDelete(row) {
      const proIds = row.proId || this.ids;
src/views/picture/picture/index.vue
@@ -779,18 +779,24 @@
      this.changtjNumber(val.tjNumber);
    },
    changtjNumber(val) {
      console.log(8989);
      let tjNumber = val;
      this.loading = true;
      getYxJcXx(tjNumber).then((res) => {
        this.tableList = res.data.map((item) => {
          // 如果 imageUrl 存在且是纯 Base64 字符串,添加 data:image 前缀
          if (item.imageUrl && !item.imageUrl.startsWith("data:image")) {
            // 假设图片类型为 png,如果接口提供类型,可以替换为动态值
            item.imageUrl = `data:image/png;base64,${item.imageUrl}`;
          }
          return item;
        });
        // 检查 res.data 是否存在且为数组
        if (res && res.data && Array.isArray(res.data)) {
          this.tableList = res.data.map((item) => {
            // 如果 imageUrl 存在且是纯 Base64 字符串,添加 data:image 前缀
            if (item.imageUrl && !item.imageUrl.startsWith("data:image")) {
              // 假设图片类型为 png,如果接口提供类型,可以替换为动态值
              item.imageUrl = `data:image/png;base64,${item.imageUrl}`;
            }
            return item;
          });
        } else {
          // 如果 res.data 不存在或不是数组,设置为空数组
          this.tableList = [];
          // console.warn('API response data is not an array:', res);
        }
        this.loading = false;
        this.$nextTick(() => {
          const headerCheckbox = this.$refs.mu.$el.querySelector(
@@ -813,6 +819,10 @@
            this.handleChange([firstRow]);
          }
        });
      }).catch((error) => {
        console.error('获取影像检查信息失败:', error);
        this.tableList = [];
        this.loading = false;
      });
    },
    qijian(row) {
@@ -919,15 +929,38 @@
      this.form.proResult = yxbx;
    },
    submiepilog() {
      if (!this.tableList || this.tableList.length === 0) {
        this.$message.warning("表格中没有数据");
        return;
      }
      // 检查 tableList 表格中是否有选中的项目
      const selectedRows = this.$refs.mu.selection;
      if (!selectedRows || selectedRows.length === 0) {
        this.$message.warning("请先选择表格中的项目");
        return;
      }
      this.$refs.aaa.open = true;
      let proId = "1633660948860522585";
      this.$refs.aaa.getList(proId);
    },
    submito() {
      if (!this.selectedRow || !this.selectedRow.proId) {
       this.$message.error("请选择提交项目");
      if (!this.tableList || this.tableList.length === 0) {
        this.$message.warning("表格中没有数据");
        return;
      }
      // 检查 tableList 表格中是否有选中的项目
      const selectedRows = this.$refs.mu.selection;
      if (!selectedRows || selectedRows.length === 0) {
        this.$message.warning("请先选择表格中的项目");
        return;
      }
      /* if (!this.selectedRow || !this.selectedRow.proId) {
        this.$message.error("请选择提交项目");
        return;
      } */
      if (!this.form.proResult && !this.form.conclusion) {
        this.$message.warning("请选择检查所见或检查结论!");
      } else {
src/views/system/package/index.vue
@@ -162,6 +162,7 @@
              node-key="proId"
              @check-change="handleCurrentChecked"
              :default-checked-keys="checkedkey"
              :filter-node-method="filterNode"
              ref="tree"
              :render-content="renderContent"
            >
@@ -295,6 +296,7 @@
        page: 1,
        pageSize: 30,
        nr: "",
        xb: "",
      },
      form: {
        xianprice: null,
@@ -333,6 +335,15 @@
      }
      const filterTextLower = this.filterText.toLowerCase();
      this.filteredTreeData = this.filterNodes(this.originalTreeData, filterTextLower);
    },
    filterNode(value, data) {
      if (!value) return true;
      console.log(value, 6666);
      return (
        data.proName.indexOf(value) !== -1 ||
        (data.proEngName && data.proEngName.indexOf(value) !== -1)
      );
    },
    filterNodes(nodes, filterText) {
      return nodes.filter(node => {
@@ -418,9 +429,30 @@
        this.keywordList = response.rows;
      });
    },
    sel(val) {
    /* sel(val) {
      let id = val;
      this.keys = id.join(",");
    }, */
    sel(val) {
      const maleId = "4"; // “男”的 ID
      const femaleId = "5"; // “女”的 ID
      let selectedIds = [...val]; // 复制当前选中的 ID 数组
      // 实现“男”和“女”互斥逻辑
      if (selectedIds.includes(maleId) && selectedIds.includes(femaleId)) {
        selectedIds = selectedIds.slice(-1); // 保留最后选中的一个
        this.$message.warning("“男”和“女”关键字互斥,只能选择一个!");
      }
      // 更新 form.keywords 和 keys
      this.form.keywords = selectedIds;
      this.keys = selectedIds.join(",");
      // 调用 getDataList,传递所有选中的关键字 ID(逗号分隔)
      // this.getDataList({ xb: this.keys });
      this.queryParams1.xb = this.keys; // 👈 更新查询参数
      this.queryParams1.page = 1; // 👈 切换条件时重置页码
      this.getDataList(); // 不需要再传参了
    },
    getCategory() {
      this.loading = true;
@@ -666,9 +698,10 @@
        </span>
      );
    },
    getDataList() {
    getDataList(params = {}) {
      this.loading = true;
      search(this.queryParams1).then((response) => {
      const query = { ...this.queryParams1, ...params };
      search(query).then((response) => {
        this.Treedata = response.data.list;
        this.total1 = response.data.total;
        this.pics = this.DataList.reduce((total, item) => total + item.priceOrd, 0);
@@ -677,8 +710,8 @@
        this.$nextTick(() => {
          this.$refs.tree.setCheckedKeys(this.checkedNodes);
          this.initializing = false;
          this.loading = false;
        });
        this.loading = false;
      }).catch(() => {
        this.loading = false;
      });