tpl-theme.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. <!DOCTYPE html>
  2. <html lang="en" class="bg-white">
  3. <head>
  4. <title>设置</title>
  5. <meta charset="utf-8"/>
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  8. <link rel="stylesheet" href="../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../assets/module/admin.css?v=318"/>
  10. <!--[if lt IE 9]>
  11. <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  12. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  13. <![endif]-->
  14. <style>
  15. /*body {*/
  16. /* overflow-x: hidden;*/
  17. /*}*/
  18. /*.layui-card-body {*/
  19. /* padding: 0;*/
  20. /*}*/
  21. /*.theme-div {*/
  22. /* padding-left: 15px;*/
  23. /* padding-top: 20px;*/
  24. /* margin-bottom: 10px;*/
  25. /*}*/
  26. /*.btnTheme {*/
  27. /* display: inline-block;*/
  28. /* margin: 0 6px 15px 0;*/
  29. /* padding: 4px;*/
  30. /* border: 1px solid #fff;*/
  31. /*}*/
  32. /*.btnTheme img {*/
  33. /* width: 80px;*/
  34. /* height: 50px;*/
  35. /* border: 1px solid #f2f2f2;*/
  36. /* background: #F2F2F2;*/
  37. /* cursor: pointer;*/
  38. /*}*/
  39. /*.btnTheme:hover, .btnTheme.active {*/
  40. /* border-color: #5FB878;*/
  41. /*}*/
  42. /*.more-menu-item {*/
  43. /* display: block;*/
  44. /* height: 50px;*/
  45. /* line-height: 50px;*/
  46. /* font-size: 16px;*/
  47. /* border-bottom: 1px solid #e8e8e8;*/
  48. /* color: #333;*/
  49. /* padding: 0px 25px;*/
  50. /* font-style: normal;*/
  51. /*}*/
  52. /*.more-menu-item:first-child {*/
  53. /* border-top: 1px solid #e8e8e8;*/
  54. /*}*/
  55. /*.more-menu-item:hover {*/
  56. /* background: #F2F2F2;*/
  57. /* color: #333;*/
  58. /*}*/
  59. /*.more-menu-item .layui-icon {*/
  60. /* padding-right: 10px;*/
  61. /* font-size: 18px;*/
  62. /*}*/
  63. /*.more-menu-item:after {*/
  64. /* content: "\e602";*/
  65. /* font-family: layui-icon !important;*/
  66. /* position: absolute;*/
  67. /* right: 16px;*/
  68. /* color: #999;*/
  69. /*}*/
  70. /*.more-menu-item.no-icon:after {*/
  71. /* content: "";*/
  72. /*}*/
  73. /*!** 设置表单样式 *!*/
  74. /*.set-item-label {*/
  75. /* display: inline-block;*/
  76. /* height: 38px;*/
  77. /* line-height: 38px;*/
  78. /* padding-left: 20px;*/
  79. /* color: #333333;*/
  80. /*}*/
  81. /*.set-item-ctrl {*/
  82. /* display: inline-block;*/
  83. /* height: 38px;*/
  84. /* line-height: 38px;*/
  85. /*}*/
  86. /*.set-item-ctrl > * {*/
  87. /* margin: 0;*/
  88. /*}*/
  89. /* theme */
  90. .more-theme-list {
  91. padding-left: 15px;
  92. padding-top: 20px;
  93. margin-bottom: 10px;
  94. }
  95. .more-theme-item {
  96. padding: 4px;
  97. margin: 0 6px 15px 0;
  98. display: inline-block;
  99. border: 1px solid transparent;
  100. }
  101. .more-theme-item img {
  102. width: 80px;
  103. height: 50px;
  104. background: #f5f7f9;
  105. box-sizing: border-box;
  106. border: 1px solid #f5f7f9;
  107. cursor: pointer;
  108. }
  109. .more-theme-item:hover, .more-theme-item.active {
  110. border-color: #5FB878;
  111. }
  112. .more-menu-item {
  113. color: #595959;
  114. height: 50px;
  115. line-height: 50px;
  116. font-size: 16px;
  117. padding: 0 25px;
  118. border-bottom: 1px solid #e8e8e8;
  119. font-style: normal;
  120. display: block;
  121. }
  122. /* menu */
  123. .more-menu-item:first-child {
  124. border-top: 1px solid #e8e8e8;
  125. }
  126. .more-menu-item:hover {
  127. color: #595959;
  128. background: #f6f6f6;
  129. }
  130. .more-menu-item .layui-icon {
  131. font-size: 18px;
  132. padding-right: 10px;
  133. }
  134. .more-menu-item:after {
  135. color: #8c8c8c;
  136. right: 16px;
  137. content: "\e602";
  138. position: absolute;
  139. font-family: layui-icon !important;
  140. }
  141. .more-menu-item.no-icon:after {
  142. display: none;
  143. }
  144. /* setting from */
  145. .set-item-label {
  146. height: 38px;
  147. line-height: 38px;
  148. padding-left: 20px;
  149. display: inline-block;
  150. }
  151. .set-item-ctrl {
  152. height: 38px;
  153. line-height: 38px;
  154. display: inline-block;
  155. }
  156. .set-item-ctrl > * {
  157. margin: 0 !important;
  158. }
  159. </style>
  160. </head>
  161. <body>
  162. <!-- 加载动画 -->
  163. <div class="page-loading">
  164. <div class="ball-loader">
  165. <span></span><span></span><span></span><span></span>
  166. </div>
  167. </div>
  168. <div class="layui-card-header">主题设置</div>
  169. <!-- 主题列表 -->
  170. <div class="more-theme-list">
  171. <div class="more-theme-item active">
  172. <img src="../../assets/module/img/theme-admin.png"/>
  173. </div>
  174. <div class="more-theme-item" data-theme="theme-cyan">
  175. <img src="../../assets/module/img/theme-cyan.png"/>
  176. </div>
  177. <div class="more-theme-item" data-theme="theme-white">
  178. <img src="../../assets/module/img/theme-white.png"/>
  179. </div>
  180. <div class="more-theme-item" data-theme="theme-pink">
  181. <img src="../../assets/module/img/theme-pink.png"/>
  182. </div>
  183. <div class="more-theme-item" data-theme="theme-colorful">
  184. <img src="../../assets/module/img/theme-colorful.png"/>
  185. </div>
  186. <div class="more-theme-item" data-theme="theme-blue">
  187. <img src="../../assets/module/img/theme-blue.png"/>
  188. </div>
  189. <div class="more-theme-item" data-theme="theme-green">
  190. <img src="../../assets/module/img/theme-green.png"/>
  191. </div>
  192. <div class="more-theme-item" data-theme="theme-purple">
  193. <img src="../../assets/module/img/theme-purple.png"/>
  194. </div>
  195. <div class="more-theme-item" data-theme="theme-red">
  196. <img src="../../assets/module/img/theme-red.png"/>
  197. </div>
  198. <div class="more-theme-item" data-theme="theme-sky-blue">
  199. <img src="../../assets/module/img/theme-sky-blue.png"/>
  200. </div>
  201. </div>
  202. <!-- <div class="theme-div"></div>-->
  203. <!-- 导航 -->
  204. <div class="more-menu">
  205. <a class="more-menu-item" href="https://easyweb.vip/doc/" target="_blank">
  206. <i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> 开发文档
  207. </a>
  208. <a class="more-menu-item" href="https://demo.easyweb.vip/spa" target="_blank">
  209. <i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> &nbsp;spa版本
  210. </a>
  211. <a class="more-menu-item" href="https://demo.easyweb.vip/theme" target="_blank">
  212. <i class="layui-icon layui-icon-theme"></i> 主题生成器
  213. </a>
  214. </div>
  215. <div class="layui-form" style="margin: 25px 0;" lay-filter="more-set-form">
  216. <div class="layui-form-item">
  217. <label class="set-item-label">页&emsp;脚:</label>
  218. <div class="set-item-ctrl">
  219. <input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
  220. </div>
  221. <label class="set-item-label"> Tab&nbsp;记忆:</label>
  222. <div class="set-item-ctrl">
  223. <input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
  224. </div>
  225. </div>
  226. <div class="layui-form-item">
  227. <label class="set-item-label">多标签:</label>
  228. <div class="set-item-ctrl">
  229. <input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
  230. </div>
  231. <label class="set-item-label">切换刷新:</label>
  232. <div class="set-item-ctrl">
  233. <input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="开启|关闭">
  234. </div>
  235. </div>
  236. <div class="layui-form-item">
  237. <label class="set-item-label">导航箭头:</label>
  238. <div class="set-item-ctrl">
  239. <input lay-filter="navArrow" type="radio" value="" title="默认" name="navArrow">
  240. <input lay-filter="navArrow" type="radio" value="arrow2" title="箭头" name="navArrow">
  241. <input lay-filter="navArrow" type="radio" value="arrow3" title="加号" name="navArrow">
  242. </div>
  243. </div>
  244. </div>
  245. <!-- &lt;!&ndash; 控制开关 &ndash;&gt;-->
  246. <!-- <div class="layui-form" style="margin: 25px 0;">-->
  247. <!-- <div class="layui-form-item">-->
  248. <!-- <label class="set-item-label">页&emsp;脚:</label>-->
  249. <!-- <div class="set-item-ctrl">-->
  250. <!-- <input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="开启|关闭">-->
  251. <!-- </div>-->
  252. <!-- <label class="set-item-label"> Tab&nbsp;记忆:</label>-->
  253. <!-- <div class="set-item-ctrl">-->
  254. <!-- <input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭">-->
  255. <!-- </div>-->
  256. <!-- </div>-->
  257. <!-- <div class="layui-form-item">-->
  258. <!-- <label class="set-item-label">多标签:</label>-->
  259. <!-- <div class="set-item-ctrl">-->
  260. <!-- <input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭">-->
  261. <!-- </div>-->
  262. <!-- <label class="set-item-label">切换刷新:</label>-->
  263. <!-- <div class="set-item-ctrl">-->
  264. <!-- <input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="开启|关闭">-->
  265. <!-- </div>-->
  266. <!-- </div>-->
  267. <!-- <div class="layui-form-item">-->
  268. <!-- <label class="set-item-label">导航箭头:</label>-->
  269. <!-- <div class="set-item-ctrl">-->
  270. <!-- <input lay-filter="navArrow" type="radio" value="" title="默认" name="navArrow">-->
  271. <!-- <input lay-filter="navArrow" type="radio" value="arrow2" title="箭头" name="navArrow">-->
  272. <!-- <input lay-filter="navArrow" type="radio" value="arrow3" title="加号" name="navArrow">-->
  273. <!-- </div>-->
  274. <!-- </div>-->
  275. <!-- </div>-->
  276. <script type="text/javascript" src="../../assets/libs/layui/layui.js"></script>
  277. <script type="text/javascript" src="../../assets/js/common.js?v=315"></script>
  278. <script>
  279. // layui.use(['layer', 'form', 'admin'], function () {
  280. // var $ = layui.jquery;
  281. // var layer = layui.layer;
  282. // var form = layui.form;
  283. // var admin = layui.admin;
  284. // var leftNav = '.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav';
  285. // var mainTab = '.layui-body>.layui-tab[lay-filter="admin-pagetabs"]';
  286. //
  287. // var themes = [
  288. // {title: '黑白主题', theme: 'admin'},
  289. // {title: '黑色主题', theme: 'black'},
  290. // {title: '蓝色主题', theme: 'blue'},
  291. // {title: '藏青主题', theme: 'cyan'},
  292. // {title: '黄色主题', theme: 'yellow'},
  293. // {title: '绿色主题', theme: 'green'},
  294. // {title: '粉红主题', theme: 'pink'},
  295. // {title: '紫白主题', theme: 'purple-white'},
  296. // {title: '紫色主题', theme: 'purple'},
  297. // {title: '白色主题', theme: 'white'},
  298. // {title: '红白主题', theme: 'red-white'},
  299. // {title: '红色主题', theme: 'red'},
  300. // {title: '深蓝主题', theme: 'sky-blue'}
  301. // ];
  302. // for (var i = 0; i < themes.length; i++) {
  303. // var str = '<div class="btnTheme" theme="theme-' + themes[i].theme + '" title="' + themes[i].title + '">';
  304. // str += ' <img src="../../assets/module/theme/img/theme-' + themes[i].theme + '.png">';
  305. // str += ' </div>';
  306. // $('.theme-div').append(str)
  307. // }
  308. //
  309. // // 切换主题
  310. // var mTheme = layui.data(admin.tableName).theme;
  311. // $('.btnTheme[theme=' + (mTheme ? mTheme : admin.defaultTheme) + ']').addClass('active');
  312. // $('.btnTheme').click(function () {
  313. // $('.btnTheme').removeClass('active');
  314. // $(this).addClass('active');
  315. // admin.changeTheme($(this).attr('theme'));
  316. // });
  317. //
  318. // // 关闭/开启页脚
  319. // var openFooter = layui.data(admin.tableName).openFooter;
  320. // $('#setFooter').prop('checked', openFooter == undefined ? true : openFooter);
  321. // form.on('switch(setFooter)', function (data) {
  322. // var checked = data.elem.checked;
  323. // layui.data(admin.tableName, {key: 'openFooter', value: checked});
  324. // checked ? top.layui.jquery('body.layui-layout-body').removeClass('close-footer') : top.layui.jquery('body.layui-layout-body').addClass('close-footer');
  325. // });
  326. //
  327. // // 关闭/开启Tab记忆功能
  328. // $('#setTab').prop('checked', top.layui.index.cacheTab);
  329. // form.on('switch(setTab)', function (data) {
  330. // top.layui.index.setTabCache(data.elem.checked);
  331. // });
  332. //
  333. // // 切换Tab自动刷新
  334. // var tabAutoRefresh = layui.data(admin.tableName).tabAutoRefresh;
  335. // $('#setRefresh').prop('checked', tabAutoRefresh == undefined ? false : tabAutoRefresh);
  336. // form.on('switch(setRefresh)', function (data) {
  337. // var checked = data.elem.checked;
  338. // layui.data(admin.tableName, {key: 'tabAutoRefresh', value: checked});
  339. // checked ? top.layui.jquery(mainTab).attr('lay-autoRefresh', 'true') : top.layui.jquery(mainTab).removeAttr('lay-autoRefresh');
  340. // });
  341. //
  342. // // 关闭/开启多标签
  343. // var openTab = layui.data(admin.tableName).openTab;
  344. // $('#setMoreTab').prop('checked', openTab == undefined ? top.layui.index.pageTabs : openTab);
  345. // form.on('switch(setMoreTab)', function (data) {
  346. // var checked = data.elem.checked;
  347. // layui.data(admin.tableName, {key: 'openTab', value: checked});
  348. // admin.putTempData('indexTabs', undefined); // 清除缓存的Tab
  349. // top.location.reload();
  350. // });
  351. //
  352. // // 导航小三角
  353. // var navArrow = layui.data(admin.tableName).navArrow;
  354. // if (navArrow == undefined) {
  355. // var $sideNav = top.layui.jquery('.layui-side .layui-nav-tree');
  356. // navArrow = $sideNav.hasClass('arrow2') ? 'arrow2' : $sideNav.hasClass('arrow3') ? 'arrow3' : '';
  357. // }
  358. // $('[name="navArrow"][value="' + (navArrow ? navArrow : '') + '"]').prop('checked', 'true');
  359. // form.on('radio(navArrow)', function (data) {
  360. // layui.data(admin.tableName, {key: 'navArrow', value: data.value});
  361. // top.layui.jquery(leftNav).removeClass('arrow2 arrow3');
  362. // data.value && top.layui.jquery(leftNav).addClass(data.value);
  363. // });
  364. //
  365. // form.render('checkbox');
  366. // form.render('radio');
  367. // });
  368. layui.use(['form', 'admin'], function () {
  369. var $ = layui.jquery;
  370. var form = layui.form;
  371. var admin = layui.admin;
  372. var setter = admin.setter;
  373. var $body = $('body');
  374. // 切换主题
  375. var $themItem = $('.more-theme-item');
  376. $themItem.click(function () {
  377. $themItem.removeClass('active');
  378. $(this).addClass('active');
  379. admin.changeTheme($(this).data('theme'));
  380. });
  381. var theme = $body.data('theme');
  382. if (theme) {
  383. $themItem.removeClass('active');
  384. $themItem.filter('[data-theme="' + theme + '"]').addClass('active');
  385. }
  386. // 关闭/开启页脚
  387. form.on('switch(setFooter)', function (data) {
  388. var checked = data.elem.checked;
  389. admin.putSetting('closeFooter', !checked);
  390. checked ? $body.removeClass('close-footer') : $body.addClass('close-footer');
  391. });
  392. $('#setFooter').prop('checked', !$body.hasClass('close-footer'));
  393. // 关闭/开启Tab记忆功能
  394. form.on('switch(setTab)', function (data) {
  395. layui.index.setTabCache(data.elem.checked);
  396. });
  397. $('#setTab').prop('checked', setter.cacheTab);
  398. // 关闭/开启多标签
  399. form.on('switch(setMoreTab)', function (data) {
  400. var checked = data.elem.checked;
  401. admin.putSetting('pageTabs', checked);
  402. admin.putTempData('indexTabs', undefined);
  403. location.reload();
  404. });
  405. $('#setMoreTab').prop('checked', setter.pageTabs);
  406. // 切换Tab自动刷新
  407. var $mainTab = $('.layui-body>.layui-tab[lay-filter="admin-pagetabs"]');
  408. form.on('switch(setRefresh)', function (data) {
  409. var checked = data.elem.checked;
  410. admin.putSetting('tabAutoRefresh', checked);
  411. checked ? $mainTab.attr('lay-autoRefresh', 'true') : $mainTab.removeAttr('lay-autoRefresh');
  412. });
  413. $('#setRefresh').prop('checked', setter.tabAutoRefresh === true);
  414. // 导航小三角
  415. var $leftNav = $('.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav');
  416. form.on('radio(navArrow)', function (data) {
  417. $leftNav.removeClass('arrow2 arrow3');
  418. data.value && $leftNav.addClass(data.value);
  419. admin.putSetting('navArrow', data.value);
  420. });
  421. var navArrow = $leftNav.hasClass('arrow2') ? 'arrow2' : $leftNav.hasClass('arrow3') ? 'arrow3' : '';
  422. $('[name="navArrow"][value="' + navArrow + '"]').prop('checked', true);
  423. form.render('radio', 'more-set-form');
  424. form.render('checkbox', 'more-set-form');
  425. });
  426. </script>
  427. </body>
  428. </html>