qx
qx
4 天以前 3600c4a1e4d7987bd2c99bbc9e9b85d399251abc
src/views/doctor/check/index.vue
@@ -202,14 +202,14 @@
        element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative">
        <div style="font-size: 14px">
          <table style="
            width: 96%;
            height: 70px;
            margin: 10px 10px;
            margin-bottom: 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
            font-size: 16px;
          " cellspacing="4">
              width: 96%;
              height: 70px;
              margin: 10px 10px;
              margin-bottom: 10px;
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              font-size: 16px;
            " cellspacing="4">
            <caption style="background-color: #f8f8f9; font-size: 18px">
              填写{{
                tableAll.cusName
@@ -285,16 +285,17 @@
                    <el-table-column prop="proResult" label="检测结果" width="150">
                      <template slot-scope="{ row, $index }">
                        <el-input type="textarea" autosize size="mini" v-model="row.proResult"
                          :ref="`input-item${index}-row${$index}`"
                          @keydown.enter.native="keyInputConfirm($event, index, $index)" @focus="handleFocus(row)"
                          @blur="handleInputConfirm(row)" @input="vale($event, row)"
                          :ref="`input-item${index}-row${$index}`" @keydown.enter.native="
                            keyInputConfirm($event, index, $index)
                            " @focus="handleFocus(row)" @blur="handleInputConfirm(row)" @input="vale($event, row)"
                          :disabled="row.project.proName === 'BMI'"></el-input>
                      </template>
                    </el-table-column>
                    <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center">
                      <template slot-scope="scope">
                        <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)"
                          :disabled="scope.row.project.sfcyyc === 1 || scope.row.project.proName === 'BMI'"></el-checkbox>
                        <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" :disabled="scope.row.project.sfcyyc === 1 ||
                          scope.row.project.proName === 'BMI'
                          "></el-checkbox>
                      </template>
                    </el-table-column>
                    <el-table-column label="规则" width="70">
@@ -306,9 +307,7 @@
                    </el-table-column>
                    <el-table-column label="参考范围" width="70" align="center">
                      <template slot-scope="scope">
                        {{ scope.row.project.proScope }}
                      </template>
                    </el-table-column>
                    <el-table-column prop="conclusion" label="结果结论" width="200">
@@ -347,38 +346,38 @@
                  <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a">
                    <table style="
                      width: 96%;
                      margin: 4px 10px;
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                    " cellspacing="4">
                      <tr style="
                        width: 96%;
                        margin: 4px 10px;
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      ">
                        <td style="
                      " cellspacing="4">
                      <tr style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                        <td style="
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          病种选择:
                        </td>
                        <td @click="bzxz" style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2">
                          </el-input>
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          主检医师:
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList"
                            @change="selName" filterable>
                            <el-option v-for="item in userList" :key="item.userId" :label="item.nickName"
@@ -388,19 +387,19 @@
                        </td>
                      </tr>
                      <tr style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      ">
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                        <td style="
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          建议:
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        " colspan="2">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          " colspan="2">
                          <div style="margin: 0 0px 10px 15px">
                            <el-button type="primary" @click="propoChange"
                              style="margin-top: 10px; height: 37px">快捷建议</el-button>
@@ -433,9 +432,9 @@
                    <el-table-column prop="proResult" label="检测结果" width="150">
                      <template slot-scope="{ row, $index }">
                        <el-input type="textarea" autosize size="mini" v-model="row.proResult"
                          :ref="`input-item${index}-row${$index}`"
                          @keydown.enter.native="keyInputConfirm($event, index, $index)" @focus="handleFocus(row)"
                          @blur="handleInputConfirm(row)" @input="vale($event, row)"
                          :ref="`input-item${index}-row${$index}`" @keydown.enter.native="
                            keyInputConfirm($event, index, $index)
                            " @focus="handleFocus(row)" @blur="handleInputConfirm(row)" @input="vale($event, row)"
                          :disabled="row.project.proName === 'BMI'"></el-input>
                      </template>
                    </el-table-column>
@@ -484,25 +483,25 @@
                  <div style="font-size: 14px; overflow-y: auto; height: 286px">
                    <table style="
                      width: 96%;
                      margin: 4px 10px;
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                    " cellspacing="4">
                      <tr style="
                        width: 96%;
                        margin: 4px 10px;
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      ">
                        <td style="
                      " cellspacing="4">
                      <tr style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                        <td style="
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          病种选择:
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2">
                          </el-input>
                          <!-- <el-select
@@ -524,15 +523,15 @@
                        </el-select> -->
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          主检医师:
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList"
                            @change="selName" filterable>
                            <el-option v-for="item in userList" :key="item.userId" :label="item.nickName"
@@ -542,9 +541,9 @@
                        </td>
                      </tr>
                      <tr style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      ">
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                        <div style="margin: 0 0px 10px 15px">
                          <el-button type="primary" @click="propoChange"
                            style="margin-top: 10px; height: 37px">快捷建议</el-button>
@@ -552,15 +551,15 @@
                            style="margin-top: 10px; height: 37px">生成建议</el-button>
                        </div>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        ">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          ">
                          建议:
                        </td>
                        <td style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        " colspan="2">
                            border: 1px solid #dfe6ec;
                            border-collapse: collapse;
                          " colspan="2">
                          <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7">
                          </el-input>
                        </td>
@@ -780,7 +779,7 @@
        </el-tab-pane>
      </el-tabs>
      <span slot="footer" class="dialog-footer">
        <el-button @click="taocan = false">取 消</el-button>
        <el-button @click="quxiao">取 消</el-button>
        <el-button type="primary" @click="queding">确 定</el-button>
      </span>
    </el-dialog>
@@ -979,20 +978,20 @@
  methods: {
    getBMIStatus(row) {
      const bmi = parseFloat(row.proResult);
      if (isNaN(bmi) || !row.proResult) return ''; // 处理无效或空的BMI值
      if (isNaN(bmi) || !row.proResult) return ""; // 处理无效或空的BMI值
      if (bmi > 28) {
        row.exceptionDesc = true; // 自动勾选异常复选框
        row.conclusion = '偏高'; // 设置结论
        return '偏高';
        row.conclusion = "偏高"; // 设置结论
        return "偏高";
      }
      if (bmi < 12) {
        row.exceptionDesc = true; // 自动勾选异常复选框
        row.conclusion = '偏低'; // 设置结论
        return '偏低';
        row.conclusion = "偏低"; // 设置结论
        return "偏低";
      }
      row.exceptionDesc = false; // 正常范围内取消勾选
      row.conclusion = '正常'; // 设置结论
      return '正常';
      row.conclusion = "正常"; // 设置结论
      return "正常";
    },
    // 计算 BMI
    calculateBMI(height, weight) {
@@ -1002,28 +1001,30 @@
        const bmi = weightInKg / (heightInMeters * heightInMeters);
        return bmi.toFixed(1); // 保留一位小数
      }
      return '';
      return "";
    },
    // 实时更新 BMI
    vale(value, row) {
      this.minedis = false
      if (row.project.proName === '身高' || row.project.proName === '体重') {
      this.minedis = false;
      if (row.project.proName === "身高" || row.project.proName === "体重") {
        const heightRow = this.proParentList.sons.find(
          item => item.project.proName === '身高'
          (item) => item.project.proName === "身高"
        );
        const weightRow = this.proParentList.sons.find(
          item => item.project.proName === '体重'
          (item) => item.project.proName === "体重"
        );
        const bmiRow = this.proParentList.sons.find(
          item => item.project.proName === 'BMI'
          (item) => item.project.proName === "BMI"
        );
        if (heightRow && weightRow && bmiRow) {
          const height = row.project.proName === '身高' ? value : heightRow.proResult;
          const weight = row.project.proName === '体重' ? value : weightRow.proResult;
          const height =
            row.project.proName === "身高" ? value : heightRow.proResult;
          const weight =
            row.project.proName === "体重" ? value : weightRow.proResult;
          const bmi = this.calculateBMI(height, weight);
          bmiRow.proResult = bmi || ''; // 实时更新BMI值
          bmiRow.proResult = bmi || ""; // 实时更新BMI值
          this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框
        }
      }
@@ -1032,7 +1033,8 @@
      this.focusrow = row;
      this.proResult = row;
      const pattern3 = new RegExp("[0-9]+");
      if (row.proResult) { }
      if (row.proResult) {
      }
      if (pattern3.test(row.proResult)) {
        let data = {
          proId: this.focusrow.proId,
@@ -1057,37 +1059,41 @@
                this.focusrow.exceptionDesc = false;
              }
            }
            if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) {
            if (
              this.autorule.length !== 0 &&
              (this.autorule[0] || this.autorule[0].nr)
            ) {
              this.focusrow.proAdvice = this.autorule[0].nr;
            }
            this.autorule.forEach((item) => {
              this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz;
              this.focusrow.conclusion += this.focusrow.conclusion
                ? item.bz
                : item.bz;
            });
          }
        });
      }
    },
    // 输入确认时更新 BMI
    handleInputConfirm(row) {
      if (row.proResult) {
        if (row.project.proName === '身高' || row.project.proName === '体重') {
        if (row.project.proName === "身高" || row.project.proName === "体重") {
          const heightRow = this.proParentList.sons.find(
            item => item.project.proName === '身高'
            (item) => item.project.proName === "身高"
          );
          const weightRow = this.proParentList.sons.find(
            item => item.project.proName === '体重'
            (item) => item.project.proName === "体重"
          );
          const bmiRow = this.proParentList.sons.find(
            item => item.project.proName === 'BMI'
            (item) => item.project.proName === "BMI"
          );
          if (heightRow && weightRow && bmiRow) {
            const height = heightRow.proResult;
            const weight = weightRow.proResult;
            const bmi = this.calculateBMI(height, weight);
            bmiRow.proResult = bmi || '';
            bmiRow.proResult = bmi || "";
            this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框
          }
        }
@@ -1120,11 +1126,16 @@
                this.focusrow.exceptionDesc = false;
              }
            }
            if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) {
            if (
              this.autorule.length !== 0 &&
              (this.autorule[0] || this.autorule[0].nr)
            ) {
              this.focusrow.proAdvice = this.autorule[0].nr;
            }
            this.autorule.forEach((item) => {
              this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz;
              this.focusrow.conclusion += this.focusrow.conclusion
                ? item.bz
                : item.bz;
            });
          }
        });
@@ -1138,21 +1149,26 @@
        tjNumber: this.tjNumber,
        proParentId: this.nums,
      };
      console.log(data, 8888);
      getParentId(data).then((response) => {
        if (response.data != {}) {
          this.proParentList = response.data;
          const heightRow = this.proParentList.sons.find(
            item => item.project.proName === '身高'
            (item) => item.project.proName === "身高"
          );
          const weightRow = this.proParentList.sons.find(
            item => item.project.proName === '体重'
            (item) => item.project.proName === "体重"
          );
          const bmiRow = this.proParentList.sons.find(
            item => item.project.proName === 'BMI'
            (item) => item.project.proName === "BMI"
          );
          if (heightRow && weightRow && bmiRow) {
            const bmi = this.calculateBMI(heightRow.proResult, weightRow.proResult);
            bmiRow.proResult = bmi || '';
            const bmi = this.calculateBMI(
              heightRow.proResult,
              weightRow.proResult
            );
            bmiRow.proResult = bmi || "";
          }
          this.proParentList.xiaoJie.forEach((item) => {
            this.titles += item.title + ",";
@@ -1161,6 +1177,8 @@
        this.loading = false;
        this.value = [];
        console.log(this.proParentList.xiaoJieIds, 2222333);
        if (this.proParentList.xiaoJieIds != null) {
          if (this.proParentList.xiaoJieIds.length != 0) {
            this.proParentList.xiaoJieIds.forEach((item2) => {
@@ -1183,9 +1201,13 @@
          if (item.isReturn == 1) item.isReturn = true;
          if (item.isReturn == 0) item.isReturn = false;
          if (item.exceptionDesc == "1") item.exceptionDesc = true;
          if (item.exceptionDesc == "0" || item.project.sfcyyc == 1) item.exceptionDesc = false;
          if (item.exceptionDesc == "0" || item.project.sfcyyc == 1)
            item.exceptionDesc = false;
        });
        if (this.proParentList.xiaoJie && this.proParentList.xiaoJie.length != 0) {
        if (
          this.proParentList.xiaoJie &&
          this.proParentList.xiaoJie.length != 0
        ) {
          this.Parent.forEach((item3) => {
            if (item3.proId === this.nums) {
              this.proParentList.remark = item3.remark;
@@ -1215,7 +1237,6 @@
            this.$refs.bbb.open = false;
          }
        });
      }
    },
@@ -1257,7 +1278,7 @@
      this.getbzlist();
    },
    bzxz() {
    /*  bzxz() {
      this.taocan = true;
      let data = { proId: this.proId, tjNum: this.tableAll.tjNumber };
      getAdviceByTjNumAndPro(data).then((res) => {
@@ -1268,6 +1289,37 @@
            this.idss.push(items.id);
            this.remakes += items.advice + ",";
          });
        }
      });
    }, */
    bzxz() {
      this.taocan = true;
      this.titles = "";
      var deptAdviceList1 = [];
      let data = { proId: this.proId, tjNum: this.tableAll.tjNumber };
      getAdviceByTjNumAndPro(data).then((res) => {
        if (res.data) {
          this.deptAdviceList3 = res.data;
          if (this.proParentList.xiaoJieIds) {
            this.proParentList.xiaoJieIds.forEach((item) => {
              this.deptAdviceList3.forEach((items) => {
                if (item == items.id) {
                  deptAdviceList1.push(items);
                }
              });
            });
            this.deptAdviceList1 = [...new Set(deptAdviceList1)];
          } else if (this.proParentList.xiaoJieIds == null) {
            this.deptAdviceList1 = [];
          }
          // this.deptAdviceList1 = [
          //   ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)),
          // ];
          // this.deptAdviceList3.forEach((items) => {
          //   this.idss.push(items.id);
          //   this.remakes += items.advice + ",";
          // });
        }
      });
    },
@@ -1307,20 +1359,38 @@
    handleDelete(row) {
      this.deptAdviceList1.forEach((item, index) => {
        if (item.id == row.id) this.deptAdviceList1.splice(index, 1);
        if (item.id == row.id) {
          this.deptAdviceList1.splice(index, 1);
          this.$refs.multipleTable.toggleRowSelection(item, false);
        }
      });
    },
    handleSelectionChanges(selection) {
      this.deptAdviceList2 = this.deptAdviceList1;
      if (this.deptAdviceList1.length != 0) {
        this.deptAdviceList2 = this.deptAdviceList1;
      }
      if (selection.length > 1) {
        const del_row = selection.shift();
        this.$refs.multipleTable.toggleRowSelection(del_row, false);
      }
      selection.forEach((item) => this.deptAdviceList2.push(item));
      this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))];
      // this.deptAdviceList1 = [
      //   ...new Set(this.deptAdviceList2),
      // ];
      this.deptAdviceList1 = [
        ...new Set(this.deptAdviceList2.map((item) => JSON.stringify(item))),
      ].map((str) => JSON.parse(str));
      // if( this.deptAdviceList1.length == 0){
      //   this.deptAdviceList1 = selection
      // }else{
      //   selection.forEach((item) => this.deptAdviceList1.push(item));
      // }
    },
    quxiao() {
      this.taocan = false;
      this.deptAdviceList1 = []
    },
    queding() {
      if (this.proParentList.xiaoJie.length != 0) {
        this.remakes = "";
@@ -1329,7 +1399,8 @@
          if (this.proParentList.remark != null) {
            this.titles += item1.title + ",";
            this.remakes += item1.advice + ",";
            this.proParentList.remark = this.proParentList.remark + this.remakes;
            this.proParentList.remark =
              this.proParentList.remark + this.remakes;
            this.value += item1.title + ",";
            this.vaids.push(item1.id);
            this.vaids1 = this.vaids.concat(this.idss);
@@ -1357,6 +1428,7 @@
          this.proParentList.remark = this.remakes;
        }
        this.taocan = false;
      }
    },
@@ -1377,7 +1449,7 @@
    },
    handleClose() {
      this.drawer = false;  // 只关闭抽屉,不刷新页面或重置数据
      this.drawer = false; // 只关闭抽屉,不刷新页面或重置数据
    },
    handleClose1() {
@@ -1389,8 +1461,6 @@
    },
    changDesc(item) {
      item.conclusion = item.exceptionDesc ? "异常" : "正常";
    },
@@ -1399,12 +1469,19 @@
    },
    sel(val) {
      console.log(val, 1212);
      if (this.proParentList.xiaoJie.length != 0) {
        this.deptAdviceList.forEach((item) => {
          this.ids = item.id;
          val.forEach((item1) => {
            if (item1 === item.id && !this.proParentList.remark.includes(item.title)) {
              this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ",";
            if (
              item1 === item.id &&
              !this.proParentList.remark.includes(item.title)
            ) {
              this.proParentList.remark = this.proParentList.remark
                ? this.proParentList.remark + item.title + ","
                : item.title + ",";
            }
          });
        });
@@ -1413,8 +1490,13 @@
        this.deptAdviceList.forEach((item) => {
          this.ids = item.id;
          val.forEach((item1) => {
            if (item1 === item.id && !this.proParentList.remark.includes(item.title)) {
              this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ",";
            if (
              item1 === item.id &&
              !this.proParentList.remark.includes(item.title)
            ) {
              this.proParentList.remark = this.proParentList.remark
                ? this.proParentList.remark + item.title + ","
                : item.title + ",";
            }
          });
        });
@@ -1422,18 +1504,17 @@
    },
    initInputDOM() {
      const inputDoms = document.querySelectorAll('.el-input__inner');
      inputDoms.forEach((item, index) => item.setAttribute('data-index', index));
      const inputDoms = document.querySelectorAll(".el-input__inner");
      inputDoms.forEach((item, index) =>
        item.setAttribute("data-index", index)
      );
      this.inputDoms = inputDoms;
    },
    keyInputConfirm(event, index, currentRowIndex) {
      // 阻止默认回车行为,比如提交表单
      event.preventDefault();
      event.stopPropagation()
      event.stopPropagation();
      const nextRowIndex = currentRowIndex + 1; // 计算下一行索引
      // 如果下一行存在,则聚焦该行的输入框
      if (nextRowIndex < this.proParentList.sons.length) {
@@ -1448,7 +1529,6 @@
          }
        });
      }
    },
    getList() {
@@ -1458,7 +1538,8 @@
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
            this.tableList = response.data.date || response.data.customers || [];
            this.tableList =
              response.data.date || response.data.customers || [];
            this.total = response.data.total;
          } else {
            this.tableList = [];
@@ -1473,7 +1554,14 @@
      getProList(this.queryParams).then((response) => {
        if (response.code == 200) {
          this.loading = false;
          this.tableList = response.data.date || response.data.customers || [];
          // this.tableList = response.data.date || response.data.customers || [];
          // this.total = response.data.total;
          const list = response.data.date || response.data.customers || [];
          // 给每条数据添加 titles 字段(如果没有的话)
          this.tableList = list.map((item) => ({
            ...item,
            titles: item.titles || "", // 初始化为空字符串或已有值
          }));
          this.total = response.data.total;
        } else {
          this.tableList = [];
@@ -1491,7 +1579,14 @@
    eventchange(data) {
      this.dataText = data;
      data.forEach((item) => this.proParentList.remark += item.advice);
      data.forEach((item) => {
        if (item.advice) {
          this.proParentList.remark += item.advice
        } else if (item.jynr) {
          this.proParentList.remark += item.jynr
        }
      })
      //  data.forEach((item) => (this.proParentList.remark += item.jynr));
    },
    proposalChange() {
@@ -1511,7 +1606,14 @@
      getProList(this.queryParams).then((response) => {
        if (response.code == 200) {
          this.loading = false;
          this.tableList = response.data.date || response.data.customers || [];
          // this.tableList = response.data.date || response.data.customers || [];
          // this.total = response.data.total;
          const list = response.data.date || response.data.customers || [];
          // 给每条数据添加 titles 字段(如果没有的话)
          this.tableList = list.map((item) => ({
            ...item,
            titles: item.titles || "", // 初始化为空字符串或已有值
          }));
          this.total = response.data.total;
          this.queryParams.tjNumber = "";
        } else {
@@ -1530,7 +1632,7 @@
      this.open = true;
      this.form = row;
      this.form.hzDoctorId = this.info.userId;
      getChildList().then((res) => this.deptList = res.data);
      getChildList().then((res) => (this.deptList = res.data));
      this.Hzlog(this.form.tjNumber);
    },
@@ -1584,7 +1686,8 @@
          if (item.hzType != "0") {
            item.hzDeptIdList.forEach((item1) => {
              this.deptList.forEach((item2) => {
                if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ",";
                if (item1 == item2.deptId)
                  item.hzDeptName += item2.deptName + ",";
              });
            });
          }
@@ -1608,7 +1711,8 @@
    submitFormapply() {
      let data = {};
      this.userList.forEach((item1) => {
        if (this.form.hzDoctorId == item1.userId) this.form.hzDoctorName = item1.nickName;
        if (this.form.hzDoctorId == item1.userId)
          this.form.hzDoctorName = item1.nickName;
      });
      if (this.form.hzType != undefined) {
        this.$refs["form"].validate((valid) => {
@@ -1708,7 +1812,10 @@
            background: "rgba(0, 0, 0, 0.7)",
          });
          setTimeout(() => loading.close(), 3000);
          this.$message({ type: "warning", message: "报告正在生成,请两分钟后预览!" });
          this.$message({
            type: "warning",
            message: "报告正在生成,请两分钟后预览!",
          });
        } else {
          this.dialogVisible = true;
          this.url = window.webkitURL.createObjectURL(response);
@@ -1751,7 +1858,8 @@
      } else {
        this.allList = [];
        if (selection[0]) {
          if (selection[0].hzReplyLogsList) this.hzReplyLogsList = selection[0].hzReplyLogsList;
          if (selection[0].hzReplyLogsList)
            this.hzReplyLogsList = selection[0].hzReplyLogsList;
        } else {
          this.hzReplyLogsList = [];
        }
@@ -1764,37 +1872,40 @@
      this.loading = true;
      this.drawer = true;
      this.isLoading = true;
      this.Parent = []
      this.tableAll = []
      this.proParentList = {}
      this.titles = "";
      this.Parent = [];
      this.tableAll = [];
      this.proParentList = {};
      this.$nextTick(() => this.initInputDOM());
      this.tableAll = row;
      this.tjNumber = row.tjNumber;
      let num = 0;
      getParentList(this.tjNumber).then((response) => {
        if (response.data) {
          this.loading = false;
          this.isLoading = false;
          this.Parent = response.data;
          this.Parent.forEach((item) => {
            if (item.type === 1) item.proName += "    ✔";
            if (num === 0) {
              this.nums = item.proId;
              this.radio = item.proId;
              this.proId = item.proId;
              this.getParentIdsss();
              this.getbzlist();
            }
            num = num + 1;
          });
        } else {
          this.loading = false;
          this.Parent = [];
          this.$modal.msgError("该科室下无项目!");
        }
      }).catch((error) => {
        this.$modal.msgError("数据加载失败");
      })
      getParentList(this.tjNumber)
        .then((response) => {
          if (response.data) {
            this.loading = false;
            this.isLoading = false;
            this.Parent = response.data;
            this.Parent.forEach((item) => {
              if (item.type === 1) item.proName += "    ✔";
              if (num === 0) {
                this.nums = item.proId;
                this.radio = item.proId;
                this.proId = item.proId;
                this.getParentIdsss();
                this.getbzlist();
              }
              num = num + 1;
            });
          } else {
            this.loading = false;
            this.Parent = [];
            this.$modal.msgError("该科室下无项目!");
          }
        })
        .catch((error) => {
          this.$modal.msgError("数据加载失败");
        })
        .finally(() => {
          this.loading = false;
          this.isLoading = false; // 确保最终状态重置
@@ -1812,7 +1923,8 @@
            if (item.hzType != "0") {
              item.hzDeptIdList.forEach((item1) => {
                this.deptList.forEach((item2) => {
                  if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ",";
                  if (item1 == item2.deptId)
                    item.hzDeptName += item2.deptName + ",";
                });
              });
            }
@@ -1822,18 +1934,22 @@
    },
    handleTabClick(tab, event) {
      if(this.lastClickedTab ==null){
        this.lastClickedTab = tab
      if (this.lastClickedTab == null) {
        this.lastClickedTab = tab;
      }
      this.Parent.forEach((item) => {
        if (tab.name == item.proId) this.Parentcheck = item;
      });
      this.$confirm("检测到体检结果未提交,是否在离开该项目前提交修改?", "确认信息", {
        distinguishCancelAndClose: true,
        confirmButtonText: "提交",
        cancelButtonText: "不保存,离开",
      })
      this.$confirm(
        "检测到体检结果未提交,是否在离开该项目前提交修改?",
        "确认信息",
        {
          distinguishCancelAndClose: true,
          confirmButtonText: "提交",
          cancelButtonText: "不保存,离开",
        }
      )
        .then(() => {
          let tjNumber = this.tableAll.tjNumber;
          this.userList.forEach((item) => {
@@ -1861,18 +1977,21 @@
          });
          for (var i = 0; i < this.proParentList.sons.length; i++) {
            //判断新数组是否有这个元素值,没有的话,就把arr[i]给push到新数组newArr中
            if (this.proParentList.sons[i].proResult == "" || this.proParentList.sons[i].proResult == null) {
                this.radio =  this.lastClickedTab.name
            if (
              this.proParentList.sons[i].proResult == "" ||
              this.proParentList.sons[i].proResult == null
            ) {
              this.radio = this.lastClickedTab.name;
              this.$modal.msgError("请检查项目是否填写完成");
              this.minedis = true
              return
              this.minedis = true;
              return;
            } else if (this.proParentList.sons[i].proResult.includes(" ")) {
              this.$modal.msgError("请检查项目是否有空格");
               this.radio =  this.lastClickedTab.name
              this.minedis = true
              return
              this.radio = this.lastClickedTab.name;
              this.minedis = true;
              return;
            } else {
              this.minedis = false
              this.minedis = false;
              this.tjOrderDetail.push({
                proAdvice: this.proParentList.sons[i].proAdvice,
                proName: this.proParentList.sons[i].project.proName,
@@ -1882,38 +2001,44 @@
                proResult: this.proParentList.sons[i].proResult,
                tjStatus: 1,
                isReturn: this.proParentList.sons[i].isReturn === true ? 1 : 0,
                exceptionDesc: this.proParentList.sons[i].exceptionDesc === true ? 1 : 0,
                exceptionDesc:
                  this.proParentList.sons[i].exceptionDesc === true ? 1 : 0,
                conclusion: this.proParentList.sons[i].conclusion,
                rulesList: this.proParentList.sons[i].rulesList,
              });
            }
          }
          if (this.minedis == false) {
            var data = [{
              tjNumber,
              proId: this.proId,
              remark: this.proParentList.remark,
              proName: this.proName,
              summaryList: this.value,
              doctorName: this.doctorName,
              tjOrderDetailList: this.tjOrderDetail,
            }];
            getaddRemark(data).then((res) => this.$modal.msgSuccess("提交成功"));
            var data = [
              {
                tjNumber,
                proId: this.proId,
                remark: this.proParentList.remark,
                proName: this.proName,
                summaryList: this.vaids,
                doctorName: this.doctorName,
                tjOrderDetailList: this.tjOrderDetail,
              },
            ];
            getaddRemark(data).then((res) =>
              this.$modal.msgSuccess("提交成功")
            );
            this.proName = this.Parentcheck.proName;
            this.nums = tab.name;
            this.proId = tab.name;
              this.lastClickedTab = tab
            this.lastClickedTab = tab;
            this.getParentIdsss();
            this.getbzlist();
          }
        })
        .catch((action) => {
          if (action === "cancel") this.$message({ type: "warning", message: "放弃保存并离开" });
          if (action === "cancel")
            this.$message({ type: "warning", message: "放弃保存并离开" });
          this.proName = this.Parentcheck.proName;
          this.nums = tab.name;
          this.proId = tab.name;
           this.lastClickedTab = tab
          this.lastClickedTab = tab;
          this.getParentIdsss();
          this.getbzlist();
        });
@@ -1931,20 +2056,22 @@
            if (item1 === item) item = item1;
          });
        }
      })
      });
      for (var i = 0; i < this.proParentList.sons.length; i++) {
        //判断新数组是否有这个元素值,没有的话,就把arr[i]给push到新数组newArr中
        if (this.proParentList.sons[i].proResult == "" || this.proParentList.sons[i].proResult == null) {
        if (
          this.proParentList.sons[i].proResult == "" ||
          this.proParentList.sons[i].proResult == null
        ) {
          this.$modal.msgError("请检查项目是否填写完成");
          this.minedis = true
          return
          this.minedis = true;
          return;
        } else if (this.proParentList.sons[i].proResult.includes(" ")) {
          this.$modal.msgError("请检查填写项目中是否有空格");
          this.minedis = true
          return
          this.minedis = true;
          return;
        } else {
          this.minedis = false
          this.minedis = false;
          this.tjOrderDetail.push({
            proAdvice: this.proParentList.sons[i].proAdvice,
            proName: this.proParentList.sons[i].project.proName,
@@ -1954,7 +2081,8 @@
            proResult: this.proParentList.sons[i].proResult,
            tjStatus: 1,
            isReturn: this.proParentList.sons[i].isReturn === true ? 1 : 0,
            exceptionDesc: this.proParentList.sons[i].exceptionDesc === true ? 1 : 0,
            exceptionDesc:
              this.proParentList.sons[i].exceptionDesc === true ? 1 : 0,
            conclusion: this.proParentList.sons[i].conclusion,
            rulesList: this.proParentList.sons[i].rulesList,
          });
@@ -1962,15 +2090,18 @@
      }
      if (this.minedis == false) {
        let data = [{
          tjNumber,
          proId: this.proId,
          remark: this.proParentList.remark,
          proName: this.proName,
          summaryList: this.vaids1,
          doctorName: this.doctorName,
          tjOrderDetailList: this.tjOrderDetail,
        }];
        let data = [
          {
            tjNumber,
            proId: this.proId,
            remark: this.proParentList.remark,
            proName: this.proName,
            summaryList: this.vaids,
            doctorName: this.doctorName,
            tjOrderDetailList: this.tjOrderDetail,
          },
        ];
        getaddRemark(data).then((res) => {
          this.$modal.msgSuccess("提交成功");
          this.rows = []; // 提交成功后清空 this.rows
@@ -1978,7 +2109,6 @@
        });
        this.handleClose();
      }
    },
  },
};