qinxianzhangyao
2023-11-17 1397987a02dd4896bb2286f8eb1d787ee5663194
src/views/doctor/check/index.vue
@@ -1,68 +1,41 @@
<template>
  <div>
    <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">
      <el-form-item label="姓名" prop="name">
        <el-input
          v-model="queryParams.name"
          style="width: 116px"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="handleQuery"
        ></el-input>
        <el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable
          @keyup.enter.native="handleQuery"></el-input>
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input
          ref="inputName"
          v-model="queryParams.tjNumber"
          style="width: 240px"
          placeholder="请输入体检号"
        ></el-input>
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button size="mini" type="primary" @click="submitForm"
          >搜索</el-button
        >
        <el-button size="mini" type="primary" @click="submitForm">搜索</el-button>
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <div style="display: flex;">
      <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px">
        <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" style="margin:8px 10px;">
      <el-col :span="1.5">
        <el-button type="primary"
          size="mini"
          @click="radioChange"
          v-hasPermi="['system:notice:add']"
        >会诊申请</el-button>
      </el-col>
    </el-row>
    </div>
    <el-radio-group
      v-model="tjStatus"
      @input="radioChange"
      style="margin-left: 30px"
    >
      <el-radio-button label="0">未检</el-radio-button>
      <el-radio-button label="1">已检</el-radio-button>
    </el-radio-group>
    <template>
      <el-table
        :data="tableList"
        v-loading="loading"
        ref="table"
        height="536px"
        style="margin: 20px; width: 98%"
        border=""
      >
      <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%"
        border="">
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column
          label="体检号"
          align="center"
          prop="tjNumber"
          width="180px"
        />
        <el-table-column
          label="姓名"
          align="center"
          prop="cusName"
          width="100px"
        />
        <el-table-column label="体检号" align="center" prop="tjNumber" width="180px" />
        <el-table-column label="姓名" align="center" prop="cusName" width="100px" />
        <el-table-column label="性别" align="center" prop="cusSex" width="60px">
          <template slot-scope="scope">
            <span v-if="scope.row.cusSex == '0'">男</span>
@@ -71,18 +44,8 @@
            <span v-if="scope.row.cusSex == '9'">未说明性别</span>
          </template>
        </el-table-column>
        <el-table-column
          label="出生日期"
          align="center"
          prop="cusBrithday"
          width="120px"
        />
        <el-table-column
          label="电话"
          align="center"
          prop="cusPhone"
          width="120px"
        />
        <el-table-column label="出生日期" align="center" prop="cusBrithday" width="120px" />
        <el-table-column label="电话" align="center" prop="cusPhone" width="120px" />
        <!-- <el-table-column
          label="状态"
          align="center"
@@ -95,63 +58,28 @@
          </template>
        </el-table-column> -->
        <el-table-column
          label="体检类型"
          align="center"
          prop="tjType"
          width="80px"
        />
        <el-table-column
          label="登记时间"
          align="center"
          prop="createTime"
          width="160px"
        />
        <el-table-column
          label="体检时间"
          align="center"
          prop="tjTime"
          width="120px"
        />
        <el-table-column
          label="未检项"
          prop="notCheckeds"
          :show-overflow-tooltip="true"
        />
        <el-table-column label="体检类型" align="center" prop="tjType" width="80px" />
        <el-table-column label="登记时间" align="center" prop="createTime" width="160px" />
        <el-table-column label="体检时间" align="center" prop="tjTime" width="120px" />
        <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" />
        <el-table-column label="操作" align="center" width="80px">
          <template slot-scope="scope">
            <el-button
              type="primary"
              size="mini"
              @click="handleClick(scope.row)"
              >详情</el-button
            >
            <el-button type="primary" size="mini" @click="handleClick(scope.row)">详情</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pag">
        <div class="pag1">
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize"
            @pagination="getList" />
        </div>
      </div>
    </template>
    <!-- 点击右边弹出层 -->
    <el-drawer
      :visible.sync="drawer"
      :with-header="false"
      size="70%"
      :before-close="handleClose"
    >
    <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
      <div style="font-size: 14px">
        <table
          style="
        <table style="
            width: 96%;
            height:70px
            margin: 10px 10px;
@@ -159,19 +87,14 @@
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
            font-size:16px
          "
          cellspacing="4"
        >
          " cellspacing="4">
          <caption style="background-color: #f8f8f9; font-size: 18px">
            填写{{
              tableAll.cusName
            }}的体检资料
          </caption>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
              姓名:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -183,10 +106,7 @@
                <span v-if="scope.row.cusSex == '9'">未说明性别</span>
              </template>
            </td>
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -194,19 +114,13 @@
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
              体检单号:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.tjNumber }}
            </td>
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              align="right"
            >
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
              体检时间:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -218,25 +132,16 @@
      <template>
        <div style="margin-left: 10px">
          <el-radio-group
            v-model="radio"
            v-for="(item, index) in Parent"
            :key="index"
            @input="radioChange1(item.proId, item)"
          >
          <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index"
            @input="radioChange1(item.proId, item)">
            <el-radio-button :label="item.proId">{{
              item.proName
            }}</el-radio-button>
          </el-radio-group>
        </div>
      </template>
      <el-table
        v-loading="loading"
        :data="proParentList.sons"
        border
        height="460px"
        style="width: 96%; margin: 10px 10px"
      >
      <el-table v-loading="loading" :data="proParentList.sons" border height="460px"
        style="width: 96%; margin: 10px 10px">
        <el-table-column prop="project.proName" label="检测项目" width="150">
          <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
@@ -244,21 +149,13 @@
        </el-table-column>
        <el-table-column prop="proResult" label="检测结果" width="280">
          <template slot-scope="scope">
            <el-input
              size="mini"
              v-model="scope.row.proResult"
              autocomplete="off"
              placeholder="请输入检测结果"
              @blur="handleInputConfirm(scope.row)"
              @input="vale"
            ></el-input>
            <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="请输入检测结果"
              @blur="handleInputConfirm(scope.row)" @input="vale"></el-input>
          </template>
        </el-table-column>
        <el-table-column label="规则" width="55">
          <template slot-scope="scope">
            <el-button class="blue-button" @click="handleguize(scope.row)"
              >...</el-button
            >
            <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
          </template>
        </el-table-column>
        <el-table-column prop="project.proMetering" label="单位">
@@ -270,75 +167,42 @@
        </el-table-column>
        <el-table-column prop="conclusion" label="结果结论" width="280">
          <template slot-scope="scope">
            <el-input
              size="mini"
              v-model="scope.row.conclusion"
              autocomplete="off"
              placeholder="请输入检测结果"
              disabled
            ></el-input>
            <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="请输入检测结果"
              disabled></el-input>
          </template>
        </el-table-column>
        <el-table-column
          prop="exceptionDesc"
          label="是否异常"
          width="80px"
          align="center"
        >
        <el-table-column prop="exceptionDesc" label="是否异常" width="80px" align="center">
          <template slot-scope="scope">
            <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column
          prop="isReturn"
          label="是否复诊"
          width="80px"
          align="center"
        >
        <el-table-column prop="isReturn" label="是否复诊" width="80px" align="center">
          <template slot-scope="scope">
            <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column prop="project.resultType" label="结果类型">
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.tj_result_type"
              :value="scope.row.project.resultType"
            />
            <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
          </template>
        </el-table-column>
      </el-table>
      <div style="font-size: 14px; overflow-y: auto; height: 286px">
        <table
          style="
        <table style="
            width: 96%;
            margin: 4px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          "
          cellspacing="4"
        >
          " cellspacing="4">
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              病种选择:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              <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-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>
@@ -346,20 +210,9 @@
              主检医师:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              <el-select
                v-model="doctorName"
                placeholder="请选择"
                style="width: 100%"
                v-if="deptAdviceList"
                @change="selName"
                filterable
              >
                <el-option
                  v-for="item in userList"
                  :key="item.userId"
                  :label="item.nickName"
                  :value="item.userId"
                >
              <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList"
                @change="selName" filterable>
                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
                </el-option>
              </el-select>
            </td>
@@ -368,25 +221,15 @@
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              建议:
            </td>
            <td
              style="border: 1px solid #dfe6ec; border-collapse: collapse"
              colspan="2"
            >
              <el-input
                type="textarea"
                placeholder="请输入内容"
                v-model="proParentList.remark"
                rows="7"
              >
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
              <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7">
              </el-input>
            </td>
          </tr>
        </table>
        <div slot="footer" class="dialog-footers">
          <el-button type="primary" @click="determine" v-show="tjStatus == '0'"
            >提 交</el-button
          >
          <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button>
        </div>
      </div>
      <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);">
@@ -714,15 +557,15 @@
              this.proParentList = response.data;
              this.loading = false;
              this.value = [];
              if(this.proParentList.xiaoJieIds != null){
              if (this.proParentList.xiaoJieIds != null) {
                if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  this.value.push(item);
                });
                  this.proParentList.xiaoJieIds.forEach((item2) => {
                    let item = Number(item2)
                    this.value.push(item);
                  });
                }
              }
              }
              this.proParentList.sons.forEach((item) => {
                this.doctorName = item.doctorName;
@@ -849,14 +692,14 @@
          getParentId(data).then((response) => {
            this.proParentList = response.data;
            this.value = [];
            if(this.proParentList.xiaoJieIds != null){
                if (this.proParentList.xiaoJieIds.length != 0) {
            if (this.proParentList.xiaoJieIds != null) {
              if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  this.value.push(item);
                });
              }
              }
            }
            this.proParentList.sons.forEach((item) => {
              this.doctorName = item.doctorName;
              if (item.isReturn == 1) {
@@ -903,14 +746,14 @@
          getParentId(data).then((response) => {
            this.proParentList = response.data;
            this.value = [];
            if(this.proParentList.xiaoJieIds != null){
                if (this.proParentList.xiaoJieIds.length != 0) {
            if (this.proParentList.xiaoJieIds != null) {
              if (this.proParentList.xiaoJieIds.length != 0) {
                this.proParentList.xiaoJieIds.forEach((item2) => {
                  let item = Number(item2)
                  this.value.push(item);
                });
              }
              }
            }
            this.proParentList.sons.forEach((item) => {
              this.doctorName = item.doctorName;
              if (item.isReturn == 1) {