Log.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. +-----------------------------------------------------------------------------------------------
  4. * GouGuOPEN [ 左手研发,右手开源,未来可期!]
  5. +-----------------------------------------------------------------------------------------------
  6. * @Copyright (c) 2021~2024 http://www.gouguoa.com All rights reserved.
  7. +-----------------------------------------------------------------------------------------------
  8. * @Licensed 勾股OA,开源且可免费使用,但并不是自由软件,未经授权许可不能去除勾股OA的相关版权信息
  9. +-----------------------------------------------------------------------------------------------
  10. * @Author 勾股工作室 <hdm58@qq.com>
  11. +-----------------------------------------------------------------------------------------------
  12. */
  13. declare (strict_types = 1);
  14. namespace app\home\controller;
  15. use app\base\BaseController;
  16. use think\facade\Db;
  17. use think\facade\View;
  18. class Log extends BaseController
  19. {
  20. //管理员操作日志
  21. public function index()
  22. {
  23. if (request()->isAjax()) {
  24. $param = get_params();
  25. $where = array();
  26. if (!empty($param['keywords'])) {
  27. $where[] = ['u.name|a.param_id|a.uid', 'like', '%' . $param['keywords'] . '%'];
  28. }
  29. if (!empty($param['action'])) {
  30. $where[] = ['a.action','=',$param['action']];
  31. }
  32. $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
  33. $list = DB::name('AdminLog')
  34. ->field("a.*,u.name")
  35. ->alias('a')
  36. ->join('Admin u', 'a.uid = u.id')
  37. ->order('a.create_time desc')
  38. ->where($where)
  39. ->paginate(['list_rows'=> $rows])
  40. ->each(function($item, $key){
  41. $item['content'] = $item['name']. $item['action'] . '了' . $item['subject'];
  42. $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']);
  43. $param_array = json_decode($item['param'], true);
  44. if(is_array($param_array)){
  45. $param_value = [];
  46. foreach ($param_array as $key => $value) {
  47. if (is_array($value)) {
  48. $value = implode(',', $value);
  49. }
  50. $param_value[] = $key . ':' . $value;
  51. }
  52. $item['param'] = implode(' & ',$param_value);
  53. }
  54. else{
  55. $item['param'] = $param_array;
  56. }
  57. return $item;
  58. });
  59. return table_assign(0, '', $list);
  60. } else {
  61. $type_action = get_config('log.type_action');
  62. View::assign('type_action', $type_action);
  63. return view();
  64. }
  65. }
  66. }