Files
opc-manager/docs/prd/OPC管理系统PRD-V2.0.md

339 lines
12 KiB
Markdown
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.
# OPC 管理系统 PRD
版本v2.0
日期2026-06-16
阶段:当前落地版(匹配 OPC-Manager v1.7.6 代码实现)
定位:以科普(慰心斋)为单项目独立版本,打造 OPC 工作台,从全局首页、重点项目、业务方案、产品研发、财务管理 5 个视角,直观、清晰、全面地管理业务全貌。
> 历史版本参见 `OPC管理系统PRD-V1.0.md`、`OPC管理系统PRD-V0.9.md`,修改日志见 `CHANGELOG.md`。
---
## 1. 背景与目标
### 1.1 需求原文
以慰心斋为例,打造一个 OPC 工作台,让我能够直观地看到他销售、业务、运营、产品、财务的情况。另外,之前他为自己单独打造了一个财务体系,把这个财务 manager 系统直接合并进工作台里面,不再作为一个独立的系统。
### 1.2 背景与 v2.0 核心变更
v1.0 的 6 Tab 架构(销售管理 + 业务方案 + 运营管理 + 产品研发 + 财务管理 + 首页)在实际使用中暴露出销售与运营割裂的问题——业务机会和签约执行项目本质上是同一项目的不同阶段,分两个 Tab 管理不自然。
v2.0 做了以下架构级调整:
1. **合并销售 + 运营为「重点项目」**:一个 Tab 管全部项目,项目表格 6 列(项目/说明/阶段/金额/负责人/进展)。
2. **引入项目任务体系**:每个项目内嵌 6 阶段任务清单(商务洽谈→系统上线→团队分工→项目交付→上线推广→结项验收),支持增删改。
3. **任务详情改为页内二级页面**:点击「查看」进入项目任务页,有返回按钮,不弹出独立窗口。
4. **任务编辑改为右侧抽屉**:新增/编辑任务从右侧滑入表单,不打断任务列表浏览。
5. **首页指标分层**:从 7 项扩展到 14 项,分为经营核心层和财务分层。
6. **产品增加平台分类**:真研平台/科普平台/关爱平台三种归属。
本系统将承接并合并原有独立财务 manager 能力,财务不再作为单独系统存在,而是作为 OPC 管理系统中的一个 Tab。
### 1.3 样板范围
v2.0 以科普(慰心斋)作为首个单项目独立版本,当前包含信达·科普无界、圆心科技科普文章等多个重点项目。
首版只做单项目、单用户版本,不做多项目、多用户、权限体系。
---
## 2. 信息架构
系统顶部为全局标题和基础操作区,主体为 5 个一级 Tab
1. **首页** — 经营总览14 项指标 + 财务趋势 + 风险提醒 + 近期动态)
2. **重点项目** — 项目列表 + 点击进入任务清单6 阶段任务管理)
3. **业务方案** — 按版本管理方案/成本/SOP/财务流程文件
4. **产品研发** — 按版本管理产品目标/功能/日期(含平台分类)
5. **财务管理** — 趋势图 + 明细表(收入/成本/毛利/净利)
---
## 3. 功能需求
### 3.1 首页 Tab
首页是科普(慰心斋)单项目的经营总览页。
#### 3.1.1 关键指标14 项,两组 4 列网格)
**第一组 — 经营核心层8 项):**
- P0 客户数
- 跟进中销售机会数
- 已签约执行项目数
- 有风险项目数
- 本月收入
- 本月净利
- 即将上线产品版本数
- 已签约未执行金额
**第二组 — 财务分层6 项):**
- 已签约合同总额
- 合同流程中金额
- 年度累计确收
- Q2 累计确收
- 年度累计毛利
- Q2 累计毛利
> 以上指标由后端在 `/api/bootstrap` 中聚合计算(年度=2026年1-6月Q2=2026年4-6月。金钱单位统一为万元。
#### 3.1.2 财务趋势图
- 首页展示收入/成本月度折线图Chart.js固定高度 140px
- 财务 Tab 独立展示 4 条曲线(收入/毛利/成本/净利)。
#### 3.1.3 风险提醒与近期动态
- 风险提醒:从运营项目提取 next_action 非空的项目,最多展示 5 条。
- 近期动态:最近 8 条跟进记录时间线。
---
### 3.2 重点项目 Tab
> **v2.0 核心模块**,合并 v1.0 的「销售管理」和「运营管理」两个 Tab。
#### 3.2.1 项目列表
| 列 | 说明 |
|----|------|
| 项目 | 项目名称 |
| 项目说明 | customer_need 或 notes 字段 |
| 当前阶段 | 6 阶段之一badge 样式) |
| 项目金额 | expected_contract_amount万元 |
| 负责人 | owner |
| 进展 | 「查看」按钮,点击进入任务清单页 |
- 右上角「新增项目」按钮,点击展开创建表单。
- 表单字段:项目名称、当前阶段(下拉)、项目金额、负责人。
- 点击表格行打开右侧抽屉720px展示项目详情和评论区。
- 抽屉内新增「删除」按钮(红色,点击 confirm 确认后删除)。
#### 3.2.2 项目抽屉(详情)
6 个字段(失焦自动保存):
| 字段 | 类型 | 说明 |
|------|------|------|
| 项目名称 | text | project_name |
| 当前阶段 | select | 6 阶段下拉change 自动保存 |
| 截止时间 | text | expected_sign_date |
| 金额 | text | expected_contract_amount |
| 负责人 | text | owner |
| 项目说明 | textarea | notes多行文本 |
- 评论区保留,使用 Squire 富文本编辑器。
#### 3.2.3 任务清单页(二级页面)
点击「查看」进入项目任务清单页,在重点项目 Tab 内渲染:
- 顶部:「← 返回项目列表」按钮(左)+ 项目名(中)+「新增任务」按钮(右)
- 主体:按 6 阶段分组的任务卡片,空阶段自动隐藏
- 任务行格式:`○ 任务名 任务说明 | 负责人 截止时间`
- 卡点以红色 `⚠` 标记显示
#### 3.2.4 6 阶段体系
| 阶段 | 含义 |
|------|------|
| 商务洽谈 | 合同签订、渠道对接、接口推流等前期商务工作 |
| 系统上线 | 系统开发、SOP 制定、脚本生产等平台搭建 |
| 团队分工 | 人员招聘、审核人员到位等团队组建 |
| 项目交付 | 供应商准入、拍摄制作等执行交付 |
| 上线推广 | 项目启动上线、渠道全面推广 |
| 结项验收 | 客户验收、尾款结算等收尾工作 |
#### 3.2.5 任务编辑抽屉
- 点击任务行或「新增任务」→ 右侧抽屉滑入fixed 定位,始终可见)
- 表单字段:任务名称、任务阶段(下拉)、负责人、截止时间、任务说明、卡点&备注
- 新增时标题「新增任务」,编辑时「编辑任务」
- 提交后抽屉关闭,列表刷新
#### 3.2.6 数据模型
**project_tasks 表:**
| 字段 | 说明 |
|------|------|
| id | 主键 |
| project_id | 关联 operation_projects.id |
| phase | 阶段(商务洽谈/系统上线/团队分工/项目交付/上线推广/结项验收) |
| milestone | 里程碑 |
| task | 任务名称 |
| owner | 负责人 |
| due_date | 截止时间 |
| blockers | 卡点&备注 |
| notes | 任务说明 |
| created_at / updated_at | 时间戳 |
---
### 3.3 业务方案 Tab
与 v1.0 保持一致:
- 表格:客户/项目名称、版本号、状态、文件数
- 抽屉:属性(可编辑)+ 4 组文件(方案/成本/SOP/财务流程)
- 文件支持上传、预览、下载、删除
- 评论区支持 Squire 富文本
---
### 3.4 产品研发 Tab
与 v1.0 保持一致,增加平台分类:
- 表格:产品名称、版本号、版本目标、核心功能、平台、上线日期、状态
- 抽屉:可编辑版本详情 + 评论区
- 平台字段:下拉选择(真研平台/科普平台/关爱平台)
---
### 3.5 财务管理 Tab
与 v1.0 保持一致:
- 趋势图:收入/毛利/成本/净利 4 条月度曲线Chart.js
- 明细表:支持录入/编辑收入、成本/费用明细
- 月份格式 YYYY-MM
- 净利 = 收入 - 成本/费用
---
## 4. 数据对象
### 4.1 SalesLead销售线索
仍保留数据库表和 API但前端不再有独立 Tab。通过重点项目页可间接查看。
### 4.2 OperationProject运营项目
- id, project_name, project_version
- project_typeopportunity / execution现主要用于区分链路前端不做筛选
- current_stage6 阶段之一)
- owner, expected_contract_amount, expected_sign_date
- customer_need, notes
- project_status保留兼容不作为主要显示字段
- created_at, updated_at
### 4.3 ProjectTask项目任务—— v2.0 新增
- id, project_id
- phase, milestone, task
- owner, due_date
- blockers, notes
- created_at, updated_at
### 4.4 其他数据对象
BusinessProposal、ProductVersion、FinanceRecord、FileAsset、FollowUpRecord 与 v1.0 一致,详见 `OPC管理系统PRD-V1.0.md` 第 5 章。
---
## 5. 页面与交互规范
### 5.1 通用能力
- 所有列表支持新增(内联表单或右上角按钮)。
- 项目详情通过 720px 右侧抽屉展示和编辑。
- 任务清单在 Tab 内作为二级页面渲染,不弹出独立窗口。
- 任务编辑通过右侧抽屉420pxfixed 定位)。
- 字段失焦自动保存input/textarea → blurselect → change
- 评论区使用 Squire 富文本,支持 HTML 格式。
- 点击表格行打开抽屉,不需要单独的「详情」按钮。
### 5.2 抽屉交互
- 项目抽屉宽度 720px任务抽屉宽度 420px。
- 字段默认透明背景、hover 显示边框、focus 蓝色边框。
- 字段失焦/选择自动保存,保存状态有视觉反馈。
- 抽屉右上角关闭按钮关闭,项目抽屉额外有「删除」按钮。
- 评论提交后抽屉保持打开。
### 5.3 任务清单页交互
- 进入:点击项目行的「查看」按钮 → state.projectView = projectId → 刷新 Tab 内容。
- 退出:点击「返回项目列表」→ state.projectView = null → 回到列表。
- 工具栏与下方卡片使用相同的 20px 左右内边距px-5
- 空阶段分组不渲染(直接跳过)。
- 点击任务行打开编辑抽屉;点击「新增任务」打开空白新增抽屉。
- Lucide 图标在每次渲染后调用 `createIcons()` 刷新。
### 5.4 评论区
与 v1.0 一致,详见 `OPC管理系统PRD-V1.0.md` 第 6.4 节。
---
## 6. 技术栈与实现约束
与 v1.0 一致,核心为:
- **前端**Jinja2 + Tailwind CSS CDN + Vanilla JS + Chart.js + Lucide + Squire
- **后端**Flask + sqlite3无 ORM+ SQLite
- **单服务**Flask dev server, 端口 5177
- **不提交** `data/opc.sqlite`
详见 `OPC管理系统PRD-V1.0.md` 第 7 章。
**v2.0 新增数据表**`project_tasks`
---
## 7. 首页指标要求
v2.0 首页展示 14 项关键指标(两组 4 列网格):
**经营核心层:**
- P0 客户数、跟进中销售机会数、已签约执行项目数、有风险项目数
- 本月收入、本月净利、即将上线产品版本数、已签约未执行金额
**财务分层:**
- 已签约合同总额、合同流程中金额
- 年度累计确收、Q2 累计确收
- 年度累计毛利、Q2 累计毛利
---
## 8. 验收标准
### 首页
- 展示 14 项指标(两组 4 列网格)。
- 展示财务趋势图、风险提醒和近期动态。
- 点击指标可跳转到对应 Tab。
### 重点项目
- 项目列表 6 列展示(项目/说明/阶段/金额/负责人/进展)。
- 右上角「新增项目」展开表单。
- 点击行打开抽屉6 字段 + 评论 + 删除按钮)。
- 点击「查看」进入二级任务清单页。
- 任务清单按 6 阶段分组,空阶段隐藏。
- 任务行显示任务名、说明、负责人、截止时间、卡点。
- 点击任务行打开右侧编辑抽屉。
- 「新增任务」打开空白新增抽屉。
- 「返回项目列表」回到列表页。
- 任务保存后列表刷新、抽屉关闭。
### 业务方案、产品研发、财务管理
与 v1.0 验收标准一致,详见 `OPC管理系统PRD-V1.0.md` 第 11 章。
---
## 9. 版本历史
| 版本 | 日期 | 说明 |
|------|------|------|
| v0.9 | 2026-05-29 | 初始 PRD6 Tab 功能架构 |
| v1.0 | 2026-06-01 | 匹配 v1.0.2,卡片→表格,补充技术栈与交互细节 |
| v2.0 | 2026-06-16 | 匹配 v1.7.6,销售+运营合并为重点项目、6 阶段任务体系、二级页面、任务编辑抽屉、首页指标分层、产品平台分类 |
详细修改日志见 `CHANGELOG.md`