迭代 ONE-OS 多原型:合同模板重构与租赁合同列表/表单增强
- 合同模板管理:模板数据层、章节编辑与品牌车型选择器 - 租赁合同管理:列表子表、交车安排、里程汇总及新建/编辑表单优化 - 同步各原型 annotation-source 与 PRD;新增项目导航同步脚本 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
287
.local/extract-annotation-source/annotation-nodes.json
Normal file
287
.local/extract-annotation-source/annotation-nodes.json
Normal file
@@ -0,0 +1,287 @@
|
||||
[
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
}
|
||||
]
|
||||
57
.local/extract-annotation-source/markdown-nodes.json
Normal file
57
.local/extract-annotation-source/markdown-nodes.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user