wecom-fullstack
0a6525edab
ci/woodpecker/push/main Pipeline was successful
feat(strategy): P0 战略基座 — strategy_charter + GET/PUT /api/cma/charter + P组入口
- 表 strategy_charter(一账套一行,entity_id 唯一):mission/vision/vision_year/vision_measurable/values_text/value_items(JSON) 全 NOT NULL
- 迁移脚本 backend/scripts/migrate_strategy_charter_20261021.py:--check/--apply/--down(回滚先 mysqldump,有数据需 --force),零 INSERT
- API:GET 无行 → filled=false 空态(禁示例数据);PUT 字段白名单 + 账套隔离三道 + vision_year 4位年份 + value_items [{name,meaning}] 结构校验
- 前端:P 组「战略章程」入口 + MyDialog 编辑(ceo/finance 可写,其余只读);战略地图页顶部只读章程条
- 用例 43 条 + auth-surface 58 条 = 101 passed;vite build rc=0
2026-10-21 18:54:09 +08:00
..
2026-05-28 17:42:15 +08:00
2026-07-12 17:46:08 +08:00
2026-09-18 17:33:25 +08:00
2026-08-27 12:50:30 +08:00
2026-09-18 20:03:55 +08:00
2026-09-18 20:12:46 +08:00
2026-10-18 16:31:52 +08:00
2026-07-27 17:16:01 +08:00
2026-09-18 21:04:30 +08:00
2026-09-15 18:36:46 +08:00
2026-09-25 10:39:18 +08:00
2026-09-19 11:12:31 +08:00
2026-09-19 11:12:31 +08:00
2026-09-25 10:39:18 +08:00
2026-09-25 14:06:38 +08:00
2026-07-27 17:16:01 +08:00
2026-09-22 11:06:02 +08:00
2026-09-15 17:00:52 +08:00
2026-10-21 16:01:08 +08:00
2026-09-25 22:42:25 +08:00
2026-09-15 17:00:52 +08:00
2026-09-15 17:00:52 +08:00
2026-08-30 19:16:19 +08:00
2026-10-02 11:22:38 +08:00
2026-10-04 22:37:20 +08:00
2026-09-25 22:42:25 +08:00
2026-09-25 22:42:25 +08:00
2026-08-27 10:59:56 +08:00
2026-10-13 03:41:39 +08:00
2026-10-18 16:32:55 +08:00
2026-10-13 03:41:39 +08:00
2026-09-23 18:29:52 +08:00
2026-10-18 16:32:55 +08:00
2026-09-25 10:39:18 +08:00
2026-09-14 20:37:12 +08:00
2026-09-13 07:38:58 +08:00
2026-09-25 22:42:25 +08:00
2026-09-15 18:36:46 +08:00
2026-09-03 01:22:46 +08:00
2026-08-27 15:51:19 +08:00
2026-09-23 01:03:19 +08:00
2026-09-05 09:10:35 +08:00
2026-09-18 18:15:22 +08:00
2026-09-18 19:03:49 +08:00
2026-09-18 19:34:59 +08:00
2026-09-21 09:37:38 +08:00
2026-09-21 10:36:02 +08:00
2026-09-21 14:56:43 +08:00
2026-10-09 17:00:37 +08:00
2026-09-14 17:39:53 +08:00
2026-08-26 07:51:39 +08:00
2026-09-14 17:39:53 +08:00
2026-08-30 10:27:01 +08:00
2026-07-27 17:16:01 +08:00
2026-09-18 20:33:39 +08:00
2026-10-13 07:48:18 +08:00
2026-10-18 16:31:52 +08:00
2026-09-29 13:00:48 +08:00
2026-10-05 02:02:21 +08:00
2026-10-05 02:02:21 +08:00
2026-09-23 21:39:24 +08:00
2026-09-23 23:08:26 +08:00
2026-09-15 17:00:52 +08:00
2026-09-15 18:12:05 +08:00
2026-10-18 16:31:52 +08:00
2026-10-18 16:31:52 +08:00
2026-08-26 06:53:25 +08:00
2026-09-15 17:00:52 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 18:12:38 +08:00
2026-07-27 17:16:01 +08:00
2026-09-14 17:39:53 +08:00
2026-10-12 17:06:07 +08:00
2026-10-12 11:42:56 +08:00
2026-10-13 11:37:24 +08:00
2026-10-18 16:31:52 +08:00
2026-10-12 17:06:07 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-09-25 16:34:52 +08:00
2026-09-22 11:06:02 +08:00
2026-07-12 17:46:08 +08:00
2026-09-26 02:42:04 +08:00
2026-07-12 17:46:08 +08:00
2026-09-21 10:36:02 +08:00
2026-08-20 06:57:24 +08:00
2026-10-16 18:28:50 +08:00
2026-10-03 02:10:47 +08:00
2026-08-30 23:13:32 +08:00
2026-09-18 20:23:53 +08:00
2026-10-18 16:42:06 +08:00
2026-09-18 17:33:25 +08:00
2026-09-16 01:17:09 +08:00
2026-10-14 23:14:41 +08:00
2026-10-13 20:33:42 +08:00
2026-09-25 22:42:25 +08:00
2026-09-15 18:36:46 +08:00
2026-09-14 17:39:53 +08:00
2026-09-14 17:39:53 +08:00
2026-08-25 23:59:33 +08:00
2026-10-18 16:31:52 +08:00
2026-10-21 18:54:09 +08:00
2026-09-21 10:36:02 +08:00
2026-09-11 17:25:24 +08:00
2026-09-11 17:27:12 +08:00
2026-08-20 06:57:24 +08:00
2026-07-12 17:46:08 +08:00
2026-07-12 17:46:08 +08:00
2026-07-12 17:46:08 +08:00
2026-09-14 19:05:16 +08:00
2026-09-14 19:05:16 +08:00
2026-09-22 11:21:24 +08:00