lkk
2025-02-12 90bf0198e9004a2c9c8aef582dd5e1b04d846745
检验同步
2个文件已修改
211 ■■■■ 已修改文件
src/api/doctor/pacsCheck.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/inspectCheck/index.vue 210 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/doctor/pacsCheck.js
@@ -50,3 +50,4 @@
  })
}
src/views/doctor/inspectCheck/index.vue
@@ -45,10 +45,154 @@
      </el-form-item>
    </el-form>
    <div class="table-title">
    <!-- <div class="table-title">
      <h3>检验记录</h3>
    </div> -->
    <div class="box">
      <div
        style="text-align: center; background-color: #aad8df; margin-top: 10px"
      >
        检验记录
        <!-- {{ item.parent || "" }} -->
      </div>
      <div>
        <el-table
          :data="exaLists"
          border
          style="width: 100%"
          @selection-change="handleSelectionChange"
          :header-cell-style="{ background: '#aad8df' }"
        >
          <el-table-column
            fixed
            type="selection"
            align="center"
            label="选择"
            width="40"
            :selectable="isSelectable"
          >
          </el-table-column>
          <el-table-column
            label="姓名"
            align="center"
            prop="name"
            width="80px"
          />
          <el-table-column
            label="性别"
            align="center"
            prop="gender"
            width="80px"
          />
          <el-table-column
            label="年龄"
            align="center"
            prop="patientAge"
            width="80px"
          >
          </el-table-column>
          <el-table-column
            label="送检科室"
            align="center"
            prop="deptName"
            width="100px"
          />
          <el-table-column
            label="检验项目"
            align="center"
            prop="checkParts"
            width="150px"
          />
          <el-table-column
            label="项目编号"
            align="center"
            prop="jcxmid"
            width="150px"
          />
          <el-table-column
            label="审核医师"
            align="center"
            prop="shys"
            width="150px"
          />
          <el-table-column
            label="报告时间"
            align="center"
            prop="examinationDate"
            width="150px"
          />
          <el-table-column
            label="门诊号"
            align="center"
            prop="mzh"
            width="140px"
          />
          <el-table-column
            label="申请单号"
            align="center"
            prop="brid"
            width="145px"
          />
          <el-table-column
            label="报告医师"
            align="center"
            prop="reportDoctorName"
            width="120px"
          />
          <el-table-column
            label="检验医师名"
            align="center"
            prop="checkDoctorName"
            width="120px"
          />
          <el-table-column align="center" label="检测项目" width="100px ">
            <template slot-scope="scope">
              <div>{{ scope.row.proName }}</div>
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="proResult"
            label="检测结果"
            width="180"
          >
          </el-table-column>
          <el-table-column align="center" prop="company" label="单位">
            <!--    <template slot-scope="scope">
              <div v-if="scope.row.project != null">
                {{ scope.row.standard.company || "" }}
              </div>
              <div v-else>{{ scope.row.proAdvice }}</div>
            </template> -->
          </el-table-column>
          <el-table-column
            align="center"
            prop="conclusion"
            label="异常"
            width="180"
          ></el-table-column>
          <el-table-column
            align="center"
            prop="tjStandardGtValue"
            label=" 参考范围"
          >
            <!--   <template slot-scope="scope">
              <div v-if="scope.row.project != null">
                {{
                  scope.row.standard.tjStandardGtValue ||
                  "/" + "-" + scope.row.standard.tjStandardLtValue ||
                  "/"
                }}
              </div>
            </template> -->
          </el-table-column>
        </el-table>
      </div>
    </div>
    <el-table
    <!--  <el-table
      id="ta"
      ref="tb"
      :data="exaLists"
@@ -131,7 +275,7 @@
        prop="examination"
        :show-overflow-tooltip="true"
      />
    </el-table>
    </el-table> -->
    <div class="table-title">
      <h3>体检记录</h3>
@@ -184,7 +328,7 @@
        min-width="80"
      />
      <el-table-column
        label="检查时间"
        label="检验时间"
        align="center"
        prop="bcupdateTime"
        min-width="160"
@@ -277,17 +421,15 @@
    });
  },
  methods: {
    handleDateChange(val){
    handleDateChange(val) {
      if (val && val.length === 2) {
        this.queryParams.start = val[0]; // 设置开始时间
        this.queryParams.end = val[1];   // 设置结束时间
        this.queryParams.end = val[1]; // 设置结束时间
      } else {
        this.queryParams.start = null;
        this.queryParams.end = null;
      }
      console.log('Query Params:', this.queryParams);
      console.log("Query Params:", this.queryParams);
    },
    isSelectable(row) {
      return !!row.mzh;
@@ -298,34 +440,34 @@
    handleSelectionChange(val) {
      console.log(val);
      if (val.length > 1) {
      /*  if (val.length > 1) {
        let del_row = val.shift();
        this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
      }
      console.log(val, 999);
      console.log(val, 999); */
      if (val.length > 0) {
      /* if (val.length > 0) {
        const selectedRow = val[0];
        console.log(val[0], 555);
        this.selectedFirstTable = selectedRow;
        console.log("当前选中的行数据:", this.selectedFirstTable);
        this.fetchRightTableData(selectedRow);
        // this.fetchRightTableData(selectedRow);
      } else {
        this.selectedFirstTable = null;
        this.checkList = [];
      }
      } */
    },
    // 根据选中的行数据请求右边表格数据
    fetchRightTableData(selectedRow) {
    /* fetchRightTableData() {
      const code = selectedRow.mzh;
      if (!code) return;
      this.loading = true;
      getJyTjList(code).then((response) => {
       getJyTjList(code).then((response) => {
        this.checkList = response.data;
        this.loading = false;
      });
    },
    }, */
    handleSelectionChangeSecond(selectedRows) {
      this.selectedSecondTable = selectedRows;
@@ -345,13 +487,33 @@
    handleQuery() {
      // this.queryParams.page = 1;
      this.loading = true;
      if (!this.queryParams.tjNum) {
        this.loading = false;
        this.$message.error("体检号不能为空");
        return; // 终止请求
      }
      getlisList(this.queryParams)
        .then((res) => {
          console.log(res, 1111);
          if (res.code == 200) {
            this.loading = false;
            this.exaLists = res.data;
            this.code = this.exaLists.mzh;
            // const code = this.exaLists[0].mzh;
            if (
              this.exaLists &&
              this.exaLists.length > 0 &&
              this.exaLists[0].mzh
            ) {
              const code = this.exaLists[0].mzh;
              getJyTjList(code).then((response) => {
                this.checkList = response.data;
              });
            } else {
              this.$message.error("未找到有效的 mzh 值,无法获取相关数据");
            }
            /*  getJyTjList(code).then((response) => {
              this.checkList = response.data;
            }); */
          }
        })
        .catch((error) => {
@@ -392,7 +554,9 @@
      this.$modal.loading("正在同步,请稍候...");
      this.setTime();
      const requestData = {
        pacs: this.selectedFirstTable, // 左侧表格选中数据
        lis: [this.selectedFirstTable], // 左侧表格选中数据
        jcxmid: this.selectedFirstTable.jcxmid,
        shys: this.selectedFirstTable.shys,
        tj: this.selectedSecondTable[0], // 右侧表格选中数据
      };
@@ -404,7 +568,7 @@
      asyncPacs(requestData)
        .then((res) => {
          if (res.code == 200) {
            this.fetchRightTableData(this.selectedFirstTable);
            // this.fetchRightTableData(this.selectedFirstTable);
            clearInterval(this.clearTimeSet);
            this.clearTimeSet = null;
            this.$modal.closeLoading();
@@ -417,7 +581,7 @@
          clearInterval(this.clearTimeSet);
          this.clearTimeSet = null;
          this.$modal.closeLoading();
        })
        });
    },
  },
};