miniTheme.js 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479
  1. /**
  2. * date:2020/02/28
  3. * author:Mr.Chung
  4. * version:2.0
  5. * description:layuimini tab框架扩展
  6. */
  7. layui.define(["jquery", "layer"], function (exports) {
  8. var $ = layui.$,
  9. layer = layui.layer;
  10. var miniTheme = {
  11. /**
  12. * 主题配置项
  13. * @param bgcolorId
  14. * @returns {{headerLogo, menuLeftHover, headerRight, menuLeft, headerRightThis, menuLeftThis}|*|*[]}
  15. */
  16. config: function (bgcolorId) {
  17. var bgColorConfig = [
  18. {
  19. headerRightBg: '#0b82ff', //头部右侧背景色
  20. headerRightBgThis: '#0069b7', //头部右侧选中背景色,
  21. headerRightColor: 'white', //头部右侧字体颜色,
  22. headerRightChildColor: 'rgba(107, 107, 107, 0.7)', //头部右侧下拉字体颜色,
  23. headerRightColorThis: '#565656', //头部右侧鼠标选中,
  24. headerRightNavMore: 'rgba(160, 160, 160, 0.7)', //头部右侧更多下拉颜色,
  25. headerRightNavMoreBg: '#1E9FFF', //头部右侧更多下拉列表选中背景色,
  26. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  27. headerRightToolColor: 'white', //头部缩放按钮样式,
  28. headerLogoBg: 'white', //logo背景颜色,
  29. headerLogoColor: 'rgb(191, 187, 187)', //logo字体颜色,
  30. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  31. leftMenuBg: 'white', //左侧菜单背景,
  32. leftMenuBgThis: '#0b82ff', //左侧菜单选中背景,
  33. leftMenuChildBg: 'white', //左侧菜单子菜单背景,
  34. leftMenuColor: 'black', //左侧菜单字体颜色,
  35. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  36. tabActiveColor: '#1e9fff', //tab选项卡选中颜色,
  37. },
  38. {
  39. headerRightBg: '#23262e', //头部右侧背景色
  40. headerRightBgThis: '#0c0c0c', //头部右侧选中背景色,
  41. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  42. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  43. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  44. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  45. headerRightNavMoreBg: '#1aa094', //头部右侧更多下拉列表选中背景色,
  46. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  47. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  48. headerLogoBg: '#0c0c0c', //logo背景颜色,
  49. headerLogoColor: '#ffffff', //logo字体颜色,
  50. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  51. leftMenuBg: '#23262e', //左侧菜单背景,
  52. leftMenuBgThis: '#737373', //左侧菜单选中背景,
  53. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  54. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  55. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  56. tabActiveColor: '#23262e', //tab选项卡选中颜色,
  57. },
  58. {
  59. headerRightBg: '#ffa4d1', //头部右侧背景色
  60. headerRightBgThis: '#bf7b9d', //头部右侧选中背景色,
  61. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  62. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  63. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  64. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  65. headerRightNavMoreBg: '#ffa4d1', //头部右侧更多下拉列表选中背景色,
  66. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  67. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  68. headerLogoBg: '#e694bd', //logo背景颜色,
  69. headerLogoColor: '#ffffff', //logo字体颜色,
  70. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  71. leftMenuBg: '#1f1f1f', //左侧菜单背景,
  72. leftMenuBgThis: '#737373', //左侧菜单选中背景,
  73. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  74. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  75. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  76. tabActiveColor: '#ffa4d1', //tab选项卡选中颜色,
  77. },
  78. {
  79. headerRightBg: '#1aa094', //头部右侧背景色
  80. headerRightBgThis: '#197971', //头部右侧选中背景色,
  81. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  82. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  83. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  84. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  85. headerRightNavMoreBg: '#1aa094', //头部右侧更多下拉列表选中背景色,
  86. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  87. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  88. headerLogoBg: '#0c0c0c', //logo背景颜色,
  89. headerLogoColor: '#ffffff', //logo字体颜色,
  90. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  91. leftMenuBg: '#23262e', //左侧菜单背景,
  92. leftMenuBgThis: '#1aa094', //左侧菜单选中背景,
  93. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  94. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  95. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  96. tabActiveColor: '#1aa094', //tab选项卡选中颜色,
  97. },
  98. {
  99. headerRightBg: '#1e9fff', //头部右侧背景色
  100. headerRightBgThis: '#0069b7', //头部右侧选中背景色,
  101. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  102. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  103. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  104. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  105. headerRightNavMoreBg: '#1e9fff', //头部右侧更多下拉列表选中背景色,
  106. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  107. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  108. headerLogoBg: '#0c0c0c', //logo背景颜色,
  109. headerLogoColor: '#ffffff', //logo字体颜色,
  110. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  111. leftMenuBg: '#1f1f1f', //左侧菜单背景,
  112. leftMenuBgThis: '#1e9fff', //左侧菜单选中背景,
  113. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  114. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  115. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  116. tabActiveColor: '#1e9fff', //tab选项卡选中颜色,
  117. },
  118. {
  119. headerRightBg: '#ffb800', //头部右侧背景色
  120. headerRightBgThis: '#d09600', //头部右侧选中背景色,
  121. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  122. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  123. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  124. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  125. headerRightNavMoreBg: '#d09600', //头部右侧更多下拉列表选中背景色,
  126. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  127. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  128. headerLogoBg: '#243346', //logo背景颜色,
  129. headerLogoColor: '#ffffff', //logo字体颜色,
  130. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  131. leftMenuBg: '#2f4056', //左侧菜单背景,
  132. leftMenuBgThis: '#8593a7', //左侧菜单选中背景,
  133. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  134. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  135. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  136. tabActiveColor: '#ffb800', //tab选项卡选中颜色,
  137. },
  138. {
  139. headerRightBg: '#e82121', //头部右侧背景色
  140. headerRightBgThis: '#ae1919', //头部右侧选中背景色,
  141. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  142. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  143. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  144. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  145. headerRightNavMoreBg: '#ae1919', //头部右侧更多下拉列表选中背景色,
  146. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  147. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  148. headerLogoBg: '#0c0c0c', //logo背景颜色,
  149. headerLogoColor: '#ffffff', //logo字体颜色,
  150. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  151. leftMenuBg: '#1f1f1f', //左侧菜单背景,
  152. leftMenuBgThis: '#3b3f4b', //左侧菜单选中背景,
  153. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  154. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  155. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  156. tabActiveColor: '#e82121', //tab选项卡选中颜色,
  157. },
  158. {
  159. headerRightBg: '#963885', //头部右侧背景色
  160. headerRightBgThis: '#772c6a', //头部右侧选中背景色,
  161. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  162. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  163. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  164. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  165. headerRightNavMoreBg: '#772c6a', //头部右侧更多下拉列表选中背景色,
  166. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  167. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  168. headerLogoBg: '#243346', //logo背景颜色,
  169. headerLogoColor: '#ffffff', //logo字体颜色,
  170. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  171. leftMenuBg: '#2f4056', //左侧菜单背景,
  172. leftMenuBgThis: '#586473', //左侧菜单选中背景,
  173. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  174. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  175. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  176. tabActiveColor: '#963885', //tab选项卡选中颜色,
  177. },
  178. {
  179. headerRightBg: '#2D8CF0', //头部右侧背景色
  180. headerRightBgThis: '#0069b7', //头部右侧选中背景色,
  181. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  182. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  183. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  184. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  185. headerRightNavMoreBg: '#0069b7', //头部右侧更多下拉列表选中背景色,
  186. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  187. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  188. headerLogoBg: '#0069b7', //logo背景颜色,
  189. headerLogoColor: '#ffffff', //logo字体颜色,
  190. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  191. leftMenuBg: '#1f1f1f', //左侧菜单背景,
  192. leftMenuBgThis: '#2D8CF0', //左侧菜单选中背景,
  193. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  194. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  195. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  196. tabActiveColor: '#2d8cf0', //tab选项卡选中颜色,
  197. },
  198. {
  199. headerRightBg: '#ffb800', //头部右侧背景色
  200. headerRightBgThis: '#d09600', //头部右侧选中背景色,
  201. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  202. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  203. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  204. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  205. headerRightNavMoreBg: '#d09600', //头部右侧更多下拉列表选中背景色,
  206. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  207. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  208. headerLogoBg: '#d09600', //logo背景颜色,
  209. headerLogoColor: '#ffffff', //logo字体颜色,
  210. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  211. leftMenuBg: '#2f4056', //左侧菜单背景,
  212. leftMenuBgThis: '#3b3f4b', //左侧菜单选中背景,
  213. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  214. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  215. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  216. tabActiveColor: '#ffb800', //tab选项卡选中颜色,
  217. },
  218. {
  219. headerRightBg: '#e82121', //头部右侧背景色
  220. headerRightBgThis: '#ae1919', //头部右侧选中背景色,
  221. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  222. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  223. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  224. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  225. headerRightNavMoreBg: '#ae1919', //头部右侧更多下拉列表选中背景色,
  226. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  227. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  228. headerLogoBg: '#d91f1f', //logo背景颜色,
  229. headerLogoColor: '#ffffff', //logo字体颜色,
  230. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  231. leftMenuBg: '#1f1f1f', //左侧菜单背景,
  232. leftMenuBgThis: '#3b3f4b', //左侧菜单选中背景,
  233. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  234. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  235. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  236. tabActiveColor: '#e82121', //tab选项卡选中颜色,
  237. },
  238. {
  239. headerRightBg: '#963885', //头部右侧背景色
  240. headerRightBgThis: '#772c6a', //头部右侧选中背景色,
  241. headerRightColor: 'rgba(255,255,255,.7)', //头部右侧字体颜色,
  242. headerRightChildColor: '#676767', //头部右侧下拉字体颜色,
  243. headerRightColorThis: '#ffffff', //头部右侧鼠标选中,
  244. headerRightNavMore: 'rgba(255,255,255,.7)', //头部右侧更多下拉颜色,
  245. headerRightNavMoreBg: '#772c6a', //头部右侧更多下拉列表选中背景色,
  246. headerRightNavMoreColor: '#ffffff', //头部右侧更多下拉列表字体色,
  247. headerRightToolColor: '#bbe3df', //头部缩放按钮样式,
  248. headerLogoBg: '#772c6a', //logo背景颜色,
  249. headerLogoColor: '#ffffff', //logo字体颜色,
  250. leftMenuNavMore: 'rgb(191, 187, 187)', //左侧菜单更多下拉样式,
  251. leftMenuBg: '#2f4056', //左侧菜单背景,
  252. leftMenuBgThis: '#626f7f', //左侧菜单选中背景,
  253. leftMenuChildBg: 'rgba(0,0,0,.3)', //左侧菜单子菜单背景,
  254. leftMenuColor: 'rgb(191, 187, 187)', //左侧菜单字体颜色,
  255. leftMenuColorThis: '#ffffff', //左侧菜单选中字体颜色,
  256. tabActiveColor: '#963885', //tab选项卡选中颜色,
  257. }
  258. ];
  259. if (bgcolorId === undefined) {
  260. return bgColorConfig;
  261. } else {
  262. return bgColorConfig[bgcolorId];
  263. }
  264. },
  265. /**
  266. * 初始化
  267. * @param options
  268. */
  269. render: function (options) {
  270. options.bgColorDefault = options.bgColorDefault || false;
  271. options.listen = options.listen || false;
  272. var bgcolorId = sessionStorage.getItem('layuiminiBgcolorId');
  273. if (bgcolorId === null || bgcolorId === undefined || bgcolorId === '') {
  274. bgcolorId = options.bgColorDefault;
  275. }
  276. miniTheme.buildThemeCss(bgcolorId);
  277. if (options.listen) miniTheme.listen(options);
  278. },
  279. /**
  280. * 构建主题样式
  281. * @param bgcolorId
  282. * @returns {boolean}
  283. */
  284. buildThemeCss: function (bgcolorId) {
  285. if (!bgcolorId) {
  286. return false;
  287. }
  288. var bgcolorData = miniTheme.config(bgcolorId);
  289. var styleHtml = '/*头部右侧背景色 headerRightBg */\n' +
  290. '.layui-layout-admin .layui-header {\n' +
  291. ' background-color: ' + bgcolorData.headerRightBg + ' !important;\n' +
  292. '}\n' +
  293. '\n' +
  294. '/*头部右侧选中背景色 headerRightBgThis */\n' +
  295. '.layui-layout-admin .layui-header .layuimini-header-content > ul > .layui-nav-item.layui-this, .layuimini-tool i:hover {\n' +
  296. ' background-color: ' + bgcolorData.headerRightBgThis + ' !important;\n' +
  297. '}\n' +
  298. '\n' +
  299. '/*头部右侧字体颜色 headerRightColor */\n' +
  300. '.layui-layout-admin .layui-header .layui-nav .layui-nav-item a {\n' +
  301. ' color: ' + bgcolorData.headerRightColor + ';\n' +
  302. '}\n' +
  303. '/**头部右侧下拉字体颜色 headerRightChildColor */\n' +
  304. '.layui-layout-admin .layui-header .layui-nav .layui-nav-item .layui-nav-child a {\n' +
  305. ' color: ' + bgcolorData.headerRightChildColor + '!important;\n' +
  306. '}\n' +
  307. '\n' +
  308. '/*头部右侧鼠标选中 headerRightColorThis */\n' +
  309. '.layui-header .layuimini-menu-header-pc.layui-nav .layui-nav-item a:hover, .layui-header .layuimini-header-menu.layuimini-pc-show.layui-nav .layui-this a {\n' +
  310. ' color: ' + bgcolorData.headerRightColorThis + ' !important;\n' +
  311. '}\n' +
  312. '\n' +
  313. '/*头部右侧更多下拉颜色 headerRightNavMore */\n' +
  314. '.layui-header .layui-nav .layui-nav-more {\n' +
  315. ' border-top-color: ' + bgcolorData.headerRightNavMore + ' !important;\n' +
  316. '}\n' +
  317. '\n' +
  318. '/*头部右侧更多下拉颜色 headerRightNavMore */\n' +
  319. '.layui-header .layui-nav .layui-nav-mored, .layui-header .layui-nav-itemed > a .layui-nav-more {\n' +
  320. ' border-color: transparent transparent ' + bgcolorData.headerRightNavMore + ' !important;\n' +
  321. '}\n' +
  322. '\n' +
  323. '/**头部右侧更多下拉配置色 headerRightNavMoreBg headerRightNavMoreColor */\n' +
  324. '.layui-header .layui-nav .layui-nav-child dd.layui-this a, .layui-header .layui-nav-child dd.layui-this, .layui-layout-admin .layui-header .layui-nav .layui-nav-item .layui-nav-child .layui-this a {\n' +
  325. ' background-color: ' + bgcolorData.headerRightNavMoreBg + ' !important;\n' +
  326. ' color:' + bgcolorData.headerRightNavMoreColor + ' !important;\n' +
  327. '}\n' +
  328. '\n' +
  329. '/*头部缩放按钮样式 headerRightToolColor */\n' +
  330. '.layui-layout-admin .layui-header .layuimini-tool i {\n' +
  331. ' color: ' + bgcolorData.headerRightToolColor + ';\n' +
  332. '}\n' +
  333. '\n' +
  334. '/*logo背景颜色 headerLogoBg */\n' +
  335. '.layui-layout-admin .layuimini-logo {\n' +
  336. ' background-color: ' + bgcolorData.headerLogoBg + ' !important;\n' +
  337. '}\n' +
  338. '\n' +
  339. '/*logo字体颜色 headerLogoColor */\n' +
  340. '.layui-layout-admin .layuimini-logo h1 {\n' +
  341. ' color: ' + bgcolorData.headerLogoColor + ';\n' +
  342. '}\n' +
  343. '\n' +
  344. '/*左侧菜单更多下拉样式 leftMenuNavMore */\n' +
  345. '.layuimini-menu-left .layui-nav .layui-nav-more,.layuimini-menu-left-zoom.layui-nav .layui-nav-more {\n' +
  346. ' border-top-color: ' + bgcolorData.leftMenuNavMore + ';\n' +
  347. '}\n' +
  348. '\n' +
  349. '/*左侧菜单更多下拉样式 leftMenuNavMore */\n' +
  350. '.layuimini-menu-left .layui-nav .layui-nav-mored, .layuimini-menu-left .layui-nav-itemed > a .layui-nav-more, .layuimini-menu-left-zoom.layui-nav .layui-nav-mored, .layuimini-menu-left-zoom.layui-nav-itemed > a .layui-nav-more {\n' +
  351. ' border-color: transparent transparent ' + bgcolorData.leftMenuNavMore + ' !important;\n' +
  352. '}\n' +
  353. '\n' +
  354. '/*左侧菜单背景 leftMenuBg */\n' +
  355. '.layui-side.layui-bg-black, .layui-side.layui-bg-black > .layuimini-menu-left > ul, .layuimini-menu-left-zoom > ul {\n' +
  356. ' background-color: ' + bgcolorData.leftMenuBg + ' !important;\n' +
  357. '}\n' +
  358. '\n' +
  359. '/*左侧菜单选中背景 leftMenuBgThis */\n' +
  360. '.layuimini-menu-left .layui-nav-tree .layui-this, .layuimini-menu-left .layui-nav-tree .layui-this > a, .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this, .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this a, .layuimini-menu-left-zoom.layui-nav-tree .layui-this, .layuimini-menu-left-zoom.layui-nav-tree .layui-this > a, .layuimini-menu-left-zoom.layui-nav-tree .layui-nav-child dd.layui-this, .layuimini-menu-left-zoom.layui-nav-tree .layui-nav-child dd.layui-this a {\n' +
  361. ' background-color: ' + bgcolorData.leftMenuBgThis + ' !important\n' +
  362. '}\n' +
  363. '\n' +
  364. '/*左侧菜单子菜单背景 leftMenuChildBg */\n' +
  365. '.layuimini-menu-left .layui-nav-itemed > .layui-nav-child{\n' +
  366. ' background-color: ' + bgcolorData.leftMenuChildBg + ' !important;\n' +
  367. '}\n' +
  368. '\n' +
  369. '/*左侧菜单字体颜色 leftMenuColor */\n' +
  370. '.layuimini-menu-left .layui-nav .layui-nav-item a, .layuimini-menu-left-zoom.layui-nav .layui-nav-item a {\n' +
  371. ' color: ' + bgcolorData.leftMenuColor + ' !important;\n' +
  372. '}\n' +
  373. '\n' +
  374. '/*左侧菜单选中字体颜色 leftMenuColorThis */\n' +
  375. '.layuimini-menu-left .layui-nav .layui-nav-item a:hover, .layuimini-menu-left .layui-nav .layui-this a, .layuimini-menu-left-zoom.layui-nav .layui-nav-item a:hover, .layuimini-menu-left-zoom.layui-nav .layui-this a {\n' +
  376. ' color:' + bgcolorData.leftMenuColorThis + ' !important;\n' +
  377. '}\n' +
  378. '\n' +
  379. '/*左侧菜单悬停背景 leftMenuBgThis */\n' +
  380. '.layuimini-menu-left .layui-nav .layui-nav-item a:hover {\n' +
  381. ' background-color:' + bgcolorData.leftMenuBgThis + ' !important;\n' +
  382. '}\n' +
  383. '\n' +
  384. '/**tab选项卡选中颜色 tabActiveColor */\n' +
  385. '.layuimini-tab .layui-tab-title .layui-this .layuimini-tab-active {\n' +
  386. ' background-color: ' + bgcolorData.tabActiveColor + ';\n' +
  387. '}\n';
  388. $('#layuimini-bg-color').html(styleHtml);
  389. },
  390. /**
  391. * 构建主题选择html
  392. * @param options
  393. * @returns {string}
  394. */
  395. buildBgColorHtml: function (options) {
  396. options.bgColorDefault = options.bgColorDefault || 0;
  397. var bgcolorId = parseInt(sessionStorage.getItem('layuiminiBgcolorId'));
  398. if (isNaN(bgcolorId)) bgcolorId = options.bgColorDefault;
  399. var bgColorConfig = miniTheme.config();
  400. var html = '';
  401. $.each(bgColorConfig, function (key, val) {
  402. if (key === bgcolorId) {
  403. html += '<li class="layui-this" data-select-bgcolor="' + key + '">\n';
  404. } else {
  405. html += '<li data-select-bgcolor="' + key + '">\n';
  406. }
  407. html += '<a href="javascript:;" data-skin="skin-blue" style="" class="clearfix full-opacity-hover">\n' +
  408. '<div><span style="display:block; width: 20%; float: left; height: 12px; background: ' + val.headerLogoBg + ';"></span><span style="display:block; width: 80%; float: left; height: 12px; background: ' + val.headerRightBg + ';"></span></div>\n' +
  409. '<div><span style="display:block; width: 20%; float: left; height: 40px; background: ' + val.leftMenuBg + ';"></span><span style="display:block; width: 80%; float: left; height: 40px; background: #ffffff;"></span></div>\n' +
  410. '</a>\n' +
  411. '</li>';
  412. });
  413. return html;
  414. },
  415. /**
  416. * 监听
  417. * @param options
  418. */
  419. listen: function (options) {
  420. $('body').on('click', '[data-bgcolor]', function () {
  421. var loading = layer.load(0, { shade: false, time: 2 * 1000 });
  422. var clientHeight = (document.documentElement.clientHeight) - 60;
  423. var bgColorHtml = miniTheme.buildBgColorHtml(options);
  424. var html = '<div class="layuimini-color">\n' +
  425. '<div class="color-title">\n' +
  426. '<span>配色方案</span>\n' +
  427. '</div>\n' +
  428. '<div class="color-content">\n' +
  429. '<ul>\n' + bgColorHtml + '</ul>\n' +
  430. '</div>\n' +
  431. '<div class="more-menu-list">\n' +
  432. // '<a class="more-menu-item" href="http://layuimini.99php.cn/docs/index.html" target="_blank"><i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> 开发文档</a>\n' +
  433. // '<a class="more-menu-item" href="https://github.com/zhongshaofa/layuimini" target="_blank"><i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> 开源地址</a>\n' +
  434. // '<a class="more-menu-item" href="http://layuimini.99php.cn" target="_blank"><i class="layui-icon layui-icon-theme"></i> 官方网站</a>\n' +
  435. '</div>' +
  436. '</div>';
  437. layer.open({
  438. type: 1,
  439. title: false,
  440. closeBtn: 0,
  441. shade: 0.2,
  442. anim: 2,
  443. shadeClose: true,
  444. id: 'layuiminiBgColor',
  445. area: ['340px', clientHeight + 'px'],
  446. offset: 'rb',
  447. content: html,
  448. success: function (index, layero) {
  449. },
  450. end: function () {
  451. $('.layuimini-select-bgcolor').removeClass('layui-this');
  452. }
  453. });
  454. layer.close(loading);
  455. });
  456. $('body').on('click', '[data-select-bgcolor]', function () {
  457. var bgcolorId = $(this).attr('data-select-bgcolor');
  458. $('.layuimini-color .color-content ul .layui-this').attr('class', '');
  459. $(this).attr('class', 'layui-this');
  460. sessionStorage.setItem('layuiminiBgcolorId', bgcolorId);
  461. miniTheme.render({
  462. bgColorDefault: bgcolorId,
  463. listen: false,
  464. });
  465. });
  466. }
  467. };
  468. exports("miniTheme", miniTheme);
  469. })
  470. ;