/** * 医院救援管理平台 · 移动端 数据模型定义 * ------------------------------------------------------------ * 说明:本文件只放类型定义,不放数据。 * 后续对接接口时,仅需保证后端返回结构与此处类型一致(或在此处做一层适配)。 */ /** 角色:救护人员端 / 仓管人员端 */ export type HrRole = 'rescuer' | 'keeper' /** 伤情腕带分级:1 危重(红) / 2 重伤(黄) / 3 轻伤(绿) / 4 死亡(黑) */ export type HrLevel = 1 | 2 | 3 | 4 /** 优先级 */ export type HrPriority = 0 | 1 | 2 /* ============================ 用户 ============================ */ export type HrUser = { /** 姓名 */ name : string /** 头像文字 */ avatar : string /** 职称 */ title : string /** 科室 */ dept : string /** 工号(角色由后台按工号识别) */ jobNo : string /** 角色 */ role : HrRole /** 角色中文名 */ roleLabel : string /** 能力标签 */ tags : string[] /** 累计学时 */ hours : number /** 完成课程数 */ courseCount : number /** 有效证书数 */ certCount : number } /* ============================ 培训学习 ============================ */ export type HrTodoTask = { icon : string iconTheme : string title : string sub : string action : string } export type HrActivity = { icon : string iconTheme : string title : string sub : string } export type HrToolBox = { icon : string name : string iconBg : string iconColor : string } /** 课程库一级分类 */ export type HrCatalog = { id : string name : string count : number icon : string iconBg : string iconColor : string } /** 课程库二级分组(仅作分组标题,不可点) */ export type HrGroup = { name : string count : number items : HrSubject[] } /** 课程库三级课题(唯一可点) */ export type HrSubject = { no : string name : string meta : string } /** 学习资料(视频 / 各类文档共用) */ export type HrMaterial = { id : string /** video | doc */ kind : string /** PDF / DOC / PPT / XLS / 视频 */ badge : string badgeColor : string icon : string title : string meta : string /** 资料简介 */ summary : string /** 关联课题 */ from : string /** 学习/观看进度 0~100 */ progress : number } /** 考试记录 */ export type HrExamRecord = { name : string date : string score : number passed : boolean } /** 证书 */ export type HrCert = { name : string gotAt : string expireAt : string status : string statusTheme : string } /** 待考安排 */ export type HrExamPlan = { name : string priority : HrPriority countdown : string time : string place : string } /** 顺序练习信息 */ export type HrPracticeMeta = { subject : string total : number minutes : number goal : string lastTime : string lastDone : number lastRate : number } /** 题目选项 */ export type HrOption = { key : string text : string } /** 题目 */ export type HrQuestion = { id : string stem : string options : HrOption[] /** 正确选项下标 */ answer : number analysis : string /** 所属课题 */ from : string } /* ============================ 检伤 / 伤员 ============================ */ export type HrInjuryMark = { no : string title : string sub : string /** 标记点色:red / amb */ theme : string } export type HrVital = { /** 数值,如 37.8 / 95/60 */ value : string /** 指标名 + 单位,如 T ℃ */ unit : string /** 是否异常(异常高亮为红) */ abnormal : boolean } export type HrTimelineNode = { time : string title : string sub : string /** normal | ok | warn */ theme : string } export type HrVictim = { id : string name : string gender : string age : number code : string level : HrLevel /** 伤情摘要 */ injury : string /** 转运/处置状态文案 */ status : string statusTheme : string createdAt : string } /* ============================ 应急事件 ============================ */ export type HrEventMember = { name : string avatar : string theme : string } export type HrEventItem = { id : string name : string kind : string place : string distance : string priority : HrPriority dotColor : string /**进行中 / 待接收 / 历史 */ stage : string urgent : boolean members : HrEventMember[] } export type HrEventDetail = { id : string name : string sub : string teamKey : string teamValue : string tags : string[] victimTotal : number transferred : number pending : number redCount : number amberCount : number greenCount : number blackCount : number members : HrEventMember[] timeline : HrTimelineNode[] } /* ============================ 仓管 ============================ */ export type HrScanFeedback = { /** ok | warn | err */ theme : string icon : string title : string sub : string } export type HrScanRecord = { name : string time : string delta : string status : string theme : string icon : string } export type HrStockItem = { name : string spec : string value : string valueTheme : string low : boolean icon : string } export type HrGoods = { id : string name : string code : string spec : string stock : number unit : string warnLine : number statusLabel : string out30 : number dailyUse : string lastIn : string lastInQty : string /** 趋势柱高百分比 */ trend : number[] } export type HrDevice = { id : string name : string code : string meta : string status : string theme : string icon : string iconBg : string iconColor : string checkList : HrDeviceCheck[] maintain : HrTimelineNode[] } export type HrDeviceCheck = { title : string sub : string checked : boolean } /* ============================ 消息 / 通讯录 ============================ */ export type HrMsg = { icon : string theme : string title : string sub : string action : string unread : number } export type HrMsgGroup = { title : string count : number danger : boolean items : HrMsg[] } export type HrContact = { name : string duty : string phone : string avatar : string theme : string /** true 用图标,false 用文字头像 */ useAvatar : boolean icon : string } export type HrContactGroup = { title : string items : HrContact[] } /* ============================ 离线队列 ============================ */ export type HrOfflineTask = { icon : string theme : string title : string sub : string status : string statusColor : string } /* ============================ 设置 ============================ */ export type HrSettingSwitch = { title : string sub : string on : boolean } export type HrSettingRow = { title : string sub : string value : string } /* ============================ 设计系统 ============================ */ export type HrSwatch = { label : string color : string hex : string } export type HrTokenRow = { key : string value : string } export type HrDesignSection = { title : string swatches : HrSwatch[] rows : HrTokenRow[] }