qinxianzhangyao
2023-12-06 ced3a8b5f49b6e7039be5415a705ae3575c102fb
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,7 +245,7 @@
          </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>
@@ -247,7 +254,8 @@
        </div>
      </div>
      <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"
@@ -268,7 +276,7 @@
        <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>
                  @blur="handleInputConfirm(scope.row)" @input="vale" @focus="handleInConfirm(scope.row)"></el-input>
          </template>
        </el-table-column>
        <el-table-column label="规则" width="55">
@@ -363,6 +371,24 @@
          <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
      }
      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;