eight
2025-04-11 106d90222ad7fb031cae93876e904e9dc8e5ce7f
src/views/ecg/doctor/components/RoutinePanel.vue
@@ -19,8 +19,8 @@
            <el-input v-model="formData.patName" placeholder="请输入患者名称" />
          </el-form-item>
          <el-form-item label="患者描述" prop="patDetails">
            <dict-tag v-if="formData.patSrc" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc" />
            {{formData.patDetails?.deptDesc}} {{formData.patDetails?.wardDesc}} {{formData.patDetails?.bedNo}}
            <dict-tag v-if="formData.patDetails?.source" :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patDetails?.source" />
            {{formData?.patDetails?.deptDesc}} {{formData?.patDetails?.wardDesc}} {{formData?.patDetails?.bedNo}}
          </el-form-item>
          <el-form-item label="检查时间" prop="rentTime">
            <el-date-picker
@@ -33,7 +33,7 @@
        </el-col>
        <el-col :span="12">
          <el-form-item label="检查项目" prop="">
            {{formData.checkType && getCheckTypeName(formData.checkType)}}
            {{formData?.checkType && getCheckTypeName(formData?.checkType)}}
          </el-form-item>
          <el-form-item label="备注" prop="remark">
            <el-input v-model="formData.remark" placeholder="请输入备注" />
@@ -44,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 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>
    <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeConfirm"  :disabled="formLoading">确费</el-button>
    <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeCancel"  :disabled="formLoading">取消确费</el-button>
  <!-- 医生装机列表 -->
  <ContentWrap>
@@ -79,6 +79,7 @@
          :formatter="dateFormatter"
          width="180px"
      />
<!--
      <el-table-column label="操作" align="center" min-width="120px">
        <template #default="scope">
          <el-button
@@ -99,6 +100,7 @@
          </el-button>
        </template>
      </el-table-column>
-->
    </el-table>
    <!-- 分页 -->
    <Pagination
@@ -122,6 +124,7 @@
import {Barcode} from "@/components/Barcode";
import {useCheckTypeStore} from "@/store/modules/checkType";
import {DICT_TYPE} from "@/utils/dict";
import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter";
/** 设备装机 表单 */
defineComponent({ name: 'RoutinePanel' })
@@ -144,7 +147,6 @@
  formData.value.patId = queueVO?.patId
  formData.value.patName = queueVO?.patName
  formData.value.checkType = queueVO?.bookCheckType
  formData.value.patSrc = queueVO?.patDetails.source
  getFreeRentInfo(formData.value)
  copyBarcode()
}
@@ -157,7 +159,7 @@
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const formData = ref({
const formData = ref<Partial<DevRentVO>>({
  id: undefined,
  devId: undefined,
  patId: undefined,
@@ -166,13 +168,8 @@
  checkType: undefined,
  rentTime: new Date().getTime(),
  returnTime: undefined,
  interference: undefined,
  baseline: undefined,
  detachment: undefined,
  remark: undefined,
  paid: undefined,
  roomId: props.room.roomId,
  bedNo: props.room.bedNo
})
const formRules = reactive({
@@ -194,6 +191,12 @@
    formData.value.bedNo = props.room.bedNo
    const data = formData.value as unknown as DevRentVO
    await DevRentApi.routineFinish(data)
    // 自动确费
    if (needAutoFeeConfirm(formData.value.checkType)) {
      feeConfirm()
    }
    message.success(t('操作成功'))
    dialogVisible.value = false
    // 发送操作成功的事件
@@ -305,35 +308,50 @@
}
const feeConfirm = async () => {
  if (formData.value.id == null) {
    message.error(t('请先检查'))
    return
  }
  const result = await DevRentApi.feeConfirm(formData.value.id)
  if (0 == result)
    message.success(t('操作成功'))
}
const feeCancel = async () => {
  if (formData.value.id == null) {
    message.error(t('请先检查'))
    return
  }
  const result = await DevRentApi.feeCancel(formData.value.id)
  if (0 == result)
    message.success(t('操作成功'))
}
const getDisplayBarcode = (): string => {
  if (!formData.value.checkType)
  if (formData.value.checkType == null)
    return ""
  const displayBarcode: number[] = checkTypeStore.getCheckTypeDispBarCode(formData.value.checkType!)
  if (!displayBarcode.includes( formData.value.patSrc ))
  if (formData.value.patDetails == null || formData.value.patDetails.source == null ||
      !displayBarcode.includes( formData.value.patDetails.source ))
    return ""
  return getBarcode()
}
const getBarcode = (): string => {
  if (!formData.value.checkType)
  if (formData.value.checkType == null)
    return ""
  if (1 === formData.value.patSrc || 2 === formData.value.patSrc)
  const patSource = formData.value.patDetails?.source
  if (patSource == null)
    return ""
  if (1 === patSource || 2 === patSource)
    return formData.value.applyNo??""
  else if (3 === formData.value.patSrc || 4 === formData.value.patSrc)
  else if (3 === patSource || 4 === patSource)
    return formData.value.episodeId??""
  return ""