filter(function ($filter){ $filter->disableIdFilter(); // $filter->equal('user_id','用户id'); }); $grid->disableActions(); $grid->model()->where('user_id',$uesr_id)->orderBy('id','desc'); $grid->column('id', __('Id'))->sortable(); $grid->column('user_id', __('用户id'))->sortable()->hide(); $grid->column('user.nickname', __('用户姓名')); $grid->column('docter.name', __('医生姓名')); $grid->column('orderPatient.name', __('患者姓名')); $grid->column('orderPatient.patient_phone', __('患者电话')); $grid->column('orderPatient.appoint_start_time', __('预约日期'))->display(function ($time){ if ($time == 0) { return ''; }else { return date('Y-m-d H:i:s',$time); } }); $grid->column('orderPatient.appoint_end_time', __('就诊日期'))->display(function ($time){ if ($time == 0) { return ''; }else { return date('Y-m-d H:i:s',$time); } }); $grid->column('product_type', __('产品类型'))->using([1=>'电话咨询',2=>'图文咨询',3=>'门诊预约',4=>'疫苗接种预约',5=>'儿保预约',6=>'服务包',7=>'充值']); $grid->column('payment_type', __('支付方式'))->display(function ($payment_type){ if ($payment_type == 1) { return '微信支付'; } if ($payment_type == 2){ return '余额支付'; } if ($payment_type == 3){ $name = ServicePack::where('id',$this->pay_order_pack_id)->pluck('name'); return '服务包支付('.$name[0].')'; } return ''; }); $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']); $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']); $grid->column('total_amount', __('订单总金额'))->display(function ($money){ return $money/100; }); $grid->column('payment_amount', __('用户实际支付的金额'))->display(function ($money){ return $money/100; }); $grid->column('discount_amount', __('折扣金额'))->display(function ($money){ return $money/100; }); $grid->column('payment_time', __('支付时间'))->display(function ($time){ return date('Y-m-d H:i:s',$time); }); $grid->column('receiving_time', __('接单时间'))->display(function ($time){ return date('Y-m-d H:i:s',$time); }); $grid->column('end_time', __('订单完成时间'))->display(function ($time){ return date('Y-m-d H:i:s',$time); }); 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('end_time', __('End time')); $show->field('receiving_time', __('Receiving 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')); $form->number('end_time', __('End time')); $form->number('receiving_time', __('Receiving time')); return $form; } }