Gorden 8 mesiacov pred
rodič
commit
754ea6b0a4

+ 25 - 7
app/admin/controller/medical/DoctorController.php

@@ -39,7 +39,7 @@ class DoctorController extends Curd
 
     protected function doSelect(array $where, string $field = null, string $order = 'desc')
     {
-        $model = $this->model->with('dept');
+        $model = $this->model->with(['dept','user']);
         foreach ($where as $column => $value) {
             if (is_array($value)) {
                 if ($value[0] === 'like' || $value[0] === 'not like') {
@@ -90,16 +90,16 @@ class DoctorController extends Curd
         // 出诊时间
         if ($info->doctor_visit_time) {
             $doctorVisitTimeArr = explode('~', $info->doctor_visit_time);
-            foreach ($doctorVisitTimeArr as $key => $item){
-                $doctorVisitTimeArr[$key] = date("Y-m-d\TH:i:s\Z",strtotime(date('Y-m-d ').$item)-8*3600);
+            foreach ($doctorVisitTimeArr as $key => $item) {
+                $doctorVisitTimeArr[$key] = date("Y-m-d\TH:i:s\Z", strtotime(date('Y-m-d ') . $item) - 8 * 3600);
             }
             $info->doctor_visit_time = $doctorVisitTimeArr;
         }
         // 上班时间
         if ($info->doctor_work) {
             $doctorWorkArr = explode('~', $info->doctor_work);
-            foreach ($doctorWorkArr as $key => $item){
-                $doctorWorkArr[$key] = date("Y-m-d\TH:i:s\Z",strtotime(date('Y-m-d ').$item)-8*3600);
+            foreach ($doctorWorkArr as $key => $item) {
+                $doctorWorkArr[$key] = date("Y-m-d\TH:i:s\Z", strtotime(date('Y-m-d ') . $item) - 8 * 3600);
             }
             $info->doctor_work = $doctorWorkArr;
         }
@@ -117,7 +117,7 @@ class DoctorController extends Curd
             $doctorVisitTimeEnd = date('H:i', strtotime(explode(',', $data['doctor_visit_time'])[1]));
             $data['doctor_visit_time'] = $doctorVisitTimeStart . '~' . $doctorVisitTimeEnd;
         }
-        if ($data['doctor_work']){
+        if ($data['doctor_work']) {
             $doctorWorkStart = date('H:i', strtotime(explode(',', $data['doctor_work'])[0]));
             $doctorWorkEnd = date('H:i', strtotime(explode(',', $data['doctor_work'])[1]));
             $data['doctor_work'] = $doctorWorkStart . '~' . $doctorWorkEnd;
@@ -143,7 +143,7 @@ class DoctorController extends Curd
             $doctorVisitTimeEnd = date('H:i', strtotime(explode(',', $data['doctor_visit_time'])[1]));
             $data['doctor_visit_time'] = $doctorVisitTimeStart . '~' . $doctorVisitTimeEnd;
         }
-        if ($data['doctor_work']){
+        if ($data['doctor_work']) {
             $doctorWorkStart = date('H:i', strtotime(explode(',', $data['doctor_work'])[0]));
             $doctorWorkEnd = date('H:i', strtotime(explode(',', $data['doctor_work'])[1]));
             $data['doctor_work'] = $doctorWorkStart . '~' . $doctorWorkEnd;
@@ -168,4 +168,22 @@ class DoctorController extends Curd
 
         return json_success('success');
     }
+
+    public function relationUser(Request $request)
+    {
+        $doctorId = $request->post('doctor_id','');
+        $userId = $request->post('join_doctor_user_id','');
+
+        if (!$doctorId || !$userId){
+            return json_fail("参数异常");
+        }
+
+        try {
+            MedicalDoctor::where('doctor_id',$doctorId)->update(['join_doctor_user_id'=>$userId]);
+        }catch (\Exception $e){
+            return json_fail("关联用户失败");
+        }
+
+        return json_success("关联用户成功");
+    }
 }

+ 29 - 14
app/admin/controller/sys_manage/UserController.php

@@ -7,6 +7,9 @@ use app\admin\service\sys_manage\RoleService;
 use app\admin\service\sys_manage\UserService;
 use app\admin\validate\sys_manage\UserValidate;
 use app\model\Member;
+use app\model\SysCategory;
+use app\model\SysRole;
+use app\model\SysUser;
 use support\Request;
 
 class UserController
@@ -136,35 +139,47 @@ class UserController
         return UserService::delUser($request);
     }
 
-    public function correlationMember(Request $request){
-        $memberId = $request->post('member_id','');
-        $userId = $request->post('user_id','');
-        $permission = $request->post('permission',[]);
-        if(!$memberId || !$userId){
+    public function correlationMember(Request $request)
+    {
+        $memberId = $request->post('member_id', '');
+        $userId = $request->post('user_id', '');
+        $permission = $request->post('permission', []);
+        if (!$memberId || !$userId) {
             return json_fail('参数异常');
         }
-        try{
-            $member = Member::where('member_id',$memberId)->first();
+        try {
+            $member = Member::where('member_id', $memberId)->first();
             $memberJson = [];
-            if(!empty($member->member_json)){
-                $memberJson = json_decode($member->member_json,true);
+            if (!empty($member->member_json)) {
+                $memberJson = json_decode($member->member_json, true);
                 // if(isset($memberJson['user'])){
                 //     return json_fail('您选择的会员已被绑定,请选择其他会员');
                 // }
             }
-    
+
             $memberJson['user'] = [
-                'user_id'=>$userId,
-                'permission'=>$permission
+                'user_id' => $userId,
+                'permission' => $permission
             ];
             $member->member_json = json_encode($memberJson);
             $member->save();
 
             return json_success('success');
-        }catch(\Exception $e){
+        } catch (\Exception $e) {
             return json_fail('关联会员失败');
         }
-        
+    }
+
+    /**
+     * @return \support\Response
+     */
+    public function selectDoctorList()
+    {
+        $roleId = SysRole::where('role_name', '医生')->value('role_id');
+        $user = SysUser::where('join_user_role_id', $roleId)
+            ->select('user_id','user_name')
+            ->get();
 
+        return json_success('', $user);
     }
 }

+ 5 - 0
app/model/MedicalDoctor.php

@@ -23,4 +23,9 @@ class MedicalDoctor extends Model
     public function dept(){
         return $this->hasOne(SysDept::class,'dept_id','doctor_dept_id')->select('dept_id','dept_name');
     }
+
+    public function user(){
+        return $this->hasOne(SysUser::class,'user_id','join_doctor_user_id')
+            ->select('user_id','user_name');
+    }
 }

+ 2 - 0
route/admin.php

@@ -159,6 +159,7 @@ Route::group('/admin', function () {
             Route::post('/updatePassword/{id:\w+}', [\app\admin\controller\sys_manage\UserController::class, 'updatePassword']);
             Route::delete('/delete', [\app\admin\controller\sys_manage\UserController::class, 'delUser']);
             Route::post('/correlationMember',[\app\admin\controller\sys_manage\UserController::class,'correlationMember']);
+            Route::get('/selectDoctorList',[\app\admin\controller\sys_manage\UserController::class,'selectDoctorList']);
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
@@ -446,6 +447,7 @@ Route::group('/admin', function () {
             Route::post('/add', [\app\admin\controller\medical\DoctorController::class, 'insert']);
             Route::post('/update', [\app\admin\controller\medical\DoctorController::class, 'update']);
             Route::delete('/delete', [\app\admin\controller\medical\DoctorController::class, 'delete']);
+            Route::post('/relationUser', [\app\admin\controller\medical\DoctorController::class, 'relationUser']);
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);