diff --git a/.trellis/spec/hyb-oa/frontend-react-vite-design.md b/.trellis/spec/hyb-oa/frontend-react-vite-design.md index daa8f203..71992d21 100644 --- a/.trellis/spec/hyb-oa/frontend-react-vite-design.md +++ b/.trellis/spec/hyb-oa/frontend-react-vite-design.md @@ -74,6 +74,23 @@ reference, not a copy of Feishu or Ant Design branding. action, visible common filters, table/card list and right-side operation column. `台账工具` contains export, batch, statistics, templates, full-scope views and advanced filters. +- Business ledger first screens are single-column list pages. Do not use a + default left-list/right-detail workspace for procurement, contracts, projects, + assets, payments, AP or invoices. Open details through a detail route, drawer + or explicit detail/edit area after the user chooses a row; the initial list + page must not auto-select the first item just to fill a second column. +- Ledger status summaries use tabs, segmented controls or compact chips with + counts. Do not place four or five large status cards above ordinary business + lists, and do not put explanatory sentences inside status cards. +- Ledger filters fit the first PC row around `search`, `status` and `scope` + when those capabilities exist. Supplier, legal entity, cost center, date + ranges, contract type, sensitivity, export and test-data toggles belong in + `筛选`, `台账工具` or a tab-specific advanced area; default-visible filters + should not occupy multiple rows. +- Business list columns show object identity, counterpart/person, amount/date, + state and operation. `下一步` is not a default list column or right-side help + panel. Use short state labels such as `待补材料` or `待你处理`; longer guidance + belongs in detail pages, exception blocks or confirmations. - PC detail pages use an Ant Design Pro style detail workspace: top summary, main facts/details/evidence, right-side state and action panel, and bottom history. Do not build PC details as a free stack of equal-weight large cards. @@ -93,10 +110,10 @@ reference, not a copy of Feishu or Ant Design branding. | Surface | Template | First-screen content | Primary action rule | | --- | --- | --- | --- | -| `工作台` | 工作台总览 | 待办摘要、常用业务入口、必要提醒 | No forced header action. Use `去处理`, `新建报销`, `查看全部` inside relevant sections. | +| `工作台` | 工作台总览 | Compact counts, common entries, real reminders | No forced header action. Use `去处理`, `新建报销`, `查看全部` inside relevant sections; do not show helper sentences for ordinary items. | | `待我处理` | 任务处理列表 | `待处理` / `已处理` tabs, count, minimal filters, task list | Row action is `处理`; `已处理记录` is a tab, not a separate header button. | | `审批详情` | 详情工作区 | Summary, facts/evidence, right summary/action panel, history | One action bar: primary `通过`, secondary `退回`/`驳回`, `转审` in `更多`. | -| `报销` / `采购` / `合同` / `项目` / `资产` / `付款` / `应付账款` / `票据` | 业务台账列表 | Common filters plus table/card list | Header creation only when the route owns creation; risky tools in `台账工具` or detail. | +| `报销` / `采购` / `合同` / `项目` / `资产` / `付款` / `应付账款` / `票据` | 业务台账列表 | One-row common filters plus table/card list | Header creation only when the route owns creation; risky tools in `台账工具` or detail; no default left-list/right-detail split. | | Business details | 详情工作区 | Summary, facts, evidence, relations, history | Right-side state/action panel on PC; bottom primary action on mobile. | | `管理` | 管理配置页 | Grouped landing: `人员组织`, `审批流程`, `基础资料`, `系统设置`, `审计排障` | Management subpages use search/filter, table and right operation column. | | `个人设置` | 管理配置页 variant | `个人资料`, `账号安全`, `通知偏好`, `企业微信绑定` | No employee dossier, permission matrix or org maintenance in the default profile path. | diff --git a/.trellis/tasks/05-30-unified-page-design-review/design.md b/.trellis/tasks/05-30-unified-page-design-review/design.md index ad922dee..fa2e53fe 100644 --- a/.trellis/tasks/05-30-unified-page-design-review/design.md +++ b/.trellis/tasks/05-30-unified-page-design-review/design.md @@ -14,11 +14,15 @@ 3. 页头主按钮只用于创建类或真实页面级主动作,例如 `新建报销`、`新建采购`、`新增合同`、`新增资产`。 4. 按钮使用成熟系统常规文案:`处理`、`去处理`、`查看详情`、`查看全部`、`查看进度`、`继续编辑`、`新建`、`新增`、`提交`、`保存`、`更多`。禁止 `处理最急的一件` 这类口号型按钮。 5. 列表页右侧固定操作列;低频或高风险动作进入 `更多`、`台账工具` 或详情页。 -6. PC 详情页采用顶部摘要、中部事实/明细/证据、右侧状态与动作栏、底部历史;移动端采用单列分区和底部安全区主动作。 -7. 审批详情不使用竖向动作卡片。PC 使用一个动作条:`通过` 主按钮,`退回`、`驳回` 次按钮,`转审` 默认进 `更多`;需要理由的动作点击后再展开输入和确认。 -8. 移动端底部只保留一个主动作,次动作进入 `更多` 或确认面板。 -9. 通知中心只做事件收件箱,不复制待办,不做快速上手或流程解释。 -10. 请假、补卡、外出、加班和打卡由企业微信主办;OA 只做记录、镜像、异常、审计和应急入口。 +6. 业务台账首屏统一为单列列表页,不默认使用左列表/右详情,不自动选中第一条记录填充右侧详情。 +7. 状态统计统一降级为 Tab、分段控件或 Chip + 数量;普通业务列表上方不放多张大状态卡片和说明句。 +8. 筛选区默认一行,只放搜索、状态、范围;供应商、法体、成本中心、日期区间、合同类型、敏感级别、导出和测试数据开关进入 `筛选`、`台账工具` 或 Tab 内高级区域。 +9. 业务列表默认不放 `下一步` 列或右侧提示区;异常用短状态标签表达,长说明进入详情、异常块或确认弹窗。 +10. PC 详情页采用顶部摘要、中部事实/明细/证据、右侧状态与动作栏、底部历史;移动端采用单列分区和底部安全区主动作。 +11. 审批详情不使用竖向动作卡片。PC 使用一个动作条:`通过` 主按钮,`退回`、`驳回` 次按钮,`转审` 默认进 `更多`;需要理由的动作点击后再展开输入和确认。 +12. 移动端底部只保留一个主动作,次动作进入 `更多` 或确认面板。 +13. 通知中心只做事件收件箱,不复制待办,不做快速上手或流程解释。 +14. 请假、补卡、外出、加班和打卡由企业微信主办;OA 只做记录、镜像、异常、审计和应急入口。 ## 页面归类 @@ -27,7 +31,7 @@ | 工作台 | 工作台总览 | 待办摘要、常用业务入口、必要提醒;不强行放页头主按钮。 | | 待我处理 | 任务处理列表 | `待处理` / `已处理` 两个 Tab;行操作为 `处理`。 | | 审批详情 | 详情工作区 | 摘要、证据、右侧动作栏、历史;禁止竖向动作卡片。 | -| 报销、采购、合同、项目、资产、付款、应付账款、票据 | 业务台账列表 | 标题、创建按钮、常用筛选、表格/卡片列表、右侧操作列;低频工具进 `台账工具`。 | +| 报销、采购、合同、项目、资产、付款、应付账款、票据 | 业务台账列表 | 标题、创建按钮、一行常用筛选、表格/卡片列表、右侧操作列;低频工具进 `台账工具`;首屏不做左列表/右详情。 | | 业务详情 | 详情工作区 | 摘要、事实、证据、关联、右侧状态/动作、底部历史。 | | 管理 | 管理配置页 | 管理首页分 `人员组织`、`审批流程`、`基础资料`、`系统设置`、`审计排障`;子页表格配置。 | | 个人设置 | 账号设置页 | `个人资料`、`账号安全`、`通知偏好`、`企业微信绑定`;组织角色只读折叠,维护入口进管理。 | diff --git a/.trellis/tasks/05-30-unified-page-design-review/prd.md b/.trellis/tasks/05-30-unified-page-design-review/prd.md index 1fdf62d4..809fb543 100644 --- a/.trellis/tasks/05-30-unified-page-design-review/prd.md +++ b/.trellis/tasks/05-30-unified-page-design-review/prd.md @@ -54,6 +54,10 @@ - 侧边栏入口已确认:常用业务直接展示,管理/低频/冻结/阶段性页面进入 `更多`。默认直接入口包括 `工作台`、`待我处理`、`报销`、`采购`、`合同`、`项目`、`资产`、`付款`、`应付账款`、`票据`、`团队`、`请假记录`、`管理`,但仍需按角色和权限收敛,不能按权限把所有可见模块全铺出来。 - `待我处理` 页面已确认:采用飞书审批式任务列表,主 Tab 为 `待处理` / `已处理`。顶部只显示数量和必要筛选;列表行展示事项、申请人/发起人、等待时间、状态、业务编号和右侧 `处理` 操作。`已处理记录` 不作为孤立右上角按钮,页面不显示解释性副标题或大段说明。 - 报销、采购、合同、项目、资产、付款、应付账款、票据等业务页已确认统一采用 `业务台账列表`:页头标题与创建按钮、常用筛选区、表格/卡片列表、右侧操作列。低频或高风险工具统一进入 `台账工具`、`更多` 或详情页,不在列表首屏铺开。 +- 二次线上反馈后确认业务台账页继续收紧:首屏统一为单列列表,不默认使用左列表/右详情,不自动选中第一条记录;状态摘要改为 Tab/Chip + 数量;筛选区默认只放搜索、状态、范围,超过一行的筛选进入 `筛选` 或 `台账工具`;列表默认删除 `下一步` 列和右侧提示区。 +- 工作台已确认进一步极简:只显示紧凑数量、入口、真实提醒和动作,不再显示解释普通流程的副文案。 +- 详情页动作区已确认:PC 详情页可保留右侧固定动作区,移动端底部固定主动作;列表页不承担详情和流程说明。 +- 本轮追加实现范围已确认:修审批详情 `更多` 遮挡、工作台去解释文案、采购改单列列表、合同筛选压一行、项目删除右侧提示、资产/应付账款去首屏双列和大卡片。 - 管理配置页已确认:侧边栏只保留 `管理`,管理首页按 `人员组织`、`审批流程`、`基础资料`、`系统设置`、`审计排障` 分组进入;子页采用搜索/筛选、表格和右侧操作列。普通业务页面、工作台和个人设置不得混入管理配置矩阵。 - 个人设置页已确认:采用常见网站账号设置结构,只包含 `个人资料`、`账号安全`、`通知偏好`、`企业微信绑定`。组织、角色、直属汇报只做折叠只读摘要;人员档案、权限、组织维护和角色管理全部进入 `管理`。 - 通知中心已确认:只做事件收件箱,显示状态变化、提醒、失败、同步结果和流转消息;点击通知必须跳到业务详情、审批任务或失败说明页。通知中心不复制 `待我处理` 列表,不承担快速上手或流程解释职责。 diff --git a/client/src/index.css b/client/src/index.css index 4b44c9c1..173e3603 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -650,7 +650,7 @@ } .detail-action-stack { - @apply grid gap-3; + @apply grid gap-3 overflow-visible; } .detail-action-card { @@ -661,7 +661,7 @@ } .workflow-action-panel { - @apply xl:sticky xl:top-20; + @apply relative z-30 xl:sticky xl:top-20; } .workflow-action-bar { @@ -669,7 +669,7 @@ } .workflow-action-more { - @apply relative; + @apply relative z-40; } .workflow-action-more > summary { @@ -694,7 +694,7 @@ background: #fff; border-radius: var(--radius-sm); box-shadow: var(--shadow-md); - @apply absolute right-0 top-10 z-20 min-w-28 px-3 py-2 text-left text-sm font-medium text-zinc-800 hover:bg-slate-50; + @apply absolute right-0 top-10 z-50 min-w-28 px-3 py-2 text-left text-sm font-medium text-zinc-800 hover:bg-slate-50; } .notification-inbox { @@ -889,7 +889,7 @@ .portal-task-row { background: rgba(255, 255, 255, 0.88); color: var(--color-text-primary); - @apply grid min-h-[68px] grid-cols-[auto,minmax(0,1fr)] items-center gap-3 px-3.5 py-3 transition-colors hover:bg-white md:grid-cols-[auto,minmax(0,1fr),auto,auto]; + @apply grid min-h-[56px] grid-cols-[auto,minmax(0,1fr)] items-center gap-3 px-3.5 py-2.5 transition-colors hover:bg-white md:grid-cols-[auto,minmax(0,1fr),auto,auto]; } .portal-task-row--warning { diff --git a/client/src/pages/ApOperationsPage.tsx b/client/src/pages/ApOperationsPage.tsx index 567c4e03..0bdb1fd9 100644 --- a/client/src/pages/ApOperationsPage.tsx +++ b/client/src/pages/ApOperationsPage.tsx @@ -229,32 +229,6 @@ function prettyJson(value: unknown) { } } -function SummaryCard({ - title, - value, - tone = "zinc", -}: { - title: string; - value: number | string; - tone?: "zinc" | "amber" | "red" | "emerald"; -}) { - const toneClass = - tone === "amber" - ? "text-amber-700" - : tone === "red" - ? "text-red-700" - : tone === "emerald" - ? "text-emerald-700" - : "text-zinc-900"; - - return ( -
- 导出只用于财务复核和代账交接,范围按当前筛选条件生成;文件可能包含付款、票据和员工摘要信息。 -
- 新建/编辑、导出和高级到期范围放在这里。导出文件可能包含合同金额、相对方、责任人和归档摘要。 -
试运行默认隐藏 TEST/SMOKE 项目。全范围查看请使用筛选区的范围按钮,避免普通项目负责人默认进入公司全量项目。
项目列表用于看状态、风险、负责人和进入详情;成员、里程碑、风险、交付记录和关联业务在详情页处理。
-合同、采购、报销和付款只展示摘要与跳转,不在项目列表直接处理对方模块动作。
-