12
wwl
2024-12-26 d9d193db52f94c91b8e1c8de69aa0e6c8b130fe1
src/views/doctor/check/index.vue
@@ -513,17 +513,18 @@
                :key="index"
              >
                <el-table
                  class="bgc"
                  v-loading="loading"
                  :data="proParentList.sons"
                  border
                  height="460px"
                  style="width: 96%; margin: 10px 10px"
                  :row-class-name="tableRowClassName"
                >
                  <el-table-column
                    prop="project.proName"
                    label="检测项目"
                    width="150"
                    fixed="left"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
@@ -532,7 +533,7 @@
                  <el-table-column
                    prop="proResult"
                    label="检测结果"
                    width="200"
                    width="150"
                  >
                    <template slot-scope="scope">
                      <el-input
@@ -544,11 +545,22 @@
                        placeholder="请输入检测结果"
                        @blur="handleInputConfirm(scope.row)"
                        @input="vale"
                        @focus="handleInConfirm(scope.row)"
                      ></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column label="规则" width="55">
                  <el-table-column
                    prop="exceptionDesc"
                    label="异常"
                    width="55px"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-checkbox
                        v-model="scope.row.exceptionDesc"
                      ></el-checkbox>
                    </template>
                  </el-table-column>
                  <el-table-column label="规则" width="70">
                    <template slot-scope="scope">
                      <el-button
                        class="blue-button"
@@ -557,12 +569,20 @@
                      >
                    </template>
                  </el-table-column>
                  <el-table-column prop="project.proMetering" label="单位">
                  <el-table-column
                    prop="project.proMetering"
                    label="单位"
                    width="55"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.standard.company }}
          </template> -->
                  </el-table-column>
                  <el-table-column prop="project.proScope" label="参考范围">
                  <el-table-column
                    prop="project.proScope"
                    label="参考范围"
                    width="70"
                  >
                  </el-table-column>
                  <el-table-column
                    prop="conclusion"
@@ -581,37 +601,23 @@
                      ></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="exceptionDesc"
                    label="是否异常"
                    width="80px"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-checkbox
                        v-model="scope.row.exceptionDesc"
                      ></el-checkbox>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="isReturn"
                    label="是否复诊"
                    width="80px"
                    label="复诊"
                    width="60px"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
                    </template>
                  </el-table-column>
                  <el-table-column prop="resultType" label="结果类型">
                    <template slot-scope="scope">
                      <dict-tag
                        :options="dict.type.tj_result_type"
                        :value="scope.row.resultType"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column prop="isPositive" label="重大阳性">
                  <el-table-column
                    prop="isPositive"
                    label="重大阳性"
                    width="55"
                  >
                    <template slot-scope="scope">
                      <el-switch
                        v-model="scope.row.isPositive"
@@ -619,6 +625,24 @@
                        inactive-value="0"
                        @change="checkboxchange(scope.row)"
                      ></el-switch>
                    </template>
                  </el-table-column>
                  <el-table-column prop="resultType" label="结果建议">
                    <template slot-scope="scope">
                      <el-popover placement="top" trigger="hover" width="400">
                        <div>
                          {{ scope.row.proAdvice }}
                        </div>
                        <div slot="reference" class="jianyi">
                          <el-input
                            type="textarea"
                            autosize
                            v-model="scope.row.proAdvice"
                            placeholder="请输入结果建议"
                            :disabled="true"
                          ></el-input>
                        </div>
                      </el-popover>
                    </template>
                  </el-table-column>
                </el-table>
@@ -803,17 +827,18 @@
                :key="index"
              >
                <el-table
                  class="bgc"
                  v-loading="loading"
                  :data="proParentList.sons"
                  border
                  height="460px"
                  style="width: 96%; margin: 10px 10px"
                  :row-class-name="tableRowClassName"
                >
                  <el-table-column
                    prop="project.proName"
                    label="检测项目"
                    width="150"
                    fixed="left"
                    width="100"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
@@ -822,7 +847,7 @@
                  <el-table-column
                    prop="proResult"
                    label="检测结果"
                    width="200"
                    width="150"
                  >
                    <template slot-scope="scope">
                      <el-input
@@ -834,11 +859,10 @@
                        placeholder="请输入检测结果"
                        @blur="handleInputConfirm(scope.row)"
                        @input="vale"
                        @focus="handleInConfirm(scope.row)"
                      ></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column label="规则" width="55">
                  <el-table-column label="规则" width="70">
                    <template slot-scope="scope">
                      <el-button
                        class="blue-button"
@@ -847,34 +871,26 @@
                      >
                    </template>
                  </el-table-column>
                  <el-table-column prop="project.proMetering" label="单位">
                  <el-table-column
                    prop="project.proMetering"
                    label="单位"
                    width="55"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.standard.company }}
          </template> -->
                  </el-table-column>
                  <el-table-column prop="project.proScope" label="参考范围">
                  </el-table-column>
                  <el-table-column
                    prop="conclusion"
                    label="结果结论"
                    width="200"
                    prop="project.proScope"
                    label="参考范围"
                    width="80"
                  >
                    <template slot-scope="scope">
                      <el-input
                        size="mini"
                        type="textarea"
                        autosize
                        v-model="scope.row.conclusion"
                        autocomplete="off"
                        placeholder="请输入检测结果"
                        disabled
                      ></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column
                    prop="exceptionDesc"
                    label="是否异常"
                    width="80px"
                    label="异常"
                    width="55px"
                    align="center"
                  >
                    <template slot-scope="scope">
@@ -885,23 +901,20 @@
                  </el-table-column>
                  <el-table-column
                    prop="isReturn"
                    label="是否复诊"
                    width="80px"
                    label="复诊"
                    width="55px"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
                    </template>
                  </el-table-column>
                  <el-table-column prop="resultType" label="结果类型">
                    <template slot-scope="scope">
                      <dict-tag
                        :options="dict.type.tj_result_type"
                        :value="scope.row.resultType"
                      />
                    </template>
                  </el-table-column>
                  <el-table-column prop="isPositive" label="重大阳性">
                  <el-table-column
                    prop="isPositive"
                    label="重大阳性"
                    width="55"
                  >
                    <template slot-scope="scope">
                      <el-switch
                        v-model="scope.row.isPositive"
@@ -909,6 +922,24 @@
                        inactive-value="0"
                        @change="checkboxchange(scope.row)"
                      ></el-switch>
                    </template>
                  </el-table-column>
                  <el-table-column prop="resultType" label="结果建议">
                    <template slot-scope="scope">
                      <el-popover placement="top" trigger="hover" width="400">
                        <div>
                          {{ scope.row.proAdvice }}
                        </div>
                        <div slot="reference" class="jianyi">
                          <el-input
                            type="textarea"
                            autosize
                            v-model="scope.row.proAdvice"
                            placeholder="请输入结果建议"
                            :disabled="true"
                          ></el-input>
                        </div>
                      </el-popover>
                    </template>
                  </el-table-column>
                </el-table>
@@ -1500,6 +1531,12 @@
  },
  methods: {
    tableRowClassName({ row }) {
      if (row.exceptionDesc) {
        return "warning-row";
      }
      return "";
    },
    getbzlist() {
      getDeptAdvice(this.queryParam1).then((response) => {
        this.deptAdviceList = response.data.list;
@@ -1611,9 +1648,9 @@
          };
          getParentId(data).then((response) => {
            this.proParentList = response.data;
            this.proParentList.remark = this.remakes+ this.proParentList.remark;
            this.proParentList.remark =
              this.remakes + this.proParentList.remark;
          });
        } else {
          this.proParentList.remark = this.remakes;
        }
@@ -1723,26 +1760,41 @@
        });
      }
    },
    vale(datas) {
    vale(value) {
      // 你可以在这里处理输入事件
      console.log("输入内容:", value);
    },
    handleInputConfirm(datas) {
      this.focusrow = datas;
      this.proResult = datas;
      var pattern3 = new RegExp("[0-9]+");
      console.log(typeof this.proResult.proResult);
      if (pattern3.test(this.proResult)) {
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          keyNum: this.proResult,
          tjNum: this.tableAll.tjNumber,
          keyNum: this.proResult.proResult,
        };
        AutoGetRule(data).then((res) => {
          this.focusrow.conclusion = "";
          if (res.data) {
            this.autorule = res.data;
            this.focusrow.rulesList = this.autorule;
            this.focusrow.rulesList = res.data;
            if (res.data.length > 0) {
              const conditions = ["正常", "未见异常", "阴性", "未见明显异常"];
              this.focusrow.exceptionDesc = !conditions.some((condition) =>
                this.autorule[0].bz.includes(condition)
              );
            } else {
              this.focusrow.exceptionDesc = false;
            }
            this.focusrow.proAdvice = this.autorule[0].nr;
            this.autorule.forEach((item) => {
              if (this.focusrow.conclusion) {
                this.focusrow.conclusion += item.bingzhong;
                this.focusrow.conclusion += item.bz;
              } else {
                this.focusrow.conclusion = item.bingzhong;
                this.focusrow.conclusion += item.bz;
              }
            });
          }
@@ -1752,27 +1804,39 @@
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          keyWord: this.proResult,
          tjNum: this.tableAll.tjNumber,
          keyNum: this.proResult.proResult,
        };
        AutoGetRule(data).then((res) => {
          this.focusrow.conclusion = "";
          if (res.data) {
            this.autorule = res.data;
            this.focusrow.rulesList = this.autorule;
            this.focusrow.rulesList = res.data;
            if (res.data.length > 0) {
              const conditions = ["正常", "未见异常", "阴性", "未见明显异常"];
              this.focusrow.exceptionDesc = !conditions.some((condition) =>
                this.autorule[0].bz.includes(condition)
              );
            } else {
              this.focusrow.exceptionDesc = false;
            }
            this.focusrow.proAdvice = this.autorule[0].nr;
            this.autorule.forEach((item) => {
              if (this.focusrow.conclusion) {
                this.focusrow.conclusion += item.bingzhong;
                this.focusrow.conclusion += item.bz;
              } else {
                this.focusrow.conclusion = item.bingzhong;
                this.focusrow.conclusion += item.bz;
              }
            });
            // this.rows.push(this.focusrow);
          }
        });
      }
      // this.$refs.aaa.open = true;
      // this.$refs.aaa.getList();
      this.rows.push(datas);
      console.log(this.rows, 5522);
    },
    // 规则
    handleguize(row) {
      this.row = row;
      this.$refs.aaa.open = true;
@@ -1789,6 +1853,8 @@
      this.loading = true;
      this.queryParams.type = this.tjStatus;
      getProList(this.queryParams).then((response) => {
        console.log(response, 1212);
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
@@ -2393,15 +2459,11 @@
                if (item1 === item) {
                  item = item1;
                }
                // if (item.isReturn == true) {
                //   item.isReturn = 1;
                // }
                // if (item.isReturn == false) {
                //   item.isReturn = 0;
                // }
              });
            }
            this.tjOrderDetail.push({
              proAdvice: item.proAdvice,
              proName: item.project.proName,
              proId: item.project.proId,
              orderDetailId: item.orderDetailId,
@@ -2588,6 +2650,8 @@
              });
            }
            this.tjOrderDetail.push({
              proAdvice: item.proAdvice,
              proName: item.project.proName,
              proId: item.project.proId,
              orderDetailId: item.orderDetailId,
@@ -2733,13 +2797,7 @@
          this.getbzlist();
        });
    },
    handleInConfirm(row) {
      this.focusrow = row;
    },
    handleInputConfirm(row) {
      this.rows.push(row);
    },
    // 点击确认
    determine() {
      // 体检号
@@ -2764,6 +2822,7 @@
          });
        }
        this.tjOrderDetail.push({
          proAdvice: item.proAdvice,
          proName: item.project.proName,
          proId: item.project.proId,
          orderDetailId: item.orderDetailId,
@@ -2779,6 +2838,8 @@
      let data = [
        {
          proAdvice: item.proAdvice,
          tjNumber,
          proId: this.proId,
          remark: this.proParentList.remark, // 备注
@@ -2797,7 +2858,7 @@
  },
};
</script>
<style>
<style lang="scss" scoped>
.el-table .cell {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
@@ -2820,7 +2881,6 @@
}
.el-button--medium {
  padding: 4px 14px;
  font-size: 14px;
}
@@ -2869,4 +2929,30 @@
  display: flex;
  justify-content: center;
}
::v-deep .el-table .warning-row {
  background: #ffe6e6 !important; /* 轻微的红色背景 */
}
/* .el-table--enable-row-hover .el-table__body tr:hover>td{
   background-color: #ffe6e6 !important;
} */
::v-deep .bgc .el-table__body tr:hover > td {
  background-color: #ffe6e6 !important;
}
::v-deep .bgc .el-table__cell {
  padding: 5px 0 !important;
}
.jianyi {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  font-size: 12px;
}
::v-deep .el-checkbox__input.is-checked .el-checkbox__inner {
  background-color: #66cc66;
  border-color: #66cc66;
}
</style>