From 450e6dbe673bb5bdd11ac72a94d6ead2ccbf90c8 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Fri, 15 May 2026 17:28:33 +0800 Subject: [PATCH] =?UTF-8?q?[FEAT]=20=E9=87=91=E6=B5=81=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=84=AA=E5=8C=96=EF=BC=9A=E5=85=AC=E5=8F=B8=E5=90=8D=E7=A8=B1?= =?UTF-8?q?=E6=94=B9=E7=82=BA=E9=81=B8=E5=A1=AB=E4=B8=A6=E5=84=AA=E5=8C=96?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=AF=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增資料庫遷移腳本,將 payment_configs 資料表的 company_id 欄位改為可為空 (nullable)。 2. 修改 PaymentConfigController 的驗證邏輯,允許 company_id 為空值。 3. 調整金流配置的新增與編輯頁面,移除公司名稱的必填限制及相關 JavaScript 攔截邏輯。 4. 優化金流配置列表,當配置未綁定公司時,將顯示標籤改為「系統」。 --- .../BasicSettings/PaymentConfigController.php | 4 +-- ...y_id_nullable_in_payment_configs_table.php | 28 +++++++++++++++++++ .../payment-configs/create.blade.php | 9 +----- .../payment-configs/edit.blade.php | 9 +----- .../payment-configs/index.blade.php | 2 +- 5 files changed, 33 insertions(+), 19 deletions(-) create mode 100644 database/migrations/2026_05_15_171154_make_company_id_nullable_in_payment_configs_table.php diff --git a/app/Http/Controllers/Admin/BasicSettings/PaymentConfigController.php b/app/Http/Controllers/Admin/BasicSettings/PaymentConfigController.php index 8295302..080dab4 100644 --- a/app/Http/Controllers/Admin/BasicSettings/PaymentConfigController.php +++ b/app/Http/Controllers/Admin/BasicSettings/PaymentConfigController.php @@ -49,7 +49,7 @@ class PaymentConfigController extends AdminController { $request->validate([ 'name' => 'required|string|max:255', - 'company_id' => 'required|exists:companies,id', + 'company_id' => 'nullable|exists:companies,id', 'settings' => 'required|array', ]); @@ -81,7 +81,7 @@ class PaymentConfigController extends AdminController { $request->validate([ 'name' => 'required|string|max:255', - 'company_id' => 'required|exists:companies,id', + 'company_id' => 'nullable|exists:companies,id', 'settings' => 'required|array', ]); diff --git a/database/migrations/2026_05_15_171154_make_company_id_nullable_in_payment_configs_table.php b/database/migrations/2026_05_15_171154_make_company_id_nullable_in_payment_configs_table.php new file mode 100644 index 0000000..81c6aa9 --- /dev/null +++ b/database/migrations/2026_05_15_171154_make_company_id_nullable_in_payment_configs_table.php @@ -0,0 +1,28 @@ +foreignId('company_id')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('payment_configs', function (Blueprint $table) { + $table->foreignId('company_id')->nullable(false)->change(); + }); + } +}; diff --git a/resources/views/admin/basic-settings/payment-configs/create.blade.php b/resources/views/admin/basic-settings/payment-configs/create.blade.php index b876672..61d680b 100644 --- a/resources/views/admin/basic-settings/payment-configs/create.blade.php +++ b/resources/views/admin/basic-settings/payment-configs/create.blade.php @@ -30,12 +30,6 @@ })); return; } - if (!this.$el.company_id.value.trim()) { - window.dispatchEvent(new CustomEvent('toast', { - detail: { message: '{{ __("Please select a company") }}', type: 'error' } - })); - return; - } this.$el.submit(); } }" @@ -72,10 +66,9 @@
- + diff --git a/resources/views/admin/basic-settings/payment-configs/edit.blade.php b/resources/views/admin/basic-settings/payment-configs/edit.blade.php index 903aa13..af5dc3e 100644 --- a/resources/views/admin/basic-settings/payment-configs/edit.blade.php +++ b/resources/views/admin/basic-settings/payment-configs/edit.blade.php @@ -30,12 +30,6 @@ })); return; } - if (!this.$el.company_id.value.trim()) { - window.dispatchEvent(new CustomEvent('toast', { - detail: { message: '{{ __("Please select a company") }}', type: 'error' } - })); - return; - } this.$el.submit(); } }" @@ -73,10 +67,9 @@
- + diff --git a/resources/views/admin/basic-settings/payment-configs/index.blade.php b/resources/views/admin/basic-settings/payment-configs/index.blade.php index 7825ee0..574a5ed 100644 --- a/resources/views/admin/basic-settings/payment-configs/index.blade.php +++ b/resources/views/admin/basic-settings/payment-configs/index.blade.php @@ -140,7 +140,7 @@ - {{ $config->company->name ?? __('None') }} + {{ $config->company->name ?? __('System') }}