Files
andyesfly c60caa4770 refactor(客户管理): 完成客户管理模块UI与架构全面调整
1.  调整菜单与路由:重命名客户信息/客户账号为客户档案管理/客户小程序授权管理,移除客户建筑/房间路由,新增空间拓扑路由
2.  后端新增客户统计接口`/customers/stats`,前端同步API与类型定义
3.  重构客户档案与小程序授权页面,仅保留数据库支持字段,移除无支撑功能
4.  新增空间拓扑页面,合并建筑与房间管理为树形拓扑视图
5.  更新数据库种子数据与权限配置,清理废弃菜单与绑定关系
6.  补充UI设计文档与规范说明
2026-09-09 17:31:24 +08:00

51 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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