Files
OneOS1.2/.local/extract-annotation-source/annotation-nodes.json
王冕 2e0a3d7da4 迭代 ONE-OS 多原型:合同模板重构与租赁合同列表/表单增强
- 合同模板管理:模板数据层、章节编辑与品牌车型选择器
- 租赁合同管理:列表子表、交车安排、里程汇总及新建/编辑表单优化
- 同步各原型 annotation-source 与 PRD;新增项目导航同步脚本

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 09:11:54 +08:00

287 lines
14 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"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 个章节,**全部在横向滚动条中展示**(带序号 19当前章节自动滚入视野。\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": []
}
}
]