lihai-oa/app/home/controller/Log.php

65 lines
1.9 KiB
PHP

<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/GPL-3.0
* @link https://www.gougucms.com
*/
declare (strict_types = 1);
namespace app\home\controller;
use app\base\BaseController;
use think\facade\Db;
use think\facade\View;
class Log extends BaseController
{
//管理员操作日志
public function index()
{
if (request()->isAjax()) {
$param = get_params();
$where = array();
if (!empty($param['keywords'])) {
$where[] = ['u.name|a.param_id|a.uid', 'like', '%' . $param['keywords'] . '%'];
}
if (!empty($param['action'])) {
$where[] = ['a.action','=',$param['action']];
}
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
$list = DB::name('AdminLog')
->field("a.*,u.name")
->alias('a')
->join('Admin u', 'a.uid = u.id')
->order('a.create_time desc')
->where($where)
->paginate($rows, false, ['query' => $param])
->each(function($item, $key){
$item['content'] = $item['name']. $item['action'] . '了' . $item['subject'];
$item['create_time'] = date('Y-m-d H:i:s', $item['create_time']);
$param_array = json_decode($item['param'], true);
if(is_array($param_array)){
$param_value = [];
foreach ($param_array as $key => $value) {
if (is_array($value)) {
$value = implode(',', $value);
}
$param_value[] = $key . ':' . $value;
}
$item['param'] = implode(' & ',$param_value);
}
else{
$item['param'] = $param_array;
}
return $item;
});
return table_assign(0, '', $list);
} else {
$type_action = get_config('log.type_action');
View::assign('type_action', $type_action);
return view();
}
}
}