wangsli
|
273caf10a9
|
feat(client): 通知中心与未读角标(F16)
- Topbar 增加通知铃铛与未读数
- 新增 /notifications 列表页,支持筛选与标记已读
- 为 workflow/reimbursement/auth 通知提供跳转入口
|
2026-02-09 18:01:27 +08:00 |
|
wangsli
|
a4f38792f1
|
feat(client): 报销明细编辑器与费用类型下拉(F6)
- 报销详情新增明细列表与新增/编辑/删除入口
- 接入费用类型只读接口并保持总金额自动刷新
- 补 data-testid 以便 E2E/回归
|
2026-02-09 17:54:59 +08:00 |
|
wangsli
|
fc50ffc808
|
feat(client): 用户管理页 + E2E 门禁(E15/E16/E18)
- 新增系统用户管理页(创建/禁用启用/重置密码/角色)
- 引入 Playwright E2E:覆盖登录-报销-待办-票据-OCR-支付-登出
- 新增 ci-e2e 工作流(PR + nightly)
|
2026-02-09 01:13:14 +08:00 |
|
wangsli
|
f4c476883e
|
feat: 默认账号文档与登录失败体验(E8)
- README 补充 seed:dev 默认账号(仅本地联调)
- LoginPage 增加后端不可达提示与 data-testid
- errorMessages 补充 SYS_001/AUTH_003 可读化
|
2026-02-08 23:42:59 +08:00 |
|
wangsli
|
a707edd3c9
|
feat(client): 委派管理页最小运营闭环(E7)
- 新增委派 API 封装与委派管理页面(创建/列表/撤销)
- 增加菜单入口与路由守卫(expense.proxy_manage)
|
2026-02-08 23:38: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
|
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 |
|