weizong song 3 years ago
parent dea10552fc
commit 41743cb269

@ -0,0 +1,36 @@
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class AdminSaved
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}

@ -2,6 +2,7 @@
namespace App\Forms;
use App\Models\Project;
use Kris\LaravelFormBuilder\Form;
use Kris\LaravelFormBuilder\Field;
@ -12,6 +13,7 @@ class AdminForm extends Form
$this->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"]]

@ -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));
}
}

@ -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")

@ -0,0 +1,31 @@
<?php
namespace App\Listeners;
use App\Events\AdminSaved;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
class AdminSavedListener
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param AdminSaved $event
* @return void
*/
public function handle(AdminSaved $event)
{
//
}
}

@ -20,6 +20,7 @@ class EventServiceProvider extends ServiceProvider
],
"App\Events\FactorSaved" => ["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"],

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAdminProject extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('admin_project', function (Blueprint $table) {
$table->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');
}
}
Loading…
Cancel
Save