quansitech / qscmf-adminlte-widgets
qscmf adminlte widget
Requires
- php: >=7.2
- tiderjian/think-core: >=11.26.2
README
adminlte 组件
安装
composer require quansitech/qscmf-adminlte-widgets
控件列表
Content
面板组件,所有的子组件都必须添加到Content组件
面板是表格结构,所有的组件都将基于行列结构嵌入
用法:
//$view 是 Think\View 对象 $content = new Content($view); //设置面板标题 $content->title('网站概况'); //设置高亮的节点 $content->setNIDByNode('admin','dashboard', 'index'); //设置行组件 $row = new \AdminLTE\Row(new InfoBox('日活', 100, 'info', ['icon' => 'users'])); //\AdminLTE\Row 作为参数 $content->addRow($row); //HTML字符串作为参数 $box = <<<html <div style="width:100%;height:100px;background-color: red;"></div> html; //当非Row组件作为参数时,可设置第二个参数来设定行所占宽度(总共12) $content->addRow($box, 6); //渲染html页面 $content->display();
函数说明
-
addRow
设置行内容
若auth_node存在多个值,支持配置不同逻辑(logic值为and或者or)判断是否显示,默认为and:
and:用户拥有全部权限则显示,格式为: ['node' => ['模块.控制器.方法名','模块.控制器.方法名'], 'logic' => 'and']
or:用户一个权限都没有则隐藏,格式为: ['node' => ['模块.控制器.方法名','模块.控制器.方法名'], 'logic' => 'or']
Row
行组件,行是面板表格的基础结构
用法:
//实例化row $row = new Row(); //也可以传入Column类型对象 $row = new Row(new Column(new InfoBox('日活', 100, 'info', 'users'))); //或者是html字符串, 此时可传入第二个参数来设定所占宽度(总共12) $box = <<<html <div style="width:100%;height:100px;background-color: red;"></div> html; $row = new Row($box, 6); //实例化后,给已有row添加列内容 //例子中的column可以是Html字符串,或者Column对象 //Column对象无须传递第二个参数,传了也无效 $row->addColumn($column, 4);
函数说明
-
addColumn
设置行内容
若auth_node存在多个值,支持配置不同逻辑(logic值为and或者or)判断是否显示,默认为and:
and:用户拥有全部权限则显示,格式为: ['node' => ['模块.控制器.方法名','模块.控制器.方法名'], 'logic' => 'and']
or:用户一个权限都没有则隐藏,格式为: ['node' => ['模块.控制器.方法名','模块.控制器.方法名'], 'logic' => 'or']
Column
列组件,列是面板表格的基础结构,一般都会嵌入行组件中使用
用法:
$box = <<<html <div style="width:100%;height:100px;background-color: red;"></div> html; //实例化column组件 //第一个参数为html字符串,或者是实现了__toString魔术函数的对象 //第二个参数为宽度,默认是12 $column = new Column($box, 12); $box2 = <<<html <div style="width:100%;height:100px;background-color: yellow;"></div> html; //向Column追加内容 //接受html字符串,或者实现了__toString魔术函数的对象 $column->append($box2);
Card
可折叠关闭的容器组件
用法:
//第一个参数,设定card body部分的html内容,或者是实现了__toString魔术函数的对象 //第二个参数,card的标题 //第三个参数,card header的背景色,见主题颜色说明 //第四个参数,是否启动折叠功能 //第五个参数,是否启动关闭功能 $card = new Card($card_row, '统计', 'danger', true, true); //设置body内容 //参数类型,html字符串或者实现了__toString魔术函数的对象 $card->setBody($body); //是否开启折叠功能 $card->setCollapse(true); //是否开启关闭功能 $card->setRemove(true); //设置标题 $card->setTitle('趋势图'); //设置header背景颜色 //参数是主题颜色,见主题颜色说明 $card->setBg($bg);
函数说明
-
addFooterMore
添加底部跳转链接
-
setFooter
设置底部html
-
setFooterExtraClass
指定底部html样式
InfoBox
可设置图标,说明文字,数字,提示的数据展示组件
用法:
//实例化 //第一个参数,数据描述 //第二个参数,数据 //第三个参数,背景主题色,见主题颜色说明 //第四个参数,icon $box = new InfoBox('参与人', 200, 'info', 'users'); //设置说明提示 $box->setTips('报名人数'); //设置icon $box->setIcon('users'); //设置背景主题色 $box->setBg('info'); //设置点击跳转页面 //第一个参数,页面路径 //第二个参数,是否在新页面打开,默认为 false $box->jumpTo($url,$is_blank);
Tab
可设置多个标签页的组件
用法:
// 参数为背景主题色,默认为primary,见主题颜色说明 $tab = new Tab('success'); // 第一个参数为tab项目的标题 // 第二个参数为tab项目的html内容,或者是实现了__toString魔术函数的对象 // 第三个参数为tab项目标题的提示,默认为空 $tab->addTab('title', 'body', 'tips'); // 多个tab则实现多个addTab方法 $tab->addTab('divider', new DividerBuilder('222'));
ListBox
设置列表组件
示例:
$list_box = new \AdminLTE\Widgets\ListBox\ListBox(); // 获取需要展示的数据 $list = [["id" => 1,"title" => "title","amount" => 100,"summary"=>"summary","date"=>date("Y-m-d", time())]]; foreach ($list as $v){ $item = new \AdminLTE\Widgets\ListBox\ListItem(); // 设置标题及字体颜色 $item->setTitle($v['title'],"primary"); // 设置标题右边标签项及其背景颜色 $item->addRightTag("$".$v['amount'],"success"); // 设置描述项 $item->addColumn($v['summary']); $item->addColumn($v['date']); // 设置点击标题跳转链接 $item->setUrl(U("admin/review/detail",['id'=>$v['id']])); // 添加列表项,为\AdminLTE\Widgets\UlListCard\LiItem 对象 $list_box->addListItem($item); } echo (new \AdminLTE\Widgets\Card($list_box,"待处理数据","danger"))->addFooterMore(U("admin/review/index"));
效果图
函数说明
-
addListItem
添加列表项,为\AdminLTE\Widgets\ListBox\ListItem 对象
ListItem
列表项,与 \AdminLTE\Widgets\ListBox\ListBox 搭配使用
函数说明
-
setTitle
设置标题及其字体颜色,默认为primary,见主题颜色说明
-
setUrl
指定点击标题跳转链接
-
addRightTag
设置标题右边标签项及其背景颜色,默认为primary
bg可选值:primary,secondary,success, info, warning, danger, light, dark
-
addColumn
添加描述项
Gap
间隔栏
//构造函数,20指间隔的高度,单位px $gap = new Gap(20); //或者 $gap = new Gap(); $gap->setHeight(20);
背景主题色
info #17a2b8
success #28a745
warning #ffc107
danger #dc3545
secondary #6c757d
primary #007bff
black #000000
graydark #343a40
gray #6c757d
light #f8f9fa
indigo #6610f2
lightblue #3c8dbc
navy #001f3f
purple #605ca8
fuchsia #f012be
pink #e83e8c
maroon #d81b60
lime #01ff70
orange #ff851b
teal #20c997
olive #3d9970