# OPC 管理系统 PRD 修改日志 --- ## v0.9 → v1.0(2026-06-01) ### 版本升级 - PRD 阶段从「需求核对稿」升级为「实际落地版」 - 版本号从 v0.9 → v1.0 - 匹配 OPC-Manager v1.0.2 代码实现 ### 功能布局变更 | 模块 | v0.9 | v1.0 | 原因 | |------|------|------|------| | 业务方案 Tab | 一个版本一个**卡片** | 表格布局 | 与销售、运营保持一致的交互模式,表格更适合多版本扫描 | | 产品 Tab | 一个版本一个**卡片** | 表格布局 | 同上,统一交互体验 | ### 交互细节补充 | 项 | v0.9 | v1.0 | |----|------|------| | 抽屉宽度 | 未指定 | 720px 固定宽度 | | 保存方式 | "关闭抽屉时提示保存" | 字段失焦自动保存 + 状态反馈(保存中/已保存/失败) | | 抽屉外点击关闭 | 未明确 | 已删除此交互 | | 富文本编辑器 | 未指定 | Squire RTE v1(Fastmail) | | 评论格式 | 未指定 | HTML 格式(encodeURIComponent 存储,decodeURIComponent 渲染) | | 评论删除 | 未指定 | 所有评论 hover 显示删除图标,带确认弹窗 | | Squire 工具栏 | 未指定 | 使用 onmousedown 防止编辑器失焦 | | 列表渲染 | 未指定 | .rich-content ul/ol 使用 list-style: revert 覆盖 Tailwind reset | ### 数据模型变更 | 项 | v0.9 | v1.0 | |----|------|------| | FileAsset | operation_files 独立表 | 统一 file_assets 表,通过 module 字段区分 proposal/operation | | FileAsset.is_external | 无 | 新增字段,标记原始文件索引(1)vs 本地上传(0) | | FollowUpRecord.content | 文本 | HTML 格式 | ### 技术栈补充 | 项 | v0.9 | v1.0 | |----|------|------| | 富文本编辑器 | 未指定 | Squire RTE(squire-rte CDN v1,build/squire-raw.js) | | Chart.js 版本 | 未指定 | 4.4.8 | | Chart 配置 | 未指定 | maintainAspectRatio: false + 固定容器高度 140px | | Flask 版本 | 未指定 | 3.1.3 | | 项目结构 | 未列出 | 新增 7.6 节完整目录结构 | ### 章节结构变更 | 项 | v0.9 | v1.0 | |----|------|------| | 首页指标 | 6 项 | 7 项(新增"即将上线版本数") | | 首页指标布局 | 未指定 | 4 列网格(grid-cols-4)自动换行 | | 设计规范 | 大量引用 ui-ux-pro-max-skill/frontend-design | 精简为实际的视觉规范表格 + 设计辅助工具已使用说明 | | 版本历史 | 无 | 新增第 12 章版本历史 + 关联 CHANGELOG | --- ## 文件存档 | 文件 | 路径 | |------|------| | v0.9 原始 PRD | `docs/prd-history/OPC管理系统PRD-V0.9.md` | | v1.0 当前 PRD | `OPC管理系统PRD.md`(根目录) | | 修改日志(本文件) | `docs/prd/CHANGELOG.md` | --- ## v1.0 → v2.0(2026-06-16) ### 版本升级 - PRD 匹配 OPC-Manager v1.7.6 代码实现 - 新增 `OPC管理系统PRD-V2.0.md` ### 架构级变更 | 模块 | v1.0 | v2.0 | 原因 | |------|------|------|------| | 销售管理 + 运营管理 | 两个独立 Tab | 合并为「重点项目」Tab | 业务机会到执行是同一项目的不同阶段 | | 任务追踪 | 无 | 6 阶段任务体系 + project_tasks 表 | 参考科普项目 Excel 台账管理 | | 任务详情 | 无 | 二级页面(Tab 内渲染) | 替代弹窗,完整页面体验 | | 任务编辑 | 无 | 右侧抽屉(fixed 定位,420px) | 不打断列表浏览 | | 首页指标 | 7 项 | 14 项(两层:经营核心 + 财务分层) | 增加合同金额、年度/Q2 财务汇总 | ### Tab 数量变更 | v1.0 | v2.0 | |------|------| | 首页、销售管理、业务方案、运营管理、产品研发、财务管理(6 Tab) | 首页、重点项目、业务方案、产品研发、财务管理(5 Tab) | ### 重点项目详细变更 | 项 | v1.0 | v2.0 | |----|------|------| | 列表列 | 项目名称/类型/状态/金额/阶段/文件/跟进(7 列) | 项目/说明/阶段/金额/负责人/进展(6 列) | | 筛选按钮 | 全部/业务机会/已签约执行 | 已去除,列表不做阶段筛选 | | 抽屉字段 | 14 个字段 | 6 个字段(名称/阶段/金额/截止/负责人/说明)+ 删除按钮 | | 当前阶段 | 文本输入 | 6 阶段下拉框(change 自动保存) | | 阶段体系 | 无标准 | 商务洽谈→系统上线→团队分工→项目交付→上线推广→结项验收 | | 版本号 | 项目名称含版本号 | 去除,仅保留项目名称 | ### 新增数据表 **project_tasks:** | 字段 | 类型 | 说明 | |------|------|------| | project_id | INTEGER | 关联 operation_projects | | phase | TEXT | 6 阶段之一 | | milestone | TEXT | 里程碑 | | task | TEXT | 任务名称 | | owner | TEXT | 负责人 | | due_date | TEXT | 截止时间 | | blockers | TEXT | 卡点&备注 | | notes | TEXT | 任务说明 | ### 产品 Tab 变更 | 项 | v1.0 | v2.0 | |----|------|------| | 平台字段 | 无 | 新增 platform 字段(真研平台/科普平台/关爱平台) | | 列表列 | 产品/版本/目标/功能/日期/状态(6 列) | 产品/版本/目标/功能/平台/日期/状态(7 列) | ### 聚合指标变更 | 指标 | v1.0 | v2.0 | |------|------|------| | P0 客户数 | ✓ | ✓ | | 跟进中销售机会 | ✓ | ✓ | | 已签约执行项目 | ✓ | ✓ | | 有风险项目 | ✓ | ✓ | | 本月收入 | ✓ | ✓ | | 本月净利 | ✓ | ✓ | | 即将上线版本 | ✓ | ✓ | | 已签约未执行金额 | — | ✓ 新增 | | 已签约合同总额 | — | ✓ 新增 | | 合同流程中金额 | — | ✓ 新增 | | 年度累计确收 | — | ✓ 新增 | | Q2 累计确收 | — | ✓ 新增 | | 年度累计毛利 | — | ✓ 新增 | | Q2 累计毛利 | — | ✓ 新增 | ### 技术实现变更 | 项 | v1.0 | v2.0 | |----|------|------| | 前端交互 | 弹窗 modal | Tab 内二级页面(state.projectView) | | 任务编辑 | 无 | fixed 抽屉 + submitTaskForm/openTaskForm | | 自动保存 | blur 事件 | blur(input)+ change(select) | | Lucide 刷新 | render() 统一调用 | 各 render 函数独立调用 createIcons() |