You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
3.8 KiB

5 days ago
# 03 — 归属流转 + 三 workspace + 内置视图 + 自定义视图查询口径
Type: research
Status: open
Blocked by: 02
## 问题
定客户模块三个 workspace(客户总览 / 我的客户 / 客户公海)的**数据范围**、**内置视图**、**共用列**、**行内操作**、**自定义视图接入**(复用商机 saved-view 手册)。同时定归属的迁移动作(领取/分配/抛公海/交割换主/归档)在读侧怎么反映。
## 一手证据(蓝湖缓存 txt)
- `a4-1-1_客户公海列表.txt` / `a4-1-1_客户公海列表_列表视图_.txt` / `a4-1-2_客户公海列表_分屏视图_.txt` — 客户公海(普通销售视角=批量领取 + 领导视角=批量分配)
- `a4-2-1_客户总览列表_列表视图_.txt` / `a4-2-1_客户总览列表_分屏视图_.txt` / `a4-2-1_客户总览列表_卡片视图_.txt` — 客户总览(三视图:表格/列表详情/看板;含分配/抛公海/归档)
- `a4-3-1_我的客户列表_分屏视图_.txt` / `a4-3-1_我的客户列表_列表视图_.txt` / `a4-3-1_我的客户列表_卡片视图_.txt` — 我的客户
## 已知事实
- **三 workspace 数据范围**(对称商机四视图):
- **我的客户** = 当前用户 owner 或作为协同人的有效客户(去重)。
- **客户总览** = 按 `@DataScope` 覆盖组织范围内的**未删除、未进入公海**客户;含内置子筛「我负责的 / 我协同的 / 我关注的 / 最近访问」;**不混入公海**(公海是独立入口);含**已归档客户 / 已被合并客户**两个专门 tab(原型 A4-2-1 有)。
- **客户公海** = `archive_status=有效 且 owner_user_id IS NULL` 的逻辑视图;无独立池表;`owner_dept_id`+匹配规则的可见性(对称商机公海口径,待与超期规则票 10 呼应)。
- **行内操作差异**:
- 我的客户:详情 / 关注 / 跟进 / 编辑;分配/抛公海按 RBAC 出。
- 客户总览:详情 / 关注 / **分配** / **抛公海** / 更多(含 **归档**);顶部批量:批量分配 / 批量抛公海 / 批量归档 / 工商信息更新。
- 客户公海:普通销售=详情+关注+**领取**+批量领取;领导=详情+关注+**分配**+批量分配(不做审批)。
- **三视图模式(仅客户总览有全三种;公海/我的客户只有列表+分屏)**:表格 / 列表详情(左表+右详情) / 看板(客户阶段分列?待原型核实)。切换视图记住用户偏好(复用 crm-preference)。
- **自定义视图 = crm-preference 平台能力**(商机图票 14 已建平台;本模块新接一个 scope,参商机 `OpportunitySavedViewFilter` 手册)——见票 11。
## 待拍板点
1. **公海准入规则**(原型 A4-1-1 §3 明说):客户有「进行中商机/项目」不可移入公海——本票拍板:抛公海写路径的前置校验点(读 crm-opportunity 存在性;A5 未建先跳过项目那半)。
2. **看板视图(卡片视图)分列维度**:客户阶段?客户星级?→ 需 grill 或读原型细节。
3. **共用列 vs 差异列**:列表统一列 = 客户名/客户类型/行业/客户阶段/星级×2/战略等级/VIP等级/进入公海时间(公海)or销售负责人+部门+关联业务+最近跟进(总览/我的)。字段设置=复用 crm-preference 列偏好。
4. **归属迁移动作枚举**:领取(公海→个人)、分配(公海→个人 / 个人→个人)、抛公海(个人→公海)、交割(交割票 08 专管,本票只留 seam)、归档(→archive_status=2)。每边写操作日志(票 07)。
5. **并发**:所有归属变更 CAS 乐观锁 + 版本号;批量操作跳过已被他人处理的(Toast 报成功/跳过数)。
6. **领导视角 DataScope 映射**:客户总览 = ALL(领导) / DEPT_AND_CHILD(总监) / DEPT(普通销售不可见总览菜单)——对称 crm-auth DataScopeEnum。
## Answer
_(待 resolve)_