Просмотр исходного кода

Merge branch 'master' of ssh://git.9026.com:2212/swdz-WangHaijun/BaoMa

zilong 4 лет назад
Родитель
Сommit
5ab36317f8

+ 3 - 21
app/Community/Controllers/DocterController.php

xqd xqd
@@ -4,6 +4,7 @@ namespace App\Community\Controllers;
 
 use App\Models\Docter;
 use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -26,34 +27,15 @@ class DocterController extends AdminController
     {
         $grid = new Grid(new Docter());
 
+//        $grid->model()->whereHas('orgdocter')->where(['organziation_id'=>Admin::user()->org_id]);
         $grid->column('id', __('Id'));
         $grid->column('type', __('Type'));
         $grid->column('name', __('Name'));
         $grid->column('phone', __('Phone'));
         $grid->column('sex', __('Sex'));
-        $grid->column('birthday', __('Birthday'));
-        $grid->column('avatar', __('Avatar'));
-        $grid->column('status', __('Status'));
-        $grid->column('label', __('Label'));
-        $grid->column('sign', __('Sign'));
-        $grid->column('intro', __('Intro'));
-        $grid->column('office_id', __('Office id'));
+        $grid->column('office_id', __('office id'));
         $grid->column('qualification_id', __('Qualification id'));
-        $grid->column('score', __('Score'));
         $grid->column('service_persons', __('Service persons'));
-        $grid->column('eva_num', __('Eva num'));
-        $grid->column('service_days', __('Service days'));
-        $grid->column('phone_minutes', __('Phone minutes'));
-        $grid->column('chat_price', __('Chat price'));
-        $grid->column('phone_price', __('Phone price'));
-        $grid->column('appoint_price', __('Appoint price'));
-        $grid->column('is_chat', __('Is chat'));
-        $grid->column('is_phone', __('Is phone'));
-        $grid->column('is_appoint', __('Is appoint'));
-        $grid->column('latitude', __('Latitude'));
-        $grid->column('longitude', __('Longitude'));
-        $grid->column('created_at', __('Created at'));
-        $grid->column('updated_at', __('Updated at'));
 
         return $grid;
     }

+ 30 - 10
app/Community/Controllers/DocterOrgController.php

xqd xqd xqd
@@ -4,7 +4,10 @@ namespace App\Community\Controllers;
 
 use App\Models\Docter;
 use App\Models\DocterOrganization;
+use App\Models\Office;
+use App\Models\Qualification;
 use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -27,20 +30,26 @@ class DocterOrgController extends AdminController
     {
         $grid = new Grid(new DocterOrganization());
 
-        $grid->disableCreateButton(false);
+//        $grid->disableCreateButton(false);
+        $grid->model()->where(['organization_id'=>Admin::user()->org_id]);
         $grid->column('id', __('Id'));
         $grid->column('docter.name', __('成员名称'));
         $grid->column('docter.sex', __('性别'))->display(function ($w){
             return $w==1?'男':'女';
         });;
         $grid->column('docter.phone', __('联系方式'));
-        $grid->column('docter.email', __('邮箱'));
-        $grid->column('docter.name', __('身份证号'));
-        $grid->column('docter.name', __('成员身份'));
-        $grid->column('docter.office_id', __('所属部门'));
-        $grid->column('docter.qualification_id', __('认证资质'));
-        $grid->column('updated_at', __('权限设置'));
-
+//        $grid->column('docter.email', __('邮箱'));
+        $grid->column('docter.card_id', __('身份证号'));
+        $grid->column('docter.type', __('成员身份'))->display(function ($w){
+            $type = DocterOrganization::$_doct_type;
+            return $type[$w];
+        });
+        $grid->column('docter.office_id', __('所属部门'))->display(function ($w){
+            return Office::where(['id'=>$w])->value('name');
+        });
+        $grid->column('docter.qualification_id', __('认证资质'))->display(function ($w){
+            return Qualification::where(['id'=>$w])->value('name');
+        });
         return $grid;
     }
 
@@ -72,8 +81,19 @@ class DocterOrgController extends AdminController
     {
         $form = new Form(new DocterOrganization());
 
-        $form->select('docter_id', __('姓名'))->options(function (){
-            return Docter::pluck('name','id');
+        $form->text('docter.name', __('姓名'));
+        $form->text('docter.sex', __('姓名'));
+        $form->text('docter.phone', __('电话'));
+        $form->text('docter.email', __('邮箱'));
+        $form->select('docter.card_id', __('身份证号'));
+        $form->text('docter.tyep', __('类型'));
+        $form->text('docter.office_id', __('所属部门'))->options(function (){
+            $org_id = Admin::user()->org_id;
+            return Office::where(['org_id'=>$org_id])->pluck('name','id');
+        });
+        $form->select('docter.tyep', __('类型'))->options(DocterOrganization::$_doct_type);
+        $form->select('docter.qualification_id', __('资质'))->options(function (){
+            return Qualification::pluck('name','id');
         });
 
         return $form;

+ 3 - 2
app/Community/Controllers/OfficeController.php

xqd xqd xqd
@@ -4,6 +4,7 @@ namespace App\Community\Controllers;
 
 use App\Models\Office;
 use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -25,6 +26,7 @@ class OfficeController extends AdminController
     protected function grid()
     {
         $grid = new Grid(new Office());
+        $grid->model()->where(['org_id'=>Admin::user()->org_id]);
 
         $grid->disableCreateButton(false);
         $grid->column('id', __('Id'));
@@ -61,10 +63,9 @@ class OfficeController extends AdminController
     protected function form()
     {
         $form = new Form(new Office());
-
         $form->text('name', __('名称'));
+        $form->hidden('org_id', __('名称'))->value(Admin::user()->org_id);
         $form->setWidth(6);
-
         return $form;
     }
 }

+ 15 - 4
app/Community/Controllers/OrderController.php

xqd xqd xqd xqd
@@ -2,8 +2,10 @@
 
 namespace App\Community\Controllers;
 
+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\Show;
@@ -25,7 +27,18 @@ class OrderController extends AdminController
     protected function grid()
     {
         $grid = new Grid(new Order());
-        $grid->model()->where(['product_type'=>1]);
+        $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'=>1,'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('orderUser.nickname', __('预约用户'));
         $grid->column('orderPatient.appoint_start_time', __('预约时间'))->display(function ($w){
@@ -43,7 +56,6 @@ class OrderController extends AdminController
             return birthday_to_age($w);
         });;
         $grid->column('docter.name', __('预约医生'));
-//        $grid->column('organization_id', __('Organization id'));
 
         //查询
         $grid->quickSearch(function ($model, $query) {
@@ -102,9 +114,8 @@ class OrderController extends AdminController
     {
         $form = new Form(new Order());
 
-        $form->display('orderUser.nickename', __('用户'));
+        $form->display('orderUser.nickname', __('用户'));
         $form->display('docter_id', __('医生'));
-        $form->number('payment_time', __('Payment time'));
 
         return $form;
     }

+ 11 - 0
app/Community/Controllers/OrderNurseController.php

xqd xqd
@@ -9,6 +9,7 @@ use App\Models\Order;
 use App\Models\OrderNurse;
 use App\User;
 use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Facades\Admin;
 use Encore\Admin\Form;
 use Encore\Admin\Grid;
 use Encore\Admin\Show;
@@ -31,6 +32,16 @@ class OrderNurseController extends AdminController
     {
         $grid = new Grid(new OrderNurse());
 
+        $user = Admin::user();
+        $is_admin = Admin::user()->inRoles(['administrator','devloper']);
+
+        if(!$is_admin){
+            $org_id = $user->org_id;
+            $grid->model()->whereHas('orders',function ($query) use ($org_id) {
+                $query->where(['organization_id'=>$org_id]);
+            });
+        }
+
         $grid->column('id', __('ID'));
         $grid->column('orders.user_id', __('预约用户'))->display(function($w){
             return User::where('id',$w)->value('nickname');

+ 1 - 1
app/Community/routes.php

xqd
@@ -6,7 +6,7 @@ Route::resource('nurses', NurseController::class);
 Route::resource('order_nurses', OrderNurseController::class);
 Route::resource('vaccines', VaccineController::class);
 Route::resource('order_vaccines', OrderVaccinesController::class);
-Route::resource('docters', DocterController::class);
+Route::resource('docters', DocterOrgController::class);
 Route::resource('offices', OfficeController::class);
 Route::resource('orders', OrderController::class);
 Route::resource('docter_org', DocterOrgController::class);

+ 4 - 0
app/Models/DocterOrganization.php

xqd
@@ -8,8 +8,12 @@ class DocterOrganization extends Model
 {
     protected $table = 'docter_organization';
 
+    //医生类型(1.问诊医生 2.疫苗医生 3.儿保医生)
+    public  static $_doct_type = [1=>'门诊医生',2=>'疫苗医生',3=>'儿保医生'];
     public function docter()
     {
         return $this->hasOne(Docter::class,'id','docter_id');
     }
+
+
 }

+ 10 - 0
app/Models/DocterVerify.php

xqd
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class DocterVerify extends Model
+{
+    protected $table = 'docter_verify';
+}

+ 1 - 0
app/Models/Qualification.php

xqd
@@ -10,5 +10,6 @@ namespace App\Models;
 
 class Qualification extends BaseModel
 {
+    protected $table = 'qualifications';
 
 }

+ 64 - 0
database/migrations/2020_11_03_070733_alert_cmdsuser_org_nurse_office_add_docter_verify.php

xqd
@@ -0,0 +1,64 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AlertCmdsuserOrgNurseOfficeAddDocterVerify extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('nurses',function (Blueprint $table){
+            $table->integer('stock')->nullable(false)->comment('库存')->after('price');
+            $table->integer('used')->nullable()->comment('已使用')->after('stock');
+        });
+
+        Schema::table('organizations', function (Blueprint $table) {
+            $table->integer('cdms_id')->after('id')->comment('后台账号id')->nullable();
+        });
+
+        Schema::table('cdms_users', function (Blueprint $table) {
+            $table->integer('org_id')->after('password')->comment('机构id')->nullable();
+        });
+        Schema::table('offices', function (Blueprint $table) {
+            $table->integer('org_id')->after('id')->comment('机构id');
+        });
+
+        Schema::create('docter_verify',function (Blueprint $table){
+            $table->bigIncrements('id')->comment('自增id');
+            $table->integer('docter_id')->nullable(false)->comment('医生id');
+            $table->integer('org_id')->nullable(false)->comment('社区id');
+            $table->integer('status')->nullable(false)->comment('状态 1 待审核 2 社区审核通过 3 后台审核通过 4审核失败')->default(1);
+            $table->dateTime('created_at')->comment('创建时间');
+            $table->dateTime('updated_at')->comment('跟新时间');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('nurses', function (Blueprint $table) {
+            $table->dropColumn('stock');
+            $table->dropColumn('used');
+        });
+
+        Schema::table('organizations', function (Blueprint $table) {
+            $table->dropColumn('cdms_id');
+        });
+
+        Schema::table('cdms_users', function (Blueprint $table) {
+            $table->dropColumn('org_id');
+        });
+
+        Schema::dropIfExists('docter_verify');
+    }
+}