Files
saas-mbr/abacus-static-framework/.project.agents/docs/context/UIUX.md
T

69 lines
3.4 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.
# abacus-static-framework — UI/UX 设计指南
> 视觉与交互细节的权威(与 `PRD.md` 并列上游)。视觉/交互改动先改本文,再让派生实现对齐。
> 本文面向业务子系统开发:**页面模式与标准组件是唯一推荐路径**(共享规范 `docs/coding-standards.md §4.4~4.7` 为强制约束,此处给设计视角的说明)。
## 1. 设计原则(优先级递减)
1. **复用优先**:先标准组件(`framework/components/standard`),再 vxe-table(仅表格),再 Element Plus,最后才自研。
2. **模式一致**:查询+列表页用同一套骨架(AbQueryForm + vxe-grid),让所有子系统页面观感统一。
3. **配置驱动**:表单/查询表单用 fieldConfigs 配置式,少写模板代码。
4. **表格是主角**:业务数据以表格呈现,列字段名与后端响应字段对齐。
## 2. 视觉身份
- 无独立品牌视觉;跟随公司菜单框架既有主题;不引入自定义品牌色(见 §3 语义色)。
## 3. 色板与字体
- 色板:使用 Element Plus 主题变量与 `framework/styles/variables.scss` 中定义的语义变量(禁止在业务内散落硬编码 hex)。
- 字体:沿用框架全局样式;字号层级用 Element Plus 默认(14px 正文 / 标题层级)。
## 4. 间距与栅格
- 页面骨架固定:`<Title>` 页头 → `.form-container`(查询区,AbQueryForm)→ `.table-container`(vxe-grid);间距沿用框架示例(sms 示例页面)的既有值。
- 弹窗内表单用 AbForm 的布局配置(默认 label 左对齐)。
## 5. 动效与触觉
- 无自定义动效需求;使用 Element Plus 默认过渡;表格行编辑为双击进入(`editConfig trigger:'dblclick', mode:'row'`)。
## 6. 状态系统
- 空态:vxe-grid 空数据默认展示;查询无结果提示由表格空态承担。
- 加载:`loading` 状态由 vxe-grid/按钮统一管理。
- 错误:接口错误由 request.ts 统一弹窗(业务 9xx / 系统 5xx),页面不重复提示。
- 成功:新增/保存成功用 `ElMessage.success`(框架既有约定)。
## 7. 屏幕规范
### 7.1 查询+列表页(标准模式)
```
Title 页头
AbQueryFormfieldConfigs: input/daterange/select/radio + slot 自定义)
vxe-gridgridDefaultProps + proxyConfig.ajax.queryclientPage 按数据量选)
el-dialog(新增/编辑,AbForm / el-drawer(详情/日志)
```
### 7.2 可编辑表格页
- `editConfig: { trigger: 'dblclick', mode: 'row' }` + `editRender: { name: 'input' }` + `@edit-closed` 保存(参考 `views/config/business/index.vue`)。
### 7.3 容器页(List/Detail 切换)
- 容器 `index.vue``:is` 动态切换 `list.vue` / `detail.vue`(参考 `views/document/interfacedoc/`)。
## 8. 可访问性
- 表单字段 label 必填;操作按钮带语义化文字;表格 `seq` 序号列保留。
## 9. 文案语气
- 按钮:动词短语(新增/编辑/删除/导出/查询/重置)。
- 错误提示:简短、可直接行动的句子(由后端 message 提供,前端原样展示)。
## 10. 性能预算
- 列表默认服务端分页(`clientPage:false`),避免一次拉全量;大数据量禁客户端分页。
- 查询表单默认收起多余条件(按需扩展)。
## 11. 视觉资产清单
- 一般业务无需产出视觉资产;如确需图标,放入 `src/assets/` 由构建处理(或 `public/` 保持原名),命名 kebab-case。