Hermes CI Fix
07dc10d557
fix(ui): 全仓 el-dialog 清剿 → MyDialog(26 处/17 文件)
...
ci/woodpecker/push/main Pipeline failed
- 项目铁律:一律 MyDialog(Element 原生弹窗在本项目长期不可见)
- 含用户报的 OKR 模板库「应用」弹窗(OKRTemplates.vue)
- 等价适配:width 字符串 px → 数字绑定;append-to-body/destroy-on-close
/top/show-close/class 等 EP 专有属性移除(MyDialog 已 teleport+卸载语义)
- 新增 MyDialog 显式 import;零后端/零数据改动
- 全仓 <el-dialog> 0 命中;components.d.ts 随之移除 ElDialog 自动注册
2026-09-24 17:36:05 +08:00
fullstack-bot
e89629228e
fix(cma): 缺失值 NULL 语义——同环比/执行率/进度不把缺失当 0
...
ci/woodpecker/push/main Pipeline failed
财务裁定 2026-09-21(博海 2026-08 批次 §2):前端对缺失值须显式 NULL 语义,
同环比不得按 0 参与。
- ProfitBreakdown: revChg/profitChg/rateChg 上期缺失→null(原 return 0 显示为持平 0.0%),
去掉 prev || 0.01 假分母;模板 null 显示「缺上期数据」
- MyDashboard: 进度条 actual 缺失不再显示 0%,改显 —
- DeviationDashboard: 趋势图 actual/budget 保留 null,barHeight 对 null 不画柱
- BudgetManagement: 执行率/偏差额 actual 缺失→null(表格显示 -),平均执行率只对非空取平均
2026-09-21 16:07:03 +08:00
Hermes CI Fix
27d3e1cd73
feat(cma): strategy map lane KR delete entry (cma-map-kr-delete-entry-20260916)
...
- MapNode.vue: hover trash icon per KR row emitting delete-kr (inline SVG, no emoji)
- StrategyLayer.vue / MapCanvas.vue: passthrough + MyDialog second confirm + okrApi.deleteKr + whole-map save
- MapsDialog: single-KR policy hint (keep at least 1 KR per objective)
2026-09-16 15:26:38 +08:00
Hermes CI Fix
06c23927aa
fix(cma): KR 名称污染存量清理 + 透传点护栏 (cma-kr-name-pollution-cleanup-20260916)
...
ci/woodpecker/push/main Pipeline was canceled
- kr_name.py/krName.ts: sanitize_kr_name 判据(尾部≥/≤数字≠目标值→截断;==目标值→保留)
- maps.py/okr.py/okr_templates.py: 模板名/JSON→krs.title 透传点护栏
- test: 28 passed(独立复核)
- 原会话因迭代上限停手,本提交代收口(工作已复核完成)
2026-09-16 14:48:06 +08:00
Hermes CI Fix
e6dd8f61f0
feat(ui): converge 6 page-level entity selectors to read-only session tag
...
- DataQuality / ProductMatrix / AlertList / ActionPlanLibrary /
views.GrowthQuality / PredictAccuracy: drop entity el-select
(including the "all entities" option), show read-only session
entity tag (not clickable), same style as the top bar tag
- drop page-level entity param from those requests; backend resolves
entity from the session token (assert_entity_scope / get_entity_id)
- utils/entity.ts: add sessionEntityName() (cma_entity_name else id map)
- P3: ReportCenter header emoji removed; components/GrowthQuality
detail drill-down el-dialog -> MyDialog
(cma-entity-selectors-converge-6pages-20260914)
2026-09-14 11:32:52 +08:00
Hermes CI Fix
1b73dbb272
feat(ui): remove in-app entity switcher, entity fixed at login
...
- MainLayout/ReportCenter: drop switch-entity switcher, keep read-only entity tag
- KPIList/PredictDashboard/GrowthQuality: entity selectors locked to session entity
- api/index.ts: drop switchEntity/myEntities wrappers (endpoint kept for compat)
- sidebar brand now shows logged-in entity name
(cma-remove-inapp-entity-switcher-20260914)
2026-09-14 10:15:23 +08:00
Hermes CI Fix
c928d59f60
fix(maps): KR 目标值逐键输入污染名称根治 — 移除 formatTargetValue 回写名称 + 只读预览拼接 (project-20260911-kr-name-pollution)
2026-09-11 19:15:31 +08:00
Hermes CI Fix
397c365263
feat(maps): 战略地图版本管理完整实现(方案B)— versions API列表/详情/回滚带自动备份/备注 + MapVersions独立版本页 + 路由注册 + 版本弹窗接真实数据 (project-20260908-map-versions-page)
2026-09-08 20:11:59 +08:00
Hermes CI Fix
cf81ee0ccd
fix(dashboard): BEP卡片现金口径公式文案修正(按口径切换显示完整推导)
2026-09-08 14:02:33 +08:00
Hermes CI Fix
9eb38cfa89
feat(dashboard): 经营看板「本量利·保本点」卡片 + 只读BEP概览端点 (cma-bep-kpi Phase2)
...
- 新增 GET /api/cma/dashboard/bep-card:账面/现金双口径只读数据
(5001月销113.6/5602管理费26.1/折旧560213 7.51/渠补率84.61%)
账面: 保本169.9万 覆盖率66.9%(黄) 缺口33.1%; 现金: 保本121.0万 覆盖率93.9%
- 新增 components/BEPBreakEvenCard.vue:主指标覆盖率红黄绿圆点+副指标
并排+下钻面板(公式/输入KPI/双口径切换/解读),A区只读
- Dashboard.vue CEO/财务视图顶部引入卡片
2026-09-08 13:58:01 +08:00
Hermes CI Fix
88ec021a58
chore: 清理误提交的.bak备份文件(git历史可恢复,源文件均在)
2026-09-04 00:09:57 +08:00
Hermes CI Fix
92873456ab
feat(zone): 三区标记M3——新增BotSourceTag组件(最近Bot更新时间/来源/批次,缺失隐藏),接入/kpis/:id、/bot-kpis、/alerts三页 (three-zone P0-①)
2026-09-03 17:52:10 +08:00
Hermes CI Fix
4c01f2bf21
feat(zone): 三区标记M2——A区只读收口:Dashboard移除AI建议应用弹窗(收敛至/ai-suggestions)、客户/学习看板KPIListView只读模式(KPI维护收敛至/kpis) (three-zone P0-①)
2026-09-03 17:48:46 +08:00
Hermes CI Fix
2da4cfc42d
feat(mapcanvas): 田字格2x2布局+拖拽辅助(合法高亮/灰显/吸附)+连接管理面板+zoom transform缩放+连线rAF节流
2026-08-30 17:41:07 +08:00
Hermes CI Fix
497f378957
feat: 落地UI动效——表单错误抖动/数字滚动/卡片悬浮
...
- 新增styles/transitions.css: 错误shake/按钮状态/弹窗过渡/骨架屏淡入(带prefers-reduced-motion)
- 新增CountUp.vue: KPI数字滚动组件(easeOutCubic+千分位+闪烁提示)
- Dashboard: CEO/IT视图摘要卡片接入CountUp
- main.ts引入全局动效
2026-08-29 15:38:02 +08:00
Hermes CI Fix
6b479bfe7d
feat(KR): 行动挂KR完成 — action_plans.kr_id字段+API+前端目标/KR选择+KR中文名自动填+地图krs端点
...
- action_plans表加kr_id字段(关联krs.id),create/update/list支持kr_id读写
- 创建行动选KR时自动继承objective_id;列表附kr_title
- 前端行动方案库加'所属目标/KR'两级联动选择,选中KR自动带出KPI
- OKR详情页KR卡片下显示达成行动列表(O→KR→行动三层)
- MapCanvasDialogs onKpiChange选中KPI自动填kr.name=kpi.kpi_name(中文)
- 编辑回填英文code KR名转中文显示兜底
- maps.py 新增GET /{map_id}/krs端点(MapReview战略回顾会KR进度)
- 数据修复: krs表9条英文code title→中文名(按kpi_definitions映射)
- 数据迁移: 高置信行动挂KR(费用率→kr10,应收→kr14); 地图32空KR清理
- okr list的kr_summary补metric_kpi_id(前端联动用)
- 新增6个kr_id测试(test_action_plans),全量547通过
2026-08-27 12:50:30 +08:00
Hermes CI Fix
61936302b2
feat(KR): KR完整修复 — krs表打通+方向符号operator+权重自由输入
...
- 后端okr.py: KR读取从ActionPlan改为krs表, 新增KR CRUD API(POST/PUT/DELETE /okr/{objective_id}/krs) + 批量sync
- operator方向符号: krs表加operator/tolerance/weight/sort_order/monthly_milestones列
- progress方向感知计算(>=/>: current/target, <=/<: target/current, =: 容差), 达成→status=achieved
- 关联KPI自动继承方向(threshold_green解析: F_COST_RATIO<=18等)
- maps.py: 保存地图时自动同步objectives+krs表, JSON→krs数据迁移脚本
- 前端: 权重下拉改自由数字输入(可小数33.33) + 方向选择器(≥/≤/>/</=) + 自动平分按钮 + KPI方向继承提示
- pytest: 10个新测试(krs CRUD/方向感知/权重校验/多租户隔离) + 更新旧KR测试
- 迁移: 现有strategic_maps JSON 12条KR已写入krs表
2026-08-27 10:59:56 +08:00
Hermes CI Fix
603d6ae5cf
feat: 战略地图贝塞尔因果链+节点KPI可视化(P0+P1)
2026-08-15 22:08:09 +08:00
Hermes CI Fix
0b191d278e
feat: OKR模板库改造 — 弹窗模板库联动+时间分解落库+制造业包6个
2026-08-11 00:11:25 +08:00
Hermes CI Fix
2bd66b1e89
fix: 行动方案库统计卡片—补全API+overdue计算
2026-07-27 17:16:01 +08:00
Hermes CI Fix
f85b18ce6d
fix: 企业切换数据同步(8/10页面+shared组件)
2026-07-27 16:13:03 +08:00
Hermes CI Fix
b593e0383f
feat: O→KR→KPI Phase 0 - KR sub-nodes on canvas, KR edit dialog, data migration
...
- MapNode.vue: Add collapsible KR sub-list with progress bars under each O node
- MapCanvasDialogs.vue: Add KPI selector per KR, editing mode (skip template step, pre-fill data), validation (max 5 KR, target value required)
- StrategyLayer.vue: Pass through edit-kr/add-kr events
- MapCanvas.vue: Data migration (old kpis[]→krs[]), KR add/edit handlers, pass editingObj/allKpis to dialog
2026-07-26 18:01:59 +08:00
Hermes CI Fix
71674d62ab
fix: KR目标值自动同步到名称(如毛利率提升→毛利率提升≥5%)
2026-07-26 16:55:29 +08:00
Hermes CI Fix
5b6362a98a
feat: 编辑目标——回车自动加%+权重合计校验
2026-07-26 16:44:22 +08:00
Hermes CI Fix
2923e54366
feat: 驱动因子计划 — 模式切换+行业包+敏感性分析
2026-07-22 12:58:04 +08:00
Hermes CI Fix
3852533129
fix: 模板选择弹窗下一步按钮始终可用(不选模板也可跳过)
2026-07-21 17:41:33 +08:00
Hermes CI Fix
9c6c1614fb
Phase 1: OKR模板 — 两步弹窗(O+KR结构) + 14个CMA模板 + okr_templates表 + API
...
MapCanvasDialogs.vue:
- 节点编辑弹窗改为两步交互(模板选择→O+KR编辑)
- 第一步:按维度展示对应模板(财务4/客户3/流程4/学习3)
- 第二步:编辑O名称+描述+3个KR(名称/目标值/权重)
- 14个CMA标准模板硬编码在前端
- 支持添加/删除KR、自定义目标跳过模板
MapCanvas.vue:
- 传递 editingLayerKey 到弹窗
- onSaveDialog 适配新 O+KR 数据结构
- onNodeSave 存储 krs 和 template_name 字段
Backend:
- OKRTemplate 模型 (okr_templates 表)
- okr_templates API: GET(按维度筛选) + POST(用户自定义) + increment use_count
- seed_okr_templates.py 迁移脚本(建表+14条种子数据)
- 在 main.py 注册新路由
2026-07-21 17:22:43 +08:00
Hermes CI Fix
a9cc7c3f1d
fix: 战略地图画布5个弹窗el-dialog→MyDialog
2026-07-20 15:25:05 +08:00
Hermes CI Fix
1e0262e162
ui: 战略地图泳道重新设计 — 圆角阴影卡片+浅灰内容区
2026-07-20 15:16:26 +08:00
Hermes CI Fix
0ebb0fec05
fix: MyDialog z-index 10000->1001(避免遮挡el-select下拉菜单)
2026-07-19 18:25:03 +08:00
Hermes CI Fix
56067261ad
feat: 驾驶舱改名经营看板+改善行动闭环按钮+统一菜单名
2026-07-19 15:54:20 +08:00
Hermes CI Fix
f85c3d2c4e
feat: 增长质量诊断模块 — 后端评分API+前端驾驶舱卡片+雷达图+明细下钻+双实体对比
...
- 新增 POST /api/cma/predict/growth-quality 评分API
- 五维度评分引擎(营收结构/利润结构/现金资产/增长驱动/组织效率)
- 自动诊断结论生成
- 明细指标+改善建议
- 双实体对比模式
- 前端 GrowthQuality.vue 组件
- 综合评分大字展示
- 五维度评分条 + 状态颜色
- ECharts雷达图
- 明细下钻弹窗(指标+建议)
- 双实体并列对比(VS模式)
- 集成到 Dashboard.vue CEO驾驶舱视图
- 酣客测试验证:综合1.4分(越增长越重)
- 博海对比验证:综合3.6分(增长质量中等)
2026-07-19 10:46:43 +08:00
Hermes CI Fix
430d9f23fe
feat: CMA前端UI优化第三轮P2 — mc-dialog→el-dialog+按钮统一+MapCanvas拆组件+全局过渡动画
2026-07-18 17:29:38 +08:00
Hermes CI Fix
4569c24739
refactor: 菜单按PDCA五组重组 — 规划与目标/执行与控制/监控与评价/复盘与改进/系统与支持
2026-07-16 17:49:29 +08:00
Hermes CI Fix
1a08e801f4
fix: 级联/因果视角切换 — 跨层箭头方向+SVG三角+ConnectionLines联动
2026-07-14 16:22:29 +08:00
Hermes CI Fix
1db0e76204
fix: dialog强制刷新(:key)+el-button去text属性+Props对齐
2026-07-14 11:46:31 +08:00
Hermes CI Fix
957dacd248
fix: 恢复5个被CI覆盖的前端文件+成本数据+预警定时器
...
- 从.bak恢复: BudgetManagement(72%代码丢失)/KPIList/DeviationDashboard/MapReview/NodeEditDialog
- 注册4个缺失后端API模块到main.py
- 新增3个前端路由(管理报表/战略执行看板/杜邦分析)
- 修复改善行动路由指向ActionPlanLibrary(原指向AlertList)
- deploy.sh增加git pull步骤
- 运行成本种子数据: 29标准成本+31实际成本+10ABC+25分配
- 补充非财务KPI预算: 72条(客户/流程/学习维度)
- 配置预警cron: 每30分钟自动检查
2026-07-13 09:52:06 +08:00
Hermes CI Fix
b26046349c
fix: 补注册缺失API模块+前端路由+ConnectionLines恢复
...
- 注册4个后端模块: customer_dashboard/deviation_push/budget_generate/knowledge_articles
- 修复改善行动路由指向ActionPlanLibrary.vue(原指向AlertList.vue)
- 新增3个路由: /reports(管理报表) /alignment(战略执行看板) /dupont-analysis
- 恢复ConnectionLines.vue完整版(288行, 原被截断为123行)
- 修复maps.py维度键 finance(原financial不匹配前端)
- 补回models/__init__.py knowledge模型导入
2026-07-13 09:49:55 +08:00
Hermes CI Fix
9dfc3b9a6f
fix: 恢复部署内容丢失 — 补全api/index.ts缺失端点、修复import路径、重建后端KPITemplate兼容别名
2026-07-12 18:00:23 +08:00
Hermes CI Fix
ee25d5fa1d
feat: P0/P1/P2全部功能 — 四层泳道/视角切换/KPI看板/预警/差异反打/预算/知识面板/回顾会/情景预测/Excel导入/角色权限
2026-07-12 17:46:08 +08:00
Hermes CI Fix
3dddd36866
init: 管理会计OS初始代码
...
包含前后端完整代码:
- 前端:Vue3+Vite+ElementPlus
- 后端:FastAPI+SQLAlchemy
- 模块:驾驶舱/KPI/战略地图/预警/预算/成本/预测/改善行动
- 当前版本:v1.0.0
2026-05-28 17:32:22 +08:00