diff --git a/components.json b/components.json new file mode 100644 index 0000000..5c23ec4 --- /dev/null +++ b/components.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "radix-nova", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/index.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "iconLibrary": "lucide", + "rtl": false, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "menuColor": "default", + "menuAccent": "subtle", + "registries": {} +} diff --git a/docs/asset-ui-migration.md b/docs/asset-ui-migration.md new file mode 100644 index 0000000..b407ecf --- /dev/null +++ b/docs/asset-ui-migration.md @@ -0,0 +1,43 @@ +# 资产管理组件库迁移 + +## 范围与约束 + +资产管理的总览、库存统计、车型/批次、交还车、部门、区域、客户、筛选与明细弹窗。 + +- shadcn/ui:官方 CLI 生成的 Radix Nova 组件,中文化关闭按钮;使用组件默认尺寸、语义主题与 Tailwind 布局工具类。 +- Apache ECharts:趋势、区域对比和省份分布,按需加载;ResizeObserver 适配容器,卸载时销毁实例。 +- AG Grid Community:排序、列筛选、列宽调整、固定识别列和分页。未使用 Enterprise、授权密钥、企业分组或 Excel 导出接口。 +- H5:同一数据/列定义驱动 shadcn 卡片与分页;关键数量、异动类型/时间、待交车合同/脱敏客户直接可见,辅助信息按需展开。手机不加载桌面 Grid 模块。 +- Excel 导出沿用现有 xlsx,按需加载。 +- 移除旧资产展示组件及 assets.css/apple-tokens.css;没有新增资产自定义选择器。视觉变量直接采用 apple-design 技能提供的 `src/vendor/apple-design/tokens.css`,组件空间、颜色与暗色适配使用 shadcn/ui 属性和 Tailwind 工具类。其他 BI 模块未迁移。 + +资产总览采用靛蓝标题区、浅色分组底、蓝色运营卡与靛蓝库存卡,并缩小卡片高度以提高信息密度。操作控件集中在标题下方,主视图与库存子视图选中态更清晰。资产页提供浅色/深色切换并记住当前浏览器选择;图表坐标、图例及明细表格颜色跟随主题。 + +## 数据口径 + +总运营 = 租赁 + 自营;异动、待交车属于总库存子集,不重复累计。 +交还车日期统计为车次;车型/批次的本周交还车沿用后端按车辆去重统计。 +省份分布使用既有公司范围接口,页面明确标示不受表格筛选影响。 +待交车客户来自后端脱敏字段,合同仅使用当前待交车任务,不回退历史合同。 + +修正库存型号误用为合同批次条件、周明细漏传公司条件、区域统计与明细范围不同,以及区域“其他车型”误排除挂车的问题。区域城市折叠列表保留实际城市,不再把第九个及后续城市合并成无法准确下钻的“其他”。新增离线接口回归覆盖。 + +## 验证 + +- TypeScript 检查通过。 +- 全仓 108 项测试通过(包含新的公司/区域下钻测试),无数据库依赖的新增测试使用 repository stub。 +- 生产构建通过。AG Grid 与 ECharts 独立懒加载包仍超过 Vite 的 500 kB 提示阈值;未屏蔽该提示。 +- Web:总览、库存下钻 55 → 55、部门、客户脱敏/省份图、公司切换、区域“其他”下钻 6 → 6、车型入口、日期筛选。 +- 390 px H5:页面无横向溢出;车辆弹窗宽 358 px;搜索结果 1 条及分页、辅助信息折叠、日期区间应用可用。 +- 浏览器验收未发现 console error/warn。 +- 验收时异动、待交车均为 0,只完成其空状态验证;有记录的业务数据展示仍需后续验收。 + +本轮未发布、未推送。版本仍为优化前已提交的 1.1.16。 + +## 本轮可读性与交互调整 + +- 恢复深蓝标题、亮蓝操作、橙色异动提示,降低背景饱和度;库存数字使用深色,和运营数字区分。 +- 所有共享筛选面板默认折叠,已选条件在折叠标题显示,清空后回到未设条件状态。所属公司作为全局数据范围保留可见。 +- Web 与 H5 的记录数不超过 20 条时不分页,桌面表格高度适应数据;超过 20 条仍分页,避免大量车辆渲染。8 条以内不显示无必要的搜索框。 +- 手机标题与总数并排,主导航和统计页签触控高度至少 44 px。 +- 浏览器验证:部门 8 条完整展示且分页隐藏;766 条车辆仍分页;区域筛选后折叠摘要和库存计数一致。 diff --git a/docs/ui-optimization-checklist.md b/docs/ui-optimization-checklist.md new file mode 100644 index 0000000..ac5a915 --- /dev/null +++ b/docs/ui-optimization-checklist.md @@ -0,0 +1,141 @@ +# LN-BI UI 优化待办清单 + +> 生成日期:2026-09-20 +> 来源:全局外壳/导航、数据看板与图表、业务操作页面三路 UI/UX 审查汇总 +> 用法:`- [ ]` 为未完成,`- [x]` 为已完成;每条附 `文件:行号` 证据,完成后建议连同代码一起提交。 +> 关联文档:`../LN-BI-项目分析报告.md` §11.4、`../LN-BI-重构方案.md` 阶段 5/6 + +--- + +## P0 可用性与数据信任(最优先) + +### 可访问性:下拉组件 +- [ ] SearchSelect 键盘/读屏不可用:补 `role="combobox"` + `aria-expanded` + listbox/option 语义、↑↓/Enter/Escape,或直接替换 Headless UI / Radix Combobox — `src/components/SearchSelect.tsx:47-68` +- [ ] MultiSearchSelect 同上,且焦点环颜色与单选版不一致(emerald vs blue)— `src/components/MultiSearchSelect.tsx:59-85` +- [ ] mileage SearchableSelect 选项为裸 div,键盘不可达 — `src/modules/mileage/monitoring/components/SearchableSelect.tsx:60-72` +- [ ] 排序表头补 `aria-sort`;三张 div 模拟表格中期换成真 `