diff --git a/resources/views/admin/plans/index.blade.php b/resources/views/admin/plans/index.blade.php
index 790fe2c..a9cf3d8 100644
--- a/resources/views/admin/plans/index.blade.php
+++ b/resources/views/admin/plans/index.blade.php
@@ -120,7 +120,10 @@
套餐列表
后续将从这里进入套餐详情、授权项与订阅联动。
- 新建套餐
+ @php
+ $createPlanUrl = '/admin/plans/create?' . \Illuminate\Support\Arr::query(['back' => $selfWithoutBack]);
+ @endphp
+ 新建套餐
diff --git a/tests/Feature/AdminPlanIndexCreateLinkContainsBackTest.php b/tests/Feature/AdminPlanIndexCreateLinkContainsBackTest.php
new file mode 100644
index 0000000..8c598b1
--- /dev/null
+++ b/tests/Feature/AdminPlanIndexCreateLinkContainsBackTest.php
@@ -0,0 +1,41 @@
+seed();
+
+ $this->post('/admin/login', [
+ 'email' => 'platform.admin@demo.local',
+ 'password' => 'Platform@123456',
+ ])->assertRedirect('/admin');
+ }
+
+ public function test_create_plan_link_should_carry_back_to_index_self_without_back(): void
+ {
+ $this->loginAsPlatformAdmin();
+
+ $res = $this->get('/admin/plans?status=active&back=' . urlencode('/admin/platform-orders'));
+ $res->assertOk();
+
+ $expectedBack = '/admin/plans?' . Arr::query([
+ 'status' => 'active',
+ ]);
+
+ $expectedCreateUrl = '/admin/plans/create?' . Arr::query([
+ 'back' => $expectedBack,
+ ]);
+
+ $res->assertSee($expectedCreateUrl, false);
+ $res->assertDontSee('back%3D', false);
+ }
+}