消轻松 · 管理端

消防安全检查作业与规范知识库后台
请联系系统管理员获取账号
平台数据总览
全平台企业、用户、报告、工单、建筑与任务概览
核心指标
{{ s.num }}
{{ s.lbl }}
快捷处理
企业列表概览 共 {{ dashEntTotal }} 家
ID企业名称企业码负责人成员数状态
{{ e.id }} {{ e.ent_name }} {{ e.ent_code }} {{ e.owner_name || '—' }} {{ e.member_count || 0 }} {{ e.status===1?'正常':'停用' }}
暂无企业数据
用户列表概览 共 {{ dashUserTotal }} 名
ID手机号昵称企业积分状态
{{ u.id }} {{ u.phone || '—' }} {{ u.nickname || '—' }} {{ u.ent_name || '—' }}{{ u.dept_name ? '/' + u.dept_name : '' }} {{ u.points_balance ?? 0 }} {{ u.status===1?'正常':'冻结' }}
暂无用户数据
报告列表概览 共 {{ dashReportTotal }} 份
报告号作业号建筑类型创建时间
{{ r.report_no }} {{ r.job_no || ('#' + r.job_id) }} {{ r.building_name || '—' }} {{ r.job_type || '—' }} {{ fmt(r.created_at) }}
暂无报告数据
工单列表概览 共 {{ dashWorkorderTotal }} 条
工单号问题描述状态负责人截止时间
{{ w.wo_no }} {{ w.description }} {{ statusText(w.status) }} {{ w.assignee_name || '—' }} {{ w.deadline || '—' }}
暂无工单数据
模板列表概览 共 {{ dashTemplateTotal }} 套
ID模板名称所属企业类型检查项数
{{ t.id }} {{ t.name }} {{ t.ent_name || '—' }} {{ t.job_type || '—' }} {{ t.item_count || 0 }}
暂无模板数据
任务状态分布
{{ statusText(k) }}:{{ c }} 暂无任务
工单状态分布
{{ statusText(k) }}:{{ c }} 暂无工单
近 7 日隐患趋势(不合格项)
{{ t.count }}
{{ t.day }}
隐患系统分布
{{ h.system_tag }}
{{ h.count }}
暂无隐患数据
高频隐患 TOP5
{{ i + 1 }} {{ r.fail_note }} {{ r.freq }} 次
暂无数据
建筑覆盖率
{{ stats.buildingCoverage ? stats.buildingCoverage.checked : 0 }}/{{ stats.buildingCoverage ? stats.buildingCoverage.total : 0 }} 栋已完成检查 覆盖率 {{ Math.round(stats.buildingCoverage.checked / stats.buildingCoverage.total * 100) }}%
建筑管理
受检建筑台账与基础属性
共 {{ buildings.length }} 栋
名称地址类型/行业作业统计创建时间操作
{{ b.name }} {{ b.address || '—' }}
{{ b.building_type || '—' }}
{{ b.usage_type || '' }} {{ b.industry_code || '' }}
总 {{ b.job_stats.total }} | 进行 {{ b.job_stats.active }} | 完成 {{ b.job_stats.done }} {{ fmt(b.created_at) }}
暂无建筑
设备台账
建筑内消防设施设备建档 · 检测到期提醒 · 二维码定位
{{ deviceSummary.total || 0 }}
设备总数
{{ deviceSummary.normal || 0 }}
正常
{{ deviceSummary.due_soon || 0 }}
30 天内到期
{{ deviceSummary.overdue || 0 }}
已超期
{{ deviceSummary.abnormal || 0 }}
非正常状态
{{ deviceSummary.with_qr || 0 }}
已贴码
共 {{ deviceTotal }} 台
设备名称所属建筑类型 / 型号位置下次检测状态二维码操作
{{ d.name }}
{{ d.manufacturer }}
{{ d.building_name || '—' }}
{{ d.device_type || '—' }}
{{ d.model }}
{{ d.location || '—' }}
—
{{ d.next_check_date }} 已超期 即将到期
{{ d.status_label }} {{ shortQr(d.qr_code) }} 未生成
暂无设备,点击「+ 新增设备」开始建档
第 {{ devicePage }} 页
任务管理
现场检查作业的执行进度与明细
共 {{ jobs.length }} 条
作业号类型巡检周期建筑负责人状态创建操作
{{ j.job_no || ('#' + j.id) }} {{ j.job_type }}
{{ freqLabel(j) }} 不符规程 换算
{{ j.building_name || '—' }} {{ j.owner_name || '—' }} {{ statusText(j.status) }} {{ fmt(j.created_at) }}
暂无任务
工单管理
不合格项整改闭环跟踪
共 {{ workorders.length }} 条
工单号问题描述状态截止负责人操作
{{ w.wo_no }} {{ w.description }} {{ statusText(w.status) }} {{ w.deadline || '—' }} {{ w.assignee_name || '—' }}
暂无工单
故障停用上报
GB 25201-2010《建筑消防设施的维护管理》5.x:故障或停用应报告消防安全责任人并备案
{{ faultStats.total || 0 }}
上报总数
{{ faultStats.pending || 0 }}
待受理
{{ faultStats.handling || 0 }}
处置中
{{ faultStats.outage || 0 }}
停用类
{{ faultStats.unreported || 0 }}
未报告责任人
{{ faultStats.unfiled || 0 }}
未备案
编号类型建筑 / 部位情况描述 程度状态责任人备案操作
{{ f.fault_no || ('#' + f.id) }} {{ f.fault_type_label }} {{ f.building_name || '—' }}
{{ f.location }}
{{ f.fault_desc }} {{ f.severity_label }} {{ f.status_label }} {{ f.responsible_person || '—' }}
报告于 {{ fmt(f.reported_to_owner_at) }}
未报告
{{ f.record_no || '未备案' }}
暂无故障 / 停用上报
报告管理
检查报告的生成、导出与归档
报告号作业号建筑类型创建操作
{{ r.report_no }} {{ r.job_no || ('#' + r.job_id) }} {{ r.building_name || '—' }} {{ r.job_type || '—' }} {{ fmt(r.created_at) }}
暂无报告
规范库
消防规范条款检索与强条标注 · 支持整篇粘贴自动切条
共 {{ norms.total }} 条
规范条款号标题预览强制系统操作
{{ n.norm_no }}
{{ n.norm_name }}
{{ n.clause_no }} {{ n.clause_title || '—' }} {{ n.clause_preview }} 强条— {{ n.system_tag || '—' }}
无匹配条款
用户管理
按手机号查询用户 · 积分重置 · 冻结/解冻
ID手机号昵称积分企业状态最后登录操作
{{ u.id }} {{ u.phone || '—' }} {{ u.nickname || '—' }} {{ u.points_balance }} {{ u.ent_name || '—' }}{{ u.dept_name ? '/' + u.dept_name : '' }} {{ u.status===1?'正常':'冻结' }} {{ fmt(u.last_login_at) }}
暂无用户数据
企业管理
企业信息 · 成员列表 · 编辑企业
ID企业名称企业码成员数创建人创建人手机状态操作
{{ e.id }} {{ e.ent_name }} {{ e.ent_code }} {{ e.member_count }} {{ e.owner_name || '—' }} {{ e.owner_phone || '—' }} {{ e.status===1?'正常':'停用' }}
暂无企业数据
积分中心
充值订单 · 充值套餐 · 计分规则 · 全平台流水 · 发放统计
充值
套餐
规则
流水
统计
商品
人工充值 · 生成充值订单
充值订单
ID用户手机号套餐积分金额状态时间操作
{{ o.id }}{{ o.display_name || o.phone }}{{ o.phone }} {{ planText(o) }} {{ o.points }}{{ o.amount || '—' }} {{ rechargeStatusText(o.status) }} {{ fmt(o.created_at) }}
暂无充值订单
充值套餐 · 会员时长与价格
编码名称天数价格(元)赠送积分权益说明排序状态
{{ p.code }}
暂无套餐
用户在「我的积分」页提交开通申请 → 生成待确认订单 → 在「充值」页签确认入账时,按本表天数顺延会员到期时间(续费从当前到期日往后叠加)。下架的套餐不再展示给用户,也不可申请。
开通联系方式 · 管理员微信号
用户在小程序「我的积分 → 开通会员」点「申请开通」时,会弹窗展示该微信号并提供「一键复制」,用户加微信、转账后提交申请,管理员在「充值」页签确认入账。修改后小程序端立即生效。
积分规则 · 获取
{{ r.label }}{{ r.biz_type }}
暂无规则
积分规则 · 消耗
{{ r.label }}{{ r.biz_type }}
暂无规则
消耗类分值请填负数(如 -20);停用后该项不再扣分。保存即写入 point_config,小程序端与后端同源读取,无需重启服务。
积分规则 · 参数
{{ r.label }}{{ r.biz_type }}
暂无规则
参数类:连续签到单日封顶、免积分体验天数、导出失败退还额等;停用项不在小程序积分页展示。
手动调整积分
共 {{ pcLedger.total }} 条
ID用户手机号变动余额类型说明时间
{{ l.id }} {{ l.display_name }} {{ l.phone || '—' }} {{ l.delta > 0 ? '+' : '' }}{{ l.delta }} {{ l.balance }} {{ bizText(l.biz_type) }} {{ l.remark || '—' }} {{ fmt(l.created_at) }}
暂无流水
{{ ptsStats.total_issued || 0 }}
累计发放
{{ ptsStats.total_consumed || 0 }}
累计消耗
{{ ptsStats.total_balance || 0 }}
当前余额
{{ ptsStats.user_count || 0 }}
用户总数
{{ ptsStats.month_issued || 0 }}
本月发放
{{ ptsStats.month_consumed || 0 }}
本月消耗
积分排行 Top 5
排名用户余额
{{ i + 1 }} {{ u.user_name }} {{ u.balance }}
积分商城 · 商品管理
ID名称分类积分库存排序状态更新时间操作
{{ g.id }} {{ g.name }} {{ goodsCatText(g.category) }} {{ g.points }} {{ g.stock }} {{ g.sort_order }} {{ g.enabled ? '上架' : '下架' }} {{ fmt(g.updated_at) }}
暂无商品
商品上架后,用户在「我的积分 → 积分商城」即可看到并兑换;库存为 0 时仍可展示但兑换会提示缺货。删除为软删除(标记下架),不影响已产生的兑换记录。
兑换记录 · 发货管理
ID用户手机号商品积分状态发货信息时间操作
{{ e.id }} {{ e.nickname || '—' }} {{ e.user_phone || '—' }} {{ e.goods_name || ('#' + e.goods_id) }} {{ e.points }} {{ exStatusText(e.status) }} {{ e.deliver_info || '—' }} {{ fmt(e.created_at) }}
暂无兑换记录
建议审核
采纳后自动向该用户发放积分(每人每条只发一次)
ID用户手机号建议内容状态时间操作
{{ s.id }} {{ s.nickname || '—' }} {{ s.phone || '—' }} {{ s.content }} {{ sgStatusText(s.status) }} {{ fmt(s.created_at) }}
暂无建议
审计日志
管理员关键操作留痕(谁 / 何时 / 何操作 / 来源IP)
时间管理员操作对象ID来源IP摘要
{{ fmt(a.created_at) }} {{ a.admin_user }} {{ a.action }} {{ a.target_type }} {{ a.target_id || '—' }} {{ a.ip || '—' }} {{ a.detail || '—' }}
暂无操作记录
第 {{ auditPage }} 页 / 共 {{ Math.ceil(auditTotal/auditPageSize) }} 页
知识库管理
分类、系统、参数、隐患、值班巡查与应急流程
{{ t.label }}
共 {{ kbRows.length }} 条
{{ c.t }}操作
{{ fmtCell(row[c.k]) }}
暂无数据
共 {{ kbDuties.length }} 类
{{ d.icon }} {{ d.title }}
{{ it.item_name }}标准:{{ it.standard }}
暂无巡查项
暂无值班巡查类别
共 {{ kbEmergency.length }} 个流程
{{ f.title }} {{ f.icon }}
{{ s.step_num }}. {{ s.action }}({{ s.detail }})
暂无步骤
暂无应急流程
支柱 A · 功能管理 / 控制器说明书
控制器说明书
按「品牌 → 型号 → 操作项」维护控制器按键操作说明;同一型号内按业务操作动线固定排序
{{ cmTotal }}
说明书总数
{{ cmMissingCount }}
缺正文
{{ cmMeta.brands.length }}
覆盖品牌
只看缺正文 共 {{ cmTotal }} 条
ID品牌 / 型号操作项 状态正文操作
🔍
暂无匹配说明书
换个品牌 / 型号 / 关键词试试
支柱 A · 功能管理 / 考试题库
考试题库
按「分类 + 年份」归档的考试题目;答案为选项索引,题型决定单选 / 多选 / 判断
{{ examTotal }}
题目总数
{{ examMeta.categories.length }}
分类数
{{ examMeta.years.length }}
覆盖年份
共 {{ examTotal }} 条
ID分类题型 难度年份题干 状态操作
{{ r.id }} {{ examCatName(r.category) }}
{{ r.subject }}
{{ examTypeTitle(r.question_type) }} {{ examDiffTitle(r.difficulty) }} {{ r.year || '—' }}
{{ examClamp(r.question, 64) }}
{{ r.norm_ref }} 答案 {{ r.answer || '—' }}
{{ r.status === 1 ? '启用' : '停用' }}
🔍
暂无匹配题目
换个分类 / 题型 / 年份 / 关键词试试
支柱 A · 功能管理 / 论坛内容
论坛内容
帖子审核(置顶 / 隐藏 / 评论清理)与品牌维修手册维护
帖子管理
品牌维修手册
只看置顶 共 {{ fpTotal }} 帖
标题分类作者 置顶评论点赞 状态时间操作
{{ examClamp(p.title, 40) }}
#{{ t }}
{{ p.category || '—' }} {{ p.author_name || ('用户 #' + p.user_id) }} 置顶— {{ p.comment_count || 0 }} {{ p.like_count || 0 }} {{ p.status === 0 ? '已隐藏' : '正常' }} {{ fmt(p.created_at) }}
🔍
暂无匹配帖子
换个分类 / 状态 / 关键词试试
共 {{ fmTotal }} 条
ID品牌系统类型 型号标题状态操作
{{ m.id }} {{ m.brand || '—' }} {{ m.system_type || '—' }} {{ m.model || '—' }}
{{ m.title || '—' }}
{{ examClamp(m.summary, 48) }}
{{ m.status === 0 ? '停用' : '启用' }}
🔍
暂无匹配维修手册
换个品牌 / 关键词试试
支柱 A · 功能管理 / 引导页管理
引导页管理
小程序引导页的分类与步骤(内容块 module=guide);分类为一级,步骤归属到某个分类
{{ guideItems.length }}
内容块总数
{{ guideStats.roots }}
分类数(根节点)
{{ guideStats.children }}
步骤数(子项)
只看停用 当前显示 {{ guideFiltered.length }} / 共 {{ guideItems.length }} 条
ID标题 / 副标题归属分组 类型状态序号 操作
🔍
暂无匹配内容块
换个关键词 / 关掉「只看停用」试试
支柱 A · 功能管理 / 示例报告管理
示例报告管理
小程序示例报告的流程与演示检查项(内容块 module=demo);流程为一级,检查项归属到某个流程
{{ demoItems.length }}
内容块总数
{{ demoStats.roots }}
流程数(根节点)
{{ demoStats.children }}
检查项数(子项)
只看停用 当前显示 {{ demoFiltered.length }} / 共 {{ demoItems.length }} 条
ID标题 / 副标题归属流程 类型状态序号 操作
🔍
暂无匹配内容块
换个关键词 / 关掉「只看停用」试试
支柱 A · 功能管理 / 规程工具内容
规程工具内容
从业助手「规程工具」的权威来源:功能室(rooms)及其关联的检查项(check_items.room_tags)
{{ roomMeta.room_total }}
功能室数
{{ roomMeta.item_total }}
全部检查项数
{{ roomMeta.unlinked_items }}
未归位检查项
共 {{ roomTotal }} 个功能室
ID功能室名称检查范围 关联规范关联检查项 状态操作
{{ r.id }}
{{ r.icon }} {{ r.name }}
排序 {{ r.sort_no }}
{{ r.check_scope || '—' }} {{ r.norm_refs || '—' }} {{ r.item_count }} 条 {{ r.status === 1 ? '启用' : '停用' }}
🔍
暂无匹配功能室
换个关键词 / 状态试试
检查项库(官方)
先按「作业类型」再按「消防系统」定位;富内容越全,现场越好用
🛡️
此处修改的是检查项主数据,会影响全平台所有模板,但不会篡改已生成的历史报告与工单——报告读的是 job_items 快照。只想调某个模板,请去「检查项模板 → 组卷」。
{{ ciRows.length }}
当前结果
{{ ciSummary.rich }}
富内容齐备
{{ ciSummary.rate }}%
富内容覆盖率
{{ ciSummary.must }}
强条项
全部作业类型
{{ t.ic }}{{ t.v }}
第二层 · 所属消防系统
全部系统 {{ s }}
共 {{ ciRows.length }} 条
ID名称与归属(作业类型 · 消防系统 · 强条)风险 类项条款号 富内容状态操作
{{ r.id }}
{{ r.item_name }}
{{ ciWorkTypesText(r.work_types) }} {{ r.system_tag }} 强条
{{ r.risk_level || '—' }} {{ r.item_class || '—' }} {{ r.clause_ref || '—' }} 要 不 条 判 改 内 {{ r.status === 1 ? '启用' : '停用' }}
🔍
暂无匹配检查项
换个作业类型 / 系统 / 关键词试试
检查项模板(企业级组卷)
按企业 / 业务类型预制检查清单,下发到小程序形成作业检查项
共 {{ tplList.length }} 个模板
{{ tplSummary.count }}
模板总数
{{ tplSummary.items }}
覆盖检查项
{{ tplSummary.avg }}
平均每项/模板
{{ tplSummary.default }}
默认模板
ID模板名称企业业务组卷方式检查项必检默认操作
{{ t.id }}
{{ t.name }}
{{ t.description }}
{{ t.ent_name || '—' }} {{ t.job_type }} {{ t.path_type === 'by_system' ? '按系统' : '按房间' }} {{ t.item_count || 0 }} {{ t.required_count || 0 }} ★ 默认—
暂无模板,点击「新建模板」创建
{{ tplDetail.name }} {{ tplDetail.ent_name }} {{ tplDetail.job_type }} · {{ tplDetail.path_type === 'by_system' ? '按系统' : '按房间' }}
{{ tplDetail.stats ? tplDetail.stats.item_total : 0 }}
检查项
{{ tplDetail.stats ? tplDetail.stats.item_required : 0 }}
必检项
{{ tplDetail.stats ? tplDetail.stats.item_mandatory : 0 }}
强条项
{{ tplDetail.stats ? tplDetail.stats.system_count : 0 }}
覆盖系统
{{ tplRichRate }}%
富内容覆盖率
提示:富内容覆盖率 {{ tplRichRate }}%,有 {{ (tplDetail.items||[]).length - (tplDetail.stats ? tplDetail.stats.item_rich : 0) }} 项缺少「检查要点 / 常见不合格 / 条款原文」中的部分内容。 这些项下发到小程序后现场可参考性较弱,建议在「检查项库」补充,或在左侧可选池勾选「仅富内容齐备」后替换。
可选池 · 官方检查项 命中 {{ picker.items.length }}
无匹配项,试试放宽筛选条件
已选 {{ picker.selected.length }}
已选 {{ tplSelected.length }} 项
序号排序检查项 系统风险 强条富内容必检操作
{{ idx + 1 }}
{{ it.item_name }}
{{ it.clause_ref }}
{{ it.system_tag || '—' }} {{ it.risk_level || '—' }} 强条— 要 不 条 判 改 阈 必检选检
该模板暂无检查项 —— 从左侧可选池挑选项加入,或点「从官方库克隆」批量导入
场景映射配置
配置「行业代码 → 场景标签」的对应关系,驱动小程序场景化组卷自动圈项(特殊场所 / 行业聚焦)
● 未保存 {{ sceneFromDb ? '来源:数据库配置' : '来源:内置默认值' }}
说明:行业代码(如 MED_HOSPITAL / CHEM_PETRO)命中后,会自动追加对应标签的检查项到作业。 标签与检查项库里的 special_tags / industry_focus 字段对应。修改后点「保存」即时生效。 当前 sys_config.scene_mapping 未配置,组卷正使用内置默认映射;保存后将改为读取数据库配置。
① 特殊场所映射(行业代码 → 特殊场所标签)
行业代码场景标签(逗号分隔)操作
暂无,点击下方添加
② 行业聚焦映射(行业代码 → 行业聚焦标签)
行业代码聚焦标签(逗号分隔)操作
暂无,点击下方添加
小程序使用统计
各板块访问量、活跃用户与趋势分析
总访问次数
{{ mpUsage.totalVisits || 0 }}
今日活跃用户
{{ mpUsage.todayActive || 0 }}
本周活跃用户
{{ mpUsage.weekActive || 0 }}
本月活跃用户
{{ mpUsage.monthActive || 0 }}
板块访问排行
暂无数据
{{ moduleName(s.module) }}
{{ s.visit_count }} 次
{{ s.unique_users }} 人
每日访问趋势
暂无趋势数据
{{ moduleName(m) }}
{{ d.date.slice(5) }}
各板块活跃用户数(去重)
暂无数据
板块活跃用户数占比
{{ moduleName(u.module) }} {{ u.active_users }}
{{ Math.round(u.active_users / Math.max(...(mpUsage.moduleUsers||[]).map(x=>x.active_users),1) * 100) }}%
暂无数据
支柱 C · 平台基础信息 / 平台信息
平台信息管理
应用名称、版本号、版权与联系方式配置 · 保存后两端(后台/小程序)同时生效
① 基础 · 应用标识(名称 / 版本 / 标语) {{ pfFold.base ? '收起 ▲' : '展开 ▼' }}
应用名称
应用版本
应用标语
② 详情 · 公司主体与产品简介 {{ pfFold.detail ? '收起 ▲' : '展开 ▼' }}
应用描述
公司名称
版权信息
③ 联系与合规 · 客服渠道 / Logo / 备案号 {{ pfFold.order ? '收起 ▲' : '展开 ▼' }}
客服电话
客服邮箱
客服 QQ
Logo URL
ICP 备案号
客服电话 / 邮箱 / QQ 会出现在小程序「联系我们」与用户协议页脚;备案号用于合规展示,请与工信部备案信息保持一致。
支柱 C · 平台基础信息 / 隐私条款
隐私条款管理
用户协议与隐私政策的编辑、发布与历史版本 · 保存即发布并归档上一版
用户协议
隐私政策
历史版本
{{ policyTab === 'terms' ? '用户协议' : '隐私政策' }}
① 基础 · 标题与生效日期 {{ plFold.base ? '收起 ▲' : '展开 ▼' }}
标题
生效日期
② 详情 · 条款正文(共 {{ policySections.length }} 小节) {{ plFold.detail ? '收起 ▲' : '展开 ▼' }}
还没有内容,点下方「+ 新增小节」开始
保存后小程序按此顺序渲染:小节标题 → 该节下的正文条目(一条一段)。小节标题请勿重复,空标题/空条目在保存时会被自动忽略。
③ 版本 · 当前线上版本 {{ policyCurrent ? policyCurrent.version : '(尚未发布)' }} {{ plFold.order ? '收起 ▲' : '展开 ▼' }}
当前线上版本:{{ policyCurrent.version }},生效日期 {{ policyCurrent.effective_date || '—' }}。
点「保存并发布」后,本版会立即替换线上内容,旧版自动归档到「历史版本」页签,可随时回查。
该条款还没有已发布版本;保存后将直接对外生效(小程序端立即读取)。
历史版本
类型标题版本生效日期归档时间归档人
{{ h.type === 'terms' ? '用户协议' : '隐私政策' }} {{ h.title }} {{ h.version }} {{ fmt(h.effective_date) }} {{ fmt(h.archived_at) }} {{ h.archived_by }}
暂无历史版本
UI 设计配置
主题色、Banner、快捷入口与引导页配置
主题与引导
Banner管理
快捷入口
主题与引导页
引导步骤
{{ s.step }}
Banner 列表
ID图片标题链接排序启用操作
{{ b.id }} {{ b.image_url }} {{ b.title }} {{ b.link_url }} {{ b.sort }} {{ b.enabled ? '启用' : '禁用' }}
暂无Banner
快捷入口配置
ID图标标签链接排序可见操作
{{ e.id }} {{ e.icon }} 已修改
项目管理
消防项目的创建、编辑与统计
ID项目名称企业状态建筑数任务数报告数起止日期操作
{{ p.id }} {{ p.name }} {{ p.ent_name || '—' }} {{ p.status === 'active' ? '进行中' : (p.status === 'done' ? '已完成' : p.status) }} {{ p.building_count }} {{ p.job_count }} {{ p.report_count }} {{ p.start_date || '—' }} ~ {{ p.end_date || '—' }}
暂无项目
操作审计
全平台操作记录检索与导出
ID操作人模块动作目标ID详情IP时间
{{ a.id }} {{ a.operator_name }} {{ a.module }} {{ a.action }} {{ a.target_id }} {{ typeof a.detail === 'object' ? JSON.stringify(a.detail) : a.detail }} {{ a.ip }} {{ fmt(a.created_at) }}
暂无日志
第 {{ audit2Page }} 页 / 共 {{ Math.ceil(audit2Total / audit2PageSize) }} 页({{ audit2Total }} 条)
消息推送
全站站内消息(逾期提醒 / 系统通知)—— 未读 {{ msgUnread }}
消息列表
用户ID类型标题内容已读时间
{{ m.user_id }} {{ m.type }} {{ m.title }} {{ m.content }} {{ m.is_read ? '已读' : '未读' }} {{ fmt(m.created_at) }}
💬
暂无消息
能力中心(AI)
AI 识别记录全局总览(按次扣积分,无免费配额)
识别记录
ID用户隐患类型风险等级置信度时间
#{{ r.id }} {{ r.user_id }} {{ r.hazard_type || '—' }} {{ r.risk_level || '—' }} {{ r.confidence ? (r.confidence * 100).toFixed(1) + '%' : '—' }} {{ fmt(r.created_at) }}
🤖
暂无 AI 识别记录
二维码管理
二维码点位与扫码历史(共 {{ qrStats.total || 0 }} 条记录)
扫码历史
时间用户ID目标二维码动作
{{ fmt(h.scan_time) }} {{ h.user_id }} {{ h.target_name || '—' }} {{ h.qr_code || h.qr_code_used || '—' }} {{ h.action || 'scan' }}
📷
暂无扫码记录
IoT 设备
三阶段物联网接口预留 — 设备 {{ iotDevices.length || 0 }} / 告警 {{ iotAlerts.length || 0 }}
设备列表
设备号名称类型状态最后在线
{{ d.device_no }} {{ d.device_name }} {{ d.device_type }} {{ d.status }} {{ fmt(d.last_online) }}
📡
暂无设备(三阶段接口预留)
告警记录({{ iotAlerts.length }})
时间设备级别消息
{{ fmt(a.created_at) }} {{ a.device_id }} {{ a.alert_level }} {{ a.message }}
培训考试
三阶段培训课程 + 证书管理
课程列表({{ courses.length || 0 }})
ID课程时长分类认证
#{{ c.id }} {{ c.title }} {{ c.duration }} 分钟 {{ c.category || '—' }} {{ c.is_certified ? '可认证' : '自主' }}
🎓
暂无课程(三阶段接口预留)
证书颁发记录({{ certs.length }})
🏆 证书号 {{ c.certificate_no }} · 课程 {{ c.course_id }} {{ fmt(c.issue_date) }}
{{ toast }}