|
@@ -2,9 +2,16 @@
|
|
|
|
|
|
namespace App\Community\Controllers;
|
|
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\Order;
|
|
use App\Models\OrderVaccine;
|
|
use App\Models\OrderVaccine;
|
|
|
|
+use App\Models\TimePeriod;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
use Encore\Admin\Controllers\AdminController;
|
|
|
|
+use Encore\Admin\Facades\Admin;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Show;
|
|
use Encore\Admin\Show;
|
|
@@ -25,23 +32,60 @@ class OrderVaccinesController extends AdminController
|
|
*/
|
|
*/
|
|
protected function grid()
|
|
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('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?'男':'女';
|
|
return $w==1?'男':'女';
|
|
});
|
|
});
|
|
- $grid->column('patients.birthday', __('患者年龄'))->display(function ($w){
|
|
|
|
|
|
+ $grid->column('orderPatient.birthday', __('患者年龄'))->display(function ($w){
|
|
return birthday_to_age($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;
|
|
return $grid;
|
|
}
|
|
}
|