diff --git a/app/Events/AdminSaved.php b/app/Events/AdminSaved.php new file mode 100644 index 0000000..0e71486 --- /dev/null +++ b/app/Events/AdminSaved.php @@ -0,0 +1,36 @@ +add("name", Field::TEXT, ["label" => "姓名", "rules" => "required"]); $this->add("username", Field::TEXT, ["label" => "用户名", "rules" => "required", "attr" => ["autocomplete" => "off"]]); $this->add("password", Field::PASSWORD, ["label" => "密码", "rules" => "min:6", "value" => "", "attr" => ["autocomplete" => "off"]]); + $this->add("project_id", Field::SELECT, ["label" => "管辖项目/医院", "rules" => "required", "attr" => ["multiple" => true, "data-plugin" => "select2"], "choices" => (new Project())->get()->pluck("name", "id")->toArray()]); $this->add('buttons', 'buttongroup', ["splitted" => true, "buttons" => [ ["label" => "保存", "attr" => ["class" => "btn btn-primary mr-1", "type" => "submit"]], ["label" => "返回", "attr" => ["class" => "btn btn-light btn-back", "type" => "button"]] diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php index 4a612dc..638a7ac 100644 --- a/app/Http/Controllers/Admin/AdminController.php +++ b/app/Http/Controllers/Admin/AdminController.php @@ -47,4 +47,14 @@ class AdminController extends CommonController return $this->ajaxError("授权失败:" . $exception->getMessage()); } } + + public function stored($model) + { + event(new ManagerSaved($model)); + } + + public function updated($model) + { + event(new ManagerSaved($model)); + } } diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index 24737f7..cf2007d 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -160,6 +160,16 @@ class OrdersController extends CommonController }); } + if (request()->area_id) { + $model = $model->whereHas("bed", function ($query) { + $query->where("area_id", request()->area_id); + }); + } elseif (request()->building_id) { + $model = $model->whereHas("bed", function ($query) { + $query->where("building_id", request()->building_id); + }); + } + switch (request()->status) { case "pending": $model = $model->whereIn("status", [Orders::STATUS_UNCONFIRMED, Orders::STATUS_UNASSIGNED]); @@ -386,7 +396,7 @@ class OrdersController extends CommonController $query->select("id", "name"); }, "bed" => function ($query) { - $query->select("bed.id", "bed.name") + $query->select("bed.id", "bed.name", "bed.building_id", "bed.area_id") ->leftJoin("building", "building.id", "=", "bed.building_id") ->leftJoin("area", "area.id", "=", "bed.area_id") ->leftJoin("room", "room.id", "=", "bed.room_id") diff --git a/app/Listeners/AdminSavedListener.php b/app/Listeners/AdminSavedListener.php new file mode 100644 index 0000000..43801b5 --- /dev/null +++ b/app/Listeners/AdminSavedListener.php @@ -0,0 +1,31 @@ + ["App\Listeners\FactorSavedListener"], "App\Events\ManagerSaved" => ["App\Listeners\ManagerSavedListener"], + "App\Events\AdminSaved" => ["App\Listeners\AdminSavedListener"], "App\Events\ProjectSaved" => ["App\Listeners\ProjectSavedListener"], "App\Events\ProductSaved" => ["App\Listeners\ProductSavedListener"], "App\Events\RechargeSucceed" => ["App\Listeners\RechargeSucceedListener"], diff --git a/database/migrations/2023_06_21_173325_create_admin_project.php b/database/migrations/2023_06_21_173325_create_admin_project.php new file mode 100644 index 0000000..e377744 --- /dev/null +++ b/database/migrations/2023_06_21_173325_create_admin_project.php @@ -0,0 +1,33 @@ +id(); + $table->integer("admin_id")->nullable(); + $table->integer("project_id")->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('admin_project'); + } +}