model()->GroupBy('patient_id'); $grid->model()->orderByDesc('id'); $user = Admin::user(); if(empty(request('product_type'))){ $user_ids = Order::whereIn('product_type',[4,5])->distinct()->pluck('user_id'); $grid->model()->whereIn('user_id',$user_ids)->distinct(); } $grid->addColumn('ssss','id')->display(function (){ return 22; })->hide(); $grid->column('orderUser.nickname', __('用户')); $grid->column('sid','优惠卷')->hide(); $grid->column('orderPatient.name', __('患者')); $grid->column('orderPatient.relationship_type', __('关系'))->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄',8=>'其他']); $grid->column('orderPatient.phone', __('用户手机号')); $grid->column('orderPatient.birthday', __('出生日期')); $grid->filter(function ($flter){ $flter->like('orderPatient.name','请输入用户姓名'); $flter->like('orderUser.nickname','请输入监护人姓名'); $flter->between('orderUser.birthday','生日')->datetime(); $flter->equal('product_type','用户类型')->select([4=>'计免',5=>'儿保']); }); $grid->actions(function ($actions){ $actions->disableView(); $actions->disableDelete(); $actions->disableEdit(); }); $grid->batchActions(function ($batch) { $batch->disableDelete(); $batch->add(new sendNotice()); }); return $grid; } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { $show = new Show(Order::findOrFail($id)); $show->field('id', __('Id')); $show->field('user_id', __('User id')); $show->field('docter_id', __('Docter id')); $show->field('patient_id', __('Patient id')); $show->field('organization_id', __('Organization id')); $show->field('order_sn', __('Order sn')); $show->field('payment_type', __('Payment type')); $show->field('product_type', __('Product type')); $show->field('order_status', __('Order status')); $show->field('payment_status', __('Payment status')); $show->field('total_amount', __('Total amount')); $show->field('payment_amount', __('Payment amount')); $show->field('discount_amount', __('Discount amount')); $show->field('payment_time', __('Payment time')); $show->field('created_at', __('Created at')); $show->field('updated_at', __('Updated at')); return $show; } /** * Make a form builder. * * @return Form */ protected function form() { $form = new Form(new Order()); $form->number('user_id', __('User id')); $form->number('docter_id', __('Docter id')); $form->number('patient_id', __('Patient id')); $form->number('organization_id', __('Organization id')); $form->text('order_sn', __('Order sn')); $form->switch('payment_type', __('Payment type'))->default(1); $form->switch('product_type', __('Product type'))->default(1); $form->switch('order_status', __('Order status'))->default(1); $form->switch('payment_status', __('Payment status'))->default(1); $form->number('total_amount', __('Total amount')); $form->number('payment_amount', __('Payment amount')); $form->number('discount_amount', __('Discount amount')); $form->number('payment_time', __('Payment time')); return $form; } }