平台数据总览
全平台企业、用户、报告、工单、建筑与任务概览
核心指标
{{ 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 日隐患趋势(不合格项)
隐患系统分布
{{ 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) }}%
建筑管理
受检建筑台账与基础属性
| 名称 | 地址 | 类型/行业 | 作业统计 | 创建时间 | 操作 |
|---|---|---|---|---|---|
| {{ 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 }}
已贴码
| 设备名称 | 所属建筑 | 类型 / 型号 | 位置 | 下次检测 | 状态 | 二维码 | 操作 |
|---|---|---|---|---|---|---|---|
|
{{ 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) }} 未生成 | |
| 暂无设备,点击「+ 新增设备」开始建档 | |||||||
任务管理
现场检查作业的执行进度与明细
| 作业号 | 类型 | 巡检周期 | 建筑 | 负责人 | 状态 | 创建 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ j.job_no || ('#' + j.id) }} | {{ j.job_type }} |
{{ freqLabel(j) }}
不符规程
换算
|
{{ j.building_name || '—' }} | {{ j.owner_name || '—' }} | {{ statusText(j.status) }} | {{ fmt(j.created_at) }} | |
| 暂无任务 | |||||||
工单管理
不合格项整改闭环跟踪
| 工单号 | 问题描述 | 状态 | 截止 | 负责人 | 操作 |
|---|---|---|---|---|---|
| {{ 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 || '未备案' }} | |
| 暂无故障 / 停用上报 | ||||||||
故障停用详情 · {{ faultDetail.fault_no || ('#' + faultDetail.id) }}
类型{{ faultDetail.fault_type_label }}({{ faultDetail.severity_label }})
状态{{ faultDetail.status_label }}
建筑{{ faultDetail.building_name || '—' }}
部位 / 系统{{ faultDetail.location || '—' }} {{ faultDetail.system_tag || '' }}
发现时间{{ faultDetail.found_at || '—' }}
上报人{{ faultDetail.reporter_name || '—' }}
消防安全责任人{{ faultDetail.responsible_person || '—' }} {{ faultDetail.responsible_phone || '' }}
报告责任人时间{{ faultDetail.reported_to_owner_at || '未报告' }}
停用区间{{ faultDetail.downtime_start || '—' }} ~ {{ faultDetail.downtime_end || '—' }}
备案编号{{ faultDetail.record_no || '未备案' }}
情况描述:{{ faultDetail.fault_desc || '—' }}
停用期间措施:{{ faultDetail.measures }}
处置说明:{{ faultDetail.handle_note }}
流转记录(可追溯)
{{ fmt(l.created_at) }} · {{ l.action }} · {{ l.note || '—' }} · {{ l.operator_name || '系统' }}
报告管理
检查报告的生成、导出与归档
| 报告号 | 作业号 | 建筑 | 类型 | 创建 | 操作 |
|---|---|---|---|---|---|
| {{ r.report_no }} | {{ r.job_no || ('#' + r.job_id) }} | {{ r.building_name || '—' }} | {{ r.job_type || '—' }} | {{ fmt(r.created_at) }} | |
| 暂无报告 | |||||
规范库
消防规范条款检索与强条标注 · 支持整篇粘贴自动切条
| 规范 | 条款号 | 标题 | 预览 | 强制 | 系统 | 操作 |
|---|---|---|---|---|---|---|
| {{ 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) }} |
暂无用户数据
第 {{ users.page }} 页 / 共 {{ Math.ceil(users.total / users.pageSize) }} 页
企业管理
企业信息 · 成员列表 · 编辑企业
| ID | 企业名称 | 企业码 | 成员数 | 创建人 | 创建人手机 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ e.id }} | {{ e.ent_name }} | {{ e.ent_code }} | {{ e.member_count }} | {{ e.owner_name || '—' }} | {{ e.owner_phone || '—' }} | {{ e.status===1?'正常':'停用' }} |
暂无企业数据
第 {{ enterprises.page }} 页 / 共 {{ Math.ceil(enterprises.total / enterprises.pageSize) }} 页
积分中心
充值订单 · 充值套餐 · 计分规则 · 全平台流水 · 发放统计
充值
套餐
规则
流水
统计
商品
人工充值 · 生成充值订单
充值订单
| 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 || '—' }} | |
| 暂无操作记录 | ||||||
第 {{ auditPage }} 页 / 共 {{ Math.ceil(auditTotal/auditPageSize) }} 页
知识库管理
分类、系统、参数、隐患、值班巡查与应急流程
{{ t.label }}
| {{ c.t }} | 操作 |
|---|---|
| {{ fmtCell(row[c.k]) }} | |
| 暂无数据 |
{{ d.icon }} {{ d.title }}
{{ it.item_name }}标准:{{ it.standard }}
暂无巡查项
暂无值班巡查类别
{{ f.title }} {{ f.icon }}
{{ s.step_num }}. {{ s.action }}({{ s.detail }})
暂无步骤
暂无应急流程
支柱 A · 功能管理 / 控制器说明书
控制器说明书
按「品牌 → 型号 → 操作项」维护控制器按键操作说明;同一型号内按业务操作动线固定排序
{{ cmTotal }}
说明书总数
{{ cmMissingCount }}
缺正文
{{ cmMeta.brands.length }}
覆盖品牌
| ID | 品牌 / 型号 | 操作项 | 状态 | 正文 | 操作 |
|---|---|---|---|---|---|
| {{ g.brand }} · 共 {{ g.count }} 条 | |||||
| 型号 {{ m.model }} · {{ m.items.length }} 项操作 | |||||
| {{ r.id }} |
{{ r.model || '—' }}
|
{{ cmOpTitle(r.op_key) }} {{ r.title }} |
{{ cmStatusText(r.status) }} | {{ cmHasContent(r) ? '有' : '缺' }} | |
|
🔍
暂无匹配说明书
换个品牌 / 型号 / 关键词试试
|
|||||
第 {{ cmPage }} 页 / 共 {{ Math.ceil(cmTotal / cmPageSize) }} 页
支柱 A · 功能管理 / 考试题库
考试题库
按「分类 + 年份」归档的考试题目;答案为选项索引,题型决定单选 / 多选 / 判断
{{ examTotal }}
题目总数
{{ examMeta.categories.length }}
分类数
{{ examMeta.years.length }}
覆盖年份
| ID | 分类 | 题型 | 难度 | 年份 | 题干 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ r.id }} | {{ examCatName(r.category) }} {{ r.subject }} |
{{ examTypeTitle(r.question_type) }} | {{ examDiffTitle(r.difficulty) }} | {{ r.year || '—' }} |
{{ examClamp(r.question, 64) }}
|
{{ r.status === 1 ? '启用' : '停用' }} | |
|
🔍
暂无匹配题目
换个分类 / 题型 / 年份 / 关键词试试
|
|||||||
第 {{ examPage }} 页 / 共 {{ Math.ceil(examTotal / examPageSize) }} 页
支柱 A · 功能管理 / 论坛内容
论坛内容
帖子审核(置顶 / 隐藏 / 评论清理)与品牌维修手册维护
帖子管理
品牌维修手册
| 标题 | 分类 | 作者 | 置顶 | 评论 | 点赞 | 状态 | 时间 | 操作 |
|---|---|---|---|---|---|---|---|---|
|
{{ examClamp(p.title, 40) }}
|
{{ p.category || '—' }} | {{ p.author_name || ('用户 #' + p.user_id) }} | 置顶— | {{ p.comment_count || 0 }} | {{ p.like_count || 0 }} | {{ p.status === 0 ? '已隐藏' : '正常' }} | {{ fmt(p.created_at) }} | |
|
🔍
暂无匹配帖子
换个分类 / 状态 / 关键词试试
|
||||||||
第 {{ fpPage }} 页 / 共 {{ Math.ceil(fpTotal / fpPageSize) }} 页
| ID | 品牌 | 系统类型 | 型号 | 标题 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ m.id }} | {{ m.brand || '—' }} | {{ m.system_type || '—' }} | {{ m.model || '—' }} |
{{ m.title || '—' }}
{{ examClamp(m.summary, 48) }}
|
{{ m.status === 0 ? '停用' : '启用' }} | |
|
🔍
暂无匹配维修手册
换个品牌 / 关键词试试
|
||||||
第 {{ fmPage }} 页 / 共 {{ Math.ceil(fmTotal / fmPageSize) }} 页
支柱 A · 功能管理 / 引导页管理
引导页管理
小程序引导页的分类与步骤(内容块 module=guide);分类为一级,步骤归属到某个分类
{{ guideItems.length }}
内容块总数
{{ guideStats.roots }}
分类数(根节点)
{{ guideStats.children }}
步骤数(子项)
| ID | 标题 / 副标题 | 归属分组 | 类型 | 状态 | 序号 | 操作 |
|---|---|---|---|---|---|---|
| {{ (g.root && g.root.icon) || '🗂' }} {{ (g.root && g.root.title) || g.key }} 分类 {{ g.key }} {{ g.children.length }} 个步骤 该分类已停用 | ||||||
| {{ c.id }} |
{{ c.icon }} {{ c.title }}
{{ c.subtitle }}
|
{{ g.key }} | {{ guideKindText(c.kind) }} | {{ c.status === 1 ? '启用' : '停用' }} | {{ c.sort_order }} | |
|
🔍
暂无匹配内容块
换个关键词 / 关掉「只看停用」试试
|
||||||
支柱 A · 功能管理 / 示例报告管理
示例报告管理
小程序示例报告的流程与演示检查项(内容块 module=demo);流程为一级,检查项归属到某个流程
{{ demoItems.length }}
内容块总数
{{ demoStats.roots }}
流程数(根节点)
{{ demoStats.children }}
检查项数(子项)
| ID | 标题 / 副标题 | 归属流程 | 类型 | 状态 | 序号 | 操作 |
|---|---|---|---|---|---|---|
| {{ (g.root && g.root.icon) || '🧾' }} {{ (g.root && g.root.title) || g.key }} 流程 {{ g.key }} {{ g.children.length }} 个检查项 {{ g.root.payload.badge }} 该流程已停用 | ||||||
| {{ c.id }} |
{{ c.icon }} {{ c.title }}
|
{{ g.key }} | {{ demoKindText(c.kind) }} | {{ c.status === 1 ? '启用' : '停用' }} | {{ c.sort_order }} | |
|
🔍
暂无匹配内容块
换个关键词 / 关掉「只看停用」试试
|
||||||
支柱 A · 功能管理 / 规程工具内容
规程工具内容
从业助手「规程工具」的权威来源:功能室(rooms)及其关联的检查项(check_items.room_tags)
{{ roomMeta.room_total }}
功能室数
{{ roomMeta.item_total }}
全部检查项数
{{ roomMeta.unlinked_items }}
未归位检查项
| 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 }}
| ID | 名称与归属(作业类型 · 消防系统 · 强条) | 风险 | 类项 | 条款号 | 富内容 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ r.id }} |
{{ r.item_name }}
|
{{ r.risk_level || '—' }} | {{ r.item_class || '—' }} | {{ r.clause_ref || '—' }} | 要 不 条 判 改 内 | {{ r.status === 1 ? '启用' : '停用' }} | |
|
🔍
暂无匹配检查项
换个作业类型 / 系统 / 关键词试试
|
|||||||
检查项模板(企业级组卷)
按企业 / 业务类型预制检查清单,下发到小程序形成作业检查项
{{ 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.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 }}
| 序号 | 排序 | 检查项 | 系统 | 风险 | 强条 | 富内容 | 必检 | 操作 | |
|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} |
{{ it.item_name }}
{{ it.clause_ref }}
|
{{ it.system_tag || '—' }} | {{ it.risk_level || '—' }} | 强条— | 要 不 条 判 改 阈 | 必检选检 | |||
| 该模板暂无检查项 —— 从左侧可选池挑选项加入,或点「从官方库克隆」批量导入 | |||||||||
场景映射配置
配置「行业代码 → 场景标签」的对应关系,驱动小程序场景化组卷自动圈项(特殊场所 / 行业聚焦)
说明:行业代码(如 MED_HOSPITAL / CHEM_PETRO)命中后,会自动追加对应标签的检查项到作业。
标签与检查项库里的
special_tags / industry_focus 字段对应。修改后点「保存」即时生效。
当前 sys_config.scene_mapping 未配置,组卷正使用内置默认映射;保存后将改为读取数据库配置。
① 特殊场所映射(行业代码 → 特殊场所标签)
| 行业代码 | 场景标签(逗号分隔) | 操作 |
|---|---|---|
| 暂无,点击下方添加 | ||
② 行业聚焦映射(行业代码 → 行业聚焦标签)
| 行业代码 | 聚焦标签(逗号分隔) | 操作 |
|---|---|---|
| 暂无,点击下方添加 | ||
{{ tplModal.editing ? '编辑模板' : '新建检查项模板' }}
{{ errors.tpl.ent_id }}
{{ errors.tpl.name }}
镜像预览 · {{ tplDetail.name }}({{ (tplDetail.items||[]).length }} 项)
按现场检查页的版式逐条渲染,所见即小程序使用者所见(预览不含判定按钮)。
{{ it.item_name }}
{{ it.item_desc }}
条款依据 {{ it.clause_ref }}
{{ it.clause_text || '(暂无原文,现场只能看到条款号)' }}
合格标准
{{ it.pass_standard }}
检查要点
{{ ciToArr(it.key_points).join(';') }}
常见不合格
{{ ciToArr(it.common_fail).join(';') }}
强条提示
{{ it.mandatory_hint }}
该模板暂无检查项,先从左列可选池加入
小程序使用统计
各板块访问量、活跃用户与趋势分析
总访问次数
{{ mpUsage.totalVisits || 0 }}
今日活跃用户
{{ mpUsage.todayActive || 0 }}
本周活跃用户
{{ mpUsage.weekActive || 0 }}
本月活跃用户
{{ mpUsage.monthActive || 0 }}
板块访问排行
暂无数据
{{ moduleName(s.module) }}
{{ s.visit_count }} 次
{{ s.unique_users }} 人
每日访问趋势
暂无趋势数据
{{ moduleName(m) }}
各板块活跃用户数(去重)
暂无数据
| 板块 | 活跃用户数 | 占比 |
|---|---|---|
| {{ 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.title }} | {{ 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 || '—' }} |
暂无项目
{{ projModal.editing ? '编辑项目' : '新建项目' }}
{{ errors.proj.name }}
项目统计 — {{ projStatsModal.name }}
{{ projStatsModal.data.building_count || 0 }}
建筑数
{{ projStatsModal.data.job_count || 0 }}
任务总数
{{ projStatsModal.data.job_pending || 0 }}
待处理
{{ projStatsModal.data.job_active || 0 }}
进行中
{{ projStatsModal.data.job_done || 0 }}
已完成
{{ projStatsModal.data.job_overdue || 0 }}
已逾期
{{ projStatsModal.data.report_count || 0 }}
报告数
操作审计
全平台操作记录检索与导出
| ID | 操作人 | 模块 | 动作 | 目标ID | 详情 | IP | 时间 |
|---|---|---|---|---|---|---|---|
| {{ a.id }} | {{ a.operator_name }} | {{ a.module }} | {{ a.action }} | {{ a.target_id }} | {{ a.ip }} | {{ fmt(a.created_at) }} |
暂无日志
第 {{ audit2Page }} 页 / 共 {{ Math.ceil(audit2Total / audit2PageSize) }} 页({{ audit2Total }} 条)
消息推送
全站站内消息(逾期提醒 / 系统通知)—— 未读 {{ msgUnread }}
消息列表
| 用户ID | 类型 | 标题 | 内容 | 已读 | 时间 |
|---|---|---|---|---|---|
| {{ m.user_id }} | {{ m.type }} | {{ m.title }} | {{ 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.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) }}