单应用项目,可以创建很多独立工具类页面 ,不用登录 初始化的页面
zhangchen
2025-07-24 e4d0a31d7be408fea3e8e7ba68ed88ff0b05cd7b
src/views/mobile/bedsideAuxiliaryScreen/components/Header.vue
@@ -1,20 +1,28 @@
<template>
  <div class="bedside-auxiliary-screen-header">
    <div class="header-left">
      <!-- 设备号 -->
      <span class="info-text">{{ deviceNo }}</span>
      <!-- 未排班 -->
      <template v-if="type === 0">
        <span class="info-text">当前尚未排班</span>
      </template>
      <!-- 有排班 -->
      <!-- 没有设备编号 -->
      <span v-if="pageType === 0" class="info-text">未绑定设备</span>
      <template v-else>
        <span class="info-text">{{ name }}</span>
        <span class="info-text">{{ age }}岁</span>
        <span class="info-text">{{ gender }}</span>
        <span v-if="formTypeNoText" class="info-text">{{
          formTypeNoText
        <!-- 设备号 -->
        <span class="info-text">{{
          bedsideAuxiliaryScreenStore.deviceData.devicdeNo
        }}</span>
        <!-- 加载中 -->
        <span v-if="pageType === 1" class="info-text"
          >页面初始化中,请耐心等待!</span
        >
        <!-- 未排班 -->
        <span v-else-if="pageType === 2" class="info-text">当前尚未排班</span>
        <!-- 有排班 -->
        <template v-else>
          <span class="info-text">{{ patientInfo.patientName }}</span>
          <span class="info-text">{{ patientInfo.age }}岁</span>
          <span class="info-text">{{ patientInfo.gender }}</span>
          <span v-if="patientInfo.patFormNumber" class="info-text">
            {{ patientInfo.patForm }}:{{ patientInfo.patFormNumber }}</span
          >
        </template>
      </template>
    </div>
    <div class="header-right">
@@ -25,7 +33,7 @@
        alt=""
        @click="openSettingDeviceDialog"
      />
      <img :src="userImg" class="btn-img" alt="" />
      <img :src="userImg" class="btn-img" alt="" @click="openLoginDialog" />
    </div>
  </div>
  <!-- 设置设备编号组件 -->
@@ -41,34 +49,43 @@
import setUpImg from "../../../../img/shezhi.png";
import userImg from "../../../../img/user.png";
type HearderType = 0 | 1; // 0未排班 1其它
type FormType = 0 | 1; // 0门诊 1住院
import { useBedsideAuxiliaryScreenStore } from "@/store/bedsideAuxiliaryScreen";
import { EPatForm } from "@/store/type/bedsideAuxiliaryScreen.type";
import { ElMessage } from "element-plus";
interface Props {
  type: HearderType; // 类型
  deviceNo: number | string; // 设备号
  name?: string; // 姓名
  age?: number | string; // 年龄
  gender?: string; // 性别
  formType?: FormType; // 患者来源
  formNo?: number | string; // 门诊/住院号
}
const props = defineProps<Props>();
const bedsideAuxiliaryScreenStore = useBedsideAuxiliaryScreenStore();
const settingDeviceDialogRef = ref<any>(null);
const formTypeNoText = computed(() => {
  if (props.formNo) {
    let result = props?.formType === 1 ? "住院号" : "门诊号";
    result += props.formNo;
    return result;
  }
  return "";
const pageType = computed(() => {
  return bedsideAuxiliaryScreenStore.deviceData.pageType;
});
const patientInfo = computed(() => {
  return {
    patientName: bedsideAuxiliaryScreenStore.deviceData.patientName,
    patientPhone: bedsideAuxiliaryScreenStore.deviceData.patientPhone,
    age: bedsideAuxiliaryScreenStore.deviceData.age,
    gender: bedsideAuxiliaryScreenStore.deviceData.gender,
    patForm:
      bedsideAuxiliaryScreenStore.deviceData.patForm ===
      EPatForm.OUTPATIENT_SERVICE
        ? "门诊号"
        : "住院号",
    patFormNumber: bedsideAuxiliaryScreenStore.deviceData.patFormNumber,
  };
});
const openSettingDeviceDialog = () => {
  settingDeviceDialogRef.value?.openDialog();
};
const openLoginDialog = () => {
  ElMessage({
    message: "功能开发中,敬请期待!",
    type: "warning",
  });
};
</script>
<style lang="less" scoped>