[ { "id": "ct-list-filter", "index": 1, "title": "筛选条件", "pageId": "list", "hasMarkdown": true, "annotationText": "### 7.2 筛选区\n\n| 字段 | 控件 | 说明 |\n|---|---|---|\n| 合同名称 | 文本输入 | 支持回车触发查询 |\n| 状态 | 下拉 | 全部 / 已发布 / 草稿 |\n| 创建人 | 下拉 | 选项来自现有模板 `creator` 去重 |\n| 适用品牌 | 下拉 | 选项来自车型主数据品牌列表 |\n\n**按钮**:\n\n- **查询**:应用筛选条件\n- **重置**:清空筛选恢复默认", "aiPrompt": "列表页筛选区字段与查询逻辑。", "color": "#2563eb", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-list-filter\"]" ], "fingerprint": "ct-list-filter", "path": [] } }, { "id": "ct-list-toolbar", "index": 2, "title": "新增模板", "pageId": "list", "hasMarkdown": false, "annotationText": "进入新增页,默认从「合同主体」章节开始编辑。", "aiPrompt": "列表工具栏新增入口。", "color": "#32a06e", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-list-toolbar\"]" ], "fingerprint": "ct-list-toolbar", "path": [] } }, { "id": "ct-list-table", "index": 3, "title": "Word 模板列表", "pageId": "list", "hasMarkdown": true, "annotationText": "### 7.4 主表字段\n\n| 列名 | 字段 | 展示规则 |\n|---|---|---|\n| (展开列) | — | 宽 48px |\n| 合同类型 | `contractType` | 展示用户自定义的合同类型文案;已发布模板在类型后以 Tag 显示「启用」或「停用」 |\n| 版本号 | `versionNo` | 草稿显示「—」 |\n| 状态 | `status` | 已发布 / 草稿 Tag |\n| 创建时间 | `createTime` | — |\n| 创建人 | `creator` | 展示短名 |\n| 最后更新时间 | `updateTime` | — |\n| 更新人 | `updater` | 同创建人展示规则 |\n| 操作 | — | 见 7.5 |\n\n**分页**:每页 10 条,展示总条数。\n\n### 7.5 主表操作\n\n| 操作 | 显示条件 | 行为 |\n|---|---|---|\n| 启用 / 停用 | 已发布 | 切换模板是否可供租赁合同创建选用 |\n| 编辑 | 未启用或草稿 | 进入编辑页 |\n| 更多 → 版本日志 | 已发布 | 查看发布归档快照 |\n| 更多 → 删除 | 未处于启用锁定 | 弹窗确认后删除 |\n\n**多套模板并存**:同一合同类型可维护多套模板;租赁合同创建时先选合同类型,再自动套用该类型下已启用的标准模板(`isDefault` 优先)。\n\n### 7.6 子表(展开行)\n\n主表每行可展开,展示该 Word 文档下 **9 个章节** 的摘要。", "aiPrompt": "主表与子表嵌套列表结构。", "color": "#0f766e", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-list-table\"]" ], "fingerprint": "ct-list-table", "path": [] } }, { "id": "ct-editor-topbar", "index": 4, "title": "编辑页顶栏", "pageId": "editor", "hasMarkdown": true, "annotationText": "### 8.2 顶栏\n\n| 元素 | 行为 |\n|---|---|\n| ← 返回列表 | 回到列表页,不自动保存 |\n| 保存 | 见 §6.2 |\n| 保存并发布 | 见 §6.2 |\n\n### 6.2 保存与发布\n\n| 操作 | 新增模式 | 编辑草稿 | 编辑已发布 |\n|---|---|---|---|\n| **保存** | 新建草稿记录 | 更新原记录,保持草稿 | 更新原记录,**降为草稿**(清空版本号) |\n| **保存并发布** | 新建已发布记录 + 版本号 | 原记录变已发布 + 版本号 | **新建一条已发布记录**(新版本),原版本保留 |\n\n**校验**:保存/发布前,合同主体(`sectionContents.main`)不能为空,且须已填写合同类型(见 §8.4)。", "aiPrompt": "返回、保存草稿、保存并发布。", "color": "#64748b", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-editor-topbar\"]" ], "fingerprint": "ct-editor-topbar", "path": [] } }, { "id": "ct-section-tabs", "index": 5, "title": "章节 Tab", "pageId": "editor", "hasMarkdown": true, "annotationText": "### 8.3 章节 Tab\n\n- 共 9 个章节,**全部在横向滚动条中展示**(带序号 1–9),当前章节自动滚入视野。\n- 右上角 **章节列表** 可搜索并跳转(适合长标题章节)。\n- 当前章节全称在 Tab 下方展示,避免标题被截断后找不到位置。\n- 切换 Tab 后,编辑区与预览区 **同步切换** 至对应章节内容。\n- **合同主体 Tab**:编辑/预览 **整份 Word 合并全文**;其他 Tab 仅展示该章节切片。", "aiPrompt": "9 个合同章节切换。", "color": "#2563eb", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-section-tabs\"]" ], "fingerprint": "ct-section-tabs", "path": [] } }, { "id": "ct-contract-type", "index": 6, "title": "合同类型", "pageId": "editor", "hasMarkdown": true, "annotationText": "### 8.4 合同类型(仅合同主体 Tab)\n\n| 元素 | 说明 |\n|---|---|\n| 合同类型输入框 | **必填**;用户自行填写,如「正式合同」「现代18吨试用合同」 |\n| 展示位置 | 章节 Tab 下方配置卡片,与附件章节的「适用车型」卡片交互一致 |\n| 用途 | 同步至列表页「合同类型」列;租赁合同创建时按类型匹配标准模板 |\n\n**规则**:\n\n- 仅当选中 **合同主体** 章节 Tab 时显示本卡片。\n- 未填写时无法保存或发布,并提示「请输入合同类型」。\n- 切换至租赁订单等附件章节时,显示「适用车型」卡片,本卡片隐藏。\n- 保存/发布时写入模板 `contractType` 字段。", "aiPrompt": "合同主体章节下的合同类型配置。", "color": "#7c3aed", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-contract-type\"]" ], "fingerprint": "ct-contract-type", "path": [] } }, { "id": "ct-vehicle-binding", "index": 7, "title": "适用车型绑定", "pageId": "editor", "hasMarkdown": true, "annotationText": "### 8.5 适用车型绑定(附件章节 Tab:租赁订单~安全责任协议)\n\n| 元素 | 说明 |\n|---|---|\n| 品牌型号选择器 | 点击输入框弹出卡片;支持搜索筛选 |\n| 已选区 | 弹层内展示已选「品牌 · 型号」,可逐项移除 |\n| 品牌列 | 左侧列表切换品牌 |\n| 型号区 | 右侧多选型号(点击切换选中) |\n\n**规则**:\n\n- 绑定保存在 `sectionVehicleBindings[当前章节 key]`。\n- 切换章节 Tab 时加载对应章节的绑定。\n- 未绑定任何车型时表示全部车型适用。", "aiPrompt": "附件章节适用车型配置。", "color": "#059669", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-vehicle-binding\"]" ], "fingerprint": "ct-vehicle-binding", "path": [] } }, { "id": "ct-editor-panel", "index": 8, "title": "编辑区", "pageId": "editor", "hasMarkdown": true, "annotationText": "### 8.6 编辑区(左侧)\n\n#### 8.6.1 面板头操作\n\n| 按钮 | 说明 |\n|---|---|\n| { } 模板占位符 | 弹层展示变量分组,点击插入光标处 |\n| 导入 Word 模板 | 接受 `.doc` / `.docx`;导入后按 §9 拆分章节 |\n\n#### 8.6.2 富文本工具栏(节选)\n\n| 按钮 | 说明 |\n|---|---|\n| **红线** | 在章节中选中内容后标记;新增租赁合同时**修改红线内文字**将自动变为非标合同,**不修改**则仍为标准流程 |\n| **取消**(红线旁) | 选中已标红线内容后点击,取消红线;取消后修改该部分不再触发非标流程 |\n| **条件** | 在**合同主体及租赁订单~安全责任协议**各章节圈定具体内容,使**部分条款**仅对指定车型生效(创建合同时按订单车辆命中显隐) |\n| **取消**(条件旁) | 选中已设条件的条款后点击,解除该部分的车型限定 |\n| **锁定** | 选中章节内内容后标记;新增租赁合同时该部分**无法被篡改** |\n| **解除**(锁定旁) | 选中已锁定内容后点击,解除锁定 |\n\n**叠加规则**:红线、条件与锁定可作用于**同一段内容**,互不排斥。\n\n**与章节「适用车型」的区别**:\n\n- **适用车型**(附件章节 Tab 上方卡片):控制整章是否在创建合同时对某车型**可见/不可见**。\n- **条件**(工具栏):仅作用于章节内的**部分段落**,不影响整章显隐。\n\n#### 8.6.3 条件条款交互\n\n**适用范围**:合同主体、租赁订单、车辆产生的费用、安全责任告知书、重型普通货运车辆租赁动态监管责任告知与确认书、安全责任承诺书、车辆使用规范和驾驶员要求、授权委托书、安全责任协议。\n\n1. 选中段落或文字;\n2. 点击「条件」并绑定「品牌 · 型号」;\n3. 创建合同时:订单车辆任意一辆命中 → 段落纳入正文,否则隐藏。", "aiPrompt": "Word 版式分页编辑区。", "color": "#7c3aed", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-editor-panel\"]" ], "fingerprint": "ct-editor-panel", "path": [] } }, { "id": "ct-rte-risk-redline", "index": 9, "title": "红线", "pageId": "editor", "hasMarkdown": false, "annotationText": "红线功能主要用于在章节中选择特定内容,点击红线将其设置为篡改后自动变成非标合同。不修改红线内内容不会导致流程变为非标。", "aiPrompt": "风控红线条款标记。", "color": "#dc2626", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-rte-risk-redline\"]" ], "fingerprint": "ct-rte-risk-redline", "path": [] } }, { "id": "ct-rte-unrisk-redline", "index": 10, "title": "取消红线", "pageId": "editor", "hasMarkdown": false, "annotationText": "取消功能主要用于取消被选中的部分的红线内容。取消后,在新增租赁合同时修改该部分内容,不会导致流程变为非标准流程。", "aiPrompt": "取消风控红线标记。", "color": "#94a3b8", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-rte-unrisk-redline\"]" ], "fingerprint": "ct-rte-unrisk-redline", "path": [] } }, { "id": "ct-rte-vehicle-clause", "index": 11, "title": "条件", "pageId": "editor", "hasMarkdown": false, "annotationText": "条件可在合同主体及租赁订单~安全责任协议全部章节使用:圈定章节内具体内容,使部分条款仅对指定车型生效。与各章节「适用车型」(控制整章是否可见)不同,条件只作用于章节内部分段落。", "aiPrompt": "条件条款(段落级车型显隐)。", "color": "#2563eb", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-rte-vehicle-clause\"]" ], "fingerprint": "ct-rte-vehicle-clause", "path": [] } }, { "id": "ct-rte-unvehicle-clause", "index": 12, "title": "取消条件", "pageId": "editor", "hasMarkdown": false, "annotationText": "当条款被设置条件后,可以通过选中特定条款内容,点击取消来取消该部分内容的车型限定。", "aiPrompt": "取消条件条款标记。", "color": "#64748b", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-rte-unvehicle-clause\"]" ], "fingerprint": "ct-rte-unvehicle-clause", "path": [] } }, { "id": "ct-rte-inline-lock", "index": 13, "title": "锁定", "pageId": "editor", "hasMarkdown": false, "annotationText": "锁定主要用于选中章节内的内容;锁定之后该部分内容无法在新增租赁合同时被篡改。红线、条件以及锁定可以在同一段内容同时生效。", "aiPrompt": "内容锁定区标记。", "color": "#b45309", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-rte-inline-lock\"]" ], "fingerprint": "ct-rte-inline-lock", "path": [] } }, { "id": "ct-rte-uninline-lock", "index": 14, "title": "解除锁定", "pageId": "editor", "hasMarkdown": false, "annotationText": "选中已锁定内容后点击解除;解除后新增租赁合同时可再次编辑该部分。", "aiPrompt": "解除内容锁定标记。", "color": "#94a3b8", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-rte-uninline-lock\"]" ], "fingerprint": "ct-rte-uninline-lock", "path": [] } }, { "id": "ct-preview-panel", "index": 15, "title": "实时预览", "pageId": "editor", "hasMarkdown": true, "annotationText": "### 8.7 实时预览(右侧)\n\n#### 8.7.1 预览模式\n\n| 模式 | 说明 |\n|---|---|\n| 连续预览 | 多页连续滚动 |\n| 单页预览 | 按 A4 单页翻页 |\n\n#### 8.7.2 预览顶栏统计\n\n展示当前章节:\n\n`锁定 N 处 · 风控红线 M 处 · 条件条款 K 处`\n\n当前章节支持条件且已选模拟车型时追加:`(预览命中 X)`\n\n#### 8.7.3 模拟车型\n\n- 在合同主体及全部附件章节可用;多选下拉,选项来自车型主数据(品牌 · 型号)。\n- 未选车型时:**隐藏**所有条件条款段落(与创建合同时无车辆命中行为一致)。\n- 选中后按命中规则过滤并展开条件条款正文。\n\n#### 8.7.4 占位符预览\n\n预览时替换部分占位符为样例值,如:\n\n- `{{customerName}}` → `【承租方公司名称】`\n- `{{contractCode}}` → `20260001`\n- 甲方相关变量按预览所选出租方公司填充", "aiPrompt": "A4 分页预览与模拟车型。", "color": "#0ea5e9", "images": [], "controls": [], "locator": { "selectors": [ "[data-annotation-id=\"ct-preview-panel\"]" ], "fingerprint": "ct-preview-panel", "path": [] } } ]