# 公海客户归属查看权限
## 涉及页面
- 客户档案 - 公海客户列表 (`/customer/publicSea`)
- 客户档案 - 私海客户列表 (`/customer/privateSea`)
- AI 销售助手 - 客户列表查询
## API
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | /basic/customer/list | 查询客户列表(type=1 公海,type=0 私海) |
**请求参数:** 不变,参考现有接口文档。
**响应变更:** `usageUserName` 字段的值受权限控制:
- **有 `customer:viewAll` 权限**:`usageUserName` 返回该客户对应的销售人名称(与之前行为一致)
- **无 `customer:viewAll` 权限**:仅当客户由当前用户领用(`usage_user`)或创建(`create_user`)时返回销售人名称,其他情况返回空字符串 `""`
响应结构不变,仍为:
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"customerName": "xxx公司",
"usageUserName": "张三",
"type": 1,
"isAssigned": 1
}
]
}
}
```
## 前端修改点
### 1. 公海客户列表表格 — 处理空的 usageUserName
公海列表的"归属销售"列需处理 `usageUserName` 为空的情况:
```html
{{ scope.row.usageUserName || '-' }}
```
### 2. 权限控制 — 页面按钮/功能可见性
通过 `v-hasPermi` 指令或 `@ss.hasPermi('customer:viewAll')` 控制管理类功能的可见性(例如导出含销售人信息的报表等):
```html
导出(含归属销售)
```
### 3. 权限标识
在权限管理(角色管理 > 菜单权限)中新增按钮级权限:
| 权限标识 | 权限名称 | 说明 |
|----------|----------|------|
| `customer:viewAll` | 公海客户归属查看 | 允许查看公海中所有客户的归属销售人信息 |
## 注意事项
- 该权限不影响客户数据的可见范围(公海客户仍对所有登录用户可见),只控制"归属销售人"信息的展示。
- 私海列表中,用户原本就只能看到自己的客户,`usageUserName` 始终是自己的名称,不受此权限影响。
- 前端下拉选择客户列表 (`/basic/customer/customerList`) 也受此权限影响,无权限时 `usageUserName` 可能为空。
- AI 销售助手的客户查询同样遵循此权限规则。