1
wwl
2024-12-25 8cef8ec64d4301b5d46299e42d98c59426b61673
src/views/doctor/check/index.vue
@@ -544,7 +544,6 @@
                        placeholder="请输入检测结果"
                        @blur="handleInputConfirm(scope.row)"
                        @input="vale"
                        @focus="handleInConfirm(scope.row)"
                      ></el-input>
                    </template>
                  </el-table-column>
@@ -648,12 +647,20 @@
                        病种选择:
                      </td>
                      <td
                        @click="bzxz"
                        style="
                          border: 1px solid #dfe6ec;
                          border-collapse: collapse;
                        "
                      >
                        <el-select
                        <el-input
                          type="textarea"
                          placeholder="请选择内容"
                          v-model="titles"
                          rows="2"
                        >
                        </el-input>
                        <!-- <el-select
                          v-model="value"
                          multiple
                          placeholder="请选择"
@@ -669,7 +676,7 @@
                            :value="item.id"
                          >
                          </el-option>
                        </el-select>
                        </el-select> -->
                      </td>
                      <td
                        style="
@@ -750,16 +757,14 @@
                  </table>
                  <div slot="footer" class="dialog-footers">
                    <!--  v-show="tjStatus == '0'" -->
                    <!-- <el-button type="primary"
          size="mini"
          @click="radioChange"
          v-hasPermi="['system:notice:add']"
          v-show="tjStatus == '1'"
        >会诊申请</el-button> -->
                    <el-button
                      type="primary"
                      @click="determine"
                      v-show="tjStatus == '0'"
                    <el-button type="primary" @click="determine"
                      >提 交</el-button
                    >
                  </div>
@@ -828,7 +833,6 @@
                        placeholder="请输入检测结果"
                        @blur="handleInputConfirm(scope.row)"
                        @input="vale"
                        @focus="handleInConfirm(scope.row)"
                      ></el-input>
                    </template>
                  </el-table-column>
@@ -937,7 +941,14 @@
                          border-collapse: collapse;
                        "
                      >
                        <el-select
                        <el-input
                          type="textarea"
                          placeholder="请选择内容"
                          v-model="titles"
                          rows="2"
                        >
                        </el-input>
                        <!-- <el-select
                          v-model="value"
                          multiple
                          placeholder="请选择"
@@ -953,7 +964,7 @@
                            :value="item.id"
                          >
                          </el-option>
                        </el-select>
                        </el-select> -->
                      </td>
                      <td
                        style="
@@ -1040,10 +1051,8 @@
          v-hasPermi="['system:notice:add']"
          v-show="tjStatus == '1'"
        >会诊申请</el-button> -->
                    <el-button
                      type="primary"
                      @click="determine"
                      v-show="tjStatus == '0'"
                    <!--  v-show="tjStatus == '0'" -->
                    <el-button type="primary" @click="determine"
                      >提 交</el-button
                    >
                  </div>
@@ -1129,6 +1138,173 @@
    </el-dialog>
    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
    <createproposal ref="createproposal" :creatobj="creatobj" />
    <el-dialog
      title="选择病种"
      :visible.sync="taocan"
      width="80%"
      height="700px"
      :close-on-click-modal="false"
    >
      <el-tabs
        type="border-card"
        style="min-height: 538px; margin: 0 10px; width: 100%"
        @tab-click="handleClick"
        v-model="activeNames"
      >
        <el-tab-pane label="病种" name="first">
          <div class="tab8">
            <div class="tab3">
              <el-form
                :model="queryParam1"
                ref="tableList"
                :inline="true"
                label-width="76px"
                style="margin-top: 10px"
              >
                <el-form-item>
                  <el-input
                    placeholder="输入关键字进行过滤"
                    v-model="queryParam1.nr"
                    clearable
                  >
                  </el-input>
                </el-form-item>
                <el-form-item>
                  <el-button
                    type="primary"
                    icon="el-icon-search"
                    size="mini"
                    @click="handleQuerys"
                    >搜索</el-button
                  >
                </el-form-item>
              </el-form>
              <el-table
                ref="multipleTable"
                border
                :data="deptAdviceList"
                height="430px"
                @selection-change="handleSelectionChanges"
              >
                <el-table-column type="selection" width="40"> </el-table-column>
                <el-table-column
                  prop="title"
                  label="病种名称"
                  align="center"
                  width="130px"
                ></el-table-column>
                <el-table-column
                  prop="advice"
                  label="建议"
                  align="center"
                  :show-overflow-tooltip="true"
                >
                </el-table-column>
              </el-table>
              <pagination
                v-show="total1 > 0"
                :total="total1"
                :page.sync="queryParam1.page"
                :limit.sync="queryParam1.pageSize"
                @pagination="getbzlist"
              />
            </div>
            <div class="tab4">
              <div class="tab4_txt">
                <h4>已选病种</h4>
              </div>
              <el-table border :data="deptAdviceList1" height="430px">
                <el-table-column prop="title" label="病种名称" align="center">
                </el-table-column>
                <el-table-column
                  label="操作"
                  align="center"
                  fixed="right"
                  class-name="small-padding fixed-width"
                  width="50px"
                >
                  <template slot-scope="scope">
                    <el-button
                      size="mini"
                      type="text"
                      icon="el-icon-delete"
                      @click="handleDelete(scope.row)"
                      title="删除"
                    ></el-button>
                  </template>
                </el-table-column>
              </el-table>
              <!-- <el-table
                    :data="DataList"
                    border
                    style="width: 100%"
                    height="400"
                    :span-method="objectSpanMethod"
                  >
                    <el-table-column prop="propinName" label="检查项目">
                    </el-table-column>
                    <el-table-column
                      prop="proName"
                      label="明细项目"
                      width="260px"
                    >
                    </el-table-column>
                    <el-table-column prop="proPrice" label="原价" width="56px">
                    </el-table-column>
                    <el-table-column
                      label="操作"
                      align="center"
                      fixed="right"
                      class-name="small-padding fixed-width"
                      width="50px"
                    >
                      <template slot-scope="scope">
                        <el-button
                          size="mini"
                          type="text"
                          icon="el-icon-delete"
                          @click="handleDelete(scope.row)"
                          title="删除"
                        ></el-button>
                      </template>
                    </el-table-column>
                  </el-table> -->
              <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                    <div>
                      <el-collapse-item title="请选择项目">
                        <el-table
                          :data="DataList"
                          border
                          style="width: 100%"
                          height="400"
                          :span-method="objectSpanMethod"
                        >
                          <el-table-column
                            prop="proName"
                            label="项目"
                            width="180"
                          >
                          </el-table-column>
                          <el-table-column prop="ordPrice" label="原价">
                          </el-table-column>
                        </el-table>
                      </el-collapse-item>
                    </div>
                  </el-collapse> -->
            </div>
          </div>
        </el-tab-pane>
      </el-tabs>
      <span slot="footer" class="dialog-footer">
        <el-button @click="taocan = false">取 消</el-button>
        <el-button type="primary" @click="queding">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
@@ -1151,11 +1327,12 @@
  getParentId,
  getDeptAdvice,
  reportHistory,
  getAdviceByTjNumAndPro,
} from "@/api/doctor/check";
import { addBigPositive } from "@/api/doctor/bigPositive";
import { addReplylog, hzHasDept } from "@/api/hosp/replylog";
import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog";
import { listUser } from "@/api/system/user";
import { getlistUser } from "@/api/system/user";
import { getChildList } from "@/api/system/dept";
export default {
  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
@@ -1169,6 +1346,14 @@
  },
  data() {
    return {
      remakes: "",
      titles: "",
      advice: "",
      idss: [],
      vaids: [],
      vaids1: [],
      activeNames: "first",
      taocan: false,
      creatobj: {},
      dataText: [],
      propform: {},
@@ -1200,11 +1385,16 @@
      rows: [],
      id: [],
      deptAdviceList: [],
      value: [],
      deptAdviceList1: [],
      deptAdviceList2: [],
      deptAdviceList3: [],
      deptAdviceList4: [],
      value: {},
      remark: "", //备注
      remarks: "",
      // 总条数
      total: 0,
      total1: 0,
      // 绑定单选按钮
      tjStatus: "0",
      // 抽屉打开方式
@@ -1266,6 +1456,11 @@
        type: "",
        name: null,
      },
      queryParam1: {
        nr: null,
        page: 1,
        pageSize: 10,
      },
      queryParam: {
        page: 1,
        pageSize: 1000,
@@ -1303,10 +1498,156 @@
  },
  methods: {
    getbzlist() {
      getDeptAdvice(this.queryParam1).then((response) => {
        this.deptAdviceList = response.data.list;
        this.total1 = response.data.total;
      });
    },
    /** 搜索按钮操作 */
    handleQuerys() {
      this.queryParam1.page = 1;
      this.getbzlist();
    },
    bzxz() {
      this.taocan = true;
      let data = {
        proId: this.proId,
        tjNum: this.tableAll.tjNumber,
      };
      getAdviceByTjNumAndPro(data).then((res) => {
        if (res.data) {
          // this.deptAdviceList2 = [];
          this.deptAdviceList3 = res.data;
          this.deptAdviceList1 = [
            ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)),
          ];
          this.deptAdviceList3.forEach((items) => {
            this.idss.push(items.id);
            this.remakes += items.advice + ",";
          });
        }
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      this.deptAdviceList1.forEach((item, index) => {
        if (item.id == row.id) {
          this.deptAdviceList1.splice(index, 1);
        }
      });
    },
    handleSelectionChanges(selection) {
      this.deptAdviceList2 = this.deptAdviceList1;
      if (selection.length > 1) {
        const del_row = selection.shift();
        this.$refs.multipleTable.toggleRowSelection(del_row, false);
      }
      console.log(selection);
      // this.selectArr = selection;
      selection.forEach((item) => {
        this.deptAdviceList2.push(item);
      });
      this.deptAdviceList1 = [
        ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)),
      ];
    },
    queding() {
      if (this.proParentList.xiaoJie.length != 0) {
        // this.proParentList.remark = "";
        this.remakes = "";
        this.titles = "";
        // this.deptAdviceList.forEach((item) => {
        // this.ids = item.id;
        this.deptAdviceList1.forEach((item1) => {
          // if (
          //   item1.id === item.id &&
          //   !this.proParentList.remark.includes(item.title)
          // ) {
          if (this.proParentList.remark != null) {
            console.log(this.proParentList.remark);
            this.titles += item1.title + ",";
            this.remakes += item1.advice + ",";
            this.proParentList.remark =
              this.proParentList.remark + this.remakes;
            this.value += item1.title + ",";
            this.vaids.push(item1.id);
            this.vaids1 = this.vaids.concat(this.idss);
          } else {
            this.titles += item1.title + ",";
            this.proParentList.remark = item1.advice + ",";
            this.value += item1.title + ",";
            this.vaids.push(item1.id);
            this.vaids1 = this.vaids.concat(this.idss);
          }
          // }
        });
        // });
        this.taocan = false;
      } else {
        // this.proParentList.remark = "";
        this.titles = "";
        this.remakes = "";
        console.log(this.deptAdviceList1, 888888888888888888888888888);
        // this.deptAdviceList.forEach((item) => {
        // this.ids = item.id;
        this.deptAdviceList1.forEach((item) => {
          this.titles += item.title + ",";
          this.remakes += item.advice + ",";
          this.vaids.push(item.id);
          this.vaids1 = this.vaids.concat(this.idss);
        });
        if (this.proParentList.remark != null) {
          console.log(this.remakes);
          this.proParentList.remark = "";
          console.log(this.proParentList.remark);
          let data = {
            tjNumber: this.tjNumber,
            proParentId: this.nums,
          };
          getParentId(data).then((response) => {
            this.proParentList = response.data;
            this.proParentList.remark =
              this.remakes + this.proParentList.remark;
          });
        } else {
          this.proParentList.remark = this.remakes;
        }
        // this.deptAdviceList1.forEach((item1) => {
        //   // if (item1.id === item.id) {
        //   if (this.proParentList.remark != null) {
        //     console.log(this.proParentList.remark,10101010);
        //     console.log(66666666666);
        //     this.titles += item1.title + ",";
        //     // this.proParentList.remark += item1.advice + ",";
        //     this.remakes += item1.advice + ",";
        //     this.proParentList.remark = this.remakes + this.proParentList.remark;
        //     // this.proParentList.remark ;
        //     // this.value += item1.title + ",";
        //     this.vaids.push(item1.id);
        //     this.vaids1 = this.vaids.concat(this.idss);
        //     return
        //   } else {
        //     console.log(77777777777);
        //     this.titles += item1.title + ",";
        //     this.proParentList.remark = item1.advice + ",";
        //     // this.value += item1.title + ",";
        //     this.vaids.push(item1.id);
        //     this.vaids1 = this.vaids.concat(this.idss);
        //   }
        //   // }
        // });
        // });
        this.taocan = false;
      }
    },
    /** 查询用户列表 */
    getListUser() {
      listUser().then((response) => {
        this.userList = response.rows;
      getlistUser().then((response) => {
        this.userList = response.data;
        this.userList.forEach((element) => {
          const userName = this.$store.state.user.name;
          if (userName == element.userName) {
@@ -1380,8 +1721,12 @@
        });
      }
    },
    vale(datas) {
    vale(value) {
      // 你可以在这里处理输入事件
      console.log("输入内容:", value);
    },
    handleInputConfirm(datas) {
      this.focusrow = datas;
      this.proResult = datas;
      var pattern3 = new RegExp("[0-9]+");
      if (pattern3.test(this.proResult)) {
@@ -1389,19 +1734,32 @@
          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.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);
            // console.log(this.rows,5522);
          }
        });
      } else {
@@ -1409,27 +1767,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.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;
@@ -1446,6 +1816,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) {
@@ -1901,9 +2273,7 @@
              // this.radioChange1(item.proId, item);
              this.getParentIdsss();
              getDeptAdvice(this.proId).then((response) => {
                this.deptAdviceList = response.data;
              });
              this.getbzlist();
            }
            num = num + 1;
          });
@@ -1913,9 +2283,7 @@
          this.$modal.msgError("该科室下无项目!");
        }
      });
      getDeptAdvice().then((response) => {
        this.deptAdviceList = response.data;
      });
      this.getbzlist();
      // getSons(this.tjNumber).then((response) => {
      //   response.data.forEach(item1 => {
@@ -1939,7 +2307,13 @@
        proParentId: this.nums,
      };
      getParentId(data).then((response) => {
        this.proParentList = response.data;
        if (response.data != {}) {
          this.proParentList = response.data;
          this.proParentList.xiaoJie.forEach((item) => {
            this.titles += item.title + ",";
            // this.advice += item.advice + ",";
          });
        }
        this.loading = false;
        this.value = [];
@@ -1983,10 +2357,10 @@
                this.proParentList.remark = item3.remark;
              }
            });
          }
        }else {
            this.proParentList.remark = "";
          }
        } else {
          this.proParentList.remark = "";
        }
      });
    },
@@ -2133,15 +2507,13 @@
                    this.remark = this.Parentcheck.remark;
                  }
                });
              }
            }else {
                this.remark = "";
              }
            } else {
              this.remark = "";
            }
          });
          getDeptAdvice(this.proId).then((response) => {
            this.deptAdviceList = response.data;
          });
          this.getbzlist();
        })
        .catch((action) => {
          if (action === "cancel") {
@@ -2206,9 +2578,7 @@
            }
          });
          getDeptAdvice(this.proId).then((response) => {
            this.deptAdviceList = response.data;
          });
          this.getbzlist();
        });
    },
@@ -2327,9 +2697,7 @@
            }
          });
          getDeptAdvice(this.proId).then((response) => {
            this.deptAdviceList = response.data;
          });
          this.getbzlist();
        })
        .catch((action) => {
          if (action === "cancel") {
@@ -2391,18 +2759,10 @@
            }
          });
          getDeptAdvice(this.proId).then((response) => {
            this.deptAdviceList = response.data;
          });
          this.getbzlist();
        });
    },
    handleInConfirm(row) {
      this.focusrow = row;
    },
    handleInputConfirm(row) {
      this.rows.push(row);
    },
    // 点击确认
    determine() {
      // 体检号
@@ -2446,7 +2806,7 @@
          proId: this.proId,
          remark: this.proParentList.remark, // 备注
          proName: this.proName, //父项
          summaryList: this.value, //小结
          summaryList: this.vaids1, //小结
          doctorName: this.doctorName,
          tjOrderDetailList: this.tjOrderDetail,
        },
@@ -2483,7 +2843,6 @@
}
.el-button--medium {
  padding: 4px 14px;
  font-size: 14px;
}
@@ -2516,4 +2875,20 @@
.el-message * {
  color: var(--white) !important;
}
.tab8 {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.tab3 {
  width: 68%;
}
.tab4 {
  margin-top: 6px;
  width: 30%;
}
.tab4_txt {
  display: flex;
  justify-content: center;
}
</style>