381 lines
6.8 KiB
Plaintext
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[]
|
|
}
|