eight
2025-04-11 348e6bcdc7fa566a48b96dea53d24ec6dda49e1d
src/views/ecg/appointment/CheckItemPanel.vue
@@ -9,6 +9,7 @@
import { cloneDeep } from 'lodash-es'
import {hiprint} from "vue-plugin-hiprint";
import {calGender, getBookBeginTime} from "@/utils";
import {getCheckTypeName} from "@/utils/checkTypeFormatter";
defineComponent({
  name: 'CheckItemPanel'
@@ -129,27 +130,27 @@
  //var panel = hiprintTemplate.addPrintPanel({ width: 100, height: 130, paperFooter: 340, paperHeader: 10 }); 导致走三页
  var panel = hiprintTemplate.addPrintPanel({ width: 140, height: 130, paperNumberDisabled:true});
//文本
  const checkTypeName = checkTypeStore.getCheckTypeName(props.appointment.bookCheckType)
  panel.addPrintText({ options: { width: 140, height: 15, top: 0, left: 20, title: checkTypeName, textAlign: 'center', fontSize: 15, fontFamily: '微软雅黑',  fontWeight: '700', } });
  const checkTypeName = getCheckTypeName(props.appointment.bookCheckType)
  panel.addPrintText({ options: { width: 150, height: 15, top: 2, left: 10, title: checkTypeName, textAlign: 'center', fontSize: 15, fontFamily: '微软雅黑',  fontWeight: '700', } });
  const patientBaisc = props.appointment.patName + "  " + calGender(props.appointment.patGender) + "  " + calculateAge(props.appointment.patBirthday) + "岁"
  panel.addPrintText({ options: { width: 140, height: 15, top: 25, left: 20, title: patientBaisc, textAlign: 'center' , fontSize: 15, fontFamily: '微软雅黑', fontWeight: '700', } });
  panel.addPrintText({ options: { width: 150, height: 15, top: 27, left: 10, title: patientBaisc, textAlign: 'center' , fontSize: 15, fontFamily: '微软雅黑', fontWeight: '700', } });
  const ward_bed = props.appointment.patWardDesc + "-" + props.appointment.patBedNo
  panel.addPrintText({ options: { width: 140, height: 15, top: 50, left: 20, title: ward_bed, textAlign: 'center', fontSize: 15, fontFamily: '微软雅黑', fontWeight: '700', } });
  panel.addPrintText({ options: { width: 150, height: 15, top: 52, left: 10, title: ward_bed, textAlign: 'center', fontSize: 15, fontFamily: '微软雅黑', fontWeight: '700', } });
  const bookTime = formatTimestamp(props.appointment.bookDate) + " " + getBookBeginTime(props.appointment.bookTimeslot)
  panel.addPrintText({ options: { width: 140, height: 15, top: 75, left: 20, title: bookTime, textAlign: 'center', fontSize: 15, fontFamily: '微软雅黑', fontWeight: '700', } });
  //panel.addPrintText({ options: { width: 140, height: 12, top: 58, left: 20, title: props.appointment.patId, textAlign: 'center', fontSize: 8 } });
  //panel.addPrintText({ options: { width: 140, height: 12, top: 72, left: 20, title: props.appointment.patMobile, textAlign: 'center', fontSize: 8, fontFamily: '微软雅黑',  fontWeight: '700', } });
  panel.addPrintText({ options: { width: 150, height: 15, top: 77, left: 10, title: bookTime, textAlign: 'center', fontSize: 15, fontFamily: '微软雅黑', fontWeight: '700', } });
  //panel.addPrintText({ options: { width: 150, height: 12, top: 58, left: 10, title: props.appointment.patId, textAlign: 'center', fontSize: 8 } });
  //panel.addPrintText({ options: { width: 150, height: 12, top: 72, left: 10, title: props.appointment.patMobile, textAlign: 'center', fontSize: 8, fontFamily: '微软雅黑',  fontWeight: '700', } });
  // 条码 就诊流水号
  panel.addPrintText({ options: { width: 140, height: 22, top: 104, left: 20, title: props.appointment.episodeId, textType: 'barcode' } });
  panel.addPrintText({ options: { width: 150, height: 22, top: 107, left: 10, title: props.appointment.episodeId, textType: 'barcode' } });
  // 右侧 Pane 输出
  const _bookSeqNum = bookSeqNum.value??props.appointment?.bookSeqNum
  panel.addPrintText({ options: { width: 140, height: 20, top: 5, left: 160, title: ''+_bookSeqNum, textAlign: 'center', fontSize: 30, fontFamily: '微软雅黑',  fontWeight: '1200' } });
  panel.addPrintText({ options: { width: 130, height: 20, top: 7, left: 170, title: ''+_bookSeqNum, textAlign: 'center', fontSize: 30, fontFamily: '微软雅黑',  fontWeight: '1200' } });
  // 注意事项
  const notes = checkTypeStore.getCheckTypeNotes(props.appointment.bookCheckType)
  panel.addPrintText({ options: { width: 140, height: 40, top: 35, left: 160, title: notes, textAlign: 'center', fontSize: 13, fontFamily: '微软雅黑',  fontWeight: '700', } });
  panel.addPrintLongText({ options: { width: 130, height: 80, top: 35, left: 170, lineHeight: 15, title: notes, textAlign: 'center', fontSize: 13, fontFamily: '微软雅黑',  fontWeight: '700', } });
//打印
  if (undefined === printMode)
@@ -168,7 +169,7 @@
<template>
  <el-card style="width: 200px" shadow="hover" >
    <template #header>{{checkTypeStore.getCheckTypeName(appointment.bookCheckType)}}</template>
    <template #header>{{getCheckTypeName(appointment.bookCheckType)}}</template>
    <div>{{formatDate(appointment.bookDate, 'YYYY-MM-DD')}}</div>
    <div>{{formatTimeslot(appointment.bookTimeslot)}}</div>