24 KiB
页面开发总览 · Web 管理后台 + APP 员工端
更新时间:2026-10-15 数据来源:代码现状(
zhongyou_web/src、zhongyouApp/src)+ 最新接口文档(docs/api,api.json 282 个接口)+ 甲方功能表 + 两份高保真原型。图例
- 状态:
✅ 已完成/⚠️ 部分完成/❌ 未开始- 可开工:
✅ 可直接开工(接口与布局均就绪)/⚠️ 需确认(部分接口或设计待定)/⛔ 不可开工(缺关键接口或第三方方案)本文件为页面级总览;具体接口字段见 page-api-map.md 与 docs/api/modules。开发约定见 AGENTS.md。
一、总览统计
| 端 | 页面总量 | 已完成 | 部分完成 | 未开始 |
|---|---|---|---|---|
| Web 管理后台 | 34(含系统监控/个人中心) | 25 | 2(积分管理、切换日志) | 7(工作台、商城运营+7子页、安全兑换管理、数据分析、风控与审计) |
| APP 员工端 | 15(14 屏 + 通知提醒卡片) | 10 | 0 | 5(设置、商城 5 屏)+ 通知提醒卡片 |
二、Web 管理后台
| # | 一级导航 | 页面 | 状态 | 接口就绪 | 可开工 | 说明 |
|---|---|---|---|---|---|---|
| 1 | — | 登录 | ✅ | — | — | login.vue |
| 2 | 工作台 | 工作台(KPI 6 卡 + 近7日趋势 + 待办预警 + 最新上报) | ⚠️ 待测试 | ✅ | ✅ | 已开发(2026-10-15):src/views/workbench/index.vue + src/api/analysis/home.js,接口 analysis/home/overview、todo-warning、trend-latest。“平台同步失败”无接口(展示 —、重试禁用);风控预警“处理”目标页未开发(禁用) |
| 3 | 隐患治理 | 隐患审核 | ✅ | ✅ | — | hazard/audit |
| 4 | 隐患治理 | 隐患台账 | ✅ | ⚠️ | — | hazard/ledger;“重试同步”缺平台同步接口,列已隐藏 |
| 5 | 积分与商城 | 积分管理 · Tab1 积分规则 | ✅ | ✅ | — | points/management |
| 6 | 积分与商城 | 申诉台账(独立页 + 积分管理内“申诉处理”Tab) | ⚠️ 待测试 | ✅ | ✅ | 已开发(2026-10-15):AppealLedgerPanel.vue(复用组件)+ 独立页 src/views/points/appeal/index.vue + src/api/points/appeal.js。列表 appeal/todoList、详情 appeal/detail/{id}、审批 appeal/completeFlow(taskId 由 flowable/busiInfo/getProcessDetail 补全)。积分管理「申诉处理」Tab 已启用并复用同一组件 |
| 7 | 积分与商城 | 积分管理 · Tab3 手动调整 | ❌ | ⛔ | ⛔ | 阻塞:balance/adjust 文档仅声明 form-urlencoded + 单整数,缺 userId/points/原因字段,需后端补请求结构 |
| 8 | 积分与商城 | 积分管理 · Tab4 流水冲正 | ⚠️ 待测试 | ✅ | ✅ | 已开发(2026-10-15):src/views/points/management/components/TransactionReversePanel.vue + src/api/points/transaction.js。列表 transaction/getListByPage、冲正 transaction/reverse/{logId}(二次确认,仅 status=1 可冲正) |
| 9 | 积分与商城 | 商城运营(主页:KPI + 兑换订单表 + 订单详情时间线 + 退款/导出) | ❌ | ⚠️ | ⚠️ | 订单/追踪/物品/日志接口齐全(兑换订单、订单追踪、兑换物品、操作日志);“惠服对接状态卡”(Token 状态/同步时间/全量·增量·单品同步/刷新 Token)无接口,该卡片需等后端 |
| 10 | 积分与商城 | 商城运营 › 分类管理 | ❌ | ⛔ | ⛔ | 页面本体由惠服平台提供,需甲方给出嵌入方案(URL/SSO) |
| 11 | 积分与商城 | 商城运营 › 轮播图管理 | ❌ | ⛔ | ⛔ | 同上 |
| 12 | 积分与商城 | 商城运营 › 楼层管理 | ❌ | ⛔ | ⛔ | 同上 |
| 13 | 积分与商城 | 商城运营 › 纯积分兑换专区 | ❌ | ⛔ | ⛔ | 同上 |
| 14 | 积分与商城 | 商城运营 › 纯积分兑换管理 | ❌ | ⛔ | ⛔ | 同上 |
| 15 | 积分与商城 | 商城运营 › 日常积分兑换管理 | ❌ | ⛔ | ⛔ | 同上 |
| 16 | 积分与商城 | 商城运营 › 日常积分兑换专区 | ❌ | ⛔ | ⛔ | 同上 |
| 17 | 安全兑换管理 | 安全兑换管理(总开关/限额/大额审批/防刷配置) | ⚠️ 待测试 | ✅ | ✅ | 已开发(2026-10-15):src/views/exchange/security/index.vue + src/api/exchange/config.js。接口 exchange/config/active·switch/status·switch/toggle·add·updateById、anti/farm/active·updateById。注:“校验配置”为前端本地一致性校验(无后端校验配置接口) |
| 18 | 分析与风控 | 数据分析(时效/排行/分类分布/级别分布/月度报告导出;无热力图、无顶部筛选) | ⚠️ 待测试 | ✅ | ✅ | 已开发(2026-10-15):src/views/analysis/index.vue + src/api/analysis/index.js。接口 stats/category·stats/level·timeliness/level·`ranking/points |
| 19 | 分析与风控 | 风控与审计(Tab1 风控预警 + Tab2 审计日志) | ❌ | ⚠️ | ⚠️ | 审计日志 ✅:audit/log/getListByPage、audit/log/biz/{bizId}(操作审计日志);风控预警列表 + 处置(放行/冻结 24h/黑名单)无接口,Tab1 需等后端 |
| 20 | 流程管理 | 隐患流程配置 | ✅ | ✅ | — | flowable/hazardConfig |
| 21 | 流程管理 | 隐患上报(流程发起) | ✅ | ✅ | — | flowable/task/myProcess |
| 22 | 流程管理 | 隐患审批(待办/已办) | ✅ | ✅ | — | flowable/task/todo |
| 23 | 流程管理 | 切换日志 | ⚠️ 空页 | ⛔ | ⛔ | 无切换日志列表/详情接口,仅有 POST /flowable/hazard/switchLevel 操作接口(见 CURRENT_STATUS.md 已知风险) |
| 24 | 流程管理 | 流程监听 | ✅ | ✅ | — | system/listener |
| 25 | 流程管理 | 流程定义 | ✅ | ✅ | — | flowable/definition |
| 26 | 流程管理 | 审批流程设计 | ✅ | ✅ | — | flowable/definition/model.vue |
| 27 | 流程管理 | 表单配置 | ✅ | ✅ | — | flowable/task/form |
| 28 | 流程管理 | 流程表达式 | ✅ | ✅ | — | system/expression |
| 29 | 系统管理 | 用户管理 | ✅ | ✅ | — | system/user |
| 30 | 系统管理 | 角色管理 | ✅ | ✅ | — | system/role |
| 31 | 系统管理 | 菜单管理 | ✅ | ✅ | — | system/menu |
| 32 | 系统管理 | 部门管理 | ✅ | ✅ | — | system/dept |
| 33 | 系统管理 | 岗位管理 | ✅ | ✅ | — | system/post |
| 34 | 系统管理 | 字典管理 | ✅ | ✅ | — | system/dict |
| — | 系统监控 | 在线用户/定时任务/调度日志/缓存/服务/操作日志/登录日志 | ✅ | ✅ | — | monitor/(旧模块对接) |
| — | — | 个人中心 / 账号退出 | ✅ | ✅ | — | 已实现 |
Web 可直接开工(5 项):工作台、积分管理 Tab2/3/4、安全兑换管理、数据分析。 Web 需确认后开工(2 项):商城运营(订单部分可先做,惠服对接卡待接口)、风控与审计(审计日志可先做,风控预警待接口)。 Web 阻塞(1 + 7 项):切换日志(无接口);商城运营 7 个三方子页(待惠服方案)。
三、APP 员工端
| # | 一级导航 | 页面/组件 | 状态 | 接口就绪 | 可开工 | 说明 |
|---|---|---|---|---|---|---|
| 1 | — | 登录 | ✅ | ✅ | — | LoginScreen |
| 2 | 首页 | 首页(用户区/四宫格/公告条/今日概览/最近上报) | ✅ | ✅ | — | HomeDashboardScreen;缺“通知提醒卡片”(见 #14) |
| 3 | 上报 | 隐患录入(含照片≤8、草稿、校验、提交) | ✅ | ✅ | — | ReportFormV2Screen |
| 4 | 上报 | 草稿箱 | ✅ | ✅ | — | HazardDraftsScreen |
| 5 | 记录 | 隐患台账(卡片列表 + 审批弹层) | ✅ | ✅ | — | RecordsLedgerScreen |
| 6 | 我的 | 个人中心 | ⚠️ | ✅ | — | ProfileScreen;“兑换”统计无值、设置入口为占位 |
| 7 | 我的 | 积分明细 | ✅ | ✅ | — | PointsScreen |
| 8 | 我的 | 我的申诉(含撤回/查看) | ✅ | ✅ | — | AppealsScreen |
| 9 | 我的 | 发起申诉 | ✅ | ✅ | — | AppealFormScreen |
| 10 | 我的 | 设置(消息推送/声音/震动/关于我们/清除缓存/退出登录) | ❌ | ✅(纯本地) | ✅ | 目前是 Alert('设置功能待接入');开关/缓存用 AsyncStorage,无后端依赖,参考原型 scr-settings |
| 11 | 我的 | 我的兑换 | ❌ | ✅ | ✅ | exchange/order/myList(积分兑换订单管理)现成,可直接做 |
| 12 | 公共组件 | 通知提醒卡片(首页顶部未读提醒,可关闭/跳消息中心) | ❌ | ✅ | ✅ | message/unread-count、message/list(用户消息中心) |
| 13 | 我的 | 消息中心(列表/详情/已读) | ✅ | ✅ | — | MessagesScreen |
| 14 | 商城 | 商城-首页 | ❌ | ⛔ | ⛔ | 惠服商城页面本体(三方),见下方原因 |
| 15 | 商城 | 商城-商品详情 / 购物车 / 确认订单 / 商城个人中心 | ❌ | ⛔ | ⛔ | 同上(4 屏) |
备注:APP 现状已含“隐患录入照片上传≤8 张”(
uploadHazardAttachment),zhongyouApp/开发任务清单.md 中“照片未做”已过时。
APP 可直接开工(3 项):设置、我的兑换、通知提醒卡片。
APP 阻塞(5 屏 + 待确认):商城 5 屏(惠服 URL/SSO);个人信息修改(api.json 未收录系统用户 CRUD,需确认)。
四、不可开工 / 需确认的原因汇总
| 页面 | 阻塞原因 | 需要谁提供 |
|---|---|---|
| 切换日志(Web) | 无切换日志列表/详情接口,仅有切换操作接口 | 后端补接口 |
| 商城运营 · 惠服对接状态卡(Web) | 无 Token 状态 / 同步时间 / 全量·增量·单品同步 / 刷新 Token 接口 | 后端补接口 |
| 风控预警(Web 风控与审计 Tab1) | 无预警列表与处置(放行/冻结 24h/黑名单)接口 | 后端补接口 |
| 隐患台账“重试同步” / 数据分析“平台同步失败”(Web) | 无平台同步状态 / 重试接口 | 后端补接口 |
| 商城运营 7 个三方子页(Web) | 页面本体由惠服平台提供 | 甲方/惠服:嵌入方案、URL、SSO |
| 商城 5 屏(APP) | 惠服商城正式地址 + SSO + 回调协议未定 | 甲方/惠服 |
| 个人信息修改(APP) | 最新 api.json 未收录系统用户 CRUD(RuoYi 原生 /system/user/profile 是否可用待确认) |
后端确认 |
| 我的兑换的下单/退款(APP,若需在端内下单) | 下单属惠服商城能力,端内仅能查记录 | 甲方/惠服 |
五、UI 风格统一要求(写页面前必读)
通用原则:新页面必须复用现有组件与主题变量,不得自造一套视觉;列表页沿用现有 Card 列表模式。明确:是。
Web(Vue2 + Element UI 2.15)
- 布局:212px 左侧导航 + 52px Header +
#F0F2F5背景;主色#1890ff;表格字号 12px。 - 统一主题:复用 prototype-theme.scss,不要局部覆盖 Element 变量。
- 列表页:统一使用共享组件 DataListPanel,开启
modern-table(无竖线、表头可拖列宽);筛选/批量操作/分页/状态 Tag 与既有页面(用户管理、隐患台账、积分规则)保持一致。 - 状态与操作:状态用
el-tag(启用绿/停用灰,等级/结果按既定色);破坏性操作二次确认;空态/加载态/错误态齐备。 - 弹窗:沿用现有
el-dialog尺寸与按钮主次(主蓝次白、删除红)。
APP(React Native)
- 主色
#D93B48;页面背景#F0F1F3;卡片白底圆角;分隔线#F5F5F7;正文色#1A1A2E、次要#5A5A72、弱化#9898AE。 - 布局模式沿用现有 screen:顶部 hero 卡 + 白色
crd卡片 +li-it列表行 +tg标签;图标统一用@ant-design/icons-react-native的IconOutline。 - 交互:设置页开关样式参考原型
scr-settings;通知提醒卡片参考原型ntf(顶部条、可关闭、点击跳消息中心)。 - 数据态:加载/空态/错误提示沿用现有
ActivityIndicator+ 文案风格,不伪造数据。
六、开工顺序建议
- Web:工作台 → 积分管理 Tab2/3/4 → 安全兑换管理 → 数据分析(均接口就绪)。
- APP:设置 → 我的兑换 → 通知提醒卡片(均接口就绪)。
- 待接口/第三方:商城运营(订单部分先做)、风控与审计(审计日志先做)、商城 5 屏、切换日志。
每完成一页,同步更新本文件状态、CURRENT_STATUS.md、DEVELOPMENT_LOG.md 及 page-api-map.md。
七、备注与提醒(待跟进)
- 触发条件:第二节 / 第三节的「可直接开工」项(Web 6 项 + APP 3 项)全部完成后。
- 动作:提醒甲方/负责人决定 是否进一步梳理「积分申诉」功能。
- 梳理范围(届时对齐):
- Web「积分管理 → 申诉处理」Tab 的完整交互与字段(列表、受理、处理、流程审批、详情)。
- APP「我的申诉」处理时间线 / 流程进度展示(
appeal/detail/{id}已返回流程进度,可直接补)。 - 待确认项:申诉是否支持补充材料附件;
appeal流程 Key 是否已在「隐患流程配置」中配置(否则走全局默认appeal.flow.key)。
八、积分申诉 · 流程梳理与待确认(疑问清单)
来源:后端提供的申诉流程说明图(提交 / 审批 / 查询列表)+ 文字补充(2026-10-15)。
8.1 流程关系(已明确)
- 状态机:
0 待受理→(accept旧)1 处理中→(handle旧)2 已通过/3 已驳回;0→(submitFlow)启动 Flowable →(completeFlow逐节点)流程结束;0→(withdraw,仅 state=0)4 已撤回。 - 新旧接口分工:新流程走
submitFlow + completeFlow;accept、handle是不依赖流程引擎的旧管理端接口,Web 审批默认走completeFlow,accept/handle仅作无流程时兜底。 - 流程结束时后端自动处理:通过 → 状态置
2并按adjustPoints补发/扣减积分;驳回 → 状态置3;两者都给申请人推送消息。调分会写入积分流水(APPEAL_ADD/APPEAL_DEDUCT)与审计日志。 - 申诉对象:针对“某一条自己上报的隐患”的积分发起申诉。
8.2 待确认疑问清单
A. 需后端确认(接口 / 字段 / 入参)
-
analysis/report/monthly(+/export) 实际需必填year(api.json 未写),已在 W6 补齐(year+month)。 -
completeFlow请求体结构:taskId、通过/驳回标识、adjustPoints传参位置(每节点 or 结束节点)、审批意见字段名。W2 落地假设(2026-10-15,待联调确认):审批 body 采用
{ taskId, instanceId, type: 'appeal', result: '1'|'2', comment };taskId由flowable/busiInfo/getProcessDetail?id=flowInstanceId取当前待办任务补全(沿用隐患审核做法);改判补分的adjustPoints暂放入variables——若后端实际从申诉记录字段读取,需改为“先appeal/updateById更新记录再completeFlow”。 -
手动调整
balance/adjust请求结构(阻塞 W3):文档仅声明 form-urlencoded 单整数,缺userId/points/原因字段与参数名,需后端补充后才能开发「手动调整」。【后端计划 2026-10-16 更新该接口并补参数;同时需确认是直接生效还是二级审批】 -
todoList筛选参数(待办/已办、类型、状态、厂区)与返回字段是否含canApprove、isInitiator(现有 api.json 文档未列出)。 -
myList筛选参数(appealType/status)。 -
detail/{id}返回的“流程进度信息”结构(时间线需要:节点名 / 处理人 / 处理时间 / 审批意见)。 -
管理端“全部申诉列表”是否为
appeal/getListByPage,筛选字段有哪些(申请人 / 厂区 / 类型 / 状态 / 时间)。 -
消息推送的
msgType与文案模板(是否appeal_result)。 -
流程走中间节点时状态是否置
1;撤回(withdraw)后能否重新提交。 -
申诉是否支持附件/补充材料(
Appeal.attachmentUrls字段是否生效)。 -
申诉是否必须关联一条隐患,还是允许无关联的“积分异议 / 其他”。
B. 需客户确认(需求)
- PC「查询所有用户积分」界面:查询字段与筛选条件(客户待定)。
- Web 申诉台账的列表列与筛选项(类比隐患台账)。
- “申诉台账”是独立菜单页还是放在积分管理里的 Tab。
C. 现状差异(待补代码 / 文档)
- APP:appeal.ts 的
myList未接appealType/status筛选;AppealsScreen 详情弹窗缺流程时间线;附件上传未做。 docs/api中completeFlow/todoList/myList/detail的说明比后端图简略,需按后端补全(否则会漏adjustPoints、canApprove等)。- Web:积分管理「申诉处理」Tab 未开发;可能还需独立“申诉台账”页。
九、可开发功能 TODO 表
只列当前可开工的功能(接口就绪)。状态:
☐ 未开始/◐ 进行中/☑ 已完成。 建议文件为推荐落位,可按实际调整;接口路径均省略/gd_dataserver前缀。
9.1 可直接开工(接口齐全)
| 编号 | 端 | 功能 / 页面 | 关键接口 | 建议文件(页面 / 封装) | 优先级 | 状态 | 依赖 / 备注 |
|---|---|---|---|---|---|---|---|
| W1 | Web | 工作台 | analysis/home/overview、home/todo-warning、home/trend-latest |
src/views/workbench/index.vue + src/api/analysis/home.js |
高 | ◐ 待测试 | 已开发(2026-10-15),待测试。菜单:一级「工作台」,路由 workbench,组件 workbench/index(/workbench)。“平台同步失败”KPI 无接口,展示 — |
| W2 | Web | 申诉台账(独立页,抄隐患台账 + 审批) | appeal/todoList、appeal/detail/{id}、appeal/completeFlow、flowable/busiInfo/getProcessDetail |
src/views/points/appeal/index.vue + src/api/points/appeal.js |
高 | ◐ 待测试 | 已开发(2026-10-15),待测试。菜单:一级「积分与商城」→「申诉台账」,路由 points/appeal,组件 points/appeal/index(/points/appeal)。待联调确认:completeFlow 的 taskId 来源、改判补分 adjustPoints 传参(当前放 variables) |
| W3 | Web | 积分管理 · 手动调整 Tab | balance/adjust、balance/getByUserId/{userId} |
src/views/points/management/index.vue + src/api/points/balance.js |
高 | ⛔ 需确认 | 接口定义不完整:balance/adjust 文档仅声明 application/x-www-form-urlencoded + 单个整数,缺 userId/points/原因字段结构,无法开工;后端计划 2026-10-16 更新该接口并补参数,更新后即可开发 |
| W4 | Web | 积分管理 · 流水冲正 Tab | transaction/getListByPage、transaction/reverse/{logId} |
src/views/points/management/components/TransactionReversePanel.vue + src/api/points/transaction.js |
中 | ◐ 待测试 | 已开发(2026-10-15),待测试。积分管理第 4 个 Tab;仅 status=1(有效)可冲正,二次确认。流水无用户姓名字段,列表显示 userId |
| W5 | Web | 安全兑换管理 | exchange/config/active·switch/status·switch/toggle·add·updateById、anti/farm/active·updateById |
src/views/exchange/security/index.vue + src/api/exchange/config.js |
中 | ◐ 待测试 | 已开发(2026-10-15),待测试。菜单:一级「安全兑换管理」,路由 exchange/security,组件 exchange/security/index(/exchange/security) |
| W6 | Web | 数据分析 | analysis/stats/category·stats/level·timeliness/level·`ranking/points |
report | exchange·report/monthly(+/export`) |
src/views/analysis/index.vue + src/api/analysis/index.js |
中 |
| A1 | APP | 设置(推送/声音/震动/关于/清缓存/退出) | 纯本地(AsyncStorage) | src/screens/home/SettingsScreen.tsx |
中 | ☐ | 参考原型 scr-settings |
| A2 | APP | 我的兑换 | exchange/order/myList |
src/screens/home/MyExchangeScreen.tsx + src/api/exchange.ts |
中 | ☐ | 入口:我的 → 我的兑换 |
| A3 | APP | 通知提醒卡片 | message/unread-count、message/list |
src/components/NoticeReminderCard.tsx |
中 | ☐ | 首页顶部条,点击跳 Messages |
9.2 部分可开工(先做主体,其余等接口)
| 编号 | 端 | 功能 / 页面 | 关键接口 | 建议文件(页面 / 封装) | 优先级 | 状态 | 依赖 / 备注 |
|---|---|---|---|---|---|---|---|
| W7 | Web | 商城运营(订单主体) | exchange/order/getListByPage·info·refund/{orderId}、points/order/track/list/{orderId}、exchange/item/* |
src/views/exchange/mall/index.vue + src/api/exchange/order.js |
中 | ☐ | “惠服对接状态卡”无接口,后续再补,不阻塞订单部分 |
| W8 | Web | 风控与审计(审计日志 Tab) | audit/log/getListByPage、audit/log/biz/{bizId} |
src/views/analysis/risk/index.vue + src/api/audit/log.js |
中 | ☐ | 风控预警 Tab 待后端接口 |
约定:每完成一项 → 勾选状态 → 同步更新第三节状态、DEVELOPMENT_LOG.md 与 page-api-map.md。