1
lkk
2025-07-14 41b5a6881fc9adefe11b496a6a2f01bd070fb868
src/views/doctor/checkAll/index.vue
@@ -23,7 +23,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="体检类别">
        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别">
        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别"  @change="searchCategory">
          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
@@ -91,9 +91,16 @@
      <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"
@@ -197,6 +204,9 @@
          </div>
          <div class="btn1">
            <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">复查项目</span></el-button>
          </div>
          <div class="btn1">
            <el-button @click="yichanghuifu()" type="primary"><span class="vertical-text">异常恢复</span></el-button>
          </div>
        </div>
        <div class="box">
@@ -331,8 +341,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;">
@@ -379,11 +390,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;">
@@ -428,6 +457,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>
@@ -443,16 +489,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>
@@ -693,6 +740,38 @@
                  </el-form>
                </div>
              </template>
              <template v-if="status1 == 4">
                <div>
                  <el-table
                    :data="ychfList"
                    style="width: 100%"
                    :header-cell-style="{ background: '#e6a23c' }"
                  >
                    <el-table-column
                      align="center"
                      prop="jcxm"
                      label="项目名"
                      width="260"
                    ></el-table-column>
                    <el-table-column
                      label="结果"
                      align="center"
                      prop="jcjg"
                      width="160"
                    />
                    <el-table-column label="操作" align="center" width="130px">
                      <template v-slot="scope">
                        <el-button
                          type="primary"
                          size="mini"
                          @click="hfyc(scope.row.id)"
                          >恢复</el-button
                        >
                      </template>
                    </el-table-column>
                  </el-table>
                </div>
              </template>
              <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">新增</el-button>
            </div>
          </div>
@@ -835,7 +914,10 @@
  addOrder,
  addOrder1,
  getFcList,
  UpdFcPro
  UpdFcPro,
  huiFuyichangxiangmu,
  hfbt,
  chexiao
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -881,9 +963,11 @@
      zhiyeJg: '', // 初始化体检结果为默认值
      selectedAdvice: null,
      activeAdviceIndex: 0,
      gotyval: null,
      advicerulesList: [],
      xmChange: [],
      showjianyi: false,
      piliang: false,
      isLoading: false,
      adviceLoading: false,
      adviceEmptyText: '暂无数据',
@@ -1115,6 +1199,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") : "无效日期";
    },
@@ -1719,6 +1809,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;
@@ -1819,6 +1914,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;
    },
@@ -1867,6 +1975,62 @@
        });
    },
     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;
      let tjNum = this.tjNumber;
      huiFuyichangxiangmu(tjNum).then((res) => {
        this.status1 = 4;
        this.ychfList = res.data;
        if(this.ychfList.length == 0){
          this.message.success("暂无异常恢复项目")
        }
      })
      .catch((error)=>{
        console.error("获取项目失败:",error);
        this.$message.error("获取项目失败")
      })
      .finally(()=>{
        this.loading = false;
      })
    },
    hfyc(id) {
      this.$confirm("确认要恢复该项吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          // 用户确认后执行接口
          hfbt({ id })
            .then((res) => {
              this.$message.success("恢复成功");
              this.yichanghuifu(); // 恢复后刷新列表
            })
            .catch((err) => {
              console.error(err);
              this.$message.error("恢复失败");
            });
        })
        .catch(() => {
          // 用户取消了操作
          this.$message.info("已取消恢复");
        });
    },
    resetQuery() {
      this.startTime = [];
      this.queryParams = {
@@ -1908,6 +2072,7 @@
    },
    handleCurrentChange(val) {
      console.log(val)
      if (val != null) {
        this.handleClick(val);
      }