wanghaijun 4 سال پیش
والد
کامیت
4b8677edc2

+ 6 - 5
app/Community/Controllers/OrderController.php

xqd xqd xqd
@@ -12,6 +12,7 @@ use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
+use mysql_xdevapi\Warning;
 
 class OrderController extends AdminController
 {
@@ -51,11 +52,12 @@ class OrderController extends AdminController
             }
             $where ['organization_id']=$org_id;
         }
-        $grid->model()->where($where)->leftJoin('order_patients','order_patients.order_id','=','orders.id');
+        $res = request()->all();
+        $grid->model()->where($where);
         if(!empty($res['orderPatient']['appoint_start_time']['start']) || !empty($res['orderPatient']['appoint_start_time']['start']) ){
-            $grid->model()->orderBy('order_patients.appoint_start_time','asc');
+            $grid->model()->orderBy('appoint_start_time','desc');
         } else {
-            $grid->model()->orderBy('order_patients.appoint_start_time','desc');
+            $grid->model()->orderBy('appoint_start_time','desc');
         }
         $grid->column('id', __('Id'));
         $grid->column('orderUser.nickname', __('预约用户'));
@@ -104,9 +106,8 @@ class OrderController extends AdminController
                 return '<span class="label label-default">'.$info.'</span>';
             }
         });
-
 //        $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
-        $grid->column('payment_status', __('支付状态'))->using(Order::getPayStatus())->label([1=>'warring',2=>'success',3=>'info',4=>'danger',5=>'warring']);
+        $grid->column('payment_status', __('支付状态'))->using(Order::getPayStatus())->label([1=>'warning',2=>'success',3=>'info',4=>'danger',5=>'default']);
 
         //查询
         $grid->quickSearch(function ($model, $query) {

+ 7 - 5
app/Community/Controllers/OrderNurseController.php

xqd xqd xqd
@@ -35,6 +35,8 @@ class OrderNurseController extends AdminController
     {
         $grid = new Grid(new Order());
 //        $grid->model()->orderByDesc('orders.id');
+        $res = request()->all();
+
         $grid->disableExport(false);
         $grid->export(function ($export) {
             $export->filename('儿保订单'.Date('Y-m-d',time()));
@@ -49,13 +51,13 @@ class OrderNurseController extends AdminController
         $where = ['product_type'=>5];
         if(!$is_admin){
             $org_id = $user->org_id;
-            $where['orders.organization_id']=$org_id;
+            $where['organization_id']=$org_id;
         }
-        $grid->model()->where($where)->leftJoin('order_patients','order_patients.order_id','=','orders.id');
+        $grid->model()->where($where);
         if(!empty($res['orderPatient']['appoint_start_time']['start']) || !empty($res['orderPatient']['appoint_start_time']['start']) ){
-            $grid->model()->orderBy('order_patients.appoint_start_time','asc');
+            $grid->model()->orderBy('appoint_start_time');
         } else {
-            $grid->model()->orderBy('order_patients.appoint_start_time','desc');
+            $grid->model()->orderBy('appoint_start_time','desc');
         }
         $grid->column('id', __('ID'));
         $grid->column('orderUser.user_name', __('预约用户'))->display(function($w){
@@ -100,7 +102,7 @@ class OrderNurseController extends AdminController
                 return '<span class="label label-default">'.$info.'</span>';
             }
         });
-        $grid->column('payment_status', __('支付状态'))->using(Order::getPayStatus())->label([1=>'warring',2=>'success',3=>'info',4=>'danger',5=>'warring']);
+        $grid->column('payment_status', __('支付状态'))->using(Order::getPayStatus())->label([1=>'warring',2=>'success',3=>'info',4=>'danger',5=>'default']);
         //查询
         $grid->quickSearch(function ($model, $query) {
             $model->whereHas('patients',function ($model) use ($query) {

+ 13 - 7
app/Community/Controllers/OrderVaccinesController.php

xqd xqd
@@ -55,18 +55,24 @@ class OrderVaccinesController extends AdminController
         $where = ['product_type'=>4];
         if(!$is_admin){
             $org_id = $user->org_id;
-            $where = ['product_type'=>4,'orders.organization_id'=>$org_id];
+            $where = ['product_type'=>4,'organization_id'=>$org_id];
         }
-        $grid->model()->where($where)->leftJoin('order_patients','order_patients.order_id','=','orders.id');
+        $grid->model()->where($where);
         if(!empty($res['orderPatient']['appoint_start_time']['start']) || !empty($res['orderPatient']['appoint_start_time']['start']) ){
-            $grid->model()->orderBy('order_patients.appoint_start_time','asc');
+            $grid->model()->orderBy('appoint_start_time');
         } else {
-            $grid->model()->orderBy('order_patients.appoint_start_time','desc');
+            $grid->model()->orderBy('appoint_start_time','desc');
         }
 
-        $grid->column('order_id', __('Id'));
+        $grid->column('id', __('Id'));
         $grid->column('user.nickname', __('预约用户'));
-
+        $grid->column('orderPatient.phoe', __('电话'))->display(function ($w){
+            if(empty($w)) {
+                if(empty($this->orderUser->phone)) return '';
+                return $this->orderUser->phone;
+            }
+            return $w;
+        });
         $grid->column('appoint_start_time', __('预约时间'))->display(function ($w){
              if(empty($this->orderPatient) || empty($this->orderPatient->appoint_start_time)) return '';
             return date('Y-m-d H:i',$w).'~'.date('H:i',$this->appoint_end_time);
@@ -160,7 +166,7 @@ class OrderVaccinesController extends AdminController
             if(empty($vaccine_name) ) return '';
             return implode(',',$vaccine_name);
         });
-        $show->field('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款'])->label('info');
+        $show->field('payment_status', __('支付状态'))->using(Order::getPayStatus())->label('info');
 
         $show->field('order_status', __('订单状态'))->using(Order::getStatus())->label('info');
         $show->field('created_at', __('创建时间'));

+ 2 - 1
app/Community/Controllers/VaccineController.php

xqd
@@ -53,10 +53,11 @@ class VaccineController extends AdminController
             $actions->disableDelete();
         });
 
+        $grid->column('use_count', __('已使用'));
+        $grid->column('appoint_count', __('已预约'));
         $grid->column('stock', __('剩余库存'))->display(function ($w){
             return !empty($w) ? $w :  0;
         });
-        $grid->column('use_count', __('已使用量'));
 //        $grid->column('today_num', __('今日预约'))->display(function ()  {
 //            return Order::where(['product_type'=>4])->wherehas('orderVaccine',function ($query){
 //                $query->where('vaccine_id',$this->id);

+ 12 - 3
app/Models/Vaccine.php

xqd xqd
@@ -6,7 +6,7 @@ class Vaccine extends BaseModel
 {
 
     const FREETYPE = 1, NOFREETYPE =2;
-    protected $appends = ['use_count'];
+    protected $appends = ['use_count','appoint_count'];
 
     protected static $_type = [
         self::FREETYPE => 'Ⅰ类',
@@ -28,9 +28,18 @@ class Vaccine extends BaseModel
     {
         $id = $this->attributes['id'];
         if(empty($id)) return 0;
-        return OrderVaccine::where(['vaccine_id'=>$id])->count();
+        return OrderVaccine::where(['vaccine_id'=>$id])->whereHas('orders',function($query){
+            $query->where('order_status',4);
+        })->count();
+    }
+    protected function getAppointCountAttribute()
+    {
+        $id = $this->attributes['id'];
+        if(empty($id)) return 0;
+        return OrderVaccine::where(['vaccine_id'=>$id])->whereHas('orders',function($query){
+            $query->where('order_status',3);
+        })->count();
     }
-
     public function organizationvaccines(){
         return $this->hasMany(OrganizationVaccines::class,'vaccine_id');
     }