eight
2025-04-15 589bcdb26f8e9d3e0d5ef46d27acc901c96d50ea
src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -11,7 +11,7 @@
      v-loading="formLoading"
    >
      <el-form-item label="检查项目" prop="">
        {{formData?.checkType && getCheckTypeName(formData?.checkType)}}
        {{getCheckTypeName(formData.checkType)}}
      </el-form-item>
      <el-form-item label="患者编号" prop="patId">
        <el-input v-model="formData.patId" placeholder="请输入患者编号" @input="getRentInfoByPatId" />
@@ -54,7 +54,7 @@
    </el-form>
    <el-button @click="submitForm" type="primary" :disabled="formLoading">领用完成</el-button>
    <el-checkbox style="margin-left:10px" label="自动&nbsp;" v-model="autoPrint" />
    <el-button @click="printBill(formData.patId!, formData.checkType!)">打印小票</el-button>
    <el-button @click="printBill(formData.patDetails?.appointmentId)">打印小票</el-button>
    <el-button @click="cancelReady"  :disabled="formLoading">放弃领用</el-button>
    <el-button @click="resetForm()">重 置</el-button>
    <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeConfirm"  :disabled="formLoading">确费</el-button>
@@ -215,6 +215,9 @@
// 根据患者或设备, 获取 Free的租赁
const getFreeRentInfo = async (devRentVO) => {
  if ((devRentVO.devId == null || devRentVO.devId === '') && (devRentVO.patId == null || devRentVO.patId === '') )
    return
  const data = await DevRentApi.getFreeRent(devRentVO)
  if (null === data)
    return
@@ -238,7 +241,7 @@
    await DevRentApi.devReady(formData.value)
    if (autoPrint.value && formData.value.patId && formData.value.checkType) {
      printBill(formData.value.patId, formData.value.checkType)
      printBill(formData.value.patDetails?.appointmentId)
    }
    // 自动确费
@@ -354,10 +357,11 @@
  devInfo.value.state = data.devState
}
const printBill = async (patId: string, checkType: number, printMode?: number) => {
const printBill = async (appointmentId: number | null | undefined, printMode?: number) => {
  if ( appointmentId == null )
    return
  const curAppointment: AppointmentVO = await AppointmentApi.getCurAppointmentByPatIdAndCheckType( patId, checkType )
  //console.info( curAppointment )
  const curAppointment: AppointmentVO = await AppointmentApi.getAppointment( appointmentId )
// 引入后使用示例
  hiprint.init({
@@ -442,33 +446,51 @@
const feeConfirm = async () => {
  if (formData.value.id == null) {
    message.error(t('请先领用'))
    message.error('请先领用')
    return
  }
  const result = await DevRentApi.feeConfirm(formData.value.id)
  if (0 === result)
    message.success(t('确费操作成功'))
 try {
    const result = await DevRentApi.feeConfirm(formData.value.id)
    if (0 === result) {
      //message.success('确费操作成功')
    }
  } catch (err) {
    // 框架 会给出 后台的 错误信息
  }
}
const feeCancel = async () => {
  if (formData.value.id == null) {
    message.error(t('请先领用'))
    message.error('请先领用')
    return
  }
  const result = await DevRentApi.feeCancel(formData.value.id)
  if (0 === result)
    message.success(t('操作成功'))
  try {
    const result = await DevRentApi.feeCancel(formData.value.id)
    if (0 === result) {
      //message.success('确费取消成功')
    }
  } catch (err) {
    // 框架 会给出 后台的 错误信息
  }
}
/**
 * 获取条形码,显示与否  同一个值
 */
const getDisplayBarcode = (): string => {
  if (formData.value.checkType == null)
    return ""
  const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
  if (formData.value.patDetails == null || formData.value.patDetails.source == null ||
      !displayBarcode.includes( formData.value.patDetails.source ))
  if (formData.value.patDetails?.source == null)
    return ""
  const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType)
  if (displayBarcode == null || displayBarcode.length === 0)
    return ""
  if (!displayBarcode.includes( formData.value.patDetails.source ))
    return ""
  return getBarcode()
@@ -492,7 +514,12 @@
const copyBarcode = async () => {
  displayBarCode.value = getDisplayBarcode()
  await navigator.clipboard.writeText( getBarcode() );
  const barCode = getBarcode()
  if (isStringEmpty(barCode))
    return
  await navigator.clipboard.writeText( barCode );
}
/** 初始化 **/