Bladeren bron

更新标签管理

ChenWuJie 4 jaren geleden
bovenliggende
commit
c0a0771b45

+ 33 - 0
app/Admin/Actions/backstage/Docters/LabelManagement.php

xqd
@@ -0,0 +1,33 @@
+<?php
+
+namespace App\Admin\Actions\backstage\Docters;
+
+use App\Models\Docter;
+use App\Models\DocterLabel;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Http\Request;
+
+class LabelManagement extends RowAction
+{
+    public $name = '标签管理';
+
+    public function handle(Model $model,Request $request)
+    {
+        // $model ...
+        $label_name = $request->get('name');
+        Docter::where('id',$model->id)->update(['label'=>$label_name]);
+        return $this->response()->success('Success message.')->refresh();
+    }
+    public function form()
+    {
+        $label = Docter::where('id',$this->row->id)->pluck('label');
+        $result = [];
+        array_walk_recursive($label, function($value) use (&$result) {
+            array_push($result, $value);
+        });
+        $this->multipleSelect('name', '请选择标签')
+            ->options(DocterLabel::all()->pluck('label_name','id'))
+            ->value($result);
+    }
+}

+ 74 - 0
app/Admin/Controllers/UserManagement/DocterManagement/DocterLabelController.php

xqd
@@ -0,0 +1,74 @@
+<?php
+
+namespace App\Admin\Controllers\UserManagement\DocterManagement;
+
+use App\Models\DocterLabel;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class DocterLabelController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '标签管理';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new DocterLabel());
+        $grid->actions(function ($actions) {
+            // 去掉查看
+            $actions->disableView();
+        });
+        $grid->column('id', __('Id'));
+        $grid->column('label_name', __('标签名称'));
+        $states = [
+            'on'  => ['value' => 1, 'text' => '启用', 'color' => 'primary'],
+            'off' => ['value' => 0, 'text' => '禁用', 'color' => 'danger'],
+        ];
+        $grid->column('status', __('状态'))->switch($states);
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(DocterLabel::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('label_name', __('Label name'));
+        $show->field('status', __('Status'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new DocterLabel());
+
+        $form->text('label_name', __('标签名'));
+        $form->switch('status', __('状态'))->default(1);
+
+        return $form;
+    }
+}

+ 10 - 1
app/Admin/Controllers/UserManagement/DocterManagement/DoctorManagementController.php

xqd xqd xqd
@@ -2,9 +2,13 @@
 
 namespace App\Admin\Controllers\UserManagement\DocterManagement;
 
+use App\Admin\Actions\backstage\Docters\AddLabel;
+use App\Admin\Actions\backstage\Docters\DelLabel;
+use App\Admin\Actions\backstage\Docters\LabelManagement;
 use App\Admin\Actions\backstage\Docters\SignUp;
 use App\Admin\Actions\backstage\Docters\Team;
 use App\Models\Docter;
+use App\Models\DocterLabel;
 use App\Models\DocterOrganization;
 use App\Models\Organization;
 use App\Models\User;
@@ -50,6 +54,8 @@ class DoctorManagementController extends AdminController
             $actions->add(new SignUp());
             //团队管理
             $actions->add(new Team());
+            //标签管理
+            $actions->add(new LabelManagement());
         });
 
         $grid->column('id', __('Id'))->sortable();
@@ -63,7 +69,10 @@ class DoctorManagementController extends AdminController
         ];
         $grid->column('status', __('工作状态'))->switch($states);
         $grid->column('is_then', __('认证状态'))->using([0=>'未认证',1=>'已认证']);
-        $grid->column('label', __('标签'))->label('info');
+        $grid->column('label', __('标签'))->display(function ($label){
+                $label_value = DocterLabel::wherein('id',$label)->pluck('label_name');
+                return $label_value;
+        })->label('info');
         return $grid;
     }
 

+ 1 - 1
app/Admin/Controllers/UserManagement/DocterManagement/QualificationsController.php

xqd
@@ -15,7 +15,7 @@ class QualificationsController extends AdminController
      *
      * @var string
      */
-    protected $title = '职称类别';
+    protected $title = '资质管理';
 
     /**
      * Make a grid builder.

+ 2 - 1
app/Admin/routes.php

xqd
@@ -69,7 +69,8 @@ Route::group([
     $router->resource('evaluates', UserManagement\DocterManagement\UserEvaluatesController::class);
     //职称类别
     $router->resource('qualifications', UserManagement\DocterManagement\QualificationsController::class);
-
+    //标签管理
+    $router->resource('docter_labels', UserManagement\DocterManagement\DocterLabelController::class);
     /*
      * 用户管理->宝妈用户
      * */

+ 11 - 0
app/Models/DocterLabel.php

xqd
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class DocterLabel extends Model
+{
+    //
+    protected $table = 'docter_label';
+}