|
@@ -0,0 +1,133 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+namespace App\Community\Controllers;
|
|
|
|
+
|
|
|
|
+use App\Admin\Actions\Community\Docter\Chat;
|
|
|
|
+use App\Admin\Actions\Community\Notice\sendNotice;
|
|
|
|
+use App\Models\Docter;
|
|
|
|
+use App\Models\Order;
|
|
|
|
+use Encore\Admin\Controllers\AdminController;
|
|
|
|
+use Encore\Admin\Facades\Admin;
|
|
|
|
+use Encore\Admin\Form;
|
|
|
|
+use Encore\Admin\Grid;
|
|
|
|
+use Encore\Admin\Layout\Content;
|
|
|
|
+use Encore\Admin\Show;
|
|
|
|
+use App\Models\User;
|
|
|
|
+
|
|
|
|
+class DocterChatController extends AdminController
|
|
|
|
+{
|
|
|
|
+ /**
|
|
|
|
+ * Title for current resource.
|
|
|
|
+ *
|
|
|
|
+ * @var string
|
|
|
|
+ */
|
|
|
|
+ protected $title = '咨询订单';
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Make a grid builder.
|
|
|
|
+ *
|
|
|
|
+ * @return Grid
|
|
|
|
+ */
|
|
|
|
+ protected function grid()
|
|
|
|
+ {
|
|
|
|
+ $grid = new Grid(new Order());
|
|
|
|
+
|
|
|
|
+ $user = Admin::user();
|
|
|
|
+ $is_admin = Admin::user()->inRoles(['administrator','devloper']);
|
|
|
|
+ $grid->batchActions(function ($batch) {
|
|
|
|
+ $batch->add(new sendNotice());
|
|
|
|
+ });
|
|
|
|
+ if(!$is_admin){
|
|
|
|
+ $org_id = $user->org_id;
|
|
|
|
+ $docter_id = $user->docter_id;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ $grid->model()->whereHas('orders',function ($query) use ($org_id,$docter_id) {
|
|
|
|
+ $where['organization_id']=$org_id;
|
|
|
|
+ if($docter_id){
|
|
|
|
+ $where['docter_id'] = $docter_id;
|
|
|
|
+ }
|
|
|
|
+ $query->where($where);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $grid->column('order_sn', __('订单号'));
|
|
|
|
+ $grid->column('orderUser.nickname', __('咨询用户'));
|
|
|
|
+ $grid->column('orderPatient.name', __('咨询患者'));
|
|
|
|
+ $grid->column('orderPatient.birthday', __('患者年龄'))->display(function ($w){
|
|
|
|
+ return birthday_to_age($w);
|
|
|
|
+ });
|
|
|
|
+ $grid->actions(function ($actions){
|
|
|
|
+ $actions->add( new Chat());
|
|
|
|
+ $actions->disableDelete();
|
|
|
|
+ $actions->disableView();
|
|
|
|
+ $actions->disableEdit();
|
|
|
|
+ });
|
|
|
|
+ $grid->filter(function ($filter){
|
|
|
|
+ $filter->disableIdFilter();
|
|
|
|
+ $filter->equal('order_status','订单状态')->select(Order::$_order_status);
|
|
|
|
+ });
|
|
|
|
+ $grid->column('order_status', __('订单状态'))->using(Order::$_order_status);
|
|
|
|
+ $grid->column('created_at', __('下单时间'));
|
|
|
|
+
|
|
|
|
+ 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()
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ $content = new Content();
|
|
|
|
+ $form = new Form();
|
|
|
|
+ $user = Admin::user();
|
|
|
|
+ $org_id = $user->org_id;
|
|
|
|
+ $docter_id = $user->docter_id;
|
|
|
|
+ $form->setView('chat');
|
|
|
|
+ return $form;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function chats(Content $content){
|
|
|
|
+ $content->title('儿保排班');
|
|
|
|
+ $content->description('医生用户可以接受接受预约');
|
|
|
|
+ $user = Admin::user();
|
|
|
|
+ $org_id = $user->org_id;
|
|
|
|
+ $docter_id = $user->docter_id;
|
|
|
|
+ $content->view('chat',['docter_id'=>$docter_id]);
|
|
|
|
+ return $content;
|
|
|
|
+ return view('chat', ['data' =>'foo']);
|
|
|
|
+ }
|
|
|
|
+}
|