65 lines
2.5 KiB
PHP
65 lines
2.5 KiB
PHP
<?php
|
||
namespace app\admin\controller;
|
||
|
||
use app\common\builder\ZBuilder;
|
||
use app\admin\model\Action as ActionModel;
|
||
use app\admin\model\Module as ModuleModel;
|
||
|
||
/**
|
||
* 行为管理控制器
|
||
* @package app\admin\controller
|
||
*/
|
||
class Action extends Admin
|
||
{
|
||
/**
|
||
* 首页
|
||
* @author 蔡伟明 <314013107@qq.com>
|
||
* @return mixed
|
||
* @throws \think\Exception
|
||
* @throws \think\exception\DbException
|
||
*/
|
||
public function index()
|
||
{
|
||
// 查询
|
||
$map = $this->getMap();
|
||
// 数据列表
|
||
$data_list = ActionModel::where($map)->order('id desc')->paginate();
|
||
// 所有模块的名称和标题
|
||
$list_module = ModuleModel::getModule();
|
||
|
||
// 新增或编辑页面的字段
|
||
$fields = [
|
||
['hidden', 'id'],
|
||
['select', 'module', '所属模块', '', $list_module],
|
||
['text', 'name', '行为标识', '由英文字母和下划线组成'],
|
||
['text', 'title', '行为名称', ''],
|
||
['textarea', 'remark', '行为描述'],
|
||
['textarea', 'rule', '行为规则', '不写则只记录日志'],
|
||
['textarea', 'log', '日志规则', '记录日志备注时按此规则来生成,支持[变量|函数]。目前变量有:user,time,model,record,data,details'],
|
||
['radio', 'status', '立即启用', '', ['否', '是'], 1]
|
||
];
|
||
|
||
// 使用ZBuilder快速创建数据表格
|
||
return ZBuilder::make('table')
|
||
->setPageTitle('行为管理') // 设置页面标题
|
||
->setSearch(['name' => '标识', 'title' => '名称']) // 设置搜索框
|
||
->addColumns([ // 批量添加数据列
|
||
['id', 'ID'],
|
||
['name', '标识'],
|
||
['title', '名称'],
|
||
['remark', '描述'],
|
||
['module', '所属模块', 'callback', function($module, $list_module){
|
||
return isset($list_module[$module]) ? $list_module[$module] : '未知';
|
||
}, $list_module],
|
||
['status', '状态', 'switch'],
|
||
['right_button', '操作', 'btn']
|
||
])
|
||
->autoAdd($fields, '', true, true) // 添加自动新增按钮
|
||
->autoEdit($fields, '', true, true) // 添加自动编辑按钮
|
||
->addTopButtons('enable,disable,delete') // 批量添加顶部按钮
|
||
->addRightButtons('delete') // 批量添加右侧按钮
|
||
->addFilter('module', $list_module)
|
||
->setRowList($data_list) // 设置表格数据
|
||
->fetch(); // 渲染模板
|
||
}
|
||
} |