Add aftersales work order frontend pages

- Public scan-to-confirm page (/aftersales/:sn) with phone last-4 verification
- Admin list + detail pages with state machine, QR generation, reassign, force-close
- PublicLayout extracted from PublicQuery so both pages share logo + 备案 chrome
- PublicQuery auto-redirects scanned zjbf-sh-* serials to the aftersales page
- AdminLayout: new 售后工单 menu entry

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Frudrax Cheng
2026-05-26 10:51:25 +08:00
parent 11f3eda668
commit 6fef517556
12 changed files with 1505 additions and 51 deletions
+13 -2
View File
@@ -18,13 +18,17 @@
frontend/
├── src/
│ ├── components/ # 通用组件
│ │ ── AdminLayout.tsx
│ │ ── AdminLayout.tsx
│ │ └── PublicLayout.tsx # 公开页统一布局(Logo + 备案)
│ ├── pages/ # 页面组件
│ │ ├── Login.tsx
│ │ ├── PublicQuery.tsx
│ │ ├── Dashboard.tsx
│ │ ├── Generate.tsx
│ │ ├── Manage.tsx
│ │ ├── EmployeeSerials.tsx
│ │ ├── Aftersales.tsx # 售后工单列表(管理后台)
│ │ ├── AftersalesDetail.tsx # 售后工单详情(管理后台)
│ │ ├── AftersalesConfirm.tsx # 售后工单扫码确认(公开)
│ │ └── Profile.tsx
│ ├── services/ # API 服务层
│ │ └── api.ts
@@ -86,6 +90,8 @@ VITE_API_BASE_URL=/api
- 用户登录
- 公开查询序列号(支持二维码扫描)
- 扫描到 `zjbf-sh-*` 售后码时自动跳转到售后确认页
- 售后工单确认页(扫码 → 手机号末四位校验 → 已授权/未授权)
### 管理后台
@@ -98,6 +104,11 @@ VITE_API_BASE_URL=/api
- 查看序列号列表
- 吊销企业/序列号
- 查看序列号二维码
- 员工管理(员工赋码生成与维护)
- 售后工单
- 技术员创建工单、填写处理结果、提交客户确认
- 管理员可重新分配技术员或强制关闭工单
- 工单状态机:待处理 → 待客户确认 → 已完成 / 已退回
- 用户资料管理
## License