/** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */
|
;layui.define("view", function (e) {
|
var a = layui.jquery, i = layui.laytpl, t = layui.element, l = layui.setter, n = layui.view, s = layui.device(),
|
r = a(window), o = a("body"), u = a("#" + l.container), d = "layui-show", c = "layui-hide", y = "layui-this",
|
f = "layui-disabled", h = "#LAY_app_body", m = "LAY_app_flexible", p = "layadmin-layout-tabs",
|
v = "layadmin-side-spread-sm", b = "layadmin-tabsbody-item", g = "layui-icon-shrink-right",
|
x = "layui-icon-spread-left", C = "layadmin-side-shrink", k = "LAY-system-side-menu", F = {
|
v: "1.0.0 std", req: n.req, sendAuthCode: function (e) {
|
e = a.extend({seconds: 60, elemPhone: "#LAY_phone", elemVercode: "#LAY_vercode"}, e);
|
var i, t = e.seconds, l = a(e.elem), n = function (a) {
|
t--, t < 0 ? (l.removeClass(f).html("获取验证码"), t = e.seconds, clearInterval(i)) : l.addClass(f).html(t + "秒后重获"), a || (i = setInterval(function () {
|
n(!0)
|
}, 1e3))
|
};
|
e.elemPhone = a(e.elemPhone), e.elemVercode = a(e.elemVercode), l.on("click", function () {
|
var i = e.elemPhone, l = i.val();
|
if (t === e.seconds && !a(this).hasClass(f)) {
|
if (!/^1\d{10}$/.test(l)) return i.focus(), layer.msg("请输入正确的手机号");
|
if ("object" == typeof e.ajax) {
|
var s = e.ajax.success;
|
delete e.ajax.success
|
}
|
F.req(a.extend(!0, {
|
url: "/auth/code", type: "get", data: {phone: l}, success: function (a) {
|
layer.msg("验证码已发送至你的手机,请注意查收", {icon: 1, shade: 0}), e.elemVercode.focus(), n(), s && s(a)
|
}
|
}, e.ajax))
|
}
|
})
|
}, screen: function () {
|
var e = r.width();
|
return e >= 1200 ? 3 : e >= 992 ? 2 : e >= 768 ? 1 : 0
|
}, exit: n.exit, sideFlexible: function (e) {
|
var i = u, t = a("#" + m), n = F.screen();
|
"spread" === e ? (t.removeClass(x).addClass(g), n < 2 ? i.addClass(v) : i.removeClass(v), i.removeClass(C)) : (t.removeClass(g).addClass(x), n < 2 ? i.removeClass(C) : i.addClass(C), i.removeClass(v)), layui.event.call(this, l.MOD_NAME, "side({*})", {status: e})
|
}, escape: function (e) {
|
return String(e || "").replace(/&(?!#?[a-zA-Z0-9]+;)/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/'/g, "'").replace(/"/g, """)
|
}, on: function (e, a) {
|
return layui.onevent.call(this, l.MOD_NAME, e, a)
|
}, popup: n.popup, popupRight: function (e) {
|
return F.popup.index = layer.open(a.extend({
|
type: 1,
|
id: "LAY_adminPopupR",
|
anim: -1,
|
title: !1,
|
closeBtn: !1,
|
offset: "r",
|
shade: .1,
|
shadeClose: !0,
|
skin: "layui-anim layui-anim-rl layui-layer-adminRight",
|
area: "300px"
|
}, e))
|
}, theme: function (e) {
|
var t = (l.theme, layui.data(l.tableName)), n = "LAY_layadmin_theme", s = document.createElement("style"),
|
r = i([".layui-side-menu,", ".layadmin-pagetabs .layui-tab-title li:after,", ".layadmin-pagetabs .layui-tab-title li.layui-this:after,", ".layui-layer-admin .layui-layer-title,", ".layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>.layui-nav-child", "{background-color:{{d.color.main}} !important;}", ".layui-nav-tree .layui-this,", ".layui-nav-tree .layui-this>a,", ".layui-nav-tree .layui-nav-child dd.layui-this,", ".layui-nav-tree .layui-nav-child dd.layui-this a", "{background-color:{{d.color.selected}} !important;}", ".layui-layout-admin .layui-logo{background-color:{{d.color.logo || d.color.main}} !important;}", "{{# if(d.color.header){ }}", ".layui-layout-admin .layui-header{background-color:{{ d.color.header }};}", ".layui-layout-admin .layui-header a,", ".layui-layout-admin .layui-header a cite{color: #f8f8f8;}", ".layui-layout-admin .layui-header a:hover{color: #fff;}", ".layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-top-color: #fbfbfb;}", ".layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color: transparent; border-bottom-color: #fbfbfb;}", ".layui-layout-admin .layui-header .layui-nav .layui-this:after, .layui-layout-admin .layui-header .layui-nav-bar{background-color: #fff; background-color: rgba(255,255,255,.5);}", ".layadmin-pagetabs .layui-tab-title li:after{display: none;}", "{{# } }}"].join("")).render(e = a.extend({}, t.theme, e)),
|
u = document.getElementById(n);
|
"styleSheet" in s ? (s.setAttribute("type", "text/css"), s.styleSheet.cssText = r) : s.innerHTML = r, s.id = n, u && o[0].removeChild(u), o[0].appendChild(s), o.attr("layadmin-themealias", e.color.alias), t.theme = t.theme || {}, layui.each(e, function (e, a) {
|
t.theme[e] = a
|
}), layui.data(l.tableName, {key: "theme", value: t.theme})
|
}, initTheme: function (e) {
|
var a = l.theme;
|
e = e || 0, a.color[e] && (a.color[e].index = e, F.theme({color: a.color[e]}))
|
}, tabsPage: {}, tabsBody: function (e) {
|
return a(h).find("." + b).eq(e || 0)
|
}, tabsBodyChange: function (e, a) {
|
a = a || {}, F.tabsBody(e).addClass(d).siblings().removeClass(d), P.rollPage("auto", e), layui.event.call(this, l.MOD_NAME, "tabsPage({*})", {
|
url: a.url,
|
text: a.text
|
})
|
}, resize: function (e) {
|
var a = layui.router(), i = a.path.join("-");
|
r.off("resize", F.resizeFn[i]), e(), F.resizeFn[i] = e, r.on("resize", F.resizeFn[i])
|
}, resizeFn: {}, runResize: function () {
|
var e = layui.router(), a = e.path.join("-");
|
F.resizeFn[a] && F.resizeFn[a]()
|
}, delResize: function () {
|
var e = layui.router(), a = e.path.join("-");
|
r.off("resize", F.resizeFn[a]), delete F.resizeFn[a]
|
}, closeThisTabs: function () {
|
F.tabsPage.index && a(z).eq(F.tabsPage.index).find(".layui-tab-close").trigger("click")
|
}
|
}, P = F.events = {
|
flexible: function (e) {
|
var a = e.find("#" + m), i = a.hasClass(x);
|
F.sideFlexible(i ? "spread" : null)
|
}, refresh: function () {
|
var e = ".layadmin-iframe", i = a("." + b).length;
|
F.tabsPage.index >= i && (F.tabsPage.index = i - 1);
|
var t = F.tabsBody(F.tabsPage.index).find(e);
|
t[0].contentWindow.location.reload(!0)
|
}, serach: function (e) {
|
e.off("keypress").on("keypress", function (a) {
|
if (this.value.replace(/\s/g, "") && 13 === a.keyCode) {
|
var i = e.attr("lay-action"), t = e.attr("lay-text") || "搜索";
|
i += this.value, t = t + ' <span style="color: #FF5722;">' + F.escape(this.value) + "</span>", layui.index.openTabsPage(i, t), P.serach.keys || (P.serach.keys = {}), P.serach.keys[F.tabsPage.index] = this.value, this.value === P.serach.keys[F.tabsPage.index] && P.refresh(e), this.value = ""
|
}
|
})
|
}, message: function (e) {
|
e.find(".layui-badge-dot").remove()
|
}, theme: function () {
|
F.popupRight({
|
id: "LAY_adminPopupTheme", success: function () {
|
n(this.id).render("system/theme")
|
}
|
})
|
}, note: function (e) {
|
var a = F.screen() < 2, i = layui.data(l.tableName).note;
|
P.note.index = F.popup({
|
title: "便签",
|
shade: 0,
|
offset: ["41px", a ? null : e.offset().left - 250 + "px"],
|
anim: -1,
|
id: "LAY_adminNote",
|
skin: "layadmin-note layui-anim layui-anim-upbit",
|
content: '<textarea placeholder="内容"></textarea>',
|
resize: !1,
|
success: function (e, a) {
|
var t = e.find("textarea"),
|
n = void 0 === i ? "便签中的内容会存储在本地,这样即便你关掉了浏览器,在下次打开时,依然会读取到上一次的记录。是个非常小巧实用的本地备忘录" : i;
|
t.val(n).focus().on("keyup", function () {
|
layui.data(l.tableName, {key: "note", value: this.value})
|
})
|
}
|
})
|
}, fullscreen: function (e) {
|
var a = "layui-icon-screen-full", i = "layui-icon-screen-restore", t = e.children("i");
|
if (t.hasClass(a)) {
|
var l = document.body;
|
l.webkitRequestFullScreen ? l.webkitRequestFullScreen() : l.mozRequestFullScreen ? l.mozRequestFullScreen() : l.requestFullScreen && l.requestFullscreen(), t.addClass(i).removeClass(a)
|
} else {
|
var l = document;
|
l.webkitCancelFullScreen ? l.webkitCancelFullScreen() : l.mozCancelFullScreen ? l.mozCancelFullScreen() : l.cancelFullScreen ? l.cancelFullScreen() : l.exitFullscreen && l.exitFullscreen(), t.addClass(a).removeClass(i)
|
}
|
}, about: function () {
|
F.popupRight({
|
id: "LAY_adminPopupAbout", success: function () {
|
n(this.id).render("system/about")
|
}
|
})
|
}, more: function () {
|
F.popupRight({
|
id: "LAY_adminPopupMore", success: function () {
|
n(this.id).render("system/more")
|
}
|
})
|
}, back: function () {
|
history.back()
|
}, setTheme: function (e) {
|
var a = e.data("index");
|
e.siblings(".layui-this").data("index");
|
e.hasClass(y) || (e.addClass(y).siblings(".layui-this").removeClass(y), F.initTheme(a))
|
}, rollPage: function (e, i) {
|
var t = a("#LAY_app_tabsheader"), l = t.children("li"), n = (t.prop("scrollWidth"), t.outerWidth()),
|
s = parseFloat(t.css("left"));
|
if ("left" === e) {
|
if (!s && s <= 0) return;
|
var r = -s - n;
|
l.each(function (e, i) {
|
var l = a(i), n = l.position().left;
|
if (n >= r) return t.css("left", -n), !1
|
})
|
} else "auto" === e ? !function () {
|
var e, r = l.eq(i);
|
if (r[0]) {
|
if (e = r.position().left, e < -s) return t.css("left", -e);
|
if (e + r.outerWidth() >= n - s) {
|
var o = e + r.outerWidth() - (n - s);
|
l.each(function (e, i) {
|
var l = a(i), n = l.position().left;
|
if (n + s > 0 && n - s > o) return t.css("left", -n), !1
|
})
|
}
|
}
|
}() : l.each(function (e, i) {
|
var l = a(i), r = l.position().left;
|
if (r + l.outerWidth() >= n - s) return t.css("left", -r), !1
|
})
|
}, leftPage: function () {
|
P.rollPage("left")
|
}, rightPage: function () {
|
P.rollPage()
|
}, closeThisTabs: function () {
|
F.closeThisTabs()
|
}, closeOtherTabs: function (e) {
|
var i = "LAY-system-pagetabs-remove";
|
"all" === e ? (a(z + ":gt(0)").remove(), a(h).find("." + b + ":gt(0)").remove(), a(z).eq(0).trigger("click")) : (a(z).each(function (e, t) {
|
e && e != F.tabsPage.index && (a(t).addClass(i), F.tabsBody(e).addClass(i))
|
}), a("." + i).remove())
|
}, closeAllTabs: function () {
|
P.closeOtherTabs("all")
|
}, shade: function () {
|
F.sideFlexible()
|
}, im: function () {
|
F.popup({
|
id: "LAY-popup-layim-demo",
|
shade: 0,
|
area: ["800px", "300px"],
|
title: "面板外的操作示例",
|
offset: "lb",
|
success: function () {
|
layui.view(this.id).render("layim/demo").then(function () {
|
layui.use("im")
|
})
|
}
|
})
|
}
|
};
|
!function () {
|
var e = layui.data(l.tableName);
|
e.theme ? F.theme(e.theme) : l.theme && F.initTheme(l.theme.initColorIndex), "pageTabs" in layui.setter || (layui.setter.pageTabs = !0), l.pageTabs || (a("#LAY_app_tabs").addClass(c), u.addClass("layadmin-tabspage-none")), s.ie && s.ie < 10 && n.error("IE" + s.ie + "下访问可能不佳,推荐使用:Chrome / Firefox / Edge 等高级浏览器", {
|
offset: "auto",
|
id: "LAY_errorIE"
|
})
|
}(), t.on("tab(" + p + ")", function (e) {
|
F.tabsPage.index = e.index
|
}), F.on("tabsPage(setMenustatus)", function (e) {
|
var i = e.url, t = function (e) {
|
return {list: e.children(".layui-nav-child"), a: e.children("*[lay-href]")}
|
}, l = a("#" + k), n = "layui-nav-itemed", s = function (e) {
|
e.each(function (e, l) {
|
var s = a(l), r = t(s), o = r.list.children("dd"), u = i === r.a.attr("lay-href");
|
if (o.each(function (e, l) {
|
var s = a(l), r = t(s), o = r.list.children("dd"), u = i === r.a.attr("lay-href");
|
if (o.each(function (e, l) {
|
var s = a(l), r = t(s), o = i === r.a.attr("lay-href");
|
if (o) {
|
var u = r.list[0] ? n : y;
|
return s.addClass(u).siblings().removeClass(u), !1
|
}
|
}), u) {
|
var d = r.list[0] ? n : y;
|
return s.addClass(d).siblings().removeClass(d), !1
|
}
|
}), u) {
|
var d = r.list[0] ? n : y;
|
return s.addClass(d).siblings().removeClass(d), !1
|
}
|
})
|
};
|
l.find("." + y).removeClass(y), F.screen() < 2 && F.sideFlexible(), s(l.children("li"))
|
}), t.on("nav(layadmin-system-side-menu)", function (e) {
|
e.siblings(".layui-nav-child")[0] && u.hasClass(C) && (F.sideFlexible("spread"), layer.close(e.data("index"))), F.tabsPage.type = "nav"
|
}), t.on("nav(layadmin-pagetabs-nav)", function (e) {
|
var a = e.parent();
|
a.removeClass(y), a.parent().removeClass(d)
|
});
|
var A = function (e) {
|
var a = (e.attr("lay-id"), e.attr("lay-attr")), i = e.index();
|
F.tabsBodyChange(i, {url: a})
|
}, z = "#LAY_app_tabsheader>li";
|
o.on("click", z, function () {
|
var e = a(this), i = e.index();
|
F.tabsPage.type = "tab", F.tabsPage.index = i, A(e)
|
}), t.on("tabDelete(" + p + ")", function (e) {
|
var i = a(z + ".layui-this");
|
e.index && F.tabsBody(e.index).remove(), A(i), F.delResize()
|
}), o.on("click", "*[lay-href]", function () {
|
var e = a(this), i = e.attr("lay-href"), t = e.attr("lay-text");
|
layui.router();
|
F.tabsPage.elem = e;
|
var l = parent === self ? layui : top.layui;
|
l.index.openTabsPage(i, t || e.text())
|
}), o.on("click", "*[layadmin-event]", function () {
|
var e = a(this), i = e.attr("layadmin-event");
|
P[i] && P[i].call(this, e)
|
}), o.on("mouseenter", "*[lay-tips]", function () {
|
var e = a(this);
|
if (!e.parent().hasClass("layui-nav-item") || u.hasClass(C)) {
|
var i = e.attr("lay-tips"), t = e.attr("lay-offset"), l = e.attr("lay-direction"), n = layer.tips(i, this, {
|
tips: l || 1, time: -1, success: function (e, a) {
|
t && e.css("margin-left", t + "px")
|
}
|
});
|
e.data("index", n)
|
}
|
}).on("mouseleave", "*[lay-tips]", function () {
|
layer.close(a(this).data("index"))
|
});
|
var _ = layui.data.resizeSystem = function () {
|
layer.closeAll("tips"), _.lock || setTimeout(function () {
|
F.sideFlexible(F.screen() < 2 ? "" : "spread"), delete _.lock
|
}, 100), _.lock = !0
|
};
|
r.on("resize", layui.data.resizeSystem), e("admin", F)
|
});
|