## 安全与性能 - .env 环境变量、debug=False、except 改 mysql.connector.Error+logging - attach_common 批量 IN 查询消除 N+1 - 批量 esc() XSS 转义 ## 架构 - app.js 拆分为 7 模块 + admin.js - .form-ctrl 统一表单控件 ## 经营管理 - 字段改名:客户名称→项目名称、销售人员→商务负责人 - 必填:项目名称/商务负责人/经营负责人/签约月份/签约金额>0 - 视图切换:确收/毛利 ↔ 回款/费用 ## 重点工作与台账 - 统计卡片样式与经营管理统一 - 任务状态简化 3 态 - 优先级点击切换、右键菜单(重命名/副本) - 修复新建任务绑定错误项目 bug ## 用户体系 - 新增工作台:MCN·无界、无界·无界 - 新增账号:mcn/wuji - 账号管理后台(admin 限定) - sidebar 顶部头像+显示名,点击弹菜单 - sidebar sticky 定位 ## 其他 - 登录页样式优化(参考 UOC 平台) - 首页财务趋势拆 3 图 - 业务方案标准资料库双 Tab
5.9 KiB
5.9 KiB
OPC Manager Version Log
v1.1.0-beta — 2026-06-23
- 安全:.env 环境变量管理(SECRET_KEY/DB)、debug=False、except 改 mysql.connector.Error + logging
- 性能:attach_common 批量 IN 查询消除 N+1、monthly_finance 预解析 budget_data
- XSS:批量添加 esc() 转义 21 处用户可控字段
- 架构:app.js 拆分为 7 个模块(utils/home/projects/proposals/products/finance/drawer)+ admin.js
- 表单统一:.form-ctrl 统一所有输入控件(替代 drawer-value/fin-input/inline-form 等)
- 首页:移除风险提醒卡片;财务趋势拆为 3 图(签约趋势/确收毛利/回款费用)
- 业务方案:标准资料库 + 其他资料双 Tab;标准 7 项自动初始化;标准资料支持评论
- 经营管理:
- 字段改名:客户名称→项目名称、销售人员→商务负责人
- 必填约束:项目名称/商务负责人/经营负责人/签约月份/签约金额>0
- 新增经营负责人字段;移除转移功能,新增删除项目
- 视图切换:确收/毛利 ↔ 回款/费用
- 重点工作与台账:
- 统计卡片样式与经营管理统一(无图标)
- 视图切换 + 新增任务按钮移到卡片外右对齐
- 任务状态简化为 3 态(未开始/进行中/已结束)
- 优先级点击切换、项目右键菜单(重命名/创建副本)
- 新建任务绑定当前选中项目(修复新建到错误项目的 bug)
- 任务详情抽屉改为创建到 document.body(避免 innerHTML 清除)
- 用户体系:
- 新增工作台:MCN·无界、无界·无界
- 新增账号:mcn/mcn123、wuji/wuji123
- 账号管理后台(admin 限定):增删改查账号 + 工作台权限分配
- sidebar 顶部用户头像(首字母)+ 显示名,点击弹菜单(账号管理/退出)
- sidebar sticky 定位,滚动时不消失
- 登录页:参考 UOC 业务管理平台样式优化(图标 logo、密码显隐、loading 态、回车提交)
- 初始化:启动自动修正任务状态空值/done→进行中等非法值
v1.0.1-beta — 2026-06-22
- 数据库迁移:SQLite → MySQL 9.6,适配占位符/类型/游标
- 用户体系:管理员 + OPC负责人角色,工作台权限隔离,登录鉴权
- 经营管理:状态改为已签约/流程中/待签约三类,签约月份列可编辑,财务指标卡片(确收/毛利/回款/费用/现金流)
- 重点工作与台账:阶段排序固定化+折叠分组,任务拖拽手柄与状态互换位置,关闭抽屉自动刷新,首次进入自动选第一个项目
- 产品迭代:统一表格(去平台tab),状态点击循环切换,日期改为 date 选择器,新增版本改用右侧抽屉
- 左侧工作台/顶部 tab 记忆恢复,跨工作台转移功能
- 近期动态修复 tenant 归属
v1.2.0 — 2026-06-15
- 业务机会 + 运营管理合并为「重点项目」Tab,统一表格展示
- 新增项目任务追踪:按阶段分组展示里程碑/执行项/负责人/截止日/卡点
- 新增
project_tasks表,抽屉内展示项目时间线
v1.1.0 — 2026-06-15
- 首页指标升级:增加已签约合同总额、合同流程中金额、年度/Q2 累计确收、年度/Q2 累计毛利、已签约未执行
- 运营表格增加「金额」列
- 产品研发增加「平台」字段(真研/科普/关爱),支持平台筛选
v1.0.7 — 2026-06-04
- 修复新增表单 async 后
event.currentTarget丢失导致页面不刷新(影响所有新增按钮) createResource改用预存 form 引用 + try/catch 错误提示
v1.0.6 — 2026-06-04
- 修复财务 Tab Chart 无限堆积:renderChartOn 缺少旧 chart 销毁 + state 跟踪
- 财务图表容器加固定高度(300px),避免 resize 循环
v1.0.5 — 2026-06-04
- "销售管理" Tab 改为"业务机会","目标客户"字段统一改为"业务机会"
v1.0.4 — 2026-06-04
- CDN 全量本地化:Tailwind / Chart.js / Squire / Lucide 下载到
static/vendor/,不再依赖外部 CDN
v1.0.3 — 2026-06-04
- CDN 脚本加
defer+preconnect:解决 Chart.js / Squire / Lucide 同步加载阻塞页面渲染
v1.0.2 — 2026-05-30
- 新增 Codex Skill:
opc-manager,说"打开 OPC 工作台"即可在任意上下文启动
v1.0.1 — 2026-05-30
- 将 data/opc.sqlite 加入 .gitignore,避免运行时数据库被误提交
v1.0.0 — 2026-05-30
首次正式发布
Features
- 首页概览:7 项关键指标卡片(4 列自动换行)、财务趋势图、风险提醒、近期动态
- 销售管理:客户表格 + 抽屉详情(字段失焦自动保存)
- 业务方案:版本表格 + 抽屉(文件上传/预览/下载/删除)
- 运营管理:项目表格(业务机会/已签约执行分类筛选)+ 抽屉
- 产品研发:版本表格 + 抽屉
- 财务管理:月度收入/毛利/成本/净利曲线图 + 明细表
Interactions
- 所有抽屉:Plane 风格紧凑布局(720px)、字段失焦自动保存、状态指示
- 评论区:Squire 富文本编辑器(加粗/斜体/下划线/删除线/无序列表/有序列表/引用/撤销/重做)
- 评论支持删除,带确认弹窗
- 评论内容保留 HTML 格式(加粗、列表等)
- 图标库:Lucide
Tech Stack
- Backend: Flask + SQLite
- Frontend: Vanilla JS + Tailwind CSS CDN
- Editor: Squire (Fastmail)
- Charts: Chart.js
- Icons: Lucide
Fixes
- 首页财务图表空白问题:固定容器高度 140px + maintainAspectRatio: false
- 首页指标卡片布局:grid-cols-7 → grid-cols-4 自动换行
- 风险提醒文字竖排:grid-cols-2 等宽布局 + break-words
- 评论区工具栏按钮无效:onclick → onmousedown 防止焦点丢失
- 格式 toggle 无效:hasFormat 检测 + removeBold/removeItalic
- 列表按钮无效:Squire API 替代 Trix
- 评论内容格式丢失:encodeURIComponent 编码 + decodeURIComponent 渲染
- 列表显示无标记:list-style: revert 覆盖 Tailwind reset