{
  "documentVersion": 1,
  "format": "axhub-annotation-source",
  "data": {
    "version": 2,
    "prototypeName": "lease-contract-management",
    "pageId": "list",
    "updatedAt": 1782884134073,
    "nodes": [
      {
        "id": "lc-list-filter",
        "index": 1,
        "title": "筛选条件",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-list-filter\"]"
          ],
          "fingerprint": "lc-list-filter",
          "path": []
        },
        "aiPrompt": "列表筛选区字段与查询逻辑。",
        "annotationText": "默认展示 4 项，可展开至 12 项；查询与 KPI 联动。",
        "hasMarkdown": true,
        "color": "#2563eb",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-list-kpi",
        "index": 2,
        "title": "KPI 统计卡片",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-list-kpi\"]"
          ],
          "fingerprint": "lc-list-kpi",
          "path": []
        },
        "aiPrompt": "五张 KPI 卡片口径与点击筛选。",
        "annotationText": "全部 / 进行中 / 已终止 / 临期 / 过期。",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-fleet-summary",
        "index": 3,
        "title": "在租车辆概览",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-fleet-summary\"]"
          ],
          "fingerprint": "lc-fleet-summary",
          "path": []
        },
        "aiPrompt": "按品牌型号统计在租车辆，支持品牌标签筛选。",
        "annotationText": "顶部展示在租总数；品牌标签筛选车型卡片；点击卡片查看车辆明细。",
        "hasMarkdown": true,
        "color": "#32a06e",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-list-toolbar",
        "index": 4,
        "title": "列表工具栏",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-list-toolbar\"]"
          ],
          "fingerprint": "lc-list-toolbar",
          "path": []
        },
        "aiPrompt": "费用模板、导出、新增入口。",
        "annotationText": "「新增」进入租赁合同创建页。",
        "hasMarkdown": true,
        "color": "#0f766e",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-list-table",
        "index": 5,
        "title": "合同台账列表",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-list-table\"]"
          ],
          "fingerprint": "lc-list-table",
          "path": []
        },
        "aiPrompt": "台账表格列与操作。",
        "annotationText": "",
        "hasMarkdown": true,
        "color": "#2563eb",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-create-main-contract",
        "index": 6,
        "title": "主体合同信息",
        "pageId": "create",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-create-main-contract\"]"
          ],
          "fingerprint": "lc-create-main-contract",
          "path": []
        },
        "aiPrompt": "签约、里程、费用三块表单。",
        "annotationText": "完成度徽章；甲乙档案只读同步。",
        "hasMarkdown": true,
        "color": "#32a06e",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-create-lease-order",
        "index": 7,
        "title": "附件1：租赁订单",
        "pageId": "create",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-create-lease-order\"]"
          ],
          "fingerprint": "lc-create-lease-order",
          "path": []
        },
        "aiPrompt": "订单车辆与交车信息。",
        "annotationText": "三者责任险等为完成度必填项。",
        "hasMarkdown": true,
        "color": "#2563eb",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-create-poa",
        "index": 8,
        "title": "授权委托书",
        "pageId": "create",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-create-poa\"]"
          ],
          "fingerprint": "lc-create-poa",
          "path": []
        },
        "aiPrompt": "受托人列表编辑。",
        "annotationText": "至少一行且姓名/联系方式/身份证完整。",
        "hasMarkdown": true,
        "color": "#7c3aed",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-create-preview",
        "index": 9,
        "title": "实时预览",
        "pageId": "create",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-create-preview\"]"
          ],
          "fingerprint": "lc-create-preview",
          "path": []
        },
        "aiPrompt": "Word 版式预览与可编辑正文。",
        "annotationText": "改动风控红线条款将触发非标准合同。",
        "hasMarkdown": true,
        "color": "#0ea5e9",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      },
      {
        "id": "lc-create-footer",
        "index": 10,
        "title": "底栏操作",
        "pageId": "create",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lc-create-footer\"]"
          ],
          "fingerprint": "lc-create-footer",
          "path": []
        },
        "aiPrompt": "取消、保存草稿、提交审核。",
        "annotationText": "保存/提交时展示将走的审批类型。",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000
      }
    ]
  },
  "markdownMap": {
    "lc-list-filter": "## 4. 筛选区\n\n默认展示 **第一行 4 个筛选项**（3 列栅格），点击「展开更多筛选项」显示全部 12 项；支持「重置」「查询」。\n\n| 字段 | 控件 | 说明 |\n|---|---|---|\n| 合同编码 | 可搜索下拉 | 模糊匹配合同编码 |\n| 项目名称 | 可搜索下拉 | 模糊匹配项目名称 |\n| 客户名称 | 可搜索下拉 | 模糊匹配客户名称 |\n| 签约公司 | 下拉 | 租赁合同签约公司枚举 |\n| 审批状态 | 多选下拉 | 全部 / 待审批 / 审批中 / 审批通过 / 审批驳回 / 未提交 |\n| 合同状态 | 多选下拉 | 全部 / 草稿 / 变更 / 合同进行中 / 到期合同 / 已提交审批 / 已结束 |\n| 业务部门 | 多选下拉 | 业务相关部门 |\n| 业务负责人 | 多选下拉 | 业务组人员 |\n| 合同类型 | 多选下拉 | 全部 / 正式合同 / 试用合同 |\n| 审批类型 | 多选下拉 | 全部 / 标准合同 / 非标准合同 |\n| 创建人 | 多选下拉 | 业务相关人员 |\n| 合同结束日期 | 日期范围 | 开始—结束，精确至日 |\n\n**交互**：\n\n- **查询**：将当前筛选条件写入「已应用筛选」，列表与 KPI 统计联动。\n- **重置**：清空为默认（多选类默认「全部」），并刷新列表。\n\n---",
    "lc-list-kpi": "## 5. KPI 统计卡片\n\n共 5 张卡片，点击切换列表筛选（与筛选区叠加生效）。\n\n| 卡片 | 口径 |\n|---|---|\n| 全部合同 | 不做 KPI 维度过滤 |\n| 进行中 | 合同状态为「合同进行中」且结束日期 ≥ 今日 |\n| 已终止 | 合同状态为「已终止」或「已结束」 |\n| 临期合同 | 距离合同结束日期 ≤ 30 天且未过期 |\n| 过期合同 | 合同状态为「已过期」或「到期合同」 |\n\n卡片右上角 `?` 悬停展示口径说明。\n\n---",
    "lc-fleet-summary": "# 在租车辆概览\n\n按品牌型号统计在租车辆，支持品牌标签筛选。\n\n## 说明\n\n顶部展示在租总数；品牌标签筛选车型卡片；点击卡片查看车辆明细。",
    "lc-list-toolbar": "## 6. 列表工具栏\n\n| 按钮 | 行为 |\n|---|---|\n| 租赁费用模板 | 跳转或打开费用模板配置（本期原型 Toast） |\n| 导出 | 按当前筛选结果导出（本期原型 Toast） |\n| 新增 | 进入「新增租赁合同」页 |\n\n---",
    "lc-list-table": "## 7. 列表字段说明\n\n### 7.1 项目信息（合并列）\n\n一列展示三行：\n\n1. 项目名称（主文案）\n2. 合同编码（次级）\n3. 客户名称（次级）\n\n点击整格跳转「查看」页（原型 Toast）。\n\n### 7.2 车辆与交车\n\n| 列 | 说明 |\n|---|---|\n| 车辆数 | 租赁订单车辆总数；点击弹出车辆明细表 |\n| 已交车 | 已有实际交车日期的车辆数；点击弹出已交车列表 |\n\n车辆明细字段：车辆类型、品牌、型号、车牌号、实际交车日期、交车人。\n\n### 7.3 状态与业务字段\n\n| 列 | 说明 |\n|---|---|\n| 审批类型 | 标准合同 / 非标准合同；位于审批状态左侧 |\n| 审批状态 | 待审批 / 审批中 / 审批通过 / 审批驳回 / 未提交；「审批中」悬停展示审批流节点 |\n| 合同状态 | 草稿 / 变更 / 合同进行中 / 到期合同 / 已提交审批 / 已结束 |\n| 签约公司 | 创建时所选甲方签约主体简称 |\n| 业务部门 / 业务负责人 | 创建时选取 |\n| 合同类型 | 正式合同 / 试用合同 |\n| 客户联系人 / 联系电话 | 来自客户档案 |\n| 被授权人 | 显示人数；点击弹出卡片查看姓名、联系方式、身份证号 |\n| 创建人 / 创建时间 | 精确至分钟 |\n| 最后更新 | 更新人 / 最后更新时间，无则显示 `-` |\n\n**分页**：每页 10 / 20 / 50 条可选。\n\n---\n\n---\n\n## 8. 操作与弹窗\n\n### 8.1 操作列（主按钮 + 更多）\n\n| 操作 | 显示条件 | 行为 |\n|---|---|---|\n| 查看 | 始终 | 跳转合同查看页 |\n| 编辑 | 草稿；或审批驳回 | 进入编辑页 |\n| 删除合同 | 草稿 | 二次确认后删除 |\n| 撤回合同 | 已提交审批且非驳回 | 二次确认后撤回 |\n| 新增车辆 | 合同进行中 | 租赁订单内增车并重新审批 |\n| 续签合同 | 进行中 / 到期 | 跳转续签页 |\n| 添加被授权人 | 合同进行中 | 弹窗编辑被授权人列表 |\n| 附加费用 | 合同进行中 | 弹窗按车辆录入附加费用 |\n| 变更为三方合同 | 合同进行中 | 跳转变更页 |\n| 转正式合同 | 试用合同 | 跳转转正式页 |\n| 终止合同 | 合同进行中 | 二次确认，提交终止审批 |\n| 上传盖章合同 | 审批通过且法务未上传 | 仅法务部可见；多文件上传后关闭入口 |\n\n### 8.2 审批状态口径\n\n| 状态 | 定义 |\n|---|---|\n| 未提交 | 仅保存草稿 |\n| 待审批 | 已提交，尚无节点通过 |\n| 审批中 | 已有节点通过，未完成终审 |\n| 审批通过 | 终审通过 |\n| 审批驳回 | 任一节点的驳回；可编辑重提 |\n\n### 8.3 合同状态口径\n\n| 状态 | 定义 |\n|---|---|\n| 草稿 | 未提交审批 |\n| 已提交审批 | 初次提交，终审未完成 |\n| 变更 | 已通过基础上变更并重新审批中 |\n| 合同进行中 | 终审通过且在有效期内 |\n| 到期合同 | 已过结束日期 |\n| 已结束 | 终止或自然结束 |\n\n### 8.4 弹窗摘要\n\n- **删除草稿**：「是否确认删除该合同草稿」\n- **撤回**：「是否确认撤回该合同」\n- **终止**：「是否确认终止合同」→ 提交审核\n- **添加被授权人**：姓名、电话、身份证；支持增删行\n- **附加费用**：按车辆展示类型/品牌/型号/车牌，可填服务项目、费用（元，2 位小数）、生效日期\n- **上传盖章合同**：拖拽多文件；确认后标记已上传",
    "lc-create-main-contract": "## 2. 主体合同信息\n\n卡片内三个可折叠区块，标题行右侧展示区块说明（展开时显示在标题后方）。\n\n### 2.1 签约信息\n\n| 字段 | 必填 | 说明 |\n|---|---|:---:|\n| 合同编号 | 是 | 前缀 `HT-ZL-` + 用户输入 |\n| 甲方 | 是 | 出租方签约主体，来自组织机构 |\n| 乙方 | 是 | 客户选择器；仅 A/B 级客户可选 |\n\n选择甲方/乙方后，下方只读面板自动带出档案：\n\n**甲方**：户名、开户行、账号、通讯地址、联系人、电话、邮箱。\n\n**乙方**：企业名称、开户银行、银行账号、纳税人识别号、企业地址、企业电话、通讯地址、联系人、电话、邮箱；资质证照缩略图可点击放大。\n\n未选双方时展示空状态引导。\n\n### 2.2 里程标准\n\n对应合同正文最低里程与租金减免条款。\n\n| 字段 | 说明 |\n|---|---|\n| 是否有最低里程要求 | 开关 |\n| 统计周期 | 有要求时必选：月 / 季 / 年 |\n| 目标里程 | 有要求时必填（公里） |\n| 里程类型 | 多选标签：实际里程 / 仪表里程 等 |\n\n### 2.3 费用信息\n\n| 字段 | 必填 | 说明 |\n|---|---|:---:|\n| 付款周期 | 是 | 如月付、季付 |\n| 氢费支付方式 | 是 | 后付 / 预付 |\n| 预付金额 | 条件 | 预付时必填 |\n| 提前付款工作日 | 条件 | 预付时必填 |\n| 还车氢量差单价 | 是 | 元 |\n\n**完成度**：上述必填项均已填则卡片显示「已完成」。\n\n---",
    "lc-create-lease-order": "## 3. 附件1：租赁订单\n\n| 区域 | 说明 |\n|---|---|\n| 投保车辆数 / 三者责任险（百万） | 三者责任险必填 |\n| 交车区域 | 省市区级联 |\n| 计划交车日期 | 日期 |\n| 订单车辆表 | 品牌型号级联、车牌、租期、租金、氢费、增值服务等 |\n\n支持新增行、复制行、删除行；表头 KPI 展示合计。\n\n**完成度**：三者责任险已填即视为完成（原型简化口径）。\n\n---",
    "lc-create-poa": "## 4. 授权委托书\n\n被委托人表格：姓名、联系方式、身份证号。\n\n支持新增行、删除行。\n\n**合同备注**：授权委托书区块最下方提供文本域，支持自定义输入，非必填；列表页不再展示备注列。\n\n**完成度**：至少一行且三项均非空。\n\n---",
    "lc-create-preview": "## 5. 实时预览\n\n- 基于标准合同模板 V26.6 拼装 HTML，A4 分页展示。\n- 支持缩放（50%—150%）、连续预览 / 单页预览切换。\n- **可编辑预览**：合同正文 `contentEditable`；用户可直接改字。\n- 顶栏展示当前 **审批类型** 徽章。\n\n### 5.1 占位符替换\n\n左侧表单变更时，预览内 `{{contractCode}}`、`{{customerName}}` 等变量实时替换。\n\n### 5.2 条件条款与附件章节\n\n按租赁订单车辆品牌型号，过滤模板中条件条款与附件章节绑定（与合同模板管理规则一致）。\n\n---\n\n---\n\n## 6. 审批类型判定\n\n| 类型 | 触发条件 |\n|---|---|\n| 标准合同 | 默认可编辑预览相对基线未改动风控红线条款 |\n| 非标准合同 | 预览中 `.ct-risk-redline[data-risk-redline=\"1\"]` 正文相对基线有增删改 |\n\n检测逻辑：`lease-contract-risk-detect.js` 对比基线 HTML 与当前合并页 HTML。\n\n保存草稿 / 提交审核时 Toast 展示将走的审批类型（原型）。\n\n---",
    "lc-create-footer": "## 7. 底栏操作\n\n| 按钮 | 行为 |\n|---|---|\n| 取消 / 返回列表 | 不保存，回列表 |\n| 保存草稿 | 保存为草稿，审批类型随检测结果记录 |\n| 提交审核 | 校验必填后发起审批流程 |\n\n---"
  },
  "assetMap": {},
  "directory": {
    "nodes": [
      {
        "type": "folder",
        "id": "lc-doc-root",
        "title": "租赁合同管理说明",
        "defaultExpanded": true,
        "children": [
          {
            "type": "markdown",
            "id": "lc-doc-overview",
            "title": "模块总览",
            "markdown": "## 1. 背景与目标\n\n### 1.1 背景\n\n商用车租赁业务以合同为履约核心。业务人员需要基于法务维护的标准 Word 合同模板，快速草拟租赁合同、录入订单车辆与费用条款，并走标准/非标准审批。合同全生命周期包含草稿、审批、进行中变更、到期续签、终止等状态。\n\n### 1.2 产品目标\n\n| 目标 | 说明 |\n|---|---|\n| 台账可视 | 多维度筛选 + KPI 卡片快速定位进行中/临期/过期合同 |\n| 草拟高效 | 左侧结构化表单 + 右侧 Word 版式实时预览 |\n| 合规可控 | 修改模板风控红线条款自动走非标准合同审批 |\n| 档案复用 | 甲乙双方信息从主数据只读带出，减少重复录入 |\n| 流程闭环 | 列表操作覆盖续签、增车、附加费用、终止、法务盖章等场景 |\n\n### 1.3 非目标（本期不做）\n\n- 完整审批流配置界面（审批节点由流程引擎提供）\n- 合同 PDF 在线签署\n- 与财务系统的自动对账接口\n- 三方合同变更页的完整表单（列表入口预留，原型 Toast）\n\n---"
          },
          {
            "type": "link",
            "id": "lc-link-template",
            "title": "合同模板管理",
            "href": "/prototypes/contract-template-management",
            "target": "self"
          },
          {
            "type": "folder",
            "id": "lc-doc-prd",
            "title": "PRD 全文",
            "defaultExpanded": true,
            "children": [
              {
                "type": "markdown",
                "id": "lc-doc-prd-full",
                "title": "PRD 完整文档",
                "markdown": "# 租赁合同管理 · 产品需求文档（PRD）\n\n| 项 | 内容 |\n|---|---|\n| 文档版本 | v1.0 |\n| 模块名称 | 租赁合同管理 |\n| 所属系统 | ONE-OS 业务管理 |\n| 目标读者 | 前端 / 后端 / 测试 / 业务产品对接人 |\n| 交互原型 | `/prototypes/lease-contract-management` |\n| 关联原型 | [合同模板管理](/prototypes/contract-template-management)、[车辆管理](/prototypes/vehicle-management) |\n| 文档状态 | 已对齐原型，待研发排期 |\n\n---\n\n## 1. 背景与目标\n\n### 1.1 背景\n\n商用车租赁业务以合同为履约核心。业务人员需要基于法务维护的标准 Word 合同模板，快速草拟租赁合同、录入订单车辆与费用条款，并走标准/非标准审批。合同全生命周期包含草稿、审批、进行中变更、到期续签、终止等状态。\n\n### 1.2 产品目标\n\n| 目标 | 说明 |\n|---|---|\n| 台账可视 | 多维度筛选 + KPI 卡片快速定位进行中/临期/过期合同 |\n| 草拟高效 | 左侧结构化表单 + 右侧 Word 版式实时预览 |\n| 合规可控 | 修改模板风控红线条款自动走非标准合同审批 |\n| 档案复用 | 甲乙双方信息从主数据只读带出，减少重复录入 |\n| 流程闭环 | 列表操作覆盖续签、增车、附加费用、终止、法务盖章等场景 |\n\n### 1.3 非目标（本期不做）\n\n- 完整审批流配置界面（审批节点由流程引擎提供）\n- 合同 PDF 在线签署\n- 与财务系统的自动对账接口\n- 三方合同变更页的完整表单（列表入口预留，原型 Toast）\n\n---\n\n## 2. 用户与场景\n\n### 2.1 目标用户\n\n| 角色 | 诉求 |\n|---|---|\n| 业务人员 | 新增/编辑合同、提交审批、进行中变更 |\n| 法务人员 | 审批通过后上传盖章合同扫描件 |\n| 客服/运营 | 查看合同台账与车辆交车情况 |\n| 风控（间接） | 非标准合同审批识别风控条款变更 |\n\n### 2.2 核心用户故事\n\n1. **作为业务**，我希望按项目/客户/状态筛选合同，以便跟进我的在管合同。\n2. **作为业务**，我希望新增合同时选客户即带出开票与证照信息，以便快速核对乙方资料。\n3. **作为业务**，我希望右侧预览与左侧表单联动，以便确认合同正文与填写一致。\n4. **作为业务**，我若只改非红线内容，应走标准审批；改了风控红线则自动走非标准审批。\n5. **作为法务**，我希望审批通过后在列表上传盖章合同，以便归档。\n6. **作为业务**，我希望进行中的合同能续签、增车、录附加费用，以便业务持续运营。\n\n---\n\n## 3. 名词解释\n\n| 名词 | 定义 |\n|---|---|\n| 标准合同审批 | 未改动模板风控红线条款正文时的审批路径 |\n| 非标准合同审批 | 预览中风控红线条款（`data-risk-redline=\"1\"`）相对模板基线被修改 |\n| 风控红线条款 | 合同模板中标记的合规关键条款 |\n| 合同状态 | 草稿、已提交审批、变更、合同进行中、到期合同、已结束等 |\n| 审批状态 | 未提交、待审批、审批中、审批通过、审批驳回 |\n| 标准模板 | 合同模板管理中 `isDefault=true` 的已发布租赁模板 |\n\n---\n\n## 4. 信息架构\n\n```text\n租赁合同管理\n├── 列表页\n│   ├── 筛选区（12 项，默认展示 4 项）\n│   ├── KPI 卡片（5 张）\n│   ├── 工具栏（费用模板 / 导出 / 新增）\n│   └── 合同台账表\n└── 新增 / 编辑页\n    ├── 主体合同信息\n    │   ├── 签约信息\n    │   ├── 里程标准\n    │   └── 费用信息\n    ├── 附件1：租赁订单\n    ├── 授权委托书\n    ├── 实时预览（可编辑 + 审批类型）\n    └── 底栏（保存草稿 / 提交审核）\n```\n\n---\n\n## 5. 数据模型（建议）\n\n```typescript\ninterface LeaseContract {\n  id: string;\n  contractCode: string;           // HT-ZL-YYYY-NNN\n  projectId: string;\n  projectName: string;\n  lessorId: string;               // 甲方签约主体\n  customerId: string;             // 乙方客户\n  contractType: 'formal' | 'trial';\n  contractApprovalType: 'standard' | 'nonstandard';\n  approvalStatus: 'draft' | 'pending' | 'in_review' | 'approved' | 'rejected';\n  contractStatus: string;\n  contractEndDate: string;        // YYYY-MM-DD\n  businessDept: string;\n  businessOwner: string;\n  mileage: MileageStandard;\n  feeInfo: FeeInfo;\n  leaseOrder: LeaseOrder;\n  powerOfAttorney: PowerOfAttorney;\n  previewHtmlBaseline: string;    // 用于风控比对\n  previewHtmlCurrent?: string;\n  legalStampedContractUploaded?: boolean;\n  vehicles: LeaseVehicleRow[];\n  creator: string;\n  createTime: string;\n  updater?: string;\n  updateTime?: string;\n  remark?: string;\n}\n```\n\n字段细节见新增页各表单区块说明（`.spec/requirements-prd-create.md`）。\n\n---\n\n## 6. 业务规则（全局）\n\n### 6.1 乙方客户可选规则\n\n仅 **A/B 级** 风控客户可选；C/D 级在客户选择器中标记「不可选」。\n\n### 6.2 合同编号\n\n展示前缀 `HT-ZL-`，用户输入后缀；存储时拼接完整编码。\n\n### 6.3 审批类型自动判定\n\n- 基线：由 `buildLeaseContractPreviewHtml` 生成的初始 HTML。\n- 当前：用户可编辑预览合并后的 HTML。\n- 若 `isRiskRedlineContentModified(baseline, current)` 为真 → **非标准合同审批**。\n\n### 6.4 列表 KPI 与筛选\n\nKPI 卡片筛选与筛选区条件 **叠加**（先 KPI 维度，再应用筛选表单）。\n\n### 6.5 法务盖章上传\n\n- 条件：`approvalStatus = 审批通过` 且 `legalStampedContractUploaded != true`。\n- 权限：当前用户部门为法务部。\n- 上传成功后隐藏「上传盖章合同」入口。\n\n---\n\n## 7. 列表页需求\n\n> 详细字段与操作见 `src/prototypes/lease-contract-management/.spec/requirements-prd-list.md`\n\n### 7.1 筛选区\n\n12 个筛选项；默认 4 项；支持展开/收起、查询、重置。\n\n### 7.2 KPI 卡片\n\n全部合同 / 进行中 / 已终止 / 临期合同 / 过期合同。\n\n### 7.3 工具栏\n\n租赁费用模板、导出、新增。\n\n### 7.4 列表\n\n项目信息合并列、车辆数/已交车 Popover、审批流悬停、完整业务字段、操作列。\n\n### 7.5 操作\n\n查看、编辑、删除、撤回、增车、续签、被授权人、附加费用、三方变更、转正式、终止、上传盖章合同等（按状态显隐）。\n\n---\n\n## 8. 新增 / 编辑页需求\n\n> 详细见 `src/prototypes/lease-contract-management/.spec/requirements-prd-create.md`\n\n### 8.1 主体合同信息\n\n签约信息（含甲乙档案只读）、里程标准、费用信息；区块完成度徽章。\n\n### 8.2 附件1：租赁订单\n\n订单车辆表、交车信息、三者责任险等。\n\n### 8.3 授权委托书\n\n被委托人列表。\n\n### 8.4 实时预览\n\nWord 版式、可编辑正文、缩放与翻页、审批类型徽章。\n\n### 8.5 底栏\n\n取消、保存草稿、提交审核。\n\n---\n\n## 9. 与其他模块的关系\n\n```mermaid\nflowchart LR\n  A[合同模板管理] -->|标准模板 HTML| B[租赁合同创建]\n  C[客户管理] -->|乙方档案| B\n  D[组织机构] -->|甲方档案| B\n  E[车辆管理] -->|品牌型号/车牌| B\n  B -->|审批类型| F[审批流引擎]\n  B -->|盖章附件| G[法务归档]\n```\n\n| 模块 | 关系 |\n|---|---|\n| 合同模板管理 | 提供标准模板、风控红线/条件条款标记 |\n| 客户管理 | 乙方选择、风控等级、证照 |\n| 车辆管理 | 租赁订单品牌型号、可交车辆车牌 |\n| 审批流 | 消费标准/非标准审批类型 |\n\n---\n\n## 10. 接口需求（建议）\n\n### 10.1 列表查询\n\n```\nGET /api/lease-contracts?...filters&page=1&pageSize=10\n```\n\n### 10.2 详情\n\n```\nGET /api/lease-contracts/{id}\n```\n\n### 10.3 创建 / 更新\n\n```\nPOST /api/lease-contracts\nPUT  /api/lease-contracts/{id}\n```\n\n请求体含表单各区块与 `contractApprovalType`。\n\n### 10.4 提交审批\n\n```\nPOST /api/lease-contracts/{id}/submit\n```\n\n### 10.5 上传盖章合同\n\n```\nPOST /api/lease-contracts/{id}/stamped-files\nContent-Type: multipart/form-data\n```\n\n---\n\n## 11. 非功能需求\n\n| 类别 | 要求 |\n|---|---|\n| 性能 | 预览 HTML 变更后 300ms 内更新审批类型判定 |\n| 兼容性 | Chrome / Edge 最新两版；推荐宽度 ≥ 1280px |\n| 可访问性 | 表单 `aria-label`；完成度 `role=\"status\"` |\n| 安全 | 预览 HTML 入库前 XSS 清洗 |\n\n---\n\n## 12. 验收标准\n\n### 12.1 列表页\n\n- [ ] 12 项筛选与 KPI 五卡片联动正确\n- [ ] 项目信息列、车辆/交车 Popover、审批流悬停\n- [ ] 操作按合同状态/类型正确显隐\n- [ ] 法务盖章上传后入口关闭\n\n### 12.2 新增页\n\n- [ ] 三块主体合同表单 + 完成度徽章\n- [ ] 甲乙档案只读同步、客户 A/B 级限制\n- [ ] 预览随表单实时更新\n- [ ] 可编辑预览改动风控红线 → 非标准审批徽章\n- [ ] 保存/提交展示审批类型\n\n### 12.3 标注与文档（原型）\n\n- [ ] 已接入 `@axhub/annotation`，关键区域有 `data-annotation-id`\n- [ ] 目录可切换列表页 / 新增页，PRD 全文可阅\n\n---\n\n## 13. 原型实现映射\n\n| 能力 | 文件 |\n|---|---|\n| 列表主逻辑 | `LeaseContractManagement.jsx` |\n| 新增页 | `LeaseContractCreate.jsx` |\n| 主体表单 | `LeaseContractEditorForm.jsx` |\n| 预览 | `LeaseContractPreviewPanel.jsx` |\n| 预览拼装 | `lease-contract-preview-build.js` |\n| 风控检测 | `lease-contract-risk-detect.js` |\n| 表单校验 | `lease-contract-form-validation.js` |\n| 标注入口 | `index.tsx` |\n| 标注数据 | `annotation-source.json` |\n| PRD | `src/resources/lease-contract-management/PRD.md` |\n\n---\n\n## 14. 修订记录\n\n| 版本 | 日期 | 说明 |\n|---|---|---|\n| v1.0 | 2026-06-25 | 首版：对齐列表/新增原型、风控审批判定、标注与 PRD 接入 |\n",
                "markdownPath": "src/resources/lease-contract-management/PRD.md"
              },
              {
                "type": "markdown",
                "id": "lc-doc-prd-list",
                "title": "列表页 PRD",
                "markdown": "# 租赁合同管理 · 列表页 PRD\n\n## 1. 模块定位\n\n| 项 | 说明 |\n|---|---|\n| 模块名称 | 租赁合同管理 |\n| 所属系统 | ONE-OS 业务管理 |\n| 面包屑 | 业务管理 → 租赁合同管理 |\n| 目标用户 | 业务人员（主）、法务（盖章上传）、客服/运营（查看） |\n| 核心任务 | 筛选与查看租赁合同台账，发起新增/变更/续签等流程 |\n| 交互原型 | `/prototypes/lease-contract-management` |\n\n---\n\n## 4. 筛选区\n\n默认展示 **第一行 4 个筛选项**（3 列栅格），点击「展开更多筛选项」显示全部 12 项；支持「重置」「查询」。\n\n| 字段 | 控件 | 说明 |\n|---|---|---|\n| 合同编码 | 可搜索下拉 | 模糊匹配合同编码 |\n| 项目名称 | 可搜索下拉 | 模糊匹配项目名称 |\n| 客户名称 | 可搜索下拉 | 模糊匹配客户名称 |\n| 签约公司 | 下拉 | 租赁合同签约公司枚举 |\n| 审批状态 | 多选下拉 | 全部 / 待审批 / 审批中 / 审批通过 / 审批驳回 / 未提交 |\n| 合同状态 | 多选下拉 | 全部 / 草稿 / 变更 / 合同进行中 / 到期合同 / 已提交审批 / 已结束 |\n| 业务部门 | 多选下拉 | 业务相关部门 |\n| 业务负责人 | 多选下拉 | 业务组人员 |\n| 合同类型 | 多选下拉 | 全部 / 正式合同 / 试用合同 |\n| 审批类型 | 多选下拉 | 全部 / 标准合同 / 非标准合同 |\n| 创建人 | 多选下拉 | 业务相关人员 |\n| 合同结束日期 | 日期范围 | 开始—结束，精确至日 |\n\n**交互**：\n\n- **查询**：将当前筛选条件写入「已应用筛选」，列表与 KPI 统计联动。\n- **重置**：清空为默认（多选类默认「全部」），并刷新列表。\n\n---\n\n## 5. KPI 统计卡片\n\n共 5 张卡片，点击切换列表筛选（与筛选区叠加生效）。\n\n| 卡片 | 口径 |\n|---|---|\n| 全部合同 | 不做 KPI 维度过滤 |\n| 进行中 | 合同状态为「合同进行中」且结束日期 ≥ 今日 |\n| 已终止 | 合同状态为「已终止」或「已结束」 |\n| 临期合同 | 距离合同结束日期 ≤ 30 天且未过期 |\n| 过期合同 | 合同状态为「已过期」或「到期合同」 |\n\n卡片右上角 `?` 悬停展示口径说明。\n\n---\n\n## 6. 列表工具栏\n\n| 按钮 | 行为 |\n|---|---|\n| 租赁费用模板 | 跳转或打开费用模板配置（本期原型 Toast） |\n| 导出 | 按当前筛选结果导出（本期原型 Toast） |\n| 新增 | 进入「新增租赁合同」页 |\n\n---\n\n## 7. 列表字段说明\n\n### 7.1 项目信息（合并列）\n\n一列展示三行：\n\n1. 项目名称（主文案）\n2. 合同编码（次级）\n3. 客户名称（次级）\n\n点击整格跳转「查看」页（原型 Toast）。\n\n### 7.2 车辆与交车\n\n| 列 | 说明 |\n|---|---|\n| 车辆数 | 租赁订单车辆总数；点击弹出车辆明细表 |\n| 已交车 | 已有实际交车日期的车辆数；点击弹出已交车列表 |\n\n车辆明细字段：车辆类型、品牌、型号、车牌号、实际交车日期、交车人。\n\n### 7.3 状态与业务字段\n\n| 列 | 说明 |\n|---|---|\n| 审批类型 | 标准合同 / 非标准合同；位于审批状态左侧 |\n| 审批状态 | 待审批 / 审批中 / 审批通过 / 审批驳回 / 未提交；「审批中」悬停展示审批流节点 |\n| 合同状态 | 草稿 / 变更 / 合同进行中 / 到期合同 / 已提交审批 / 已结束 |\n| 签约公司 | 创建时所选甲方签约主体简称 |\n| 业务部门 / 业务负责人 | 创建时选取 |\n| 合同类型 | 正式合同 / 试用合同 |\n| 客户联系人 / 联系电话 | 来自客户档案 |\n| 被授权人 | 显示人数；点击弹出卡片查看姓名、联系方式、身份证号 |\n| 创建人 / 创建时间 | 精确至分钟 |\n| 最后更新 | 更新人 / 最后更新时间，无则显示 `-` |\n\n**分页**：每页 10 / 20 / 50 条可选。\n\n---\n\n## 8. 操作与弹窗\n\n### 8.1 操作列（主按钮 + 更多）\n\n| 操作 | 显示条件 | 行为 |\n|---|---|---|\n| 查看 | 始终 | 跳转合同查看页 |\n| 编辑 | 草稿；或审批驳回 | 进入编辑页 |\n| 删除合同 | 草稿 | 二次确认后删除 |\n| 撤回合同 | 已提交审批且非驳回 | 二次确认后撤回 |\n| 新增车辆 | 合同进行中 | 租赁订单内增车并重新审批 |\n| 续签合同 | 进行中 / 到期 | 跳转续签页 |\n| 添加被授权人 | 合同进行中 | 弹窗编辑被授权人列表 |\n| 附加费用 | 合同进行中 | 弹窗按车辆录入附加费用 |\n| 变更为三方合同 | 合同进行中 | 跳转变更页 |\n| 转正式合同 | 试用合同 | 跳转转正式页 |\n| 终止合同 | 合同进行中 | 二次确认，提交终止审批 |\n| 上传盖章合同 | 审批通过且法务未上传 | 仅法务部可见；多文件上传后关闭入口 |\n\n### 8.2 审批状态口径\n\n| 状态 | 定义 |\n|---|---|\n| 未提交 | 仅保存草稿 |\n| 待审批 | 已提交，尚无节点通过 |\n| 审批中 | 已有节点通过，未完成终审 |\n| 审批通过 | 终审通过 |\n| 审批驳回 | 任一节点的驳回；可编辑重提 |\n\n### 8.3 合同状态口径\n\n| 状态 | 定义 |\n|---|---|\n| 草稿 | 未提交审批 |\n| 已提交审批 | 初次提交，终审未完成 |\n| 变更 | 已通过基础上变更并重新审批中 |\n| 合同进行中 | 终审通过且在有效期内 |\n| 到期合同 | 已过结束日期 |\n| 已结束 | 终止或自然结束 |\n\n### 8.4 弹窗摘要\n\n- **删除草稿**：「是否确认删除该合同草稿」\n- **撤回**：「是否确认撤回该合同」\n- **终止**：「是否确认终止合同」→ 提交审核\n- **添加被授权人**：姓名、电话、身份证；支持增删行\n- **附加费用**：按车辆展示类型/品牌/型号/车牌，可填服务项目、费用（元，2 位小数）、生效日期\n- **上传盖章合同**：拖拽多文件；确认后标记已上传\n",
                "markdownPath": "src/prototypes/lease-contract-management/.spec/requirements-prd-list.md"
              },
              {
                "type": "markdown",
                "id": "lc-doc-prd-create",
                "title": "新增页 PRD",
                "markdown": "# 租赁合同管理 · 新增/编辑页 PRD\n\n## 1. 页面结构\n\n左右分栏工作区：\n\n```text\n新增租赁合同\n├── 顶栏：返回列表\n├── 左侧编辑列（可滚动）\n│   ├── 主体合同信息（完成度徽章）\n│   ├── 附件1：租赁订单\n│   └── 授权委托书\n├── 右侧：实时预览（V26.6 完整合同 + 审批类型徽章）\n└── 底栏：取消 / 保存草稿 / 提交审核\n```\n\n编辑页与新增页表单结构一致；编辑时回填已保存数据。\n\n---\n\n## 2. 主体合同信息\n\n卡片内三个可折叠区块，标题行右侧展示区块说明（展开时显示在标题后方）。\n\n### 2.1 签约信息\n\n| 字段 | 必填 | 说明 |\n|---|---|:---:|\n| 合同编号 | 是 | 前缀 `HT-ZL-` + 用户输入 |\n| 甲方 | 是 | 出租方签约主体，来自组织机构 |\n| 乙方 | 是 | 客户选择器；仅 A/B 级客户可选 |\n\n选择甲方/乙方后，下方只读面板自动带出档案：\n\n**甲方**：户名、开户行、账号、通讯地址、联系人、电话、邮箱。\n\n**乙方**：企业名称、开户银行、银行账号、纳税人识别号、企业地址、企业电话、通讯地址、联系人、电话、邮箱；资质证照缩略图可点击放大。\n\n未选双方时展示空状态引导。\n\n### 2.2 里程标准\n\n对应合同正文最低里程与租金减免条款。\n\n| 字段 | 说明 |\n|---|---|\n| 是否有最低里程要求 | 开关 |\n| 统计周期 | 有要求时必选：月 / 季 / 年 |\n| 目标里程 | 有要求时必填（公里） |\n| 里程类型 | 多选标签：实际里程 / 仪表里程 等 |\n\n### 2.3 费用信息\n\n| 字段 | 必填 | 说明 |\n|---|---|:---:|\n| 付款周期 | 是 | 如月付、季付 |\n| 氢费支付方式 | 是 | 后付 / 预付 |\n| 预付金额 | 条件 | 预付时必填 |\n| 提前付款工作日 | 条件 | 预付时必填 |\n| 还车氢量差单价 | 是 | 元 |\n\n**完成度**：上述必填项均已填则卡片显示「已完成」。\n\n---\n\n## 3. 附件1：租赁订单\n\n| 区域 | 说明 |\n|---|---|\n| 投保车辆数 / 三者责任险（百万） | 三者责任险必填 |\n| 交车区域 | 省市区级联 |\n| 计划交车日期 | 日期 |\n| 订单车辆表 | 品牌型号级联、车牌、租期、租金、氢费、增值服务等 |\n\n支持新增行、复制行、删除行；表头 KPI 展示合计。\n\n**完成度**：三者责任险已填即视为完成（原型简化口径）。\n\n---\n\n## 4. 授权委托书\n\n被委托人表格：姓名、联系方式、身份证号。\n\n支持新增行、删除行。\n\n**合同备注**：授权委托书区块最下方提供文本域，支持自定义输入，非必填；列表页不再展示备注列。\n\n**完成度**：至少一行且三项均非空。\n\n---\n\n## 5. 实时预览\n\n- 基于标准合同模板 V26.6 拼装 HTML，A4 分页展示。\n- 支持缩放（50%—150%）、连续预览 / 单页预览切换。\n- **可编辑预览**：合同正文 `contentEditable`；用户可直接改字。\n- 顶栏展示当前 **审批类型** 徽章。\n\n### 5.1 占位符替换\n\n左侧表单变更时，预览内 `{{contractCode}}`、`{{customerName}}` 等变量实时替换。\n\n### 5.2 条件条款与附件章节\n\n按租赁订单车辆品牌型号，过滤模板中条件条款与附件章节绑定（与合同模板管理规则一致）。\n\n---\n\n## 6. 审批类型判定\n\n| 类型 | 触发条件 |\n|---|---|\n| 标准合同 | 默认可编辑预览相对基线未改动风控红线条款 |\n| 非标准合同 | 预览中 `.ct-risk-redline[data-risk-redline=\"1\"]` 正文相对基线有增删改 |\n\n检测逻辑：`lease-contract-risk-detect.js` 对比基线 HTML 与当前合并页 HTML。\n\n保存草稿 / 提交审核时 Toast 展示将走的审批类型（原型）。\n\n---\n\n## 7. 底栏操作\n\n| 按钮 | 行为 |\n|---|---|\n| 取消 / 返回列表 | 不保存，回列表 |\n| 保存草稿 | 保存为草稿，审批类型随检测结果记录 |\n| 提交审核 | 校验必填后发起审批流程 |\n\n---\n\n## 8. 与合同模板的关系\n\n- 创建时默认引用 **标准合同模板**（合同模板管理 `isDefault=true` 的已发布版本）。\n- 模板内风控红线条款、条件条款、锁定区标记在预览中保留。\n- 业务侧仅编辑表单字段与允许编辑的预览正文；锁定区不可改（正式环境由编辑器约束）。\n",
                "markdownPath": "src/prototypes/lease-contract-management/.spec/requirements-prd-create.md"
              },
              {
                "type": "markdown",
                "id": "lc-doc-prd-acceptance",
                "title": "验收标准",
                "markdown": "## 12. 验收标准\n\n### 12.1 列表页\n\n- [ ] 12 项筛选与 KPI 五卡片联动正确\n- [ ] 项目信息列、车辆/交车 Popover、审批流悬停\n- [ ] 操作按合同状态/类型正确显隐\n- [ ] 法务盖章上传后入口关闭\n\n### 12.2 新增页\n\n- [ ] 三块主体合同表单 + 完成度徽章\n- [ ] 甲乙档案只读同步、客户 A/B 级限制\n- [ ] 预览随表单实时更新\n- [ ] 可编辑预览改动风控红线 → 非标准审批徽章\n- [ ] 保存/提交展示审批类型\n\n### 12.3 标注与文档（原型）\n\n- [ ] 已接入 `@axhub/annotation`，关键区域有 `data-annotation-id`\n- [ ] 目录可切换列表页 / 新增页，PRD 全文可阅\n\n---"
              }
            ]
          },
          {
            "type": "folder",
            "id": "lc-doc-list",
            "title": "列表页模块",
            "defaultExpanded": true,
            "children": [
              {
                "type": "route",
                "id": "lc-route-list",
                "title": "打开列表页",
                "route": "lease-contract:list",
                "payload": {
                  "pageId": "list"
                }
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-list-filter",
                "title": "筛选条件",
                "markdown": "## 4. 筛选区\n\n默认展示 **第一行 4 个筛选项**（3 列栅格），点击「展开更多筛选项」显示全部 12 项；支持「重置」「查询」。\n\n| 字段 | 控件 | 说明 |\n|---|---|---|\n| 合同编码 | 可搜索下拉 | 模糊匹配合同编码 |\n| 项目名称 | 可搜索下拉 | 模糊匹配项目名称 |\n| 客户名称 | 可搜索下拉 | 模糊匹配客户名称 |\n| 签约公司 | 下拉 | 租赁合同签约公司枚举 |\n| 审批状态 | 多选下拉 | 全部 / 待审批 / 审批中 / 审批通过 / 审批驳回 / 未提交 |\n| 合同状态 | 多选下拉 | 全部 / 草稿 / 变更 / 合同进行中 / 到期合同 / 已提交审批 / 已结束 |\n| 业务部门 | 多选下拉 | 业务相关部门 |\n| 业务负责人 | 多选下拉 | 业务组人员 |\n| 合同类型 | 多选下拉 | 全部 / 正式合同 / 试用合同 |\n| 审批类型 | 多选下拉 | 全部 / 标准合同 / 非标准合同 |\n| 创建人 | 多选下拉 | 业务相关人员 |\n| 合同结束日期 | 日期范围 | 开始—结束，精确至日 |\n\n**交互**：\n\n- **查询**：将当前筛选条件写入「已应用筛选」，列表与 KPI 统计联动。\n- **重置**：清空为默认（多选类默认「全部」），并刷新列表。\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-list-kpi",
                "title": "KPI 统计卡片",
                "markdown": "## 5. KPI 统计卡片\n\n共 5 张卡片，点击切换列表筛选（与筛选区叠加生效）。\n\n| 卡片 | 口径 |\n|---|---|\n| 全部合同 | 不做 KPI 维度过滤 |\n| 进行中 | 合同状态为「合同进行中」且结束日期 ≥ 今日 |\n| 已终止 | 合同状态为「已终止」或「已结束」 |\n| 临期合同 | 距离合同结束日期 ≤ 30 天且未过期 |\n| 过期合同 | 合同状态为「已过期」或「到期合同」 |\n\n卡片右上角 `?` 悬停展示口径说明。\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-fleet-summary",
                "title": "在租车辆概览",
                "markdown": "# 在租车辆概览\n\n按品牌型号统计在租车辆，支持品牌标签筛选。\n\n## 说明\n\n顶部展示在租总数；品牌标签筛选车型卡片；点击卡片查看车辆明细。"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-list-toolbar",
                "title": "列表工具栏",
                "markdown": "## 6. 列表工具栏\n\n| 按钮 | 行为 |\n|---|---|\n| 租赁费用模板 | 跳转或打开费用模板配置（本期原型 Toast） |\n| 导出 | 按当前筛选结果导出（本期原型 Toast） |\n| 新增 | 进入「新增租赁合同」页 |\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-list-table",
                "title": "合同台账列表",
                "markdown": "## 7. 列表字段说明\n\n### 7.1 项目信息（合并列）\n\n一列展示三行：\n\n1. 项目名称（主文案）\n2. 合同编码（次级）\n3. 客户名称（次级）\n\n点击整格跳转「查看」页（原型 Toast）。\n\n### 7.2 车辆与交车\n\n| 列 | 说明 |\n|---|---|\n| 车辆数 | 租赁订单车辆总数；点击弹出车辆明细表 |\n| 已交车 | 已有实际交车日期的车辆数；点击弹出已交车列表 |\n\n车辆明细字段：车辆类型、品牌、型号、车牌号、实际交车日期、交车人。\n\n### 7.3 状态与业务字段\n\n| 列 | 说明 |\n|---|---|\n| 审批类型 | 标准合同 / 非标准合同；位于审批状态左侧 |\n| 审批状态 | 待审批 / 审批中 / 审批通过 / 审批驳回 / 未提交；「审批中」悬停展示审批流节点 |\n| 合同状态 | 草稿 / 变更 / 合同进行中 / 到期合同 / 已提交审批 / 已结束 |\n| 签约公司 | 创建时所选甲方签约主体简称 |\n| 业务部门 / 业务负责人 | 创建时选取 |\n| 合同类型 | 正式合同 / 试用合同 |\n| 客户联系人 / 联系电话 | 来自客户档案 |\n| 被授权人 | 显示人数；点击弹出卡片查看姓名、联系方式、身份证号 |\n| 创建人 / 创建时间 | 精确至分钟 |\n| 最后更新 | 更新人 / 最后更新时间，无则显示 `-` |\n\n**分页**：每页 10 / 20 / 50 条可选。\n\n---\n\n---\n\n## 8. 操作与弹窗\n\n### 8.1 操作列（主按钮 + 更多）\n\n| 操作 | 显示条件 | 行为 |\n|---|---|---|\n| 查看 | 始终 | 跳转合同查看页 |\n| 编辑 | 草稿；或审批驳回 | 进入编辑页 |\n| 删除合同 | 草稿 | 二次确认后删除 |\n| 撤回合同 | 已提交审批且非驳回 | 二次确认后撤回 |\n| 新增车辆 | 合同进行中 | 租赁订单内增车并重新审批 |\n| 续签合同 | 进行中 / 到期 | 跳转续签页 |\n| 添加被授权人 | 合同进行中 | 弹窗编辑被授权人列表 |\n| 附加费用 | 合同进行中 | 弹窗按车辆录入附加费用 |\n| 变更为三方合同 | 合同进行中 | 跳转变更页 |\n| 转正式合同 | 试用合同 | 跳转转正式页 |\n| 终止合同 | 合同进行中 | 二次确认，提交终止审批 |\n| 上传盖章合同 | 审批通过且法务未上传 | 仅法务部可见；多文件上传后关闭入口 |\n\n### 8.2 审批状态口径\n\n| 状态 | 定义 |\n|---|---|\n| 未提交 | 仅保存草稿 |\n| 待审批 | 已提交，尚无节点通过 |\n| 审批中 | 已有节点通过，未完成终审 |\n| 审批通过 | 终审通过 |\n| 审批驳回 | 任一节点的驳回；可编辑重提 |\n\n### 8.3 合同状态口径\n\n| 状态 | 定义 |\n|---|---|\n| 草稿 | 未提交审批 |\n| 已提交审批 | 初次提交，终审未完成 |\n| 变更 | 已通过基础上变更并重新审批中 |\n| 合同进行中 | 终审通过且在有效期内 |\n| 到期合同 | 已过结束日期 |\n| 已结束 | 终止或自然结束 |\n\n### 8.4 弹窗摘要\n\n- **删除草稿**：「是否确认删除该合同草稿」\n- **撤回**：「是否确认撤回该合同」\n- **终止**：「是否确认终止合同」→ 提交审核\n- **添加被授权人**：姓名、电话、身份证；支持增删行\n- **附加费用**：按车辆展示类型/品牌/型号/车牌，可填服务项目、费用（元，2 位小数）、生效日期\n- **上传盖章合同**：拖拽多文件；确认后标记已上传"
              }
            ]
          },
          {
            "type": "folder",
            "id": "lc-doc-create",
            "title": "新增页模块",
            "defaultExpanded": false,
            "children": [
              {
                "type": "route",
                "id": "lc-route-create",
                "title": "打开新增页",
                "route": "lease-contract:create",
                "payload": {
                  "pageId": "create"
                }
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-create-main-contract",
                "title": "主体合同信息",
                "markdown": "## 2. 主体合同信息\n\n卡片内三个可折叠区块，标题行右侧展示区块说明（展开时显示在标题后方）。\n\n### 2.1 签约信息\n\n| 字段 | 必填 | 说明 |\n|---|---|:---:|\n| 合同编号 | 是 | 前缀 `HT-ZL-` + 用户输入 |\n| 甲方 | 是 | 出租方签约主体，来自组织机构 |\n| 乙方 | 是 | 客户选择器；仅 A/B 级客户可选 |\n\n选择甲方/乙方后，下方只读面板自动带出档案：\n\n**甲方**：户名、开户行、账号、通讯地址、联系人、电话、邮箱。\n\n**乙方**：企业名称、开户银行、银行账号、纳税人识别号、企业地址、企业电话、通讯地址、联系人、电话、邮箱；资质证照缩略图可点击放大。\n\n未选双方时展示空状态引导。\n\n### 2.2 里程标准\n\n对应合同正文最低里程与租金减免条款。\n\n| 字段 | 说明 |\n|---|---|\n| 是否有最低里程要求 | 开关 |\n| 统计周期 | 有要求时必选：月 / 季 / 年 |\n| 目标里程 | 有要求时必填（公里） |\n| 里程类型 | 多选标签：实际里程 / 仪表里程 等 |\n\n### 2.3 费用信息\n\n| 字段 | 必填 | 说明 |\n|---|---|:---:|\n| 付款周期 | 是 | 如月付、季付 |\n| 氢费支付方式 | 是 | 后付 / 预付 |\n| 预付金额 | 条件 | 预付时必填 |\n| 提前付款工作日 | 条件 | 预付时必填 |\n| 还车氢量差单价 | 是 | 元 |\n\n**完成度**：上述必填项均已填则卡片显示「已完成」。\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-create-lease-order",
                "title": "附件1：租赁订单",
                "markdown": "## 3. 附件1：租赁订单\n\n| 区域 | 说明 |\n|---|---|\n| 投保车辆数 / 三者责任险（百万） | 三者责任险必填 |\n| 交车区域 | 省市区级联 |\n| 计划交车日期 | 日期 |\n| 订单车辆表 | 品牌型号级联、车牌、租期、租金、氢费、增值服务等 |\n\n支持新增行、复制行、删除行；表头 KPI 展示合计。\n\n**完成度**：三者责任险已填即视为完成（原型简化口径）。\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-create-poa",
                "title": "授权委托书",
                "markdown": "## 4. 授权委托书\n\n被委托人表格：姓名、联系方式、身份证号。\n\n支持新增行、删除行。\n\n**合同备注**：授权委托书区块最下方提供文本域，支持自定义输入，非必填；列表页不再展示备注列。\n\n**完成度**：至少一行且三项均非空。\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-create-preview",
                "title": "实时预览",
                "markdown": "## 5. 实时预览\n\n- 基于标准合同模板 V26.6 拼装 HTML，A4 分页展示。\n- 支持缩放（50%—150%）、连续预览 / 单页预览切换。\n- **可编辑预览**：合同正文 `contentEditable`；用户可直接改字。\n- 顶栏展示当前 **审批类型** 徽章。\n\n### 5.1 占位符替换\n\n左侧表单变更时，预览内 `{{contractCode}}`、`{{customerName}}` 等变量实时替换。\n\n### 5.2 条件条款与附件章节\n\n按租赁订单车辆品牌型号，过滤模板中条件条款与附件章节绑定（与合同模板管理规则一致）。\n\n---\n\n---\n\n## 6. 审批类型判定\n\n| 类型 | 触发条件 |\n|---|---|\n| 标准合同 | 默认可编辑预览相对基线未改动风控红线条款 |\n| 非标准合同 | 预览中 `.ct-risk-redline[data-risk-redline=\"1\"]` 正文相对基线有增删改 |\n\n检测逻辑：`lease-contract-risk-detect.js` 对比基线 HTML 与当前合并页 HTML。\n\n保存草稿 / 提交审核时 Toast 展示将走的审批类型（原型）。\n\n---"
              },
              {
                "type": "markdown",
                "id": "lc-doc-node-lc-create-footer",
                "title": "底栏操作",
                "markdown": "## 7. 底栏操作\n\n| 按钮 | 行为 |\n|---|---|\n| 取消 / 返回列表 | 不保存，回列表 |\n| 保存草稿 | 保存为草稿，审批类型随检测结果记录 |\n| 提交审核 | 校验必填后发起审批流程 |\n\n---"
              }
            ]
          },
          {
            "type": "markdown",
            "id": "lc-doc-annotation-hint",
            "title": "标注查看提示",
            "markdown": "## 标注查看提示\n\n右侧标注工具栏可浏览目录、切换主题与颜色筛选。列表页与新增页标注按当前页面自动显隐。\n\n**PRD 同步**：修改 `src/resources/lease-contract-management/PRD.md` 或 `.spec/requirements-prd-*.md` 后，运行 `node src/prototypes/lease-contract-management/scripts/build-annotation-source.mjs` 重新生成 `annotation-source.json`。"
          }
        ]
      }
    ]
  }
}
