|
|
@@ -505,4 +505,56 @@ class Employee extends Controller
|
|
|
// 告知结果
|
|
|
return json_send(['code' => 'success', 'msg' => '删除成功']);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 个人信息详情
|
|
|
+ * @author 唐远望
|
|
|
+ * @version 1.0
|
|
|
+ * @date 2026-03-02
|
|
|
+ */
|
|
|
+ public function personal_info(Request $request, EmployeeModel $EmployeeModel, DepartmentModel $DepartmentModel, RolesModel $RolesModel, CitysModel $CitysModel)
|
|
|
+ {
|
|
|
+ $request->scene('personal_info')->validate();
|
|
|
+ $admin_company_id = request('admin_company_id', '0');
|
|
|
+ $company_id = request('access_token.company_id', '0');
|
|
|
+ $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
|
|
|
+ // 接收参数
|
|
|
+ $id = request('access_token.uid', 0);
|
|
|
+ $map = ['id' => $id];
|
|
|
+ // 权限判断
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $map['company_id'] = $company_id;
|
|
|
+ } else {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '获取失败', 'data' =>'']);
|
|
|
+ }
|
|
|
+ $field = ['id', 'employee_code', 'name', 'mobile', 'email', 'department_ids', 'duty_type', 'role_id', 'city_ids', 'open_notice', 'insert_time', 'update_time', 'status'];
|
|
|
+ $data = $EmployeeModel->where($map)->select($field)->first();
|
|
|
+ if (!$data) return json_send(['code' => 'error', 'msg' => '记录不存在']);
|
|
|
+ // 查询部门信息
|
|
|
+ $department_ids = explode(',', $data['department_ids']);
|
|
|
+ $department_info = $DepartmentModel->whereIn('id', $department_ids)->select(['id', 'name'])->get()->toarray();
|
|
|
+ // 查询角色信息
|
|
|
+ $role_where = ['id' => $data['role_id']];
|
|
|
+ // 权限判断
|
|
|
+ if ($is_admin != 1 && $company_id != 0) {
|
|
|
+ $role_where['company_id'] = $company_id;
|
|
|
+ } else {
|
|
|
+ return json_send(['code' => 'error', 'msg' => '获取失败', 'data' =>'']);
|
|
|
+ }
|
|
|
+ $role_info = $RolesModel->where($role_where)->first();
|
|
|
+ // 查询城市信息
|
|
|
+ $city_ids = explode(',', $data['city_ids']);
|
|
|
+ $city_info = [];
|
|
|
+ if (count($city_ids) > 0) {
|
|
|
+ $city_info = $CitysModel->whereIn('id', $city_ids)->pluck('name');
|
|
|
+ }
|
|
|
+ //截取字符串
|
|
|
+ $data['department_ids'] = $data['department_ids'] != '' ? substr($data['department_ids'], 1, strlen($data['department_ids']) - 2) : '';
|
|
|
+ $data['department_name'] = isset($department_info) ? array_column($department_info, 'name') : '';
|
|
|
+ $data['role_name'] = isset($role_info['name']) ? $role_info['name'] : '';
|
|
|
+ $data['city_info'] = $city_info;
|
|
|
+ // 加载模板
|
|
|
+ return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $data]);
|
|
|
+ }
|
|
|
}
|