3.0.3.RELEASE
parent
85bd06ea72
commit
1586fffb26
|
|
@ -12,12 +12,14 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
var bodyFrame;
|
var bodyFrame;
|
||||||
var sideMenu;
|
var sideMenu;
|
||||||
var bodyTab;
|
var bodyTab;
|
||||||
|
var config;
|
||||||
|
|
||||||
var pearAdmin = new function() {
|
var pearAdmin = new function() {
|
||||||
this.render = function(option) {
|
this.render = function() {
|
||||||
readConfig().then(function(param) {
|
readConfig().then(function(param) {
|
||||||
|
config = param;
|
||||||
pearAdmin.logoRender(param);
|
pearAdmin.logoRender(param);
|
||||||
pearAdmin.menuRender(param,option);
|
pearAdmin.menuRender(param);
|
||||||
pearAdmin.bodyRender(param);
|
pearAdmin.bodyRender(param);
|
||||||
pearAdmin.themeRender(param);
|
pearAdmin.themeRender(param);
|
||||||
pearAdmin.keepLoad(param);
|
pearAdmin.keepLoad(param);
|
||||||
|
|
@ -29,7 +31,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
$(".layui-logo .title").html(param.logo.title);
|
$(".layui-logo .title").html(param.logo.title);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.menuRender = function(param,option) {
|
this.menuRender = function(param) {
|
||||||
sideMenu = pearMenu.render({
|
sideMenu = pearMenu.render({
|
||||||
elem: 'sideMenu',
|
elem: 'sideMenu',
|
||||||
async: true,
|
async: true,
|
||||||
|
|
@ -38,13 +40,15 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
control: param.menu.control ? 'control' : false, // control
|
control: param.menu.control ? 'control' : false, // control
|
||||||
defaultMenu: 0,
|
defaultMenu: 0,
|
||||||
accordion: param.menu.accordion,
|
accordion: param.menu.accordion,
|
||||||
url: param.menu.data+"?currentUser="+option.currentUser,
|
url: param.menu.data,
|
||||||
parseData: false,
|
parseData: false,
|
||||||
change: function() {
|
change: function() {
|
||||||
compatible();
|
compatible();
|
||||||
|
},
|
||||||
|
done() {
|
||||||
|
sideMenu.selectItem(param.menu.select);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
sideMenu.selectItem(param.menu.select);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.bodyRender = function(param) {
|
this.bodyRender = function(param) {
|
||||||
|
|
@ -142,8 +146,6 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
}
|
}
|
||||||
var colorId = localStorage.getItem("theme-color");
|
var colorId = localStorage.getItem("theme-color");
|
||||||
var menu = localStorage.getItem("theme-menu");
|
var menu = localStorage.getItem("theme-menu");
|
||||||
console.log("主题标识:"+colorId);
|
|
||||||
console.log("菜单主题:"+menu);
|
|
||||||
var color = getColorById(colorId);
|
var color = getColorById(colorId);
|
||||||
if (menu == "null") {
|
if (menu == "null") {
|
||||||
menu = option.theme.defaultMenu;
|
menu = option.theme.defaultMenu;
|
||||||
|
|
@ -240,7 +242,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
});
|
});
|
||||||
|
|
||||||
$("body").on("click", '[user-menu-id]', function() {
|
$("body").on("click", '[user-menu-id]', function() {
|
||||||
if(getData().tab.muiltTab){
|
if (config.tab.muiltTab) {
|
||||||
bodyTab.addTabOnly({
|
bodyTab.addTabOnly({
|
||||||
id: $(this).attr("user-menu-id"),
|
id: $(this).attr("user-menu-id"),
|
||||||
title: $(this).attr("user-menu-title"),
|
title: $(this).attr("user-menu-title"),
|
||||||
|
|
@ -293,6 +295,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
content: html + buildColorHtml() + buildLinkHtml(),
|
content: html + buildColorHtml() + buildLinkHtml(),
|
||||||
success: function(layero, index) {
|
success: function(layero, index) {
|
||||||
form.render();
|
form.render();
|
||||||
|
|
||||||
var color = localStorage.getItem("theme-color");
|
var color = localStorage.getItem("theme-color");
|
||||||
var menu = localStorage.getItem("theme-menu");
|
var menu = localStorage.getItem("theme-menu");
|
||||||
|
|
||||||
|
|
@ -335,16 +338,6 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
pearAdmin.colorSet(color.color);
|
pearAdmin.colorSet(color.color);
|
||||||
});
|
});
|
||||||
|
|
||||||
function getData() {
|
|
||||||
$.ajaxSettings.async = false;
|
|
||||||
var data = null;
|
|
||||||
$.getJSON("pear.config.json?fresh=" + Math.random(), function(result) {
|
|
||||||
data = result;
|
|
||||||
});
|
|
||||||
$.ajaxSettings.async = true;
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function readConfig() {
|
function readConfig() {
|
||||||
var defer = $.Deferred();
|
var defer = $.Deferred();
|
||||||
$.getJSON("pear.config.json?fresh=" + Math.random(), function(result) {
|
$.getJSON("pear.config.json?fresh=" + Math.random(), function(result) {
|
||||||
|
|
@ -356,16 +349,15 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
function getColorById(id) {
|
function getColorById(id) {
|
||||||
var color;
|
var color;
|
||||||
var flag = false;
|
var flag = false;
|
||||||
var data = getData();
|
$.each(config.colors, function(i, value) {
|
||||||
$.each(data.colors, function(i, value) {
|
|
||||||
if (value.id == id) {
|
if (value.id == id) {
|
||||||
color = value;
|
color = value;
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (flag == false || data.theme.allowCustom == false) {
|
if (flag == false || config.theme.allowCustom == false) {
|
||||||
$.each(data.colors, function(i, value) {
|
$.each(config.colors, function(i, value) {
|
||||||
if (value.id == data.theme.defaultColor) {
|
if (value.id == config.theme.defaultColor) {
|
||||||
color = value;
|
color = value;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -375,7 +367,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
|
|
||||||
function buildLinkHtml() {
|
function buildLinkHtml() {
|
||||||
var links = "";
|
var links = "";
|
||||||
$.each(getData().links, function(i, value) {
|
$.each(config.links, function(i, value) {
|
||||||
links += '<a class="more-menu-item" href="' + value.href + '" target="_blank">' +
|
links += '<a class="more-menu-item" href="' + value.href + '" target="_blank">' +
|
||||||
'<i class="' + value.icon + '" style="font-size: 19px;"></i> ' + value.title +
|
'<i class="' + value.icon + '" style="font-size: 19px;"></i> ' + value.title +
|
||||||
'</a>'
|
'</a>'
|
||||||
|
|
@ -385,7 +377,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
|
|
||||||
function buildColorHtml() {
|
function buildColorHtml() {
|
||||||
var colors = "";
|
var colors = "";
|
||||||
$.each(getData().colors, function(i, value) {
|
$.each(config.colors, function(i, value) {
|
||||||
colors += "<span class='select-color-item' color-id='" + value.id + "' style='background-color:" + value.color +
|
colors += "<span class='select-color-item' color-id='" + value.id + "' style='background-color:" + value.color +
|
||||||
";'></span>";
|
";'></span>";
|
||||||
})
|
})
|
||||||
|
|
@ -443,4 +435,3 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
||||||
|
|
||||||
exports('admin', pearAdmin);
|
exports('admin', pearAdmin);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -1,9 +1,3 @@
|
||||||
/**
|
|
||||||
* Layui图标选择器
|
|
||||||
* @author wujiawei0926@yeah.net
|
|
||||||
* @version 1.1
|
|
||||||
*/
|
|
||||||
|
|
||||||
layui.define(['laypage', 'form'], function (exports) {
|
layui.define(['laypage', 'form'], function (exports) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
@ -17,9 +11,6 @@ layui.define(['laypage', 'form'], function (exports) {
|
||||||
BODY = 'body',
|
BODY = 'body',
|
||||||
TIPS = '请选择图标';
|
TIPS = '请选择图标';
|
||||||
|
|
||||||
/**
|
|
||||||
* 渲染组件
|
|
||||||
*/
|
|
||||||
IconPicker.prototype.render = function(options){
|
IconPicker.prototype.render = function(options){
|
||||||
var opts = options,
|
var opts = options,
|
||||||
// DOM选择器
|
// DOM选择器
|
||||||
|
|
|
||||||
|
|
@ -25,22 +25,18 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
||||||
theme: opt.theme,
|
theme: opt.theme,
|
||||||
data: opt.data ? opt.data : [],
|
data: opt.data ? opt.data : [],
|
||||||
change: opt.change ? opt.change : function() {
|
change: opt.change ? opt.change : function() {
|
||||||
console.log("切换")
|
|
||||||
},
|
},
|
||||||
done: opt.done ? opt.done : function() {}
|
done: opt.done ? opt.done : function() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根 据 请 求 方 式 获 取 数 据
|
|
||||||
if (option.async) {
|
if (option.async) {
|
||||||
option.data = getData(option.url);
|
getData(option.url).then(function(data){
|
||||||
|
option.data = data;
|
||||||
if (option.parseData != false) {
|
if (option.parseData != false) {
|
||||||
option.parseData(option.data);
|
option.parseData(option.data);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (option.data.length > 0) {
|
if (option.data.length > 0) {
|
||||||
if (option.control != false) {
|
if (option.control != false) {
|
||||||
|
|
||||||
createMenuAndControl(option);
|
createMenuAndControl(option);
|
||||||
} else {
|
} else {
|
||||||
createMenu(option);
|
createMenu(option);
|
||||||
|
|
@ -49,13 +45,15 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
||||||
element.init();
|
element.init();
|
||||||
downShow(option);
|
downShow(option);
|
||||||
option.done();
|
option.done();
|
||||||
return new pearMenu(option);
|
});
|
||||||
|
}
|
||||||
|
return new pearMenu(opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
pearMenu.prototype.click = function(clickEvent) {
|
pearMenu.prototype.click = function(clickEvent) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
$("#" + _this.option.elem + " .site-demo-active").parent().click(function() {
|
$("body").on("click","#" + _this.option.elem + " .site-demo-active",function(){
|
||||||
var dom = $(this).children(".site-demo-active");
|
var dom = $(this);
|
||||||
var data = {
|
var data = {
|
||||||
menuId: dom.attr("menu-id"),
|
menuId: dom.attr("menu-id"),
|
||||||
menuTitle: dom.attr("menu-title"),
|
menuTitle: dom.attr("menu-title"),
|
||||||
|
|
@ -76,7 +74,7 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
||||||
data['menuPath'] = domsss.find("span").text() + " / " + data['menuPath'];
|
data['menuPath'] = domsss.find("span").text() + " / " + data['menuPath'];
|
||||||
}
|
}
|
||||||
clickEvent(dom, data);
|
clickEvent(dom, data);
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function hash(dom) {
|
function hash(dom) {
|
||||||
|
|
@ -91,7 +89,6 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
||||||
}
|
}
|
||||||
|
|
||||||
pearMenu.prototype.selectItem = function(pearId) {
|
pearMenu.prototype.selectItem = function(pearId) {
|
||||||
|
|
||||||
if (this.option.control != false) {
|
if (this.option.control != false) {
|
||||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-side-scroll ").find("ul").css({
|
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-side-scroll ").find("ul").css({
|
||||||
display: "none"
|
display: "none"
|
||||||
|
|
@ -145,18 +142,14 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 同 步 请 求 获 取 数 据 */
|
|
||||||
function getData(url){
|
function getData(url){
|
||||||
$.ajaxSettings.async = false;
|
var defer = $.Deferred();
|
||||||
var data = null;
|
$.get(url+"?fresh=" + Math.random(), function(result) {
|
||||||
$.get(url+"&fresh=" + Math.random(), function(result) {
|
defer.resolve(result)
|
||||||
data = result;
|
|
||||||
});
|
});
|
||||||
$.ajaxSettings.async = true;
|
return defer.promise();
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function createMenu(option) {
|
function createMenu(option) {
|
||||||
var menuHtml = '<ul lay-filter="' + option.elem +
|
var menuHtml = '<ul lay-filter="' + option.elem +
|
||||||
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree">'
|
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree">'
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,14 @@
|
||||||
"data": "admin/data/menu.json",
|
"data": "admin/data/menu.json",
|
||||||
"accordion": true,
|
"accordion": true,
|
||||||
"control": false,
|
"control": false,
|
||||||
"select": "0"
|
"select": "10"
|
||||||
},
|
},
|
||||||
"tab": {
|
"tab": {
|
||||||
"muiltTab": true,
|
"muiltTab": true,
|
||||||
"keepState": true,
|
"keepState": true,
|
||||||
"tabMax": 30,
|
"tabMax": 30,
|
||||||
"index": {
|
"index": {
|
||||||
"id": "0",
|
"id": "10",
|
||||||
"href": "view/console/console1.html",
|
"href": "view/console/console1.html",
|
||||||
"title": "首页"
|
"title": "首页"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
|
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
|
||||||
<link rel="stylesheet" href="../../admin/css/other/icon.css">
|
<link rel="stylesheet" href="../../admin/css/other/icon.css">
|
||||||
<link rel="stylesheet" href="../../component/pear/css/pear.css" />
|
<link rel="stylesheet" href="../../component/pear/css/pear.css" />
|
||||||
<script src="iconfont.js"></script>
|
|
||||||
<!-- jQuery -->
|
<!-- jQuery -->
|
||||||
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
|
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
|
||||||
<!-- 代码高亮 -->
|
<!-- 代码高亮 -->
|
||||||
|
|
|
||||||
|
|
@ -208,6 +208,7 @@
|
||||||
<script src="../../component/pear/pear.js"></script>
|
<script src="../../component/pear/pear.js"></script>
|
||||||
<script>
|
<script>
|
||||||
layui.use(['select','code','element'], function() {
|
layui.use(['select','code','element'], function() {
|
||||||
|
let select = layui.select;
|
||||||
|
|
||||||
layui.code();
|
layui.code();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue