Files
OneOS-V2/docs/superpowers/specs/2026-07-26-global-operation-actions-design.md
2026-07-29 16:04:39 +08:00

114 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OneOS V2 全局列表操作列调整设计
## 背景
车辆资产列表当前把全部行操作收进自建“更多”菜单,不符合 OneOS V2 使用公共 `OperationActions` 的要求。现行全局规范又将“查看详情”定义为低频浏览动作,默认收入“更多”,与本次确认的“双外置”方向不一致。
本次调整同时修正规范与车辆资产页:将“查看 / 详情”定义为稳定的首要入口,与常用工作流动作共同外置;低频管理、历史与危险操作保留在“更多”菜单。
## 目标与范围
### 目标用户
使用 OneOS V2 台账的运营人员、业务经办人和管理员。
### 核心任务
用户在扫描列表时,可以直接进入详情或执行最常用的工作流动作,不必先打开菜单。
### 本次范围
- 更新 OneOS V2 全局 `OperationActions` 规范。
- 同步公共组件说明、组件行为和相关设计系统引用。
- 将车辆资产列表迁移到公共 `OperationActions`
- 保留车辆资产页现有的查看详情、编辑和设置运维负责人能力。
### 不在范围内
- 不修改车辆资产的信息架构、筛选、列结构和详情页。
- 不新增业务权限或后端接口。
- 不批量迁移所有历史台账;全局规则用于后续迁移和新页面。
## 全局操作分级
操作列外置动作最多两个,固定按下列顺序显示:
1. 查看类入口:`查看``详情``查看详情`
2. 一个常用工作流动作:`编辑``处理``处置`
其余动作进入“更多”菜单:
- 低频管理:设置或修改负责人、转交等。
- 留痕与历史:查看记录、操作记录、历史日志等。
- 高风险操作:撤回、终止、删除等。
“查看记录”表示历史或留痕查询,继续视为低频动作;它不等同于进入当前业务对象的“查看详情”。
## 显示规则
```text
[查看/详情] [编辑/处理/处置] [⋮ 更多]
固定首位 最多一个 按需显示
```
- 只读台账仅外置“查看 / 详情”。
- 没有查看入口时,可外置最多两个常用工作流动作。
- 没有更多动作时,不显示省略号按钮。
- 没有任何可用操作时显示 `-`
- 权限过滤在布局分配前完成,避免空菜单或占位按钮。
- 操作列不换行PC 建议宽度为 `148184px`,按外置文案长度在页面级固定。
- H5 继续遵循 44×44px 最小触控热区。
## 车辆资产页落地
车辆资产列表每行使用:
- 外置一:`查看`,进入车辆详情页。
- 外置二:`编辑`,打开现有车辆编辑流程。
- 更多:`设置运维负责人`
操作顺序在所有行保持一致。无运维管理权限时,“更多”菜单不显示;若编辑权限也不可用,则只保留“查看”。
车辆页删除自建 `ActionsMoreMenu` 及其专属菜单皮肤,改用 `src/common/OperationActions.tsx``src/common/vm-operation-actions.css`。业务回调保持不变。
## 组件与文档同步
需要保持下列内容一致:
- `src/resources/design-system/DESIGN.md` §3.16
- `src/resources/design-system/chapters/03-components.md`
- `src/prototypes/vm-shared/DESIGN.md`
- `src/common/operation-actions-spec.md`
- `src/common/OperationActions.tsx`
- `src/common/vm-operation-actions.css`
公共组件应把详情类 `view` 动作放到外侧首位,把“查看记录 / 操作记录”等历史型动作分入更多菜单。`splitOperationActions` 需区分详情入口与历史记录,不能再把两者合并为同一低频类别。
## 交互与无障碍
- “更多”触发器使用 `MoreHorizontal` 图标,`aria-label="更多操作"`
- 菜单支持点击外部和 `Escape` 关闭,并沿用公共组件的键盘与焦点行为。
- 外置操作具有可见的悬停和键盘焦点状态。
- 冻结操作列中的菜单不得被表格行、滚动容器或相邻单元格遮挡。
- 危险操作需要保留公共组件的危险态表达,不与普通动作混排。
## 验收标准
- 全局主规范、章节规范、共享规范和公共组件说明不存在冲突表述。
- 公共组件默认按“查看在前、工作流动作在后、更多按需”渲染。
- 车辆资产页显示“查看、编辑、更多”,顺序和样式符合全局规范。
- 查看详情、编辑、设置运维负责人沿用原有业务行为。
- 权限受限时不显示未授权动作,也不出现空“更多”按钮。
- 操作列在桌面端不换行,菜单不被表格遮挡。
- 键盘可以聚焦并触发所有可见操作,`Escape` 可以关闭菜单。
- 相关自动化测试、类型检查和构建通过;通过浏览器检查桌面宽度及窄视口表现。
## 测试策略
- 为公共 `OperationActions` 补充或更新渲染顺序、只读状态、无更多动作和权限过滤测试。
-`splitOperationActions` 覆盖详情类与历史记录类的分类差异。
- 为车辆资产列表覆盖三个动作的存在性和回调触发。
- 运行项目现有测试、类型检查和构建。
- 在本地浏览器验证操作列宽度、冻结层级、菜单遮挡、悬停与键盘焦点。