1. 调整菜单与路由:重命名客户信息/客户账号为客户档案管理/客户小程序授权管理,移除客户建筑/房间路由,新增空间拓扑路由 2. 后端新增客户统计接口`/customers/stats`,前端同步API与类型定义 3. 重构客户档案与小程序授权页面,仅保留数据库支持字段,移除无支撑功能 4. 新增空间拓扑页面,合并建筑与房间管理为树形拓扑视图 5. 更新数据库种子数据与权限配置,清理废弃菜单与绑定关系 6. 补充UI设计文档与规范说明
51 lines
3.7 KiB
Markdown
51 lines
3.7 KiB
Markdown
# Tasks
|
||
|
||
- [x] Task 1: 调整客户管理菜单权限种子(`database/db_seed.sql`)
|
||
- [x] 1.1 将 id=12 菜单名「客户信息」改为「客户档案管理」
|
||
- [x] 1.2 将 id=14 菜单名「客户账号」改为「客户小程序授权管理」,权限/图标可沿用
|
||
- [x] 1.3 删除 id=25「客户建筑」、id=26「客户房间」两条菜单
|
||
- [x] 1.4 新增 id=32「空间拓扑与用电架构」,path `/customer/topology`,component `customer/topology/index`,permission `customer:topology`
|
||
|
||
- [x] Task 2: 调整前端路由与侧边菜单(`client/src/router/index.ts`)
|
||
- [x] 2.1 同步各子菜单 `meta.title`(信息→客户档案管理、账号→客户小程序授权管理)
|
||
- [x] 2.2 移除 `customer/building`、`customer/room` 路由
|
||
- [x] 2.3 新增 `customer/topology` 路由(title「空间拓扑与用电架构」、permission `customer:topology`)
|
||
|
||
- [x] Task 3: 后端客户统计端点(`server/src` 客户 controller/service)
|
||
- [x] 3.1 新增 `GET /customers/stats`,返回 `{ total, statusCounts, levelCounts }`,按登录人 salesman_id 过滤
|
||
- [x] 3.2 前端 `client/src/api/customer.ts` 新增 `getStats()` 并扩展类型
|
||
|
||
- [x] Task 4: 重构客户档案管理页(`client/src/views/customer/info/index.vue`)
|
||
- [x] 4.1 顶部 KPI 统计卡(总数、按状态、按级别),数据来自 stats 端点
|
||
- [x] 4.2 搜索栏:关键词、行政区划(省市县级联)、客户级别、状态、负责业务员
|
||
- [x] 4.3 表格列:客户编号、客户名称、省市区、详细地址、联系人/电话、客户级别、状态、负责业务员、操作(编辑/删除/详情)
|
||
- [x] 4.4 新增/编辑弹窗仅含数据库 `customer` 字段
|
||
- [x] 4.5 仅使用数据库已有字段,去除 UI 中无支撑字段
|
||
|
||
- [x] Task 5: 重构客户小程序授权管理页(`client/src/views/customer/account/index.vue`)
|
||
- [x] 5.1 页面标题/说明改为「客户小程序授权管理 / 定向邀请准入制」风格
|
||
- [x] 5.2 表格列:登录手机号、所属客户、微信绑定状态(wx_openid 是否存在)、状态、最近登录时间、操作
|
||
- [x] 5.3 新增/编辑弹窗保留所属客户、登录电话、状态、重置默认密码;删除、解绑微信操作
|
||
- [x] 5.4 去除邀请凭证/二维码/短信等无数据库支撑能力
|
||
|
||
- [x] Task 6: 新增空间拓扑与用电架构页(`client/src/views/customer/topology/index.vue`)
|
||
- [x] 6.1 客户选择(复用客户 options 接口)
|
||
- [x] 6.2 树形拓扑:客户 → 建筑(building_name、purpose、floor_count)→ 房间(room_code、room_name、floor_no、room_purpose)
|
||
- [x] 6.3 节点新增/编辑/删除:复用现有 `customer-building`、`customer-room` CRUD API,通过弹窗维护
|
||
- [x] 6.4 前端组合拓扑数据(客户 list → building list → room list)
|
||
- [x] 6.5 按 UI 设计风格(KPI/指标卡、搜索、卡片化)排版,仅用数据库字段
|
||
|
||
- [x] Task 7: 清理废弃建筑/房间页面
|
||
- [x] 7.1 删除或停用 `client/src/views/customer/building`、`client/src/views/customer/room` 视图(其 CRUD 逻辑已迁移至空间拓扑页引用)
|
||
|
||
- [x] Task 8: 静态校验与联调
|
||
- [x] 8.1 前端 `vue-tsc` / 类型检查通过(`client` `npm run check` 0 错误)
|
||
- [x] 8.2 后端 TypeScript 编译通过(`server` `npm run build` 成功)
|
||
- [ ] 8.3 起 dev server 验证:菜单渲染、客户档案管理、小程序授权管理、空间拓扑增删改,salesman 数据权限正常(未在本会话执行,如需可另行启动联调)
|
||
|
||
# Task Dependencies
|
||
- Task 4 依赖 Task 3(stats 端点)与 Task 1/2(菜单、路由)
|
||
- Task 5 依赖 Task 1/2
|
||
- Task 6 依赖 Task 1/2
|
||
- Task 7 依赖 Task 6
|
||
- Task 8 依赖 Task 3/4/5/6 |