/** 三个列表页:培训记录 / 可归档 / 已归档 */
|
export type RecordListMode = 'main' | 'ready' | 'archived';
|
|
/** 归档状态:open进行中 / pending待归档 / ready可归档 / archived已归档 / invalid无效 */
|
export type ArchiveStatus = 'open' | 'pending' | 'ready' | 'archived' | 'invalid';
|
|
/** 培训记录列表行 */
|
export interface TmsRecordListItem {
|
id: string;
|
recordNo: string;
|
category: string;
|
subject: string;
|
trainerName: string;
|
/** 列表「培训类型」列,如在线学习/集中授课 */
|
trainType: string;
|
startTime: string;
|
endTime?: string;
|
closeTime?: string;
|
evalMode: string;
|
archiveStatus: ArchiveStatus;
|
trainMode?: string;
|
signRate?: number;
|
passRate?: number;
|
placeName?: string;
|
}
|
|
export interface TmsRecordPageQuery {
|
currentPage?: number;
|
pageSize?: number;
|
keyword?: string;
|
recordNo?: string;
|
subject?: string;
|
category?: string;
|
trainMode?: string;
|
evalMode?: string;
|
trainerName?: string;
|
startTimeFrom?: string;
|
startTimeTo?: string;
|
endTimeFrom?: string;
|
endTimeTo?: string;
|
listMode?: RecordListMode;
|
archiveStatus?: ArchiveStatus;
|
}
|
|
/** 附件 */
|
export interface TmsRecordAttachment {
|
id: string;
|
name: string;
|
url?: string;
|
fileId?: string;
|
fileVersionId?: string;
|
fileExt?: string;
|
previewType?: 'image' | 'video' | 'audio' | 'pdf' | 'office' | 'other' | string;
|
}
|
|
/** 参加人员(查看页名单) */
|
export interface TmsRecordParticipant {
|
id: string;
|
userId?: string;
|
userName: string;
|
deptName?: string;
|
/** 签到日期 */
|
signDate?: string;
|
/** 考试成绩 */
|
examScore?: string | number;
|
/** 提问成绩 */
|
quizScore?: string | number;
|
/** 是否已提交提问答卷 */
|
hasQuizAnswer?: boolean;
|
/** 是否合格 pass/fail(兼容历史 1/0) */
|
passFlag?: string;
|
}
|
|
/** 提问答卷 */
|
export interface TmsQuizAnswerPaper {
|
recordId?: string;
|
taskId?: string;
|
userId?: string;
|
userName?: string;
|
totalScore?: number;
|
passFlag?: string;
|
quizTime?: string;
|
items?: Array<{
|
id?: string;
|
sortNo?: number;
|
question?: string;
|
userAnswer?: string;
|
refAnswer?: string;
|
score?: number;
|
correct?: boolean;
|
}>;
|
}
|
|
export interface TmsRecordSignItem {
|
id: string;
|
userName: string;
|
deptName?: string;
|
signTime?: string;
|
signMode?: string;
|
guestFlag?: '0' | '1';
|
}
|
|
export interface TmsRecordDetail extends TmsRecordListItem {
|
taskId?: string;
|
taskNo?: string;
|
/** 任务关闭时间 */
|
closeTime?: string;
|
/** 培训要点 */
|
keyPoints?: string;
|
/** 培训地点 */
|
placeName?: string;
|
/** 培训对象(逗号分隔姓名) */
|
trainees?: string;
|
remark?: string;
|
attachments?: TmsRecordAttachment[];
|
/** 参加人员名单 */
|
participants?: TmsRecordParticipant[];
|
signList?: TmsRecordSignItem[];
|
/** scan=仅扫码 / both=扫码+在线 */
|
signRule?: string;
|
canScanSign?: boolean;
|
}
|
|
export interface TmsRecordSignQrMode {
|
modeCode: string;
|
modeName: string;
|
}
|
|
export interface TmsRecordSignQr {
|
recordId: string;
|
taskId?: string;
|
subject?: string;
|
canScanSign?: boolean;
|
signRule?: string;
|
tip?: string;
|
modes?: TmsRecordSignQrMode[];
|
qrContent?: string;
|
expireAt?: string;
|
}
|
|
/** 培训记录实时进度 */
|
export interface TmsRecordProgress {
|
recordId?: string;
|
taskId?: string;
|
totalCount?: number;
|
signedCount?: number;
|
passedCount?: number;
|
incompleteCount?: number;
|
signRate?: number;
|
passRate?: number;
|
incompleteRate?: number;
|
evalMode?: string;
|
}
|
|
/** 未完成人员行 */
|
export interface TmsRecordIncomplete {
|
personTaskId?: string;
|
userId?: string;
|
userName?: string;
|
deptId?: string;
|
deptName?: string;
|
bizStatus?: string;
|
signTime?: string;
|
examScore?: number | string;
|
passFlag?: string;
|
reason?: string;
|
}
|