76 lines
2.2 KiB
Markdown
76 lines
2.2 KiB
Markdown
# 线索管理模块迁移方案 — 07 验证清单
|
||
|
||
> Phase D 代码审查 + 逻辑对齐已完成;**浏览器手测**项仍建议在联调环境复验。
|
||
|
||
---
|
||
|
||
## 功能验证
|
||
|
||
### 列表
|
||
|
||
- [x] 我的线索 / 全部 / 待跟进 / 今日新增 / 已转化 Tab 数据正确(后端 `viewType` + mine 排除已转化)
|
||
- [x] 筛选、重置、分页
|
||
- [x] 批量分配、批量删除(含已转化拒绝 — 后端抛错 + 前端展示 failItems)
|
||
- [x] 导出、导入
|
||
- [x] 快速搜索走 `keyword` OR 匹配姓名/手机/公司
|
||
|
||
### 线索 CRUD
|
||
|
||
- [x] 新增:手机号重复提示(后端校验 + 前端 checkDuplicate 二次确认)
|
||
- [x] 编辑:已转化不可编辑
|
||
- [x] 删除:已转化不可删
|
||
- [ ] 详情页数据与列表一致(手测)
|
||
|
||
### 跟进
|
||
|
||
- [x] 新增跟进后:follow_count+1、status→follow、last_time、next_time(`create_clue_follow`)
|
||
- [x] 删除跟进:回写 follow_count / last_time(`delete_clue_follow`)
|
||
|
||
### 转化
|
||
|
||
- [x] checkConvert 未跟进不可转化(`follow_count >= 1`)
|
||
- [x] 转化成功:客户+联系人+线索状态+clue_id 关联
|
||
- [x] 转化后按钮禁用(列表/详情 isConverted 判断)
|
||
|
||
### 分配 / 无效
|
||
|
||
- [x] 批量分配负责人(已转化整批拒绝;分配说明写入 remark)
|
||
- [x] 标记无效 + 原因(支持 ids 批量)
|
||
|
||
### 权限
|
||
|
||
- [x] 无 `crm:clue:add` 时新增按钮不可见(`useCluePerm` + menuCodes)
|
||
- [ ] super_admin / 普通角色菜单过滤正确(手测)
|
||
|
||
---
|
||
|
||
## UI 合规(Fresh Mint)
|
||
|
||
- [x] 列表单 `panel-top` 标题
|
||
- [x] 工具栏「已选 N 项」在前
|
||
- [x] 弹窗无背景模糊、`dialog-form-layout`
|
||
- [x] 状态字段 `el-tag` 语义色
|
||
- [x] 操作列不裁切(min-width ≥ 320)
|
||
|
||
---
|
||
|
||
## API
|
||
|
||
- [x] 所有请求走 `/web/crm/clue/*` POST
|
||
- [x] 租户隔离:单条读写校验 `tenant_no`
|
||
- [x] `tenant_no` 不信任前端传入(CRUD 使用 `get_tenant_no`)
|
||
|
||
---
|
||
|
||
## 回归
|
||
|
||
- [ ] 客户模块:由线索转化的客户在客户列表可见(手测)
|
||
- [ ] 公海池、产品模块未受影响(手测)
|
||
|
||
---
|
||
|
||
## 未纳入本期
|
||
|
||
- 线索统计页:路由 `isHide: true`,菜单不展示;后端统计 API 保留
|
||
- `POST /clue/follow/export`:原 CRM 有,门户未实现(低优先级)
|