1
wwl
2025-03-05 cb1f69717eed3b6a61b6c61a8934bac752782b2d
src/views/doctor/check/index.vue
@@ -328,10 +328,6 @@
          </div>
        </el-col>
      </el-row>
      <!-- <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitFormapply">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div> -->
    </el-dialog>
    <el-dialog
@@ -496,7 +492,9 @@
          >
        </div>
        <div style="margin: 10px 10px">
          <el-button type="primary" size="mini" @click="result">检查检验结果</el-button>
          <el-button type="primary" size="mini" @click="result"
            >检查检验结果</el-button
          >
        </div>
      </div>
@@ -529,9 +527,6 @@
                    label="检测项目"
                    width="150"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
          </template> -->
                  </el-table-column>
                  <el-table-column
                    prop="proResult"
@@ -578,9 +573,6 @@
                    label="单位"
                    width="55"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.standard.company }}
          </template> -->
                  </el-table-column>
                  <el-table-column
                    prop="project.proScope"
@@ -692,23 +684,6 @@
                          rows="2"
                        >
                        </el-input>
                        <!-- <el-select
                          v-model="value"
                          multiple
                          placeholder="请选择"
                          style="width: 100%; height: 45px"
                          v-if="deptAdviceList"
                          @change="sel"
                          filterable
                        >
                          <el-option
                            v-for="item in deptAdviceList"
                            :key="item.id"
                            :label="item.title"
                            :value="item.id"
                          >
                          </el-option>
                        </el-select> -->
                      </td>
                      <td
                        style="
@@ -826,9 +801,6 @@
                    label="检测项目"
                    width="100"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
          </template> -->
                  </el-table-column>
                  <el-table-column
                    prop="proResult"
@@ -863,9 +835,6 @@
                    label="单位"
                    width="55"
                  >
                    <!-- <template slot-scope="scope">
            {{ scope.row.standard.company }}
          </template> -->
                  </el-table-column>
                  <el-table-column
                    prop="project.proScope"
@@ -1102,119 +1071,137 @@
    <createproposal ref="createproposal" :creatobj="creatobj" />
    <!-- 检查检验结果按钮的弹框 -->
    <el-dialog
      title="检查检验结果"
      :visible.sync="openOne"
      width="80%"
    >
    <div style="width: 100%; margin-left: 10px; display: flex">
      <div style="width: 40%">
        <el-table
          v-loading="loading"
          border
          height="520"
          ref="tab1"
        >
        <!--
          :row-class-name="tableRowClassName"
          :data="xiangmuList"
          highlight-current-row
          @row-click="handleRowClick" -->
          <el-table-column
            label="科室"
            align="center"
            prop="deptName"
            width="100"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="项目"
            align="center"
            prop="proName"
            width="150"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="状态"
            align="center"
            prop="type"
            :show-overflow-tooltip="true"
            width="100"
    <el-dialog title="检查检验结果" :visible.sync="openOne" width="80%">
      <div
        style="
          width: 100%;
          margin-left: 10px;
          display: flex;
          justify-content: space-around;
        "
      >
        <div style="width: 44%">
          <el-table
            v-loading="loading"
            border
            :data="xiangmuList"
            height="520"
            ref="tab1"
            highlight-current-row
          >
            <template slot-scope="scope">
              <span
                v-if="scope.row.type == '0'"
                :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }"
              >
                {{ type == 0 ? "未  检" : "在  检" }}
              </span>
              <span v-if="scope.row.type == '1'">已完成</span>
              <span v-if="scope.row.type == '2'">弃检</span>
              <span v-if="scope.row.type == '3'">延期</span>
            </template>
          </el-table-column>
            <el-table-column
              label="科室"
              align="center"
              prop="deptName"
              width="100"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="项目"
              align="center"
              prop="proName"
              width="150"
              :show-overflow-tooltip="true"
            />
            <el-table-column
              label="状态"
              align="center"
              prop="type"
              :show-overflow-tooltip="true"
              width="100"
            >
              <template slot-scope="scope">
                <span
                  v-if="scope.row.type == '0'"
                  :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }"
                >
                  {{ type == 0 ? "未  检" : "在  检" }}
                </span>
                <span v-if="scope.row.type == '1'">已完成</span>
                <span v-if="scope.row.type == '2'">弃检</span>
                <span v-if="scope.row.type == '3'">延期</span>
              </template>
            </el-table-column>
          <el-table-column
            label="检查时间"
            align="center"
            prop="bcupdateTime"
            width="160"
          />
          <el-table-column label="操作" align="center" width="120px">
            <template slot-scope="scope">
              <!-- <el-button
                size="mini"
                type="text"
                :disabled="scope.row.type === 1"
                @click="qijian(scope.row)"
                >弃检</el-button
              > -->
              <el-button
                size="mini"
                type="text"
                :disabled="scope.row.type === 0"
                @click="queryResultone(scope.row)"
                >结果查询</el-button
            <el-table-column
              label="检查时间"
              align="center"
              prop="bcupdateTime"
              width="160"
            />
            <el-table-column label="操作" align="center" width="120px">
              <template slot-scope="scope">
                <!-- <el-button
                  size="mini"
                  type="text"
                  :disabled="scope.row.type === 1"
                  @click="qijian(scope.row)"
                  >{{ scope.row.type === 0 ? "弃检" : "恢复" }}</el-button
                > -->
                <el-button
                  size="mini"
                  type="text"
                  :disabled="scope.row.type === 0 || scope.row.type === 2"
                  @click="queryResultone(scope.row)"
                  >结果查询</el-button
                >
              </template>
            </el-table-column>
          </el-table>
        </div>
        <div style="width: 44%; margin-left: 20px">
          <div style="text-align: center; background-color: #aad8df">
            {{ name || "" }}
          </div>
          <div class="a">
            <div v-if="jyjc == 0">
              <el-table
                :data="jieguoList"
                border
                :row-style="changRed"
                height="520"
                highlight-current-row
                style="width: 100%"
                :header-cell-style="{ background: '#AAD8DF' }"
              >
            </template>
          </el-table-column>
        </el-table>
                <el-table-column label="检测项目" prop="pro_name">
                </el-table-column>
                <el-table-column label="检测结果" prop="pro_result">
                </el-table-column>
                <el-table-column label="参考范围" prop="ckfw">
                </el-table-column>
              </el-table>
            </div>
            <div v-if="jyjc == 1">
              <div style="text-align: center; background-color: #aad8df"></div>
              <div class="check-result-container">
                <div class="check-item">
                  <div class="check-title">检查所见:</div>
                  <div
                    class="check-description"
                    :style="{ color: isRed ? 'red' : '' }"
                  >
                    {{ jieguoList[0].pro_result }}
                  </div>
                </div>
                <div class="check-item">
                  <div class="check-title">检查结论:</div>
                  <div
                    class="check-description"
                    :style="{ color: isRed ? 'red' : '' }"
                  >
                    {{ jieguoList[0].yxzd || "暂无结论" }}
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
       <!--
          :row-class-name="tableRowClassName"
          :data="xiangmuList"
          highlight-current-row
          @row-click="handleRowClick" -->
      <!-- <div style="width: 40%; margin-left: 20px;">
        <el-table
          v-loading="loading"
          border
          height="520"
          ref="tab1"
        >
          <el-table-column
            label="结果"
            align="center"
            prop="deptName"
            width="100"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="项目"
            align="center"
            prop="proName"
            width="150"
            :show-overflow-tooltip="true"
          />
        </el-table>
      </div> -->
    </div>
    </el-dialog>
    <el-dialog
@@ -1407,12 +1394,15 @@
  getDeptAdvice,
  reportHistory,
  getAdviceByTjNumAndPro,
  getXm,
} 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 { getlistUser } from "@/api/system/user";
import { getChildList } from "@/api/system/dept";
import { resultList } from "@/api/doctor/examination";
import { get } from "sortablejs";
export default {
  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
  name: "check",
@@ -1428,6 +1418,7 @@
    return {
      remakes: "",
      titles: "",
      type: null,
      advice: "",
      idss: [],
      vaids: [],
@@ -1486,6 +1477,8 @@
      // 获取信息集合
      tableList: [],
      deptList: [],
      jieguoList: [],
      jyjc: null,
      tableAll: {},
      row: {},
      info: {},
@@ -1503,6 +1496,8 @@
      proId: "",
      company: "",
      tjStandardGtValue: "",
      xiangmuList: [],
      name: "",
      // 用户表格数据
      userList: null,
      // 父项目列表
@@ -1581,12 +1576,12 @@
  methods: {
    handleFocus(row) {
      console.log(row);
      this.autorule = [];
      if (!row.resultType || row.resultType == 2) {
        return;
      } else {
        this.curindex = row;
        this.$refs.bbb.title = "选择检测结果";
        this.$refs.bbb.proId = row.proId;
        this.$refs.bbb.getList();
@@ -1594,6 +1589,7 @@
    },
    handleChangesZt(params) {
      this.curindex.proResult = params.map((item) => item.ruleStr).join(",");
      this.handleInputConfirm(this.curindex, params);
    },
    tableRowClassName({ row }) {
      if (row.exceptionDesc) {
@@ -1602,8 +1598,14 @@
      return "";
    },
    getbzlist() {
      this.loading = true;
      getDeptAdvice(this.queryParam1).then((response) => {
        this.deptAdviceList = response.data.list;
        if(response.data.list){
          this.deptAdviceList = response.data.list;
          this.loading = false
        }
        this.total1 = response.data.total;
      });
    },
@@ -1633,8 +1635,52 @@
      });
    },
    // 检查检验结果按钮
    result(){
      this.openOne = true
    result() {
      let tjNumber = this.tableAll.tjNumber;
      console.log(this.tableAll.tjNumber,666);
      getXm(tjNumber).then((res) => {
        this.xiangmuList = res.data;
        if(this.xiangmuList.length > 0){
          this.openOne = true;
        }
        else{
          this.openOne = false;
          this.$modal.msgWarning("暂无项目与检查检验结果")
        }
      });
    },
    queryResultone(row) {
      const tjNum = this.tableAll.tjNumber;
      const proId = row.proId;
      resultList(tjNum, proId).then((res) => {
        this.jieguoList = res.data;
        console.log(this.jieguoList, 998877);
        this.jyjc = this.jieguoList[0].jyjc;
        const ycbz = this.jieguoList[0].ycbz;
        // 设置是否需要改变颜色
        if (ycbz === "1") {
          this.isRed = true; // 设置标识,改变字体颜色
        } else {
          this.isRed = false; // 恢复默认颜色
        }
        if (res.data.length > 0) {
          this.drawer = true;
        } else {
          this.$message.warning("该项目没有结果");
        }
      });
    },
    changRed({ row }) {
      if (row.ycbz != "" && row.ycbz != null && row.ycbz === "1") {
        // 变颜色的条件
        return {
          color: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
        };
      }
    },
    /** 删除按钮操作 */
    handleDelete(row) {
@@ -1803,7 +1849,18 @@
      // 你可以在这里处理输入事件
      console.log("输入内容:", value);
    },
    handleInputConfirm(datas) {
    handleInputConfirm(datas, params) {
      if (params && params.length === 0) {
        // 如果没有选中任何项目,取消异常复选框的选中状态
        this.curindex.exceptionDesc = false;
        this.curindex.proResult = "";
        this.curindex.conclusion = "";
        this.curindex.proAdvice = "";
        this.curindex.rulesList = [];
        console.log("出发了");
        return; // 这里的 return 会提前结束函数执行
      }
      if (datas.proResult) {
        this.focusrow = datas;
        this.proResult = datas;
@@ -1924,9 +1981,9 @@
      });
    },
    hb() {
      if (this.queryParams.tjNumber != "") {
        this.submitForm();
      }
     /*  if (this.queryParams.tjNumber != "") {
        // this.submitForm();
      } */
    },
    propoChange() {
      this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 };
@@ -1959,6 +2016,7 @@
      this.loading = true;
      this.queryParams.type = this.tjStatus;
      getProList(this.queryParams).then((response) => {
        console.log(response,333);
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
@@ -2487,6 +2545,7 @@
            tjNumber: this.tjNumber,
            proParentId: this.nums,
          };
          this.loading = true;
          getParentId(data).then((response) => {
            this.proParentList = response.data;
            this.value = [];
@@ -2972,4 +3031,35 @@
.dialog-footers1 .el-button {
  margin: 0 5px;
}
.check-result-container {
  // background-color: #fafafa;
  padding: 20px;
  border-radius: 8px;
  // box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  max-width: 700px;
}
.check-item {
  margin-bottom: 20px;
}
.check-title {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  // margin-bottom: 8px;
}
.check-description {
  font-size: 14px;
  color: #555; /* 中灰色文字 */
  line-height: 1.6; /* 行高,增加可读性 */
  padding: 8px 0; /* 上下内边距 */
}
.check-description.no-result {
  color: #bbb; /* 如果没有结论,文字为淡灰色 */
}
</style>