qinxianzhangyao
2023-12-06 ced3a8b5f49b6e7039be5415a705ae3575c102fb
qxtj
4个文件已修改
843 ■■■■ 已修改文件
src/api/doctor/check.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/check/index.vue 324 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 507 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/doctor/check.js
@@ -111,4 +111,14 @@
    method: 'get',
    params:data
  })
}
//点击父项目显示子项目详情
export function AutoGetRule(data) {
  return request({
    url: '/hosp/rules/AutoGetRule',
    method: 'get',
    params:data
  })
}
src/views/doctor/check/index.vue
@@ -185,6 +185,13 @@
      </div>
    </el-dialog>
    <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
      <div class="main">
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
      </div>
    </el-dialog>
    <!-- 点击右边弹出层 -->
    <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
      <div style="font-size: 14px">
@@ -238,131 +245,150 @@
          </tr>
        </table>
      </div>
      <div>
      <div style="display: flex;">
        <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1">
          <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button>
        </div>
        <div style="margin: 10px 10px;" >
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
        </div>
      </div>
      <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-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-column prop="project.proName" label="检测项目" width="150">
          <!-- <template slot-scope="scope">
      <el-row>
        <el-col :span="18">
          <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-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-column prop="project.proName" label="检测项目" width="150">
              <!-- <template slot-scope="scope">
            {{ scope.row.project.proName }}
          </template> -->
        </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>
          </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>
          </template>
        </el-table-column>
        <el-table-column prop="project.proMetering" label="单位">
          <!-- <template slot-scope="scope">
            </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" @focus="handleInConfirm(scope.row)"></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>
              </template>
            </el-table-column>
            <el-table-column prop="project.proMetering" label="单位">
              <!-- <template slot-scope="scope">
            {{ scope.row.standard.company }}
          </template> -->
        </el-table-column>
        <el-table-column prop="project.proScope" label="参考范围">
        </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>
          </template>
        </el-table-column>
        <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">
          <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" />
          </template>
        </el-table-column>
        <el-table-column prop="isPositive" label="重大阳性">
          <template slot-scope="scope">
            <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
              @change="checkboxchange(scope.row)"></el-switch>
            </el-table-column>
            <el-table-column prop="project.proScope" label="参考范围">
            </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>
              </template>
            </el-table-column>
            <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">
              <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" />
              </template>
            </el-table-column>
            <el-table-column prop="isPositive" label="重大阳性">
              <template slot-scope="scope">
                <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
                  @change="checkboxchange(scope.row)"></el-switch>
          </template>
        </el-table-column>
      </el-table>
              </template>
            </el-table-column>
          </el-table>
      <div style="font-size: 14px; overflow-y: auto; height: 286px">
        <table style="
          <div style="font-size: 14px; overflow-y: auto; height: 286px">
            <table style="
            width: 96%;
            margin: 4px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          " 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-option>
              </el-select>
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              主检医师:
            </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-option>
              </el-select>
            </td>
          </tr>
          <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" colspan="2">
              <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7">
              </el-input>
            </td>
          </tr>
        </table>
              <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-option>
                  </el-select>
                </td>
                <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                  主检医师:
                </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-option>
                  </el-select>
                </td>
              </tr>
              <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" 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"
            <div slot="footer" class="dialog-footers">
              <!-- <el-button type="primary"
          size="mini"
          @click="radioChange"
          v-hasPermi="['system:notice:add']"
          v-show="tjStatus == '1'"
        >会诊申请</el-button> -->
          <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button>
        </div>
      </div>
              <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button>
            </div>
          </div>
        </el-col>
        <el-col :span="6" v-if="reportHistorydata.length >= 1">
          <el-table v-loading="loading" :data="reportHistorydata" border style="margin-top: 46px;">
            <el-table-column prop="createTime" label="检测时间">
            </el-table-column>
            <el-table-column label="操作" align="center" width="130px">
              <template slot-scope="scope">
                <el-button type="primary" icon="el-icon-share" size="mini" @click="handlecan(scope.row)"
                  title="查看"></el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-col>
        <el-col :span="6" v-else>
          <div>暂无历史报告</div>
        </el-col>
      </el-row>
      <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);">
        <table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2"
          v-for="(item, index) in proParentList.sons" :key="index">
@@ -411,10 +437,12 @@
<script>
import Public from "@/components/public";
import { getPdf } from "@/api/hosp/order";
import { getInfo } from "@/api/login";
import {
  getProList,
  getSons,
  AutoGetRule,
  getaddRemark,
  getParentList,
  getParentId,
@@ -442,11 +470,15 @@
      loading: false,
      open: false,
      foropen: false,
      dialogVisible: false,
      reportHistorydata: [],
      url: "",
      cateringList: [],
      orderDetailId: "",
      textarea: "",
      title: "",
      formIn: {},
      focusrow: {},
      hzlogList: [],
      // proDefault: "",
      // dataList: [],
@@ -472,6 +504,7 @@
      row: {},
      info: {},
      allList: [],
      autorule: [],
      form: {
        createTime: new Date()
      },
@@ -622,6 +655,52 @@
    vale(datas) {
      this.proResult = datas;
      var pattern3 = new RegExp("[0-9]+");
      if (pattern3.test(this.proResult)) {
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          keyNum: this.proResult
        }
        AutoGetRule(data).then(res => {
          this.focusrow.conclusion = ""
          if (res.data) {
            this.autorule = res.data
            this.focusrow.rulesList = this.autorule;
            this.autorule.forEach(item => {
              if (this.focusrow.conclusion) {
                this.focusrow.conclusion += item.bingzhong;
              } else {
                this.focusrow.conclusion = item.bingzhong;
              }
            })
          }
        })
      }else {
        let data = {
          proId: this.focusrow.proId,
          cusId: this.tableAll.cusId,
          keyWord: this.proResult
        }
        AutoGetRule(data).then(res => {
          this.focusrow.conclusion = ""
          if (res.data) {
            this.autorule = res.data
            this.focusrow.rulesList = this.autorule;
            this.autorule.forEach(item => {
              if (this.focusrow.conclusion) {
                this.focusrow.conclusion += item.bingzhong;
              } else {
                this.focusrow.conclusion = item.bingzhong;
              }
            })
          }
        })
      }
      // this.$refs.aaa.open = true;
      // this.$refs.aaa.getList();
    },
@@ -864,12 +943,41 @@
      this.Hzlog(this.tableAll.tjNumber)
    },
    historicalreport() {
      this.loading = true
      let data = {
        cusId:this.tableAll.cusId
        cusId: this.tableAll.cusId
      }
      reportHistory(data).then(res =>{
      reportHistory(data).then(res => {
        this.loading = false
        if (res.data[0] != null) {
          this.reportHistorydata = res.data
        }
      })
    },
    handlecan(row) {
      this.dialogVisible = true
      const tjNumber = row.tjNumber;
      const flag = true;
      getPdf(tjNumber, flag).then((response) => {
        if (response.size === 0) {
          const loading = this.$loading({
            lock: true,
            text: 'Loading',
            spinner: 'el-icon-loading',
            background: 'rgba(0, 0, 0, 0.7)'
          });
          setTimeout(() => {
            loading.close();
          }, 3000);
          this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
        } else {
          this.dialogVisible = true;
          this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
        }
      });
    },
    submitFormreply() {
      let data = {
@@ -1226,6 +1334,9 @@
          });
        });
    },
    handleInConfirm(row) {
      this.focusrow = row
    },
    handleInputConfirm(row) {
      this.rows.push(row);
@@ -1320,6 +1431,11 @@
  margin-left: calc(100% - 10%);
}
.main {
  height: 700px;
  overflow: hidden;
}
.pag {
  width: 100%;
  display: flex;
src/views/doctor/checkAll/index.vue
@@ -2,68 +2,44 @@
  <div>
    <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="handleQuery"></el-input>
        <el-input v-model="queryParams.name" style="width: 120px" 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: 180px" placeholder="请输入体检号" clearable @keyup.enter.native="handleQuery"></el-input>
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable
          @keyup.enter.native="handleQuery"></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 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-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px;">
        <el-select  :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" style="width: 180px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect">
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict"/>
        <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId"
          style="width: 180px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect">
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm">搜索</el-button>
        <el-button  size="mini" @click="resetQuery">重置</el-button>
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-radio-group
      v-model="tjStatus"
      @input="radioChange"
      style="margin-left: 20px"
    >
    <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>
    <template>
      <el-table
        v-loading="loading"
        :data="checkList"
        ref="table"
        border
        style="margin: 20px; width: 98%"
      >
      <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%">
        <!-- <template slot="empty">数据正在加载中</template> -->
        <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"
          fixed="left"
        />
        <el-table-column
          label="性别"
          align="center"
          prop="cusSex"
          :show-overflow-tooltip="true"
          width="55px"
        >
        <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"
          fixed="left" />
        <el-table-column label="性别" align="center" prop="cusSex" :show-overflow-tooltip="true" width="55px">
          <template slot-scope="scope">
            <span v-if="scope.row.cusSex == '0'">男</span>
            <span v-if="scope.row.cusSex == '1'">女</span>
@@ -71,117 +47,49 @@
            <span v-if="scope.row.cusSex == '9'">未说明性别</span>
          </template>
        </el-table-column>
        <el-table-column
          label="出生日期"
          align="center"
          prop="cusBrithday"
          :show-overflow-tooltip="true"
          width="110px"
        />
        <el-table-column
          label="电话"
          align="center"
          prop="cusPhone"
          :show-overflow-tooltip="true"
          width="130px"
        />
        <el-table-column
          label="体检时间"
          align="center"
          prop="tjTime"
          :show-overflow-tooltip="true"
          width="110px"
        />
        <el-table-column
          label="完成时间"
          align="center"
          prop="finishTime"
          :show-overflow-tooltip="true"
          width="160px"
        />
        <el-table-column
          label="状态"
          align="center"
          prop="tjStatus"
          :show-overflow-tooltip="true"
          width="50px"
        >
        <el-table-column label="出生日期" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" />
        <el-table-column label="电话" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" />
        <el-table-column label="体检时间" align="center" prop="tjTime" :show-overflow-tooltip="true" width="110px" />
        <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" />
        <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="50px">
          <template slot-scope="scope">
            <span>{{ scope.row.tjStatus == "1" ? "已检" : "未检" }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="单位名称"
          align="center"
          prop="tjCompName"
          :show-overflow-tooltip="true"
        />
        <el-table-column label="单位名称" align="center" prop="tjCompName" :show-overflow-tooltip="true" />
        <el-table-column label="操作" align="center" width="90px" fixed="right">
          <template slot-scope="scope">
            <el-button
              fixed="right"
              title="详情"
              type="text"
              size="mini"
              @click="handleClick(scope.row)"
              icon="el-icon-document-copy"
            ></el-button>
            <el-button fixed="right" title="详情" type="text" size="mini" @click="handleClick(scope.row)"
              icon="el-icon-document-copy"></el-button>
            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">生成</el-button> -->
            <el-button
              type="text"
              size="mini"
              @click="
                viewReport(scope.row);
              "
              v-if="scope.row.tjStatus == '1'"
              title="预览"
              icon="el-icon-view"
            ></el-button>
            <el-button
              type="text"
              size="mini"
              v-if="scope.row.tjStatus == '1'"
              title="撤销"
              @click="getRevoke(scope.row)"
              icon="el-icon-refresh-left"
            ></el-button>
            <el-button type="text" size="mini" @click="
              viewReport(scope.row);
            " v-if="scope.row.tjStatus == '1'" title="预览" icon="el-icon-view"></el-button>
            <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="撤销" @click="getRevoke(scope.row)"
              icon="el-icon-refresh-left"></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
      title=""
      :visible.sync="drawer"
      :before-close="handleClose"
      :with-header="false"
      size="80%"
    >
    <el-drawer title="" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="80%">
      <div style="font-size: 14px">
        <table
          style="
        <table style="
            width: 96%;
            margin: 10px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          "
          cellspacing="4"
        >
          " cellspacing="4">
          <caption style="background-color: #f8f8f9; font-size: 18px">
            {{
              tableAll.cusName
@@ -217,243 +125,195 @@
          </tr>
        </table>
      </div>
      <div>
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
        </div>
      </div>
      <div style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)">
        <table
          style="
      <el-row>
        <el-col :span="18">
          <div style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)">
            <table style="
            width: 96%;
            margin: 10px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          "
          cellspacing="4"
          v-for="(item, index) in changedate"
          :key="index"
        >
          <caption style="background-color: #f8f8f9">
            {{
              item.parent || ""
            }}
          </caption>
          <tr
            style="border: 1px solid #dfe6ec; border-collapse: collapse"
            align="center"
          >
            <th
              style="
          " cellspacing="4" v-for="(item, index) in changedate" :key="index">
              <caption style="background-color: #f8f8f9">
                {{
                  item.parent || ""
                }}
              </caption>
              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse" align="center">
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              检测项目
            </th>
            <th
              style="
              ">
                  检测项目
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              检测结果
            </th>
            <th
              style="
              ">
                  检测结果
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              单位
            </th>
            <th
              style="
              ">
                  单位
                </th>
                <th style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              参考范围
            </th>
          </tr>
              ">
                  参考范围
                </th>
              </tr>
          <tr
            style="
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
              height: 35px;
              text-align: center;
            "
            v-for="item1 in item.sons"
            :key="item1.proId"
          >
            <td
              style="
            " v-for="item1 in item.sons" :key="item1.proId">
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
              v-if="item1.project != null"
            >
              {{ item1.project.proName || "" }}
            </td>
            <td
              style="
              " v-if="item1.project != null">
                  {{ item1.project.proName || "" }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
             v-else
            >
              {{  "" }}
            </td>
            <td
              style="
              " v-else>
                  {{ "" }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              {{ item1.proResult }}
              <!-- <el-input v-model="item1.proResult" placeholder="请输入内容"></el-input> -->
            </td>
            <td
              style="
              ">
                  {{ item1.proResult }}
                  <!-- <el-input v-model="item1.proResult" placeholder="请输入内容"></el-input> -->
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              {{ item1.standard.company }}
            </td>
            <td
              style="
              ">
                  {{ item1.standard.company }}
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              {{
                item1.standard.tjStandardGtValue +
                "-" +
                item1.standard.tjStandardLtValue
              }}
            </td>
          </tr>
          <tr
            style="
              ">
                  {{
                    item1.standard.tjStandardGtValue +
                    "-" +
                    item1.standard.tjStandardLtValue
                  }}
                </td>
              </tr>
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
            "
          >
            <td>小结:</td>
            <td
              style="
            ">
                <td>小结:</td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              <el-input v-model="item.parentAdvice" disabled></el-input>
              <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
              ">
                  <el-input v-model="item.parentAdvice" disabled></el-input>
                  <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
                <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id">
                </el-option>
              </el-select> -->
            </td>
            <td
              style="
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              主检医师:
            </td>
            <td
              style="
              ">
                  主检医师:
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              {{ item.doctorName }}
            </td>
          </tr>
          <tr
            style="
              ">
                  {{ item.doctorName }}
                </td>
              </tr>
              <tr style="
              border: 1px solid #dfe6ec;
              border-collapse: collapse;
              width: 200px;
            "
          >
            <td
              style="
            ">
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
            >
              备注:
            </td>
            <td
              style="
              ">
                  备注:
                </td>
                <td style="
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                width: 200px;
              "
              colspan="2"
            >
              <textarea
                placeholder="请输入内容"
                :autosize="{ minRows: 2, maxRows: 2 }"
                style="width: 100%; height: 100%"
                v-model="changedate[index].remark"
                v-on:input="change"
              ></textarea>
              <!-- <el-input type="textarea" autosize >
              " colspan="2">
                  <textarea placeholder="请输入内容" :autosize="{ minRows: 2, maxRows: 2 }" style="width: 100%; height: 100%"
                    v-model="changedate[index].remark" v-on:input="change"></textarea>
                  <!-- <el-input type="textarea" autosize >
              </el-input> -->
            </td>
          </tr>
        </table>
        <el-form
          ref="numberValidateForm"
          label-width="80px"
          class="demo-ruleForm"
        >
          <el-form-item label="总检建议">
            <el-input
              type="textarea"
              placeholder="请输入内容"
              v-model="textarea1"
              :rows="3"
              style="width: 96%"
            >
            </el-input>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footers">
          <el-button type="primary" @click="determine" :disabled="isdisabled"
            >提交并生成报告</el-button
          >
        </div>
      </div>
                </td>
              </tr>
            </table>
            <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm">
              <el-form-item label="总检建议">
                <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3" style="width: 96%">
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers">
              <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button>
            </div>
          </div>
        </el-col>
        <el-col :span="6" >
          <el-table v-if="reportHistorydata.length >= 1" v-loading="loading" :data="reportHistorydata" border style="margin-top: 30px;">
            <el-table-column prop="createTime" label="检测时间">
            </el-table-column>
            <el-table-column label="操作" align="center" width="130px">
              <template slot-scope="scope">
                <el-button type="primary" icon="el-icon-share" size="mini" @click="viewReport(scope.row)"
                  title="查看"></el-button>
              </template>
            </el-table-column>
          </el-table>
          <div v-else>暂无历史报告</div>
        </el-col>
      </el-row>
    </el-drawer>
    <el-dialog
      class="dia"
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
    <el-dialog class="dia" title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
      <div class="main">
        <iframe
          id="printIframe"
          :src="url"
          frameborder="0"
          style="width: 100%; height: 100%"
        ></iframe>
        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
      </div>
    </el-dialog>
  </div>
@@ -474,7 +334,7 @@
} from "@/api/doctor/checkAll";
import { getInfo } from "@/api/login";
import { getCompany, queryCompany } from "@/api/team/tuanti";
// import { getDeptAdvice } from "@/api/doctor/check";
import { reportHistory } from "@/api/doctor/check";
import { getPdf, revoke } from "@/api/hosp/order";
import ViewPdf from "@/components/ViewPdf";
@@ -497,6 +357,7 @@
      flag: true,
      bill: null,
      numberList: [],
      reportHistorydata: [],
      dialogVisible: false,
      pickerOptions: {
        shortcuts: [
@@ -562,7 +423,7 @@
        endTime: null,
        compId: null,
        name: null,
        checkStatus:null,
        checkStatus: null,
      },
      // 查询参数
@@ -674,22 +535,36 @@
      getPdf(tjNumber, flag).then((response) => {
        if (response.size === 0) {
          const loading = this.$loading({
          lock: true,
          text: 'Loading',
          spinner: 'el-icon-loading',
          background: 'rgba(0, 0, 0, 0.7)'
        });
        setTimeout(() => {
          loading.close();
        }, 3000);
            lock: true,
            text: 'Loading',
            spinner: 'el-icon-loading',
            background: 'rgba(0, 0, 0, 0.7)'
          });
          setTimeout(() => {
            loading.close();
          }, 3000);
          this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
        } else {
          this.dialogVisible = true;
          this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
        }
      });
    },
    historicalreport() {
      this.loading = true
      let data = {
        cusId: this.tableAll.cusId
      }
      reportHistory(data).then(res => {
        this.loading = false
        if (res.data[0] != null) {
          this.reportHistorydata = res.data
        }
      })
    },
    // viewReport(row) {
    //   const tjNumber = row.tjNumber;
@@ -936,7 +811,7 @@
            state: 1,
            id: this.MsgId,
          };
          getfiedState(data).then((res) => {});
          getfiedState(data).then((res) => { });
        });
    },
@@ -1001,7 +876,7 @@
            remarks,
          },
        ];
        getModified(updateOrderRemarkVos).then((response) => {});
        getModified(updateOrderRemarkVos).then((response) => { });
      }
      this.submitForm()
      this.$forceUpdate()
vue.config.js
@@ -36,7 +36,7 @@
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        //target: `https://ltpeis.xaltjdkj.cn:5501/prod-api/getInfo`,
        target: `http://192.168.0.101:5011`,
        target: `http://192.168.0.111:5011`,
        // // target: `http://192.168.0.99:8080/ltkj-admin`,
        // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
        changeOrigin: true,