46 lines
1.2 KiB
PHP
Executable File
46 lines
1.2 KiB
PHP
Executable File
<?php
|
||
|
||
namespace App\Filament\Widgets;
|
||
|
||
use Filament\Widgets\Widget;
|
||
use Filament\Forms;
|
||
use Illuminate\Support\Facades\Cache;
|
||
use Filament\Forms\Contracts\HasForms;
|
||
use Filament\Forms\Concerns\InteractsWithForms;
|
||
|
||
class TriggerPriceWidget extends Widget implements HasForms
|
||
{
|
||
use InteractsWithForms;
|
||
|
||
protected static string $view = 'filament.widgets.trigger-price-widget';
|
||
protected static string $heading = '触发价格设定';
|
||
protected static ?int $sort = -1;
|
||
protected int | string | array $columnSpan = 'full';
|
||
|
||
public ?string $price = null;
|
||
|
||
public function mount(): void
|
||
{
|
||
$this->form->fill([
|
||
'price' => Cache::get('trigger_price', ''),
|
||
]);
|
||
}
|
||
|
||
protected function getFormSchema(): array
|
||
{
|
||
return [
|
||
Forms\Components\TextInput::make('price')
|
||
->numeric()
|
||
->label('触发价格(例如 21800)')
|
||
->required(),
|
||
];
|
||
}
|
||
|
||
public function submit(): void
|
||
{
|
||
$data = $this->form->getState();
|
||
Cache::put('trigger_price', $data['price']);
|
||
$this->dispatch('notify', type: 'success', title: '✅ 触发价格已更新为:' . $data['price']);
|
||
}
|
||
}
|