yxh
2026-09-29 6ab4b1e0b68e4c347110e37018fa005603f53904
src/views/ecg/doctor/components/DevInstallPanel.vue
@@ -15,9 +15,11 @@
          <el-input v-model="formData.patName" placeholder="请输入患者名称" />
        </el-form-item>
        <el-form-item label="患者描述" prop="patDetails">
          <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patDetails?.source || ''" />
          {{ formData?.patDetails?.deptDesc }} {{ formData?.patDetails?.wardDesc }} {{ formData?.patDetails?.bedNo }}
          <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="formData.patSrc ?? formData.patDetails?.source ?? ''" />
          {{ formData.patWardDesc || formData?.patDetails?.wardDesc || '-' }} {{ formData.patBedNo || formData?.patDetails?.bedNo || '-' }}
        </el-form-item>
        <!-- 需求1:患者信息 18 项统一展示(后端已从预约单平铺回填,setPatient 已赋值到 formData) -->
        <PatientInfoBlock :data="formData" check-type-field="checkType" :span="12" />
        <el-form-item label="装机时间" prop="rentTime">
          <el-date-picker v-model="formData.rentTime" type="date" value-format="x" placeholder="选择装机时间" />
        </el-form-item>
@@ -33,10 +35,8 @@
          <el-input v-model="formData.remark" placeholder="请输入备注" />
        </el-form-item>
        <el-form-item label="多耐药" prop="tolerance">
          <el-tag v-if="formData.tolerance == 0" type="info">否</el-tag>
          <el-tag v-else-if="formData.tolerance == 1" type="danger">是</el-tag>
          <!-- 可选:防止数据异常时的兜底 -->
          <el-tag v-else type="warning">未知</el-tag>
          <!-- 需求6:统一走字典 ecg_tolerance(0=无 1=多耐 2=多重耐药);NULL 按"无"显示(Q12) -->
          <dict-tag :type="DICT_TYPE.ECG_TOLERANCE" :value="formData.tolerance ?? 0" />
        </el-form-item>
      </el-col>
    </el-row>
@@ -107,6 +107,8 @@
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { tranlateDevState } from "../../../../utils/statusFormatter";
import { getCheckTypeName } from "../../../../utils/checkTypeFormatter";
// 需求1:患者信息 18 项统一展示块
import PatientInfoBlock from "@/views/ecg/doctor/components/PatientInfoBlock.vue";
/** 设备装机 表单 */
defineComponent({ name: 'DevInstallPanel' })
@@ -166,6 +168,23 @@
  formData.value.patName = queueVO?.patName
  formData.value.checkType = queueVO?.bookCheckType
  formData.value.tolerance = queueVO?.tolerance // 多耐药,后端从预约单补齐
  // 需求1:以下平铺字段由后端从预约单回填到 QueueRespVO,
  // 必须显式赋值给 formData,否则模板里读不到。
  formData.value.patGender = queueVO?.patGender
  formData.value.patBirthday = queueVO?.patBirthday
  formData.value.registerDate = queueVO?.registerDate
  formData.value.doctor = queueVO?.doctor
  formData.value.doctorTime = queueVO?.doctorTime
  formData.value.patSrc = queueVO?.patSrc
  formData.value.patMobile = queueVO?.patMobile
  formData.value.patPhone = queueVO?.patPhone
  formData.value.patWardDesc = queueVO?.patWardDesc
  formData.value.patBedNo = queueVO?.patBedNo
  formData.value.medicalCard = queueVO?.medicalCard
  formData.value.outpatientNo = queueVO?.outpatientNo
    // 需求1:医嘱号(此前 3 个面板都遗漏了该字段的赋值,导致 PatientInfoBlock 恒显示 '-')
    formData.value.doctorAdviceNo = queueVO?.doctorAdviceNo
  formData.value.patIdentityId = queueVO?.patIdentityId
  getReadyRentInfo(formData.value)    // 获取领用信息
  copyBarcode()
}
@@ -213,6 +232,25 @@
    detachment: undefined,
    remark: undefined,
    checkType: undefined,
    // 需求1:PatientInfoBlock 依赖的平铺字段(由 setPatient 从 QueueVO 赋值)
    applyNo: undefined,
    episodeId: undefined,
    patGender: undefined,
    patBirthday: undefined,
    registerDate: undefined,
    doctor: undefined,
    doctorTime: undefined,
    patSrc: undefined,
    patMobile: undefined,
    patPhone: undefined,
    patWardDesc: undefined,
    patBedNo: undefined,
    medicalCard: undefined,
    doctorAdviceNo: undefined,
    outpatientNo: undefined,
    patIdentityId: undefined,
    status: undefined,
    seqNum: undefined,
  }
  formRef.value?.resetFields()
  devInfo.value = {