提交图
408 次代码提交
作者 SHA1 备注 提交日期
wangsli e9974d4f59 feat(client): 报销页精修与 testid(E5)
- 报销列表使用 Tabs/Table 收敛展示
- 报销详情动作区(submit/withdraw/pay)统一组件与错误展示
- 支付凭证字段补齐 data-testid 供 E2E
2026-02-08 23:30:06 +08:00
wangsli b94959f7d0 feat(client): 待办页精修与 testid(E4)
- 待办列表使用 Tabs/Table 统一样式
- 待办详情动作区使用 Button/Textarea/Card 收敛
- 增加 data-testid 供 Playwright 稳定定位
2026-02-08 23:26:20 +08:00
wangsli 8196bc6e77 feat(client): 导航布局收敛与移动端菜单(E3)
- Sidebar/Topbar 统一交互与样式
- 移动端抽屉菜单(Dialog)+ 账号下拉菜单(DropdownMenu)
- 导航项抽取为 NavLinks 便于后续扩展
2026-02-08 23:22:22 +08:00
wangsli c7619e55b4 feat(client): UI primitives 基线(E2)
- 引入 Radix Dialog/DropdownMenu/Tabs + CVA
- 新增 Button/Input/Dialog/Tabs/Table/Card 等组件(本地拷贝单向同步)
- 增加 touch-target(44px) 样式基础
2026-02-08 23:17:38 +08:00
wangsli 7a6f5573a6 feat(client): 完成 P3 业务页联动闭环(D6/D8/D10/D11)
- 待办:列表/详情 + approve/reject/return/transfer(D6)
- 报销:列表/详情 + create/submit/withdraw/pay(D8)
- 票据:列表/上传/OCR轮询/绑定/预览(D10)
- 统一:Api types + 错误映射 + react-query缓存失效(D11)
2026-02-08 23:08:41 +08:00
wangsli 0cd44a3d6a feat(server): 委派回收并发防重 + 最小门禁闸门
- delegationRevokeJob 改用 FOR UPDATE SKIP LOCKED + UPDATE RETURNING 原子认领
- regression-workflow-actions 新增 RUN_DELEGATION_CONCURRENCY_CHECK 并发校验开关
- README 补充最小门禁与并发语义说明
2026-02-08 11:38:58 +08:00
wangsli 4c7018ca4a feat(client): 增加审计日志页面与权限路由菜单 2026-02-07 21:54:37 +08:00
wangsli c290e03fef feat(client): 初始化前端壳与鉴权守卫(P1-5)
- 技术栈:React 18 + TypeScript + Vite + Tailwind

- API 层:ApiError + 401 自动刷新 + single-flight 重试

- 鉴权:内存 Access Token + Cookie Refresh + 启动 bootstrap

- RBAC:权限映射 + RequireAuth/RequirePermission 路由守卫

- 布局:OA 工作台壳层 + 侧边栏 + 5 个占位页面

- 样式:复用 hyb-web 视觉 token(单向同步)

- 文档:新增 client README,补充 server 联调说明
2026-02-07 16:43:57 +08:00