style: 优化css样式,全局使用show.xx消息提示
This commit is contained in:
@@ -129,10 +129,11 @@
|
|||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<div class="layui-upload-logo">
|
<div class="layui-upload-logo">
|
||||||
<dl>
|
<dl>
|
||||||
<dt> <img class="logo" src="{$config.site_logo}" alt="{:__('站点LOGO')}">
|
<dt>
|
||||||
|
<img class="logo" src="{$config.site_logo|default='/static/images/loading/loading-form.gif'}"
|
||||||
|
alt="{:__('站点LOGO')}">
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="layui-badge"
|
<dd class="layui-badge" id="delLogo">{:__('删除')}</dd>
|
||||||
onclick="javascript:layer.msg('好像没写代码!','error')">{:__('删除')}</dd>
|
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1805,32 +1806,34 @@
|
|||||||
<include file="/public/footer" />
|
<include file="/public/footer" />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
layui.use(['form', 'jquery', 'admin'], function () {
|
layui.use(['jquery'], function () {
|
||||||
|
let $ = layui.jquery;
|
||||||
|
|
||||||
var form = layui.form;
|
$('#delLogo').click(function() {
|
||||||
var admin = layui.admin;
|
$('input.logo').val('');
|
||||||
var jquery = layui.jquery;
|
$('img.logo').attr('src', '/static/images/loading/loading-form.gif');
|
||||||
|
});
|
||||||
|
|
||||||
// 增加变量
|
// 增加变量
|
||||||
jquery('.layui-variable-add').on('click', function () {
|
$('.layui-variable-add').on('click', function () {
|
||||||
var html = '<tr>';
|
let html = '<tr>';
|
||||||
html += '<td><input type="text" class="layui-input layui-variable-key" lay-verify="required" ><\/td>';
|
html += '<td><input type="text" class="layui-input layui-variable-key" lay-verify="required" ><\/td>';
|
||||||
html += '<td><input type="text" class="layui-input layui-variable-value"><\/td>';
|
html += '<td><input type="text" class="layui-input layui-variable-value"><\/td>';
|
||||||
html += '<td><button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon layui-icon-delete"><\/i><\/button><\/td>';
|
html += '<td><button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon layui-icon-delete"><\/i><\/button><\/td>';
|
||||||
html += '<\/tr>';
|
html += '<\/tr>';
|
||||||
jquery('#layui-variable-content').append(html);
|
$('#layui-variable-content').append(html);
|
||||||
})
|
})
|
||||||
|
|
||||||
// 改变表单值
|
// 改变表单值
|
||||||
jquery('body').on('change', '.layui-variable-key', function () {
|
$('body').on('change', '.layui-variable-key', function () {
|
||||||
var that = jquery(this),
|
let that = $(this),
|
||||||
name = 'variable[' + that.val() + ']';
|
name = 'variable[' + that.val() + ']';
|
||||||
jquery(that).parents('tr').find('.layui-variable-value').attr('name', name);
|
$(that).parents('tr').find('.layui-variable-value').attr('name', name);
|
||||||
})
|
})
|
||||||
|
|
||||||
// 删除自定义变量
|
// 删除自定义变量
|
||||||
jquery('body').on('click', '#layui-variable-content .layui-btn', function () {
|
$('body').on('click', '#layui-variable-content .layui-btn', function () {
|
||||||
jquery(this).parents('tr').remove();
|
$(this).parents('tr').remove();
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -33,22 +33,22 @@
|
|||||||
<div class="layui-col-md4">
|
<div class="layui-col-md4">
|
||||||
<div class="layui-admin-workplace">
|
<div class="layui-admin-workplace">
|
||||||
<div class="workplace-header">
|
<div class="workplace-header">
|
||||||
<span><i class="layui-icon layui-icon-list"></i>文章数</span>
|
<span><i class="layui-icon layui-icon-list"></i>通知</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="workplace-content">{$workplace.article|default=26}</div>
|
<div class="workplace-content">{$workplace.notice|default=26}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-admin-workplace">
|
<div class="layui-admin-workplace">
|
||||||
<div class="workplace-header">
|
<div class="workplace-header">
|
||||||
<span><i class="layui-icon layui-icon-date date"></i>待审核</span>
|
<span><i class="layui-icon layui-icon-date date"></i>待办项</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="workplace-content">{$workplace.check|default="12/56"}</div>
|
<div class="workplace-content">{$todoList}/{$workplace.todo}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-admin-workplace">
|
<div class="layui-admin-workplace">
|
||||||
<div class="workplace-header">
|
<div class="workplace-header">
|
||||||
<span><i class="layui-icon layui-icon-notice notice"></i>评论数</span>
|
<span><i class="layui-icon layui-icon-notice notice"></i>消息</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="workplace-content">{$workplace.comment|default="2,352"}</div>
|
<div class="workplace-content">{$workplace.message|default="2,352"}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6 layui-col-sm6">
|
<div class="layui-col-xs6 layui-col-sm6">
|
||||||
<div class="layui-card smallblock" sa-event="tabs" data-url="{:url('/index/analysis')}"
|
<div class="layui-card smallblock" sa-event="tabs" data-url="{:url('/Index/analysis')}"
|
||||||
data-title="{:__('分析页')}">
|
data-title="{:__('分析页')}">
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="layui-small-block">
|
<div class="layui-small-block">
|
||||||
@@ -114,7 +114,7 @@
|
|||||||
<div class="layui-col-md4">
|
<div class="layui-col-md4">
|
||||||
<div class="layui-row layui-col-space10" style="margin-bottom: 5px;">
|
<div class="layui-row layui-col-space10" style="margin-bottom: 5px;">
|
||||||
<div class="layui-col-xs6 layui-col-sm6">
|
<div class="layui-col-xs6 layui-col-sm6">
|
||||||
<div class="layui-card smallblock" sa-event="tabs" data-url="{:url('/index/monitor')}"
|
<div class="layui-card smallblock" sa-event="tabs" data-url="{:url('/Index/monitor')}"
|
||||||
data-title="{:__('监控页')}">
|
data-title="{:__('监控页')}">
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="layui-small-block">
|
<div class="layui-small-block">
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-xs6 layui-col-sm6">
|
<div class="layui-col-xs6 layui-col-sm6">
|
||||||
<div class="layui-card smallblock" sa-event="tabs" data-url="{:url('/index/baseCfg')}"
|
<div class="layui-card smallblock" sa-event="tabs" data-url="{:url('/Index/baseCfg')}"
|
||||||
data-title="{:__('基本设置')}">
|
data-title="{:__('基本设置')}">
|
||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="layui-small-block">
|
<div class="layui-small-block">
|
||||||
@@ -290,7 +290,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table class="layui-hide" id="ID-treeTable-demo"></table>
|
|
||||||
</div>
|
</div>
|
||||||
<script src="__STATICADMIN__module/echarts/echarts.js"></script>
|
<script src="__STATICADMIN__module/echarts/echarts.js"></script>
|
||||||
<script src="__STATICADMIN__module/echarts/echarts-wordcloud.js"></script>
|
<script src="__STATICADMIN__module/echarts/echarts-wordcloud.js"></script>
|
||||||
@@ -299,36 +298,11 @@
|
|||||||
<include file="/public/footer"/>
|
<include file="/public/footer"/>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
layui.use(['jquery','layer','treeTable'], function () {
|
layui.use(['jquery','show'], function () {
|
||||||
|
|
||||||
let $ = layui.jquery;
|
let $ = layui.jquery;
|
||||||
let layer = layui.layer;
|
let show = layui.show;
|
||||||
let treeTable = layui.treeTable;
|
|
||||||
|
|
||||||
var inst = treeTable.render({
|
|
||||||
elem: '#ID-treeTable-demo',
|
|
||||||
url: '/static/demo-1.json?page=1&limit=10', // 此处为静态模拟数据,实际使用时需换成真实接口
|
|
||||||
tree: {
|
|
||||||
customName: {
|
|
||||||
icon: 'icon2',
|
|
||||||
name: 'title'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
maxHeight: '501px',
|
|
||||||
toolbar: '#TPL-treeTable-demo',
|
|
||||||
cols: [[
|
|
||||||
{type: 'checkbox', fixed: 'left'},
|
|
||||||
{field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left'},
|
|
||||||
{field: 'name', title: '用户名', width: 180, fixed: 'left'},
|
|
||||||
{field: 'experience', title: '积分', width: 90, sort: true},
|
|
||||||
{field: 'sex', title: '性别', width: 80, sort: true},
|
|
||||||
{field: 'score', title: '评分', width: 80, sort: true},
|
|
||||||
{field: 'city', title: '城市'},
|
|
||||||
{ fixed: "right", title: "操作", width: 181, align: "center", toolbar: "#TPL-treeTable-demo-tools"}
|
|
||||||
]],
|
|
||||||
page: true
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户统计报表
|
* 用户统计报表
|
||||||
* @type {string}
|
* @type {string}
|
||||||
@@ -354,7 +328,7 @@
|
|||||||
$(that).addClass('active');
|
$(that).addClass('active');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layer.info(res.msg);
|
show.info(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -28,14 +28,15 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
let _global_ = {
|
let app_Config = {
|
||||||
app: "{$app|default='admin.php'}",
|
app: "{$app|default='admin.php'}",
|
||||||
controller: "{$controller|default='index'}",
|
controller: "{$controller|default='index'}",
|
||||||
action: "{$action|default='index'}",
|
action: "{$action|default='index'}",
|
||||||
api: "{:config('app.api_url')}"
|
api: "{:config('app.api_url')}",
|
||||||
|
version: "{:config('app.version')}",
|
||||||
};
|
};
|
||||||
|
|
||||||
let _upload_chunkSize = {:saenv('upload_chunk_size')};
|
let upload_chunkSize = {:saenv('upload_chunk_size')};
|
||||||
</script>
|
</script>
|
||||||
<body class="layui-layout-body">
|
<body class="layui-layout-body">
|
||||||
<div class="layui-layout layui-layout-admin">
|
<div class="layui-layout layui-layout-admin">
|
||||||
|
|||||||
@@ -192,10 +192,11 @@
|
|||||||
<script src="__STATICADMIN__js/common.js?v={:release()}"></script>
|
<script src="__STATICADMIN__js/common.js?v={:release()}"></script>
|
||||||
<script>
|
<script>
|
||||||
window.sessionStorage.clear();
|
window.sessionStorage.clear();
|
||||||
layui.use(['layer','form'],function() {
|
layui.use(['layer','form','show'],function() {
|
||||||
var $ = layui.jquery,
|
var $ = layui.jquery,
|
||||||
layer = layui.layer,
|
layer = layui.layer,
|
||||||
form = layui.form,
|
form = layui.form,
|
||||||
|
show = layui.show,
|
||||||
captchaUrl = '{:captcha_src()}';
|
captchaUrl = '{:captcha_src()}';
|
||||||
|
|
||||||
// 登录操作
|
// 登录操作
|
||||||
@@ -223,11 +224,11 @@
|
|||||||
email = $('input[name="email"]').val();
|
email = $('input[name="email"]').val();
|
||||||
|
|
||||||
if (pass !== repass) {
|
if (pass !== repass) {
|
||||||
layer.msg("{:__('两次输入密码不同')}",'error');
|
show.error('两次输入密码不同');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
layer.msg("{:__('数据提交中...')}",'warning');
|
show.info('数据提交中...');
|
||||||
that.prop('disabled', true);
|
that.prop('disabled', true);
|
||||||
$_ajax(that,{name: name, pwd: pass, email:email,captcha: captcha});
|
$_ajax(that,{name: name, pwd: pass, email:email,captcha: captcha});
|
||||||
return false;
|
return false;
|
||||||
@@ -310,7 +311,7 @@
|
|||||||
valicode = $('input[name="valicode"]').val();
|
valicode = $('input[name="valicode"]').val();
|
||||||
|
|
||||||
if (pass != repass) {
|
if (pass != repass) {
|
||||||
layer.msg("{:__('两次输入密码不同')}",'error')
|
show.error('两次输入密码不同');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,12 +320,12 @@
|
|||||||
url: "{:url('/login/setpwd')}",
|
url: "{:url('/login/setpwd')}",
|
||||||
data: {name:name,pass:pass,valicode:valicode},
|
data: {name:name,pass:pass,valicode:valicode},
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
if(res.code == 200){
|
if(res.code === 200){
|
||||||
layer.msg(res.msg,function(){
|
layer.msg(res.msg,function(){
|
||||||
location.reload();
|
location.reload();
|
||||||
});
|
});
|
||||||
}else {
|
}else {
|
||||||
layer.error(res.msg);
|
show.error(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -352,7 +353,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
that.prop('disabled', false);
|
that.prop('disabled', false);
|
||||||
$("#captchaImg,#captchaImg2,#captchaImg3").attr('src',captchaUrl+'?rand='+Math.random()).parents('.layui-form-item').show();
|
$("#captchaImg,#captchaImg2,#captchaImg3").attr('src',captchaUrl+'?rand='+Math.random()).parents('.layui-form-item').show();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -17,14 +17,15 @@
|
|||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
<script>
|
<script>
|
||||||
var _global_ = {
|
let app_Config = {
|
||||||
app: "{$app|default='/admin'}",
|
app: "{$app|default='/admin'}",
|
||||||
controller: "{$controller|default='index'}",
|
controller: "{$controller|default='index'}",
|
||||||
action: "{$action|default='index'}",
|
action: "{$action|default='index'}",
|
||||||
api: "{:config('app.api_url')}"
|
version: "{:config('app.version')}",
|
||||||
|
api: "{:config('app.api_url')}",
|
||||||
};
|
};
|
||||||
|
|
||||||
var _upload_chunkSize = {:saenv('upload_chunk_size')};
|
let upload_chunkSize = {:saenv('upload_chunk_size')};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@@ -297,7 +297,7 @@
|
|||||||
layer.msg("{:__('上传成功')}");
|
layer.msg("{:__('上传成功')}");
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -348,7 +348,7 @@
|
|||||||
elem += '</span>';
|
elem += '</span>';
|
||||||
$('.layui-badge-list').append(elem);
|
$('.layui-badge-list').append(elem);
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -365,7 +365,7 @@
|
|||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
that.parent('span').remove();
|
that.parent('span').remove();
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -190,7 +190,7 @@
|
|||||||
_pageUrl = _form.attr("action") || pageThat.data('url');
|
_pageUrl = _form.attr("action") || pageThat.data('url');
|
||||||
pageThat.attr("disabled",true);
|
pageThat.attr("disabled",true);
|
||||||
if (typeof(_pageUrl) === 'undefined') {
|
if (typeof(_pageUrl) === 'undefined') {
|
||||||
layer.msg('缺少URL属性','error');
|
layer.msg('缺少URL属性');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,7 +211,7 @@
|
|||||||
// 关闭当前窗口
|
// 关闭当前窗口
|
||||||
layer.close(colletction.index);
|
layer.close(colletction.index);
|
||||||
}else{
|
}else{
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@
|
|||||||
_pageUrl = _form.attr("action") || pageThat.data('url');
|
_pageUrl = _form.attr("action") || pageThat.data('url');
|
||||||
pageThat.attr("disabled",true);
|
pageThat.attr("disabled",true);
|
||||||
if (typeof(_pageUrl) === 'undefined') {
|
if (typeof(_pageUrl) === 'undefined') {
|
||||||
layer.msg('缺少URL属性','error');
|
layer.msg('缺少URL属性');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,7 +284,7 @@
|
|||||||
// 关闭当前窗口
|
// 关闭当前窗口
|
||||||
layer.close(colletction.index);
|
layer.close(colletction.index);
|
||||||
}else{
|
}else{
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
|
||||||
|
|||||||
@@ -186,9 +186,9 @@
|
|||||||
|
|
||||||
<!-- // 列表编辑框 -->
|
<!-- // 列表编辑框 -->
|
||||||
<script type="text/html" id="tableBar">
|
<script type="text/html" id="tableBar">
|
||||||
<if (check_admin_auth(url("/system/admin/edit")))>
|
<if (has_admin_auth(url("/system/admin/edit")))>
|
||||||
<a class="layui-table-text" data-title="{:__('编辑')} {{d.name}}" callback="edits" data-url="#adminforms" data-area="690px,500px" lay-event="edit" >{:__('编辑')}</a>
|
<a class="layui-table-text" data-title="{:__('编辑')} {{d.name}}" callback="edits" data-url="#adminforms" data-area="690px,500px" lay-event="edit" >{:__('编辑')}</a>
|
||||||
<div class="layui-divider layui-divider-vertical"></div>
|
<div class="layui-divider layui-divider-vertical"></div>
|
||||||
</if>
|
</if>
|
||||||
<a class="layui-table-text" data-title="{:__('访问权限')}"
|
<a class="layui-table-text" data-title="{:__('访问权限')}"
|
||||||
callback="rulecates" data-url="#authForms" data-area="300px,80%" lay-event="rules" >{:__('权限')}</a>
|
callback="rulecates" data-url="#authForms" data-area="300px,80%" lay-event="rules" >{:__('权限')}</a>
|
||||||
@@ -343,7 +343,7 @@
|
|||||||
pageThat.attr("disabled",true);
|
pageThat.attr("disabled",true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
}, 'json');
|
}, 'json');
|
||||||
@@ -373,8 +373,6 @@
|
|||||||
showCheckbox: true,
|
showCheckbox: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
// tree.setChecked('authTree', tableThis.data[event].length ? tableThis.data[event].map(Number): []);
|
|
||||||
|
|
||||||
// 监听权限提交
|
// 监听权限提交
|
||||||
form.on("submit(submitPage)", function (post) {
|
form.on("submit(submitPage)", function (post) {
|
||||||
|
|
||||||
@@ -396,7 +394,7 @@
|
|||||||
layer.close(colletction.index);
|
layer.close(colletction.index);
|
||||||
clickthis.attr("disabled", true);
|
clickthis.attr("disabled", true);
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,7 @@
|
|||||||
lay-filter="treeSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}
|
lay-filter="treeSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}
|
||||||
</button>
|
</button>
|
||||||
<!-- // 打开添加页面 -->
|
<!-- // 打开添加页面 -->
|
||||||
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加菜单')}"
|
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加菜单')}" data-area="700px,410px" data-url="{:url('/system/AdminRules/add')}" >
|
||||||
callback="add" data-disable="true" data-area="680px,380px" data-url="#editforms" >
|
|
||||||
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
|
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
|
||||||
</button>
|
</button>
|
||||||
<button class="layui-btn layui-btn-primary icon-btn" id="expandAll" ><i class="layui-icon layui-icon-templeate-1"></i>{:__('展开全部')}</button>
|
<button class="layui-btn layui-btn-primary icon-btn" id="expandAll" ><i class="layui-icon layui-icon-templeate-1"></i>{:__('展开全部')}</button>
|
||||||
@@ -38,103 +37,33 @@
|
|||||||
<!-- // 创建数据表实例 -->
|
<!-- // 创建数据表实例 -->
|
||||||
<table class="layui-hide" id="lay-tableList" lay-filter="lay-tableList"></table>
|
<table class="layui-hide" id="lay-tableList" lay-filter="lay-tableList"></table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- // 添加编辑数据 -->
|
|
||||||
<script type="text/html" id="editforms" >
|
|
||||||
<div class="layui-fluid layui-bg-white">
|
|
||||||
<form class="layui-form" lay-filter="editforms" >
|
|
||||||
<input type="text" name="id" hidden="">
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label">{:__('上级菜单')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<div id="treeNode" name="pid" lay-filter="treeNode" ></div>
|
|
||||||
</div>
|
|
||||||
<label class="layui-form-label"><font color="red">* </font>{:__('权限标识')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<input name="alias" placeholder="{:__('system:Target:index')}" type="text" disabled class="layui-input alias layui-disabled" lay-verify="required" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('菜单名称')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<input name="title" placeholder="{:__('请输入菜单名称')}" type="text" class="layui-input" lay-verify="required" />
|
|
||||||
</div>
|
|
||||||
<label class="layui-form-label">{:__('排序号')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<input name="sort" placeholder="{:__('默认自动生成')}" type="number" class="layui-input" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label">{:__('菜单图标')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<input name="icon" placeholder="{:__('请选择菜单图标')}" id="iconPicker" type="text" class="layui-input" />
|
|
||||||
</div>
|
|
||||||
<label class="layui-form-label">{:__('菜单类型')}</label>
|
|
||||||
<div class="layui-input-inline" style="white-space: nowrap;">
|
|
||||||
<input name="type" type="radio" value="0" title="{:__('菜单')}" lay-tips="* 菜单默认就是路由地址!" />
|
|
||||||
<input name="type" type="radio" value="1" title="{:__('按钮')}" lay-tips="* 按钮不会当作菜单显示!" checked />
|
|
||||||
<input name="type" type="radio" value="2" title="{:__('接口')}" lay-tips="* 接口用户上传等API场景!"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('路由地址')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<input name="router" placeholder="{:__('/system/Target/index')}" type="text" class="layui-input router" lay-verify="required" />
|
|
||||||
</div>
|
|
||||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('是否鉴权')}</label>
|
|
||||||
<div class="layui-input-inline">
|
|
||||||
<input name="auth" type="radio" value="1" title="{:__('开启')}" checked/>
|
|
||||||
<input name="auth" type="radio" value="0" title="{:__('关闭')}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('正则模式')}</label>
|
|
||||||
<div class="layui-input-inline" style="width: 500px">
|
|
||||||
<input name="condition" placeholder="{:__('请输入正则表达式,适合通配符校验')}" type="text" class="layui-input" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-footer layui-form-item layui-center " >
|
|
||||||
<button class="layui-btn layui-btn-primary" type="button" sa-event="closePageDialog" >{:__('取消')}</button>
|
|
||||||
<button class="layui-btn" lay-add="{:url('/system/AdminRules/add')}" lay-edit="{:url('/system/AdminRules/edit')}" lay-filter="submitPage" lay-submit>{:__('提交')}</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- // 列表工具栏 -->
|
<!-- // 列表工具栏 -->
|
||||||
<script type="text/html" id="tableBar">
|
<script type="text/html" id="tableBar">
|
||||||
<!-- 注意,添加的回调函数里面 增加了data-disable="true"属性,也就是不会执行form.val方法 -->
|
<a class="layui-table-text" lay-open data-title="{:__('添加菜单')}" data-url="{:url('/system/AdminRules/add')}?pid={{d.id}}"
|
||||||
<a class="layui-table-text" data-title="{:__('添加菜单')}" data-url="#editforms"
|
data-area="700px,410px" >{:__('添加')}</a>
|
||||||
data-area="668px,380px" callback="add" data-disable="true" lay-event="add" >{:__('添加')}</a>
|
|
||||||
<div class="layui-divider layui-divider-vertical"></div>
|
<div class="layui-divider layui-divider-vertical"></div>
|
||||||
<a class="layui-table-text" data-title="{:__('编辑菜单')}" data-area="668px,380px" data-url="#editforms" lay-event="edit" callback="edit" >{:__('编辑')}</a>
|
<a class="layui-table-text" lay-open data-title="{:__('编辑菜单')}" data-url="{:url('/system/AdminRules/edit')}?id={{d.id}}"
|
||||||
|
data-area="700px,410px" >{:__('编辑')}</a>
|
||||||
<div class="layui-divider layui-divider-vertical"></div>
|
<div class="layui-divider layui-divider-vertical"></div>
|
||||||
<a class="layui-table-text" data-url="{:url('/system/AdminRules/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
|
<a class="layui-table-text" data-url="{:url('/system/AdminRules/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
|
||||||
</script>
|
</script>
|
||||||
<script src="__STATICADMIN__module/xmselect/xmselect.js?v={:release()}"></script>
|
|
||||||
<include file="/public/footer" />
|
<include file="/public/footer" />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
layui.use(['admin','form','treeTable','iconPicker'], function () {
|
layui.use(['form','treeTable'], function () {
|
||||||
|
|
||||||
var jquery = layui.jquery;
|
let $ = layui.jquery;
|
||||||
var admin = layui.admin;
|
let form = layui.form;
|
||||||
var form = layui.form;
|
let treeTable = layui.treeTable;
|
||||||
var table = layui.table;
|
let tableURL = "{:url('/system/AdminRules/index')}";
|
||||||
var treeTable = layui.treeTable;
|
|
||||||
var iconPicker = layui.iconPicker;
|
|
||||||
var tableURL = "{:url('/system/AdminRules/index')}";
|
|
||||||
|
|
||||||
// 渲染初始化表格
|
// 渲染初始化表格
|
||||||
var renderTable = function (tableURL) {
|
let renderTable = function (tableURL) {
|
||||||
treeTable.render({
|
treeTable.render({
|
||||||
|
id: 'lay-tableList',
|
||||||
elem: '#lay-tableList',
|
elem: '#lay-tableList',
|
||||||
url: tableURL,
|
url: tableURL,
|
||||||
tree: {
|
tree: {
|
||||||
@@ -156,13 +85,13 @@
|
|||||||
{field: 'router', title: '{:__("路由地址")}'},
|
{field: 'router', title: '{:__("路由地址")}'},
|
||||||
{field: 'alias', title: '{:__("权限标识")}'},
|
{field: 'alias', title: '{:__("权限标识")}'},
|
||||||
{field: 'auth', width: 80,title: '{:__("鉴权")}',templet: function(d) {
|
{field: 'auth', width: 80,title: '{:__("鉴权")}',templet: function(d) {
|
||||||
var strs = ['<font color="red">{:__("否")}</font>', '<span>{:__("是")}</span>'];
|
let strs = ['<font color="red">{:__("否")}</font>', '<span>{:__("是")}</span>'];
|
||||||
return strs[d.auth];
|
return strs[d.auth];
|
||||||
}, align: 'center'
|
}, align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'type',title: '{:__("类型")}', width: 80, templet: function (d) {
|
field: 'type',title: '{:__("类型")}', width: 80, templet: function (d) {
|
||||||
var strs = ['<span class="layui-badge layui-bg-blue">{:__("菜单")}</span>',
|
let strs = ['<span class="layui-badge layui-bg-blue">{:__("菜单")}</span>',
|
||||||
'<span class="layui-badge layui-bg-gray">{:__("按钮")}</span>',
|
'<span class="layui-badge layui-bg-gray">{:__("按钮")}</span>',
|
||||||
'<span class="layui-badge layui-bg-cyan">{:__("接口")}</span>',
|
'<span class="layui-badge layui-bg-cyan">{:__("接口")}</span>',
|
||||||
'<span class="layui-badge">{:__("系统")}</span>'
|
'<span class="layui-badge">{:__("系统")}</span>'
|
||||||
@@ -180,9 +109,9 @@
|
|||||||
// 监听搜索 serialize
|
// 监听搜索 serialize
|
||||||
form.on('submit(treeSearch)',function(data) {
|
form.on('submit(treeSearch)',function(data) {
|
||||||
|
|
||||||
var whereURL = '',
|
let whereURL = '',
|
||||||
field = data.field;
|
field = data.field;
|
||||||
for (var key in field ) {
|
for (let key in field ) {
|
||||||
whereURL += key + '=' + field[key];
|
whereURL += key + '=' + field[key];
|
||||||
whereURL += '&';
|
whereURL += '&';
|
||||||
}
|
}
|
||||||
@@ -193,177 +122,19 @@
|
|||||||
renderTable(whereURL);
|
renderTable(whereURL);
|
||||||
})
|
})
|
||||||
|
|
||||||
/*
|
|
||||||
* 编辑回调函数示例
|
|
||||||
* 这个是默认编辑框的回调函数
|
|
||||||
* 默认返回当前点击元素对象、数据合集、配置项
|
|
||||||
*/
|
|
||||||
admin.callback.edit = function(clickthis,colletction,config) {
|
|
||||||
|
|
||||||
// 渲染选择器
|
|
||||||
draSelect(colletction.tableThis);
|
|
||||||
|
|
||||||
// 渲染图标
|
|
||||||
draIcon();
|
|
||||||
|
|
||||||
// 监听改变
|
|
||||||
inputchange();
|
|
||||||
|
|
||||||
// 监听提交
|
|
||||||
listenPost(colletction);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 添加的回调函数
|
|
||||||
*/
|
|
||||||
admin.callback.add = function(clickthis,colletction,config) {
|
|
||||||
|
|
||||||
// 渲染选择器
|
|
||||||
draSelect(colletction.tableThis);
|
|
||||||
|
|
||||||
// 渲染图标
|
|
||||||
draIcon();
|
|
||||||
|
|
||||||
// 监听改变
|
|
||||||
inputchange();
|
|
||||||
|
|
||||||
// 监听提交
|
|
||||||
listenPost(colletction);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 渲染权限select元素
|
|
||||||
var draSelect = function(tableThis, subadd) {
|
|
||||||
|
|
||||||
var checkedId = [];
|
|
||||||
if (typeof(tableThis) !== "undefined") {
|
|
||||||
|
|
||||||
if (tableThis.event === 'add') {
|
|
||||||
checkedId.push(tableThis.data.id);
|
|
||||||
} else {
|
|
||||||
// 这里需要自己判断pid是否等于0,否则会报错!
|
|
||||||
if (tableThis.data.pid !== 0) {
|
|
||||||
checkedId.push(tableThis.data.pid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var select = xmSelect.render({
|
|
||||||
el: '#treeNode',
|
|
||||||
tips: '请选择上级菜单',
|
|
||||||
name: 'pid',
|
|
||||||
height: 'auto',
|
|
||||||
data: table.cache['lay-tableList'],
|
|
||||||
radio: true,
|
|
||||||
clickClose: true,
|
|
||||||
initValue: checkedId,
|
|
||||||
prop: {
|
|
||||||
value: 'id',
|
|
||||||
name:'title'
|
|
||||||
},
|
|
||||||
tree: {
|
|
||||||
show: true,
|
|
||||||
strict: false,
|
|
||||||
showLine: false,
|
|
||||||
clickExpand: false,
|
|
||||||
},
|
|
||||||
model: {
|
|
||||||
icon: 'hidden',
|
|
||||||
label: {
|
|
||||||
type: 'text'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
theme: {
|
|
||||||
color: '#1890FF'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 渲染图标元素
|
|
||||||
var draIcon = function() {
|
|
||||||
|
|
||||||
iconPicker.render({
|
|
||||||
elem: '#iconPicker',
|
|
||||||
type: 'fontClass',
|
|
||||||
search: true,
|
|
||||||
cellWidth: "19%",
|
|
||||||
page: true,
|
|
||||||
limit: 12,
|
|
||||||
click: function(data) { // 点击回调
|
|
||||||
jquery('#iconPicker').val(data.icon);
|
|
||||||
},
|
|
||||||
success: function(d) { // 渲染成功后的回调
|
|
||||||
//console.log(d);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 监听input表单
|
|
||||||
var inputchange = function() {
|
|
||||||
jquery('.router').bind('input propertychange change',function(data){
|
|
||||||
let router = jquery('.router').val();
|
|
||||||
let first = router.substr(0, 1);
|
|
||||||
if (first !== '/') {
|
|
||||||
jquery('.router').val('/');
|
|
||||||
return layui.layer.error('路由必须以/符号开始');
|
|
||||||
}
|
|
||||||
router = router.substring(1);
|
|
||||||
jquery('.alias').val(router.replaceAll('/',':'));
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 监听提交
|
|
||||||
var listenPost = function(colletction) {
|
|
||||||
|
|
||||||
var tableThis = colletction.tableThis;
|
|
||||||
form.on("submit(submitPage)",function(post){
|
|
||||||
|
|
||||||
var pageThat = jquery(this);
|
|
||||||
pageThat.attr("disabled",true);
|
|
||||||
// 获取提交地址
|
|
||||||
var _pageUrl;
|
|
||||||
if (typeof (tableThis) !== 'undefined') {
|
|
||||||
_pageUrl = tableThis.event === 'edit' ? pageThat.attr('lay-edit') : pageThat.attr('lay-add');
|
|
||||||
} else {
|
|
||||||
_pageUrl = pageThat.attr('lay-add');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof(_pageUrl) === 'undefined') {
|
|
||||||
layer.msg('按钮缺少 url 属性','info');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 开始POST提交数据
|
|
||||||
jquery.post(_pageUrl,
|
|
||||||
post.field, function(res){
|
|
||||||
if (res.code === 200) {
|
|
||||||
layer.msg(res.msg);
|
|
||||||
treeTable.reloadData('lay-tableList');
|
|
||||||
// 调用接口更新菜单
|
|
||||||
top.layui.admin.reloadLayout();
|
|
||||||
|
|
||||||
// 关闭当前窗口
|
|
||||||
layer.close(colletction.index);
|
|
||||||
}else {
|
|
||||||
layer.error(res.msg);
|
|
||||||
}
|
|
||||||
}, 'json');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 展开所有
|
// 展开所有
|
||||||
jquery('#expandAll').click(function(){
|
$('#expandAll').click(function(){
|
||||||
treeTable.expandAll('lay-tableList', true);
|
treeTable.expandAll('lay-tableList', true);
|
||||||
})
|
})
|
||||||
|
|
||||||
// 折叠所有
|
// 折叠所有
|
||||||
jquery('#foldAll').click(function () {
|
$('#foldAll').click(function () {
|
||||||
treeTable.expandAll('lay-tableList',false);
|
treeTable.expandAll('lay-tableList',false);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 执行初始化
|
// 执行初始化
|
||||||
renderTable(tableURL);
|
renderTable(tableURL);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
164
app/admin/view/system/admin/rules_edit.html
Normal file
164
app/admin/view/system/admin/rules_edit.html
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
<include file="/public/header"/>
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<form class="layui-form layui-form-fixed">
|
||||||
|
<input type="text" name="id" value="{$data.id|default=0}" hidden="">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">{:__('上级菜单')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<div id="treeNode" name="pid" lay-filter="treeNode" data-pid="{$data.pid|default=0}"></div>
|
||||||
|
</div>
|
||||||
|
<label class="layui-form-label">{:__('排序号')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input name="sort" placeholder="{:__('默认自动生成')}" type="number" value="{$data.sort}" class="layui-input"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('菜单名称')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input name="title" placeholder="{:__('请输入菜单名称')}" type="text" class="layui-input"
|
||||||
|
value="{$data.title}"
|
||||||
|
lay-verify="required"/>
|
||||||
|
</div>
|
||||||
|
<label class="layui-form-label">{:__('菜单图标')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input name="icon" placeholder="{:__('请选择菜单图标')}" id="iconPicker" type="text"
|
||||||
|
value="{$data.icon}"
|
||||||
|
class="layui-input"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
|
||||||
|
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('路由地址')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input name="router" placeholder="{:__('/system/Target/index')}" type="text" class="layui-input router"
|
||||||
|
value="{$data.router}"
|
||||||
|
lay-verify="required"/>
|
||||||
|
</div>
|
||||||
|
<label class="layui-form-label"><font color="red">* </font>{:__('菜单类型')}</label>
|
||||||
|
<div class="layui-input-inline" style="white-space: nowrap;">
|
||||||
|
<input name="type" type="radio" value="0" title="{:__('菜单')}"
|
||||||
|
<if condition="$data.type eq 0">checked</if>
|
||||||
|
lay-tips="* 菜单默认就是路由地址!"/>
|
||||||
|
<input name="type" type="radio" value="1" title="{:__('按钮')}"
|
||||||
|
<if condition="$data.type eq 1">checked</if>
|
||||||
|
lay-tips="* 按钮不会当作菜单显示!" >
|
||||||
|
<input name="type" type="radio" value="2" title="{:__('接口')}"
|
||||||
|
<if condition="$data.type eq 2">checked</if>
|
||||||
|
lay-tips="* 接口用户上传等API场景!"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
|
||||||
|
<label class="layui-form-label">{:__('权限标识')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input name="alias" placeholder="{:__('system:Target:index')}" type="text" disabled
|
||||||
|
value="{$data.alias}"
|
||||||
|
class="layui-input alias layui-disabled" lay-verify="required"/>
|
||||||
|
</div>
|
||||||
|
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('是否鉴权')}</label>
|
||||||
|
<div class="layui-input-inline">
|
||||||
|
<input name="auth" type="radio" value="1" title="{:__('开启')}"
|
||||||
|
<if condition="$data.auth eq 1">checked</if> />
|
||||||
|
<input name="auth" type="radio" value="0" title="{:__('关闭')}"
|
||||||
|
<if condition="$data.auth eq 0">checked</if> />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('正则模式')}</label>
|
||||||
|
<div class="layui-input-inline" style="width: 500px">
|
||||||
|
<input name="condition" placeholder="{:__('请输入正则表达式,适合通配符校验')}" type="text"
|
||||||
|
value="{$data.condition}"
|
||||||
|
class="layui-input"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layui-footer layui-form-item layui-center ">
|
||||||
|
<button class="layui-btn layui-btn-primary" type="button" sa-event="closePageDialog">{:__('取消')}</button>
|
||||||
|
<button class="layui-btn" lay-filter="submit" lay-submit >{:__('提交')}</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<script src="__STATICADMIN__module/xmselect/xmselect.js?v={:release()}"></script>
|
||||||
|
<include file="/public/footer"/>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
layui.use(['jquery', 'iconPicker','form'],function() {
|
||||||
|
let $ = layui.jquery;
|
||||||
|
let show = layui.show;
|
||||||
|
let form = layui.form;
|
||||||
|
let iconPicker = layui.iconPicker;
|
||||||
|
let data = {$rules|raw};
|
||||||
|
|
||||||
|
// 提交参数
|
||||||
|
form.on("submit(submit)",function(data){
|
||||||
|
$.post("{:Url('/system/AdminRules/')}"+app_Config.action,data.field,function(res){
|
||||||
|
if(res.code === 200){
|
||||||
|
show.msg(res.msg);
|
||||||
|
parent.layui.table.reloadData('lay-tableList');
|
||||||
|
parent.layer.closeAll();
|
||||||
|
// 调用接口更新菜单
|
||||||
|
top.layui.admin.reloadLayout();
|
||||||
|
}else{
|
||||||
|
show.error(res.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
|
||||||
|
xmSelect.render({
|
||||||
|
el: '#treeNode',
|
||||||
|
tips: '请选择上级菜单',
|
||||||
|
name: 'pid',
|
||||||
|
height: '260px',
|
||||||
|
data: data,
|
||||||
|
radio: true,
|
||||||
|
clickClose: true,
|
||||||
|
initValue:[$('#treeNode').data('pid')],
|
||||||
|
prop: {
|
||||||
|
value: 'id',
|
||||||
|
name:'title'
|
||||||
|
},
|
||||||
|
tree: {
|
||||||
|
show: true,
|
||||||
|
strict: false,
|
||||||
|
showLine: false,
|
||||||
|
clickExpand: false,
|
||||||
|
},
|
||||||
|
model: {
|
||||||
|
icon: 'hidden',
|
||||||
|
label: {
|
||||||
|
type: 'text'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
theme: {
|
||||||
|
color: '#1890FF'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
iconPicker.render({
|
||||||
|
elem: '#iconPicker',
|
||||||
|
type: 'fontClass',
|
||||||
|
search: true,
|
||||||
|
cellWidth: "19%",
|
||||||
|
page: true,
|
||||||
|
limit: 12,
|
||||||
|
// 点击回调
|
||||||
|
click: function(data) { // 点击回调
|
||||||
|
$('#iconPicker').val(data.icon);
|
||||||
|
},
|
||||||
|
success: function(d) { // 渲染成功后的回调
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.router').bind('input change',function(data){
|
||||||
|
let router = $('.router').val();
|
||||||
|
router = router.substring(1);
|
||||||
|
$('.alias').val(router.replaceAll('/',':'));
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
let layout = admin.getStorage('layout')
|
let layout = admin.getStorage('layout')
|
||||||
if (layout === 'top' || layout === 'hybrid') {
|
if (layout === 'top' || layout === 'hybrid') {
|
||||||
$(".moreLabel").prop("checked", true);
|
$(".moreLabel").prop("checked", true);
|
||||||
layer.msg('当前菜单布局不支持该操作!','error');
|
layer.msg('当前菜单布局不支持该操作!');
|
||||||
form.render();
|
form.render();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -230,7 +230,7 @@
|
|||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
layer.msg(res.msg);
|
layer.msg(res.msg);
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
layer.msg(res.msg);
|
layer.msg(res.msg);
|
||||||
$('.layui-instant-list-item').removeClass('active_0').addClass('active_1');
|
$('.layui-instant-list-item').removeClass('active_0').addClass('active_1');
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -44,56 +44,4 @@
|
|||||||
<a class="layui-table-text" data-url="{{d.url}}" lay-event="choose" >{:__('选择')}</a>
|
<a class="layui-table-text" data-url="{{d.url}}" lay-event="choose" >{:__('选择')}</a>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<include file="/public/footer" />
|
<include file="/public/footer" />
|
||||||
|
|
||||||
<script>
|
|
||||||
layui.use(['layer','fileManager','jquery'], function () {
|
|
||||||
|
|
||||||
let $ = layui.jquery;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 选择文件
|
|
||||||
*/
|
|
||||||
/*table.on('tool(lay-tableList)', function (obj) {
|
|
||||||
|
|
||||||
let field = $('#choose_filed').val() || undefined;
|
|
||||||
let type = $('#choose_type').val() || undefined;
|
|
||||||
if (!field) {
|
|
||||||
return layer.info('图片信息不存在');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (type === 'images') {
|
|
||||||
let o = parent.layui.$('img.' + field);
|
|
||||||
o.prop('src', obj.data.url);
|
|
||||||
o.parent('div').removeClass('layui-hide');
|
|
||||||
parent.layui.$(o).parents('.layui-upload-drag').find('p,i,hr').addClass('layui-hide');
|
|
||||||
parent.layui.$('input.' + field).val(obj.data.url);
|
|
||||||
} else if (type === 'multiple') {
|
|
||||||
let boxList = parent.layui.$('[lay-choose="' + field + '"]').parents('.layui-imagesbox').find('.layui-input-inline');
|
|
||||||
let length = boxList.length;
|
|
||||||
|
|
||||||
$(boxList).each(function (i, item) {
|
|
||||||
$(item).find('input.layui-hide').prop('name', field + '[' + i + '][src]');
|
|
||||||
$(item).find('input.layui-input').prop('name', field + '[' + i + '][title]');
|
|
||||||
})
|
|
||||||
|
|
||||||
let html = '<div class="layui-input-inline layui-uplpad-image">';
|
|
||||||
html += '<img src="' + obj.data.url + '" >';
|
|
||||||
html += '<input type="text" name="' + field + '[' + (length - 1) + '][src]" class="layui-hide" value="' + obj.data.url + '">';
|
|
||||||
html += '<input type="text" name="' + field + '[' + (length - 1) + '][title]" class="layui-input" placeholder="图片简介">';
|
|
||||||
html += '<span class="layui-badge layui-badge-red" onclick="layui.$(this).parent().remove();">删除</span></div>';
|
|
||||||
let elem = parent.layui.$('[lay-upload="' + field + '"]');
|
|
||||||
parent.layui.$(elem).parent().before(html);
|
|
||||||
parent.layui.$(elem).parents('form').find('input#' + field + '_clear').remove();
|
|
||||||
} else {
|
|
||||||
parent.layui.$('input.' + field).val(obj.data.url);
|
|
||||||
}
|
|
||||||
parent.layer.closeAll();
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
@@ -228,7 +228,7 @@
|
|||||||
|
|
||||||
|
|
||||||
if (typeof(_pageUrl) === 'undefined') {
|
if (typeof(_pageUrl) === 'undefined') {
|
||||||
layer.msg('按钮缺少 url 属性','info');
|
layer.msg('按钮缺少 url 属性');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
layer.close(colletction.index);
|
layer.close(colletction.index);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
|
||||||
|
|||||||
@@ -248,7 +248,7 @@
|
|||||||
pageThat.attr("disabled",true);
|
pageThat.attr("disabled",true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layer.error(res.msg,'error');
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
|||||||
@@ -8,8 +8,7 @@
|
|||||||
<div class="layui-card-header layadmin-card-header-auto ">
|
<div class="layui-card-header layadmin-card-header-auto ">
|
||||||
<blockquote class="layui-elem-quote pluginCenter"> 插件管理:
|
<blockquote class="layui-elem-quote pluginCenter"> 插件管理:
|
||||||
<span style="margin-left: 12px">在线安装、卸载、禁用、启用、配置、升级插件,插件升级前请做好备份并确保服务器读写权限正确</span>
|
<span style="margin-left: 12px">在线安装、卸载、禁用、启用、配置、升级插件,插件升级前请做好备份并确保服务器读写权限正确</span>
|
||||||
<span class="fr"><i class="layui-icon fa-user" onclick="layui.plugin.clearLogin();"
|
<span class="fr"><i class="layui-icon fa-sign-out" onclick="layui.plugin.clearLogin();" title="退出登录"></i></span>
|
||||||
title="退出登录"></i></span>
|
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<div class="layui-form">
|
<div class="layui-form">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
@@ -83,19 +82,20 @@
|
|||||||
{{# } }}
|
{{# } }}
|
||||||
{{# if(d.version > item.version) { }}
|
{{# if(d.version > item.version) { }}
|
||||||
<span class="layui-upgrade-elem">
|
<span class="layui-upgrade-elem">
|
||||||
<a class="layui-table-text upgrade"
|
<a class="layui-table-text upgrade"
|
||||||
data-url="{:url('/system/plugin/config')}?name={{d.name}}">{:__('升级')} <span
|
data-url="{:url('/system/plugin/config')}?name={{d.name}}">{:__('升级')} <span
|
||||||
class="layui-badge-dot"></span></a>
|
class="layui-badge-dot"></span></a>
|
||||||
<div class="layui-divider layui-divider-vertical"></div>
|
<div class="layui-divider layui-divider-vertical"></div>
|
||||||
</span>
|
</span>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
<a class="layui-table-text uninstall" style="color:red"
|
<a class="layui-table-text uninstall" style="color:red"
|
||||||
data-url="{:url('/system/plugin/uninstall')}?name={{d.name}}">{:__('卸载')}</a>
|
data-url="{:url('/system/plugin/uninstall')}?name={{d.name}}">{:__('卸载')}</a>
|
||||||
{{# } else { }}
|
{{# } else { }}
|
||||||
<a class="layui-table-text install" data-url="{:url('/system/plugin/install')}?name={{d.name}}">{:__('安装')}</a>
|
<a class="layui-table-text install" data-url="{:url('/system/plugin/install')}?name={{d.name}}">
|
||||||
{{# if(d.demourl) { }}
|
{:__('安装')} <i class="layui-icon layui-icon-down layui-hide"></i></a>
|
||||||
|
{{# if(d.demo_url) { }}
|
||||||
<div class="layui-divider layui-divider-vertical"></div>
|
<div class="layui-divider layui-divider-vertical"></div>
|
||||||
<a class="layui-table-text" target="_blank" href="{{d.demourl}}">{:__('演示')}</a>
|
<a class="layui-table-text" target="_blank" href="{{d.demo_url}}">{:__('演示')}</a>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# } }}
|
{{# } }}
|
||||||
</script>
|
</script>
|
||||||
@@ -104,11 +104,10 @@
|
|||||||
<script>
|
<script>
|
||||||
layui.use(['admin', 'table', 'plugin', 'dropdown', 'jquery'], function () {
|
layui.use(['admin', 'table', 'plugin', 'dropdown', 'jquery'], function () {
|
||||||
|
|
||||||
let plugin = layui.plugin;
|
|
||||||
let $ = layui.jquery;
|
let $ = layui.jquery;
|
||||||
|
let plugin = layui.plugin;
|
||||||
let table = layui.table;
|
let table = layui.table;
|
||||||
let dropdown = layui.dropdown;
|
let dropdown = layui.dropdown;
|
||||||
window.framework = "{:config('app.version')}";
|
|
||||||
window.plugins = {$plugin|raw};
|
window.plugins = {$plugin|raw};
|
||||||
/*
|
/*
|
||||||
* 初始化表格
|
* 初始化表格
|
||||||
@@ -136,7 +135,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'title', align: 'left', width: 200, templet: function (d) {
|
field: 'title', align: 'left', width: 200, templet: function (d) {
|
||||||
let html = '<a target="_blank" href="' + d.readurl + '">' + d.title + '</a>';
|
let html = '<a target="_blank" href="' + d.read_url + '">' + d.title + '</a>';
|
||||||
if (d.album) {
|
if (d.album) {
|
||||||
html += '<i class="layui-icon layui-icon-picture"></i>';
|
html += '<i class="layui-icon layui-icon-picture"></i>';
|
||||||
}
|
}
|
||||||
@@ -189,38 +188,59 @@
|
|||||||
, done: function (res, curr, count) {
|
, done: function (res, curr, count) {
|
||||||
|
|
||||||
let data = res.data;
|
let data = res.data;
|
||||||
for (const dataKey in data) {
|
for (const index in data) {
|
||||||
let dropArray = [];
|
let value = data[index];
|
||||||
let item = plugins[data[dataKey].name];
|
let item = plugins[value.name];
|
||||||
if (typeof item == 'undefined') {
|
let dropList = [];
|
||||||
continue;
|
let versionList = value.versions;
|
||||||
}
|
if (typeof item == 'undefined' && versionList.length) {
|
||||||
|
if (versionList.length === 1) {
|
||||||
let verInfo = data[dataKey].verInfo;
|
continue;
|
||||||
for (const verInfoKey in verInfo) {
|
}
|
||||||
let v1 = item.version.replaceAll('.', '');
|
for (const key in versionList) {
|
||||||
let v2 = verInfo[verInfoKey].version.replaceAll('.', '');
|
dropList.push({
|
||||||
if (v2 > v1) {
|
name: value.name,
|
||||||
dropArray.push({
|
title: versionList[key].version,
|
||||||
name: data[dataKey].name,
|
version: versionList[key].version
|
||||||
title: verInfo[verInfoKey].version,
|
|
||||||
v: verInfo[verInfoKey].version,
|
|
||||||
pluginName: data[dataKey].title,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
let elem = $('tr[data-index="' + index + '"]').find('.install');
|
||||||
|
$(elem).find('i').removeClass('layui-hide');
|
||||||
if (dropArray.length >= 1) {
|
|
||||||
dropdown.render({
|
dropdown.render({
|
||||||
elem: $('tr[data-index="' + dataKey + '"]').find('.upgrade')
|
elem: elem
|
||||||
, trigger: 'hover'
|
, trigger: 'hover'
|
||||||
, align: 'center'
|
, align: 'center'
|
||||||
, data: dropArray
|
, data: dropList
|
||||||
|
, className: 'install-version'
|
||||||
, click: function (data) {
|
, click: function (data) {
|
||||||
plugin.upgrade(data);
|
plugin.install(data.name, data.version);
|
||||||
}
|
}
|
||||||
, className: 'upgrade-version'
|
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
for (const key in versionList) {
|
||||||
|
let v1 = item.version.replaceAll('.', '');
|
||||||
|
let v2 = versionList[key].version.replaceAll('.', '');
|
||||||
|
if (v2 > v1) {
|
||||||
|
dropList.push({
|
||||||
|
name: value.name,
|
||||||
|
pluginName: value.title,
|
||||||
|
title: versionList[key].version,
|
||||||
|
version: versionList[key].version
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (dropList.length) {
|
||||||
|
dropdown.render({
|
||||||
|
elem: $('tr[data-index="' + index + '"]').find('.upgrade')
|
||||||
|
, trigger: 'hover'
|
||||||
|
, align: 'center'
|
||||||
|
, data: dropList
|
||||||
|
, className: 'upgrade-version'
|
||||||
|
, click: function (data) {
|
||||||
|
plugin.upgrade(data); // 传递给升级按钮即可
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,21 +103,21 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- // 列表工具栏 -->
|
<!-- // 列表工具栏 -->
|
||||||
<script type="text/html" id="tableBar">
|
<script type="text/html" id="tableBar">
|
||||||
<a class="layui-table-text" data-title="{:__('编辑会员')}" data-url="#editforms" lay-event="edit">{:__('编辑')}</a>
|
<a class="layui-table-text" data-title="{:__('编辑会员')}" lay-auth data-url="#editforms" lay-event="edit">{:__('编辑')}</a>
|
||||||
<div class="layui-divider layui-divider-vertical"></div>
|
<div class="layui-divider layui-divider-vertical"></div>
|
||||||
<a class="layui-table-text" data-url="{:url('/system/User/del')}?id={{d.id}}" lay-event="del">{:__('删除')}</a>
|
<a class="layui-table-text" data-url="{:url('/system/User/del')}?id={{d.id}}" lay-event="del">{:__('删除')}</a>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<include file="/public/footer" />
|
<include file="/public/footer" />
|
||||||
<script>
|
<script>
|
||||||
layui.use(['table'], function () {
|
layui.use(['table', 'show', 'notice'], function () {
|
||||||
|
|
||||||
var table = layui.table;
|
let table = layui.table;
|
||||||
/*
|
/*
|
||||||
* 初始化表格
|
* 初始化表格
|
||||||
*/
|
*/
|
||||||
var isTable = table.render({
|
let isTable = table.render({
|
||||||
elem: "#lay-tableList"
|
elem: "#lay-tableList"
|
||||||
,url: "{:url('/system/User/index')}"
|
,url: "{:url('/system/User/index')}"
|
||||||
,page: true
|
,page: true
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
layer.msg(res.msg);
|
layer.msg(res.msg);
|
||||||
admin.event.closeDialog();
|
admin.event.closeDialog();
|
||||||
}else {
|
}else {
|
||||||
layer.error(res.msg);
|
layui.show.error(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="vip-name">
|
<div class="vip-name">
|
||||||
<span>{$user.nickname} <i class="layui-icon fa-edit" lay-open data-title="修改昵称" data-url="#nickname" data-area="398px,230px"></i></span>
|
<span>{$user.nickname} <i class="layui-icon layui-icon-survey" lay-open data-title="修改昵称" data-url="#nickname" data-area="398px,230px"></i></span>
|
||||||
<span>UID: {$user.id|supplement_id}</span>
|
<span>UID: {$user.id|supplement_id}</span>
|
||||||
<span><a>已加入第 {$user.create_time|distance_day} 天</a></span>
|
<span><a>已加入第 {$user.create_time|distance_day} 天</a></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<div class="layui-col-md3">
|
<div class="layui-col-md3">
|
||||||
<div class="contract-title">手机</div>
|
<div class="contract-title">手机</div>
|
||||||
<div class="contract-detail">+86 {$user.mobile|default='未绑定'}
|
<div class="contract-detail">+86 {$user.mobile|default='未绑定'}
|
||||||
<i class="layui-icon fa-edit" title="编辑" lay-open data-title="修改手机"
|
<i class="layui-icon layui-icon-survey" title="编辑" lay-open data-title="修改手机"
|
||||||
data-url="/index/user/changeMobile" data-area="500px,300px"></i>
|
data-url="/index/user/changeMobile" data-area="500px,300px"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
<div class="layui-col-md3">
|
<div class="layui-col-md3">
|
||||||
<div class="contract-title">办公室邮箱</div>
|
<div class="contract-title">办公室邮箱</div>
|
||||||
<div class="contract-detail">{$user.email|default='member@domain.com'}
|
<div class="contract-detail">{$user.email|default='member@domain.com'}
|
||||||
<i class="layui-icon fa-edit" title="编辑" lay-open data-title="修改邮箱"
|
<i class="layui-icon layui-icon-survey" title="编辑" lay-open data-title="修改邮箱"
|
||||||
data-url="/index/user/changeEmail" data-area="500px,300px"></i>
|
data-url="/index/user/changeEmail" data-area="500px,300px"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -153,17 +153,17 @@
|
|||||||
<div class="layui-card-body layui-row layui-col-space10" style="max-height: 146px;overflow: auto">
|
<div class="layui-card-body layui-row layui-col-space10" style="max-height: 146px;overflow: auto">
|
||||||
<div class="layui-col-md4">
|
<div class="layui-col-md4">
|
||||||
<div class="speed-entry-item" data-url="/index/user/profile">
|
<div class="speed-entry-item" data-url="/index/user/profile">
|
||||||
<i class="layui-icon fa-user"></i> 我的主页
|
<i class="layui-icon layui-icon-home"></i> 我的主页
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md4">
|
<div class="layui-col-md4">
|
||||||
<div class="speed-entry-item" data-url="/index/user/message">
|
<div class="speed-entry-item" data-url="/index/user/message">
|
||||||
<i class="layui-icon fa-comment"></i> 站内消息
|
<i class="layui-icon layui-icon-notice"></i> 站内消息
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md4">
|
<div class="layui-col-md4">
|
||||||
<div class="speed-entry-item" data-url="/index/user/security">
|
<div class="speed-entry-item" data-url="/index/user/security">
|
||||||
<i class="layui-icon fa-get-pocket"></i> 安全中心
|
<i class="layui-icon layui-icon-auz"></i> 安全中心
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{:get_plugin_menu_entry('tabs')}
|
{:get_plugin_menu_entry('tabs')}
|
||||||
@@ -191,7 +191,6 @@
|
|||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
<div class="layui-card-header">🏷️ 新闻公告</div>
|
<div class="layui-card-header">🏷️ 新闻公告</div>
|
||||||
<ul id="newsList" class="news-list">
|
<ul id="newsList" class="news-list">
|
||||||
{$newsHtml|raw}
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-card">
|
<div class="layui-card">
|
||||||
@@ -276,28 +275,34 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
layui.use(['jquery', 'upload','carousel'], function () {
|
layui.use(['jquery', 'upload','carousel'], function () {
|
||||||
var $ = layui.jquery;
|
let $ = layui.jquery;
|
||||||
var upload = layui.upload;
|
let upload = layui.upload;
|
||||||
var carousel = layui.carousel;
|
let carousel = layui.carousel;
|
||||||
|
|
||||||
// API请求热门插件
|
// API请求热门插件
|
||||||
$.ajax({
|
$.get( 'https://api.swiftadmin.net/ajax/recommend',{
|
||||||
type: 'GET',
|
type: 'hot'
|
||||||
url: 'https://api.swiftadmin.net/plugin/recommend',
|
}, function (res) {
|
||||||
data: {type: 'hot'},
|
if (res.code === 200) {
|
||||||
dataType: 'json',
|
$('#appPluginList').html(res.data);
|
||||||
success: function (res) {
|
}
|
||||||
if (res.code === 200) {
|
carousel.render({
|
||||||
$('#appPluginList').html(res.data);
|
elem: '#pluginApp'
|
||||||
}
|
,height: '120px'
|
||||||
carousel.render({
|
,interval: 3000
|
||||||
elem: '#pluginApp'
|
,anim: 'fade'
|
||||||
,height: '120px'
|
});
|
||||||
,interval: 3000
|
})
|
||||||
,anim: 'fade'
|
|
||||||
});
|
// 请求新闻
|
||||||
},
|
$.get('https://api.swiftadmin.net/ajax/article', function (res) {
|
||||||
error: function () {}
|
if (res.code === 200) {
|
||||||
|
let html = '';
|
||||||
|
$.each(res.data, function (i, item) {
|
||||||
|
html += '<li><a href="' + item.read_url + '" target="_blank">📢 ' + item.title + '</a></li>';
|
||||||
|
})
|
||||||
|
$('#newsList').html(html);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
$('.speed-entry-item').click(function (e) {
|
$('.speed-entry-item').click(function (e) {
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa-wechat, .fa-mobile-phone {
|
.layui-icon-login-wechat, .layui-icon-cellphone {
|
||||||
font-size: 4em;
|
font-size: 4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
|
|
||||||
<div class="alert-warn">
|
<div class="alert-warn">
|
||||||
<span>
|
<span>
|
||||||
<i class="layui-icon fa-info-circle"></i>
|
<i class="layui-icon layui-icon-vercode"></i>
|
||||||
根据《中华人民共和国网络安全法》等网络安全相关法律法规规定,及按网监,公安等有关监管单位要求,互联网计算资源用户须完成用户实名认证才能使用。
|
根据《中华人民共和国网络安全法》等网络安全相关法律法规规定,及按网监,公安等有关监管单位要求,互联网计算资源用户须完成用户实名认证才能使用。
|
||||||
请您认真填写相关实名认证信息,完成实名认证申请。
|
请您认真填写相关实名认证信息,完成实名认证申请。
|
||||||
</span>
|
</span>
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
|
|
||||||
<div class="layui-col-md4 choose-item " lay-open data-title="实名认证" data-url="#author" data-area="520px,390px">
|
<div class="layui-col-md4 choose-item " lay-open data-title="实名认证" data-url="#author" data-area="520px,390px">
|
||||||
<div class="layui-col-md2">
|
<div class="layui-col-md2">
|
||||||
<div class="svg"><i class="layui-icon fa-mobile-phone"></i></div>
|
<div class="svg"><i class="layui-icon layui-icon-cellphone"></i></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md10">
|
<div class="layui-col-md10">
|
||||||
<span class="subtitle">手机号码 验证实名</span>
|
<span class="subtitle">手机号码 验证实名</span>
|
||||||
@@ -106,9 +106,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-col-md4 choose-item" onclick="layui.layer.msg('暂未支持','info')">
|
<div class="layui-col-md4 choose-item" onclick="layui.layer.msg('暂未支持')">
|
||||||
<div class="layui-col-md2">
|
<div class="layui-col-md2">
|
||||||
<div class="svg"><i class="layui-icon fa-wechat"></i></div>
|
<div class="svg"><i class="layui-icon layui-icon-login-wechat"></i></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-col-md10">
|
<div class="layui-col-md10">
|
||||||
<span class="subtitle">微信人脸 识别认证</span>
|
<span class="subtitle">微信人脸 识别认证</span>
|
||||||
|
|||||||
@@ -13,7 +13,11 @@
|
|||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">原密码</label>
|
<label class="layui-form-label">原密码</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" id="oldpwd" name="oldpwd" class="layui-input" >
|
<empty name="$user['pwd']">
|
||||||
|
<input type="text" id="oldpwd" name="oldpwd" class="layui-input layui-disabled" placeholder="您的原密码为空(可不填)" disabled>
|
||||||
|
<else/>
|
||||||
|
<input type="text" id="oldpwd" name="oldpwd" class="layui-input" placeholder="请输入原密码">
|
||||||
|
</empty>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
@@ -66,7 +70,7 @@
|
|||||||
parent.location.reload();
|
parent.location.reload();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
top.layer.msg(res.msg,'error');
|
top.layer.msg(res.msg,{icon:2});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
$('#uCode').click(function (e) {
|
$('#uCode').click(function (e) {
|
||||||
let name = $('#name').val();
|
let name = $('#name').val();
|
||||||
if (name === '') {
|
if (name === '') {
|
||||||
layer.msg('请输入邮箱或手机号', 'info');
|
layer.msg('请输入邮箱或手机号', {icon: 5});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
let regUrl = '/api/ajax/smsSend';
|
let regUrl = '/api/ajax/smsSend';
|
||||||
@@ -74,9 +74,9 @@
|
|||||||
success: function (res) {
|
success: function (res) {
|
||||||
|
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
layer.msg(res.msg, 'success');
|
layer.msg(res.msg);
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, 'error');
|
layer.msg(res.msg, {icon: 5});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="format-detection" content="telephone=no">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<link rel="stylesheet" href="/static/js/layui/css/layui.css">
|
<link rel="stylesheet" href="/static/js/layui/css/layui.css">
|
||||||
<!-- // 加载font-awesome图标 -->
|
|
||||||
<link href="/static/js/layui/css/font-awesome.css?v={:config('app.version')}" rel="stylesheet" type="text/css" />
|
|
||||||
<link rel="stylesheet" href="/static/css/center.css?v={:release()}">
|
<link rel="stylesheet" href="/static/css/center.css?v={:release()}">
|
||||||
<script src="/static/js/layui/layui.js"></script>
|
<script src="/static/js/layui/layui.js"></script>
|
||||||
<script src="/static/js/center.js?v={:release()}"></script>
|
<script src="/static/js/center.js?v={:release()}"></script>
|
||||||
|
|||||||
@@ -9,20 +9,23 @@
|
|||||||
<div class="layui-layout layui-layout-admin">
|
<div class="layui-layout layui-layout-admin">
|
||||||
<div class="layui-header">
|
<div class="layui-header">
|
||||||
<div class="layui-logo layui-side-body layui-hide-xs layui-bg-black">
|
<div class="layui-logo layui-side-body layui-hide-xs layui-bg-black">
|
||||||
<!--// 可以增加LOGO-->
|
<!--// 可以增加LOGO-->
|
||||||
<img src="/static/system/images/logo.png" style="margin-bottom: 8px;margin-right: 10px" alt="logo" width="22" height="22" >
|
<img src="/static/system/images/logo.png" style="margin-bottom: 8px;" alt="logo" width="22" height="22" >
|
||||||
<span class="logo-text">会员中心</span>
|
<span class="logo-text">用户后台管理</span>
|
||||||
</div>
|
</div>
|
||||||
<ul class="layui-nav layui-layout-left">
|
<ul class="layui-nav layui-layout-left">
|
||||||
<li id="shrink" class="layui-nav-item layui-show-xs-inline-block" >
|
<li id="shrink" class="layui-nav-item layui-show-xs-inline-block" >
|
||||||
<i class="layui-icon layui-icon-shrink-right"></i>
|
<i class="layui-icon layui-icon-shrink-right"></i>
|
||||||
</li>
|
</li>
|
||||||
|
<li id="refresh" class="layui-nav-item" >
|
||||||
|
<i class="layui-icon layui-icon-refresh"></i>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="layui-nav layui-layout-right">
|
<ul class="layui-nav layui-layout-right">
|
||||||
|
|
||||||
<li class="layui-nav-item" lay-unselect="">
|
<li class="layui-nav-item" lay-unselect="">
|
||||||
<a href="/" title="主页">
|
<a href="/" title="主页">
|
||||||
<i class="layui-icon fa-home"></i>
|
<i class="layui-icon layui-icon-home"></i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@@ -30,9 +33,9 @@
|
|||||||
<a href="javascript:;" id="notice">
|
<a href="javascript:;" id="notice">
|
||||||
<div id="unread" data-count="{$unread|default='0'}"></div>
|
<div id="unread" data-count="{$unread|default='0'}"></div>
|
||||||
<empty name="$unread">
|
<empty name="$unread">
|
||||||
<i class="layui-icon fa-bell-o"></i>
|
<i class="layui-icon layui-icon-notice"></i>
|
||||||
<else/>
|
<else/>
|
||||||
<i class="layui-icon fa-bell"></i>
|
<i class="layui-icon layui-icon-notice"></i>
|
||||||
<span class="layui-badge-dot"></span>
|
<span class="layui-badge-dot"></span>
|
||||||
</empty>
|
</empty>
|
||||||
</a>
|
</a>
|
||||||
@@ -68,14 +71,6 @@
|
|||||||
let $ = layui.jquery;
|
let $ = layui.jquery;
|
||||||
let upload = layui.upload;
|
let upload = layui.upload;
|
||||||
|
|
||||||
// 默认展现首个菜单栏
|
|
||||||
$('.layui-nav-tree .layui-nav-item').each(function (k,e) {
|
|
||||||
if ($(e).find('dl.layui-nav-child').length) {
|
|
||||||
$(e).addClass('layui-nav-itemed');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// 点击切换页面地址
|
// 点击切换页面地址
|
||||||
$('body').on('click', '.layui-nav-tree a', function () {
|
$('body').on('click', '.layui-nav-tree a', function () {
|
||||||
let href = $(this).attr('lay-href');
|
let href = $(this).attr('lay-href');
|
||||||
@@ -85,25 +80,6 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 上传头像
|
|
||||||
upload.render({
|
|
||||||
elem: '.layui-user-avatar'
|
|
||||||
,url: '/index/user/avatars'
|
|
||||||
,method: 'post'
|
|
||||||
,accept: 'file'
|
|
||||||
,before: function(res) {
|
|
||||||
layer.msg('上传中');
|
|
||||||
},done: function(res, index, upload) {
|
|
||||||
// 上传成功
|
|
||||||
if (res.code === 200) {
|
|
||||||
layer.msg(res.msg);
|
|
||||||
$('#imgHead img').attr('src',res.url);
|
|
||||||
} else {
|
|
||||||
layer.msg(res.msg,'error');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
let leftAnimate = function (action = true) {
|
let leftAnimate = function (action = true) {
|
||||||
if (action) {
|
if (action) {
|
||||||
$('.layui-side').animate({width: '0px'});
|
$('.layui-side').animate({width: '0px'});
|
||||||
@@ -135,9 +111,11 @@
|
|||||||
let skin = layui.data('skin').theme || undefined;
|
let skin = layui.data('skin').theme || undefined;
|
||||||
if (skin === 'layui-bg-white') {
|
if (skin === 'layui-bg-white') {
|
||||||
$('.layui-side-body').removeClass('layui-bg-black').addClass(skin);
|
$('.layui-side-body').removeClass('layui-bg-black').addClass(skin);
|
||||||
$('#skin').removeClass('fa-moon-o').addClass('fa-sun-o');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('#refresh').click(function (e) {
|
||||||
|
$('#iframe').attr('src',$('#iframe').attr('src'));
|
||||||
|
})
|
||||||
bellMessage($('#unread').data('count'));
|
bellMessage($('#unread').data('count'));
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
<input type="password" id="pwd" name="pwd" lay-verify="required" data-title="密码"
|
<input type="password" id="pwd" name="pwd" lay-verify="required" data-title="密码"
|
||||||
maxlength="32"
|
maxlength="32"
|
||||||
placeholder="{:__('密码')}" class="inputStyle" value="">
|
placeholder="{:__('密码')}" class="inputStyle" value="">
|
||||||
<span class="fr-icon visiblePwd"><i class="layui-icon fa-eye-slash"></i></span>
|
<span class="fr-icon visiblePwd"><i class="layui-icon layui-icon-eye-invisible"></i></span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@@ -124,9 +124,9 @@
|
|||||||
<div class="fr">
|
<div class="fr">
|
||||||
<a class="link" href="#" target="_top">
|
<a class="link" href="#" target="_top">
|
||||||
<span>
|
<span>
|
||||||
<i class="layui-icon fa-apple"></i>
|
<i class="layui-icon layui-icon-ios"></i>
|
||||||
<i class="layui-icon fa-android"></i>
|
<i class="layui-icon layui-icon-android"></i>
|
||||||
<i class="layui-icon fa-windows"></i>
|
<i class="layui-icon layui-icon-windows"></i>
|
||||||
<span class="tit">下载 APP</span>
|
<span class="tit">下载 APP</span>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
let name = $(item).attr('name');
|
let name = $(item).attr('name');
|
||||||
let title = $(item).data('title');
|
let title = $(item).data('title');
|
||||||
if (!value) {
|
if (!value) {
|
||||||
layer.msg(title + '不能为空', 'info');
|
layer.msg(title + '不能为空', {icon: 5});
|
||||||
$(item).focus();
|
$(item).focus();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -172,7 +172,9 @@
|
|||||||
window.location.href = '/index/user/index';
|
window.location.href = '/index/user/index';
|
||||||
}, 1000);
|
}, 1000);
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, 'error')
|
layui.notice.error({
|
||||||
|
message: res.msg
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}, 'json');
|
}, 'json');
|
||||||
}
|
}
|
||||||
@@ -183,10 +185,10 @@
|
|||||||
let type = $('#pwd').attr('type');
|
let type = $('#pwd').attr('type');
|
||||||
if (type === 'password') {
|
if (type === 'password') {
|
||||||
$('#pwd').attr('type', 'text');
|
$('#pwd').attr('type', 'text');
|
||||||
$(this).find('i.layui-icon').addClass('fa-eye').removeClass('fa-eye-slash');
|
$(this).find('i.layui-icon').addClass('layui-icon-eye').removeClass('layui-icon-eye-invisible');
|
||||||
} else {
|
} else {
|
||||||
$('#pwd').attr('type', 'password');
|
$('#pwd').attr('type', 'password');
|
||||||
$(this).find('i.layui-icon').addClass('fa-eye-slash').removeClass('fa-eye');
|
$(this).find('i.layui-icon').addClass('layui-icon-eye-invisible').removeClass('layui-icon-eye');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -203,7 +205,9 @@
|
|||||||
!queryTicket && queryRequest(res.data.ticket);
|
!queryTicket && queryRequest(res.data.ticket);
|
||||||
$('#scanCover').attr('src', res.data.qrcode || '/static/images/qrcode.png');
|
$('#scanCover').attr('src', res.data.qrcode || '/static/images/qrcode.png');
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, 'info');
|
layui.notice.error({
|
||||||
|
message: res.msg
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</style>
|
</style>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<div class="layui-row" >
|
<div class="layui-row" >
|
||||||
<div id="cardInfo" class="layui-card"> <i class="layui-icon fa-bullhorn"></i> 短消息是本站系统给您发送的提醒消息,请务必阅读。如因自身未阅读导致出现的相关问题后果自负!</div>
|
<div id="cardInfo" class="layui-card"> <i class="layui-icon layui-icon-speaker"></i> 短消息是本站系统给您发送的提醒消息,请务必阅读。如因自身未阅读导致出现的相关问题后果自负!</div>
|
||||||
<div class="layui-card" style="padding-top: 10px">
|
<div class="layui-card" style="padding-top: 10px">
|
||||||
<!-- // 默认操作按钮 -->
|
<!-- // 默认操作按钮 -->
|
||||||
<div class="layui-card-header layadmin-card-header-auto ">
|
<div class="layui-card-header layadmin-card-header-auto ">
|
||||||
@@ -53,11 +53,6 @@
|
|||||||
title += ' layui-table-text-red';
|
title += ' layui-table-text-red';
|
||||||
}
|
}
|
||||||
title += '" lay-open data-title="查看消息" data-url="/index/user/viewMessage?id=' + e.id + '" data-area="600px, 390px" >';
|
title += '" lay-open data-title="查看消息" data-url="/index/user/viewMessage?id=' + e.id + '" data-area="600px, 390px" >';
|
||||||
if (e.status === 0) {
|
|
||||||
title += '<i class="layui-icon fa-envelope"></i> ';
|
|
||||||
} else {
|
|
||||||
title += '<i class="layui-icon fa-envelope-o"></i> ';
|
|
||||||
}
|
|
||||||
title += e.title;
|
title += e.title;
|
||||||
title += '</a>';
|
title += '</a>';
|
||||||
return title;
|
return title;
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
let unread = $('#unread').data('count');
|
let unread = $('#unread').data('count');
|
||||||
if (!unread) {
|
if (!unread) {
|
||||||
top.layui.$('#notice').find('.layui-badge-dot').hide();
|
top.layui.$('#notice').find('.layui-badge-dot').hide();
|
||||||
top.layui.$('#notice').find('.fa-bell').removeClass('fa-bell').addClass('fa-bell-o');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新消息数量
|
// 更新消息数量
|
||||||
|
|||||||
@@ -1,29 +1,15 @@
|
|||||||
<layout name="layout:layout"/>
|
<layout name="layout:layout"/>
|
||||||
<!-- 内容主体区域 -->
|
<!-- 内容主体区域 -->
|
||||||
<style>
|
<style>
|
||||||
|
.red{color:red}
|
||||||
.red {
|
.mt30{margin-top:30px}
|
||||||
color: red;
|
.layui-form{padding-top:10px}
|
||||||
}
|
.layui-form-item{padding:8px 0}
|
||||||
.mt30 {
|
.layui-form-item:nth-child(odd){background-color:#f8f8f8}
|
||||||
margin-top: 30px;
|
.layui-form-item .layui-input-inline{width:25% !important}
|
||||||
}
|
@media screen and (min-width:1024px){.layui-input-inline{min-width:260px!important}
|
||||||
|
.address{min-width:639px!important}
|
||||||
.layui-form {
|
}
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 1024px) {
|
|
||||||
|
|
||||||
.layui-input-inline {
|
|
||||||
min-width: 260px!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.address {
|
|
||||||
min-width: 639px!important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<div class="layui-row">
|
<div class="layui-row">
|
||||||
@@ -130,7 +116,7 @@
|
|||||||
$('.avatar').attr('src', res.url + '?' + parseInt(100 * Math.random()));
|
$('.avatar').attr('src', res.url + '?' + parseInt(100 * Math.random()));
|
||||||
return layer.msg(res.msg);
|
return layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
layer.msg(res.msg, 'error');
|
layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -147,7 +133,7 @@
|
|||||||
top.layer.msg(res.msg);
|
top.layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
top.layer.msg(res.msg,'error');
|
top.layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<div id="content" class="userLogin layui-fluid">
|
<div id="content" class="userLogin layui-fluid">
|
||||||
|
|
||||||
<div class="form-header">
|
<div class="form-header">
|
||||||
<i class="layui-icon fa-user-plus"></i>
|
<i class="layui-icon layui-icon-username"></i>
|
||||||
<h6>用户注册</h6>
|
<h6>用户注册</h6>
|
||||||
</div>
|
</div>
|
||||||
<div class="formLogin active">
|
<div class="formLogin active">
|
||||||
@@ -32,13 +32,13 @@
|
|||||||
<div class="layui-form-item item-input">
|
<div class="layui-form-item item-input">
|
||||||
<input type="password" id="pwd" name="pwd" lay-verify="required" data-title="密码" maxlength="32"
|
<input type="password" id="pwd" name="pwd" lay-verify="required" data-title="密码" maxlength="32"
|
||||||
placeholder="{:__('请输入密码')}" class="inputStyle" value="">
|
placeholder="{:__('请输入密码')}" class="inputStyle" value="">
|
||||||
<span class="fr-icon visiblePwd"><i class="layui-icon fa-eye-slash"></i></span>
|
<span class="fr-icon visiblePwd"><i class="layui-icon layui-icon-eye-invisible"></i></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item item-input">
|
<div class="layui-form-item item-input">
|
||||||
<input type="password" id="pwd2" lay-verify="required" data-title="密码" maxlength="32"
|
<input type="password" id="pwd2" lay-verify="required" data-title="密码" maxlength="32"
|
||||||
placeholder="{:__('请输入确认密码')}" class="inputStyle" value="">
|
placeholder="{:__('请输入确认密码')}" class="inputStyle" value="">
|
||||||
<span class="fr-icon visiblePwd"><i class="layui-icon fa-eye-slash"></i></span>
|
<span class="fr-icon visiblePwd"><i class="layui-icon layui-icon-eye-invisible"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<eq name="style" value="mobile">
|
<eq name="style" value="mobile">
|
||||||
<div class="layui-form-item item-input">
|
<div class="layui-form-item item-input">
|
||||||
@@ -84,9 +84,9 @@
|
|||||||
<div class="fr">
|
<div class="fr">
|
||||||
<a class="link" href="#" target="_top">
|
<a class="link" href="#" target="_top">
|
||||||
<span>
|
<span>
|
||||||
<i class="layui-icon fa-apple"></i>
|
<i class="layui-icon layui-icon-ios"></i>
|
||||||
<i class="layui-icon fa-android"></i>
|
<i class="layui-icon layui-icon-android"></i>
|
||||||
<i class="layui-icon fa-windows"></i>
|
<i class="layui-icon layui-icon-windows"></i>
|
||||||
<span class="tit">下载 APP</span>
|
<span class="tit">下载 APP</span>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -114,13 +114,12 @@
|
|||||||
let type = $(elem).attr('type');
|
let type = $(elem).attr('type');
|
||||||
if (type === 'password') {
|
if (type === 'password') {
|
||||||
$(elem).attr('type','text');
|
$(elem).attr('type','text');
|
||||||
$(this).find('i.layui-icon').addClass('fa-eye').removeClass('fa-eye-slash');
|
$(this).find('i.layui-icon').addClass('layui-icon-eye').removeClass('layui-icon-eye-invisible');
|
||||||
} else {
|
} else {
|
||||||
$(elem).attr('type','password');
|
$(elem).attr('type','password');
|
||||||
$(this).find('i.layui-icon').addClass('fa-eye-slash').removeClass('fa-eye');
|
$(this).find('i.layui-icon').addClass('layui-icon-eye-invisible').removeClass('layui-icon-eye');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
<div class="settings-tier">
|
<div class="settings-tier">
|
||||||
<div class="settings-detail fl">
|
<div class="settings-detail fl">
|
||||||
<span class="setting-status">
|
<span class="setting-status">
|
||||||
<i class="layui-icon fa-check"></i>
|
<i class="layui-icon layui-icon-ok-circle"></i>
|
||||||
</span>
|
</span>
|
||||||
<span class="setting-name">修改密码</span>
|
<span class="setting-name">修改密码</span>
|
||||||
<span class="setting-intro">安全性高的密码可以使账户更安全;互联网账号存在被盗风险,建议您定期更换密码</span>
|
<span class="setting-intro">安全性高的密码可以使账户更安全;互联网账号存在被盗风险,建议您定期更换密码</span>
|
||||||
@@ -68,9 +68,9 @@
|
|||||||
<div class="settings-detail fl">
|
<div class="settings-detail fl">
|
||||||
<span class="setting-status">
|
<span class="setting-status">
|
||||||
<empty name="$user['mobile']">
|
<empty name="$user['mobile']">
|
||||||
<i class="layui-icon fa-warning"></i>
|
<i class="layui-icon layui-icon-question"></i>
|
||||||
<else/>
|
<else/>
|
||||||
<i class="layui-icon fa-check"></i>
|
<i class="layui-icon layui-icon-ok-circle"></i>
|
||||||
</empty>
|
</empty>
|
||||||
</span>
|
</span>
|
||||||
<span class="setting-name">手机绑定</span>
|
<span class="setting-name">手机绑定</span>
|
||||||
@@ -92,9 +92,9 @@
|
|||||||
<div class="settings-detail fl">
|
<div class="settings-detail fl">
|
||||||
<span class="setting-status">
|
<span class="setting-status">
|
||||||
<empty name="$user['email']">
|
<empty name="$user['email']">
|
||||||
<i class="layui-icon fa-warning"></i>
|
<i class="layui-icon layui-icon-question"></i>
|
||||||
<else/>
|
<else/>
|
||||||
<i class="layui-icon fa-check"></i>
|
<i class="layui-icon layui-icon-ok-circle"></i>
|
||||||
</empty>
|
</empty>
|
||||||
</span>
|
</span>
|
||||||
<span class="setting-name">邮箱绑定 </span>
|
<span class="setting-name">邮箱绑定 </span>
|
||||||
@@ -116,9 +116,9 @@
|
|||||||
<div class="settings-detail fl">
|
<div class="settings-detail fl">
|
||||||
<span class="setting-status">
|
<span class="setting-status">
|
||||||
<empty name="$user['answer']">
|
<empty name="$user['answer']">
|
||||||
<i class="layui-icon fa-warning"></i>
|
<i class="layui-icon layui-icon-question"></i>
|
||||||
<else/>
|
<else/>
|
||||||
<i class="layui-icon fa-check"></i>
|
<i class="layui-icon layui-icon-ok-circle"></i>
|
||||||
</empty>
|
</empty>
|
||||||
</span>
|
</span>
|
||||||
<span class="setting-name">密保问题 </span>
|
<span class="setting-name">密保问题 </span>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<div class="settings-tier">
|
<div class="settings-tier">
|
||||||
<div class="settings-detail fl">
|
<div class="settings-detail fl">
|
||||||
<span class="setting-status">
|
<span class="setting-status">
|
||||||
<i class="layui-icon fa-wechat"></i>
|
<i class="layui-icon layui-icon-login-wechat"></i>
|
||||||
</span>
|
</span>
|
||||||
<span class="setting-name">微信绑定</span>
|
<span class="setting-name">微信绑定</span>
|
||||||
<span class="setting-intro">暂未绑定。 绑定认证后可用于快捷登录、接收微信通知</span>
|
<span class="setting-intro">暂未绑定。 绑定认证后可用于快捷登录、接收微信通知</span>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--// 初始化菜单-->
|
<!--// 初始化菜单-->
|
||||||
<ul class="layui-nav layui-nav-tree" lay-filter="master">
|
<ul class="layui-nav layui-nav-tree" lay-filter="master">
|
||||||
|
|
||||||
<li class="layui-nav-item">
|
<li class="layui-nav-item layui-nav-itemed">
|
||||||
<a class="#" href="javascript:;">Dashboard</a>
|
<a class="#" href="javascript:;">Dashboard</a>
|
||||||
<dl class="layui-nav-child">
|
<dl class="layui-nav-child">
|
||||||
<dd class="layui-this"><a lay-href="/index/user/center">控制台</a></dd>
|
<dd class="layui-this"><a lay-href="/index/user/center">控制台</a></dd>
|
||||||
|
|||||||
@@ -170,7 +170,7 @@
|
|||||||
location.href = res.url;
|
location.href = res.url;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layer.msg(res.msg,'error');
|
layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -147,7 +147,7 @@
|
|||||||
location.href = res.url;
|
location.href = res.url;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layer.msg(res.msg,'error');
|
layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
},'json');
|
},'json');
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -104,7 +104,7 @@
|
|||||||
jquery('.layui-complete').show();
|
jquery('.layui-complete').show();
|
||||||
jquery.get('/install/index/clear',{},function(res){});
|
jquery.get('/install/index/clear',{},function(res){});
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg,'error');
|
layer.msg(res.msg);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -108,16 +108,20 @@ b.msg {
|
|||||||
background: 0!important;
|
background: 0!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-layout-admin .layui-header {
|
.layui-header {
|
||||||
background-color: #fff!important;
|
background-color: #fff!important;
|
||||||
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 15%);
|
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 15%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-layout-admin .layui-header .layui-nav-item a {
|
.layui-header .layui-layout-left .layui-nav-item {
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-header .layui-nav-item a {
|
||||||
color: #0C1021!important;
|
color: #0C1021!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-layout-admin .layui-logo {
|
.layui-header .layui-logo {
|
||||||
box-shadow: 0 0px 2px 0 rgb(0 0 0 / 15%);
|
box-shadow: 0 0px 2px 0 rgb(0 0 0 / 15%);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +130,7 @@ b.msg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.logo-text {
|
.logo-text {
|
||||||
font-size: 20px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-btn-primary {
|
.layui-btn-primary {
|
||||||
@@ -340,7 +344,7 @@ a[lay-event="del"] {
|
|||||||
background: #3464FF !important;
|
background: #3464FF !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-layout-admin .layui-layout-left a.flexible-btn {
|
.layui-layout-left a.flexible-btn {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 18px 13px 0 0;
|
margin: 18px 13px 0 0;
|
||||||
color: rgba(255, 255, 255, .6);
|
color: rgba(255, 255, 255, .6);
|
||||||
@@ -522,16 +526,16 @@ a[lay-event="del"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#content .setting-status i.layui-icon {
|
#content .setting-status i.layui-icon {
|
||||||
font-size: 30px;
|
font-size: 16px;
|
||||||
margin-left: 20px;
|
margin-left: 10px;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content .setting-status i.fa-check {
|
#content .setting-status i.layui-icon-ok-circle {
|
||||||
color: #0b8235;
|
color: #0b8235;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content .setting-status i.fa-warning {
|
#content .setting-status i.layui-icon-question {
|
||||||
color: #ffa200;
|
color: #ffa200;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* CommonJS For Home - v1.0.0 - 2022-10-10
|
* center For Home - v1.0.0 - 2022-10-10
|
||||||
* https://github.com/meystack/swiftadmin
|
* https://github.com/meystack/swiftadmin
|
||||||
* Copyright (c) meystack
|
* Copyright (c) meystack
|
||||||
* Licensed Apache2.0
|
* Licensed Apache2.0
|
||||||
@@ -27,7 +27,6 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
}], ready: function (elemPanel, elem) {
|
}], ready: function (elemPanel, elem) {
|
||||||
}
|
}
|
||||||
, click: function (data, index) {
|
, click: function (data, index) {
|
||||||
console.log(data, index);
|
|
||||||
let elem = $('.layui-nav-tree li [lay-href="/user/message"]');
|
let elem = $('.layui-nav-tree li [lay-href="/user/message"]');
|
||||||
$(elem).parents('.layui-nav-item').addClass('layui-nav-itemed');
|
$(elem).parents('.layui-nav-item').addClass('layui-nav-itemed');
|
||||||
$(elem).trigger('click');
|
$(elem).trigger('click');
|
||||||
@@ -107,6 +106,9 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
|
|
||||||
// 开启节流
|
// 开启节流
|
||||||
that.attr("disabled", true);
|
that.attr("disabled", true);
|
||||||
|
setTimeout(function () {
|
||||||
|
that.attr("disabled", false);
|
||||||
|
}, 2000);
|
||||||
$.post(_url,
|
$.post(_url,
|
||||||
data.field, function (res) {
|
data.field, function (res) {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
@@ -133,7 +135,7 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
Home.event.closeDialog(that);
|
Home.event.closeDialog(that);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
top.layui.layer.msg(res.msg, 'error');
|
top.layui.layer.msg(res.msg, {icon: 5});
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -144,9 +146,7 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
if (typeof res.data.__token__ !== 'undefined') {
|
if (typeof res.data.__token__ !== 'undefined') {
|
||||||
$('input#__token__').val(res.data.__token__);
|
$('input#__token__').val(res.data.__token__);
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {}
|
||||||
}
|
|
||||||
that.attr("disabled", false);
|
|
||||||
}, 'json');
|
}, 'json');
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -232,7 +232,7 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
uploadFiles[type](res, name);
|
uploadFiles[type](res, name);
|
||||||
} else {
|
} else {
|
||||||
// 错误消息
|
// 错误消息
|
||||||
layer.error(res.msg);
|
layer.msg(res.msg, {icon: 5});
|
||||||
}
|
}
|
||||||
that.prop("disabled", false);
|
that.prop("disabled", false);
|
||||||
}
|
}
|
||||||
@@ -312,7 +312,7 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
}
|
}
|
||||||
layer.msg(res.msg);
|
layer.msg(res.msg);
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, 'error');
|
layer.msg(res.msg, {icon: 5});
|
||||||
}
|
}
|
||||||
that.attr('disabled', false);
|
that.attr('disabled', false);
|
||||||
}, 'json');
|
}, 'json');
|
||||||
@@ -340,7 +340,7 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (list.data.length === 0) {
|
if (list.data.length === 0) {
|
||||||
layer.msg('请勾选数据', 'error');
|
layer.msg('请勾选数据');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -366,7 +366,7 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
layer.msg(res.msg);
|
layer.msg(res.msg);
|
||||||
table.reload(tableId);
|
table.reload(tableId);
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, 'error');
|
layer.msg(res.msg, {icon: 5});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -468,11 +468,11 @@ layui.use(['jquery', 'form', 'upload', 'table', 'dropdown'], function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
layer.msg(res.msg, 'error');
|
layer.msg(res.msg, {icon: 5});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function (res) {
|
error: function (res) {
|
||||||
layer.msg('Access methods failure', 'error');
|
layer.msg('Access methods failure', {icon: 5});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,11 +33,6 @@ p.layui-clear {
|
|||||||
height: 10px;
|
height: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layui-imagesbox {
|
|
||||||
width: 810px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layui-imagesbox input {
|
.layui-imagesbox input {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -8,7 +8,7 @@
|
|||||||
// | Author: meystack <coolsec@foxmail.com> Apache 2.0 License Code
|
// | Author: meystack <coolsec@foxmail.com> Apache 2.0 License Code
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'table', 'slider', 'upload', 'laydate', 'dropdown', 'colorpicker', 'cascader', 'content', 'tags'], function (exports) {
|
layui.define(['jquery', 'i18n', 'element', 'show','layer', 'form', 'rate', 'table', 'slider', 'cascader', 'content','dropdown','upload'], function (exports) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
let $ = layui.jquery;
|
let $ = layui.jquery;
|
||||||
@@ -19,22 +19,25 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
let table = layui.table;
|
let table = layui.table;
|
||||||
let slider = layui.slider;
|
let slider = layui.slider;
|
||||||
let element = layui.element;
|
let element = layui.element;
|
||||||
let laydate = layui.laydate;
|
|
||||||
let cascader = layui.cascader;
|
let cascader = layui.cascader;
|
||||||
let upload = layui.upload;
|
|
||||||
let notice = layui.notice;
|
|
||||||
let content = layui.content;
|
let content = layui.content;
|
||||||
let colorpicker = layui.colorpicker;
|
let upload = layui.upload;
|
||||||
|
let dropdown = layui.dropdown;
|
||||||
|
|
||||||
|
// 自定义消息通知
|
||||||
|
let show = layui.show;
|
||||||
|
window.top.show = show;
|
||||||
|
|
||||||
|
|
||||||
// 系统常量
|
// 系统常量
|
||||||
let TABFILTER = 'swiftadmin-tabs', BODY = '.layui-body', LAYOUTBODY = ".layui-layout-body",
|
let TABFILTER = 'swiftadmin-tabs', BODY = '.layui-body', LAYOUTBODY = ".layui-layout-body",
|
||||||
LAYOUTADMIN = ".layui-layout-admin"
|
LAYOUTADMIN = ".layui-layout-admin"
|
||||||
, TABS = BODY + ">.layui-tab", FLEXIBLEID = "flexible", MENUFILTER = "lay-side-menu",
|
, TABS = BODY + ">.layui-tab", FLEXIBLEID = "flexible", MENUFILTER = "lay-side-menu",
|
||||||
LAYTOPMENU = "lay-top-menu", LAYSIDESHRINK = "layadmin-side-shrink"
|
LAYSIDESHRINK = "layadmin-side-shrink"
|
||||||
, LAYSIDESPREAD = "layadmin-side-spread-sm", ICONSHRINKRIGHT = "layui-icon-shrink-right",
|
, LAYSIDESPREAD = "layadmin-side-spread-sm", ICONSHRINKRIGHT = "layui-icon-shrink-right",
|
||||||
ICONSPREADLEFT = "layui-icon-spread-left", STR_EMPTY = ''
|
ICONSPREADLEFT = "layui-icon-spread-left", STR_EMPTY = ''
|
||||||
, BODYSHADE = "<div class=\"layadmin-body-shade\" sa-event=\"shade\"><\/div>",
|
, BODYSHADE = "<div class=\"layadmin-body-shade\" sa-event=\"shade\"><\/div>",
|
||||||
BODYSHADECLASS = ".layadmin-body-shade", LAYERCONTENT = ".layui-layer-content";
|
BODYSHADECLASS = ".layadmin-body-shade";
|
||||||
|
|
||||||
// 对象初始化
|
// 对象初始化
|
||||||
let admin = {
|
let admin = {
|
||||||
@@ -376,6 +379,17 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
app.removeClass(LAYSIDESPREAD)
|
app.removeClass(LAYSIDESPREAD)
|
||||||
$(LAYOUTADMIN).removeClass(BODYSHADE);
|
$(LAYOUTADMIN).removeClass(BODYSHADE);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 节流函数
|
||||||
|
throttle: function(obj, time = 2000) {
|
||||||
|
try {
|
||||||
|
$(obj).attr('disabled', true);
|
||||||
|
setTimeout(function () {
|
||||||
|
$(obj).attr('disabled', false);
|
||||||
|
}, time);
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -407,7 +421,6 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
admin.event.flowOpen({
|
admin.event.flowOpen({
|
||||||
id: "layer-msg",
|
id: "layer-msg",
|
||||||
type: 2,
|
type: 2,
|
||||||
// title: "🔔 消息提醒",
|
|
||||||
area: ["336px", "390px"],
|
area: ["336px", "390px"],
|
||||||
content: n
|
content: n
|
||||||
}, that)
|
}, that)
|
||||||
@@ -423,8 +436,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
content: n
|
content: n
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
clear: function () {
|
clear: function () {}
|
||||||
}
|
|
||||||
, logout: function (res) {
|
, logout: function (res) {
|
||||||
var href = $(this).data("url");
|
var href = $(this).data("url");
|
||||||
layui.layer.confirm("确定要退出登录吗?", {
|
layui.layer.confirm("确定要退出登录吗?", {
|
||||||
@@ -434,11 +446,8 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
, flowOpen: function (n, that) {
|
, flowOpen: function (n, that) {
|
||||||
|
|
||||||
if (typeof that === "undefined") {
|
if (typeof that === "undefined") {
|
||||||
notice.info({
|
show.info(i18n.prop('未定义'));
|
||||||
message: i18n.prop('未定义')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,7 +471,6 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
n.resize = n.resize !== undefined ? n.resize : false;
|
n.resize = n.resize !== undefined ? n.resize : false;
|
||||||
n.shade = n.shade !== undefined ? n.shade : 0.1;
|
n.shade = n.shade !== undefined ? n.shade : 0.1;
|
||||||
var top = client.height,
|
var top = client.height,
|
||||||
padding = (that.innerWidth() - that.width()) / 2, // 不用计算 padding
|
|
||||||
left = client.left + (client.width / 2) - (elemWidth / 2);
|
left = client.left + (client.width / 2) - (elemWidth / 2);
|
||||||
if (!n.offset) {
|
if (!n.offset) {
|
||||||
n.offset = [top, left];
|
n.offset = [top, left];
|
||||||
@@ -562,9 +570,8 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
let TabLists = admin.getConfig("TabLists");
|
let TabLists = admin.getConfig("TabLists");
|
||||||
for (const tabListsKey in TabLists) {
|
for (const tabListsKey in TabLists) {
|
||||||
let el = TabLists[tabListsKey];
|
let el = TabLists[tabListsKey];
|
||||||
console.log(el)
|
|
||||||
if (el.home && id === el.id) {
|
if (el.home && id === el.id) {
|
||||||
layer.info(i18n.prop('请不要关闭主页'));
|
show.info(i18n.prop('请不要关闭主页'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -609,7 +616,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
admin.event.closeDialog(this);
|
admin.event.closeDialog(this);
|
||||||
}
|
}
|
||||||
, ajax: function (url, data, async = false) {
|
, ajax: function (url, data, async = false) {
|
||||||
var result = [];
|
let result = [];
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: url,
|
url: url,
|
||||||
type: "post",
|
type: "post",
|
||||||
@@ -619,7 +626,6 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
result = res;
|
result = res;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return typeof (result) !== "object" ? JSON.parse(result) : result;
|
return typeof (result) !== "object" ? JSON.parse(result) : result;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -630,7 +636,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
, open: function (clickObject, tableThis, mergeOptions) {
|
, open: function (clickObject, tableThis, mergeOptions) {
|
||||||
|
|
||||||
var options = {
|
var options = {
|
||||||
url: admin._validauthURL(clickObject),
|
url: clickObject.data('url') || undefined,
|
||||||
type: clickObject.data('type') || 2,
|
type: clickObject.data('type') || 2,
|
||||||
area: clickObject.data('area') || "auto",
|
area: clickObject.data('area') || "auto",
|
||||||
title: clickObject.data('title') || false,
|
title: clickObject.data('title') || false,
|
||||||
@@ -724,11 +730,10 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (typeof postUrl == 'undefined') {
|
if (typeof postUrl == 'undefined') {
|
||||||
postUrl = _global_.app + '/' + _global_.controller + '/' + action;
|
postUrl = app_Config.app + '/' + app_Config.controller + '/' + action;
|
||||||
}
|
}
|
||||||
|
|
||||||
othat.attr("disabled", true);
|
admin.throttle(othat, 2000);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: postUrl,
|
url: postUrl,
|
||||||
type: 'post',
|
type: 'post',
|
||||||
@@ -766,20 +771,16 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
* 如果使用第三方组件在table显示或元素为DIY数据结构
|
* 如果使用第三方组件在table显示或元素为DIY数据结构
|
||||||
* 则在这里可能会出现错误,这里不做处理,如果有需求可自行在页面实现数据回显到table行的逻辑
|
* 则在这里可能会出现错误,这里不做处理,如果有需求可自行在页面实现数据回显到table行的逻辑
|
||||||
*/
|
*/
|
||||||
layer.info(error);
|
show.info(error);
|
||||||
}
|
}
|
||||||
layer.msg(res.msg);
|
show.msg(res.msg);
|
||||||
admin.event.closeDialog(othat);
|
admin.event.closeDialog(othat);
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg)
|
show.error(res.msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
othat.attr("disabled", false);
|
|
||||||
},
|
},
|
||||||
error: function (res) {
|
error: function (res) {
|
||||||
notice.error({
|
show.error(i18n.prop('访问方法失败'));
|
||||||
message: i18n.prop('访问方法失败')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -793,7 +794,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
, request: function (clickObject, reqData, callback, merge) {
|
, request: function (clickObject, reqData, callback, merge) {
|
||||||
|
|
||||||
let options = {
|
let options = {
|
||||||
url: admin._validauthURL(clickObject),
|
url: clickObject.data('url'),
|
||||||
type: clickObject.data('type') || 'post',
|
type: clickObject.data('type') || 'post',
|
||||||
dataType: clickObject.data('dataType') || 'json',
|
dataType: clickObject.data('dataType') || 'json',
|
||||||
timeout: clickObject.data('timeout') || '6000',
|
timeout: clickObject.data('timeout') || '6000',
|
||||||
@@ -805,6 +806,11 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
async: clickObject.data('async') || true // 默认异步调用
|
async: clickObject.data('async') || true // 默认异步调用
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!options.url) {
|
||||||
|
show.info(i18n.prop('请求地址不能为空!'));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
let reqSend = function (options) {
|
let reqSend = function (options) {
|
||||||
if (typeof merge !== 'undefined') {
|
if (typeof merge !== 'undefined') {
|
||||||
options = $.extend({}, options, merge);
|
options = $.extend({}, options, merge);
|
||||||
@@ -863,20 +869,18 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
admin.event.closeDialog(clickObject);
|
admin.event.closeDialog(clickObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
top.layer.msg(res.msg);
|
top.show.msg(res.msg);
|
||||||
} else {
|
} else {
|
||||||
if (typeof callback !== 'undefined'
|
if (typeof callback !== 'undefined'
|
||||||
&& typeof callback.error === 'function') {
|
&& typeof callback.error === 'function') {
|
||||||
return callback.error(res);
|
return callback.error(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
top.layer.error(res.msg);
|
top.show.error(res.msg);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function (res) {
|
error: function (res) {
|
||||||
notice.error({
|
show.error(i18n.prop('访问方法失败'));
|
||||||
message: i18n.prop('访问方法失败')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -918,80 +922,69 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
if (typeof eval(funcObj) === "function") {
|
if (typeof eval(funcObj) === "function") {
|
||||||
return eval(funcObj)(clickThis, collection);
|
return eval(funcObj)(clickThis, collection);
|
||||||
} else {
|
} else {
|
||||||
notice.error({
|
show.error(i18n.prop('回调函数错误'));
|
||||||
message: i18n.prop('回调函数错误')
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 鉴权函数
|
*
|
||||||
* @param {*} othis
|
* @param that
|
||||||
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
admin._validauthURL = function (othis) {
|
admin.hasPermission = function (that) {
|
||||||
|
|
||||||
var curl = $(othis).attr('data-url');
|
let url = $(that).data('url');
|
||||||
if (typeof curl == 'undefined') {
|
if (typeof url == 'undefined') {
|
||||||
notice.info({
|
|
||||||
message: i18n.prop('URL未定义')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curl.indexOf(_global_.app) !== -1) {
|
let router = admin.getConfig('router');
|
||||||
var route = curl.replace('.html', '');
|
if (typeof router == 'undefined') {
|
||||||
route = route.substring(1);
|
return false;
|
||||||
var main = route.substring(0, route.indexOf('/'));
|
|
||||||
if (route.indexOf('.php') !== -1) {
|
|
||||||
main = route.replace(main, '').substring(1);
|
|
||||||
main = main.substring(0, main.indexOf('/'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查找方法
|
|
||||||
var action = route.substring(route.indexOf(main) + main.length + 1);
|
|
||||||
if (action.indexOf('/') !== -1) {
|
|
||||||
action = action.substring(0, action.indexOf('/'))
|
|
||||||
} else if (action.indexOf('?') !== -1) {
|
|
||||||
action = action.substring(0, action.indexOf('?'))
|
|
||||||
}
|
|
||||||
|
|
||||||
route = main + ':' + action;
|
|
||||||
let status, recursive = function (elem) {
|
|
||||||
for (let i in elem) {
|
|
||||||
var n = elem[i];
|
|
||||||
|
|
||||||
if (route === n.alias) {
|
|
||||||
status = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof n.children !== undefined) {
|
|
||||||
recursive(n.children);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return status ? status : false;
|
|
||||||
}
|
|
||||||
|
|
||||||
let router = admin.getConfig('router');
|
|
||||||
try {
|
|
||||||
if (typeof router.supersAdmin !== undefined) {
|
|
||||||
if (router.supersAdmin === false
|
|
||||||
&& curl.indexOf('://') === -1 && !recursive(router.authorities)) {
|
|
||||||
notice.error({
|
|
||||||
message: i18n.prop('无权操作')
|
|
||||||
})
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return curl;
|
// noinspection JSUnresolvedVariable
|
||||||
|
if (url.substr(0, 1) === '#' || router.supersAdmin) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
url = url.split('?')[0];
|
||||||
|
let status, recursive = function (elem) {
|
||||||
|
for (let i in elem) {
|
||||||
|
let n = elem[i];
|
||||||
|
if (url.toLowerCase() === n.router.toLowerCase()) {
|
||||||
|
status = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (typeof n.children !== undefined) {
|
||||||
|
recursive(n.children);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return status ? status : false;
|
||||||
|
}
|
||||||
|
// noinspection JSUnresolvedVariable
|
||||||
|
return recursive(router.authorities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lay-auth校验权限
|
||||||
|
*/
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('*[lay-auth]').each(function (key, item) {
|
||||||
|
if (!admin.hasPermission(item)) {
|
||||||
|
let $this = $(this);
|
||||||
|
let type = $this.attr('lay-auth') || 'hide';
|
||||||
|
let next = $this.next();
|
||||||
|
if (next.hasClass('layui-divider')) {
|
||||||
|
type === 'hide' ? next.hide() : next.remove();
|
||||||
|
}
|
||||||
|
type === 'hide' ? $this.hide() : $this.remove();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全局渲染组件
|
* 全局渲染组件
|
||||||
*/
|
*/
|
||||||
@@ -1010,7 +1003,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
max = $(obj).data('maxvalue') || '2222-12-31',
|
max = $(obj).data('maxvalue') || '2222-12-31',
|
||||||
min = $(obj).data('minvalue') || '1930-01-01';
|
min = $(obj).data('minvalue') || '1930-01-01';
|
||||||
|
|
||||||
laydate.render({
|
layui.laydate.render({
|
||||||
elem: this
|
elem: this
|
||||||
, type: t
|
, type: t
|
||||||
, range: r
|
, range: r
|
||||||
@@ -1131,7 +1124,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
picker.each(function (index, elem) {
|
picker.each(function (index, elem) {
|
||||||
var name = $(elem).attr("lay-colorpicker");
|
var name = $(elem).attr("lay-colorpicker");
|
||||||
var color = $('.' + name).val() || $(name).data('value');
|
var color = $('.' + name).val() || $(name).data('value');
|
||||||
colorpicker.render({
|
layui.colorpicker.render({
|
||||||
elem: this
|
elem: this
|
||||||
, color: color
|
, color: color
|
||||||
, predefine: true
|
, predefine: true
|
||||||
@@ -1148,14 +1141,15 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
|
|
||||||
var that = $(this),
|
var that = $(this),
|
||||||
name = $(elem).attr('lay-upload') || undefined,
|
name = $(elem).attr('lay-upload') || undefined,
|
||||||
url = $(elem).data('url') || _global_.app + '/Ajax/upload',
|
url = $(elem).data('url') || app_Config.app + '/Ajax/upload',
|
||||||
type = $(elem).data('type') || 'normal',
|
type = $(elem).data('type') || 'normal',
|
||||||
size = $(elem).data('size') || 102400,
|
size = $(elem).data('size') || 102400,
|
||||||
accept = $(elem).data('accept') || 'images',
|
accept = $(elem).data('accept') || 'images/file/video/audio',
|
||||||
chunk = $(elem).data('chunk') || false,
|
chunk = $(elem).data('chunk') || false,
|
||||||
multiple = $(elem).data('multiple') || false,
|
multiple = $(elem).data('multiple') || false,
|
||||||
chunkSize = typeof _upload_chunkSize != 'undefined' ? _upload_chunkSize : '2097152',
|
chunkSize = typeof upload_chunkSize != 'undefined' ? upload_chunkSize : '2097152',
|
||||||
callback = $(elem).attr('callback') || undefined,
|
callback = $(elem).attr('callback') || undefined,
|
||||||
|
postChunkId = undefined,
|
||||||
blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
|
blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;
|
||||||
|
|
||||||
let uploadFiles = {
|
let uploadFiles = {
|
||||||
@@ -1187,13 +1181,13 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
layui.upload.render({
|
upload.render({
|
||||||
elem: elem
|
elem: elem
|
||||||
, url: url
|
, url: url
|
||||||
, method: 'post'
|
, method: 'post'
|
||||||
, size: size
|
, size: size
|
||||||
, auto: false
|
, auto: false
|
||||||
, accept: 'file'
|
, accept: accept
|
||||||
, multiple: multiple
|
, multiple: multiple
|
||||||
, choose: function (obj) {
|
, choose: function (obj) {
|
||||||
|
|
||||||
@@ -1203,7 +1197,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
let file = files[index];
|
let file = files[index];
|
||||||
if ((file.size / 1024) > size) {
|
if ((file.size / 1024) > size) {
|
||||||
delete files[index];
|
delete files[index];
|
||||||
layer.error('文件大小超过限制,最大不超过' + size + 'KB');
|
show.error('文件大小超过限制,最大不超过' + size + 'KB');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 使用data-chunk="close"关闭分片上传
|
// 使用data-chunk="close"关闭分片上传
|
||||||
@@ -1224,6 +1218,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
index: index
|
index: index
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postChunkId = chunkId;
|
||||||
var chunkList = layui.data(chunkId).chunkList;
|
var chunkList = layui.data(chunkId).chunkList;
|
||||||
if (typeof chunkList == 'undefined') {
|
if (typeof chunkList == 'undefined') {
|
||||||
chunkList = [];
|
chunkList = [];
|
||||||
@@ -1257,7 +1252,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
|
|
||||||
if (progress === 'undefined') {
|
if (progress === 'undefined') {
|
||||||
layui.data(chunkId, null);
|
layui.data(chunkId, null);
|
||||||
return layer.error('数据读取异常');
|
return show.error('数据读取异常');
|
||||||
}
|
}
|
||||||
that.data = chunkList[progress].data;
|
that.data = chunkList[progress].data;
|
||||||
var start = progress * chunkSize;
|
var start = progress * chunkSize;
|
||||||
@@ -1278,7 +1273,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
|
|
||||||
if (res.code !== 200) {
|
if (res.code !== 200) {
|
||||||
layer.closeAll();
|
layer.closeAll();
|
||||||
return layer.error(res.msg);
|
return show.error(res.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
var index = res.index,
|
var index = res.index,
|
||||||
@@ -1343,11 +1338,12 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
if (typeof callback != 'undefined') {
|
if (typeof callback != 'undefined') {
|
||||||
return admin.callbackfunc(this.item, {res: res, index: indexObj, file: fileObj});
|
return admin.callbackfunc(this.item, {res: res, index: indexObj, file: fileObj});
|
||||||
} else if (res.code === 200) {
|
} else if (res.code === 200) {
|
||||||
layer.msg(res.msg);
|
show.msg(res.msg);
|
||||||
// 执行默认上传成功回调
|
// 执行默认上传成功回调
|
||||||
uploadFiles[type](res, name);
|
uploadFiles[type](res, name);
|
||||||
} else {
|
} else {
|
||||||
layer.error(res.msg);
|
show.error(res.msg);
|
||||||
|
layui.data(postChunkId, null);
|
||||||
that.prop("disabled", false);
|
that.prop("disabled", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1376,7 +1372,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
if (listData.code === 200) {
|
if (listData.code === 200) {
|
||||||
option_data = listData.data;
|
option_data = listData.data;
|
||||||
} else {
|
} else {
|
||||||
layer.msg('字段 ' + name + ' 获取数据失败,网址返回错误信息 ' + listData.msg, {
|
show.msg('字段 ' + name + ' 获取数据失败,网址返回错误信息 ' + listData.msg, {
|
||||||
icon: 3,
|
icon: 3,
|
||||||
time: 5000
|
time: 5000
|
||||||
})
|
})
|
||||||
@@ -1560,7 +1556,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
, callback = {
|
, callback = {
|
||||||
error: function (res) {
|
error: function (res) {
|
||||||
$(obj.elem).prop('checked', !obj.elem.checked);
|
$(obj.elem).prop('checked', !obj.elem.checked);
|
||||||
layer.error(res.msg);
|
show.error(res.msg);
|
||||||
form.render('checkbox');
|
form.render('checkbox');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1588,9 +1584,9 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
|
|
||||||
if (_url === false || _url === '') {
|
if (_url === false || _url === '') {
|
||||||
try {
|
try {
|
||||||
let app = _global_.app;
|
let app = app_Config.app;
|
||||||
let action = _global_.action;
|
let action = app_Config.action;
|
||||||
let controller = _global_.controller;
|
let controller = app_Config.controller;
|
||||||
_url = app + '/' + controller + '/' + action;
|
_url = app + '/' + controller + '/' + action;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.warn(error);
|
console.warn(error);
|
||||||
@@ -1598,19 +1594,16 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (typeof _url === 'undefined') {
|
if (typeof _url === 'undefined') {
|
||||||
notice.error({
|
show.error(i18n.prop('远程URL未定义'));
|
||||||
message: i18n.prop('远程URL未定义')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
admin.throttle(that, 3000);
|
||||||
let _parent = that.data('reload') || false;
|
let _parent = that.data('reload') || false;
|
||||||
|
|
||||||
that.attr("disabled", true);
|
|
||||||
$.post(_url, data.field, function (res) {
|
$.post(_url, data.field, function (res) {
|
||||||
|
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
top.layer.msg(res.msg);
|
top.show.msg(res.msg);
|
||||||
if (_close === undefined) {
|
if (_close === undefined) {
|
||||||
admin.event.closeDialog(that);
|
admin.event.closeDialog(that);
|
||||||
}
|
}
|
||||||
@@ -1622,7 +1615,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
top.layer.error(res.msg);
|
top.show.error(res.msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -1630,7 +1623,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
$('input#__token__').val(res.data.__token__);
|
$('input#__token__').val(res.data.__token__);
|
||||||
}
|
}
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
that.attr("disabled", false);
|
|
||||||
}, 'json');
|
}, 'json');
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@@ -1668,10 +1661,10 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
table.reloadData("lay-tableList");
|
table.reloadData("lay-tableList");
|
||||||
}
|
}
|
||||||
|
|
||||||
layer.msg(res.msg);
|
show.msg(res.msg);
|
||||||
},
|
},
|
||||||
error: function (res) {
|
error: function (res) {
|
||||||
layer.error(res.msg);
|
show.error(res.msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, othis = $(this)
|
, othis = $(this)
|
||||||
@@ -1807,9 +1800,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
, tips = '确定要批量操作';
|
, tips = '确定要批量操作';
|
||||||
|
|
||||||
if (tableId === null || tableId === undefined) {
|
if (tableId === null || tableId === undefined) {
|
||||||
notice.error({
|
show.error(i18n.prop('表格ID未定义'));
|
||||||
message: i18n.prop('表格ID未定义')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1819,9 +1810,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (list.data.length === 0) {
|
if (list.data.length === 0) {
|
||||||
notice.info({
|
show.info(i18n.prop('请勾选数据'));
|
||||||
message: i18n.prop('请勾选数据')
|
|
||||||
})
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1848,26 +1837,6 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
admin.event.open($(this), undefined, {});
|
admin.event.open($(this), undefined, {});
|
||||||
})
|
})
|
||||||
|
|
||||||
/**
|
|
||||||
* 监听全局属性鉴权
|
|
||||||
*/
|
|
||||||
$(document).on('click', "*[lay-noauth]", function () {
|
|
||||||
|
|
||||||
var event = $(this).attr('lay-event');
|
|
||||||
var router = admin.getConfig('router');
|
|
||||||
try {
|
|
||||||
if (typeof router.supersAdmin !== undefined) {
|
|
||||||
if (router.supersAdmin === false && event === undefined) {
|
|
||||||
notice.error({
|
|
||||||
message: i18n.prop('无权操作')
|
|
||||||
})
|
|
||||||
throw '没有权限';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监听ajax属性操作
|
* 监听ajax属性操作
|
||||||
*/
|
*/
|
||||||
@@ -1914,7 +1883,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
type: 2,
|
type: 2,
|
||||||
title: i18n.prop('文件选择'),
|
title: i18n.prop('文件选择'),
|
||||||
area: ['62%', '65%'],
|
area: ['62%', '65%'],
|
||||||
content: _global_.app + '/system/Attachment/index?choose=true',
|
content: app_Config.app + '/system/Attachment/index?choose=true',
|
||||||
success: function (layero, index) {
|
success: function (layero, index) {
|
||||||
let body = layer.getChildFrame('body', index),
|
let body = layer.getChildFrame('body', index),
|
||||||
html = '<input hidden id="_fileFiled" value="' + field + '" >';
|
html = '<input hidden id="_fileFiled" value="' + field + '" >';
|
||||||
@@ -1926,7 +1895,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 清理系统缓存
|
// 清理系统缓存
|
||||||
layui.dropdown.render({
|
dropdown.render({
|
||||||
elem: '#clearCache'
|
elem: '#clearCache'
|
||||||
, data: [{
|
, data: [{
|
||||||
title: '一键清理缓存'
|
title: '一键清理缓存'
|
||||||
@@ -2220,9 +2189,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
var options = this.options;
|
var options = this.options;
|
||||||
|
|
||||||
if (!res.url) {
|
if (!res.url) {
|
||||||
notice.error({
|
show.error(i18n.prop('菜单的地址不能为空'));
|
||||||
message: i18n.prop('菜单的地址不能为空')
|
|
||||||
})
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2232,7 +2199,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
|
|
||||||
if (options.moreLabel) {
|
if (options.moreLabel) {
|
||||||
if ((options.TabLists.length + 1) >= options.maxTabNum) {
|
if ((options.TabLists.length + 1) >= options.maxTabNum) {
|
||||||
layer.msg(i18n.prop('最大打开20个标签页'));
|
show.msg(i18n.prop('最大打开20个标签页'));
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2408,7 +2375,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
let that = $(this);
|
let that = $(this);
|
||||||
let id = $(this).attr("lay-id");
|
let id = $(this).attr("lay-id");
|
||||||
|
|
||||||
layui.dropdown.render({
|
dropdown.render({
|
||||||
elem: that
|
elem: that
|
||||||
, trigger: 'contextmenu'
|
, trigger: 'contextmenu'
|
||||||
, style: 'width: 110px;text-align:center;'
|
, style: 'width: 110px;text-align:center;'
|
||||||
@@ -2537,7 +2504,7 @@ layui.define(['jquery', 'i18n', 'element', 'layer', 'form','notice', 'rate', 'ta
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
// noinspection JSUnresolvedVariable
|
||||||
BodyLayout[options.layout](router.authorities);
|
BodyLayout[options.layout](router.authorities);
|
||||||
var allowclose = '<div class="layui-tab" lay-allowClose="true" lay-filter="swiftadmin-tabs">';
|
var allowclose = '<div class="layui-tab" lay-allowClose="true" lay-filter="swiftadmin-tabs">';
|
||||||
allowclose += ' <ul class="layui-tab-title"></ul>';
|
allowclose += ' <ul class="layui-tab-title"></ul>';
|
||||||
|
|||||||
Reference in New Issue
Block a user