qx
qx
2025-06-06 38a8b888a9ec2812ad3553c8a71eaff018750927
qx
4个文件已修改
178 ■■■■ 已修改文件
src/api/doctor/examination.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/check/index.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/examination/index.vue 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/doctor/examination.js
@@ -78,3 +78,14 @@
        params: {tjNum:tjNum}
    })
}
// 初审页面项目选择其他原因保存接口
export function csymxmxzqtyybcjk(query) {
    return request({
        url: '/check/csymxmxzqtyybcjk',
        method: 'get',
         params:query
    })
}
src/views/doctor/check/index.vue
@@ -291,11 +291,8 @@
                  </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">
@@ -1004,6 +1001,7 @@
    // 实时更新 BMI
    vale(value, row) {
      console.log(3333)
      if (row.project.proName === '身高' || row.project.proName === '体重') {
        const heightRow = this.proParentList.sons.find(
          item => item.project.proName === '身高'
@@ -1022,6 +1020,45 @@
          bmiRow.proResult = bmi || ''; // 实时更新BMI值
          this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框
        }
      }
      // 现有的规则检查逻辑保持不变
      this.focusrow = row;
      this.proResult = row;
      const pattern3 = new RegExp("[0-9]+");
      if (row.proResult) { }
      if (pattern3.test(row.proResult)) {
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          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 = res.data;
            if (row.project.sfcyyc == 1) {
              return;
            } else {
              if (res.data.length > 0) {
                const conditions = ["正常", "未见异常", "阴性", "未见明显异常"];
                this.focusrow.exceptionDesc = !conditions.some((condition) =>
                  this.autorule[0].bz.includes(condition)
                );
              } else {
                this.focusrow.exceptionDesc = false;
              }
            }
            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;
            });
          }
        });
      }
    },
@@ -1155,6 +1192,7 @@
    },
    handleFocus(row) {
      console.log(11111)
      this.autorule = [];
      if (!row.resultType || row.resultType == 2) {
        return;
src/views/doctor/checkAll/index.vue
@@ -148,6 +148,8 @@
    <!-- 点击弹出框 -->
    <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%"
      :show-close="true">
      <div v-loading="isLoading" element-loading-text="正在加载数据,请稍候..." element-loading-spinner="el-icon-loading"
        element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;">
      <div class="top">
        <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;"
          cellspacing="4">
@@ -157,7 +159,8 @@
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">姓名:</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">性别:{{ tableAll.cusSex == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }}</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">性别:{{ tableAll.cusSex == 0 ? "男" :
                tableAll.cusSex == 1 ? "女" : "未知" }}</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">年龄:{{ tableAll.age }}</td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
@@ -289,10 +292,12 @@
            <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px"
              class="demo-ruleForm">
              <el-form-item label="检查结论">
                <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJl" :rows="3" style="width: 96%"></el-input>
                  <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJl" :rows="3"
                    style="width: 96%"></el-input>
              </el-form-item>
              <el-form-item label="体检结果">
                <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJg" :rows="3" style="width: 96%"></el-input>
                  <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJg" :rows="3"
                    style="width: 96%"></el-input>
              </el-form-item>
            </el-form>
            <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
@@ -325,7 +330,8 @@
                </div>
                <template v-if="item.jyjc == '0'">
                  <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
                    :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys">
                      :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"
                      v-loading="loading">
                    <el-table-column type="expand">
                      <template slot-scope="props">
                        <div style="padding: 10px;">
@@ -556,8 +562,8 @@
                        <el-form-item label="是否吸烟" prop="xiyan">
                          <el-select disabled filterable v-model="formobj.xiyan" placeholder="请选择是否吸烟" clearable
                            style="width: 150px">
                            <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                              <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value"
                                :label="dict.label" :value="dict.value" />
                          </el-select>
                        </el-form-item>
                        <el-form-item label="吸烟频率" prop="xiyanpinlv">
@@ -569,8 +575,8 @@
                        <el-form-item label="是否饮酒" prop="yinjiu">
                          <el-select filterable v-model="formobj.yinjiu" disabled placeholder="请选择是否饮酒" clearable
                            style="width: 150px">
                            <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                              <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value"
                                :label="dict.label" :value="dict.value" />
                          </el-select>
                        </el-form-item>
                        <el-form-item label="饮酒频率" prop="yinjiupinlv">
@@ -604,13 +610,14 @@
                          </el-table-column>
                          <el-table-column label="诊断单位" prop="diseaseCompany">
                            <template slot-scope="scope">
                              <el-input size="mini" disabled v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" />
                                <el-input size="mini" disabled v-model="scope.row.diseaseCompany"
                                  placeholder="请输入诊断单位" />
                            </template>
                          </el-table-column>
                          <el-table-column label="是否痊愈" prop="isOk">
                            <template slot-scope="scope">
                              <el-select disabled filterable size="mini" v-model="scope.row.isOk" placeholder="请选择是否痊愈"
                                clearable>
                                <el-select disabled filterable size="mini" v-model="scope.row.isOk"
                                  placeholder="请选择是否痊愈" clearable>
                                <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
                                  :value="dict.value" />
                              </el-select>
@@ -638,8 +645,8 @@
                          </el-table-column>
                          <el-table-column label="结束时间" prop="endTime">
                            <template slot-scope="scope">
                              <el-date-picker size="mini" disabled v-model="scope.row.endTime" align="right" type="date"
                                placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                                <el-date-picker size="mini" disabled v-model="scope.row.endTime" align="right"
                                  type="date" placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                                value-format="yyyy-MM-dd">
                              </el-date-picker>
                            </template>
@@ -684,7 +691,7 @@
          </div>
        </div>
      </div>
      </div>
    </el-drawer>
@@ -871,6 +878,7 @@
      advicerulesList: [],
      xmChange: [],
      showjianyi: false,
      isLoading: false,
      adviceLoading: false,
      adviceEmptyText: '暂无数据',
      total1: 0,
@@ -1414,12 +1422,14 @@
    },
    yichangjieguo() {
      this.loading = true;
      this.isLoading = true
      this.status1 = 0;
      this.yichangList = []
      yichang({
        tjNum: this.tjNumber,
      })
        .then((res) => {
          this.isLoading = false
          this.yichangList = res.data;
          this.yichangList.forEach((item) => {
            item.sone.forEach((soneItem) => {
@@ -1433,10 +1443,12 @@
          }
        })
        .catch((error) => {
          this.isLoading = false
          console.error('获取异常结果失败:', error);
          this.$message.error('获取异常结果失败');
        })
        .finally(() => {
          this.isLoading = false
          this.loading = false;
        });
    },
@@ -1906,6 +1918,7 @@
                };
                getModifiedState(data).then((res) => {
                  this.MsgId = res.msg;
                  this.isLoading = true
                  this.drawer = true;
                  getupdateCheckType(this.tjNumber).then((response) => {
                    this.changedate = response.data;
@@ -1934,6 +1947,7 @@
                });
              }
            });
          } else {
            this.$confirm("" + this.status.name + "正在修改该信息, 是否强制进去?", "提示", {
              confirmButtonText: "是",
@@ -1952,6 +1966,7 @@
                    };
                    getforceIn(data).then((res) => {
                      this.MsgId = res.msg;
                      this.isLoading = true
                      this.drawer = true;
                      getupdateCheckType(this.tjNumber).then((response) => {
                        this.changedate = response.data;
@@ -1979,6 +1994,7 @@
                    });
                  }
                });
              })
              .catch(() => {
                this.$message({
src/views/doctor/examination/index.vue
@@ -54,12 +54,7 @@
            <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> -->
            <!-- </template> -->
          </el-table-column>
           <el-table-column
            label="年龄"
            align="center"
            prop="age"
            min-width="100"
          />
          <el-table-column label="年龄" align="center" prop="age" min-width="100" />
          <el-table-column label="手机号" align="center" prop="cusPhone" min-width="100" />
          <el-table-column label="登记时间" align="center" prop="tjTime" min-width="120" />
          <el-table-column v-if="checkStatus == '1'" label="审核状态" align="center" prop="confirmStatus" min-width="80">
@@ -213,13 +208,17 @@
    </div>
    <el-dialog :visible.sync="open" width="980px" append-to-body>
      <el-form ref="form" :model="form" label-width="98px" @submit.native.prevent>
        <el-form-item label="弃检原因" prop="isZybUnit">
        <el-form-item label="弃检" prop="isZybUnit">
          <el-radio-group v-model="form.isZybUnit">
            <el-radio :label="0">自动放弃</el-radio>
            <el-radio :label="1">妊娠</el-radio>
            <el-radio :label="1">怀孕</el-radio>
            <el-radio :label="0">自动弃检</el-radio>
            <el-radio :label="1">其他</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="弃检原因" prop="yy" style="margin-left: 20px" v-if="form.isZybUnit == 1">
          <el-select filterable v-model="form.yy" placeholder="请选择弃检原因" clearable style="width: 150px">
            <el-option v-for="dict in dict.type.qj_type" :key="dict.value" :label="dict.label" :value="dict.label" />
          </el-select>
        </el-form-item>
        <br />
@@ -244,14 +243,14 @@
  yijian,
  resultList,
  typeOne,
  huifu,
  huifu, csymxmxzqtyybcjk
} from "@/api/doctor/examination";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import { getNewDateList } from "@/api/hosp/order";
import moment from "moment";
export default {
  dicts: ["dict_tj_status"],
  dicts: ["dict_tj_status", "qj_type"],
  data() {
    return {
      jieguoList: [],
@@ -269,6 +268,7 @@
      yijiantype: null,
      CompanyList: [],
      CheckBox: {},
      rowProId: '',
      // 查询参数
      queryParams: {
        page: 1,
@@ -632,6 +632,10 @@
    },
    submitFormqijian() {
      this.open = false
      if (this.form.isZybUnit == 0) {
        const tjNUm = this.selectedTjNumber;
        const proId = this.rowProId;
      qijian(tjNUm, proId).then((res) => {
        if (res.code == 200) {
          cSWebGetPro(tjNUm).then((res) => {
@@ -643,12 +647,32 @@
          });
        }
      });
      } else {
        let data = {
          tjNum: this.selectedTjNumber,
          proId: this.rowProId,
          yy: this.form.yy,
        }
        csymxmxzqtyybcjk(data).then((res) => {
          if (res.code == 200) {
            cSWebGetPro(this.selectedTjNumber).then((res) => {
              if (res.code === 200) {
                // 更新右边表格的数据
                this.xiangmuList = res.data;
                this.isLoading = false
              }
            });
          }
        });
      }
    },
    // 弃检按钮
    qijian(row) {
      const tjNUm = this.selectedTjNumber;
      const proId = row.proId;
      this.rowProId = row.proId;
      row.isLoading = true;
      if (row.type == "2") {
        huifu(tjNUm, proId).then((res) => {
@@ -663,18 +687,19 @@
          }
        });
      } else {
        // this.open = true
        qijian(tjNUm, proId).then((res) => {
          if (res.code == 200) {
            cSWebGetPro(tjNUm).then((res) => {
              if (res.code === 200) {
                // 更新右边表格的数据
                this.xiangmuList = res.data;
                this.isLoading = false
              }
            });
          }
        });
        this.open = true
        this.form ={}
        // qijian(tjNUm, proId).then((res) => {
        //   if (res.code == 200) {
        //     cSWebGetPro(tjNUm).then((res) => {
        //       if (res.code === 200) {
        //         // 更新右边表格的数据
        //         this.xiangmuList = res.data;
        //         this.isLoading = false
        //       }
        //     });
        //   }
        // });
      }
    },
    yijian(row) {