瀏覽代碼

用户列表

ChenWuJie 4 年之前
父節點
當前提交
e3d275c6ef

+ 18 - 0
app/Admin/Actions/backstage/User/BalanceLog.php

xqd
@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class BalanceLog extends RowAction
+{
+    public $name = '余额明细';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+        return $this->response()->success('跳转余额成功')->redirect('/admin/user_balance_logs?user_id='.$this->row->id.'');
+    }
+
+}

+ 20 - 0
app/Admin/Actions/backstage/User/BlackList.php

xqd
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use App\Models\User;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class BlackList extends RowAction
+{
+    public $name = '拉黑';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+        User::where('id',$model->id)->update(['status'=>0]);
+        return $this->response()->success('拉黑成功.')->refresh();
+    }
+
+}

+ 20 - 0
app/Admin/Actions/backstage/User/service.php

xqd
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class service extends RowAction
+{
+    public $name = '服务包-保单';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+
+        return $this->response()->success('跳转订单库成功')->redirect('/admin/user_orders?user_id='.$this->row->id.'&product_type=6');
+
+    }
+
+}

+ 105 - 0
app/Admin/Controllers/UserBalanceLogController.php

xqd
@@ -0,0 +1,105 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\UserBalanceLog;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class UserBalanceLogController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '余额明细';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new UserBalanceLog());
+        //根据id筛选数据
+        $uesr_id = \request('user_id');
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('user_id','用户id');
+        });
+        //关闭全部的操作
+        $grid->disableActions();
+
+        $grid->column('id', __('Id'));
+        $grid->column('user_id', __('用户ID'));
+        $grid->column('user.nickname', __('用户名称'));
+        $grid->column('admin_user_id', __('后台用户ID'));
+        $grid->column('type', __('类型'))
+            ->using([1=>'订单消费',2=>'用户充值',3=>'后台赠送']);
+        $grid->column('relation_id', __('订单id'));
+        $grid->column('before_balance', __('变化前的余额'))->display(function ($price){
+            return $price/100;
+        });
+        $grid->column('change_balance', __('改变的余额'))->display(function ($price){
+            return $price/100;
+        });
+        $grid->column('after_balance', __('变化后的余额'))->display(function ($price){
+            return $price/100;
+        });
+        $grid->column('remark', __('备注'));
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(UserBalanceLog::findOrFail($id));
+
+        $show->field('id', __('Id'));
+        $show->field('user_id', __('User id'));
+        $show->field('admin_user_id', __('Admin user id'));
+        $show->field('type', __('Type'));
+        $show->field('relation_id', __('Relation id'));
+        $show->field('before_balance', __('Before balance'));
+        $show->field('change_balance', __('Change balance'));
+        $show->field('after_balance', __('After balance'));
+        $show->field('remark', __('Remark'));
+        $show->field('created_at', __('Created at'));
+        $show->field('updated_at', __('Updated at'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new UserBalanceLog());
+
+        $form->number('user_id', __('User id'));
+        $form->number('admin_user_id', __('Admin user id'));
+        $form->switch('type', __('Type'));
+        $form->number('relation_id', __('Relation id'));
+        $form->number('before_balance', __('Before balance'));
+        $form->number('change_balance', __('Change balance'));
+        $form->number('after_balance', __('After balance'));
+        $form->text('remark', __('Remark'));
+
+        return $form;
+    }
+}

+ 100 - 0
app/Admin/Controllers/UserListController.php

xqd
@@ -0,0 +1,100 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Admin\Actions\backstage\User\archives;
+use App\Admin\Actions\backstage\User\BalanceLog;
+use App\Admin\Actions\backstage\User\BlackList;
+use App\Admin\Actions\backstage\User\service;
+use App\Models\User;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class UserListController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '用户列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new User());
+        $grid->actions(function ($actions) {
+            // 去掉删除
+            $actions->disableDelete();
+            // 去掉编辑
+            $actions->disableEdit();
+            // 去掉查看
+            $actions->disableView();
+            $actions->add(new archives());
+            $actions->add(new service());
+            $actions->add(new BalanceLog());
+            $actions->add(new BlackList());
+        });
+        //筛选
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('phone','手机')->mobile()->placeholder("请输入手机");
+            $filter->equal('phone','订单号')->placeholder("请输入订单号");
+            $filter->like('nickname','昵称');
+            $filter->equal('status','用户状态')->radio([
+                ''   => '不限',
+                0    => '黑名单',
+                1    => '正常',
+            ]);
+            $filter->equal('is_pack','用户状态')->radio([
+                ''   => '全部用户',
+                0    => '普通用户',
+                1    => '服务包用户',
+            ]);
+        });
+            $grid ->model()->where('status','>=','0');
+            $grid->column('id', __('用户id'))->sortable();
+            $grid->column('nickname', __('用户名'));
+            $grid->column('sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
+            $grid->column('age', __('年龄'));
+            $grid->column('status', __('状态'))->using([0=>'黑名单',1=>'正常',]);
+            $grid->column('is_pack', __('用户身份'))->using([0=>'普通用户',1=>'付费用户']);
+            $grid->column('balance', __('当前余额'))->display(function ($price){
+                return $price/100;
+            });
+            $grid->column('created_at', __('注册时间'));
+            $grid->column('last_login_time', __('最后登录时间'))->display(function ($time){
+                return date("Y-m-d H:i",$time);
+            });
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(User::findOrFail($id));
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new User());
+        return $form;
+    }
+}

+ 7 - 28
app/Admin/Controllers/UserPatientsController.php

xqd xqd
@@ -29,7 +29,13 @@ class UserPatientsController extends AdminController
         $uesr_id = \request('user_id');
         $grid->filter(function ($filter){
             $filter->disableIdFilter();
-            $filter->equal('user_id');
+            $filter->equal('user_id','用户id');
+        });
+        $grid->actions(function ($actions) {
+            // 去掉删除
+            $actions->disableDelete();
+            // 去掉编辑
+            $actions->disableEdit();
         });
         $grid->column('id', __('档案id'));
         $grid->column('user_id', __('用户id'));
@@ -94,33 +100,6 @@ class UserPatientsController extends AdminController
     protected function form()
     {
         $form = new Form(new Patient());
-        $form->footer(function ($footer) {
-            // 去掉`查看`checkbox
-            $footer->disableViewCheck();
-            // 去掉`继续编辑`checkbox
-            $footer->disableEditingCheck();
-            // 去掉`继续创建`checkbox
-            $footer->disableCreatingCheck();
-        });
-
-        $form->text('user_id', __('用户id'));
-        $form->text('name', __('姓名'));
-        $form->select('sex',__('性别'))->options([0 => '未知', 1 => '男', '2' => '女'])->rules('required');
-        $form->image('avatar', __('头像'));
-        $form->image('card_img_url', __('身份证正面照片'))->rules('required');
-        $form->image('card_back_img_url', __('身份证背面照片'))->rules('required');
-        $form->date('birthday', __('生日'))->format('YYYY-MM-DD')->rules('required');
-        $form->email('email', __('邮箱'))->rules('required|email');
-        $form->mobile('phone', __('联系电话'))->rules('required')->options(['mask' => '999 9999 9999']);
-        $form->text('address', __('家庭住址'));
-        $form->text('guardian_name', __('监护人姓名'))->rules('required');
-        $form->select('relationship_type', __('与就诊人关系类型'))
-            ->options([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄',8=>'其他'])->rules('required');
-        $form->text('info', __('就诊信息'));
-        $form->select('card_type', __('证件类型'))->options([ 1 => '身份证', '2' => '护照'])->default(1)->rules('required');
-        $form->text('card_number', __('证件号'))->rules('required');
-        $form->text('social_card_number', __('社保卡号'));
-        $form->text('born_hospital', __('出生医院'));
         return $form;
     }
 }

+ 127 - 0
app/Admin/Controllers/UserServiceController.php

xqd
@@ -0,0 +1,127 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Order;
+use App\Models\OrderPack;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class UserServiceController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '服务包-保单';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Order());
+        $product_type = 6;
+        $uesr_id = \request('user_id');
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->equal('user_id','用户id');
+            $filter->equal('product_type','订单类型');
+        });
+        $grid->actions(function ($actions) {
+
+            // 去掉删除
+            $actions->disableDelete();
+
+            // 去掉编辑
+            $actions->disableEdit();
+        });
+
+        $grid->column('orderPack.id', __('Id'));
+        $grid->column('orderPack.order_id', __('订单id'));
+        $grid->column('orderPack.service_pack_id', __('服务包id'));
+        $grid->column('orderPack.pack_name', __('服务包名称'));
+        $grid->column('orderPack.pack_intro', __('服务包简介'));
+        $grid->column('orderPack.pack_price', __('服务包价格'))->display(function ($price){
+            return $price/100;
+        });
+        $grid->column('orderPack.insurance_policy', __('保单名称'));
+        $grid->column('orderPack.insurance_img_url', __('	保单图片链接'));
+        $grid->column('orderPack.team_id', __('医生团队ID'));
+
+        $grid->column('orderPack.effective_days', __('有效天数'));
+        $grid->column('orderPack.start_time', __('开始时间'))->display(function ($start_time){
+            return date("Y-m-d H:i",$start_time);
+        });
+        $grid->column('orderPack.end_time', __('结束时间'))->display(function ($end_time){
+            return date("Y-m-d H:i",$end_time);
+        });
+        $grid->column('orderPack.created_at', __('创建时间'));
+        $grid->column('orderPack.updated_at', __('更新时间'));
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(Order::findOrFail($id));
+
+        $show->field('orderPack.id', __('Id'));
+        $show->field('orderPack.order_id', __('订单ID'));
+        $show->field('orderPack.service_pack_id', __('服务包ID'));
+        $show->field('orderPack.pack_name', __('服务包名称'));
+        $show->field('orderPack.pack_intro', __('服务包简介'));
+        $show->field('orderPack.pack_price', __('服务包价格'))->as(function ($price){
+            return $price/100;
+        });
+        $show->field('orderPack.insurance_policy', __('保单名称'));
+        $show->field('orderPack.insurance_img_url', __('保单图片链接'));
+        $show->field('orderPack.team_id', __('医生团队ID'));
+        $show->field('orderPack.phone_minutes', __('	电话分钟数'));
+        $show->field('orderPack.chat_num', __('图文咨询次数'));
+        $show->field('orderPack.appoint_num', __('门诊预约次数'));
+        $show->field('orderPack.vaccine_limit_amount', __('疫苗总金额限制'))->as(function ($price){
+            return $price/100;
+        });
+        $show->field('orderPack.nurses_limit_amount', __('儿保总金额限制'))->as(function ($price){
+            return $price/100;
+        });
+        $show->field('orderPack.effective_days', __('	有效天数'));
+        $show->field('orderPack.start_time', __('开始时间'))->as(function ($start_time){
+            return date("Y-m-d H:i",$start_time);
+        });
+        $show->field('orderPack.end_time', __('结束时间'))->as(function ($end_time){
+            return date("Y-m-d H:i",$end_time);
+        });
+        $show->field('orderPack.is_security', __('宝贝是否有医保'))
+            ->using([0=>'否',1=>'是']);
+        $show->field('orderPack.guardian_name', __('监护人姓名'));
+        $show->field('orderPack.relationship_type', __('与宝贝的关系'))
+            ->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄']);
+        $show->field('orderPack.created_at', __('创建时间'));
+        $show->field('orderPack.updated_at', __('更新时间'));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Order());
+        return $form;
+    }
+}

+ 2 - 0
app/Admin/routes.php

xqd
@@ -24,5 +24,7 @@ Route::group([
     $router->resource('docters_management', DoctorManagementController::class);
     $router->resource('users', UserListController::class);
     $router->resource('user_patients', UserPatientsController::class);
+    $router->resource('user_orders', UserServiceController::class);
+    $router->resource('user_balance_logs', UserBalanceLogController::class);
 });
 

+ 5 - 1
app/Models/Order.php

xqd xqd
@@ -38,7 +38,7 @@ class Order extends BaseModel
 
     public function orderPack()
     {
-        return $this->hasMany(OrderPack::class);
+        return $this->hasOne(OrderPack::class);
     }
 
     public function orderNurse()
@@ -61,6 +61,10 @@ class Order extends BaseModel
         return $this->belongsTo(Organization::class);
     }
 
+    public function user()
+    {
+        return $this->belongsTo(User::class);
+    }
     //支付完成的处理方法
     public static function payCompletedHandle($order_id)
     {

+ 7 - 0
app/Models/OrderPack.php

xqd
@@ -14,4 +14,11 @@ class OrderPack extends BaseModel
     {
         return $this->belongsTo(Team::class);
     }
+    public function order()
+    {
+        return $this->belongsTo(Order::class);
+    }
+    public function user(){
+        return $this->belongsTo(User::class);
+    }
 }

+ 4 - 0
app/Models/User.php

xqd xqd
@@ -14,6 +14,7 @@ class User extends BaseModel
 {
     protected $appends = ['age'];
 
+    //从生日转成年龄
     public function getAgeAttribute()
     {
         return birthday_to_age($this->birthday);
@@ -89,4 +90,7 @@ class User extends BaseModel
 
         return true;
     }
+    public function UserBalanceLog(){
+        return $this->hasMany(UserBalanceLog::class);
+    }
 }

+ 3 - 1
app/Models/UserBalanceLog.php

xqd
@@ -10,5 +10,7 @@ namespace App\Models;
 
 class UserBalanceLog extends BaseModel
 {
-
+    public function User(){
+        return $this->belongsTo(User::class);
+    }
 }