3.0.3.RELEASE
parent
85bd06ea72
commit
1586fffb26
|
|
@ -12,24 +12,26 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
var bodyFrame;
|
||||
var sideMenu;
|
||||
var bodyTab;
|
||||
var config;
|
||||
|
||||
var pearAdmin = new function() {
|
||||
this.render = function(option) {
|
||||
readConfig().then(function(param){
|
||||
this.render = function() {
|
||||
readConfig().then(function(param) {
|
||||
config = param;
|
||||
pearAdmin.logoRender(param);
|
||||
pearAdmin.menuRender(param,option);
|
||||
pearAdmin.menuRender(param);
|
||||
pearAdmin.bodyRender(param);
|
||||
pearAdmin.themeRender(param);
|
||||
pearAdmin.keepLoad(param);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
this.logoRender = function(param) {
|
||||
$(".layui-logo .logo").attr("src", param.logo.image);
|
||||
$(".layui-logo .title").html(param.logo.title);
|
||||
}
|
||||
|
||||
this.menuRender = function(param,option) {
|
||||
|
||||
this.menuRender = function(param) {
|
||||
sideMenu = pearMenu.render({
|
||||
elem: 'sideMenu',
|
||||
async: true,
|
||||
|
|
@ -38,15 +40,17 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
control: param.menu.control ? 'control' : false, // control
|
||||
defaultMenu: 0,
|
||||
accordion: param.menu.accordion,
|
||||
url: param.menu.data+"?currentUser="+option.currentUser,
|
||||
url: param.menu.data,
|
||||
parseData: false,
|
||||
change:function(){
|
||||
change: function() {
|
||||
compatible();
|
||||
},
|
||||
done() {
|
||||
sideMenu.selectItem(param.menu.select);
|
||||
}
|
||||
})
|
||||
sideMenu.selectItem(param.menu.select);
|
||||
}
|
||||
|
||||
|
||||
this.bodyRender = function(param) {
|
||||
if (param.tab.muiltTab) {
|
||||
bodyTab = pearTab.render({
|
||||
|
|
@ -68,8 +72,8 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
}]
|
||||
});
|
||||
bodyTab.click(function(id) {
|
||||
if(!param.tab.keepState){
|
||||
bodyTab.refresh(false);
|
||||
if (!param.tab.keepState) {
|
||||
bodyTab.refresh(false);
|
||||
}
|
||||
bodyTab.positionTab();
|
||||
sideMenu.selectItem(id);
|
||||
|
|
@ -128,22 +132,20 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.keepLoad = function(param) {
|
||||
compatible()
|
||||
setTimeout(function() {
|
||||
$(".loader-main").fadeOut(200);
|
||||
}, param.other.keepLoad)
|
||||
}
|
||||
|
||||
|
||||
this.themeRender = function(option) {
|
||||
if (option.theme.allowCustom == false) {
|
||||
$(".setting").remove();
|
||||
}
|
||||
var colorId = localStorage.getItem("theme-color");
|
||||
var menu = localStorage.getItem("theme-menu");
|
||||
console.log("主题标识:"+colorId);
|
||||
console.log("菜单主题:"+menu);
|
||||
var color = getColorById(colorId);
|
||||
if (menu == "null") {
|
||||
menu = option.theme.defaultMenu;
|
||||
|
|
@ -157,13 +159,13 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
this.colorSet(color.color);
|
||||
this.menuSkin(menu);
|
||||
}
|
||||
|
||||
|
||||
this.menuSkin = function(theme) {
|
||||
$(".pear-admin").removeClass("light-theme");
|
||||
$(".pear-admin").removeClass("dark-theme");
|
||||
$(".pear-admin").addClass(theme);
|
||||
}
|
||||
|
||||
|
||||
this.colorSet = function(color) {
|
||||
var style = '';
|
||||
// 自 定 义 菜 单 配 色
|
||||
|
|
@ -238,9 +240,9 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
});
|
||||
}
|
||||
});
|
||||
|
||||
$("body").on("click",'[user-menu-id]',function(){
|
||||
if(getData().tab.muiltTab){
|
||||
|
||||
$("body").on("click", '[user-menu-id]', function() {
|
||||
if (config.tab.muiltTab) {
|
||||
bodyTab.addTabOnly({
|
||||
id: $(this).attr("user-menu-id"),
|
||||
title: $(this).attr("user-menu-title"),
|
||||
|
|
@ -248,7 +250,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
icon: "",
|
||||
close: true
|
||||
}, 300);
|
||||
}else{
|
||||
} else {
|
||||
bodyFrame.changePage($(this).attr("user-menu-url"), "", true);
|
||||
}
|
||||
})
|
||||
|
|
@ -278,7 +280,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
'<ul>\n' + bgColorHtml + '</ul>\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
|
||||
|
||||
layer.open({
|
||||
type: 1,
|
||||
offset: 'r',
|
||||
|
|
@ -293,6 +295,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
content: html + buildColorHtml() + buildLinkHtml(),
|
||||
success: function(layero, index) {
|
||||
form.render();
|
||||
|
||||
var color = localStorage.getItem("theme-color");
|
||||
var menu = localStorage.getItem("theme-menu");
|
||||
|
||||
|
|
@ -317,7 +320,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
$('body').on('click', '[data-select-bgcolor]', function() {
|
||||
var theme = $(this).attr('data-select-bgcolor');
|
||||
$('[data-select-bgcolor]').removeClass("layui-this");
|
||||
|
|
@ -325,7 +328,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
localStorage.setItem("theme-menu", theme);
|
||||
pearAdmin.menuSkin(theme);
|
||||
});
|
||||
|
||||
|
||||
$('body').on('click', '.select-color-item', function() {
|
||||
$(".select-color-item").removeClass("layui-icon").removeClass("layui-icon-ok");
|
||||
$(this).addClass("layui-icon").addClass("layui-icon-ok");
|
||||
|
|
@ -334,38 +337,27 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
var color = getColorById(colorId);
|
||||
pearAdmin.colorSet(color.color);
|
||||
});
|
||||
|
||||
function getData() {
|
||||
$.ajaxSettings.async = false;
|
||||
var data = null;
|
||||
|
||||
function readConfig() {
|
||||
var defer = $.Deferred();
|
||||
$.getJSON("pear.config.json?fresh=" + Math.random(), function(result) {
|
||||
data = result;
|
||||
defer.resolve(result)
|
||||
});
|
||||
$.ajaxSettings.async = true;
|
||||
return data;
|
||||
}
|
||||
|
||||
function readConfig(){
|
||||
var defer = $.Deferred();
|
||||
$.getJSON("pear.config.json?fresh=" + Math.random(), function(result) {
|
||||
defer.resolve(result)
|
||||
});
|
||||
return defer.promise();
|
||||
return defer.promise();
|
||||
}
|
||||
|
||||
function getColorById(id) {
|
||||
var color;
|
||||
var flag = false;
|
||||
var data = getData();
|
||||
$.each(data.colors, function(i, value) {
|
||||
$.each(config.colors, function(i, value) {
|
||||
if (value.id == id) {
|
||||
color = value;
|
||||
flag = true;
|
||||
}
|
||||
})
|
||||
if (flag == false || data.theme.allowCustom == false) {
|
||||
$.each(data.colors, function(i, value) {
|
||||
if (value.id == data.theme.defaultColor) {
|
||||
if (flag == false || config.theme.allowCustom == false) {
|
||||
$.each(config.colors, function(i, value) {
|
||||
if (value.id == config.theme.defaultColor) {
|
||||
color = value;
|
||||
}
|
||||
})
|
||||
|
|
@ -375,7 +367,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
|
||||
function buildLinkHtml() {
|
||||
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">' +
|
||||
'<i class="' + value.icon + '" style="font-size: 19px;"></i> ' + value.title +
|
||||
'</a>'
|
||||
|
|
@ -385,14 +377,14 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
|
||||
function buildColorHtml() {
|
||||
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 +
|
||||
";'></span>";
|
||||
})
|
||||
return "<div class='select-color'><div class='select-color-title'>主题色</div><div class='select-color-content'>" +
|
||||
colors + "</div></div>"
|
||||
}
|
||||
|
||||
|
||||
function compatible() {
|
||||
if ($(window).width() <= 768) {
|
||||
sideMenu.collaspe();
|
||||
|
|
@ -407,7 +399,7 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function screenFun(num) {
|
||||
num = num || 1;
|
||||
num = num * 1;
|
||||
|
|
@ -440,7 +432,6 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
res("返回值");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
exports('admin', pearAdmin);
|
||||
})
|
||||
|
||||
|
|
@ -1,9 +1,3 @@
|
|||
/**
|
||||
* Layui图标选择器
|
||||
* @author wujiawei0926@yeah.net
|
||||
* @version 1.1
|
||||
*/
|
||||
|
||||
layui.define(['laypage', 'form'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
|
|
@ -17,9 +11,6 @@ layui.define(['laypage', 'form'], function (exports) {
|
|||
BODY = 'body',
|
||||
TIPS = '请选择图标';
|
||||
|
||||
/**
|
||||
* 渲染组件
|
||||
*/
|
||||
IconPicker.prototype.render = function(options){
|
||||
var opts = options,
|
||||
// DOM选择器
|
||||
|
|
|
|||
|
|
@ -25,58 +25,56 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
theme: opt.theme,
|
||||
data: opt.data ? opt.data : [],
|
||||
change: opt.change ? opt.change : function() {
|
||||
console.log("切换")
|
||||
},
|
||||
done: opt.done ? opt.done : function() {}
|
||||
}
|
||||
|
||||
// 根 据 请 求 方 式 获 取 数 据
|
||||
if (option.async) {
|
||||
option.data = getData(option.url);
|
||||
if (option.parseData != false) {
|
||||
option.parseData(option.data);
|
||||
}
|
||||
getData(option.url).then(function(data){
|
||||
option.data = data;
|
||||
if (option.parseData != false) {
|
||||
option.parseData(option.data);
|
||||
}
|
||||
if (option.data.length > 0) {
|
||||
if (option.control != false) {
|
||||
createMenuAndControl(option);
|
||||
} else {
|
||||
createMenu(option);
|
||||
}
|
||||
}
|
||||
element.init();
|
||||
downShow(option);
|
||||
option.done();
|
||||
});
|
||||
}
|
||||
|
||||
if (option.data.length > 0) {
|
||||
if (option.control != false) {
|
||||
|
||||
createMenuAndControl(option);
|
||||
} else {
|
||||
createMenu(option);
|
||||
}
|
||||
}
|
||||
element.init();
|
||||
downShow(option);
|
||||
option.done();
|
||||
return new pearMenu(option);
|
||||
return new pearMenu(opt);
|
||||
}
|
||||
|
||||
pearMenu.prototype.click = function(clickEvent) {
|
||||
var _this = this;
|
||||
$("#" + _this.option.elem + " .site-demo-active").parent().click(function() {
|
||||
var dom = $(this).children(".site-demo-active");
|
||||
var data = {
|
||||
menuId: dom.attr("menu-id"),
|
||||
menuTitle: dom.attr("menu-title"),
|
||||
menuPath: dom.attr("menu-title"),
|
||||
menuIcon: dom.attr("menu-icon"),
|
||||
menuUrl: dom.attr("menu-url")
|
||||
};
|
||||
var doms = hash(dom);
|
||||
if (doms.text() != '') {
|
||||
data['menuPath'] = doms.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
var domss = hash(doms);
|
||||
if (domss.text() != '') {
|
||||
data['menuPath'] = domss.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
var domsss = hash(domss);
|
||||
if (domsss.text() != '') {
|
||||
data['menuPath'] = domsss.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
clickEvent(dom, data);
|
||||
});
|
||||
$("body").on("click","#" + _this.option.elem + " .site-demo-active",function(){
|
||||
var dom = $(this);
|
||||
var data = {
|
||||
menuId: dom.attr("menu-id"),
|
||||
menuTitle: dom.attr("menu-title"),
|
||||
menuPath: dom.attr("menu-title"),
|
||||
menuIcon: dom.attr("menu-icon"),
|
||||
menuUrl: dom.attr("menu-url")
|
||||
};
|
||||
var doms = hash(dom);
|
||||
if (doms.text() != '') {
|
||||
data['menuPath'] = doms.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
var domss = hash(doms);
|
||||
if (domss.text() != '') {
|
||||
data['menuPath'] = domss.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
var domsss = hash(domss);
|
||||
if (domsss.text() != '') {
|
||||
data['menuPath'] = domsss.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
clickEvent(dom, data);
|
||||
})
|
||||
}
|
||||
|
||||
function hash(dom) {
|
||||
|
|
@ -91,7 +89,6 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
}
|
||||
|
||||
pearMenu.prototype.selectItem = function(pearId) {
|
||||
|
||||
if (this.option.control != false) {
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-side-scroll ").find("ul").css({
|
||||
display: "none"
|
||||
|
|
@ -144,19 +141,15 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
/** 同 步 请 求 获 取 数 据 */
|
||||
function getData(url) {
|
||||
$.ajaxSettings.async = false;
|
||||
var data = null;
|
||||
$.get(url+"&fresh=" + Math.random(), function(result) {
|
||||
data = result;
|
||||
|
||||
function getData(url){
|
||||
var defer = $.Deferred();
|
||||
$.get(url+"?fresh=" + Math.random(), function(result) {
|
||||
defer.resolve(result)
|
||||
});
|
||||
$.ajaxSettings.async = true;
|
||||
return data;
|
||||
return defer.promise();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function createMenu(option) {
|
||||
var menuHtml = '<ul lay-filter="' + option.elem +
|
||||
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree">'
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@
|
|||
"data": "admin/data/menu.json",
|
||||
"accordion": true,
|
||||
"control": false,
|
||||
"select": "0"
|
||||
"select": "10"
|
||||
},
|
||||
"tab": {
|
||||
"muiltTab": true,
|
||||
"keepState": true,
|
||||
"tabMax": 30,
|
||||
"index": {
|
||||
"id": "0",
|
||||
"id": "10",
|
||||
"href": "view/console/console1.html",
|
||||
"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="../../admin/css/other/icon.css">
|
||||
<link rel="stylesheet" href="../../component/pear/css/pear.css" />
|
||||
<script src="iconfont.js"></script>
|
||||
<!-- jQuery -->
|
||||
<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>
|
||||
layui.use(['select','code','element'], function() {
|
||||
let select = layui.select;
|
||||
|
||||
layui.code();
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue