瀏覽代碼

医生认证,医生列表

whj 4 年之前
父節點
當前提交
4dd70528b8

+ 30 - 0
app/Admin/Actions/Community/Docter/Failed.php

xqd
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Admin\Actions\Community\Docter;
+
+use App\Models\Docter;
+use App\Models\DocterOrganization;
+use Encore\Admin\Actions\Action;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
+use Mockery\Exception;
+
+class Failed extends RowAction
+{
+    protected $selector = '.failed';
+
+    public $name = '驳回';
+    public function handle(Request $request)
+    {
+        DB::beginTransaction();
+        try {
+            DocterOrganization::where('id',$this->row->id)->update(['state'=>2]);
+            $docter_id = $this->row->docter_id;
+            Docter::where(['id'=>$docter_id])->update(['is_then'=>0]);
+        } catch (Exception $e){
+            return $this->response->error('操作失败');
+        }
+        return $this->response->success('操作成功')->refresh();
+    }
+}

+ 33 - 0
app/Admin/Actions/Community/Docter/Pass.php

xqd
@@ -0,0 +1,33 @@
+<?php
+
+namespace App\Admin\Actions\Community\Docter;
+
+use App\Models\Docter;
+use App\Models\DocterOrganization;
+use Encore\Admin\Actions\RowAction;
+use Encore\Admin\Grid\Model;
+use Illuminate\Http\Request;
+
+class Pass extends RowAction
+{
+    public $name = '通过';
+
+    public function handle()
+    {
+        $id = $this->row->id;
+        $docter_id = $this->row->docter_id;
+        try{
+            $DocOrg = new DocterOrganization();
+            $DocOrg->where('id',$id)->update(['state'=>1]);
+            $count = $DocOrg->where('state','!=',1)->count();
+            if($count == 0){
+                Docter::where(['id'=>$docter_id])->update(['is_then'=>1]);
+            }
+        } catch (\Exception $e){
+            return $this->response()->error('更新失败!');
+        }
+        return $this->response()->success('更新成功')->refresh();
+    }
+
+
+}

+ 1 - 1
app/Admin/Actions/Community/Nurse/DelNurse.php

xqd
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Admin\Actions\Commuinity\Nurse;
+namespace App\Admin\Actions\Community\Nurse;
 
 use App\Models\Order;
 use Encore\Admin\Actions\RowAction;

+ 1 - 1
app/Admin/Actions/Community/Nurse/Finished.php

xqd
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Admin\Actions\Commuinity\Nurse;
+namespace App\Admin\Actions\Community\Nurse;
 
 use App\Models\Order;
 use Encore\Admin\Actions\RowAction;

+ 1 - 0
app/Admin/routes.php

xqd
@@ -15,5 +15,6 @@ Route::group([
     $router->get('/api/getArea', 'ApiController@getArea');
     $router->resource('/cdms_user', CdmsController::class);
     $router->resource('organizations', OrganizationController::class);
+    $router->resource('docters', DocterController::class);
 });
 

+ 7 - 2
app/Community/Controllers/DocterOrgController.php

xqd xqd xqd
@@ -19,7 +19,7 @@ class DocterOrgController extends AdminController
      *
      * @var string
      */
-    protected $title = '用户管理';
+    protected $title = '成员列表';
 
     /**
      * Make a grid builder.
@@ -51,6 +51,11 @@ class DocterOrgController extends AdminController
         $grid->column('docter.qualification_id', __('认证资质'))->display(function ($w){
             return Qualification::where(['id'=>$w])->value('name');
         });
+
+        $grid->actions(function ($actions){
+            $actions->disableDelete(false);
+            $actions->disableView(false);
+        });
         return $grid;
     }
 
@@ -88,7 +93,7 @@ class DocterOrgController extends AdminController
         $form->text('docter.email', __('邮箱'));
         $form->select('docter.card_id', __('身份证号'));
         $form->text('docter.tyep', __('类型'));
-        $form->text('docter.office_id', __('所属部门'))->options(function (){
+        $form->select('docter.office_id', __('所属部门'))->options(function (){
             $org_id = Admin::user()->org_id;
             return Office::where(['org_id'=>$org_id])->pluck('name','id');
         });

+ 103 - 0
app/Community/Controllers/DocterVerifyController.php

xqd
@@ -0,0 +1,103 @@
+<?php
+
+namespace App\Community\Controllers;
+
+use App\Admin\Actions\Community\Docter\Pass;
+use App\Models\DocterOrganization;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+use Illuminate\Auth\Events\Failed;
+
+class DocterVerifyController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '认证列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+
+        $grid = new Grid(new DocterOrganization());
+
+        $user = Admin::user();
+        $is_admin = Admin::user()->inRoles(['administrator','devloper']);
+        if(!$is_admin){
+            $org_id = $user->org_id;
+            $grid->model()->where(['organization_id'=>$org_id]);
+        }
+        $grid->column('id', __('Id'));
+        $grid->column('docter.name', __('医生'));
+        $grid->column('docter.sex', __('性别'))->using(['未知','男','女']);
+        $grid->column('docter.card_id', __('身份证号'));
+        $grid->column('office.name', __('认证科室'));
+        $grid->column('qualification.name', __('认证资质'));
+        $grid->column('state', __('状态'))->using(['待审核','已通过','以拒绝'])->label(['info','success','error']);
+
+        $grid->actions(function($actions){
+            $actions->disableDelete();
+            $actions->disableView();
+            $actions->disableEdit();
+            if($actions->row->state == 0){
+                $actions->add(new Pass());
+                $actions->add(new Failed());
+            }
+        });
+
+        $grid->filter(function ($filter){
+            $filter->disableIdFilter();
+            $filter->like('docter.name','姓名');
+            $filter->equal('docter.sex','性别')->select(['未知','男','女']);
+        });
+
+        return $grid;
+    }
+
+    /**
+     * Make a show builder.
+     *
+     * @param mixed $id
+     * @return Show
+     */
+    protected function detail($id)
+    {
+        $show = new Show(DocterOrganization::findOrFail($id));
+
+        $show->field('docter_id', __('Docter id'));
+        $show->field('organization_id', __('Organization id'));
+        $show->field('offices_id', __('Offices id'));
+        $show->field('qualifications_id', __('Qualifications id'));
+        $show->field('state', __('State'));
+        $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 DocterOrganization());
+
+        $form->display('docters.name', __('医生'));
+        $form->display('office.name', __('科室名称'));
+        $form->display('qualification.name', __('资质'));
+        $form->select('state', __('状态'))->options(['待审核','已通过','已拒绝']);
+
+        return $form;
+    }
+}

+ 2 - 2
app/Community/Controllers/NurseUserController.php

xqd
@@ -47,8 +47,8 @@ class NurseUserController extends AdminController
 
 
         $config = [
-            'app_id' => 'wx13bedfcc62e9bab0',
-            'secret' => '175e5518b6426dd12d3096f24ca68fb8',
+            'app_id' => 'wx1c2357232cd25f65',
+            'secret' => 'c8cab53e4e52234ed1bc2abbdeaba57d',
             'response_type' => 'array'
         ];
         $app = Factory::officialAccount($config );

+ 3 - 2
app/Community/routes.php

xqd
@@ -9,13 +9,14 @@ 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);
-
+Route::resource('docter_verifies', DocterVerifyController::class);
 
 //api
 Route::get('/api/getDocter', 'Apicontroller@getDocter');
 Route::put('/api/paitent_remark', 'Apicontroller@paitent_remark');
 
 
+
+

+ 10 - 0
app/Models/DocterOrganization.php

xqd
@@ -15,5 +15,15 @@ class DocterOrganization extends Model
         return $this->hasOne(Docter::class,'id','docter_id');
     }
 
+    public function office()
+    {
+        return $this->hasOne(Office::class,'id','offices_id');
+    }
+
+    public function qualification()
+    {
+        return $this->hasOne(Qualification::class,'id','qualifications_id');
+    }
+
 
 }