Files
opc-manager/docs/prd/OPC管理系统PRD-V0.9.md

919 lines
28 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
版本v0.9
日期2026-05-29
阶段:需求核对稿
定位:以科普(慰心斋)为单项目独立版本,打造 OPC 工作台,从全局首页、销售、业务、运营、产品、财务 6 个视角,直观、清晰、全面地管理业务全貌。
---
## 1. 背景与目标
### 1.1 需求原文
以慰心斋为例,打造一个 OPC 工作台,让我能够直观地看到他销售、业务、运营、产品、财务的情况。另外,之前他为自己单独打造了一个财务体系,把这个财务 manager 系统直接合并进工作台里面,不再作为一个独立的系统。
### 1.2 背景
当前业务信息分散在销售表、方案文件、运营记录、产品路线图、财务台账等多个位置,难以一眼判断业务进展、交付风险、产品节奏和财务结果。
OPC 管理系统用于建立一个统一工作台,让负责人可以通过全局首页和 5 个业务 Tab 完成日常管理:
1. 全局首页:集中展示科普(慰心斋)的经营关键指标和风险提醒。
2. 销售管理:看清目标客户、优先级、状态和多条时间线跟进记录。
3. 业务方案:按版本管理售前/商务阶段的方案、成本、SOP、财务流程等文件。
4. 运营管理:承接交付的实际管理形态,将项目分为业务机会项目和已签约执行项目,分别看清签约推进和 SOP 执行过程。
5. 产品管理:按版本管理产品目标、核心功能、上线日期和版本跟进。
6. 财务管理:用曲线图和明细表查看收入、毛利、成本/费用、净利。
本系统将承接并合并原有独立财务 manager 能力,财务不再作为单独系统存在,而是作为 OPC 管理系统中的一个 Tab。
### 1.3 样板范围
v0.9 以科普(慰心斋)作为首个单项目独立版本,优先接入和整理慰心斋已有资料:
- 销售资料:`/Users/mac/天机阁/地阁/慰心斋/1、销售管理`
- 业务方案:`/Users/mac/天机阁/地阁/慰心斋/2、业务方案`
- 运营资料:`/Users/mac/天机阁/地阁/慰心斋/3、运营方案`
- 产品资料:`/Users/mac/天机阁/地阁/慰心斋/4、产品方案`
- 财务系统:`/Users/mac/天机阁/地阁/慰心斋/5、财务管理/mananger`
首版只做单项目、单用户版本,不做多项目、多用户、权限体系。系统形态应保留后续复制到其他业务单元或升级为多项目/多用户的扩展能力,但首版数据、页面样例和迁移逻辑以科普(慰心斋)为准。
---
## 2. 用户与使用场景
### 2.1 核心用户
- 业务负责人:查看全局进展,识别销售、运营、产品、财务风险。
- 销售负责人:维护目标客户和跟进记录。
- 项目/运营负责人:维护业务机会推进、已签约项目 SOP 执行、交付文件和项目进展。
- 产品负责人:维护版本规划、上线日期和功能清单。
- 财务负责人:维护收入、成本/费用、毛利、净利明细。
### 2.2 高频场景
- 每周例会前,先通过全局首页查看销售 pipeline、项目运营状态、产品版本进度、财务结果和风险提醒。
- 新增客户后,录入客户优先级、当前状态和跟进记录。
- 一个业务方案形成新版本后上传方案、成本、SOP、财务流程文件。
- 项目处于机会阶段时,在运营 Tab 中跟进签约推进;项目签约后,在运营 Tab 中按 SOP 跟进执行过程和交付文件。
- 产品版本推进时,维护版本目标、核心功能、上线日期和跟进记录。
- 财务复盘时,查看收入、毛利、成本/费用、净利月度趋势和明细。
---
## 3. 信息架构
系统顶部为全局标题和基础操作区,主体为 6 个一级 Tab
1. 首页
2. 销售管理
3. 业务方案
4. 运营
5. 产品
6. 财务
所有 Tab 均支持基础的新增、查看、编辑能力。删除能力作为后台管理能力保留,默认不突出展示,避免误删关键业务数据。
---
## 4. 功能需求
### 4.1 首页 Tab
首页是科普(慰心斋)单项目的经营总览页,用于在进入具体 Tab 前先看到整体情况。
#### 页面形式
- 首页由关键指标卡、风险提醒、近期动态和趋势概览组成。
- 首页展示的是销售、业务、运营、产品、财务五个模块的聚合信息,不承载复杂编辑。
#### 关键指标
- P0 客户数
- 跟进中销售机会数
- 已签约执行项目数
- 有风险执行项目数
- 本月收入
- 本月净利
- 即将上线产品版本数
#### 风险提醒
- 预计签约时间临近但状态未推进的业务机会项目。
- 已签约执行项目中标记为有风险或存在阻塞的项目。
- 产品上线日期临近但状态未进入测试/已上线的版本。
- 当月净利为负或成本/费用异常升高的月份。
#### 近期动态
- 最近新增的销售跟进记录。
- 最近更新的运营项目跟进记录。
- 最近上传或更新的业务方案/运营交付文件。
- 最近新增的财务明细。
#### 交互要求
- 首页指标点击后可跳转到对应 Tab 并带入筛选条件。
- 首页只做查看和跳转,不在首页直接编辑业务数据。
---
### 4.2 销售管理 Tab
#### 页面形式
- 内容按表格形式展示。
- 表格字段:
- 目标客户
- 优先级
- 状态
- 最新跟进记录
#### 交互要求
- 用户可以新增销售线索/目标客户。
- 用户点击表格中的某一行后,进入详情查看与编辑。
- 详情中可以查看并编辑:
- 目标客户
- 优先级
- 状态
- 跟进记录必须是多条时间线记录,不使用单一文本字段。
- 用户可以在详情中新增、编辑、删除每条跟进记录。
#### 跟进时间线字段
- 跟进时间
- 跟进人
- 跟进方式
- 跟进内容
- 下一步动作
- 下次跟进时间
#### 推荐状态字段
- 待跟进
- 跟进中
- 方案中
- 商务谈判
- 已签约
- 暂缓
- 已丢单
#### 推荐优先级字段
- P0
- P1
- P2
- P3
---
### 4.3 业务方案 Tab
#### 页面形式
- 一个版本一个卡片。
- 卡片标题建议格式:客户/项目名称 + 版本号,例如「信达生物 v1.5」。
#### 每个版本卡片包含 4 个要素
1. 方案
2. 成本
3. SOP
4. 财务流程
#### 文件规则
- 一个要素对应一个文件分组。
- 每个文件分组允许上传多个文件。
- 文件类型不限于:
- Word
- Excel
- PPT
- PDF
- 图片
- 压缩包
#### 交互要求
- 用户可以新增一个业务方案版本卡片。
- 用户可以为卡片上传方案、成本、SOP、财务流程文件。
- 用户可以查看每个要素下已上传的文件列表。
- 用户可以替换、追加或删除文件。
- 用户可以在线预览已上传文件。PDF 和图片应优先支持浏览器内预览Word、Excel、PPT 可优先支持下载,若技术条件允许再支持在线预览或转换预览。
- 用户可以编辑版本基础信息:
- 客户/项目名称
- 版本号
- 版本说明
- 创建日期
- 当前状态
#### 推荐版本状态
- 草稿
- 内部评审
- 已提交客户
- 客户反馈中
- 已确认
- 已归档
---
### 4.4 运营 Tab
运营是项目从机会推进到签约交付的实际承载形式。系统不单独设置“交付 Tab”交付过程、交付文件、项目执行状态统一归入运营 Tab 管理。
运营项目分为两类:
1. 业务机会项目:尚未签约,以推动签约为核心目标,重点展示客户意向、签约推进状态、下一步动作和跟进记录。
2. 已签约执行项目:已经签约,以按 SOP 交付为核心目标,重点展示 SOP 阶段、执行进度、交付物、风险和跟进记录。
首批运营文件来源:`/Users/mac/天机阁/地阁/慰心斋/3、运营方案`。当前已存在的文件按版本要求补充到对应运营项目,不建立“未归类文件池”。当前已存在的文件包括:
- 圆心科技--科普文章项目(1).pptx
- 圆心科技-科普专访项目-2026年(1).pdf
- 圆心科技-科普视频项目(1).pptx
- 圆心科技《项目管理手册》-2026年.pdf
- 科普项目-审核标准(文章-视频-音频).pdf
#### 页面形式
- 按表格形式展示。
- 表格顶部提供项目类型筛选:
- 业务机会项目
- 已签约执行项目
- 全部项目
- 表格字段:
- 项目名称
- 项目类型
- 项目状态
- 当前阶段
- 交付文件
- 跟进记录
#### 交互要求
- 用户可以新增运营项目。
- 新增项目时必须选择项目类型:业务机会项目或已签约执行项目。
- 用户点击表格中的某一行后,以抽屉形式展开。
- 抽屉内可以查看和编辑项目详情。
- 抽屉内可以上传、在线预览、下载和管理项目相关运营/交付文件。
- 运营文件必须先归属到明确项目版本,再根据该版本要求补充文件。
- 已放入运营管理文件夹的文件,需要作为对应项目版本的初始文件导入或索引到运营 Tab。
#### 抽屉详情字段
- 项目名称
- 项目版本
- 项目类型
- 项目状态
- 当前阶段
- 负责人
- 起止时间
- 交付文件列表
- 跟进记录
- 备注
#### 业务机会项目详情字段
- 目标客户
- 业务机会名称
- 客户需求
- 预计签约金额
- 预计签约时间
- 签约概率
- 当前推进阶段
- 下一步动作
- 跟进记录
- 关联业务方案
#### 已签约执行项目详情字段
- 客户名称
- 合同/项目名称
- SOP 模板或 SOP 文件
- 当前 SOP 阶段
- 执行进度
- 当前交付物
- 风险与阻塞
- 下一步动作
- 跟进记录
- 交付文件列表
#### 交付文件字段
- 文件名称
- 文件类型
- 所属项目
- 所属项目版本
- 文件分类
- 文件路径
- 上传时间
- 备注
#### 推荐文件分类
- 项目方案
- 项目管理手册
- 审核标准
- 执行 SOP
- 交付物
- 复盘报告
#### 推荐项目类型
- 业务机会项目
- 已签约执行项目
#### 业务机会项目推荐状态
- 线索发现
- 需求沟通
- 方案准备
- 方案已提交
- 商务谈判
- 待签约
- 已签约
- 暂缓
- 已丢单
#### 已签约执行项目推荐状态
- 未启动
- SOP 执行中
- 有风险
- 待客户确认
- 已完成
- 已归档
#### SOP 阶段建议
- 项目启动
- 需求确认
- 方案确认
- 内容生产
- 审核确认
- 渠道分发
- 数据/效果回收
- 复盘验收
---
### 4.5 产品 Tab
#### 页面形式
- 一个版本一个卡片。
- 卡片字段:
- 版本目标
- 核心功能清单
- 上线日期
- 跟进记录
#### 交互要求
- 用户可以新增产品版本。
- 用户点击版本卡片后,以抽屉形式展开查看版本详情。
- 用户可以在抽屉中修改对应内容。
#### 抽屉详情字段
- 产品名称
- 版本号
- 版本目标
- 核心功能清单
- 上线日期
- 当前状态
- 跟进记录
- 备注
#### 推荐版本状态
- 规划中
- 设计中
- 开发中
- 测试中
- 已上线
- 已延期
- 已取消
---
### 4.6 财务 Tab
#### 页面结构
财务 Tab 分为趋势图区域和明细区域。
#### 趋势图
需要展示 4 条月度曲线:
1. 收入按月份的曲线图
2. 毛利按月份的曲线图
3. 成本/费用按月份的曲线图
4. 净利按月份的曲线图
#### 明细表
每个指标需要对应明细:
1. 收入明细
2. 毛利明细
3. 成本/费用明细
4. 净利明细
#### 推荐财务口径
- 收入:当月确认收入金额。
- 成本/费用:统一录入为成本/费用,再通过类型区分直接成本、期间费用、运营费用、管理费用等。
- 毛利:收入 - 成本。
- 净利:收入 - 成本/费用。
- 月份统计按自然月,月份格式为 YYYY-MM。
#### 明细字段
收入明细:
- 月份
- 客户/项目
- 收入类型
- 金额
- 确认日期
- 备注
成本/费用明细:
- 月份
- 客户/项目
- 类型
- 金额
- 发生日期
- 备注
净利明细:
- 月份
- 收入合计
- 成本/费用合计
- 毛利
- 净利
---
## 5. 数据对象
### 5.1 SalesLead 销售线索
- id
- target_customer
- priority
- status
- latest_follow_up_record
- created_at
- updated_at
### 5.2 FollowUpRecord 跟进时间线记录
- id
- target_type
- target_id
- followed_at
- follower
- follow_up_method
- content
- next_action
- next_follow_up_at
- created_at
- updated_at
target_type 包括:
- sales销售线索
- operation运营项目
- product产品版本
### 5.3 BusinessProposal 业务方案版本
- id
- customer_or_project_name
- version
- description
- status
- created_date
- files
- created_at
- updated_at
files 按要素分组:
- proposal_files
- cost_files
- sop_files
- finance_process_files
### 5.4 OperationProject 运营项目
- id
- project_name
- project_version
- project_type
- project_status
- current_stage
- owner
- start_date
- end_date
- target_customer
- customer_need
- expected_contract_amount
- expected_sign_date
- sign_probability
- next_action
- related_business_proposal_id
- sop_file_id
- sop_stage
- execution_progress
- current_deliverable
- risks
- delivery_files
- follow_up_record
- notes
- created_at
- updated_at
project_type 包括:
- opportunity业务机会项目
- execution已签约执行项目
说明:
- 当 project_type = opportunity 时,重点使用目标客户、客户需求、预计签约金额、预计签约时间、签约概率、下一步动作、关联业务方案等字段。
- 当 project_type = execution 时,重点使用 SOP 文件、SOP 阶段、执行进度、当前交付物、风险、交付文件等字段。
### 5.5 OperationFile 运营/交付文件
- id
- project_id
- project_version
- file_name
- file_type
- file_category
- file_path
- uploaded_at
- notes
### 5.6 ProductVersion 产品版本
- id
- product_name
- version
- version_goal
- feature_list
- launch_date
- status
- follow_up_record
- notes
- created_at
- updated_at
### 5.7 FinanceRecord 财务记录
- id
- month
- project_name
- record_type
- category
- amount
- occurred_date
- notes
- created_at
- updated_at
record_type 包括:
- revenue
- cost_expense
month 采用自然月格式 YYYY-MM。
成本和费用统一进入 cost_expense再通过 category 区分类型。毛利和净利由系统根据收入、成本/费用自动计算。
### 5.8 AppScope 系统范围
- project_name科普慰心斋
- user_modesingle_user
- project_modesingle_project
- multi_user_enabledfalse
- multi_project_enabledfalse
---
## 6. 页面与交互规范
### 6.1 通用能力
- 所有列表支持新增。
- 所有详情支持编辑和保存。
- 所有日期字段使用日期选择器。
- 所有状态字段使用下拉选择。
- 跟进记录统一使用多条时间线记录。
- 保存后列表与详情数据同步更新。
### 6.2 抽屉交互
运营 Tab 和产品 Tab 使用右侧抽屉。
- 点击表格行或版本卡片打开抽屉。
- 抽屉展示完整详情。
- 抽屉内提供编辑和保存。
- 关闭抽屉时,如存在未保存修改,需要提示用户确认。
### 6.3 文件上传
业务方案 Tab 和运营 Tab 支持文件上传与在线预览。
- 上传文件必须归属于某个方案版本和某个要素。
- 上传后展示文件名、大小、上传时间。
- 文件必须支持下载。
- 文件必须支持在线预览。PDF 和图片优先使用浏览器内预览Word、Excel、PPT 可以先提供基础预览能力或转换预览方案,若首版无法直接预览,需要在界面中明确提示并保留下载入口。
- 运营文件必须先归属到明确项目版本,再按该版本要求补充对应文件。
---
## 7. 技术栈与实现约束
### 7.1 前端技术栈
OPC 工作台前端采用:
- Jinja2负责服务端页面模板渲染。
- Tailwind CSS CDN负责样式系统、布局、间距、颜色和响应式规则不使用 Vite 构建链。
- 原生 JavaScript负责 Tab 切换、抽屉详情、表单提交、文件上传、数据刷新。
- Lucide 浏览器版:作为图标库,负责导航、操作按钮、文件预览/下载等线性图标。
- Chart.js CDN负责财务趋势图包括收入、毛利、成本/费用、净利的月度曲线。
### 7.2 后端技术栈
OPC 工作台后端采用:
- Flask负责页面渲染、REST API、文件上传、文件访问、在线预览入口和静态资源服务。
- sqlite3负责 SQLite 数据读写,首版不引入 ORM。
- Jinja2随 Flask 用于模板渲染。
- Flask development server负责本地单用户运行。
### 7.3 数据库与存储
首版数据库采用 SQLite。
- 主数据库文件建议为 `data/opc.sqlite`
- 原财务 manager 的 SQLite 数据需要迁移或合并到 OPC 主数据库,不再作为独立系统运行。
- SQLite 中存储销售、跟进时间线、业务方案版本、运营项目、运营/交付文件元数据、产品版本、财务记录等结构化数据。
- 上传文件本体存储在本地文件系统,不直接写入 SQLite。
- 上传文件目录建议为 `data/uploads/`
- SQLite 仅保存文件元数据,包括文件名、类型、大小、所属模块、所属项目/版本、文件路径、上传时间。
- 后端需要提供文件下载和在线预览访问 URL。
### 7.4 财务 manager 合并策略
原财务 manager 系统位于 `/Users/mac/天机阁/地阁/慰心斋/5、财务管理/mananger`
合并要求:
- 不保留原财务 manager 作为独立入口。
- 复用或迁移原财务数据结构中的客户、回款、成本、文件索引等有价值数据。
- 将原财务 manager 的财务能力合并到 OPC 的财务 Tab。
- 财务数据最终统一进入 OPC 主数据库。
- 如存在字段差异,以 OPC v0.9 的 FinanceRecord 和财务口径为准。
### 7.5 API 设计原则
- API 采用 REST 风格。
- 所有业务对象提供基础 CRUD 接口。
- 文件上传接口必须接收模块、项目/版本、文件分类等归属信息。
- 财务汇总接口由后端根据明细计算收入、毛利、成本/费用、净利月度数据。
- 首页指标接口由后端聚合销售、运营、产品、财务数据生成。
- 首版不做登录、鉴权、多用户权限和租户隔离。
### 7.6 技术栈使用原则
- 不使用 Ant Design 作为首版组件库。
- 不新增重型前端框架或多套 UI 组件体系,避免视觉和交互风格分裂。
- Tailwind CSS CDN 需要承接设计系统中的颜色、间距、字号、圆角、阴影和状态表达。
- 不使用 React、Vite、Rollup、shadcn/ui 或 Recharts 作为首版运行依赖。
- Chart.js 图表需要与财务明细数据同源,避免图表和表格口径不一致。
- 后端沿用 Flask 技术路线,但不保留原财务 manager 独立系统;统一实现为 OPC Flask 应用。
- 数据库首版不引入 PostgreSQL、MySQL 等独立数据库服务。
---
## 8. 设计质量与 UI 要求
### 8.1 设计目标
OPC 工作台应采用企业级经营管理后台风格,重点是清晰、稳定、可扫描、适合会议复盘。不做营销页风格,不使用过度装饰、强动效或大面积渐变。
### 8.2 推荐视觉方向
- 主色建议采用稳重蓝色系,辅以红/橙/绿表达风险、待处理、完成等状态。
- 布局以白底、浅灰分区、细边框、紧凑表格为主。
- 首屏应直接进入工作台,不设置营销型 landing page。
- 销售、运营、财务等高频经营信息优先保证信息密度和可读性。
- 卡片只用于业务方案版本和产品版本,不把所有区块都做成大卡片。
- 抽屉用于承载详情编辑,避免跳转打断上下文。
### 8.3 组件风格要求
- 销售管理:表格 + 状态标签 + 详情编辑。
- 业务方案:版本卡片 + 文件分组上传。
- 运营:项目表格 + 项目类型筛选 + 抽屉详情。
- 产品:版本卡片 + 抽屉详情。
- 财务:月度趋势折线图 + 明细表。
### 8.4 设计辅助工具分工
首版开发应同时使用 `ui-ux-pro-max-skill``frontend-design`,二者分工如下:
- `ui-ux-pro-max-skill`负责设计系统生成、dashboard 风格参考、UI 审计框架。
- `frontend-design`:负责前端页面落地质量,包括布局、信息层级、组件组合、表格密度、抽屉体验、状态标签、图表与明细联动、响应式细节。
- Flask + Jinja2 + Tailwind CSS CDN + Lucide + Chart.js + 原生 JavaScript负责实际工程实现。
### 8.5 ui-ux-pro-max-skill 使用要求
开发前应使用 `ui-ux-pro-max-skill` 辅助生成或校准设计系统,用于提升 UI/UX 质量。
使用目标:
- 生成 OPC 工作台的设计系统建议,包括色彩、字体、间距、表格密度、状态标签和图表风格。
- 针对 sales dashboard、operations dashboard、financial dashboard、executive dashboard 等场景获取布局参考。
- 对最终页面进行 UI 审计,检查信息层级、对比度、间距一致性、状态表达、图表可读性和表格扫描效率。
使用边界:
- `ui-ux-pro-max-skill` 作为设计系统和 UI 审计辅助,不作为组件库。
- 实际开发必须使用 Flask + Jinja2 + Tailwind CSS CDN + Lucide + Chart.js + 原生 JavaScript + SQLite 落地。
- 不允许为了追求视觉效果牺牲经营信息的清晰度。
建议查询方向:
- enterprise operations dashboard
- sales pipeline dashboard
- project operations dashboard
- financial dashboard
- executive dashboard
交付要求:
- 开发前输出一份 OPC 工作台设计规范摘要。
- 首版开发完成后,基于 `ui-ux-pro-max-skill` 的审计思路输出一份 UI 自检结果。
### 8.6 frontend-design 使用要求
开发前和开发过程中应使用 `frontend-design` 辅助提高页面实现质量。
使用目标:
-`ui-ux-pro-max-skill` 产出的设计系统要求落到具体页面结构和组件组合。
- 校准首页、销售表格、业务方案卡片、运营抽屉、产品版本卡片、财务图表的布局和信息层级。
- 检查表格是否紧凑可扫描,抽屉是否适合编辑详情,卡片是否避免过度嵌套,图表和明细是否容易核对。
- 检查 Tailwind class、Lucide 图标、Chart.js 图表和原生交互是否保持统一视觉语言。
使用边界:
- `frontend-design` 作为页面设计和前端实现质量辅助,不替代 PRD不改变已确认的业务逻辑。
- 不为了视觉效果增加不必要的动画、营销页结构或复杂交互。
-`frontend-design` 建议与业务可读性冲突,以业务可读性和会议复盘效率优先。
交付要求:
- 开发前输出一份页面级 UI 落地清单。
- 首版开发完成后,基于 `frontend-design` 的检查思路完成页面级自检。
---
## 9. 首页指标要求
v0.9 必须加入全局首页概览,建议展示:
- P0 客户数
- 已签约执行项目数
- 有风险项目数
- 本月收入
- 本月净利
- 即将上线产品版本数
首页作为默认进入页,点击指标可跳转到对应 Tab。
---
## 10. 非功能需求
- 数据应持久化保存,刷新页面不丢失。
- 财务数据计算结果应与明细一致。
- 文件上传后应可追溯到对应业务方案版本。
- 运营文件上传后应可追溯到对应项目版本。
- 页面应支持桌面端优先使用。
- 表格内容应清晰紧凑,适合会议和经营复盘场景。
- 系统应保留后续复用到其他业务单元的扩展能力。
- 首版开发前应完成设计规范摘要,开发后应完成 UI 自检。
- 首版开发前应完成页面级 UI 落地清单,开发后应完成页面级自检。
- 前端实现必须符合 Jinja2 + Tailwind CSS CDN + Lucide + Chart.js + 原生 JavaScript 技术栈约束。
- 后端实现必须符合 Flask + sqlite3 + SQLite 技术栈约束。
- 上传文件必须采用本地文件系统存储SQLite 存储文件元数据。
- 首版为单用户、单项目版本,项目名称为科普(慰心斋)。
---
## 11. 验收标准
### 首页
- 默认进入系统后展示全局首页。
- 首页展示 P0 客户数、跟进中销售机会数、已签约执行项目数、有风险执行项目数、本月收入、本月净利、即将上线产品版本数。
- 首页展示风险提醒和近期动态。
- 点击首页指标可以跳转到对应 Tab。
### 销售管理
- 可以新增销售客户。
- 可以在表格中看到目标客户、优先级、状态、最新跟进记录。
- 点击行后可以查看和编辑详情。
- 销售跟进记录以多条时间线形式展示和维护。
### 业务方案
- 可以新增方案版本卡片。
- 每个卡片包含方案、成本、SOP、财务流程 4 个文件要素。
- 每个要素可以上传多个文件。
- 上传后文件能够在线预览和下载。
### 运营
- 可以新增运营项目。
- 可以将运营项目分为业务机会项目和已签约执行项目。
- 可以在表格中看到项目名称、项目类型、项目状态、当前阶段、交付文件、跟进记录。
- 点击项目后可以用抽屉查看和编辑详情。
- 业务机会项目的抽屉重点展示和编辑签约推进信息,包括客户需求、预计签约金额、预计签约时间、签约概率、下一步动作和跟进记录。
- 已签约执行项目的抽屉重点展示和编辑 SOP 执行信息,包括 SOP 文件、当前 SOP 阶段、执行进度、当前交付物、风险和跟进记录。
- 可以在抽屉中上传、在线预览、下载、删除项目相关运营/交付文件。
- 运营文件按项目版本补充,不建立未归类文件池。
- 可以按项目版本索引或导入 `/Users/mac/天机阁/地阁/慰心斋/3、运营方案` 中已有文件。
### 产品
- 可以新增产品版本卡片。
- 卡片展示版本目标、核心功能清单、上线日期、跟进记录。
- 点击卡片后可以用抽屉查看和编辑版本详情。
### 财务
- 可以录入收入、成本/费用明细。
- 系统按月份展示收入、毛利、成本/费用、净利曲线。
- 系统可以展示对应明细。
- 月份按自然月统计,格式为 YYYY-MM。
- 成本和费用统一作为成本/费用录入,再通过类型区分。
- 净利 = 收入 - 成本/费用。
### UI/UX
- 已使用 `ui-ux-pro-max-skill` 生成或校准 OPC 工作台设计规范摘要。
- 已使用 `frontend-design` 生成页面级 UI 落地清单。
- 前端页面基于 Jinja2 + Tailwind CSS CDN + 原生 JavaScript 实现。
- 图标库基于 Lucide 浏览器版实现。
- 财务趋势图基于 Chart.js 实现。
- 页面符合企业级经营管理后台风格,信息清晰、表格紧凑、状态可扫描。
- 销售、运营、产品详情通过抽屉承载,避免频繁跳转。
- 财务图表与明细表可对应核对。
- 首版完成后已基于 `ui-ux-pro-max-skill``frontend-design` 进行 UI 自检,并记录主要问题和修正结果。
### 后端与数据
- 后端基于 Flask 实现页面渲染、REST API 和文件服务。
- 数据读写基于 sqlite3 实现。
- 数据持久化使用 SQLite主数据库为 OPC 主库。
- 原财务 manager 不再作为独立系统运行,其能力合并进 OPC 财务 Tab。
- 文件本体存储在本地 uploads 目录SQLite 存储文件元数据。
- 后端提供文件上传、下载和在线预览访问入口。
- 首页指标和财务月度曲线由后端基于明细数据计算生成。
---
## 12. 已确认决策
1. v0.9 必须加入全局首页概览。
2. 销售管理中的跟进记录使用多条时间线记录。
3. 业务方案和运营交付文件需要支持在线预览和下载。
4. 运营文件不是先进入文件池再绑定项目,而是先确定项目版本,再按版本要求补充文件。
5. 财务图表按自然月统计,月份格式为 YYYY-MM。
6. 财务明细中的成本和费用统一为成本/费用,再按类型分类。
7. 首版先做单用户、单项目版本。
8. 单项目名称为科普(慰心斋),作为独立版本落地。
9. 后续再考虑多项目、多用户、权限体系。
10. 开发前同时使用 `ui-ux-pro-max-skill``frontend-design` 提升 UI/UX 质量。
11. 后端采用 Flask + sqlite3数据库采用 SQLite。
12. 文件本体存本地文件系统,数据库只存文件元数据。
13. 原财务 manager 合并进 OPC不再独立运行。
14. 前端采用 Jinja2 + Tailwind CSS CDN + Lucide + Chart.js + 原生 JavaScript不使用 Vite 构建链。