wwl
2025-07-15 cf422fa7cc284db857a9fca6d098b1b873fe6a5d
src/views/doctor/checkAll/index.vue
@@ -1,7 +1,6 @@
<template>
  <div class="mainbox">
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
      v-if="tjStatus == 0">
       <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="submitForm"></el-input>
@@ -10,11 +9,15 @@
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable
          @keyup.enter.native="submitForm" @blur="hb"></el-input>
      </el-form-item>
      <el-form-item label="体检时间" prop="tjTime">
        <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions"
          style="width: 310px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
        </el-date-picker>
       <el-form-item label="体检类别">
                <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别">
                  <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
              </el-form-item>
      <el-form-item label="套餐名称" prop="tcm">
        <el-input v-model="queryParams.tcm" style="width: 120px" placeholder="请输入套餐名称" clearable
          @keyup.enter.native="submitForm"></el-input>
      </el-form-item>
      <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px">
        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
@@ -22,21 +25,37 @@
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        </el-select>
      </el-form-item>
      <el-form-item label="体检类别">
        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别">
          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
        <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button>
        <el-button size="mini" @click="resetQuery">重置</el-button>
        <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px"
          v-show="isCollapsed == 0">高级搜索</el-button>
        <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px"
          v-show="isCollapsed == 1">高级搜索</el-button>
      </el-form-item>
      <el-row v-show="isCollapsed == 1" :gutter="20">
         <el-col :span="4">
        <el-form-item label="审核医师" prop="shys">
          <el-input ref="inputName" v-model="queryParams.shys" style="width: 120px" placeholder="请输入审核医师" clearable
            @keyup.enter.native="submitForm"></el-input>
        </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="体检时间" prop="tjTime">
            <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions"
              style="width: 310px" start-placeholder="开始日期" end-placeholder="结束日期"
              :default-time="['00:00:00', '23:00:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
              @change="dateChangebirthday1">
            </el-date-picker>
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
    <!-- <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
      v-if="tjStatus == 1">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
@@ -62,7 +81,7 @@
          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
        <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
        <el-input v-model="form.category" placeholder="请输入体检类别" />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button>
@@ -84,16 +103,23 @@
        </el-col>
      </el-row>
    </el-form>
    </el-form> -->
    <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px">
      <el-radio-button label="0">未审核</el-radio-button>
      <el-radio-button label="1">已审核</el-radio-button>
    </el-radio-group>
     <el-row :gutter="10" class="mb8" v-if="piliang" style="margin: 15px;">
      <el-col :span="1.5">
        <el-button type="primary"  size="mini" @click="handleshenhe">批量核收</el-button>
      </el-col>
    </el-row>
    <template>
      <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%"
        @current-change="handleCurrentChange">
        <el-table-column  type="selection" align="center" label="选择" width="50"  v-if="piliang"/>
        <el-table-column label="体检号" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px"
          fixed="left" />
        <el-table-column label="姓名" align="center" prop="cusName" :show-overflow-tooltip="true" width="100px"
@@ -334,8 +360,9 @@
                  </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' }"  :row-key="getRowKeys"
                      v-loading="loading">
                      <!-- :expand-row-keys="expends" -->
                      <el-table-column type="expand">
                        <template slot-scope="props">
                          <div style="padding: 10px;">
@@ -382,11 +409,29 @@
                      <el-table-column align="center" prop="proResult" label="检测结果" width="85"></el-table-column>
                      <el-table-column align="center" prop="stanId" label=" 参考范围" width="117"></el-table-column>
                      <el-table-column align="center" prop="proAdvice" label="单位" width="78"></el-table-column>
                      <el-table-column
                        label="操作"
                        align="center"
                        class-name="small-padding fixed-width"
                        width="60"
                        fixed="right"
                      >
                        <template slot-scope="props">
                          <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-delete"
                            @click="shanchu(props.row)"
                          >
                          </el-button>
                        </template>
                      </el-table-column>
                    </el-table>
                  </template>
                  <template v-if="item.jyjc == '1'">
                    <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' }" :row-key="getRowKeys">
                      <!-- :expand-row-keys="expends"  -->
                      <el-table-column type="expand">
                        <template slot-scope="props">
                          <div style="padding: 10px;">
@@ -431,6 +476,23 @@
                        </template>
                      </el-table-column>
                      <el-table-column align="center" prop="proResult" label="检测结果" width="403"></el-table-column>
                      <el-table-column
                        label="操作"
                        align="center"
                        class-name="small-padding fixed-width"
                        width="60"
                        fixed="right"
                      >
                        <template slot-scope="props">
                          <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-delete"
                            @click="shanchu(props.row)"
                          >
                          </el-button>
                        </template>
                      </el-table-column>
                    </el-table>
                  </template>
                </div>
@@ -446,16 +508,17 @@
                    <el-table-column align="center" prop="proName" label="项目" width="260"></el-table-column>
                    <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="120">
                      <template slot-scope="scope">
                        <span v-if="scope.row.type == '0'">未审核</span>
                        <span v-if="scope.row.type == '1'">已审核</span>
                        <span v-if="scope.row.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="130px">
                    <el-table-column label="检查时间" align="center" prop="bcupdateTime" :formatter="formatDate" width="160" />
                    <el-table-column label="操作" align="center" width="80px">
                      <template slot-scope="scope">
                        <el-button type="primary" size="mini" @click="huifu" v-if="scope.row.type == '2'">恢复</el-button>
                        <el-button type="primary" size="mini" @click="huifu(scope.row)" v-if="scope.row.type == '2'">恢复</el-button>
                         <el-button type="primary" size="mini" @click="chexiao(scope.row)" v-if="scope.row.type == '1'">撤销</el-button>
                      </template>
                    </el-table-column>
                  </el-table>
@@ -873,6 +936,7 @@
  UpdFcPro,
  huiFuyichangxiangmu,
  hfbt,
  chexiao
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -918,9 +982,11 @@
      zhiyeJg: '', // 初始化体检结果为默认值
      selectedAdvice: null,
      activeAdviceIndex: 0,
      gotyval: null,
      advicerulesList: [],
      xmChange: [],
      showjianyi: false,
      piliang: false,
      isLoading: false,
      adviceLoading: false,
      adviceEmptyText: '暂无数据',
@@ -1041,6 +1107,7 @@
        name: null,
        checkStatus: null,
        shys: null,
        tcm: null,
        tjCategory: null
      },
      formobj: {},
@@ -1152,6 +1219,12 @@
    handleCurrentChangeAdvice(currentRow) {
      this.selectedAdvice = currentRow;
    },
    formatDate(row) {
      if (!row.qdcreateTime) return "";
      const date = moment(row.qdcreateTime, "YYYY-MM-DD");
      return date.isValid() ? date.format("YYYY-MM-DD") : "无效日期";
    },
@@ -1756,6 +1829,11 @@
    radioChange(value) {
      this.loading = true;
      if(value == "0" && this.gotyval == "01"){
        this.piliang = true
      }else{
        this.piliang = false
      }
      this.queryParams.checkStatus = value;
      this.queryParams.page = 1;
      this.queryParams.pageSize = 10;
@@ -1856,6 +1934,19 @@
      this.CheckBox = val;
    },
    searchCategory(val){
      this.gotyval = val
      if(val == "01" && this.tjStatus == "0"){
          this.piliang = true
      }else{
         this.piliang = false
      }
    },
    handleshenhe(){
    },
    dateChangebirthday1(val) {
      this.startTime = val;
    },
@@ -1903,6 +1994,18 @@
          }
        });
    },
     chexiao(row) {
      const tjNUm = this.tjNumber;
      const proId = row.proId;
      chexiao(tjNUm, proId).then((res) => {
        if (res.code == 200) {
          this.$message.success("撤销成功");
          this.xiangmuqingkuang();
        }
      });
    },
    yichanghuifu() {
      this.loading = true;
@@ -1989,6 +2092,7 @@
    },
    handleCurrentChange(val) {
      console.log(val)
      if (val != null) {
        this.handleClick(val);
      }