萝卜
|
a005b4edb4
|
ui(platform-orders): use date inputs for created_at range filters
|
2026-03-17 04:07:15 +08:00 |
|
萝卜
|
7d3590a175
|
tests(platform-orders): assert created-at quick links carry correct ranges
|
2026-03-17 04:01:14 +08:00 |
|
萝卜
|
8a98806480
|
tests(platform-orders): add guard for created-at range quick links
|
2026-03-17 03:51:06 +08:00 |
|
萝卜
|
f04680a498
|
Dashboard: add BMPA failed to governance mini bars
|
2026-03-17 02:56:45 +08:00 |
|
萝卜
|
db6fd9a9b7
|
Dashboard: expand governance mini bars to include reconcile mismatch and refund inconsistent
|
2026-03-17 02:48:11 +08:00 |
|
萝卜
|
e8c048378e
|
Dashboard: make subscription expiry mini bar rows clickable with safe back
|
2026-03-17 02:29:08 +08:00 |
|
萝卜
|
dcf83121bf
|
Tests: ensure dashboard mini bar rows link to correct governance scopes
|
2026-03-17 02:26:46 +08:00 |
|
萝卜
|
fc79c99fd1
|
Dashboard: add platform order funnel mini bars (unpaid→pending→syncable)
|
2026-03-17 02:15:26 +08:00 |
|
萝卜
|
002fe59e1d
|
Dashboard: add platform order governance mini bars for persuasion
|
2026-03-17 02:09:30 +08:00 |
|
萝卜
|
7b43b5b4f5
|
Tests: ensure dashboard subscription expiry mini bars render
|
2026-03-17 02:06:17 +08:00 |
|
萝卜
|
29b7f6093d
|
Admin dashboard: add subscription expiry mini bars and generalize mini bar CSS
|
2026-03-17 01:54:56 +08:00 |
|
萝卜
|
6cd8c34245
|
Governance: block batch BMPA when renewal missing subscription filter present
|
2026-03-17 01:40:51 +08:00 |
|
萝卜
|
810c4894fd
|
Governance UI: block batch BMPA in renewal missing subscription scope
|
2026-03-17 01:37:32 +08:00 |
|
萝卜
|
89f79f5e90
|
Governance: block batch mark activated when renewal missing subscription filter present
|
2026-03-17 01:34:51 +08:00 |
|
萝卜
|
387b18d32b
|
Governance UI: block batch mark activated in renewal missing subscription scope
|
2026-03-17 01:32:52 +08:00 |
|
萝卜
|
3cba715f01
|
Governance: block batch activate subscriptions when renewal missing subscription filter present
|
2026-03-17 01:24:47 +08:00 |
|
萝卜
|
8e93437748
|
Governance UI: block batch activate subscriptions in renewal missing subscription scope
|
2026-03-17 01:19:51 +08:00 |
|
萝卜
|
0474f23713
|
Admin subscriptions: expiring 7d add mini bar visualization
|
2026-03-17 01:05:48 +08:00 |
|
萝卜
|
aca99d1f30
|
Admin subscriptions: expiring 7d add merchant+plan top10 and renewal CTA
|
2026-03-17 00:54:17 +08:00 |
|
萝卜
|
3ba8018bf9
|
Admin subscriptions: expiring 7d top10 add renewal CTA
|
2026-03-17 00:45:28 +08:00 |
|
萝卜
|
03d30f0c7d
|
Admin subscriptions: add expiring 7d merchant top10 reminder list
|
2026-03-17 00:39:50 +08:00 |
|
萝卜
|
7ce6a65aab
|
Admin subscriptions: hide batch expired action in attach order mode
|
2026-03-17 00:37:11 +08:00 |
|
萝卜
|
f47cc71599
|
Tests: adjust long reason length to exceed keyword link max
|
2026-03-17 00:27:50 +08:00 |
|
萝卜
|
7b143e1a11
|
Admin subscriptions: batch mark expired with safety guards
|
2026-03-17 00:27:04 +08:00 |
|
萝卜
|
0e8a9797b9
|
Governance: block clear sync errors when synced_only present
|
2026-03-17 00:13:19 +08:00 |
|
萝卜
|
c0e3dffce1
|
Tests: ensure clear BMPA errors button disables when sync_status/synced_only present
|
2026-03-17 00:10:50 +08:00 |
|
萝卜
|
4f01232f35
|
Tests: cover clear BMPA errors blocking for sync_status/synced_only
|
2026-03-17 00:08:21 +08:00 |
|
萝卜
|
98fa529d01
|
Governance: block clear BMPA errors when sync_status/synced_only present
|
2026-03-17 00:03:32 +08:00 |
|
萝卜
|
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 |
|
萝卜
|
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 |
|
萝卜
|
07fb547e0e
|
chore(seed): enrich plan share demo data for dashboard top5
|
2026-03-16 22:12:45 +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 |
|
萝卜
|
09a6ee55ad
|
test(governance): add guardrails for clearing failure markers
|
2026-03-16 21:35:27 +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 |
|
萝卜
|
0e293081d9
|
test(platform-orders): syncable summary link locks unsynced scope
|
2026-03-16 20:35:59 +08:00 |
|
萝卜
|
44b916ecb3
|
fix(subscription): syncable orders link locks unsynced scope
|
2026-03-16 20:20:59 +08:00 |
|