Swdz-WangHaiJun 4 rokov pred
rodič
commit
49b72f3852

+ 12 - 8
app/Community/Actions/Vaccine/AddVaccine.php

xqd xqd
@@ -3,6 +3,7 @@
 namespace App\Community\Actions\Vaccine;
 
 use App\Models\Docter;
+use App\Models\OrderVaccine;
 use App\Models\Vaccine;
 use Encore\Admin\Actions\RowAction;
 use Encore\Admin\Facades\Admin;
@@ -13,25 +14,28 @@ class AddVaccine extends RowAction
 {
     public $name = '订单修订';
 
-    public function handle(Request $request)
+    public function handle()
     {
         $ids = request('vaccine_id');
 
+        $order_id = $this->row->id;
+        $ids = OrderVaccine::where(['order_id'=>$order_id])->pluck('vaccine_id');
+        
+
         return $this->response()->success('修改疫苗成功')->refresh();
     }
 
     public function form()
     {
         $admin = Admin::user();
-        if($admin->docter_id) {
-            dd('是医生');
+        $is_admin = Admin::user()->isAdministrator();
+        $org_id =$admin->org_id;
+        $list = Vaccine::where('org_id',$org_id)->pluck('name','id');
+        if($is_admin){
+            $list = Vaccine::pluck('name','id');
         }
         if(empty($admin->org_id)) return ;
-        $docter_id = 1;
-        $docter = Docter::where(['id'=>$docter_id])->first();
-        dd($docter);
-        dd($admin);
-        $this->multipleSelect('vaccine_id','疫苗')->options(Vaccine::pluck('name','id'))->value();
+        $this->multipleSelect('vaccine_id','疫苗')->options($list)->value();
     }
 
 }

+ 0 - 2
app/Community/Controllers/OrderNurseController.php

xqd
@@ -100,8 +100,6 @@ class OrderNurseController extends AdminController
                 $actions->add(new OrderCance());
             }
 
-
-
             $actions->add(new AddVaccine());
             $actions->add(new DelNurse());
             $actions->disableView();

+ 55 - 11
app/Community/Controllers/OrderVaccinesController.php

xqd xqd
@@ -2,9 +2,16 @@
 
 namespace App\Community\Controllers;
 
+use App\Community\Actions\Vaccine\AddVaccine;
+use App\Community\Actions\Vaccine\Finished;
+use App\Community\Actions\Vaccine\OrderCance;
+use App\Community\Actions\Vaccine\Reserved;
+use App\Models\Docter;
 use App\Models\Order;
 use App\Models\OrderVaccine;
+use App\Models\TimePeriod;
 use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -25,23 +32,60 @@ class OrderVaccinesController extends AdminController
      */
     protected function grid()
     {
-        $grid = new Grid(new OrderVaccine());
+        $grid = new Grid(new Order());
+        $user = Admin::user();
+        $is_admin = Admin::user()->inRoles(['administrator','devloper']);
+        //检查是否是门诊医生
+        $is_docter = $user->isRole('opc');
+        if(!$is_admin){
+            $org_id = $user->org_id;
+            $where = ['product_type'=>4,'organization_id'=>$org_id];
+            if($is_docter) {
+                $where['docter_id'] = Docter::where(['cmds_id'=>$user->id])->value('id');
+            }
+            $grid->model()->where($where);
+        }
 
         $grid->column('id', __('Id'));
-        $grid->column('patients.name', __('预约用户'));
-        $grid->column('vaccine_id', __('预约时间'));
-        $grid->column('vaccine_type', __('接种时间'));
-        $grid->column('patients.name', __('接种患者'));
-        $grid->column('patients.sex', __('患者性别'))->display(function ($w){
+        $grid->column('orderPatient.name', __('预约用户'));
+        $grid->column('yuyue', __('预约时间'))->display(function ($w){
+            return date('Y-m-d H:i:s',($this->orderPatient->appoint_start_time)) .'致' . date('Y-m-d H:i:s',($this->orderPatient->appoint_end_time));
+        });
+        $grid->column('end_time', __('接种时间'))->display(function ($w){
+            if(empty($w)) return '';
+            return date('Y-m-d',$w);
+        });
+        $grid->column('orderPatient.name', __('接种患者'));
+        $grid->column('orderPatient.sex', __('患者性别'))->display(function ($w){
             return $w==1?'男':'女';
         });
-        $grid->column('patients.birthday', __('患者年龄'))->display(function ($w){
+        $grid->column('orderPatient.birthday', __('患者年龄'))->display(function ($w){
             return birthday_to_age($w);
         });
-        $grid->column('vaccine_name', __('接种疫苗'));
-        $grid->column('docters.name', __('排班医生'));
-        $grid->column('orders.order_status', __('订单状态'))->using(Order::getStatus());
-        $grid->column('orders.payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
+        $grid->column('orderVaccine.vaccine_name', __('接种疫苗'));
+        $grid->column('docter.name', __('排班医生'));
+        $grid->column('order_status', __('订单状态'))->using(Order::getStatus());
+        $grid->column('payment_status', __('支付状态'))->using(Order::getStatus())->label('info');
+
+        $grid->filter(function ($filter){
+            $filter->column(1/2, function ($filter) {
+                $filter->equal('docter.id','排班医生')->select('/cdms/api/getDocter');
+                $filter->equal('order_status','订单状态')->select(Order::$_order_status);
+                $filter->between('patients.appoint_start_time','预约时间')->datetime();
+            });
+        });
+
+        $grid->actions(function ($actions) {
+            if(!empty($actions->row->orders) && $actions->row->orders->order_status< 2 ){
+                $actions->add(new Finished());
+                $actions->add(new Reserved());
+                $actions->add(new OrderCance());
+            }
+
+            $actions->add(new AddVaccine());
+            $actions->disableView();
+            $actions->disableDelete();
+        });
 
         return $grid;
     }

+ 1 - 1
app/Http/Controllers/ScheDuleController.php

xqd
@@ -1022,7 +1022,7 @@ class ScheDuleController  extends Controller
             $name = Organization::where('id',$org_id)->value('name');
             $user_id = $org_id;
         } else {
-            $ids = DocterOrganization::where(['docter_id'=>$docter_id])->pluck('organization_id');
+            $ids = DocterOrganization::where(['docter_id'=>intval($docter_id)])->distinct('organization_id')->pluck('organization_id')->toArray();
             $list = Organization::whereIn('id',$ids)->get(['id','name']);
             foreach ($list as $val){
                 $lists[] = ['value'=>$val->id,'label'=>$val->name];

+ 2 - 2
routes/web.php

xqd
@@ -16,8 +16,8 @@ Route::get('/', function () {
 });
 
 
-Route::get('/api/getComSchedule', 'ScheDuleController@getComSchedule');
-Route::get('/getComSchedule', 'ScheDuleController@getComSchedule');
+Route::get('/api/getComSchedule', 'ScheDuleController@getWeekSchedule');
+Route::get('/getComSchedule', 'ScheDuleController@getWeekSchedule');
 Route::get('/getChatOrder', 'ScheDuleController@get_chat_order');
 Route::get('/api/setDocChedule', 'ScheDuleController@setDocChedule');
 Route::get('/api/getDocterSetting', 'ScheDuleController@getDocterSetting');