新增theme
This commit is contained in:
parent
dfa045726b
commit
ae7fd47a5d
@ -10,4 +10,9 @@ class Index extends BaseController
|
||||
{
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
public function theme()
|
||||
{
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
<?php
|
||||
|
||||
$router->get('/', '\catchAdmin\index\controller\index/index');
|
||||
$router->get('theme', '\catchAdmin\index\controller\index/theme');
|
||||
|
259
catchAdmin/index/view/theme.html
Normal file
259
catchAdmin/index/view/theme.html
Normal file
@ -0,0 +1,259 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="bg-white">
|
||||
<head>
|
||||
<title>设置</title>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="__CATCH_ADMIN_LIBS__/layui/css/layui.css"/>
|
||||
<link rel="stylesheet" href="__CATCH_ADMIN_MODULE__/admin.css?v=315"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<style>
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.layui-card-body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.theme-div {
|
||||
padding-left: 15px;
|
||||
padding-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.btnTheme {
|
||||
display: inline-block;
|
||||
margin: 0 6px 15px 0;
|
||||
padding: 4px;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
|
||||
.btnTheme img {
|
||||
width: 80px;
|
||||
height: 50px;
|
||||
border: 1px solid #f2f2f2;
|
||||
background: #F2F2F2;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btnTheme:hover, .btnTheme.active {
|
||||
border-color: #5FB878;
|
||||
}
|
||||
|
||||
.more-menu-item {
|
||||
display: block;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 16px;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
color: #333;
|
||||
padding: 0px 25px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.more-menu-item:first-child {
|
||||
border-top: 1px solid #e8e8e8;
|
||||
}
|
||||
|
||||
.more-menu-item:hover {
|
||||
background: #F2F2F2;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.more-menu-item .layui-icon {
|
||||
padding-right: 10px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.more-menu-item:after {
|
||||
content: "\e602";
|
||||
font-family: layui-icon !important;
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.more-menu-item.no-icon:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
/** 设置表单样式 */
|
||||
.set-item-label {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
padding-left: 20px;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.set-item-ctrl {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
}
|
||||
|
||||
.set-item-ctrl > * {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- 加载动画 -->
|
||||
<div class="page-loading">
|
||||
<div class="ball-loader">
|
||||
<span></span><span></span><span></span><span></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card-header">设置主题</div>
|
||||
<div class="layui-card-body">
|
||||
<!-- 主题列表 -->
|
||||
<div class="theme-div"></div>
|
||||
|
||||
<!-- 导航 -->
|
||||
<div class="more-menu">
|
||||
<a class="more-menu-item" href="https://gitee.com/jaguarjack/catchAdmin" target="_blank">
|
||||
<i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> Git 地址
|
||||
</a>
|
||||
<a class="more-menu-item" href="https://catchadmin.com" target="_blank">
|
||||
<i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> 官网
|
||||
</a>
|
||||
<!--<a class="more-menu-item" href="https://demo.easyweb.vip/theme" target="_blank">
|
||||
<i class="layui-icon layui-icon-theme"></i> 主题生成器
|
||||
</a>-->
|
||||
</div>
|
||||
|
||||
<!-- 控制开关 -->
|
||||
<div class="layui-form" style="margin: 25px 0;">
|
||||
<div class="layui-form-item">
|
||||
<label class="set-item-label">页 脚:</label>
|
||||
<div class="set-item-ctrl">
|
||||
<input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<label class="set-item-label"> Tab 记忆:</label>
|
||||
<div class="set-item-ctrl">
|
||||
<input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="set-item-label">多标签:</label>
|
||||
<div class="set-item-ctrl">
|
||||
<input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<label class="set-item-label">切换刷新:</label>
|
||||
<div class="set-item-ctrl">
|
||||
<input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="set-item-label">导航箭头:</label>
|
||||
<div class="set-item-ctrl">
|
||||
<input lay-filter="navArrow" type="radio" value="" title="默认" name="navArrow">
|
||||
<input lay-filter="navArrow" type="radio" value="arrow2" title="箭头" name="navArrow">
|
||||
<input lay-filter="navArrow" type="radio" value="arrow3" title="加号" name="navArrow">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="__CATCH_ADMIN_LIBS__/layui/layui.js"></script>
|
||||
<script type="text/javascript" src="__CATCH_ADMIN_JS__/common.js?v=315"></script>
|
||||
<script>
|
||||
layui.use(['layer', 'form', 'admin'], function () {
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
var form = layui.form;
|
||||
var admin = layui.admin;
|
||||
var leftNav = '.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav';
|
||||
var mainTab = '.layui-body>.layui-tab[lay-filter="admin-pagetabs"]';
|
||||
|
||||
var themes = [
|
||||
{title: '黑白主题', theme: 'admin'},
|
||||
{title: '黑色主题', theme: 'black'},
|
||||
{title: '蓝色主题', theme: 'blue'},
|
||||
{title: '藏青主题', theme: 'cyan'},
|
||||
{title: '黄色主题', theme: 'yellow'},
|
||||
{title: '绿色主题', theme: 'green'},
|
||||
{title: '粉红主题', theme: 'pink'},
|
||||
{title: '紫白主题', theme: 'purple-white'},
|
||||
{title: '紫色主题', theme: 'purple'},
|
||||
{title: '白色主题', theme: 'white'},
|
||||
{title: '红白主题', theme: 'red-white'},
|
||||
{title: '红色主题', theme: 'red'}
|
||||
];
|
||||
for (var i = 0; i < themes.length; i++) {
|
||||
var str = '<div class="btnTheme" theme="theme-' + themes[i].theme + '" title="' + themes[i].title + '">';
|
||||
str += ' <img src="__CATCH_ADMIN_MODULE__/theme/img/theme-' + themes[i].theme + '.png">';
|
||||
str += ' </div>';
|
||||
$('.theme-div').append(str)
|
||||
}
|
||||
|
||||
// 切换主题
|
||||
var mTheme = layui.data(admin.tableName).theme;
|
||||
$('.btnTheme[theme=' + (mTheme ? mTheme : admin.defaultTheme) + ']').addClass('active');
|
||||
$('.btnTheme').click(function () {
|
||||
$('.btnTheme').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
admin.changeTheme($(this).attr('theme'));
|
||||
});
|
||||
|
||||
// 关闭/开启页脚
|
||||
var openFooter = layui.data(admin.tableName).openFooter;
|
||||
$('#setFooter').prop('checked', openFooter == undefined ? true : openFooter);
|
||||
form.on('switch(setFooter)', function (data) {
|
||||
var checked = data.elem.checked;
|
||||
layui.data(admin.tableName, {key: 'openFooter', value: checked});
|
||||
checked ? top.layui.jquery('body.layui-layout-body').removeClass('close-footer') : top.layui.jquery('body.layui-layout-body').addClass('close-footer');
|
||||
});
|
||||
|
||||
// 关闭/开启Tab记忆功能
|
||||
$('#setTab').prop('checked', top.layui.index.cacheTab);
|
||||
form.on('switch(setTab)', function (data) {
|
||||
top.layui.index.setTabCache(data.elem.checked);
|
||||
});
|
||||
|
||||
// 切换Tab自动刷新
|
||||
var tabAutoRefresh = layui.data(admin.tableName).tabAutoRefresh;
|
||||
$('#setRefresh').prop('checked', tabAutoRefresh == undefined ? false : tabAutoRefresh);
|
||||
form.on('switch(setRefresh)', function (data) {
|
||||
var checked = data.elem.checked;
|
||||
layui.data(admin.tableName, {key: 'tabAutoRefresh', value: checked});
|
||||
checked ? top.layui.jquery(mainTab).attr('lay-autoRefresh', 'true') : top.layui.jquery(mainTab).removeAttr('lay-autoRefresh');
|
||||
});
|
||||
|
||||
// 关闭/开启多标签
|
||||
var openTab = layui.data(admin.tableName).openTab;
|
||||
$('#setMoreTab').prop('checked', openTab == undefined ? top.layui.index.pageTabs : openTab);
|
||||
form.on('switch(setMoreTab)', function (data) {
|
||||
var checked = data.elem.checked;
|
||||
layui.data(admin.tableName, {key: 'openTab', value: checked});
|
||||
admin.putTempData('indexTabs', undefined); // 清除缓存的Tab
|
||||
top.location.reload();
|
||||
});
|
||||
|
||||
// 导航小三角
|
||||
var navArrow = layui.data(admin.tableName).navArrow;
|
||||
if (navArrow == undefined) {
|
||||
var $sideNav = top.layui.jquery('.layui-side .layui-nav-tree');
|
||||
navArrow = $sideNav.hasClass('arrow2') ? 'arrow2' : $sideNav.hasClass('arrow3') ? 'arrow3' : '';
|
||||
}
|
||||
$('[name="navArrow"][value="' + (navArrow ? navArrow : '') + '"]').prop('checked', 'true');
|
||||
form.on('radio(navArrow)', function (data) {
|
||||
layui.data(admin.tableName, {key: 'navArrow', value: data.value});
|
||||
top.layui.jquery(leftNav).removeClass('arrow2 arrow3');
|
||||
data.value && top.layui.jquery(leftNav).addClass(data.value);
|
||||
});
|
||||
|
||||
form.render('checkbox');
|
||||
form.render('radio');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
x
Reference in New Issue
Block a user