# 客户管理页面

## 功能概述

这是一个完整的客户管理页面，支持客户数据的展示、筛选和搜索功能。

## 主要功能

### 1. 数据源
- 使用 `pageUsers` API 从 User 表读取客户数据
- 支持按状态筛选用户（status: 0 表示正常状态）

### 2. 状态管理
客户状态包括：
- **全部** - 显示所有客户
- **跟进中** - 正在跟进的潜在客户
- **已签约** - 已经签约的客户
- **已取消** - 已取消合作的客户

### 3. 顶部Tabs筛选
- 支持按客户状态筛选
- 显示每个状态的客户数量统计
- 实时更新统计数据

### 4. 搜索功能
支持多字段搜索：
- 客户姓名（realName）
- 昵称（nickname）
- 用户名（username）
- 手机号（phone）
- 用户ID（userId）

### 5. 客户信息展示
每个客户卡片显示：
- 客户姓名和状态标签
- 手机号码
- 注册时间
- 用户ID、余额、积分等统计信息

## 技术实现

### 组件结构
```
CustomerManagement
├── 搜索栏 (SearchBar)
├── 状态筛选Tabs
└── 客户列表
    └── 客户卡片项
```

### 主要状态
- `list`: 客户数据列表
- `loading`: 加载状态
- `activeTab`: 当前选中的状态Tab
- `searchValue`: 搜索关键词

### 工具函数
使用 `@/utils/customerStatus` 工具函数管理客户状态：
- `getStatusText()`: 获取状态文本
- `getStatusTagType()`: 获取状态标签类型
- `getStatusOptions()`: 获取状态选项列表

## 使用的组件

### NutUI 组件
- `Tabs` / `TabPane`: 状态筛选标签页
- `SearchBar`: 搜索输入框
- `Tag`: 状态标签
- `Loading`: 加载指示器
- `Space`: 间距布局

### 图标
- `Phone`: 手机号图标
- `User`: 用户图标

## 数据流

1. 页面初始化时调用 `fetchCustomerData()` 获取用户数据
2. 为每个用户添加客户状态（目前使用随机状态，实际项目中应从数据库获取）
3. 根据当前Tab和搜索条件筛选数据
4. 渲染客户列表

## 注意事项

### 临时实现
- 当前使用 `getRandomStatus()` 生成随机客户状态
- 实际项目中应该：
  1. 在数据库中添加客户状态字段
  2. 修改后端API返回真实的客户状态
  3. 删除随机状态生成函数

### 扩展建议
1. 添加客户详情页面
2. 支持客户状态的修改操作
3. 添加客户添加/编辑功能
4. 支持批量操作
5. 添加导出功能
6. 支持更多筛选条件（注册时间、地区等）

## 文件结构
```
src/doctor/customer/
├── index.tsx           # 主页面组件
└── README.md          # 说明文档

src/utils/
└── customerStatus.ts  # 客户状态工具函数
```
