AdminHistory.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace App\Http\Controllers\manager;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Manager\AdminHistory as Request;
  5. use App\Models\Manager\AdminHistory as AdminHistoryModel;
  6. use App\Models\Manager\AdminUser as AdminUserModel;
  7. use App\Models\Manager\Personnel\Employee as EmployeeModel;
  8. /**
  9. * 操作日志记录
  10. * @author 唐远望
  11. * @version 1.0
  12. * @date 2025-12-24
  13. */
  14. class AdminHistory extends Controller
  15. {
  16. /**
  17. * 列表
  18. * @author 唐远望
  19. * @version 1.0
  20. * @date 2025-12-24
  21. *
  22. */
  23. public function list(Request $request, AdminHistoryModel $AdminHistoryModel, AdminUserModel $AdminUserModel, EmployeeModel $EmployeeModel)
  24. {
  25. $request->scene('list')->validate();
  26. $admin_company_id = request('admin_company_id', '0');
  27. $company_id = request('access_token.company_id', '0');
  28. $is_admin = request('access_token.is_admin', '0');//是否管理员操作 0=是1=否
  29. // 查询条件
  30. $map = [];
  31. $limit = request('limit', config('page_num', 10));
  32. $start_time = request('start_time', '');
  33. $end_time = request('end_time', '');
  34. $module_menu_name = request('module_menu_name', '');
  35. $general_description = request('general_description', '');
  36. $notes_type = request('notes_type', '');
  37. // 时间条件
  38. if ($start_time) $map[] = ['insert_time', '>=', strtotime($start_time)];
  39. if ($end_time) $map[] = ['insert_time', '<=', strtotime($end_time)];
  40. // 其他条件
  41. if ($module_menu_name) $map[] = ['module_menu_name', 'like', "%$module_menu_name%"];
  42. if ($general_description) $map[] = ['general_description', 'like', "%$general_description%"];
  43. if ($notes_type) $map[] = ['notes_type', '=', $notes_type];
  44. // 查询数据
  45. if ($is_admin != 1 && $company_id != 0){
  46. $map[] = ['company_id', '=', $company_id];
  47. }else{
  48. $map[] = ['company_id', '=', $admin_company_id];
  49. }
  50. $result = $AdminHistoryModel
  51. ->where($map)
  52. ->select(['id', 'admin_uid', 'is_admin', 'module_menu_name', 'notes_type', 'general_description', 'insert_time'])
  53. ->orderByDesc('id')
  54. ->paginate($limit)->toarray();
  55. if (isset($result['data']) && count($result['data']) > 0) {
  56. foreach ($result['data'] as $key => $value) {
  57. $is_admin = $value['is_admin'];
  58. if ($is_admin == '1') {
  59. $result['data'][$key]['username'] = $AdminUserModel->where('uid', $value['admin_uid'])->value('username');
  60. } else {
  61. $result['data'][$key]['username'] = $EmployeeModel->where('id', $value['admin_uid'])->value('name');
  62. }
  63. }
  64. }
  65. // 分配数据
  66. if (!$result) return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => []]);
  67. // 加载模板
  68. return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
  69. }
  70. }