jingyuzhi преди 4 години
родител
ревизия
ccc1875f6a

+ 55 - 0
app/Admin/Controllers/OutpatientServiceController.php

xqd
@@ -0,0 +1,55 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Docter;
+use App\Models\Order;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class OutpatientServiceController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'Docter';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Docter());
+
+        $grid->column('id','ID');
+        $grid->column('name','医生姓名');
+        $grid->column('appoint_price','咨询价格');
+        $grid->column('orders','总订单数')->display(function (){
+
+            $order_type = Order::where(['docter_id'=>$this->id,'product_type'=>3])->count();
+            return $order_type;
+        });
+        $grid->column('orders_actions','进行中数')->display(function (){
+            $action = Order::where(['docter_id'=>$this->id,'product_type'=>3,'order_status'=>3])->count();
+            return $action;
+        });
+        $grid->column('orders_inishs','完成数')->display(function (){
+            $finish = Order::where(['docter_id'=>$this->id,'product_type'=>3,'order_status'=>4])->count();
+            return $finish;
+        });
+        $grid->column('orders_anomaly','异常数')->display(function (){
+            $anomaly = Order::where(['docter_id'=>$this->id,'product_type'=>3])->whereIn('order_status',[1,2,5])->count();
+//            dd($anomaly);
+            return $anomaly;
+        });
+
+        return $grid;
+    }
+
+}

+ 62 - 0
app/Admin/Controllers/PhoneServiceController.php

xqd
@@ -0,0 +1,62 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Docter;
+use App\Models\Order;
+use App\Models\Doctertimes;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class PhoneServiceController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'Docter';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Docter());
+
+        $grid->column('id','ID');
+        $grid->column('name','医生姓名');
+        $grid->column('phone_price','咨询价格');
+        $grid->column('step_price','步进价格')->display(function (){
+            $step = Doctertimes::where(['docter_id'=>$this->id])->value('step_price');
+            return $step;
+        });
+
+
+        $grid->column('orders','总订单数')->display(function (){
+
+            $order_type = Order::where(['docter_id'=>$this->id,'product_type'=>1])->count();
+            return $order_type;
+        });
+        $grid->column('orders_actions','进行中数')->display(function (){
+            $action = Order::where(['docter_id'=>$this->id,'product_type'=>1,'order_status'=>3])->count();
+            return $action;
+        });
+        $grid->column('orders_inishs','完成数')->display(function (){
+            $finish = Order::where(['docter_id'=>$this->id,'product_type'=>1,'order_status'=>4])->count();
+            return $finish;
+        });
+        $grid->column('orders_anomaly','异常数')->display(function (){
+            $anomaly = Order::where(['docter_id'=>$this->id,'product_type'=>1])->whereIn('order_status',[1,2,5])->count();
+//            dd($anomaly);
+            return $anomaly;
+        });
+
+        return $grid;
+    }
+
+}

+ 68 - 0
app/Admin/Controllers/ReplyServiceCCController.php

xqd
@@ -0,0 +1,68 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Admin\Actions\Service\ApplysAction;
+use App\Admin\Actions\Service\RefuseAction;
+use App\Models\Serviceapplys;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ReplyServiceCCController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '图文咨询认证';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Serviceapplys());
+
+        $grid->model()->where('service_type','1');
+        $grid->column('id', __('Id'));
+        $grid->column('docter.avatar', __('头像'))->image('',50,50);
+        $grid->column('docter.id', __('医生ID'));
+        $grid->column('docter.name','医生名称');
+        $grid->column('docter.sex','性别')->using([1=>'男',2=>'女']);
+        $grid->column('docter.DocterOrganization', __('所属机构'));
+//        $grid->column('docter.label', __('标签'))->map('ucwords')->implode('-');
+        $grid->column('docter.label', __('标签'))->label('info');
+
+        //$grid->column('service_type', __('服务类型'));
+
+        $grid->column('status', __('状态'))->using([1=>'审核',2=>'已通过',3=>'已拒绝'])->label([
+            1 => 'warning',
+            2 => 'success',
+            3 => 'default'
+        ]);
+        $grid->column('created_at', __('创建时间'));
+        $grid->column('updated_at', __('更新时间'));
+
+        $grid->actions(function ($actions) {
+            // 去掉删除
+            $actions->disableDelete();
+            // 去掉编辑
+            $actions->disableEdit();
+            // 去掉查看
+            $actions->disableView();
+
+
+            $actions->add(new ApplysAction());
+            $actions->add(new RefuseAction());
+        });
+
+
+
+        return $grid;
+    }
+}

+ 56 - 0
app/Admin/Controllers/ReplyServiceController.php

xqd
@@ -0,0 +1,56 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Docter;
+use App\Models\Order;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class ReplyServiceController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = 'Docter';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Docter());
+
+
+        $grid->column('id','ID');
+        $grid->column('name','医生姓名');
+        $grid->column('chat_price','咨询价格');
+        $grid->column('orders','总订单数')->display(function (){
+
+            $order_type = Order::where(['docter_id'=>$this->id,'product_type'=>2])->count();
+            return $order_type;
+        });
+        $grid->column('orders_actions','进行中数')->display(function (){
+            $action = Order::where(['docter_id'=>$this->id,'product_type'=>2,'order_status'=>3])->count();
+            return $action;
+        });
+        $grid->column('orders_inishs','完成数')->display(function (){
+            $finish = Order::where(['docter_id'=>$this->id,'product_type'=>2,'order_status'=>4])->count();
+            return $finish;
+        });
+        $grid->column('orders_anomaly','异常数')->display(function (){
+            $anomaly = Order::where(['docter_id'=>$this->id,'product_type'=>2])->whereIn('order_status',[1,2,5])->count();
+//            dd($anomaly);
+            return $anomaly;
+        });
+
+        return $grid;
+    }
+
+}

+ 8 - 0
app/Models/Docter.php

xqd
@@ -40,6 +40,14 @@ class Docter extends BaseModel
         return $this->hasOne(TeamDocter::class);
     }
 
+    public function order()
+    {
+        return $this->hasMany(Order::class,'docter_id','id');
+    }
+
+    public function doctertimes(){
+        return $this->belongsTo(Doctertimes::class);
+    }
     public function getIsCollectAttribute()
     {
         if (!empty(request()->header('token'))) {

+ 15 - 0
app/Models/Doctertimes.php

xqd
@@ -0,0 +1,15 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Doctertimes extends Model
+{
+    //
+    protected $table = 'docter_times';
+
+    public function docter(){
+        return $this->hasOne(Docter::class);
+    }
+}