eight
2024-12-18 8ce35ee72e52f51f93e61d2dec6084c3cfd397b6
src/views/ecg/doctor/components/RoutinePanel.vue
@@ -12,7 +12,8 @@
          <el-form-item label="患者编号" prop="patId">
            <el-input v-model="formData.patId" placeholder="请输入患者编号" @input="getRentInfoByPatId" />
<!--        <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />-->
            <Barcode v-if="getDisplayBarcode()" :value="getDisplayBarcode()" :width=100 />
            <Barcode v-if="displayBarCode" :value="displayBarCode" :width=100 />
            <el-button @click="copyBarcode()">复制</el-button>
          </el-form-item>
          <el-form-item label="患者名称" prop="patName">
            <el-input v-model="formData.patName" placeholder="请输入患者名称" />
@@ -43,8 +44,8 @@
    <el-button @click="submitForm" type="primary" :disabled="formLoading">检查完成</el-button>
    <el-button @click="cancelInstall"  :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>
    <el-button v-if="formData.checkType && checkTypeStore.getExpenseRecognition(formData.checkType)" @click="feeConfirm"  :disabled="formLoading">确费</el-button>
    <el-button v-if="formData.checkType && checkTypeStore.getExpenseRecognition(formData.checkType)" @click="feeCancel"  :disabled="formLoading">取消确费</el-button>
  <!-- 医生装机列表 -->
  <ContentWrap>
@@ -145,6 +146,7 @@
  formData.value.checkType = queueVO?.bookCheckType
  formData.value.patSrc = queueVO?.patDetails.source
  getFreeRentInfo(formData.value)
  copyBarcode()
}
defineExpose({ setPatient }) // 提供 setPatient 方法,用于设置患者
@@ -162,6 +164,8 @@
  rentTime: [{ required: true, message: '请选择装机日期', trigger: 'blur' }],
})
const formRef = ref() // 表单 Ref
const displayBarCode = ref<string> ()
/** 提交表单 */
const submitForm = async () => {
@@ -218,6 +222,7 @@
  formData.value.patId = tempPatId;
  getFreeRentInfo(formData.value)
  copyBarcode()
}
const getFreeRentInfo = async (devRentVO) => {
@@ -228,6 +233,8 @@
  // formDate 对应  DevRent
  // formData.value = data  //不能整个赋值, 默认领用时间被清空
  formData.value.id = data.id;
  formData.value.applyNo = data.applyNo;
  formData.value.episodeId = data.episodeId;
  formData.value.patDetails = data.patDetails
}
@@ -296,7 +303,7 @@
    message.success(t('操作成功'))
}
const getDisplayBarcode = () => {
const getDisplayBarcode = (): string => {
  if (!formData.value.checkType)
    return ""
@@ -304,14 +311,26 @@
  if (!displayBarcode.includes( formData.value.patSrc ))
    return ""
  return getBarcode()
}
const getBarcode = (): string => {
  if (!formData.value.checkType)
    return ""
  if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
    return formData.value.applyNo
    return formData.value.applyNo??""
  else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
    return formData.value.episodeId
    return formData.value.episodeId??""
  return ""
}
const copyBarcode = async () => {
  displayBarCode.value = getDisplayBarcode()
  await navigator.clipboard.writeText( getBarcode() );
}
/** 初始化 **/
onMounted(() => {
  resetForm()