萝卜
|
68c9df40a4
|
test(admin): 仪表盘 Analysis 第三行骨架护栏(最近订单/占比占位)
|
2026-03-15 18:40:55 +08:00 |
|
萝卜
|
2de55fe9b3
|
feat(admin): 仪表盘补齐第二行骨架(最近订单+占比占位)
|
2026-03-15 18:24:59 +08:00 |
|
萝卜
|
7057229112
|
test(admin): 仪表盘 Analysis 骨架结构护栏
|
2026-03-15 18:14:50 +08:00 |
|
萝卜
|
0b9f1dd4e5
|
feat(admin-ui): 订阅/套餐筛选区可折叠并记忆状态
|
2026-03-15 18:01:34 +08:00 |
|
萝卜
|
1972c67ee9
|
feat(admin-ui): 平台订单筛选区可折叠并记忆状态
|
2026-03-15 17:53:34 +08:00 |
|
萝卜
|
7c264d4d12
|
feat(admin-ui): 平台订单筛选区可折叠并记忆状态
|
2026-03-15 17:49:13 +08:00 |
|
萝卜
|
3011619ee2
|
feat(admin-ui): 引入 Toast 反馈(Ant Design Pro 风格基线)
|
2026-03-15 17:41:45 +08:00 |
|
萝卜
|
71ad4becb9
|
fix(admin): 顶部导航布局 CSS 口径对齐(admin.css)
|
2026-03-15 17:39:42 +08:00 |
|
萝卜
|
b2fe4abbac
|
feat(admin): 订单详情绑定订阅表单防重复提交
|
2026-03-15 17:35:29 +08:00 |
|
萝卜
|
dbe90c1703
|
feat(admin): 订阅绑定按钮防重复提交(JS disable-on-submit)
|
2026-03-15 17:29:41 +08:00 |
|
萝卜
|
7dd508e84d
|
feat(admin): 绑定订阅后回跳提示增强(attached_subscription + 滚动)
|
2026-03-15 17:23:58 +08:00 |
|
萝卜
|
77fd8af295
|
feat(admin): 引入 admin.js(总台交互渐进增强基线)
|
2026-03-15 17:17:58 +08:00 |
|
萝卜
|
bb5fbfde4d
|
feat(admin): 订单详情查找订阅链接支持一键绑定(携带 attach_order_id)
|
2026-03-15 17:11:29 +08:00 |
|
萝卜
|
973576f045
|
feat(admin): 订阅列表支持一键绑定到订单(续费缺订阅治理)
|
2026-03-15 17:09:11 +08:00 |
|
萝卜
|
03163ee60c
|
feat(admin): 续费缺订阅治理闭环(订单手工绑定订阅)
|
2026-03-15 17:02:44 +08:00 |
|
萝卜
|
8e18a77f19
|
feat(admin): 续费订单支持手工绑定订阅(attach-subscription)+ 时区改为 Asia/Shanghai
|
2026-03-15 16:58:04 +08:00 |
|
萝卜
|
62d7a81df3
|
feat(admin): 客服中心工单骨架(模型/迁移/路由/菜单/页面)
|
2026-03-15 08:44:02 +00:00 |
|
萝卜
|
0bd21f8715
|
test(admin): 线索页创建续费订单入口应预填 merchant_id(从 lead meta)
|
2026-03-15 08:31:15 +00:00 |
|
萝卜
|
3b5cb6ede7
|
feat(admin): 站点管理页补齐订阅/平台订单/续费缺订阅治理入口 + back
|
2026-03-15 08:25:44 +00:00 |
|
萝卜
|
765195e7f3
|
test(admin): 站点管理页样式治理护栏(禁止 inline style)
|
2026-03-15 08:22:48 +00:00 |
|
萝卜
|
2f05f6df47
|
feat(admin): 线索页补齐创建续费订单入口(require_subscription)
|
2026-03-15 08:16:31 +00:00 |
|
萝卜
|
d28885db50
|
feat(admin): 线索列表补齐续费缺订阅治理入口(按 lead_id)
|
2026-03-15 08:09:25 +00:00 |
|
萝卜
|
f3afa2b305
|
feat(admin): 套餐列表补齐续费缺订阅治理入口
|
2026-03-15 08:07:07 +00:00 |
|
萝卜
|
46f1a7a2ff
|
feat(admin): 订阅详情页补齐续费缺订阅治理入口(同站点/同套餐)
|
2026-03-15 08:01:35 +00:00 |
|
萝卜
|
553b064e51
|
feat(admin): 关联订阅区块补齐续费缺订阅治理提示与查找订阅入口
|
2026-03-15 07:55:55 +00:00 |
|
萝卜
|
59d024cc93
|
feat(admin): 续费缺订阅时禁用仅标记为已生效并给治理引导
|
2026-03-15 07:49:37 +00:00 |
|
萝卜
|
9bd19474e1
|
feat(admin): 续费缺订阅时 BMPA 提示补齐去订阅管理查找订阅入口
|
2026-03-15 07:46:45 +00:00 |
|
萝卜
|
af8665ec7d
|
test(admin): 订阅锁定治理入口应包含续费缺订阅快捷入口
|
2026-03-15 07:39:06 +00:00 |
|
萝卜
|
0bb97cc6be
|
feat(admin): 线索/订阅锁定场景补齐续费缺订阅治理入口
|
2026-03-15 07:35:29 +00:00 |
|
萝卜
|
797f438c29
|
test(admin): 续费缺订阅快捷筛选应保留上下文并清理互斥条件
|
2026-03-15 07:33:03 +00:00 |
|
萝卜
|
297e6b53f3
|
feat(admin): 平台订单快捷筛选补齐续费缺订阅入口
|
2026-03-15 07:31:02 +00:00 |
|
萝卜
|
43bfd90c33
|
test(admin): 工具表单应透传 renewal_missing_subscription 筛选字段
|
2026-03-15 07:18:46 +00:00 |
|
萝卜
|
ee46915194
|
test: renewal_missing_subscription filter should work
|
2026-03-15 06:47:48 +00:00 |
|
萝卜
|
9afe8c135d
|
platform orders: batch mark activated guard renewal missing subscription
|
2026-03-15 06:39:22 +00:00 |
|
萝卜
|
efc2a8a423
|
platform orders: mark activated guard for renewal missing subscription
|
2026-03-15 06:34:18 +00:00 |
|
萝卜
|
58a8cc71c1
|
platform orders: row hint for renewal missing subscription
|
2026-03-15 06:23:23 +00:00 |
|
萝卜
|
1bd631a0b7
|
platform orders: add renewal missing subscription filter checkbox
|
2026-03-15 06:21:00 +00:00 |
|
萝卜
|
2d67c167ed
|
platform orders: add renewal missing subscription governance card
|
2026-03-15 06:14:52 +00:00 |
|
萝卜
|
ebc0bd8ce2
|
tests: syncable_only filter excludes renewal missing subscription
|
2026-03-15 05:57:53 +00:00 |
|
萝卜
|
b940c0172d
|
platform orders: syncable summary excludes renewal missing subscription
|
2026-03-15 05:52:21 +00:00 |
|
萝卜
|
a4c36ab868
|
platform orders: batch activate guard renewal missing subscription
|
2026-03-15 05:44:09 +00:00 |
|
萝卜
|
aee9026b98
|
tests: guard activate subscription button disabled when renewal missing subscription
|
2026-03-15 05:34:25 +00:00 |
|
萝卜
|
5ca76b7620
|
platform orders: activate subscription guard for renewal missing subscription
|
2026-03-15 05:18:46 +00:00 |
|
萝卜
|
a50cd0675e
|
批量BMPA 安全阀:续费单未绑订阅不允许推进并新增测试
|
2026-03-15 04:56:18 +00:00 |
|
萝卜
|
61e615efac
|
平台订单详情 BMPA 治理:续费单未绑订阅时禁用按钮并提示(含测试)
|
2026-03-15 04:50:36 +00:00 |
|
萝卜
|
d34578452c
|
BackUrl::sanitizeForLinks 增加长度安全阀(>2000 拒绝)并补单测
|
2026-03-15 04:45:04 +00:00 |
|
萝卜
|
c4c91ebf14
|
标记支付并生效:续费单必须绑定订阅(安全阀)并新增测试
|
2026-03-15 04:42:37 +00:00 |
|
萝卜
|
c75e7ad7d6
|
平台订单创建页:去订阅管理选择订阅的 back 保持 require_subscription=1 并新增测试
|
2026-03-15 04:33:45 +00:00 |
|
萝卜
|
90bb9259d8
|
平台订单详情 back 安全:补充协议相对 URL(//evil.com)应被拒绝的测试护栏
|
2026-03-15 04:29:01 +00:00 |
|
萝卜
|
a0039cf543
|
测试:require_subscription 在校验失败回填后应继续生效(无 query 场景)
|
2026-03-15 04:21:23 +00:00 |
|