ソースを参照

儿保用户,机构订单

whj 4 年 前
コミット
2114fc6316

+ 14 - 0
app/Community/Controllers/ApiController.php

xqd xqd
@@ -6,6 +6,7 @@ namespace App\Community\Controllers;
 
 use App\Http\Controllers\Controller;
 use App\Models\Docter;
+use App\Models\PatientRemark;
 
 class ApiController extends Controller
 {
@@ -13,5 +14,18 @@ class ApiController extends Controller
     {
         return Docter::get(['name as text','id'])->toArray();
     }
+    public function paitent_remark()
+    {
+        $data['patient_id']= request('patient_id');
+        $data['org_id'] = request('org_id');
+        $is_have = PatientRemark::where($data)->first();
+        $data['remark'] = request('remark');
+        if($is_have){
+            PatientRemark::where(['id'=>$is_have->id])->update(['remark'=>$data['remark']]);
+        } else {
+            PatientRemark::insert($data);
+        }
+        return redirect('/cdms/nurse_users');
+    }
 
 }

+ 1 - 0
app/Community/Controllers/DocterOrgController.php

xqd
@@ -31,6 +31,7 @@ class DocterOrgController extends AdminController
         $grid = new Grid(new DocterOrganization());
 
 //        $grid->disableCreateButton(false);
+        $is_admin = Admin::user()->isRole('administrator');
         $grid->model()->where(['organization_id'=>Admin::user()->org_id]);
         $grid->column('id', __('Id'));
         $grid->column('docter.name', __('成员名称'));

+ 90 - 0
app/Community/Controllers/NurseUserController.php

xqd
@@ -0,0 +1,90 @@
+<?php
+
+namespace App\Community\Controllers;
+
+use App\Models\Order;
+use App\Models\OrderNurse;
+use App\Models\PatientRemark;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class NurseUserController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '用户列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Order());
+            $is_amdin = Admin::user()->isRole('administrator');
+
+            if(!$is_amdin){
+                $grid->model()->where(['organization_id'=>Admin::user()->org_id,'product_type'=>4]);
+            }
+            $grid->model()->GroupBy('patient_id');
+
+
+        $grid->column('orderPatient.name', __('姓名'));
+        $grid->column('orderUser.nickname', __('监护人'));
+        $grid->column('orderPatient.phone', __('监护人手机号'));
+        $grid->column('orderPatient.birthday', __('出生日期'));
+        $grid->column('patient_id', __('备注'))->display(function ($w){
+            return PatientRemark::where(['org_id'=>Admin::user()->org_id,'patient_id'=>$w])->value('remark');
+        });
+
+        for($i=1;$i<14;$i++){
+
+        }
+//        echo strtotime('-10 years');dd('ok');
+        $grid->filter(function ($flter){
+            $flter->like('orderPatient.name','请输入用户姓名');
+            $flter->like('orderUser.nickname','请输入监护人姓名');
+            $flter->between('orderUser.birthday','生日')->datetime();
+        });
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(OrderNurse::findOrFail($id));
+
+        return $show;
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        $form = new Form(new Order());
+        $form->setAction('/cdms/api/paitent_remark');
+        $form->hidden('patient_id');
+        $org_id = Admin::user()->org_id;
+        $form->hidden('org_id')->default(intval($org_id));
+        $form->textarea('remark','备注')->default(function () use ($org_id,$form){
+            return PatientRemark::where(['org_id'=>$org_id,'patient_id'=>$form->model()->patient_id])->value('remark');
+        });
+        return $form;
+    }
+}

+ 6 - 1
app/Community/Controllers/OfficeController.php

xqd
@@ -26,7 +26,12 @@ class OfficeController extends AdminController
     protected function grid()
     {
         $grid = new Grid(new Office());
-        $grid->model()->where(['org_id'=>Admin::user()->org_id]);
+        $is_admin = Admin::user()->isRole('administrator');
+        if(!$is_admin){
+            $grid->model()->where(['org_id'=>Admin::user()->org_id]);
+        } else {
+            $grid->column('organizations.name','机构名称');
+        }
 
         $grid->disableCreateButton(false);
         $grid->column('id', __('Id'));

+ 104 - 0
app/Community/Controllers/VaccineUserController.php

xqd
@@ -0,0 +1,104 @@
+<?php
+
+namespace App\Community\Controllers;
+
+use App\Models\Order;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class VaccineUserController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '用户列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Order());
+
+        $grid->column('id', __('Id'));
+        $grid->column('user_id', __('User id'));
+        $grid->column('docter_id', __('Docter id'));
+        $grid->column('patient_id', __('Patient id'));
+        $grid->column('organization_id', __('Organization id'));
+        $grid->column('order_sn', __('Order sn'));
+        $grid->column('payment_type', __('Payment type'));
+        $grid->column('product_type', __('Product type'));
+        $grid->column('order_status', __('Order status'));
+        $grid->column('payment_status', __('Payment status'));
+        $grid->column('total_amount', __('Total amount'));
+        $grid->column('payment_amount', __('Payment amount'));
+        $grid->column('discount_amount', __('Discount amount'));
+        $grid->column('payment_time', __('Payment time'));
+        $grid->column('created_at', __('Created at'));
+        $grid->column('updated_at', __('Updated 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()
+    {
+        $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;
+    }
+}

+ 10 - 2
app/Community/routes.php

xqd xqd
@@ -1,7 +1,6 @@
 <?php
-
+//常规路由
 Route::get('/', 'HomeController@index');
-Route::get('/api/getDocter', 'Apicontroller@getDocter');
 Route::resource('nurses', NurseController::class);
 Route::resource('order_nurses', OrderNurseController::class);
 Route::resource('vaccines', VaccineController::class);
@@ -10,4 +9,13 @@ Route::resource('docters', DocterOrgController::class);
 Route::resource('offices', OfficeController::class);
 Route::resource('orders', OrderController::class);
 Route::resource('docter_org', DocterOrgController::class);
+Route::resource('docter_verifies', DocterVerifyController::class);
+Route::resource('nurse_users', NurseUserController::class);
+Route::resource('vaccine_users', VaccineUserController::class);
+
+
+//api
+Route::get('/api/getDocter', 'Apicontroller@getDocter');
+Route::put('/api/paitent_remark', 'Apicontroller@paitent_remark');
+
 

+ 4 - 0
app/Models/Office.php

xqd
@@ -11,4 +11,8 @@ namespace App\Models;
 class Office extends BaseModel
 {
 
+    public function organizations()
+    {
+        return $this->hasMany(Organization::class,'id','org_id');
+    }
 }

+ 10 - 0
app/Models/PatientRemark.php

xqd
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class PatientRemark extends Model
+{
+    public $timestamps = false;
+}