style: 优化css样式,全局使用show.xx消息提示
This commit is contained in:
@@ -129,10 +129,11 @@
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-upload-logo">
|
||||
<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>
|
||||
<dd class="layui-badge"
|
||||
onclick="javascript:layer.msg('好像没写代码!','error')">{:__('删除')}</dd>
|
||||
<dd class="layui-badge" id="delLogo">{:__('删除')}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1805,32 +1806,34 @@
|
||||
<include file="/public/footer" />
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'admin'], function () {
|
||||
layui.use(['jquery'], function () {
|
||||
let $ = layui.jquery;
|
||||
|
||||
var form = layui.form;
|
||||
var admin = layui.admin;
|
||||
var jquery = layui.jquery;
|
||||
$('#delLogo').click(function() {
|
||||
$('input.logo').val('');
|
||||
$('img.logo').attr('src', '/static/images/loading/loading-form.gif');
|
||||
});
|
||||
|
||||
// 增加变量
|
||||
jquery('.layui-variable-add').on('click', function () {
|
||||
var html = '<tr>';
|
||||
$('.layui-variable-add').on('click', function () {
|
||||
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-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 += '<\/tr>';
|
||||
jquery('#layui-variable-content').append(html);
|
||||
$('#layui-variable-content').append(html);
|
||||
})
|
||||
|
||||
// 改变表单值
|
||||
jquery('body').on('change', '.layui-variable-key', function () {
|
||||
var that = jquery(this),
|
||||
$('body').on('change', '.layui-variable-key', function () {
|
||||
let that = $(this),
|
||||
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 () {
|
||||
jquery(this).parents('tr').remove();
|
||||
$('body').on('click', '#layui-variable-content .layui-btn', function () {
|
||||
$(this).parents('tr').remove();
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -33,22 +33,22 @@
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-admin-workplace">
|
||||
<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 class="workplace-content">{$workplace.article|default=26}</div>
|
||||
<div class="workplace-content">{$workplace.notice|default=26}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-admin-workplace">
|
||||
<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 class="workplace-content">{$workplace.check|default="12/56"}</div>
|
||||
<div class="workplace-content">{$todoList}/{$workplace.todo}</div>
|
||||
</div>
|
||||
<div class="layui-admin-workplace">
|
||||
<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 class="workplace-content">{$workplace.comment|default="2,352"}</div>
|
||||
<div class="workplace-content">{$workplace.message|default="2,352"}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -99,7 +99,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<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="{:__('分析页')}">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-small-block">
|
||||
@@ -114,7 +114,7 @@
|
||||
<div class="layui-col-md4">
|
||||
<div class="layui-row layui-col-space10" style="margin-bottom: 5px;">
|
||||
<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="{:__('监控页')}">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-small-block">
|
||||
@@ -151,7 +151,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<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="{:__('基本设置')}">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-small-block">
|
||||
@@ -290,7 +290,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="layui-hide" id="ID-treeTable-demo"></table>
|
||||
</div>
|
||||
<script src="__STATICADMIN__module/echarts/echarts.js"></script>
|
||||
<script src="__STATICADMIN__module/echarts/echarts-wordcloud.js"></script>
|
||||
@@ -299,36 +298,11 @@
|
||||
<include file="/public/footer"/>
|
||||
|
||||
<script>
|
||||
layui.use(['jquery','layer','treeTable'], function () {
|
||||
layui.use(['jquery','show'], function () {
|
||||
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
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
|
||||
});
|
||||
|
||||
let show = layui.show;
|
||||
|
||||
/**
|
||||
* 用户统计报表
|
||||
* @type {string}
|
||||
@@ -354,7 +328,7 @@
|
||||
$(that).addClass('active');
|
||||
}
|
||||
else {
|
||||
layer.info(res.msg);
|
||||
show.info(res.msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -28,14 +28,15 @@
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
let _global_ = {
|
||||
let app_Config = {
|
||||
app: "{$app|default='admin.php'}",
|
||||
controller: "{$controller|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>
|
||||
<body class="layui-layout-body">
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
|
||||
@@ -192,10 +192,11 @@
|
||||
<script src="__STATICADMIN__js/common.js?v={:release()}"></script>
|
||||
<script>
|
||||
window.sessionStorage.clear();
|
||||
layui.use(['layer','form'],function() {
|
||||
layui.use(['layer','form','show'],function() {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
form = layui.form,
|
||||
show = layui.show,
|
||||
captchaUrl = '{:captcha_src()}';
|
||||
|
||||
// 登录操作
|
||||
@@ -223,11 +224,11 @@
|
||||
email = $('input[name="email"]').val();
|
||||
|
||||
if (pass !== repass) {
|
||||
layer.msg("{:__('两次输入密码不同')}",'error');
|
||||
show.error('两次输入密码不同');
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.msg("{:__('数据提交中...')}",'warning');
|
||||
show.info('数据提交中...');
|
||||
that.prop('disabled', true);
|
||||
$_ajax(that,{name: name, pwd: pass, email:email,captcha: captcha});
|
||||
return false;
|
||||
@@ -310,7 +311,7 @@
|
||||
valicode = $('input[name="valicode"]').val();
|
||||
|
||||
if (pass != repass) {
|
||||
layer.msg("{:__('两次输入密码不同')}",'error')
|
||||
show.error('两次输入密码不同');
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -319,12 +320,12 @@
|
||||
url: "{:url('/login/setpwd')}",
|
||||
data: {name:name,pass:pass,valicode:valicode},
|
||||
success: function (res) {
|
||||
if(res.code == 200){
|
||||
if(res.code === 200){
|
||||
layer.msg(res.msg,function(){
|
||||
location.reload();
|
||||
});
|
||||
}else {
|
||||
layer.error(res.msg);
|
||||
show.error(res.msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -352,7 +353,7 @@
|
||||
}
|
||||
|
||||
}else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
that.prop('disabled', false);
|
||||
$("#captchaImg,#captchaImg2,#captchaImg3").attr('src',captchaUrl+'?rand='+Math.random()).parents('.layui-form-item').show();
|
||||
return false;
|
||||
|
||||
@@ -17,14 +17,15 @@
|
||||
<![endif]-->
|
||||
</head>
|
||||
<script>
|
||||
var _global_ = {
|
||||
let app_Config = {
|
||||
app: "{$app|default='/admin'}",
|
||||
controller: "{$controller|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>
|
||||
|
||||
<body>
|
||||
@@ -297,7 +297,7 @@
|
||||
layer.msg("{:__('上传成功')}");
|
||||
})
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -348,7 +348,7 @@
|
||||
elem += '</span>';
|
||||
$('.layui-badge-list').append(elem);
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -365,7 +365,7 @@
|
||||
if (res.code === 200) {
|
||||
that.parent('span').remove();
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
_pageUrl = _form.attr("action") || pageThat.data('url');
|
||||
pageThat.attr("disabled",true);
|
||||
if (typeof(_pageUrl) === 'undefined') {
|
||||
layer.msg('缺少URL属性','error');
|
||||
layer.msg('缺少URL属性');
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
// 关闭当前窗口
|
||||
layer.close(colletction.index);
|
||||
}else{
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
_pageUrl = _form.attr("action") || pageThat.data('url');
|
||||
pageThat.attr("disabled",true);
|
||||
if (typeof(_pageUrl) === 'undefined') {
|
||||
layer.msg('缺少URL属性','error');
|
||||
layer.msg('缺少URL属性');
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@
|
||||
// 关闭当前窗口
|
||||
layer.close(colletction.index);
|
||||
}else{
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
|
||||
@@ -186,9 +186,9 @@
|
||||
|
||||
<!-- // 列表编辑框 -->
|
||||
<script type="text/html" id="tableBar">
|
||||
<if (check_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>
|
||||
<div class="layui-divider layui-divider-vertical"></div>
|
||||
<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>
|
||||
<div class="layui-divider layui-divider-vertical"></div>
|
||||
</if>
|
||||
<a class="layui-table-text" data-title="{:__('访问权限')}"
|
||||
callback="rulecates" data-url="#authForms" data-area="300px,80%" lay-event="rules" >{:__('权限')}</a>
|
||||
@@ -343,7 +343,7 @@
|
||||
pageThat.attr("disabled",true);
|
||||
}
|
||||
else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
|
||||
}, 'json');
|
||||
@@ -373,8 +373,6 @@
|
||||
showCheckbox: true,
|
||||
})
|
||||
|
||||
// tree.setChecked('authTree', tableThis.data[event].length ? tableThis.data[event].map(Number): []);
|
||||
|
||||
// 监听权限提交
|
||||
form.on("submit(submitPage)", function (post) {
|
||||
|
||||
@@ -396,7 +394,7 @@
|
||||
layer.close(colletction.index);
|
||||
clickthis.attr("disabled", true);
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
|
||||
@@ -25,8 +25,7 @@
|
||||
lay-filter="treeSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}
|
||||
</button>
|
||||
<!-- // 打开添加页面 -->
|
||||
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加菜单')}"
|
||||
callback="add" data-disable="true" data-area="680px,380px" data-url="#editforms" >
|
||||
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加菜单')}" data-area="700px,410px" data-url="{:url('/system/AdminRules/add')}" >
|
||||
<i class="layui-icon layui-icon-add-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>
|
||||
</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">
|
||||
<!-- 注意,添加的回调函数里面 增加了data-disable="true"属性,也就是不会执行form.val方法 -->
|
||||
<a class="layui-table-text" data-title="{:__('添加菜单')}" data-url="#editforms"
|
||||
data-area="668px,380px" callback="add" data-disable="true" lay-event="add" >{:__('添加')}</a>
|
||||
<a class="layui-table-text" lay-open data-title="{:__('添加菜单')}" data-url="{:url('/system/AdminRules/add')}?pid={{d.id}}"
|
||||
data-area="700px,410px" >{:__('添加')}</a>
|
||||
<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>
|
||||
<a class="layui-table-text" data-url="{:url('/system/AdminRules/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
|
||||
</script>
|
||||
<script src="__STATICADMIN__module/xmselect/xmselect.js?v={:release()}"></script>
|
||||
|
||||
<include file="/public/footer" />
|
||||
|
||||
<script>
|
||||
layui.use(['admin','form','treeTable','iconPicker'], function () {
|
||||
layui.use(['form','treeTable'], function () {
|
||||
|
||||
var jquery = layui.jquery;
|
||||
var admin = layui.admin;
|
||||
var form = layui.form;
|
||||
var table = layui.table;
|
||||
var treeTable = layui.treeTable;
|
||||
var iconPicker = layui.iconPicker;
|
||||
var tableURL = "{:url('/system/AdminRules/index')}";
|
||||
let $ = layui.jquery;
|
||||
let form = layui.form;
|
||||
let treeTable = layui.treeTable;
|
||||
let tableURL = "{:url('/system/AdminRules/index')}";
|
||||
|
||||
// 渲染初始化表格
|
||||
var renderTable = function (tableURL) {
|
||||
let renderTable = function (tableURL) {
|
||||
treeTable.render({
|
||||
id: 'lay-tableList',
|
||||
elem: '#lay-tableList',
|
||||
url: tableURL,
|
||||
tree: {
|
||||
@@ -156,13 +85,13 @@
|
||||
{field: 'router', title: '{:__("路由地址")}'},
|
||||
{field: 'alias', title: '{:__("权限标识")}'},
|
||||
{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];
|
||||
}, align: 'center'
|
||||
},
|
||||
{
|
||||
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-cyan">{:__("接口")}</span>',
|
||||
'<span class="layui-badge">{:__("系统")}</span>'
|
||||
@@ -180,9 +109,9 @@
|
||||
// 监听搜索 serialize
|
||||
form.on('submit(treeSearch)',function(data) {
|
||||
|
||||
var whereURL = '',
|
||||
let whereURL = '',
|
||||
field = data.field;
|
||||
for (var key in field ) {
|
||||
for (let key in field ) {
|
||||
whereURL += key + '=' + field[key];
|
||||
whereURL += '&';
|
||||
}
|
||||
@@ -193,177 +122,19 @@
|
||||
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);
|
||||
})
|
||||
|
||||
// 折叠所有
|
||||
jquery('#foldAll').click(function () {
|
||||
$('#foldAll').click(function () {
|
||||
treeTable.expandAll('lay-tableList',false);
|
||||
});
|
||||
|
||||
// 执行初始化
|
||||
renderTable(tableURL);
|
||||
|
||||
});
|
||||
|
||||
</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')
|
||||
if (layout === 'top' || layout === 'hybrid') {
|
||||
$(".moreLabel").prop("checked", true);
|
||||
layer.msg('当前菜单布局不支持该操作!','error');
|
||||
layer.msg('当前菜单布局不支持该操作!');
|
||||
form.render();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -249,7 +249,7 @@
|
||||
layer.msg(res.msg);
|
||||
$('.layui-instant-list-item').removeClass('active_0').addClass('active_1');
|
||||
} 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>
|
||||
</script>
|
||||
|
||||
<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>
|
||||
<include file="/public/footer" />
|
||||
@@ -228,7 +228,7 @@
|
||||
|
||||
|
||||
if (typeof(_pageUrl) === 'undefined') {
|
||||
layer.msg('按钮缺少 url 属性','info');
|
||||
layer.msg('按钮缺少 url 属性');
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
layer.close(colletction.index);
|
||||
}
|
||||
else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
pageThat.attr("disabled",true);
|
||||
}
|
||||
else {
|
||||
layer.error(res.msg,'error');
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
|
||||
}, 'json');
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
<div class="layui-card-header layadmin-card-header-auto ">
|
||||
<blockquote class="layui-elem-quote pluginCenter"> 插件管理:
|
||||
<span style="margin-left: 12px">在线安装、卸载、禁用、启用、配置、升级插件,插件升级前请做好备份并确保服务器读写权限正确</span>
|
||||
<span class="fr"><i class="layui-icon fa-user" onclick="layui.plugin.clearLogin();"
|
||||
title="退出登录"></i></span>
|
||||
<span class="fr"><i class="layui-icon fa-sign-out" onclick="layui.plugin.clearLogin();" title="退出登录"></i></span>
|
||||
</blockquote>
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
@@ -83,19 +82,20 @@
|
||||
{{# } }}
|
||||
{{# if(d.version > item.version) { }}
|
||||
<span class="layui-upgrade-elem">
|
||||
<a class="layui-table-text upgrade"
|
||||
data-url="{:url('/system/plugin/config')}?name={{d.name}}">{:__('升级')} <span
|
||||
class="layui-badge-dot"></span></a>
|
||||
<div class="layui-divider layui-divider-vertical"></div>
|
||||
</span>
|
||||
<a class="layui-table-text upgrade"
|
||||
data-url="{:url('/system/plugin/config')}?name={{d.name}}">{:__('升级')} <span
|
||||
class="layui-badge-dot"></span></a>
|
||||
<div class="layui-divider layui-divider-vertical"></div>
|
||||
</span>
|
||||
{{# } }}
|
||||
<a class="layui-table-text uninstall" style="color:red"
|
||||
data-url="{:url('/system/plugin/uninstall')}?name={{d.name}}">{:__('卸载')}</a>
|
||||
{{# } else { }}
|
||||
<a class="layui-table-text install" data-url="{:url('/system/plugin/install')}?name={{d.name}}">{:__('安装')}</a>
|
||||
{{# if(d.demourl) { }}
|
||||
<a class="layui-table-text install" data-url="{:url('/system/plugin/install')}?name={{d.name}}">
|
||||
{:__('安装')} <i class="layui-icon layui-icon-down layui-hide"></i></a>
|
||||
{{# if(d.demo_url) { }}
|
||||
<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>
|
||||
@@ -104,11 +104,10 @@
|
||||
<script>
|
||||
layui.use(['admin', 'table', 'plugin', 'dropdown', 'jquery'], function () {
|
||||
|
||||
let plugin = layui.plugin;
|
||||
let $ = layui.jquery;
|
||||
let plugin = layui.plugin;
|
||||
let table = layui.table;
|
||||
let dropdown = layui.dropdown;
|
||||
window.framework = "{:config('app.version')}";
|
||||
window.plugins = {$plugin|raw};
|
||||
/*
|
||||
* 初始化表格
|
||||
@@ -136,7 +135,7 @@
|
||||
},
|
||||
{
|
||||
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) {
|
||||
html += '<i class="layui-icon layui-icon-picture"></i>';
|
||||
}
|
||||
@@ -189,38 +188,59 @@
|
||||
, done: function (res, curr, count) {
|
||||
|
||||
let data = res.data;
|
||||
for (const dataKey in data) {
|
||||
let dropArray = [];
|
||||
let item = plugins[data[dataKey].name];
|
||||
if (typeof item == 'undefined') {
|
||||
continue;
|
||||
}
|
||||
|
||||
let verInfo = data[dataKey].verInfo;
|
||||
for (const verInfoKey in verInfo) {
|
||||
let v1 = item.version.replaceAll('.', '');
|
||||
let v2 = verInfo[verInfoKey].version.replaceAll('.', '');
|
||||
if (v2 > v1) {
|
||||
dropArray.push({
|
||||
name: data[dataKey].name,
|
||||
title: verInfo[verInfoKey].version,
|
||||
v: verInfo[verInfoKey].version,
|
||||
pluginName: data[dataKey].title,
|
||||
for (const index in data) {
|
||||
let value = data[index];
|
||||
let item = plugins[value.name];
|
||||
let dropList = [];
|
||||
let versionList = value.versions;
|
||||
if (typeof item == 'undefined' && versionList.length) {
|
||||
if (versionList.length === 1) {
|
||||
continue;
|
||||
}
|
||||
for (const key in versionList) {
|
||||
dropList.push({
|
||||
name: value.name,
|
||||
title: versionList[key].version,
|
||||
version: versionList[key].version
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (dropArray.length >= 1) {
|
||||
let elem = $('tr[data-index="' + index + '"]').find('.install');
|
||||
$(elem).find('i').removeClass('layui-hide');
|
||||
dropdown.render({
|
||||
elem: $('tr[data-index="' + dataKey + '"]').find('.upgrade')
|
||||
elem: elem
|
||||
, trigger: 'hover'
|
||||
, align: 'center'
|
||||
, data: dropArray
|
||||
, data: dropList
|
||||
, className: 'install-version'
|
||||
, 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 type="text/html" id="tableBar">
|
||||
<a class="layui-table-text" data-title="{:__('编辑会员')}" data-url="#editforms" lay-event="edit">{:__('编辑')}</a>
|
||||
<script type="text/html" id="tableBar">
|
||||
<a class="layui-table-text" data-title="{:__('编辑会员')}" lay-auth data-url="#editforms" lay-event="edit">{:__('编辑')}</a>
|
||||
<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>
|
||||
</script>
|
||||
|
||||
<include file="/public/footer" />
|
||||
<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"
|
||||
,url: "{:url('/system/User/index')}"
|
||||
,page: true
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
layer.msg(res.msg);
|
||||
admin.event.closeDialog();
|
||||
}else {
|
||||
layer.error(res.msg);
|
||||
layui.show.error(res.msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user