萝卜
|
c54e95bb74
|
Fix: dashboard recent platform orders table overflow
|
2026-03-16 23:54:54 +08:00 |
|
萝卜
|
131aa6b259
|
Admin dashboard: align column widths and remove height sync JS
|
2026-03-16 23:51:44 +08:00 |
|
萝卜
|
18ea639583
|
chore(governance): block batch mark activated when refund_status=has
|
2026-03-16 23:35:39 +08:00 |
|
萝卜
|
485a8a639d
|
chore(governance): block batch BMPA when refund_status=has
|
2026-03-16 23:33:10 +08:00 |
|
萝卜
|
7f1d234393
|
feat(admin-dashboard): sync trend/billing card height with recent orders
|
2026-03-16 23:29:45 +08:00 |
|
萝卜
|
9dc281f48e
|
chore(governance): block batch mark activated when receipt none/refund has
|
2026-03-16 23:26:29 +08:00 |
|
萝卜
|
75d64195d6
|
chore(governance): block batch mark activated when reconcile/refund inconsistent
|
2026-03-16 23:16:25 +08:00 |
|
萝卜
|
a26be5de9e
|
chore(governance): block batch activate when refund_status=has
|
2026-03-16 23:03:38 +08:00 |
|
萝卜
|
8063b8ae9d
|
chore(governance): block batch activate when syncable_only conflicts with synced_only
|
2026-03-16 23:00:27 +08:00 |
|
萝卜
|
d68d0523b1
|
chore(governance): block batch BMPA when sync-governance filters present
|
2026-03-16 22:54:19 +08:00 |
|
萝卜
|
68735ee914
|
refactor(governance-ui): align clear sync errors guard with backend scopes
|
2026-03-16 22:44:15 +08:00 |
|
萝卜
|
f6fa80c95c
|
fix(admin-dashboard): prevent pay column header wrap
|
2026-03-16 22:38:55 +08:00 |
|
萝卜
|
502c397ec2
|
fix(governance-ui): align clear error tool guards with backend
|
2026-03-16 22:37:46 +08:00 |
|
萝卜
|
d13ada0ed8
|
fix(admin-dashboard): prevent recent order scanline labels wrapping
|
2026-03-16 22:20:06 +08:00 |
|
萝卜
|
07fb547e0e
|
chore(seed): enrich plan share demo data for dashboard top5
|
2026-03-16 22:12:45 +08:00 |
|
萝卜
|
5e73e03ac2
|
chore(admin-dashboard): rank links should keep paid filter
|
2026-03-16 22:02:37 +08:00 |
|
萝卜
|
3f7ab0ed94
|
feat(admin-dashboard): add rank coverage meta for merchant revenue top5
|
2026-03-16 22:01:06 +08:00 |
|
萝卜
|
6aa58d5369
|
chore(seed): add demo merchants for dashboard rank; tighten batch mark activated UI guard
|
2026-03-16 21:51:29 +08:00 |
|
萝卜
|
314563a8d5
|
chore(governance): block batch mark activated when filters conflict
|
2026-03-16 21:46:08 +08:00 |
|
萝卜
|
2f57dc3a70
|
test(governance): batch mark activated should include sync_status unsynced
|
2026-03-16 21:39:49 +08:00 |
|
萝卜
|
363e60f76b
|
fix(admin-dashboard): prevent row-warn links wrapping in recent orders
|
2026-03-16 21:38:52 +08:00 |
|
萝卜
|
09a6ee55ad
|
test(governance): add guardrails for clearing failure markers
|
2026-03-16 21:35:27 +08:00 |
|
萝卜
|
968cba3c08
|
chore(governance): guard clear bmpa errors when filters not bmpa scope
|
2026-03-16 21:30:51 +08:00 |
|
萝卜
|
d3793d062a
|
chore(governance): guard clear sync errors when filters conflict
|
2026-03-16 21:28:26 +08:00 |
|
萝卜
|
512de34da4
|
chore(governance): block batch activate when syncable_only conflicts with failed filters
|
2026-03-16 21:05:13 +08:00 |
|
萝卜
|
6790771364
|
chore(governance): block batch activate when syncable_only conflicts with sync status
|
2026-03-16 20:59:52 +08:00 |
|
萝卜
|
4fb0d6b050
|
chore(subscription): disable-on-submit for batch activate form
|
2026-03-16 20:53:52 +08:00 |
|
萝卜
|
45c1dbf2b9
|
fix(subscription): syncable stats exclude sync failed orders
|
2026-03-16 20:47:10 +08:00 |
|
萝卜
|
abb0f2a38f
|
fix(subscription): syncable filter excludes sync failed orders
|
2026-03-16 20:41:53 +08:00 |
|
萝卜
|
0e293081d9
|
test(platform-orders): syncable summary link locks unsynced scope
|
2026-03-16 20:35:59 +08:00 |
|
萝卜
|
bbc31d3869
|
feat(governance): add anchor jump to batch activate tool from hints
|
2026-03-16 20:29:40 +08:00 |
|
萝卜
|
6a89b67c7a
|
chore(admin-ui): add anchor id for batch activate subscriptions tool
|
2026-03-16 20:24:18 +08:00 |
|
萝卜
|
44b916ecb3
|
fix(subscription): syncable orders link locks unsynced scope
|
2026-03-16 20:20:59 +08:00 |
|
萝卜
|
2f4e727c1b
|
fix(governance): batch activate subscriptions excludes failed and dirty renewal orders
|
2026-03-16 20:15:33 +08:00 |
|
萝卜
|
115e94644d
|
fix(platform-orders): keep syncable links aligned with unsynced scope
|
2026-03-16 20:13:03 +08:00 |
|
萝卜
|
93277a1392
|
fix(platform-orders): syncable governance links lock sync_status=unsynced
|
2026-03-16 20:09:28 +08:00 |
|
萝卜
|
4199c19920
|
test(admin-dashboard): syncable count excludes sync failed orders
|
2026-03-16 19:45:49 +08:00 |
|
萝卜
|
97326e9922
|
fix(platform-orders): syncable_only excludes sync failed orders
|
2026-03-16 19:40:23 +08:00 |
|
萝卜
|
f297ffacd5
|
fix(admin-dashboard): syncable quick link aligns with unsynced scope
|
2026-03-16 19:36:54 +08:00 |
|
萝卜
|
763c706cf3
|
fix(admin-dashboard): paid_pending count aligns with unsynced scope
|
2026-03-16 19:23:42 +08:00 |
|
萝卜
|
7c318ef59c
|
test(governance): batch mark activated requires sync_status=unsynced
|
2026-03-16 19:17:28 +08:00 |
|
萝卜
|
d7c4fc9d17
|
fix(platform-orders): syncable_only filter should only apply when value is 1
|
2026-03-16 19:15:11 +08:00 |
|
萝卜
|
dbb88f59f6
|
chore(governance): batch mark activated requires unsynced scope
|
2026-03-16 19:04:40 +08:00 |
|
萝卜
|
33ab55b10a
|
fix(platform-orders): align paid-pending governance links with unsynced scope
|
2026-03-16 18:51:23 +08:00 |
|
萝卜
|
88347d1185
|
fix(admin-dashboard): billing workbench links use selfWithoutBack for back param
|
2026-03-16 18:25:44 +08:00 |
|
萝卜
|
9ac3b32e0e
|
test(admin-dashboard): paid pending workbench link locks sync_status=unsynced
|
2026-03-16 18:22:33 +08:00 |
|
萝卜
|
1c5f56bee0
|
chore(admin-site-subscription): failed reason keyword max len uses config
|
2026-03-16 18:11:31 +08:00 |
|
萝卜
|
6123aeb33b
|
fix(admin-js): merchant revenue rank link map parses exact merchant_id
|
2026-03-16 17:56:14 +08:00 |
|
萝卜
|
ef46111efb
|
chore(admin-platform-order): failed reason keyword max len uses config
|
2026-03-16 17:47:47 +08:00 |
|
萝卜
|
d6d8748ce6
|
feat(admin-js): plan order share mini rows clickable via table plan links
|
2026-03-16 17:44:17 +08:00 |
|