Explorar el Código

修改服务包的全部逻辑

ChenWuJie hace 4 años
padre
commit
2e31bcd444

+ 35 - 29
app/Admin/Controllers/OrdersManagement/InsuranceListController.php

xqd xqd
@@ -25,35 +25,45 @@ class InsuranceListController extends AdminController
      */
     protected function grid()
     {
-        $grid = new Grid(new Order());
+        $grid = new Grid(new OrderPack());
+        $grid->model()->where(function ($query){
+            $query->whereHas('servicepacks',function ($query){
+                $query->where('is_need_insure','=',1);
+            });
+        });
         $grid->actions(function ($actions){
            $actions->disableView();
            $actions->disableDelete();
-           $need = OrderPack::where('order_id',$actions->row->id)->value('is_need_insurance');
-//           dd($need);
-           if ($actions->row->payment_status != 2 || $need == 0 )
-           {
-               $actions->disableEdit();
-           }
+        });
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->like('pack_name','服务包名称');
+            $filter->like('orderpatients.name','患者姓名');
+            $filter->equal('users.phone','用户电话');
+            $filter->equal('is_need_insurance','是否包含保单')->select([0=>'否',1=>'是']);
         });
         $grid->disableCreateButton();
-        $grid->model()->wherein('product_type',[6]);
+        //实现只有服务包中包含保单的才显示进来
+
         $grid->model()->orderBy('id','desc');
-        $grid->column('id', __('订单id'))->sortable();
-        $grid->column('orderPack.pack_name', __('服务包名称'));
-        $grid->column('user.nickname', __('用户姓名'));
-        $grid->column('orderPatient.name', __('患者姓名'));
-        $grid->column('orderPatient.sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
-        $grid->column('orderPatient.relationship_type', __('与投保人的关系'))
+        $grid->column('order_id', __('订单id'))->sortable();
+        $grid->column('pack_name', __('服务包名称'));
+        $grid->column('orderpatients.name', __('患者姓名'));
+        $grid->column('orderpatients.guardian_name', __('监护人姓名'));
+        $grid->column('orderpatients.sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
+        $grid->column('orderpatients.relationship_type', __('与投保人的关系'))
             ->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄',8=>'其他']);
-        $grid->column('orderPatient.patient_id', __('患者id'))->hide();
-        $grid->column('user.phone', __('用户电话'));
-        //保单信息
-        $grid->column('orderPatient.birthday', __('出生日期'));
-        $grid->column('orderPatient.card_type', __('证件类型'))->using([1=>'身份证',2=>'护照']);
-        $grid->column('orderPatient.card_number', __('证件号码'));
-        $grid->column('orderPack.insurance_img_url', __('保单'))->link()->display(function ($url){
-            $img = OrderPack::where('order_id',$this->id)->value('insurance_img_url');
+        $grid->column('orderpatients.id', __('患者id'))->hide();
+        $grid->column('users.phone', __('用户电话'));
+//        //保单信息
+        $grid->column('orderpatients.birthday', __('出生日期'));
+        $grid->column('orderpatients.card_type', __('证件类型'))->using([1=>'身份证',2=>'护照']);
+        $grid->column('orderpatients.card_number', __('证件号码'));
+        $grid->column('is_need_insurance', __('是否需要保单'))->using([0=>'否',1=>'是']);
+        $grid->column('insurance_img_url', __('保单'))->link()->display(function (){
+//            dd($url);
+            $img = OrderPack::where('order_id',$this->order_id)->value('insurance_img_url');
+//            dd($img);
             if (empty($img))
             {
                 return '';
@@ -65,18 +75,14 @@ class InsuranceListController extends AdminController
                 return $url;
             }
         });
-        $grid->column('orderPatient.social_card_number', __('社保卡号'));
-        $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
-        $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
-
-
+        $grid->column('order.order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
         return $grid;
     }
 
     protected function form()
     {
-        $form = new Form(new Order());
-        $form->file('orderPack.insurance_img_url','保单文件')->help('请上传pdf文件')->rules('required|mimes:pdf');
+        $form = new Form(new OrderPack());
+        $form->file('insurance_img_url','保单文件')->help('请上传pdf文件')->rules('required|mimes:pdf');
         return $form;
     }
 }

+ 13 - 6
app/Admin/Controllers/ServicePacksManagment/ServicePacksController.php

xqd xqd xqd xqd xqd
@@ -64,7 +64,8 @@ class ServicePacksController extends AdminController
         })->label('success');
 
         $grid->column('image','图片')->lightbox(['width' =>'', 'height' => 30]);
-        $grid->column('phone_minutes', __('电话次数(分钟)'));
+        $grid->column('is_need_insure', __('是否包含保险'))->using([0=>'不包含',1=>'包含']);
+        $grid->column('phone_minutes', __('电话次数'));
         $grid->column('chat_num', __('图文次数'));
         $grid->column('appoint_num', __('门诊次数'));
         $grid->column('vaccine_limit_amount', __('计免次数'));
@@ -83,16 +84,22 @@ class ServicePacksController extends AdminController
         protected function form()
     {
         $form = new Form(new ServicePack());
-
+        $form->editing(function ($f){
+           $f->model()->price /=100;
+        });
         $form->text('name', __('服务包名称'))->rules('required' ,['required'=>'请填写名称!']);
         $form->image('image','图片')->rules('required' ,['required'=>'请选择图片!']);
         $form->text('intro', __('简介'))->rules('required' ,['required'=>'请填写简介!']);;
         $form->editor('desc', __('详情内容'))->rules('required' ,['required'=>'请填写内容!']);;
         $form->number('price', __('价钱'))->default(0);
+        $form->radio('is_need_insure', __('服务包是否包含保险'))->options([
+            0=>'否',
+            1=>'是'
+        ])->rules('required',['required'=>'请选择是否包含保险']);;
         $form->radio('has_team','是否包含团队')->options([
            0=>'否',
            1=>'是'
-        ])->default(1)->when(0,function (Form $form){
+        ])->when(0,function (Form $form){
             $form->checkbox('label','服务类型')
                 ->options([
                     1 => '图文',
@@ -103,7 +110,7 @@ class ServicePacksController extends AdminController
                 ])->when('has',1,function (Form $form){
                     $form->number('chat_num', __('图文次数'))->default(0);
                 })->when('has',2,function (Form $form){
-                    $form->number('phone_minutes', __('电话分钟数'))->default(0);
+                    $form->number('phone_minutes', __('电话数'))->default(0);
                 })->when('has',3,function (Form $form){
                     $form->number('appoint_num', __('门诊次数'))->default(0);
                 })->when('has',4,function (Form $form){
@@ -125,7 +132,7 @@ class ServicePacksController extends AdminController
                 ])->when('has',1,function (Form $form){
                     $form->number('chat_num', __('图文次数'))->default(0);
                 })->when('has',2,function (Form $form){
-                    $form->number('phone_minutes', __('电话分钟数'))->default(0);
+                    $form->number('phone_minutes', __('电话数'))->default(0);
                 })->when('has',3,function (Form $form){
                     $form->number('appoint_num', __('门诊次数'))->default(0);
                 })->when('has',4,function (Form $form){
@@ -134,7 +141,7 @@ class ServicePacksController extends AdminController
                     $form->select('product', __('儿保项目'))->options(Nurse::where('type',$form->team_id)->pluck('name','id'));
                 })->rules('required',['required'=>'请选择服务类型']);
 
-        });
+        })->rules('required',['required'=>'请选择是否包含团队']);;
         $form->ignore('has_team');
         $form->text('effective_days', __('服务时长(天)'))->default(0);
         $form->saving(function (Form $form){