1
lkk
2025-04-16 4f55c0255e5e68b3685d1510062dff6e1e3dbc48
src/views/system/biol/index.vue
@@ -12,7 +12,7 @@
        <el-select
          v-model="queryParams.dyzt"
          placeholder="请选择"
          @change="handleQuery"
          @change="handleDyztChange"
          style="width: 100px"
        >
          <el-option
@@ -124,7 +124,7 @@
        <el-button
          type="primary"
          size="mini"
          :disabled="multiple"
          :disabled="single"
          @click="jiankangReport"
          >健康检查表打印</el-button
        >
@@ -137,8 +137,9 @@
          type="primary"
          size="mini"
          :disabled="single"
          :loading="isLoading"
          @click="baogaoyulan"
          >报告打印</el-button
          >报告预览</el-button
        >
      </el-col>
      <el-col :span="1.5">
@@ -146,8 +147,9 @@
          type="primary"
          size="mini"
          :disabled="single"
          @click="yulan"
          >预览报告</el-button
          :loading="isChexiao"
          @click="chexiao"
          >撤销报告</el-button
        >
      </el-col>
      <el-col :span="1.5">
@@ -542,8 +544,6 @@
import { getInfo } from "@/api/login";
import { isPdfOrJimu } from "@/api/doctor/checkAll";
import {
  listOrder,
  getNumber,
  getPdf,
  getPdfpre,
  getprint,
@@ -551,6 +551,8 @@
  hasPrintCode,
  getOrderListOO,
  getNewDateList,
  getChexiao,
  xiugaidayinzhuangtai,
} from "@/api/hosp/order";
import moment from "moment";
import ViewPdf from "@/components/ViewPdf";
@@ -571,6 +573,8 @@
    return {
      radios: "1",
      dialogVisiblese: false,
      isLoading: false,
      isChexiao: false,
      createTimeList: "",
      // printObj: {
      //   id: "box",             //打印的区域
@@ -684,6 +688,7 @@
      open: false,
      // 日期范围
      datetimerange: [],
      seleList: [],
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -747,8 +752,12 @@
  },
  created() {
    // this.getNowTime();
    this.Company();
    // if (this.queryParams.dyzt === "0") {
    //   this.createTimeList = [];
    // } else {
    //   this.getdate();
    // }
    this.getdate();
  },
  mounted() {
@@ -758,6 +767,11 @@
  },
  methods: {
    getdate() {
      if (this.queryParams.dyzt === "0") {
        this.createTimeList = [];
        this.getList();
        return;
      }
      getNewDateList().then((res) => {
        this.createTimeList = [
          moment(res.data).format("YYYY-MM-DD 00:00:00"),
@@ -811,15 +825,21 @@
      const viewNum = this.mobanId;
      const params = { viewNum, tjNum };
      this.$tab.openPage("健康证检查表", "/report/jiankangzheng", params);
      let tjNumber = this.report[0];
      xiugaidayinzhuangtai(tjNumber).then((response) => {});
      this.dialogVisiblese = false;
      this.getList();
    },
    baogaoyulan() {
      const tjNumber = this.report[0];
      this.isLoading = true;
      isPdfOrJimu(tjNumber).then((response) => {
        if (response.data.flag == "0") {
          const flag = true;
          getPdfpre(tjNumber, flag,1).then((response) => {
            console.log('getPdfpre');
          this.isLoading = false;
          let sfdy = this.queryParams.dyzt == 0 ? 1 : 0;
          getPdfpre(tjNumber, flag, sfdy).then((response) => {
            if (response.size === 0) {
              const loading = this.$loading({
                lock: true,
@@ -830,60 +850,41 @@
              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
            }
          });
        } else {
          let url = response.data.url;
          const params = { url };
          this.$tab.openPage(
            "健康证检查表",
            "/report/zongjianjiankangzheng",
            params
          );
        }
        this.isLoading = false;
      });
    },
    yulan() {
      const tjNumber = this.report[0];
      isPdfOrJimu(tjNumber).then((response) => {
        if (response.data.flag == "0") {
          const flag = true;
          getPdfpre(tjNumber, flag,0).then((response) => {
            console.log('getPdfpre');
            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("报告正在生成,请两分钟后预览!");
              this.$message({
                message: "报告正在生成,请两分钟后预览!",
                type: "warning",
              });
            } else {
              console.log(response);
              this.dialogVisible = true;
              this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
            }
          });
    // 撤销打印
    chexiao() {
      const tjNUms = this.seleList.map((item) => item.tjNumber);
      this.isChexiao = true;
      getChexiao(tjNUms).then((res) => {
        console.log(res, 6666);
        if (res.code === 200) {
          this.$modal.msgSuccess("撤销成功!");
          this.getList();
        } else {
          this.$modal.msgError("撤销失败!");
        }
        this.isChexiao = false;
      });
    },
    exportPDF() {
      const tjNumber = this.report[0];
      isPdfOrJimu(tjNumber).then((res) => {
        console.log(res);
      })
    },
    //打印小票
    printHandle() {
@@ -942,18 +943,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) {
@@ -962,117 +951,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;
@@ -1236,6 +1114,16 @@
      this.queryParams.pageNum = 1;
      this.getList();
    },
    handleDyztChange(value) {
      if (value === "0") {
        // 确认一下 "未打印" 的 value 是不是 '0'
        this.createTimeList = [];
      } else {
        // 已打印 -> 设置默认登记时间
        this.getdate();
      }
      this.handleQuery();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.queryParams = {
@@ -1265,6 +1153,9 @@
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.orderId);
      this.seleList = selection;
      console.log(this.seleList, 222333);
      this.DataList1 = this.$refs.multipleTable.selection;
      this.DataList1.forEach((item) => {
        this.barcode = item.tjNumber;