qx
qx
2025-06-24 91ec24b5e11ee9294f4061853b93b97508804023
src/views/system/biol/index.vue
@@ -530,8 +530,17 @@
    </el-dialog>
    <!--:before-close="handleClose"  -->
    <el-dialog title="提示" :visible.sync="dialogVisiblese" width="30%">
      <el-radio v-model="radios" label="1">从业人员检查表</el-radio>
      <el-radio v-model="radios" label="2">公共场所检查表</el-radio>
        <el-form :model="forms" ref="form" :inline="true" label-width="76px" style="margin-top: 10px">
        <el-form-item label="" prop="radios">
          <el-select  filterable v-model="forms.radios" placeholder="请选择打印健康检查表类型" clearable
            >
            <el-option v-for="dict in radiosList" :key="dict.dictValue" :label="dict.dictLabel"
              :value="dict.dictValue" />
          </el-select>
        </el-form-item>
      </el-form>
      <!-- <el-radio v-model="radios" label="1">从业人员检查表</el-radio>
      <el-radio v-model="radios" label="2">公共场所检查表</el-radio> -->
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisiblese = false">取 消</el-button>
        <el-button type="primary" @click="timjiao">确 定</el-button>
@@ -544,9 +553,8 @@
import { getInfo } from "@/api/login";
import { isPdfOrJimu } from "@/api/doctor/checkAll";
import {
  listOrder,
  getNumber,
  getPdf,
  getPdfpre,
  getprint,
  hasReport,
  hasPrintCode,
@@ -556,6 +564,8 @@
} from "@/api/hosp/order";
import moment from "moment";
import ViewPdf from "@/components/ViewPdf";
import { getDicts } from "@/api/system/dict/data";
import {
  SubmitCompany,
  getCompany,
@@ -576,6 +586,10 @@
      isLoading: false,
      isChexiao:false,
      createTimeList: "",
       forms:{
        radios:""
      },
      radiosList: [],
      // printObj: {
      //   id: "box",             //打印的区域
      //   preview: false,            //预览工具是否启用
@@ -804,29 +818,35 @@
    },
    jiankangReport() {
      this.dialogVisiblese = true;
     this.dialogVisiblese = true;
        let dictType = "jimu_lx"
      getDicts(dictType).then(res => {
        console.log(res.data)
        this.radiosList = res.data
      })
    },
    timjiao() {
      if (this.radios == "1") {
        this.mobanId = "912502827716915200";
      } else {
        this.mobanId = "912519857543262208";
      }
      // if (this.radios == "1") {
      //   this.mobanId = "912502827716915200";
      // } else {
      //   this.mobanId = "912519857543262208";
      // }
      const tjNum = this.report;
      const viewNum = this.mobanId;
      const viewNum = this.forms.radios;
      const params = { viewNum, tjNum };
      this.$tab.openPage("健康证检查表", "/report/jiankangzheng", params);
    },
    baogaoyulan() {
      const tjNumber = this.report[0];
      console.log(tjNumber, 5555);
      this.isLoading = true;  
      isPdfOrJimu(tjNumber).then((response) => {
        if (response.data.flag == "0") {
          const flag = true;
          this.isLoading = false;  
          getPdf(tjNumber, flag).then((response) => {
          let sfdy = this.queryParams.dyzt == 0 ? 1 : 0
          getPdfpre(tjNumber, flag, sfdy).then((response) => {
            if (response.size === 0) {
              const loading = this.$loading({
                lock: true,
@@ -837,15 +857,12 @@
              setTimeout(() => {
                loading.close();
              }, 3000);
              // this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
              this.$message({
                message: "报告正在生成,请两分钟后预览!",
                type: "warning",
              });
            } else {
              console.log(response);
              this.dialogVisible = true;
              this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
            }
          });
@@ -933,18 +950,6 @@
          contentType: "application/pdf",
        }).then((res) => {
          this.dialogVisible = true;
          // 转后后的blob对象
          console.log("blob", res.preview);
          // var ifr = document.createElement("iframe");
          // ifr.style.frameborder = "no";
          // ifr.style.display = "none";
          // ifr.style.pageBreakBefore = "always";
          // ifr.setAttribute("id", "printPdf");
          // ifr.setAttribute("name", "printPdf");
          // ifr.src =res.preview
          // document.body.appendChild(ifr);
          // this.doPrint("printPdf");
          // window.URL.revokeObjectURL( ifr.src);
          try {
            this.url = res.preview;
          } catch (error) {
@@ -954,116 +959,6 @@
      });
    },
    // 体检报告
    // viewReport() {
    //   const flag = true;
    //   this.failList = [];
    //   this.form.name = "报告打印失败:";
    //   if (this.report.length == 1) {
    //     this.report.forEach((item) => {
    //       this.tjNumber = item;
    //     });
    //     getPdf(this.tjNumber, flag).then((response) => {
    //       if (response.size == 0) {
    //         // this.$message.error("该用户体检报告暂未完成!");
    //         this.dialogVisible = false;
    //         this.DataList1.forEach((item) => {
    //           if (item.tjNumber === this.tjNumber) {
    //             this.userId = item.tjCustomerName;
    //             this.form.name += item.tjCustomerName;
    //           }
    //         });
    //         this.failList.push({
    //           tjNumber: this.tjNumber,
    //           printStatus: 0,
    //           printBy: this.userId,
    //           createBy: this.userIds,
    //         });
    //       } else {
    //         this.dialogVisible = true;
    //         this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
    //         console.log(this.url)
    //         this.DataList1.forEach((item) => {
    //           if (item.tjNumber === this.tjNumber) {
    //             this.userId = item.tjCustomerName;
    //             // this.form.name += item.tjCustomerName
    //           }
    //         });
    //         this.failList.push({
    //           tjNumber: this.tjNumber,
    //           printStatus: 1,
    //           printBy: this.userId,
    //           createBy: this.userIds,
    //         });
    //       }
    //       this.joggle(this.failList);
    //       this.getList();
    //     });
    //   } else {
    //     for (let i = 0; i < this.report.length; i++) {
    //       if (i <= this.report.length) {
    //         this.tjNumber = this.report[i];
    //         getPdf(this.tjNumber, flag).then((response) => {
    //           if (response.size == 0) {
    //             this.failList = [];
    //             this.DataList1.forEach((item) => {
    //               if (item.tjNumber === this.report[i]) {
    //                 this.userId = item.tjCustomerName;
    //                 if (this.form.name) {
    //                   this.form.name =
    //                     this.form.name + "," + item.tjCustomerName;
    //                 }
    //               }
    //             });
    //             this.failList.push({
    //               tjNumber: this.report[i],
    //               printStatus: 0,
    //               printBy: this.userId,
    //               createBy: this.userIds,
    //             });
    //             this.joggle(this.failList);
    //             this.getList();
    //             // this.$message.error("该用户体检报告暂未完成!");
    //             this.dialogVisible = false;
    //           } else {
    //             this.failList = [];
    //             this.DataList1.forEach((item) => {
    //               if (item.tjNumber === this.report[i]) {
    //                 this.userId = item.tjCustomerName;
    //               }
    //             });
    //             this.failList.push({
    //               tjNumber: this.report[i],
    //               printStatus: 1,
    //               printBy: this.userId,
    //               createBy: this.userIds,
    //             });
    //             this.joggle(this.failList);
    //             this.getList();
    //             // this.dialogVisible = true;
    //             // this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
    //             const newBlob = [];
    //             newBlob.push(response);
    //             const blob = new Blob(newBlob, { type: "application/pdf" });
    //             var date = new Date().getTime();
    //             var ifr = document.createElement("iframe");
    //             ifr.style.frameborder = "no";
    //             ifr.style.display = "none";
    //             ifr.style.pageBreakBefore = "always";
    //             ifr.setAttribute("id", "printPdf" + date);
    //             ifr.setAttribute("name", "printPdf" + date);
    //             ifr.src = window.URL.createObjectURL(blob);
    //             document.body.appendChild(ifr);
    //             this.doPrint("printPdf" + date);
    //             window.URL.revokeObjectURL(ifr.src); // 释放URL 对象
    //           }
    //         });
    //       }
    //     }
    //   }
    // },
    doPrint(val) {
      var ordonnance = document.getElementById(val).contentWindow;