# 租赁合同管理 · 列表页 PRD

## 1. 模块定位

| 项 | 说明 |
|---|---|
| 模块名称 | 租赁合同管理 |
| 所属系统 | ONE-OS 业务管理 |
| 面包屑 | 业务管理 → 租赁合同管理 |
| 目标用户 | 业务人员（主）、法务（盖章上传）、客服/运营（查看） |
| 核心任务 | 筛选与查看租赁合同台账，发起新增/变更/续签等流程 |
| 交互原型 | `/prototypes/lease-contract-management` |

---

## 4. 筛选区

默认展示 **第一行 4 个筛选项**（3 列栅格），点击「展开更多筛选项」显示全部 **13 项**；支持「重置」「查询」。

| 字段 | 控件 | 说明 |
|---|---|---|
| 合同编码 | 可搜索下拉 | 模糊匹配合同编码 |
| 项目名称 | 可搜索下拉 | 模糊匹配项目名称 |
| 客户名称 | 可搜索下拉 | 模糊匹配客户名称 |
| 签约公司 | 下拉 | 租赁合同签约公司枚举 |
| 审批状态 | 多选下拉 | 全部 / 未提交 / 待审批 / 审批中 / 审批通过 / 审批驳回 / 审批终止 / 撤回 |
| 合同状态 | 多选下拉 | 全部 / 草稿 / 已提交审批 / 合同进行中 / 已终止 |
| 业务部门 | 多选下拉 | 业务相关部门 |
| 业务负责人 | 多选下拉 | 业务组人员 |
| 合同模板 | 单选下拉 | 选项来自合同模板管理已发布且启用的模板「合同名称」维度（如正式合同、试用合同、现代18吨正式合同）；可清空 |
| 标准合同名称 | 单选下拉 | **联动合同模板**：仅在选择合同模板后启用；选项为该模板类别下已发布文档名（如「2026年标准商用车租赁合同」）；支持搜索；可清空 |
| 审批类型 | 多选下拉 | 全部 / 标准合同 / 非标准合同 |
| 创建人 | 多选下拉 | 业务相关人员 |
| 合同结束日期 | 日期范围 | 单输入框双日历，中文界面，开始—结束精确至日 |

**合同模板联动规则**：

1. 未选合同模板时，「标准合同名称」禁用并提示「请先选择合同模板」。
2. 切换合同模板时，自动清空已选标准合同名称。
3. 查询时按合同记录的 `contractTemplateId`（或由合同类型推断的模板 ID）匹配；合同模板与标准合同名称可单独或组合使用。

**交互**：

- **查询**：将当前筛选条件写入「已应用筛选」，列表与 KPI 统计联动。
- **重置**：清空为默认（多选类默认「全部」，单选类清空），并刷新列表。

---

## 5. KPI 统计卡片

共 5 张卡片，点击切换列表筛选（与筛选区条件 **叠加** 生效）。

| 卡片 | 口径（按合同状态） |
|---|---|
| 全部合同 | 不做 KPI 维度过滤 |
| 草稿 | 合同状态 = 草稿 |
| 进行中 | 合同状态 = 合同进行中 |
| 审批中 | 合同状态 = 已提交审批 |
| 已终止 | 合同状态 = 已终止 |

卡片右上角 `?` 悬停展示口径说明。

> **说明**：KPI 按合同状态快速分桶；交还车履约口径（已交未还、临期等）见 §7.2 子表与 §6.6 全局规则，不在 KPI 卡片中重复统计。

---

## 6. 列表工具栏

| 按钮 | 行为 |
|---|---|
| 租赁费用模板 | 跳转或打开费用模板配置（本期原型 Toast） |
| 导出 | 按当前筛选结果导出（本期原型 Toast） |
| 新增 | 进入「新增租赁合同」页 |

---

## 7. 列表字段说明

### 7.1 项目信息（合并列）

一列展示三行：

1. 项目名称（主文案）
2. 合同编码（次级）
3. 客户名称（次级）

点击整格跳转「查看」页（原型 Toast）。

### 7.2 车辆与交车

| 列 | 说明 |
|---|---|
| 租赁订单 · 车辆数 | 租赁订单车辆总数；点击弹出车辆明细表 |
| 租赁订单 · 已交车 | **审批通过**且已有实际交车日期的车辆数；点击展开已交车子表 |

**履约规则**：非审批通过的合同不视为已交车；「已交车辆数」为 0 时按钮禁用。

### 7.2.1 已交车子表

展开「已交车辆数」后展示车辆子表，列包括：

| 列 | 说明 |
|---|---|
| 车辆信息 | 车牌、VIN、品牌型号 |
| 提车应收款 | 支付状态，可跳转详情 |
| 交车 | 已交车展示里程/交车人/时间；未交车显示「未交车」 |
| 租赁账单 | 正常 / 欠费（仅已交车） |
| 还车 | 已还车展示还车信息；未还车显示「未还车」 |
| 还车应结款 | 还车后展示结款状态；**审批中**时展示当前审批人（UI 与主表「审批状态」列一致，含节点悬停） |
| 交车安排 | 区域与计划/实际交车日期 |
| 里程要求 / 里程完成 | 有最低里程要求时展示 |
| 操作 | **审批通过 + 已交车 + 未还车** 显示「还车」链接 |

车辆明细 Popover 字段：车辆类型、品牌、型号、车牌号、实际交车日期、交车人。

### 7.3 状态与业务字段

| 列 | 说明 |
|---|---|
| 合同签署方式 | 线上电子签章 / 线下人工上传；可展开查看或变更 |
| 审批状态 | 未提交 / 待审批 / 审批中 / 审批通过 / 审批驳回等；「审批中」悬停展示审批流节点与当前处理人 |
| 签约公司 | 创建时所选甲方签约主体简称 |
| 业务部门 | 创建时选取 |
| 费用信息 | 付款方式、周期、保证金等摘要 |
| 交车安排 | 合同级交车区域与计划日期 |
| 整体里程完成情况 | 按在租车辆里程汇总展示完成进度 |
| 客户联系人 | 来自客户档案 |
| 受托人 | 显示人数；点击弹出卡片查看姓名、联系方式、身份证号 |
| 创建信息 | 创建人 / 创建时间，精确至分钟 |
| 最后更新 | 更新人 / 最后更新时间，无则显示 `-` |

**分页**：每页 10 / 20 / 50 条可选。

---

## 8. 操作与弹窗

### 8.1 操作列（主按钮 + 更多）

| 操作 | 显示条件 | 行为 |
|---|---|---|
| 查看 | 始终 | 跳转合同查看页 |
| 编辑 | 草稿；或审批驳回 | 进入编辑页 |
| 删除合同 | 草稿 | 二次确认后删除 |
| 撤回合同 | 已提交审批且非驳回 | 二次确认后撤回 |
| 新增车辆 | 合同进行中 | 租赁订单内增车并重新审批 |
| 续签合同 | 进行中 / 到期 | 跳转续签页 |
| 添加被授权人 | 合同进行中 | 弹窗编辑被授权人列表 |
| 附加费用 | 合同进行中 | 弹窗按车辆录入附加费用 |
| 转三方合同 | 合同进行中 | 弹窗新增三方协议，上传协议附件与对方公函 |
| 试用转正式 | 合同模板为「试用合同」 | 单步弹窗：自动拉取客户/授权人/车辆订单（车辆可编辑），可选同时转三方 |
| 终止合同 | 合同进行中 | 二次确认，提交终止审批 |
| 上传盖章合同 | 审批通过且法务未上传 | 仅法务部可见；多文件上传后关闭入口 |

### 8.2 审批状态口径

| 状态 | 定义 |
|---|---|
| 未提交 | 仅保存草稿 |
| 待审批 | 已提交，尚无节点通过 |
| 审批中 | 已有节点通过，未完成终审 |
| 审批通过 | 终审通过 |
| 审批驳回 | 任一节点的驳回；可编辑重提 |
| 审批终止 | 流程被终止 |
| 撤回 | 提交人主动撤回 |

### 8.3 合同状态口径

| 状态 | 定义 |
|---|---|
| 草稿 | 未提交审批 |
| 已提交审批 | 初次提交，终审未完成 |
| 合同进行中 | 终审通过且在有效期内 |
| 已终止 | 终止、自然结束，或续签/转三方后旧合同自动终止 |

### 8.4 弹窗摘要

- **删除草稿**：「是否确认删除该合同草稿」
- **撤回**：「是否确认撤回该合同」
- **终止**：「是否确认终止合同」→ 提交审核
- **添加被授权人**：姓名、电话、身份证；支持增删行
- **附加费用**：按车辆展示类型/品牌/型号/车牌，可填服务项目、费用（元，2 位小数）、生效日期
- **转三方合同**：支持新增多条三方协议；每条可填协议名称、上传协议附件与对方公函
- **试用转正式**：自动带出客户信息、授权人与车辆订单；车辆订单字段可编辑；可勾选「同时转三方合同」并在同一步维护三方协议
- **上传盖章合同**：拖拽多文件；确认后标记已上传

### 8.5 操作流程文档

从「新增合同」起的正向与逆向全流程图见：`.spec/requirements-flow-operations.md`
