Jelajahi Sumber

订单导出功能

wanghaijun 4 tahun lalu
induk
melakukan
f80b4b6ff9

+ 8 - 0
app/Community/Controllers/OrderController.php

xqd
@@ -31,6 +31,14 @@ class OrderController extends AdminController
     {
         $grid = new Grid(new Order());
         $user = Admin::user();
+        $grid->disableExport(false);
+        $grid->export(function ($export) {
+            $export->filename('门诊订单'.Date('Y-m-d',time()));
+            $export->column('order_status', function ($value, $original) {
+                $order_status_arr = Order::getStatus();
+                return $order_status_arr[intval($original)];
+            } );
+        });
         $is_admin = Admin::user()->inRoles(['administrator','devloper']);
         $grid->model()->orderByDesc('id');
 

+ 8 - 1
app/Community/Controllers/OrderNurseController.php

xqd
@@ -35,7 +35,14 @@ class OrderNurseController extends AdminController
     {
         $grid = new Grid(new Order());
         $grid->model()->orderByDesc('id');
-
+        $grid->disableExport(false);
+        $grid->export(function ($export) {
+            $export->filename('儿保订单'.Date('Y-m-d',time()));
+            $export->column('order_status', function ($value, $original) {
+                $order_status_arr = Order::getStatus();
+                return $order_status_arr[intval($original)];
+            } );
+        });
         $user = Admin::user();
         $is_admin = Admin::user()->inRoles(['administrator','developer']);
 

+ 36 - 14
app/Community/Controllers/OrderVaccinesController.php

xqd xqd
@@ -16,6 +16,7 @@ use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
+use Illuminate\Support\Facades\Date;
 use Illuminate\Support\Facades\DB;
 
 class OrderVaccinesController extends AdminController
@@ -35,36 +36,57 @@ class OrderVaccinesController extends AdminController
     protected function grid()
     {
         $grid = new Grid(new Order());
-
         $res = request()->all();
 
-        $grid->model()->orderByDesc('id');
+        $grid->disableExport(false);
+        $grid->export(function ($export) {
+            $export->filename('疫苗订单'.Date('Y-m-d',time()));
+            $export->column('order_status', function ($value, $original) {
+                $order_status_arr = Order::getStatus();
+                return $order_status_arr[intval($original)];
+            } );
+        });
+//        $grid->model()->orderByDesc('orders.id');
+
+//        if(!empty($res['orderPatient']['appoint_start_time']['start']) || !empty($res['orderPatient']['appoint_start_time']['start']) ){
+//
+//            $grid->model()->leftJoin('order_patients','order_patients.order_id','=','orders.id')->orderByDesc('order_patients.appoint_start_time');
+//
+//            $grid->model()->whereHas('orderPatient',function($query){
+//                $query->orderBy( OrderPatient::select('appoint_start_time')
+//                    ->whereColumn('order_id', 'orders.id')
+//                    ->orderBy('appoint_start_time', 'asc'));
+//            });
+//        } else {
+//            $grid->model()->whereHas('orderPatient',function($query){
+//                return $query->orderBy('appoint_start_time','desc')->groupBy('appoint_start_time');
+//            });
+//        }
+        DB::enableQueryLog();
+
+//        select bm_orders.*,bm_order_patients.appoint_end_time,bm_order_patients.appoint_start_time,bm_order_patients.name from `bm_orders`
+//left join `bm_order_patients` on `bm_order_patients`.`order_id` = `bm_orders`.`id` ORDER BY bm_order_patients.appoint_start_time asc;
+
+//
+//        $grid->model()->leftJoin('order_patients','order_patients.order_id','=','orders.id')
+//            ->orderByDesc('order_patients.appoint_start_time');
+//        $grid->model()->orderByDesc('orders.idaa');
 
-        if(!empty($res['orderPatient']['appoint_start_time']['start']) || !empty($res['orderPatient']['appoint_start_time']['start']) ){
 
-            $grid->model()->whereHas('orderPatient',function($query){
-                $query->orderBy( OrderPatient::select('appoint_start_time')
-                    ->whereColumn('order_id', 'orders.id')
-                    ->orderBy('appoint_start_time', 'asc'));
-            });
-        } else {
-            $grid->model()->whereHas('orderPatient',function($query){
-                return $query->orderBy('appoint_start_time','desc')->groupBy('appoint_start_time');
-            });
-        }
         $user = Admin::user();
         $is_admin = Admin::user()->inRoles(['administrator','devloper']);
 
 
         $is_docter = $user->docter_id;
+        $where = ['product_type'=>4];
         if(!$is_admin){
             $org_id = $user->org_id;
             $where = ['product_type'=>4,'organization_id'=>$org_id];
 //            if($is_docter) {
 //                $where['docter_id'] = Docter::where(['id'=>$user->docter_id])->value('id');
 //            }
-            $grid->model()->where($where);
         }
+        $grid->model()->where($where);
 
         $grid->column('id', __('Id'));
         $grid->column('user.nickname', __('预约用户'));

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

xqd
@@ -56,7 +56,7 @@ class VaccineController extends AdminController
         $grid->column('stock', __('剩余库存'))->display(function ($w){
             return !empty($w) ? $w :  0;
         });
-//        $grid->column('use_count', __('已使用量'));
+        $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);

+ 2 - 3
routes/web.php

xqd
@@ -38,8 +38,7 @@ Route::get('/test', 'IndexController@test');
 
 //用户信息
 Route::get('/api/getScheduleInfo', 'ScheDuleController@getScheduleInfo');
-Route::get('/api/getAppiontInfo', 'Appiontcontroller@getAppiontInfo');
-Route::get('/api/docterList', 'Appiontcontroller@docterList');
+Route::get('/api/getAppiontInfo', 'AppiontController@getAppiontInfo');
+Route::get('/api/docterList', 'AppiontController@docterList');
 Route::get('/api/organizationList', 'AppiontController@organizationList');
-Route::post('/api/organizationList', 'AppiontController@organizationList');