# 客户管理 · 新增页产品需求说明（PRD）

> 从列表页「新增客户」进入。保存为原型 Toast，不对接真实接口，**不写回列表台账**。

---

## 1. 页面框架

| 项 | 说明 |
|---|---|
| 面包屑 | 业务管理 / 客户管理 / 新增 |
| 布局 | 三组卡片表单 + 底部 sticky 操作栏 |
| 操作 | 重置（清空表单）、提交（校验后 Toast 成功并返回列表） |

**重要约束：** 本页**不包含**风险标签字段；标签仅在列表页维护。

---

## 2. 客户信息

| 字段 | 必填 | 控件 | 说明 |
|---|---|---|---|
| 客户类型 | 是 | 下拉 | 企业 / 个人 / 事业单位 |
| 客户全称 | 是 | 文本 | 与证照一致；变更时同步发票抬头 |
| 客户简称 | 否 | 文本 | 选填 |
| 省市 | 否 | 文本（置灰） | 自动从通讯地址/地址解析识别 |
| 所属城市 | 是 | 省-市（置灰） | **由地址解析自动识别**，不可手选 |
| 通讯地址 | 是 | 文本 | 填写完整地址后解析省、市（同供应商管理交互） |
| 业务负责部门 | 是 | 下拉 | 变更时清空负责人 |
| 业务负责人员 | 是 | 下拉 | 随部门联动，未选部门时禁用 |
| 合作状态 | 否 | 下拉 | 已合作 / 终止合作 / 洽谈中 / 合同到期 |
| 备注 | 否 | 多行文本 | |

**已移除：** 客户分级（A/B/C）不在新增页展示。

---

## 3. 联系人信息

| 字段 | 必填 | 控件 |
|---|---|---|
| 姓名 | 否 | 文本 |
| 手机号 | 否 | 文本 |
| 职位 | 否 | 文本 |

---

## 4. 付款及开票信息

| 字段 | 必填 | 控件 | 说明 |
|---|---|---|---|
| 发票抬头 | 是 | 文本（禁用） | 自动带入客户全称，不可手改 |
| 纳税人识别号 | 是 | 文本 | |
| 注册地址 | 否 | 文本 | |
| 注册电话 | 否 | 文本 | |
| 开户银行 | 是 | 文本 | |
| 账号 | 否 | 文本 | |

---

## 5. 校验与提交

| 校验项 | 规则 |
|---|---|
| 客户类型 | 必选 |
| 客户全称 | 非空 |
| 所属城市 | 通讯地址须能识别出省、市 |
| 业务负责部门 / 人员 | 必选 |
| 发票抬头 / 税号 / 开户银行 | 非空 |

- 通过后 Toast「客户已保存（原型演示）」并返回列表
- 重置清空全部字段；客户类型默认「企业」
- 校验失败：Toast 首条错误（原型阶段）

---

## 6. 原型实现索引

| 能力 | 代码位置 |
|---|---|
| 新增页 | `pages/CreatePage.tsx` |
| 地址解析 | `utils/address.ts` |
| 常量选项 | `utils/constants.ts` |
| 表单编排 | `index.tsx` |
