eight
2024-11-25 c6421e15ecc9df14dbb2f29ab76a73ce7aa7f603
src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -38,27 +38,31 @@
      <el-form-item label="备注" prop="remark">
        <el-input v-model="formData.remark" placeholder="请输入备注" />
      </el-form-item>
<!--
      <el-form-item label="缴费确认" prop="paid">
        <el-radio-group v-model="formData.paid">
          <el-radio key="1" :label="1"> 已缴费 </el-radio>
          <el-radio key="0" :label="0"> 未缴费 </el-radio>
        </el-radio-group>
      </el-form-item>
-->
    </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)">打印小票</el-button>
    <el-button @click="printBill(formData.patId, 8)">打印小票2</el-button>
    <el-button @click="cancelInstall"  :disabled="formLoading">放弃装机</el-button>
    <el-button @click="printBill(formData.patId, formData.checkType)">打印小票</el-button>
    <el-button @click="printBill(formData.patId, formData.checkType, 8)">打印小票2</el-button>
    <el-button @click="cancelReady"  :disabled="formLoading">放弃领用</el-button>
    <el-button @click="resetForm()">重 置</el-button>
    <el-button @click="feeConfirm"  :disabled="formLoading">确费</el-button>
    <el-button @click="feeCancel"  :disabled="formLoading">取消确费</el-button>
  <!-- 医生装机列表 -->
  <ContentWrap>
    <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @row-click="onRowClick" >
      <el-table-column label="id" align="center" prop="id" />
      <el-table-column label="缴费" align="center" prop="paid">
<!--      <el-table-column label="id" align="center" prop="id" />-->
      <el-table-column label="确费" align="center" prop="paid">
        <template #default="scope">
          {{scope.row.paid == 1 ? "已缴" : ""}}
          {{scope.row.paid == 1 ? "已确费" : ""}}
        </template>
      </el-table-column>
      <el-table-column label="领用情况" align="center" prop="cancelled" >
@@ -233,38 +237,32 @@
    const data = formData.value
    console.info( data )
    if (formData.value.id === null || formData.value.id === undefined) {
      const result = await DevRentApi.devReady(data)
      formData.value.id = result
      message.success(t('操作完成'))
      if (autoPrint.value)
        printBill( data.patId)
    } else {
      await DevRentApi.devReady(data)
      message.success(t('更新完成'))
    }
    await DevRentApi.devReady(data)
    if (autoPrint.value)
      printBill( data.patId, data.checkType)
    dialogVisible.value = false
    // 发送操作成功的事件
    emit('event_dev_ready')
    resetForm()
    getList()
    message.success(t('操作完成'))
  } finally {
    formLoading.value = false
  }
}
const cancelInstall = async () => {
// 放弃领用
const cancelReady = async () => {
  formData.value.roomId = props.room.roomId
  formData.value.bedNo = props.room.bedNo
  const data = formData.value as unknown as DevRentVO
  if (formData.value.id === null || formData.value.id === undefined) {
    const result = await DevRentApi.devReadyCancel(data)
    formData.value.id = result
    message.success(t('操作成功'))
  } else {
    await DevRentApi.devReadyCancel(data)
    message.success(t('操作成功'))
  }
  await DevRentApi.devReadyCancel(data)
  message.success(t('操作成功'))
  // 发送操作成功的事件
  emit('event_dev_ready')
  resetForm()
@@ -357,9 +355,9 @@
  formData.value = await DevRentApi.getDevRent(rentId)
}
const printBill = async (patId: string, printMode?: number) => {
const printBill = async (patId: string, checkType: number, printMode?: number) => {
  const curAppointment: AppointmentVO = await AppointmentApi.getCurAppointmentByPatId( patId )
  const curAppointment: AppointmentVO = await AppointmentApi.getCurAppointmentByPatIdAndCheckType( patId, checkType )
  console.info( curAppointment )
// 引入后使用示例
@@ -374,17 +372,17 @@
  var panel = hiprintTemplate.addPrintPanel({ width: 140, height: 130, paperNumberDisabled:true});
//文本
  const checkTypeName = checkTypeStore.getCheckTypeName(curAppointment.bookCheckType)
  panel.addPrintText({ options: { width: 140, height: 12, top: 2, left: 20, title: checkTypeName, textAlign: 'center', fontSize: 8, fontFamily: '微软雅黑',  fontWeight: '700', } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 2, left: 20, title: checkTypeName, textAlign: 'center', fontSize: 10, fontFamily: '微软雅黑',  fontWeight: '700', } });
  const patientBaisc = curAppointment.patName + "  " + calGender(curAppointment.patGender) + "  " + calculateAge(curAppointment.patBirthday) + "岁"
  panel.addPrintText({ options: { width: 140, height: 12, top: 16, left: 20, title: patientBaisc, textAlign: 'center' , fontSize: 8, fontWeight: '700', } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 16, left: 20, title: patientBaisc, textAlign: 'center' , fontSize: 10, fontFamily: '微软雅黑',  fontWeight: '700', } });
  const ward_bed = curAppointment.patWardDesc + "-" + curAppointment.patBedNo
  panel.addPrintText({ options: { width: 140, height: 12, top: 30, left: 20, title: ward_bed, textAlign: 'center', fontSize: 8, fontFamily: '黑体', } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 30, left: 20, title: ward_bed, textAlign: 'center', fontSize: 10, fontFamily: '微软雅黑',  fontWeight: '700', } });
  const bookTime = formatTimestamp(curAppointment.bookDate) + " " + getBookBeginTime(curAppointment.bookTimeslot)
  panel.addPrintText({ options: { width: 140, height: 12, top: 44, left: 20, title: bookTime, textAlign: 'center', fontSize: 8 } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 58, left: 20, title: curAppointment.patId, textAlign: 'center', fontSize: 8 } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 72, left: 20, title: curAppointment.patMobile, textAlign: 'center', fontSize: 8, fontFamily: '微软雅黑',  fontWeight: '700', } });
//条形码
  panel.addPrintText({ options: { width: 140, height: 22, top: 86, left: 20, title: curAppointment.patId, textType: 'barcode' } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 44, left: 20, title: bookTime, textAlign: 'center', fontSize: 10, fontFamily: '微软雅黑',  fontWeight: '700', } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 58, left: 20, title: curAppointment.patId, textAlign: 'center', fontSize: 10, fontFamily: '微软雅黑',  fontWeight: '700', } });
  panel.addPrintText({ options: { width: 140, height: 12, top: 72, left: 20, title: curAppointment.patMobile, textAlign: 'center', fontSize: 10, fontFamily: '微软雅黑',  fontWeight: '700', } });
  //条形码
  panel.addPrintText({ options: { width: 140, height: 22, top: 86, left: 20, title: curAppointment.episodeId, textType: 'barcode' } });
//打印
  if (undefined === printMode)
@@ -444,6 +442,18 @@
    deviceInfo.value = data
}
const feeConfirm = async () => {
  const result = await DevRentApi.feeConfirm(formData.value.id)
  if (0 == result)
    message.success(t('操作成功'))
}
const feeCancel = async () => {
  const result = await DevRentApi.feeCancel(formData.value.id)
  if (0 == result)
    message.success(t('操作成功'))
}
/** 初始化 **/
onMounted(() => {
  getList()