From e2b7bdc6e6ed495c1422c2c79ca04ee0fa9f14e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Wed, 2 Aug 2023 15:15:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=8E=82=E5=95=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Enums/DeviceType.php | 2 ++ app/Http/Requestes/DeviceRequest.php | 8 +++++ app/Models/Device.php | 7 ++++ ...5504_add_supplier_key_to_devices_table.php | 32 +++++++++++++++++++ database/seeders/KeywordsTableSeeder.php | 10 ++++++ 5 files changed, 59 insertions(+) create mode 100644 database/migrations/2023_08_02_145504_add_supplier_key_to_devices_table.php diff --git a/app/Enums/DeviceType.php b/app/Enums/DeviceType.php index e6525d8..ce0cc34 100644 --- a/app/Enums/DeviceType.php +++ b/app/Enums/DeviceType.php @@ -8,6 +8,7 @@ enum DeviceType: int case Soil = 2; // 土壤设备 case WaterQuality = 3; // 水质设备 case Meteorological = 4; // 气象设备 + case Insect = 5; // 虫情设备 /** * @return string @@ -27,6 +28,7 @@ enum DeviceType: int static::Soil->value => '土壤设备', static::WaterQuality->value => '水质设备', static::Meteorological->value => '气象设备', + static::Insect->value => '虫情设备', ]; } } diff --git a/app/Http/Requestes/DeviceRequest.php b/app/Http/Requestes/DeviceRequest.php index 4c08d4b..ee83de8 100644 --- a/app/Http/Requestes/DeviceRequest.php +++ b/app/Http/Requestes/DeviceRequest.php @@ -22,6 +22,7 @@ class DeviceRequest extends FormRequest 'agricultural_base_id' => 'required|integer|min:0', 'sn' => 'required|string|max:64', 'monitoring_point' => 'required|string|max:100', + 'supplier_key' => 'required', 'extends' => 'required_if:type,1', 'extends.ip' => 'required_if:type,1|string', 'extends.port' => 'required_if:type,1|string', @@ -34,6 +35,13 @@ class DeviceRequest extends FormRequest ]; } + public function attributes() + { + return [ + 'supplier_key' => '设备厂商', + ]; + } + public function messages() { $messages = [ diff --git a/app/Models/Device.php b/app/Models/Device.php index 3e6b0cd..1974268 100644 --- a/app/Models/Device.php +++ b/app/Models/Device.php @@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Model; use Dcat\Admin\Traits\HasDateTimeFormatter; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Peidikeji\Keywords\Models\Keywords; class Device extends Model { @@ -37,6 +38,7 @@ class Device extends Model 'created_by', 'updated_by', 'sort', + 'supplier', ]; public function base() @@ -53,4 +55,9 @@ class Device extends Model { return $this->belongsTo(AdminUser::class, 'updated_by'); } + + public function supplier(): BelongsTo + { + return $this->belongsTo(Keywords::class, 'supplier_key', 'key'); + } } diff --git a/database/migrations/2023_08_02_145504_add_supplier_key_to_devices_table.php b/database/migrations/2023_08_02_145504_add_supplier_key_to_devices_table.php new file mode 100644 index 0000000..ee5aad9 --- /dev/null +++ b/database/migrations/2023_08_02_145504_add_supplier_key_to_devices_table.php @@ -0,0 +1,32 @@ +string('supplier_key')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('devices', function (Blueprint $table) { + $table->dropColumn(['supplier_key']); + }); + } +}; diff --git a/database/seeders/KeywordsTableSeeder.php b/database/seeders/KeywordsTableSeeder.php index 60777f9..d79e179 100644 --- a/database/seeders/KeywordsTableSeeder.php +++ b/database/seeders/KeywordsTableSeeder.php @@ -32,6 +32,16 @@ class KeywordsTableSeeder extends Seeder ['key' => 'crops-cate-lingye', 'name' => '林业', 'type_key' => 'crops-category', 'value' => ''], ['key' => 'crops-cate-activity', 'name' => '其他', 'type_key' => 'crops-category', 'value' => ''], ]], + [ + 'key' => 'equipment_supplier', + 'name' => '设备供应商', + 'value' => '', + 'list' => [ + ['key' => 'linkos', 'name' => '慧联无限', 'value' => ''], + ['key' => 'biang', 'name' => '比昂', 'value' => ''], + ['key' => 'other', 'name' => '其它', 'value' => ''], + ], + ] ]; $list[] = value(function () {