提交 | 用户 | 时间
|
71e81e
|
1 |
<div class="layui-card-header">主题设置</div> |
懒 |
2 |
<div class="more-theme-list"> |
|
3 |
<div class="more-theme-item active"> |
|
4 |
<img src="${ctxPath}/assets/common/module/img/theme-admin.png"/> |
|
5 |
</div> |
|
6 |
<div class="more-theme-item" data-theme="theme-cyan"> |
|
7 |
<img src="${ctxPath}/assets/common/module/img/theme-cyan.png"/> |
|
8 |
</div> |
|
9 |
<div class="more-theme-item" data-theme="theme-white"> |
|
10 |
<img src="${ctxPath}/assets/common/module/img/theme-white.png"/> |
|
11 |
</div> |
|
12 |
<div class="more-theme-item" data-theme="theme-pink"> |
|
13 |
<img src="${ctxPath}/assets/common/module/img/theme-pink.png"/> |
|
14 |
</div> |
|
15 |
<div class="more-theme-item" data-theme="theme-colorful"> |
|
16 |
<img src="${ctxPath}/assets/common/module/img/theme-white.png"/> |
|
17 |
</div> |
|
18 |
<div class="more-theme-item" data-theme="theme-blue"> |
|
19 |
<img src="${ctxPath}/assets/common/module/img/theme-blue.png"/> |
|
20 |
</div> |
|
21 |
<div class="more-theme-item" data-theme="theme-green"> |
|
22 |
<img src="${ctxPath}/assets/common/module/img/theme-green.png"/> |
|
23 |
</div> |
|
24 |
<div class="more-theme-item" data-theme="theme-purple"> |
|
25 |
<img src="${ctxPath}/assets/common/module/img/theme-purple.png"/> |
|
26 |
</div> |
|
27 |
<div class="more-theme-item" data-theme="theme-red"> |
|
28 |
<img src="${ctxPath}/assets/common/module/img/theme-red.png"/> |
|
29 |
</div> |
|
30 |
</div> |
|
31 |
<!-- 导航 --> |
|
32 |
<div class="more-menu-list"> |
|
33 |
<!-- <a class="more-menu-item" href="https://gitee.com/stylefeng/guns" target="_blank">--> |
|
34 |
<!-- <i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> Guns码云官网--> |
|
35 |
<!-- </a>--> |
|
36 |
<!-- <a class="more-menu-item" href="https://www.stylefeng.cn" target="_blank">--> |
|
37 |
<!-- <i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> stylefeng开源技术--> |
|
38 |
<!-- </a>--> |
|
39 |
<!-- <a class="more-menu-item" href="https://demo.easyweb.vip/theme" target="_blank">--> |
|
40 |
<!-- <i class="layui-icon layui-icon-theme"></i> 主题生成器--> |
|
41 |
<!-- </a>--> |
|
42 |
</div> |
|
43 |
<!-- 控制开关 --> |
|
44 |
<div class="layui-form" style="margin: 25px 0;" lay-filter="more-set-form"> |
|
45 |
<div class="layui-form-item"> |
|
46 |
<label class="set-item-label">页 脚:</label> |
|
47 |
<div class="set-item-ctrl"> |
|
48 |
<input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
|
49 |
</div> |
|
50 |
<label class="set-item-label"> Tab 记忆:</label> |
|
51 |
<div class="set-item-ctrl"> |
|
52 |
<input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
|
53 |
</div> |
|
54 |
</div> |
|
55 |
<div class="layui-form-item"> |
|
56 |
<label class="set-item-label">多标签:</label> |
|
57 |
<div class="set-item-ctrl"> |
|
58 |
<input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
|
59 |
</div> |
|
60 |
<label class="set-item-label">切换刷新:</label> |
|
61 |
<div class="set-item-ctrl"> |
|
62 |
<input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
|
63 |
</div> |
|
64 |
</div> |
|
65 |
<div class="layui-form-item"> |
|
66 |
<label class="set-item-label">导航箭头:</label> |
|
67 |
<div class="set-item-ctrl"> |
|
68 |
<input lay-filter="navArrow" type="radio" value="" title="默认" name="navArrow"> |
|
69 |
<input lay-filter="navArrow" type="radio" value="arrow2" title="箭头" name="navArrow"> |
|
70 |
<input lay-filter="navArrow" type="radio" value="arrow3" title="加号" name="navArrow"> |
|
71 |
</div> |
|
72 |
</div> |
|
73 |
</div> |
|
74 |
|
|
75 |
<script> |
|
76 |
layui.use(['form', 'admin'], function () { |
|
77 |
var $ = layui.jquery; |
|
78 |
var form = layui.form; |
|
79 |
var admin = layui.admin; |
|
80 |
var setter = admin.setter; |
|
81 |
var $body = $('body'); |
|
82 |
|
|
83 |
// 切换主题 |
|
84 |
var $themItem = $('.more-theme-item'); |
|
85 |
$themItem.click(function () { |
|
86 |
$themItem.removeClass('active'); |
|
87 |
$(this).addClass('active'); |
|
88 |
admin.changeTheme($(this).data('theme')); |
|
89 |
}); |
|
90 |
var theme = $body.data('theme'); |
|
91 |
if (theme) { |
|
92 |
$themItem.removeClass('active'); |
|
93 |
$themItem.filter('[data-theme="' + theme + '"]').addClass('active'); |
|
94 |
} |
|
95 |
|
|
96 |
// 关闭/开启页脚 |
|
97 |
form.on('switch(setFooter)', function (data) { |
|
98 |
var checked = data.elem.checked; |
|
99 |
admin.putSetting('closeFooter', !checked); |
|
100 |
checked ? $body.removeClass('close-footer') : $body.addClass('close-footer'); |
|
101 |
}); |
|
102 |
$('#setFooter').prop('checked', !$body.hasClass('close-footer')); |
|
103 |
|
|
104 |
// 关闭/开启Tab记忆功能 |
|
105 |
form.on('switch(setTab)', function (data) { |
|
106 |
layui.index.setTabCache(data.elem.checked); |
|
107 |
}); |
|
108 |
$('#setTab').prop('checked', setter.cacheTab); |
|
109 |
|
|
110 |
// 关闭/开启多标签 |
|
111 |
form.on('switch(setMoreTab)', function (data) { |
|
112 |
var checked = data.elem.checked; |
|
113 |
admin.putSetting('pageTabs', checked); |
|
114 |
admin.putTempData('indexTabs', undefined); |
|
115 |
location.reload(); |
|
116 |
}); |
|
117 |
$('#setMoreTab').prop('checked', setter.pageTabs); |
|
118 |
|
|
119 |
// 切换Tab自动刷新 |
|
120 |
var $mainTab = $('.layui-body>.layui-tab[lay-filter="admin-pagetabs"]'); |
|
121 |
form.on('switch(setRefresh)', function (data) { |
|
122 |
var checked = data.elem.checked; |
|
123 |
admin.putSetting('tabAutoRefresh', checked); |
|
124 |
checked ? $mainTab.attr('lay-autoRefresh', 'true') : $mainTab.removeAttr('lay-autoRefresh'); |
|
125 |
}); |
|
126 |
$('#setRefresh').prop('checked', setter.tabAutoRefresh === true); |
|
127 |
|
|
128 |
// 导航小三角 |
|
129 |
var $leftNav = $('.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav'); |
|
130 |
form.on('radio(navArrow)', function (data) { |
|
131 |
$leftNav.removeClass('arrow2 arrow3'); |
|
132 |
data.value && $leftNav.addClass(data.value); |
|
133 |
admin.putSetting('navArrow', data.value); |
|
134 |
}); |
|
135 |
var navArrow = $leftNav.hasClass('arrow2') ? 'arrow2' : $leftNav.hasClass('arrow3') ? 'arrow3' : ''; |
|
136 |
$('[name="navArrow"][value="' + navArrow + '"]').prop('checked', true); |
|
137 |
|
|
138 |
form.render('radio', 'more-set-form'); |
|
139 |
form.render('checkbox', 'more-set-form'); |
|
140 |
}); |
|
141 |
</script> |
|
142 |
|
|
143 |
<style> |
|
144 |
/* theme */ |
|
145 |
.more-theme-list { |
|
146 |
padding-left: 15px; |
|
147 |
padding-top: 20px; |
|
148 |
margin-bottom: 10px; |
|
149 |
} |
|
150 |
|
|
151 |
.more-theme-item { |
|
152 |
padding: 4px; |
|
153 |
margin: 0 6px 15px 0; |
|
154 |
display: inline-block; |
|
155 |
border: 1px solid transparent; |
|
156 |
} |
|
157 |
|
|
158 |
.more-theme-item img { |
|
159 |
width: 80px; |
|
160 |
height: 50px; |
|
161 |
background: #f5f7f9; |
|
162 |
box-sizing: border-box; |
|
163 |
border: 1px solid #f5f7f9; |
|
164 |
cursor: pointer; |
|
165 |
} |
|
166 |
|
|
167 |
.more-theme-item:hover, .more-theme-item.active { |
|
168 |
border-color: #5FB878; |
|
169 |
} |
|
170 |
|
|
171 |
.more-menu-item { |
|
172 |
color: #595959; |
|
173 |
height: 50px; |
|
174 |
line-height: 50px; |
|
175 |
font-size: 16px; |
|
176 |
padding: 0 25px; |
|
177 |
border-bottom: 1px solid #e8e8e8; |
|
178 |
font-style: normal; |
|
179 |
display: block; |
|
180 |
} |
|
181 |
|
|
182 |
/* menu */ |
|
183 |
.more-menu-item:first-child { |
|
184 |
border-top: 1px solid #e8e8e8; |
|
185 |
} |
|
186 |
|
|
187 |
.more-menu-item:hover { |
|
188 |
color: #595959; |
|
189 |
background: #f6f6f6; |
|
190 |
} |
|
191 |
|
|
192 |
.more-menu-item .layui-icon { |
|
193 |
font-size: 18px; |
|
194 |
padding-right: 10px; |
|
195 |
} |
|
196 |
|
|
197 |
.more-menu-item:after { |
|
198 |
color: #8c8c8c; |
|
199 |
right: 16px; |
|
200 |
content: "\e602"; |
|
201 |
position: absolute; |
|
202 |
font-family: layui-icon !important; |
|
203 |
} |
|
204 |
|
|
205 |
.more-menu-item.no-icon:after { |
|
206 |
display: none; |
|
207 |
} |
|
208 |
|
|
209 |
/* setting from */ |
|
210 |
.set-item-label { |
|
211 |
height: 38px; |
|
212 |
line-height: 38px; |
|
213 |
padding-left: 20px; |
|
214 |
display: inline-block; |
|
215 |
} |
|
216 |
|
|
217 |
.set-item-ctrl { |
|
218 |
height: 38px; |
|
219 |
line-height: 38px; |
|
220 |
display: inline-block; |
|
221 |
} |
|
222 |
|
|
223 |
.set-item-ctrl > * { |
|
224 |
margin: 0; |
|
225 |
} |
|
226 |
</style> |