Files
2026-09-24 16:25:22 +08:00

381 lines
6.8 KiB
Plaintext

/**
* 医院救援管理平台 · 移动端 数据模型定义
* ------------------------------------------------------------
* 说明:本文件只放类型定义,不放数据。
* 后续对接接口时,仅需保证后端返回结构与此处类型一致(或在此处做一层适配)。
*/
/** 角色:救护人员端 / 仓管人员端 */
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[]
}