|
@@ -0,0 +1,479 @@
|
|
|
|
|
+/**
|
|
|
|
|
+ * 安全教育考试系统 - 模拟数据
|
|
|
|
|
+ * 包含6个角色的完整数据定义
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+// 分级学时配置(可由管理员修改)
|
|
|
|
|
+// firstYear: 准入学时要求(第一年), annual: 第二年往后每年学时要求
|
|
|
|
|
+var levelHoursConfig = {
|
|
|
|
|
+ 'Ⅰ': { firstYear: 24, annual: 8 },
|
|
|
|
|
+ 'Ⅱ': { firstYear: 16, annual: 4 },
|
|
|
|
|
+ 'Ⅲ': { firstYear: 8, annual: 2 },
|
|
|
|
|
+ 'Ⅳ': { firstYear: 4, annual: 0 }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 实验室数据
|
|
|
|
|
+var labList = [
|
|
|
|
|
+ { id: 'lab001', name: '有机化学实验室', room: 'A301', building: '理学楼A栋3层', college: '化学与化工学院', director: '张**', level: 'Ⅱ', category: '化学类', type: '教学实验室' },
|
|
|
|
|
+ { id: 'lab002', name: '分子生物学实验室', room: 'B205', building: '生命科学楼B栋2层', college: '生命科学学院', director: '李**', level: 'Ⅰ', category: '生物类', type: '科研实验室' },
|
|
|
|
|
+ { id: 'lab003', name: '电气工程实验室', room: 'C102', building: '工学楼C栋1层', college: '电气工程学院', director: '王**', level: 'Ⅲ', category: '机电类', type: '教学实验室' },
|
|
|
|
|
+ { id: 'lab004', name: '辐射防护实验室', room: 'D401', building: '物理楼D栋4层', college: '物理学院', director: '赵**', level: 'Ⅰ', category: '辐射类', type: '科研实验室' },
|
|
|
|
|
+ { id: 'lab005', name: '材料力学实验室', room: 'E203', building: '材料楼E栋2层', college: '材料科学学院', director: '刘**', level: 'Ⅳ', category: '机电类', type: '教学实验室' },
|
|
|
|
|
+ { id: 'lab006', name: '无机化学实验室', room: 'A205', building: '理学楼A栋2层', college: '化学与化工学院', director: '陈**', level: 'Ⅲ', category: '化学类', type: '教学实验室' },
|
|
|
|
|
+ { id: 'lab007', name: '微生物学实验室', room: 'B308', building: '生命科学楼B栋3层', college: '生命科学学院', director: '孙**', level: 'Ⅱ', category: '生物类', type: '科研实验室' },
|
|
|
|
|
+ { id: 'lab008', name: '高分子化学实验室', room: 'A402', building: '理学楼A栋4层', college: '化学与化工学院', director: '周**', level: 'Ⅱ', category: '化学类', type: '科研实验室' },
|
|
|
|
|
+ { id: 'lab009', name: '基础物理实验室', room: 'D102', building: '物理楼D栋1层', college: '物理学院', director: '吴**', level: 'Ⅳ', category: '基础类', type: '教学实验室' },
|
|
|
|
|
+ { id: 'lab010', name: '智能控制实验室', room: 'C305', building: '工学楼C栋3层', college: '自动化学院', director: '郑**', level: 'Ⅲ', category: '机电类', type: '科研实验室' }
|
|
|
|
|
+];
|
|
|
|
|
+
|
|
|
|
|
+// 角色数据定义
|
|
|
|
|
+var roleProfiles = {
|
|
|
|
|
+ newGraduate: {
|
|
|
|
|
+ name: '刘子衡', code: '2025100001', type: '硕士研究生', org: '资源环境学院',
|
|
|
|
|
+ term: '2025-2026 学年', isFirstYear: true,
|
|
|
|
|
+ bindingStatus: 'unbound',
|
|
|
|
|
+ lab: null,
|
|
|
|
|
+ requiredHours: 0, completedHours: 0,
|
|
|
|
|
+ examType: '分级考试', examStatus: '待绑定后确认',
|
|
|
|
|
+ examUnlocked: false, examScore: null, certificateStatus: '未生成',
|
|
|
|
|
+ yearlyRecords: [
|
|
|
|
|
+ { year: '2025-2026', score: '—', status: '待启动' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ tasks: [
|
|
|
|
|
+ { title: '绑定实验室', note: '当前未提交', status: 'pending' },
|
|
|
|
|
+ { title: '完成准入学时', note: '待绑定后确定学时要求', status: 'locked' },
|
|
|
|
|
+ { title: '通过分级考试', note: '完成学时后解锁', status: 'locked' },
|
|
|
|
|
+ { title: '获取准入证书', note: '通过考试后生成', status: 'locked' },
|
|
|
|
|
+ { title: '实验室安全准入培训', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '新生安全教育第一课', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '危化品识别与存储规范', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '实验室应急疏散演练', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '科研诚信与学术规范', note: '学院下发 · 待开始', status: 'pending' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resources: [
|
|
|
|
|
+ { title: '待绑定实验室后推荐分级资源', desc: '绑定实验室后将根据分类推荐对应学习资料' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resourceType: 'lab-bindable',
|
|
|
|
|
+ practice: { done: 46, total: 200, correctRate: '81%' },
|
|
|
|
|
+ showBindModal: true
|
|
|
|
|
+ },
|
|
|
|
|
+ graduateSenior: {
|
|
|
|
|
+ name: '李思涵', code: '2023100042', type: '硕士研究生', org: '生命科学学院',
|
|
|
|
|
+ term: '2025-2026 学年', isFirstYear: false,
|
|
|
|
|
+ bindingStatus: 'approved',
|
|
|
|
|
+ lab: { id: 'lab002', name: '分子生物学实验室', room: 'B205', building: '生命科学楼B栋2层', college: '生命科学学院', director: '李**', level: 'Ⅰ', category: '生物类', type: '科研实验室' },
|
|
|
|
|
+ requiredHours: 8, completedHours: 6,
|
|
|
|
|
+ examType: '应知应会考试', examStatus: '未开始',
|
|
|
|
|
+ examUnlocked: false, examScore: null, certificateStatus: '未获得',
|
|
|
|
|
+ yearlyRecords: [
|
|
|
|
|
+ { year: '2025-2026', score: '—', status: '进行中' },
|
|
|
|
|
+ { year: '2024-2025', score: '88', status: '通过' },
|
|
|
|
|
+ { year: '2023-2024', score: '92', status: '通过' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ tasks: [
|
|
|
|
|
+ { title: '完成年度安全学时', note: '6 / 8 学时', status: 'in-progress' },
|
|
|
|
|
+ { title: '通过应知应会考试', note: '完成学时后解锁', status: 'locked' },
|
|
|
|
|
+ { title: '更新准入证书', note: '通过考试后更新', status: 'locked' },
|
|
|
|
|
+ { title: '生物安全年度复训', note: '学院下发 · 待完成', status: 'pending' },
|
|
|
|
|
+ { title: '实验室危废处理规范学习', note: '学院下发 · 已完成', status: 'in-progress' },
|
|
|
|
|
+ { title: '高致病性微生物操作培训', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '实验动物伦理规范学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '生物样本运输安全培训', note: '学院下发 · 待开始', status: 'pending' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resources: [
|
|
|
|
|
+ { title: '生物安全实验室管理规范', desc: '根据绑定实验室(生物类)推荐' },
|
|
|
|
|
+ { title: '微生物操作安全指南', desc: '生物类必修资料' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resourceType: 'lab-bindable',
|
|
|
|
|
+ practice: { done: 156, total: 200, correctRate: '89%' },
|
|
|
|
|
+ showBindModal: false
|
|
|
|
|
+ },
|
|
|
|
|
+ newUndergraduate: {
|
|
|
|
|
+ name: '王小雨', code: '2025200156', type: '本科生', org: '电气工程学院',
|
|
|
|
|
+ term: '2025-2026 学年', isFirstYear: true,
|
|
|
|
|
+ bindingStatus: 'none', lab: null,
|
|
|
|
|
+ requiredHours: 4, completedHours: 2,
|
|
|
|
|
+ examType: '新生入学考试', examStatus: '未开始',
|
|
|
|
|
+ examUnlocked: false, examScore: null, certificateStatus: '未获得',
|
|
|
|
|
+ yearlyRecords: [
|
|
|
|
|
+ { year: '2025-2026', score: '—', status: '待启动' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ tasks: [
|
|
|
|
|
+ { title: '完成安全通识学习', note: '2 / 4 学时', status: 'in-progress' },
|
|
|
|
|
+ { title: '通过新生入学考试', note: '完成学时后解锁', status: 'locked' },
|
|
|
|
|
+ { title: '新生安全教育第一课', note: '学院下发 · 已完成', status: 'in-progress' },
|
|
|
|
|
+ { title: '消防安全知识学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '电气安全基础培训', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '实验室准入制度学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '个人防护装备使用培训', note: '学院下发 · 待开始', status: 'pending' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resources: [
|
|
|
|
|
+ { title: '实验室通用安全规范', desc: '应知应会通识资料' },
|
|
|
|
|
+ { title: '消防安全知识手册', desc: '基础安全必修' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resourceType: 'general',
|
|
|
|
|
+ practice: { done: 45, total: 100, correctRate: '76%' },
|
|
|
|
|
+ showBindModal: false
|
|
|
|
|
+ },
|
|
|
|
|
+ undergraduateSenior: {
|
|
|
|
|
+ name: '刘佳琪', code: '2022200089', type: '本科生', org: '材料科学学院',
|
|
|
|
|
+ term: '2025-2026 学年', isFirstYear: false,
|
|
|
|
|
+ bindingStatus: 'none', lab: null,
|
|
|
|
|
+ requiredHours: 0, completedHours: 0,
|
|
|
|
|
+ examType: '应知应会考试', examStatus: '未开始',
|
|
|
|
|
+ examUnlocked: true, examScore: null, certificateStatus: '未获得',
|
|
|
|
|
+ yearlyRecords: [
|
|
|
|
|
+ { year: '2025-2026', score: '—', status: '待启动' },
|
|
|
|
|
+ { year: '2024-2025', score: '92', status: '通过' },
|
|
|
|
|
+ { year: '2023-2024', score: '85', status: '通过' },
|
|
|
|
|
+ { year: '2022-2023', score: '78', status: '通过' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ tasks: [
|
|
|
|
|
+ { title: '通过年度应知应会考试', note: '可直接参加', status: 'pending' },
|
|
|
|
|
+ { title: '实验室安全年度复训', note: '学院下发 · 待完成', status: 'pending' },
|
|
|
|
|
+ { title: '科研伦理知识学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '材料安全数据表(MSDS)学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '实验室废弃物分类培训', note: '学院下发 · 待开始', status: 'pending' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resources: [
|
|
|
|
|
+ { title: '实验室通用安全规范', desc: '应知应会通识资料' },
|
|
|
|
|
+ { title: '个人防护装备使用', desc: '基础安全资料' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resourceType: 'general',
|
|
|
|
|
+ practice: { done: 180, total: 200, correctRate: '93%' },
|
|
|
|
|
+ showBindModal: false
|
|
|
|
|
+ },
|
|
|
|
|
+ newStaff: {
|
|
|
|
|
+ name: '陈建国', code: 'T2025001', type: '教职工', org: '物理学院',
|
|
|
|
|
+ term: '2025-2026 学年', isFirstYear: true,
|
|
|
|
|
+ bindingStatus: 'none', lab: null,
|
|
|
|
|
+ requiredHours: 4, completedHours: 1,
|
|
|
|
|
+ examType: '应知应会考试', examStatus: '未开始',
|
|
|
|
|
+ examUnlocked: false, examScore: null, certificateStatus: '未获得',
|
|
|
|
|
+ yearlyRecords: [
|
|
|
|
|
+ { year: '2025-2026', score: '—', status: '待启动' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ tasks: [
|
|
|
|
|
+ { title: '完成安全通识学习', note: '1 / 4 学时', status: 'in-progress' },
|
|
|
|
|
+ { title: '通过应知应会考试', note: '完成学时后解锁', status: 'locked' },
|
|
|
|
|
+ { title: '新入职安全培训', note: '人事处下发 · 待完成', status: 'pending' },
|
|
|
|
|
+ { title: '实验室管理制度学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '辐射安全基础知识', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '实验室安全责任制度', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '危险源辨识与管控', note: '人事处下发 · 待开始', status: 'pending' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resources: [
|
|
|
|
|
+ { title: '实验室通用安全规范', desc: '应知应会通识资料' },
|
|
|
|
|
+ { title: '消防安全知识手册', desc: '基础安全必修' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resourceType: 'general',
|
|
|
|
|
+ practice: { done: 20, total: 100, correctRate: '70%' },
|
|
|
|
|
+ showBindModal: false
|
|
|
|
|
+ },
|
|
|
|
|
+ existingStaff: {
|
|
|
|
|
+ name: '赵丽华', code: 'T2018056', type: '教职工', org: '化学与化工学院',
|
|
|
|
|
+ term: '2025-2026 学年', isFirstYear: false,
|
|
|
|
|
+ bindingStatus: 'none', lab: null,
|
|
|
|
|
+ requiredHours: 0, completedHours: 0,
|
|
|
|
|
+ examType: '应知应会考试', examStatus: '未开始',
|
|
|
|
|
+ examUnlocked: true, examScore: null, certificateStatus: '未获得',
|
|
|
|
|
+ yearlyRecords: [
|
|
|
|
|
+ { year: '2025-2026', score: '—', status: '待启动' },
|
|
|
|
|
+ { year: '2024-2025', score: '95', status: '通过' },
|
|
|
|
|
+ { year: '2023-2024', score: '93', status: '通过' },
|
|
|
|
|
+ { year: '2022-2023', score: '90', status: '通过' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ tasks: [
|
|
|
|
|
+ { title: '通过年度应知应会考试', note: '可直接参加', status: 'pending' },
|
|
|
|
|
+ { title: '危化品管理年度复训', note: '学院下发 · 待完成', status: 'pending' },
|
|
|
|
|
+ { title: '实验室安全责任书签署', note: '学院下发 · 待签署', status: 'pending' },
|
|
|
|
|
+ { title: '化学废弃物处理规范复训', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '实验室安全检查制度学习', note: '学院下发 · 待开始', status: 'pending' },
|
|
|
|
|
+ { title: '应急预案年度更新培训', note: '学院下发 · 待开始', status: 'pending' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resources: [
|
|
|
|
|
+ { title: '危险化学品管理规范', desc: '根据所属学院推荐' },
|
|
|
|
|
+ { title: '化学废弃物处理指南', desc: '化学类相关资料' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ resourceType: 'general',
|
|
|
|
|
+ practice: { done: 195, total: 200, correctRate: '96%' },
|
|
|
|
|
+ showBindModal: false
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 角色按钮配置
|
|
|
|
|
+var roleButtons = [
|
|
|
|
|
+ { key: 'newGraduate', label: '新入学研究生' },
|
|
|
|
|
+ { key: 'graduateSenior', label: '研二三' },
|
|
|
|
|
+ { key: 'newUndergraduate', label: '新入学本科生' },
|
|
|
|
|
+ { key: 'undergraduateSenior', label: '本科二三四' },
|
|
|
|
|
+ { key: 'newStaff', label: '新入职教职工' },
|
|
|
|
|
+ { key: 'existingStaff', label: '存量教职工' }
|
|
|
|
|
+];
|
|
|
|
|
+
|
|
|
|
|
+// 安全素养资源数据
|
|
|
|
|
+var resourceTabs = ['化学类', '生物类', '辐射类', '机电类', '基础类', '安全操作及应急处置', '科研伦理安全'];
|
|
|
|
|
+
|
|
|
|
|
+var resourceData = {
|
|
|
|
|
+ '化学类': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '化学实验室安全手册', type: 'PDF', pages: 45, duration: '45分钟', status: 'new' },
|
|
|
|
|
+ { title: '危险化学品管理规范', type: 'PDF', pages: 32, duration: '30分钟', status: 'new' },
|
|
|
|
|
+ { title: '化学废弃物处理指南', type: 'PDF', pages: 28, duration: '25分钟', status: 'new' },
|
|
|
|
|
+ { title: '有机溶剂安全使用', type: 'PPT', pages: 60, duration: '50分钟', status: 'new' },
|
|
|
|
|
+ { title: '实验室通风系统操作', type: 'PDF', pages: 18, duration: '20分钟', status: 'new' },
|
|
|
|
|
+ { title: '强酸强碱安全防护', type: 'PDF', pages: 22, duration: '20分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 320,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '基础知识', count: 120 },
|
|
|
|
|
+ { name: '操作规范', count: 110 },
|
|
|
|
|
+ { name: '应急处理', count: 90 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ '生物类': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '生物安全实验室管理规范', type: 'PDF', pages: 38, duration: '35分钟', status: 'new' },
|
|
|
|
|
+ { title: '微生物操作安全指南', type: 'PDF', pages: 25, duration: '25分钟', status: 'new' },
|
|
|
|
|
+ { title: '生物样本储存规范', type: 'PPT', pages: 42, duration: '40分钟', status: 'new' },
|
|
|
|
|
+ { title: '高压灭菌器操作规程', type: 'PDF', pages: 15, duration: '15分钟', status: 'new' },
|
|
|
|
|
+ { title: '生物安全柜使用指南', type: 'PDF', pages: 20, duration: '20分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 280,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '基础知识', count: 100 },
|
|
|
|
|
+ { name: '操作规范', count: 100 },
|
|
|
|
|
+ { name: '应急处理', count: 80 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ '辐射类': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '辐射防护基础知识', type: 'PDF', pages: 50, duration: '50分钟', status: 'new' },
|
|
|
|
|
+ { title: '放射性同位素安全操作', type: 'PDF', pages: 35, duration: '35分钟', status: 'new' },
|
|
|
|
|
+ { title: '辐射监测与防护设备', type: 'PPT', pages: 48, duration: '45分钟', status: 'new' },
|
|
|
|
|
+ { title: '辐射事故应急处理', type: 'PDF', pages: 30, duration: '30分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 200,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '基础知识', count: 80 },
|
|
|
|
|
+ { name: '防护措施', count: 70 },
|
|
|
|
|
+ { name: '应急处理', count: 50 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ '机电类': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '机电设备安全操作规程', type: 'PDF', pages: 40, duration: '40分钟', status: 'new' },
|
|
|
|
|
+ { title: '电气安全基础知识', type: 'PDF', pages: 30, duration: '30分钟', status: 'new' },
|
|
|
|
|
+ { title: '机械加工安全防护', type: 'PPT', pages: 55, duration: '50分钟', status: 'new' },
|
|
|
|
|
+ { title: '特种设备安全管理', type: 'PDF', pages: 28, duration: '25分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 260,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '基础知识', count: 90 },
|
|
|
|
|
+ { name: '操作规范', count: 100 },
|
|
|
|
|
+ { name: '应急处理', count: 70 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ '基础类': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '实验室通用安全规范', type: 'PDF', pages: 35, duration: '35分钟', status: 'new' },
|
|
|
|
|
+ { title: '消防安全知识手册', type: 'PDF', pages: 28, duration: '25分钟', status: 'new' },
|
|
|
|
|
+ { title: '实验室准入制度说明', type: 'PPT', pages: 30, duration: '30分钟', status: 'new' },
|
|
|
|
|
+ { title: '个人防护装备使用', type: 'PDF', pages: 20, duration: '20分钟', status: 'new' },
|
|
|
|
|
+ { title: '实验室安全标识识别', type: 'PDF', pages: 16, duration: '15分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 350,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '通用安全', count: 130 },
|
|
|
|
|
+ { name: '消防知识', count: 120 },
|
|
|
|
|
+ { name: '准入制度', count: 100 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ '安全操作及应急处置': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '实验室应急预案汇编', type: 'PDF', pages: 60, duration: '55分钟', status: 'new' },
|
|
|
|
|
+ { title: '常见事故应急处理流程', type: 'PDF', pages: 42, duration: '40分钟', status: 'new' },
|
|
|
|
|
+ { title: '急救知识与技能', type: 'PPT', pages: 38, duration: '35分钟', status: 'new' },
|
|
|
|
|
+ { title: '化学品泄漏处置方案', type: 'PDF', pages: 25, duration: '25分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 180,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '应急预案', count: 60 },
|
|
|
|
|
+ { name: '急救技能', count: 65 },
|
|
|
|
|
+ { name: '事故处理', count: 55 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ '科研伦理安全': {
|
|
|
|
|
+ docs: [
|
|
|
|
|
+ { title: '科研伦理基本准则', type: 'PDF', pages: 30, duration: '30分钟', status: 'new' },
|
|
|
|
|
+ { title: '实验动物伦理规范', type: 'PDF', pages: 25, duration: '25分钟', status: 'new' },
|
|
|
|
|
+ { title: '学术诚信与数据安全', type: 'PPT', pages: 35, duration: '35分钟', status: 'new' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ questions: {
|
|
|
|
|
+ total: 150,
|
|
|
|
|
+ categories: [
|
|
|
|
|
+ { name: '伦理准则', count: 55 },
|
|
|
|
|
+ { name: '动物实验', count: 50 },
|
|
|
|
|
+ { name: '数据安全', count: 45 }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 视频资源数据
|
|
|
|
|
+var videoTabs = ['化学类', '生物类', '辐射类', '机电类', '其他类'];
|
|
|
|
|
+
|
|
|
|
|
+var videoData = {
|
|
|
|
|
+ '化学类': [
|
|
|
|
|
+ { id: 'v01', title: '化学实验室安全操作规范', duration: '15:30', cover: '', views: 1250 },
|
|
|
|
|
+ { id: 'v02', title: '危险化学品存储与管理', duration: '12:45', cover: '', views: 980 },
|
|
|
|
|
+ { id: 'v03', title: '化学品泄漏应急处理', duration: '08:20', cover: '', views: 1560 },
|
|
|
|
|
+ { id: 'v04', title: '通风橱正确使用方法', duration: '06:15', cover: '', views: 2100 },
|
|
|
|
|
+ { id: 'v05', title: '有机溶剂安全使用指南', duration: '10:40', cover: '', views: 870 },
|
|
|
|
|
+ { id: 'v06', title: '化学废液处理流程', duration: '09:55', cover: '', views: 1340 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ '生物类': [
|
|
|
|
|
+ { id: 'v07', title: '生物安全柜操作规范', duration: '11:20', cover: '', views: 1100 },
|
|
|
|
|
+ { id: 'v08', title: '微生物实验安全防护', duration: '14:30', cover: '', views: 890 },
|
|
|
|
|
+ { id: 'v09', title: '生物样本运输规范', duration: '07:45', cover: '', views: 650 },
|
|
|
|
|
+ { id: 'v10', title: '高压灭菌器使用教程', duration: '09:10', cover: '', views: 1420 },
|
|
|
|
|
+ { id: 'v11', title: '生物废弃物处理', duration: '08:30', cover: '', views: 760 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ '辐射类': [
|
|
|
|
|
+ { id: 'v12', title: '辐射防护基本原则', duration: '13:20', cover: '', views: 920 },
|
|
|
|
|
+ { id: 'v13', title: '个人剂量监测方法', duration: '10:15', cover: '', views: 680 },
|
|
|
|
|
+ { id: 'v14', title: '放射源安全管理', duration: '16:40', cover: '', views: 540 },
|
|
|
|
|
+ { id: 'v15', title: 'X射线设备安全操作', duration: '11:50', cover: '', views: 730 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ '机电类': [
|
|
|
|
|
+ { id: 'v16', title: '机床安全操作规程', duration: '12:30', cover: '', views: 1050 },
|
|
|
|
|
+ { id: 'v17', title: '电气安全与触电急救', duration: '14:20', cover: '', views: 1680 },
|
|
|
|
|
+ { id: 'v18', title: '起重设备安全使用', duration: '09:45', cover: '', views: 580 },
|
|
|
|
|
+ { id: 'v19', title: '焊接作业安全防护', duration: '11:10', cover: '', views: 720 },
|
|
|
|
|
+ { id: 'v20', title: '压力容器安全知识', duration: '13:55', cover: '', views: 490 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ '其他类': [
|
|
|
|
|
+ { id: 'v21', title: '实验室消防安全', duration: '10:30', cover: '', views: 2350 },
|
|
|
|
|
+ { id: 'v22', title: '实验室急救基础', duration: '15:20', cover: '', views: 1890 },
|
|
|
|
|
+ { id: 'v23', title: '个人防护装备使用', duration: '08:40', cover: '', views: 1560 },
|
|
|
|
|
+ { id: 'v24', title: '实验室废弃物分类', duration: '07:25', cover: '', views: 1120 }
|
|
|
|
|
+ ]
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+// 侧边栏菜单
|
|
|
|
|
+var menuItems = [
|
|
|
|
|
+ { key: 'workbench', icon: 'el-icon-s-platform', label: '工作台' },
|
|
|
|
|
+ { key: 'statistics', icon: 'el-icon-s-data', label: '数据统计' },
|
|
|
|
|
+ { key: 'config', icon: 'el-icon-setting', label: '系统配置' }
|
|
|
|
|
+];
|
|
|
|
|
+
|
|
|
|
|
+// 数据统计 - Mock数据
|
|
|
|
|
+var statisticsData = {
|
|
|
|
|
+ colleges: ['化学与化工学院', '生命科学学院', '物理学院', '电气工程学院', '材料科学学院', '机械工程学院', '自动化学院', '资源环境学院'],
|
|
|
|
|
+ // 研究生考试情况(区分新生分级考试 + 老生应知应会)
|
|
|
|
|
+ graduateExamDetail: [
|
|
|
|
|
+ { college: '化学与化工学院', newTotal: 45, newPassed: 38, newFailed: 4, newAbsent: 3, seniorTotal: 75, seniorPassed: 68, seniorFailed: 4, seniorAbsent: 3 },
|
|
|
|
|
+ { college: '生命科学学院', newTotal: 35, newPassed: 30, newFailed: 3, newAbsent: 2, seniorTotal: 60, seniorPassed: 54, seniorFailed: 4, seniorAbsent: 2 },
|
|
|
|
|
+ { college: '物理学院', newTotal: 28, newPassed: 23, newFailed: 3, newAbsent: 2, seniorTotal: 50, seniorPassed: 44, seniorFailed: 3, seniorAbsent: 3 },
|
|
|
|
|
+ { college: '电气工程学院', newTotal: 40, newPassed: 35, newFailed: 3, newAbsent: 2, seniorTotal: 70, seniorPassed: 63, seniorFailed: 4, seniorAbsent: 3 },
|
|
|
|
|
+ { college: '材料科学学院', newTotal: 32, newPassed: 28, newFailed: 2, newAbsent: 2, seniorTotal: 56, seniorPassed: 50, seniorFailed: 3, seniorAbsent: 3 },
|
|
|
|
|
+ { college: '机械工程学院', newTotal: 25, newPassed: 21, newFailed: 2, newAbsent: 2, seniorTotal: 47, seniorPassed: 42, seniorFailed: 3, seniorAbsent: 2 },
|
|
|
|
|
+ { college: '自动化学院', newTotal: 22, newPassed: 20, newFailed: 1, newAbsent: 1, seniorTotal: 43, seniorPassed: 39, seniorFailed: 2, seniorAbsent: 2 },
|
|
|
|
|
+ { college: '资源环境学院', newTotal: 20, newPassed: 17, newFailed: 2, newAbsent: 1, seniorTotal: 36, seniorPassed: 32, seniorFailed: 2, seniorAbsent: 2 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 实验室各学院分级人数
|
|
|
|
|
+ labCollegeStats: [
|
|
|
|
|
+ { college: '化学与化工学院', level1: 18, level2: 45, level3: 62, level4: 25 },
|
|
|
|
|
+ { college: '生命科学学院', level1: 32, level2: 38, level3: 48, level4: 20 },
|
|
|
|
|
+ { college: '物理学院', level1: 25, level2: 30, level3: 42, level4: 18 },
|
|
|
|
|
+ { college: '电气工程学院', level1: 15, level2: 42, level3: 58, level4: 30 },
|
|
|
|
|
+ { college: '材料科学学院', level1: 20, level2: 35, level3: 50, level4: 22 },
|
|
|
|
|
+ { college: '机械工程学院', level1: 12, level2: 38, level3: 55, level4: 28 },
|
|
|
|
|
+ { college: '自动化学院', level1: 18, level2: 32, level3: 45, level4: 20 },
|
|
|
|
|
+ { college: '资源环境学院', level1: 16, level2: 28, level3: 40, level4: 18 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 本科生考试情况(区分新生入学考试 + 应知应会考试)
|
|
|
|
|
+ undergraduateExam: [
|
|
|
|
|
+ { college: '化学与化工学院', freshTotal: 80, freshPassed: 72, freshFailed: 5, freshAbsent: 3, seniorTotal: 200, seniorPassed: 185, seniorFailed: 8, seniorAbsent: 7 },
|
|
|
|
|
+ { college: '生命科学学院', freshTotal: 65, freshPassed: 60, freshFailed: 3, freshAbsent: 2, seniorTotal: 155, seniorPassed: 142, seniorFailed: 7, seniorAbsent: 6 },
|
|
|
|
|
+ { college: '物理学院', freshTotal: 55, freshPassed: 48, freshFailed: 4, freshAbsent: 3, seniorTotal: 140, seniorPassed: 128, seniorFailed: 7, seniorAbsent: 5 },
|
|
|
|
|
+ { college: '电气工程学院', freshTotal: 90, freshPassed: 82, freshFailed: 5, freshAbsent: 3, seniorTotal: 220, seniorPassed: 200, seniorFailed: 12, seniorAbsent: 8 },
|
|
|
|
|
+ { college: '材料科学学院', freshTotal: 50, freshPassed: 45, freshFailed: 3, freshAbsent: 2, seniorTotal: 130, seniorPassed: 118, seniorFailed: 7, seniorAbsent: 5 },
|
|
|
|
|
+ { college: '机械工程学院', freshTotal: 70, freshPassed: 63, freshFailed: 4, freshAbsent: 3, seniorTotal: 170, seniorPassed: 152, seniorFailed: 10, seniorAbsent: 8 },
|
|
|
|
|
+ { college: '自动化学院', freshTotal: 48, freshPassed: 44, freshFailed: 2, freshAbsent: 2, seniorTotal: 117, seniorPassed: 106, seniorFailed: 6, seniorAbsent: 5 },
|
|
|
|
|
+ { college: '资源环境学院', freshTotal: 42, freshPassed: 38, freshFailed: 2, freshAbsent: 2, seniorTotal: 103, seniorPassed: 95, seniorFailed: 4, seniorAbsent: 4 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 实验室分级人数
|
|
|
|
|
+ labLevelStats: [
|
|
|
|
|
+ { level: 'Ⅰ级(重大风险)', count: 156, color: '#e84d5b' },
|
|
|
|
|
+ { level: 'Ⅱ级(高风险)', count: 342, color: '#ff8c00' },
|
|
|
|
|
+ { level: 'Ⅲ级(中风险)', count: 528, color: '#ffb020' },
|
|
|
|
|
+ { level: 'Ⅳ级(低风险)', count: 215, color: '#5b95f7' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 实验室绑定学生名单(示例)
|
|
|
|
|
+ labStudents: [
|
|
|
|
|
+ { name: '张明远', code: '2025100001', college: '化学与化工学院', lab: '有机化学实验室(A301)', level: 'Ⅱ' },
|
|
|
|
|
+ { name: '李思涵', code: '2023100042', college: '生命科学学院', lab: '分子生物学实验室(B205)', level: 'Ⅰ' },
|
|
|
|
|
+ { name: '王浩然', code: '2024100088', college: '物理学院', lab: '辐射防护实验室(D401)', level: 'Ⅰ' },
|
|
|
|
|
+ { name: '赵雨晴', code: '2025100023', college: '电气工程学院', lab: '电气工程实验室(C102)', level: 'Ⅲ' },
|
|
|
|
|
+ { name: '陈志强', code: '2024100056', college: '材料科学学院', lab: '材料力学实验室(E203)', level: 'Ⅳ' },
|
|
|
|
|
+ { name: '刘芳华', code: '2025100078', college: '化学与化工学院', lab: '高分子化学实验室(A402)', level: 'Ⅱ' },
|
|
|
|
|
+ { name: '孙晓明', code: '2023100091', college: '生命科学学院', lab: '微生物学实验室(B308)', level: 'Ⅱ' },
|
|
|
|
|
+ { name: '周文博', code: '2025100034', college: '自动化学院', lab: '智能控制实验室(C305)', level: 'Ⅲ' },
|
|
|
|
|
+ { name: '吴佳琪', code: '2024100067', college: '化学与化工学院', lab: '无机化学实验室(A205)', level: 'Ⅲ' },
|
|
|
|
|
+ { name: '郑天宇', code: '2025100045', college: '物理学院', lab: '基础物理实验室(D102)', level: 'Ⅳ' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 应知应会学习时长(各学院平均)
|
|
|
|
|
+ studyHours: [
|
|
|
|
|
+ { college: '化学与化工学院', avgHours: 6.8 },
|
|
|
|
|
+ { college: '生命科学学院', avgHours: 5.9 },
|
|
|
|
|
+ { college: '物理学院', avgHours: 5.2 },
|
|
|
|
|
+ { college: '电气工程学院', avgHours: 6.1 },
|
|
|
|
|
+ { college: '材料科学学院', avgHours: 5.5 },
|
|
|
|
|
+ { college: '机械工程学院', avgHours: 4.8 },
|
|
|
|
|
+ { college: '自动化学院', avgHours: 5.3 },
|
|
|
|
|
+ { college: '资源环境学院', avgHours: 6.4 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 学院个人学习时长明细(含每年学时)
|
|
|
|
|
+ studyDetail: [
|
|
|
|
|
+ { name: '赵丽华', code: 'T2018056', college: '化学与化工学院', type: '教职工', grade: '2018级', y1: 4.0, y2: 2.5, y3: 1.8, y4: 0, totalHours: 8.3 },
|
|
|
|
|
+ { name: '刘佳琪', code: '2022200089', college: '材料科学学院', type: '本科生', grade: '2022级', y1: 4.0, y2: 1.2, y3: 0.8, y4: 0, totalHours: 6.0 },
|
|
|
|
|
+ { name: '王建军', code: 'T2020012', college: '物理学院', type: '教职工', grade: '2020级', y1: 4.0, y2: 1.5, y3: 0, y4: 0, totalHours: 5.5 },
|
|
|
|
|
+ { name: '陈小红', code: '2021200134', college: '生命科学学院', type: '本科生', grade: '2021级', y1: 4.0, y2: 1.8, y3: 1.5, y4: 0.8, totalHours: 8.1 },
|
|
|
|
|
+ { name: '张伟', code: 'T2019033', college: '电气工程学院', type: '教职工', grade: '2019级', y1: 4.0, y2: 2.0, y3: 1.2, y4: 0, totalHours: 7.2 },
|
|
|
|
|
+ { name: '李明', code: '2022200201', college: '机械工程学院', type: '本科生', grade: '2022级', y1: 4.0, y2: 0.8, y3: 0, y4: 0, totalHours: 4.8 },
|
|
|
|
|
+ { name: '周芳', code: 'T2017045', college: '化学与化工学院', type: '教职工', grade: '2017级', y1: 4.0, y2: 2.2, y3: 1.8, y4: 1.5, totalHours: 9.5 },
|
|
|
|
|
+ { name: '吴强', code: '2021200089', college: '自动化学院', type: '本科生', grade: '2021级', y1: 4.0, y2: 1.5, y3: 1.2, y4: 0.5, totalHours: 7.2 },
|
|
|
|
|
+ { name: '李思涵', code: '2023100042', college: '生命科学学院', type: '研究生', grade: '2023级', y1: 24.0, y2: 8.0, y3: 0, y4: 0, totalHours: 32.0 },
|
|
|
|
|
+ { name: '张明远', code: '2025100001', college: '化学与化工学院', type: '研究生', grade: '2025级', y1: 16.0, y2: 0, y3: 0, y4: 0, totalHours: 16.0 },
|
|
|
|
|
+ { name: '王浩然', code: '2024100088', college: '物理学院', type: '研究生', grade: '2024级', y1: 24.0, y2: 6.0, y3: 0, y4: 0, totalHours: 30.0 },
|
|
|
|
|
+ { name: '赵雨晴', code: '2025100023', college: '电气工程学院', type: '研究生', grade: '2025级', y1: 8.0, y2: 0, y3: 0, y4: 0, totalHours: 8.0 },
|
|
|
|
|
+ { name: '陈志强', code: '2024100056', college: '材料科学学院', type: '研究生', grade: '2024级', y1: 4.0, y2: 0, y3: 0, y4: 0, totalHours: 4.0 },
|
|
|
|
|
+ { name: '刘芳华', code: '2025100078', college: '化学与化工学院', type: '研究生', grade: '2025级', y1: 16.0, y2: 0, y3: 0, y4: 0, totalHours: 16.0 },
|
|
|
|
|
+ { name: '孙晓明', code: '2023100091', college: '生命科学学院', type: '研究生', grade: '2023级', y1: 16.0, y2: 4.0, y3: 0, y4: 0, totalHours: 20.0 },
|
|
|
|
|
+ { name: '周文博', code: '2025100034', college: '自动化学院', type: '研究生', grade: '2025级', y1: 8.0, y2: 0, y3: 0, y4: 0, totalHours: 8.0 }
|
|
|
|
|
+ ],
|
|
|
|
|
+ // 各学院分类型学习总时长(用于柱状图)
|
|
|
|
|
+ studyHoursByType: [
|
|
|
|
|
+ { college: '化学与化工学院', graduate: 320, undergraduate: 180, staff: 95 },
|
|
|
|
|
+ { college: '生命科学学院', graduate: 280, undergraduate: 160, staff: 72 },
|
|
|
|
|
+ { college: '物理学院', graduate: 240, undergraduate: 145, staff: 68 },
|
|
|
|
|
+ { college: '电气工程学院', graduate: 300, undergraduate: 195, staff: 85 },
|
|
|
|
|
+ { college: '材料科学学院', graduate: 220, undergraduate: 135, staff: 60 },
|
|
|
|
|
+ { college: '机械工程学院', graduate: 195, undergraduate: 170, staff: 55 },
|
|
|
|
|
+ { college: '自动化学院', graduate: 180, undergraduate: 120, staff: 48 },
|
|
|
|
|
+ { college: '资源环境学院', graduate: 165, undergraduate: 110, staff: 52 }
|
|
|
|
|
+ ]
|
|
|
|
|
+};
|