若依开源1.1.1发布

This commit is contained in:
RuoYi
2018-04-23 00:00:29 +08:00
commit 262ee25d8e
453 changed files with 66923 additions and 0 deletions

View File

@ -0,0 +1,117 @@
/*!
* ruoyi.css v1.1.1
* Author: Ruoyi
*/
/** <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> */
.box {
position: relative;
border-radius: 3px;
background: #ffffff;
border-top: 3px solid #d2d6de;
margin-bottom: 20px;
width: 100%;
box-shadow: 0 1px 1px rgba(0,0,0,0.1)
}
.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after {
content: " ";
display: table
}
.box-header:after,.box-body:after,.box-footer:after {
clear: both
}
.btn-box-tool {
padding: 5px;
font-size: 12px;
background: transparent;
color: #97a0b3;
}
.open .btn-box-tool,
.btn-box-tool:hover {
color: #606c84;
}
.box-main {
margin: 0;
border: 0;
padding-top: 2px;
border-radius: 0;
box-shadow: none
}
.box-main>.box-header {
border-bottom: 1px solid #eee;
padding: 12px 10px 2px 15px
}
.box-header .box-title {
display: inline-block;
font-size: 18px;
margin: 0;
line-height: 1;
}
.box-main>.box-header .box-title {
font-size: 16px;
margin-bottom: 13px;
float: left
}
.box-main>.box-header .box-title .fa {
font-size: 14px;
padding-right: 3px;
margin-top: -2px
}
.box-main>.box-header .box-tools {
position: relative;
top: -5px;
right: 0
}
.box-main>.box-header .box-tools .btn {
padding: 3px 10px 5px 10px;
font-size: 14px;
margin-bottom: 2px
}
.box-main>.box-header .box-tools .btn-box-tool {
padding: 4px 2px
}
.box-main form>.box-footer,.nav-main form>.box-footer {
background: #fafafa
}
.box-main form>.box-footer .row,.nav-main form>.box-footer .row {
margin: 5px 0 5px -25px
}
/** select2 <20><>ʽ<EFBFBD>޸<EFBFBD> */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #1AB394;
border-color: #1AB394;
padding: 1px 10px;
color: #fff
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
margin-right: 5px;
color: rgba(255,255,255,0.7)
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
color: #fff
}
.select2-container .select2-selection--single .select2-selection__rendered {
padding-right: 10px
}

View File

@ -0,0 +1,187 @@
/**
* 通用方法封装处理
* Copyright (c) 2018 ruoyi
*/
/*
参数解释:
title 标题
url 请求的url
w 弹出层宽度(缺省调默认值)
h 弹出层高度(缺省调默认值)
*/
function layer_show(title, url, w, h) {
if (title == null || title == '') {
title = false;
};
if (url == null || url == '') {
url = "404.html";
};
if (w == null || w == '') {
w = 800;
};
if (h == null || h == '') {
h = ($(window).height() - 50);
};
layer.open({
type: 2,
area: [w + 'px', h + 'px'],
fix: false,
//不固定
maxmin: true,
shade: 0.4,
title: title,
content: url
});
}
function layer_showAuto(title, url) {
layer_show(title, url, '', '');
}
/*关闭弹出框口*/
function layer_close() {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
//状态码
web_status = {
SUCCESS: 0,
FAIL: 500
};
//对ajax的post方法再次封装
_ajax_save = function(url, data) {
var config = {
url: url,
type: "post",
dataType: "json",
data: data,
success: function(result) {
handleSuccess(result);
}
};
$.ajax(config)
};
//对jquery的ajax方法再次封装
_ajax = function(url, data, type, r) {
if (!r) {
return;
}
var config = {
url: url,
type: type,
dataType: "json",
data: data,
success: function(result) {
simpleSuccess(result);
}
};
$.ajax(config)
};
/** 返回结果处理 */
function simpleSuccess(result) {
if (result.code == web_status.SUCCESS) {
$.modalMsg(result.msg, "success");
$.refreshTable();
} else {
$.modalAlert(result.msg, "error");
}
}
/** 操作结果处理 */
function handleSuccess(result) {
if (result.code == web_status.SUCCESS) {
parent.layer.msg("新增成功,正在刷新数据请稍后……",{icon:1,time: 500,shade: [0.1,'#fff']},function(){
$.parentReload();
});
} else {
$.modalAlert(result.msg, "error");
}
}
$(document).ready(function() {
$(".onoffswitch-checkbox").on('click', function(){
clickSwitch()
});
var clickSwitch = function() {
if ($(".onoffswitch-checkbox").is(':checked')) {
alert("在ON的状态下");
} else {
alert("在OFF的状态下");
}
};
});
/** 时间格式化 */
function formatDate(_date, _pattern) {
var date = new Date(_date);
var newDate = date.format(_pattern);
return newDate;
}
Date.prototype.format = function(format) {
var date = {
"M+" : this.getMonth() + 1,
"d+" : this.getDate(),
"h+" : this.getHours(),
"m+" : this.getMinutes(),
"s+" : this.getSeconds(),
"q+" : Math.floor((this.getMonth() + 3) / 3),
"S+" : this.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '')
.substr(4 - RegExp.$1.length));
}
for ( var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k]
: ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
}
// 创建选项卡
function createMenuItem(dataUrl, menuName) {
dataIndex = Math.floor(Math.random()*100),
flag = true;
if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
// 选项卡菜单已存在
$('.menuTab', window.parent.document).each(function() {
if ($(this).data('id') == dataUrl) {
if (!$(this).hasClass('active')) {
$(this).addClass('active').siblings('.menuTab').removeClass('active');
scrollToTab(this);
// 显示tab对应的内容区
$('.mainContent .RuoYi_iframe', window.parent.document).each(function() {
if ($(this).data('id') == dataUrl) {
$(this).show().siblings('.RuoYi_iframe').hide();
return false;
}
});
}
flag = false;
return false;
}
});
// 选项卡菜单不存在
if (flag) {
var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>';
$('.menuTab', window.parent.document).removeClass('active');
// 添加选项卡对应的iframe
var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" seamless></iframe>';
$('.mainContent', window.parent.document).find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);
// 添加选项卡
$('.menuTabs .page-tabs-content', window.parent.document).append(str);
scrollToTab($('.menuTab.active'));
}
return false;
}

View File

@ -0,0 +1,382 @@
/**
* 菜单处理
*/
$(function() {
// MetsiMenu
$('#side-menu').metisMenu();
//固定菜单栏
$(function() {
$('.sidebar-collapse').slimScroll({
height: '100%',
railOpacity: 0.9,
alwaysVisible: false
});
});
// 菜单切换
$('.navbar-minimalize').click(function() {
$("body").toggleClass("mini-navbar");
SmoothlyMenu();
});
$('#side-menu>li').click(function() {
if ($('body').hasClass('mini-navbar')) {
NavToggle();
}
});
$('#side-menu>li li a').click(function() {
if ($(window).width() < 769) {
NavToggle();
}
});
$('.nav-close').click(NavToggle);
//ios浏览器兼容性处理
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
$('#content-main').css('overflow-y', 'auto');
}
});
$(window).bind("load resize",
function() {
if ($(this).width() < 769) {
$('body').addClass('mini-navbar');
$('.navbar-static-side').fadeIn();
}
});
function NavToggle() {
$('.navbar-minimalize').trigger('click');
}
function SmoothlyMenu() {
if (!$('body').hasClass('mini-navbar')) {
$('#side-menu').hide();
setTimeout(function() {
$('#side-menu').fadeIn(500);
},
100);
} else if ($('body').hasClass('fixed-sidebar')) {
$('#side-menu').hide();
setTimeout(function() {
$('#side-menu').fadeIn(500);
},
300);
} else {
$('#side-menu').removeAttr('style');
}
}
/**
* iframe处理
*/
$(function() {
//计算元素集合的总宽度
function calSumWidth(elements) {
var width = 0;
$(elements).each(function() {
width += $(this).outerWidth(true);
});
return width;
}
//滚动到指定选项卡
function scrollToTab(element) {
var marginLeftVal = calSumWidth($(element).prevAll()),
marginRightVal = calSumWidth($(element).nextAll());
// 可视区域非tab宽度
var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".menuTabs"));
//可视区域tab宽度
var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth;
//实际滚动宽度
var scrollVal = 0;
if ($(".page-tabs-content").outerWidth() < visibleWidth) {
scrollVal = 0;
} else if (marginRightVal <= (visibleWidth - $(element).outerWidth(true) - $(element).next().outerWidth(true))) {
if ((visibleWidth - $(element).next().outerWidth(true)) > marginRightVal) {
scrollVal = marginLeftVal;
var tabElement = element;
while ((scrollVal - $(tabElement).outerWidth()) > ($(".page-tabs-content").outerWidth() - visibleWidth)) {
scrollVal -= $(tabElement).prev().outerWidth();
tabElement = $(tabElement).prev();
}
}
} else if (marginLeftVal > (visibleWidth - $(element).outerWidth(true) - $(element).prev().outerWidth(true))) {
scrollVal = marginLeftVal - $(element).prev().outerWidth(true);
}
$('.page-tabs-content').animate({
marginLeft: 0 - scrollVal + 'px'
},
"fast");
}
//查看左侧隐藏的选项卡
function scrollTabLeft() {
var marginLeftVal = Math.abs(parseInt($('.page-tabs-content').css('margin-left')));
// 可视区域非tab宽度
var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".menuTabs"));
//可视区域tab宽度
var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth;
//实际滚动宽度
var scrollVal = 0;
if ($(".page-tabs-content").width() < visibleWidth) {
return false;
} else {
var tabElement = $(".menuTab:first");
var offsetVal = 0;
while ((offsetVal + $(tabElement).outerWidth(true)) <= marginLeftVal) { //找到离当前tab最近的元素
offsetVal += $(tabElement).outerWidth(true);
tabElement = $(tabElement).next();
}
offsetVal = 0;
if (calSumWidth($(tabElement).prevAll()) > visibleWidth) {
while ((offsetVal + $(tabElement).outerWidth(true)) < (visibleWidth) && tabElement.length > 0) {
offsetVal += $(tabElement).outerWidth(true);
tabElement = $(tabElement).prev();
}
scrollVal = calSumWidth($(tabElement).prevAll());
}
}
$('.page-tabs-content').animate({
marginLeft: 0 - scrollVal + 'px'
},
"fast");
}
//查看右侧隐藏的选项卡
function scrollTabRight() {
var marginLeftVal = Math.abs(parseInt($('.page-tabs-content').css('margin-left')));
// 可视区域非tab宽度
var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".menuTabs"));
//可视区域tab宽度
var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth;
//实际滚动宽度
var scrollVal = 0;
if ($(".page-tabs-content").width() < visibleWidth) {
return false;
} else {
var tabElement = $(".menuTab:first");
var offsetVal = 0;
while ((offsetVal + $(tabElement).outerWidth(true)) <= marginLeftVal) { //找到离当前tab最近的元素
offsetVal += $(tabElement).outerWidth(true);
tabElement = $(tabElement).next();
}
offsetVal = 0;
while ((offsetVal + $(tabElement).outerWidth(true)) < (visibleWidth) && tabElement.length > 0) {
offsetVal += $(tabElement).outerWidth(true);
tabElement = $(tabElement).next();
}
scrollVal = calSumWidth($(tabElement).prevAll());
if (scrollVal > 0) {
$('.page-tabs-content').animate({
marginLeft: 0 - scrollVal + 'px'
},
"fast");
}
}
}
//通过遍历给菜单项加上data-index属性
$(".menuItem").each(function(index) {
if (!$(this).attr('data-index')) {
$(this).attr('data-index', index);
}
});
function menuItem() {
// 获取标识数据
var dataUrl = $(this).attr('href'),
dataIndex = $(this).data('index'),
menuName = $.trim($(this).text()),
flag = true;
if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
// 选项卡菜单已存在
$('.menuTab').each(function() {
if ($(this).data('id') == dataUrl) {
if (!$(this).hasClass('active')) {
$(this).addClass('active').siblings('.menuTab').removeClass('active');
scrollToTab(this);
// 显示tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == dataUrl) {
$(this).show().siblings('.RuoYi_iframe').hide();
return false;
}
});
}
flag = false;
return false;
}
});
// 选项卡菜单不存在
if (flag) {
var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>';
$('.menuTab').removeClass('active');
// 添加选项卡对应的iframe
var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" seamless></iframe>';
$('.mainContent').find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);
// 添加选项卡
$('.menuTabs .page-tabs-content').append(str);
scrollToTab($('.menuTab.active'));
}
return false;
}
$('.menuItem').on('click', menuItem);
// 关闭选项卡菜单
function closeTab() {
var closeTabId = $(this).parents('.menuTab').data('id');
var currentWidth = $(this).parents('.menuTab').width();
// 当前元素处于活动状态
if ($(this).parents('.menuTab').hasClass('active')) {
// 当前元素后面有同辈元素,使后面的一个元素处于活动状态
if ($(this).parents('.menuTab').next('.menuTab').size()) {
var activeId = $(this).parents('.menuTab').next('.menuTab:eq(0)').data('id');
$(this).parents('.menuTab').next('.menuTab:eq(0)').addClass('active');
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == activeId) {
$(this).show().siblings('.RuoYi_iframe').hide();
return false;
}
});
var marginLeftVal = parseInt($('.page-tabs-content').css('margin-left'));
if (marginLeftVal < 0) {
$('.page-tabs-content').animate({
marginLeft: (marginLeftVal + currentWidth) + 'px'
},
"fast");
}
// 移除当前选项卡
$(this).parents('.menuTab').remove();
// 移除tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == closeTabId) {
$(this).remove();
return false;
}
});
}
// 当前元素后面没有同辈元素,使当前元素的上一个元素处于活动状态
if ($(this).parents('.menuTab').prev('.menuTab').size()) {
var activeId = $(this).parents('.menuTab').prev('.menuTab:last').data('id');
$(this).parents('.menuTab').prev('.menuTab:last').addClass('active');
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == activeId) {
$(this).show().siblings('.RuoYi_iframe').hide();
return false;
}
});
// 移除当前选项卡
$(this).parents('.menuTab').remove();
// 移除tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == closeTabId) {
$(this).remove();
return false;
}
});
}
}
// 当前元素不处于活动状态
else {
// 移除当前选项卡
$(this).parents('.menuTab').remove();
// 移除相应tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == closeTabId) {
$(this).remove();
return false;
}
});
scrollToTab($('.menuTab.active'));
}
return false;
}
$('.menuTabs').on('click', '.menuTab i', closeTab);
//关闭其他选项卡
function closeOtherTabs() {
$('.page-tabs-content').children("[data-id]").not(":first").not(".active").each(function() {
$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').remove();
$(this).remove();
});
$('.page-tabs-content').css("margin-left", "0");
}
$('.tabCloseOther').on('click', closeOtherTabs);
//滚动到已激活的选项卡
function showActiveTab() {
scrollToTab($('.menuTab.active'));
}
$('.tabShowActive').on('click', showActiveTab);
// 点击选项卡菜单
function activeTab() {
if (!$(this).hasClass('active')) {
var currentId = $(this).data('id');
// 显示tab对应的内容区
$('.mainContent .RuoYi_iframe').each(function() {
if ($(this).data('id') == currentId) {
$(this).show().siblings('.RuoYi_iframe').hide();
return false;
}
});
$(this).addClass('active').siblings('.menuTab').removeClass('active');
scrollToTab(this);
}
}
$('.menuTabs').on('click', '.menuTab', activeTab);
//刷新iframe
function refreshTab() {
var currentId = $('.page-tabs-content').find('.active').attr('data-id');
var target = $('.RuoYi_iframe[data-id="' + currentId + '"]');
var url = target.attr('src');
target.attr('src', url).ready();
}
// 刷新按钮
$('.tabReload').on('click', refreshTab);
$('.menuTabs').on('dblclick', '.menuTab', refreshTab);
// 左移按扭
$('.tabLeft').on('click', scrollTabLeft);
// 右移按扭
$('.tabRight').on('click', scrollTabRight);
// 关闭全部
$('.tabCloseAll').on('click',
function() {
$('.page-tabs-content').children("[data-id]").not(":first").each(function() {
$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').remove();
$(this).remove();
});
$('.page-tabs-content').children("[data-id]:first").each(function() {
$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').show();
$(this).addClass("active");
});
$('.page-tabs-content').css("margin-left", "0");
});
});

View File

@ -0,0 +1,159 @@
/**
* 通用方法封装处理
* Copyright (c) 2018 ruoyi
*/
$(function(){
// 消息窗体
$.modalMsg = function(content, type) {
if (type != undefined) {
var icon = "";
if (type == 'warning') {
icon = 0;
}
else if (type == 'success') {
icon = 1;
}
else if (type == 'error') {
icon = 2;
}
layer.msg(content, { icon: icon, time: 2000, shift: 0 });
$(".layui-layer-msg").find('i.' + icon).parents('.layui-layer-msg').addClass('layui-layer-msg-' + type);
} else {
layer.msg(content);
}
}
// 弹出窗体
$.modalAlert = function(content, type) {
var icon = "";
if (type == 'warning') {
icon = 0;
} else if (type == 'success') {
icon = 1;
} else if (type == 'error') {
icon = 2;
} else {
icon = 3;
}
layer.alert(content, {
icon: icon,
title: "系统提示",
btn: ['确认'],
btnclass: ['btn btn-primary'],
});
}
// 确认窗体
$.modalConfirm = function (content, callBack) {
layer.confirm(content, {
icon: 3,
title: "系统提示",
btn: ['确认', '取消'],
btnclass: ['btn btn-primary', 'btn btn-danger'],
}, function () {
callBack(true);
}, function () {
callBack(false)
});
}
// 关闭窗体
$.modalClose = function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
var $IsdialogClose = top.$("#layui-layer" + index).find('.layui-layer-btn').find("#IsdialogClose");
var IsClose = $IsdialogClose.is(":checked");
if ($IsdialogClose.length == 0) {
IsClose = true;
}
if (IsClose) {
parent.layer.close(index);
} else {
parent.location.reload();
}
}
// 刷新父窗体
$.parentReload = function () {
parent.location.reload();
return false;
}
// 初始bootstrap table数据
$.initTable = function (_columns, _url) {
$('.bootstrap-table').bootstrapTable({
method: 'get', // 请求方式(*
dataType: "json", // 返回格式(*
url: _url, // 请求后台的URL*
pagination: true, // 是否显示分页(*
pageSize: 10, // 每页的记录行数(*
pageNumber: 1, // 初始化加载第一页,默认第一页
pageList: [10, 25, 50], // 可供选择的每页的行数(*
search: true, // 是否显示搜索框功能
singleSelect: false, // 是否禁止多选
iconSize: 'outline', // 图标大小undefined默认的按钮尺寸 xs超小按钮sm小按钮lg大按钮
toolbar: '#tableToolbar', // 指定工作栏
sidePagination: "server", // 启用服务端分页
showRefresh: true, // 是否显示刷新按钮
showColumns: true, // 是否显示隐藏某列下拉框
showToggle: true, // 是否显示详细视图和列表视图的切换按钮
cache: false, // 是否使用缓存
showExport: true, // 是否支持导出文件
queryParams: function(params) {
return {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
searchValue: params.search,
orderByColumn: params.sort,
isAsc: params.order
};
},
columns: _columns
});
}
//初始化表格树,并展开树
$.initTreeTable = function (_id, _parentId, _columns, _url) {
$.initTreeTable(_id, _parentId, _columns, _url, true);
}
//初始化表格树_expandAll true展开 false 不展开
$.initTreeTable = function (_id, _parentId, _columns, _url, _expandAll) {
$('.bootstrap-table').bootstrapTreeTable({
code : _id, // 用于设置父子关系
parentCode : _parentId, // 用于设置父子关系
type: 'get', // 请求方式(*
url: _url, // 请求后台的URL*
ajaxParams : {}, // 请求数据的ajax的data属性
expandColumn : '0', // 在哪一列上面显示展开按钮
striped : false, // 是否各行渐变色
bordered : true, // 是否显示边框
expandAll : _expandAll, // 是否全部展开
showRefresh: true, // 是否显示刷新按钮
columns: _columns
});
}
// 刷新bootstrap table数据
$.refreshTable = function () {
$('.bootstrap-table').bootstrapTable('refresh');
}
// 获取bootstrap table选中项
$.getSelections = function (_id) {
return $.map($('.bootstrap-table').bootstrapTable('getSelections'), function (row) {
return row[_id];
});
}
// 获取选中复选框项
$.getCheckeds = function (_name) {
var roleIds = "";
$('input:checkbox[name="' + _name + '"]:checked').each(function(i) {
if (0 == i) {
roleIds = $(this).val();
} else {
roleIds += ("," + $(this).val());
}
});
return roleIds;
}
// 复选框事件绑定
if ($.fn.select2 !== undefined) {
$("select.form-control:not(.noselect2)").each(function () {
$(this).select2().on("change", function () {
$(this).valid();
})
})
}
});

View File

@ -0,0 +1,20 @@
$("#form-job-add").validate({
rules:{
jobName:{
required:true,
},
jobGroup:{
required:true,
},
cronExpression:{
required:true,
},
},
submitHandler:function(form){
add();
}
});
function add() {
_ajax_save("/monitor/job/save", $("#form-job-add").serialize());
}

View File

@ -0,0 +1,20 @@
$("#form-job-edit").validate({
rules:{
jobName:{
required:true,
},
jobGroup:{
required:true,
},
cronExpression:{
required:true,
},
},
submitHandler:function(form){
edit();
}
});
function edit() {
_ajax_save("/monitor/job/save", $("#form-job-edit").serialize());
}

View File

@ -0,0 +1,119 @@
var prefix = "/monitor/job"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'jobId',
title: '任务编号'
},
{
field: 'jobName',
title: '任务名称'
},
{
field: 'jobGroup',
title: '任务组名'
},
{
field: 'methodName',
title: '方法名称'
},
{
field: 'params',
title: '方法参数'
},
{
field: 'cronExpression',
title: '执行表达式'
},
{
field: 'status',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">正常</span>';
} else if (value == 1) {
return '<span class="label label-danger">暂停</span>';
}
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push(statusTools(row));
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.jobId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" onclick="remove(\'' + row.jobId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
function statusTools(row) {
if (row.status == 1) {
return '<a class="btn btn-primary btn-sm ' + statusFlag + '" href="#" title="启用" onclick="start(this,\'' + row.jobId + '\')"><i class="fa fa-check"></i></a> ';
} else {
return '<a class="btn btn-primary btn-sm ' + statusFlag + '" href="#" title="停用" onclick="stop(this,\'' + row.jobId + '\')"><i class="fa fa-minus"></i></a> ';
}
}
/*调度任务-停用*/
function stop(obj, jobId) {
$.modalConfirm("确认要停用吗?", function(r) {
_ajax(prefix + "/changeStatus/", { "jobId": jobId, "status": 1 }, "post", r);
})
}
/*调度任务-启用*/
function start(obj, jobId) {
$.modalConfirm("确认要启用吗?", function(r) {
_ajax(prefix + "/changeStatus/", { "jobId": jobId, "status": 0 }, "post", r);
})
}
/*调度任务-新增*/
function add() {
var url = prefix + '/add';
layer_showAuto("新增调度任务", url);
}
/*调度任务-修改*/
function edit(jobId) {
var url = prefix + '/edit/' + jobId;
layer_showAuto("修改调度任务", url);
}
// 单条删除
function remove(id) {
$.modalConfirm("确定要删除选中调度任务吗?", function(r) {
_ajax(prefix + "/remove/" + id, "", "post", r);
})
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("jobId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}
//调度日志查询
function jobLog(id) {
var url = '/monitor/jobLog';
createMenuItem(url, "调度日志");
}

View File

@ -0,0 +1,77 @@
var prefix = "/monitor/jobLog"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'jobLogId',
title: '任务日志编号'
},
{
field: 'jobName',
title: '任务名称'
},
{
field: 'jobGroup',
title: '任务组名'
},
{
field: 'methodName',
title: '方法名称'
},
{
field: 'params',
title: '方法参数'
},
{
field: 'jobMessage',
title: '日志信息'
},
{
field: 'isException',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">正常</span>';
} else if (value == 1) {
return '<span class="label label-danger">异常</span>';
}
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" onclick="remove(\'' + row.jobLogId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
// 单条删除
function remove(jobLogId) {
$.modalConfirm("确定要删除选中岗位吗?", function(r) {
_ajax(prefix + "/remove/" + jobLogId, "", "post", r);
})
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("jobLogId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,61 @@
var prefix = "/monitor/logininfor"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'infoId',
title: '访问编号'
},
{
field: 'loginName',
title: '登录名称'
},
{
field: 'ipaddr',
title: '主机'
},
{
field: 'browser',
title: '浏览器'
},
{
field: 'os',
title: '操作系统'
},
{
field: 'status',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">成功</span>';
} else if (value == 1) {
return '<span class="label label-danger">失败</span>';
}
}
},
{
field: 'msg',
title: '操作信息'
},
{
field: 'loginTime',
title: '登录时间'
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
// 批量删除
function batchRemove() {
var rows = $.getSelections("infoId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,80 @@
var prefix = "/monitor/online"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'sessionId',
title: '会话编号'
},
{
field: 'loginName',
title: '登录名称'
},
{
field: 'deptName',
title: '部门名称'
},
{
field: 'ipaddr',
title: '主机'
},
{
field: 'browser',
title: '浏览器'
},
{
field: 'os',
title: '操作系统'
},
{
field: 'status',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 'on_line') {
return '<span class="label label-success">在线</span>';
} else if (value == 'off_line') {
return '<span class="label label-primary">离线</span>';
}
}
},
{
field: 'startTimestamp',
title: '登录时间'
},
{
field: 'lastAccessTime',
title: '最后访问时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var msg = '<a class="btn btn-warning btn-sm ' + forceFlag + '" href="#" title="强退" onclick="forceLogout(\'' + row.sessionId + '\')"><i class="fa fa-remove"></i></a> ';
return msg;
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
// 单条强退
function forceLogout(id) {
$.modalConfirm("确定要强制选中用户下线吗?", function(r) {
_ajax(prefix + "/forceLogout/" + id, "", "post", r);
})
}
// 批量强退
function batchForceLogout() {
var rows = $.getSelections("sessionId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchForceLogout', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,76 @@
var prefix = "/monitor/operlog"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'operId',
title: '日志编号'
},
{
field: 'title',
title: '模块'
},
{
field: 'action',
title: '功能'
},
{
field: 'loginName',
title: '登录名称'
},
{
field: 'deptName',
title: '部门名称'
},
{
field: 'operIp',
title: '主机'
},
{
field: 'status',
title: '操作状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">成功</span>';
} else if (value == 1) {
return '<span class="label label-danger">异常</span>';
}
}
},
{
field: 'operTime',
title: '操作时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-warning btn-sm ' + detailFlag + '" href="#" title="详细信息" onclick="detail(\'' + row.operId + '\')"><i class="fa fa-search"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
/*操作日志-详细*/
function detail(id) {
var url = prefix + '/detail/' + id;
layer_showAuto("操作日志详细", url);
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("operId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,44 @@
$("#form-dept-add").validate({
rules:{
deptName:{
required:true,
remote: {
url: "/system/dept/checkDeptNameUnique",
type: "post",
dataType: "text",
data: {
"deptName" : function() {
return $("input[name='deptName']").val();
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
orderNum:{
required:true,
digits:true
},
},
messages: {
"deptName": {
remote: "部门已经存在"
}
},
submitHandler:function(form){
update();
}
});
function update() {
_ajax_save("/system/dept/save", $("#form-dept-add").serialize());
}
/*部门管理-新增-选择父部门树*/
function selectDeptTree() {
var deptId = $("#treeId").val();
var url = "/system/dept/selectDeptTree/" + deptId;
layer_show("选择部门", url, '380', '380');
}

View File

@ -0,0 +1,80 @@
var prefix = "/system/dept"
window.onload = function() {
loading();
};
function loading() {
var columns = [{
field : 'deptName',
title : '部门名称'
},
{
field : 'orderNum',
title : '排序'
},
{
field : 'status',
title : '状态',
formatter : function(item, index) {
if (item.status == '0') {
return '<span class="label label-primary">正常</span>';
} else if (item.status == '1') {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
title : '创建时间',
formatter : function(row, index) {
return formatDate(row.createTime,"yyyy-MM-dd");
}
},
{
title : '操作',
align : 'center',
formatter : function(row, index) {
if(row.parentId != 0) {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.deptId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-primary btn-sm ' + addFlag + '" href="#" title="新增" mce_href="#" onclick="add(\'' + row.deptId + '\')"><i class="fa fa-plus"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" mce_href="#" onclick="remove(\'' + row.deptId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
} else {
return "";
}
}
}];
var url = prefix + "/list";
$.initTreeTable('deptId', 'parentId', columns, url);
}
/*部门管理-新增*/
function add(deptId) {
var url = prefix + '/add/' + deptId;
layer_showAuto("新增部门", url);
}
/*部门管理-修改*/
function edit(deptId) {
var url = prefix + '/edit/' + deptId;
layer_showAuto("修改部门", url);
}
/*部门管理-删除*/
function remove(deptId) {
layer.confirm("确定要删除部门吗?",{icon: 3, title:'提示'},function(index){
$.ajax({
type : 'get',
url: prefix + "/remove/" + deptId,
success : function(r) {
if (r.code == 0) {
layer.msg(r.msg, { icon: 1, time: 1000 });
loading();
} else {
layer.alert(r.msg, { icon: 2, title: "系统提示" });
}
}
});
});
}

View File

@ -0,0 +1,47 @@
$("#form-dept-edit").validate({
rules:{
deptName:{
required:true,
remote: {
url: "/system/dept/checkDeptNameUnique",
type: "post",
dataType: "text",
data: {
"deptId": function() {
return $("input[name='deptId']").val();
},
"deptName": function() {
return $("input[name='deptName']").val();
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
orderNum:{
required:true,
digits:true
},
},
messages: {
"deptName": {
remote: "部门已经存在"
}
},
submitHandler:function(form){
update();
}
});
function update() {
_ajax_save("/system/dept/save", $("#form-dept-edit").serialize());
}
/*部门管理-修改-选择部门树*/
function selectDeptTree() {
var deptId = $("#treeId").val();
var url = "/system/dept/selectDeptTree/" + deptId;
layer_show("选择部门", url, '380', '380');
}

View File

@ -0,0 +1,147 @@
// 树结构初始化加载
var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{enable:true}},
callback:{onClick:function(event, treeId, treeNode){
var treeId = treeNode.id;
var treeName = treeNode.name;
$("#treeId").val(treeId);
$("#treeName").val(treeName);
}}
}, tree, loadTree = function(){
$.get("/system/dept/treeData", function(data) {
var treeName = $("#treeName").val();
tree = $.fn.zTree.init($("#tree"), setting, data);
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);
for (var i = 0; i < nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
selectCheckNode(treeName,nodes[i]);
}
// 展开第二级节点
nodes = tree.getNodesByParam("level", 1);
for (var i = 0; i < nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
selectCheckNode(treeName,nodes[i]);
}
// 展开第二级节点
nodes = tree.getNodesByParam("level", 2);
for (var i = 0; i < nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
selectCheckNode(treeName,nodes[i]);
}
}, null, null, "正在加载,请稍后...");
};
$(function() {
loadTree();
});
function selectCheckNode(treeName, node) {
if(treeName == node.name){
tree.selectNode(node, true);
}
}
$('#btnExpand').click(function() {
tree.expandAll(true);
});
$('#btnCollapse').click(function() {
tree.expandAll(false);
});
function loadUser(){
var treeId = $("#treeId").val();
var treeName = $("#treeName").val();
parent.$("#treeId").val(treeId);
parent.$("#treeName").val(treeName);
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
}
var lastValue = "", nodeList = [], key = $("#keyword");
key.bind("focus", focusKey).bind("blur", blurKey).bind("change cut input propertychange", searchNode);
key.bind("keydown", function (e){if(e.which == 13){searchNode();}});
function focusKey(e) {
if (key.hasClass("empty")) {
key.removeClass("empty");
}
}
function blurKey(e) {
if (key.get(0).value === "") {
key.addClass("empty");
}
searchNode(e);
}
function searchNode() {
var value = $.trim(key.get(0).value);
var keyType = "name";
if (lastValue === value) {
return;
}
lastValue = value;
var nodes = tree.getNodes();
if (value == "") {
showAllNode(nodes);
return;
}
hideAllNode(nodes);
nodeList = tree.getNodesByParamFuzzy(keyType, value);
updateNodes(nodeList);
}
function hideAllNode(nodes){
var tree = $.fn.zTree.getZTreeObj("tree");
nodes = tree.transformToArray(nodes);
for(var i=nodes.length-1; i>=0; i--) {
tree.hideNode(nodes[i]);
}
}
function showAllNode(nodes){
nodes = tree.transformToArray(nodes);
for(var i=nodes.length-1; i>=0; i--) {
if(nodes[i].getParentNode()!=null){
tree.expandNode(nodes[i],false,false,false,false);
}else{
tree.expandNode(nodes[i],true,true,false,false);
}
tree.showNode(nodes[i]);
showAllNode(nodes[i].children);
}
}
function updateNodes(nodeList) {
tree.showNodes(nodeList);
for(var i=0, l=nodeList.length; i<l; i++) {
var treeNode = nodeList[i];
showChildren(treeNode);
showParent(treeNode)
}
}
function showChildren(treeNode){
if (treeNode.isParent){
for(var idx in treeNode.children){
var node = treeNode.children[idx];
tree.showNode(node);
showChildren(node);
}
}
}
function showParent(treeNode){
var parentNode;
while((parentNode = treeNode.getParentNode()) != null){
tree.showNode(parentNode);
tree.expandNode(parentNode, true, false, false);
treeNode = parentNode;
}
}
function search($this) {
$('#search').slideToggle(200);
$('#btnShow').toggle();
$('#btnHide').toggle();
$('#keyword').focus();
}

View File

@ -0,0 +1,17 @@
$("#form-dict-add").validate({
rules:{
dictLabel:{
required:true,
},
dictValue:{
required:true,
},
},
submitHandler:function(form){
add();
}
});
function add() {
_ajax_save("/system/dict/data/save", $("#form-dict-add").serialize());
}

View File

@ -0,0 +1,91 @@
var prefix = "/system/dict/data"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'dictCode',
title: '字典编码'
},
{
field: 'dictLabel',
title: '字典标签'
},
{
field: 'dictValue',
title: '字典键值'
},
{
field: 'dictSort',
title: '字典排序'
},
{
field: 'status',
title: '操作状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">正常</span>';
} else if (value == 1) {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
field: 'remark',
title: '备注'
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑字典" mce_href="#" onclick="edit(\'' + row.dictCode + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" mce_href="#" onclick="remove(\'' + row.dictCode + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list?dictType=" + $("#dictType").val();
$.initTable(columns, url);
});
/*字典管理-新增*/
function add() {
var url = prefix + '/add/' + $("#dictType").val();
layer_showAuto("新增字典类型", url);
}
/*角色管理-修改*/
function edit(dictCode) {
var url = prefix + '/edit/' + dictCode;
layer_showAuto("修改字典类型", url);
}
/*字典列表-详细*/
function detail(id) {
createMenuItem(prefix + '/detail', "字典数据");
}
//单条删除
function remove(id) {
$.modalConfirm("确定要删除选中字典数据吗?", function(r) {
_ajax(prefix + "/remove/" + id, "", "post", r);
})
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("dictCode");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,17 @@
$("#form-dict-edit").validate({
rules:{
dictLabel:{
required:true,
},
dictValue:{
required:true,
},
},
submitHandler:function(form){
update();
}
});
function update() {
_ajax_save("/system/dict/data/save", $("#form-dict-edit").serialize());
}

View File

@ -0,0 +1,37 @@
$("#form-dict-add").validate({
rules:{
dictName:{
required:true,
},
dictType:{
required:true,
minlength: 5,
remote: {
url: "/system/dict/checkDictTypeUnique",
type: "post",
dataType: "text",
data: {
name : function() {
return $.trim($("#dictType").val());
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
},
messages: {
"dictType": {
remote: "该字典类型已经存在"
}
},
submitHandler:function(form){
add();
}
});
function add() {
_ajax_save("/system/dict/save", $("#form-dict-add").serialize());
}

View File

@ -0,0 +1,40 @@
$("#form-dict-edit").validate({
rules:{
dictName:{
required:true,
},
dictType:{
required:true,
minlength: 5,
remote: {
url: "/system/dict/checkDictTypeUnique",
type: "post",
dataType: "text",
data: {
dictId : function() {
return $.trim($("#dictId").val());
},
dictType : function() {
return $.trim($("#dictType").val());
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
},
messages: {
"dictType": {
remote: "该字典类型已经存在"
}
},
submitHandler:function(form){
update();
}
});
function update() {
_ajax_save("/system/dict/save", $("#form-dict-edit").serialize());
}

View File

@ -0,0 +1,89 @@
var prefix = "/system/dict"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'dictId',
title: '字典主键'
},
{
field: 'dictName',
title: '字典名称'
},
{
field: 'dictType',
title: '字典类型'
},
{
field: 'status',
title: '操作状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">正常</span>';
} else if (value == 1) {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
field: 'remark',
title: '备注'
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.dictId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-info btn-sm ' + listFlag + '" href="#" title="详细" onclick="detail(\'' + row.dictId + '\')"><i class="fa fa-list-ul"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" mce_href="#" onclick="remove(\'' + row.dictId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
/*字典管理-新增*/
function add() {
var url = prefix + '/add';
layer_showAuto("新增字典类型", url);
}
/*角色管理-修改*/
function edit(dictId) {
var url = prefix + '/edit/' + dictId;
layer_showAuto("修改字典类型", url);
}
/*字典列表-详细*/
function detail(dictId) {
var url = prefix + '/detail/' + dictId;
createMenuItem(url, "字典数据");
}
//单条删除
function remove(id) {
$.modalConfirm("确定要删除选中字典吗?", function(r) {
_ajax(prefix + "/remove/" + id, "", "post", r);
})
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("dictId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,83 @@
$("#form-menu-add").validate({
rules:{
menuName:{
required:true,
remote: {
url: "/system/menu/checkMenuNameUnique",
type: "post",
dataType: "text",
data: {
"menuName" : function() {
return $.trim($("#menuName").val());
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
orderNum:{
required:true,
digits:true
},
},
messages: {
"menuName": {
remote: "菜单已经存在"
}
},
submitHandler:function(form){
add();
}
});
$(function() {
$("input[name='icon']").focus(function() {
$(".icon-drop").show();
});
$("#form-menu-add").click(function(event) {
var obj = event.srcElement || event.target;
if (!$(obj).is("input[name='icon']")) {
$(".icon-drop").hide();
}
});
$(".icon-drop").find(".ico-list i").on("click", function() {
$('#icon').val($(this).attr('class'));
});
$('input').on('ifChecked', function(event){
var menuType = $(event.target).val();
if (menuType == "M") {
$("#url").parents(".form-group").hide();
$("#perms").parents(".form-group").hide();
$("#icon").parents(".form-group").show();
} else if (menuType == "C") {
$("#url").parents(".form-group").show();
$("#perms").parents(".form-group").show();
$("#icon").parents(".form-group").hide();
} else if (menuType == "F") {
$("#url").parents(".form-group").hide();
$("#perms").parents(".form-group").show();
$("#icon").parents(".form-group").hide();
}
});
});
function add() {
_ajax_save("/system/menu/save", $("#form-menu-add").serialize());
}
/*菜单管理-新增-选择菜单树*/
function selectMenuTree() {
var menuId = $("#treeId").val();
if(menuId > 0)
{
var url = "/system/menu/selectMenuTree/" + menuId;
layer_show("选择菜单", url, '380', '380');
}
else
{
var url = "/system/menu/selectMenuTree/1";
layer_show("选择菜单", url, '380', '380');
}
}

View File

@ -0,0 +1,96 @@
$(document).ready(function() {
var menuType = $('input[name="menuType"]:checked').val();
menuVisible(menuType);
});
$("#form-menu-edit").validate({
rules:{
menuName:{
required:true,
remote: {
url: "/system/menu/checkMenuNameUnique",
type: "post",
dataType: "text",
data: {
"menuId": function() {
return $("input[name='menuId']").val();
},
"menuName": function() {
return $("input[name='menuName']").val();
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
orderNum:{
required:true,
digits:true
},
},
messages: {
"menuName": {
remote: "菜单已经存在"
}
},
submitHandler:function(form){
update();
}
});
$(function() {
$("input[name='icon']").focus(function() {
$(".icon-drop").show();
});
$("#form-menu-edit").click(function(event) {
var obj = event.srcElement || event.target;
if (!$(obj).is("input[name='icon']")) {
$(".icon-drop").hide();
}
});
$(".icon-drop").find(".ico-list i").on("click",
function() {
$('#icon').val($(this).attr('class'));
});
$('input').on('ifChecked',
function(event) {
var menuType = $(event.target).val();
menuVisible(menuType);
});
});
function menuVisible(menuType) {
if (menuType == "M") {
$("#url").parents(".form-group").hide();
$("#perms").parents(".form-group").hide();
$("#icon").parents(".form-group").show();
} else if (menuType == "C") {
$("#url").parents(".form-group").show();
$("#perms").parents(".form-group").show();
$("#icon").parents(".form-group").hide();
} else if (menuType == "F") {
$("#url").parents(".form-group").hide();
$("#perms").parents(".form-group").show();
$("#icon").parents(".form-group").hide();
}
}
function update() {
_ajax_save("/system/menu/save", $("#form-menu-edit").serialize());
}
/*菜单管理-修改-选择菜单树*/
function selectMenuTree() {
var menuId = $("#treeId").val();
if(menuId > 0)
{
var url = "/system/menu/selectMenuTree/" + menuId;
layer_show("选择菜单", url, '380', '380');
}
else
{
$.modalAlert("主菜单不能选择", "error");
}
}

View File

@ -0,0 +1,104 @@
var prefix = "/system/menu"
window.onload = function() {
loading();
};
function loading() {
var columns = [
{
title : '菜单名称',
field : 'menuName',
formatter : function(row, index) {
if(row.icon == null || row == "") {
return row.menuName;
} else {
return '<i class="' + row.icon + '"></i> <span class="nav-label">' + row.menuName + '</span>';
}
}
},
{
field : 'orderNum',
title : '排序'
},
{
field : 'url',
title : '请求地址'
},
{
title : '类型',
field : 'menuType',
align : 'center',
valign : 'middle',
formatter : function(item, index) {
if (item.menuType == 'M') {
return '<span class="label label-primary">目录</span>';
}
if (item.menuType == 'C') {
return '<span class="label label-success">菜单</span>';
}
if (item.menuType == 'F') {
return '<span class="label label-warning">按钮</span>';
}
}
},
{
field: 'visible',
title: '可见',
align: 'center',
formatter: function(row, index) {
if (row.visible == 0) {
return '<span class="label label-success">显示</span>';
} else if (row.visible == 1) {
return '<span class="label label-danger">隐藏</span>';
}
}
},
{
field : 'perms',
title : '权限标识'
},
{
title : '操作',
align : 'center',
formatter : function(row, index) {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.menuId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-primary btn-sm ' + addFlag + '" href="#" title="新增" mce_href="#" onclick="add(\'' + row.menuId + '\')"><i class="fa fa-plus"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" mce_href="#" onclick="remove(\'' + row.menuId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTreeTable('menuId', 'parentId', columns, url, false);
}
/*菜单管理-新增*/
function add(menuId) {
var url = prefix + '/add/' + menuId;
layer_showAuto("新增菜单", url);
}
/*菜单管理-修改*/
function edit(menuId) {
var url = prefix + '/edit/' + menuId;
layer_showAuto("修改菜单", url);
}
/*菜单管理-删除*/
function remove(menuId) {
layer.confirm("确定要删除菜单吗?",{icon: 3, title:'提示'},function(index){
$.ajax({
type : 'get',
url: prefix + "/remove/" + menuId,
success : function(r) {
if (r.code == 0) {
layer.msg(r.msg, { icon: 1, time: 1000 });
loading();
} else {
layer.alert(r.msg, { icon: 2, title: "系统提示" });
}
}
});
});
}

View File

@ -0,0 +1,135 @@
// 树结构初始化加载
var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{enable:true}},
callback:{onClick:function(event, treeId, treeNode){
var treeId = treeNode.id;
var treeName = treeNode.name;
$("#treeId").val(treeId);
$("#treeName").val(treeName);
}}
}, tree, loadTree = function(){
$.get("/system/menu/menuTreeData", function(data) {
var treeName = $("#treeName").val();
tree = $.fn.zTree.init($("#tree"), setting, data);
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);
for (var i = 0; i < nodes.length; i++) {
tree.expandNode(nodes[i], false, false, false);
selectCheckNode(treeName,nodes[i]);
}
}, null, null, "正在加载,请稍后...");
};
$(function() {
loadTree();
});
function selectCheckNode(treeName, node) {
if(treeName == node.name){
tree.selectNode(node, true);
}
}
$('#btnExpand').click(function() {
tree.expandAll(true);
});
$('#btnCollapse').click(function() {
tree.expandAll(false);
});
function loadMenu(){
var treeId = $("#treeId").val();
var treeName = $("#treeName").val();
parent.$("#treeId").val(treeId);
parent.$("#treeName").val(treeName);
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
}
var lastValue = "", nodeList = [], key = $("#keyword");
key.bind("focus", focusKey).bind("blur", blurKey).bind("change cut input propertychange", searchNode);
key.bind("keydown", function (e){if(e.which == 13){searchNode();}});
function focusKey(e) {
if (key.hasClass("empty")) {
key.removeClass("empty");
}
}
function blurKey(e) {
if (key.get(0).value === "") {
key.addClass("empty");
}
searchNode(e);
}
function searchNode() {
var value = $.trim(key.get(0).value);
var keyType = "name";
if (lastValue === value) {
return;
}
lastValue = value;
var nodes = tree.getNodes();
if (value == "") {
showAllNode(nodes);
return;
}
hideAllNode(nodes);
nodeList = tree.getNodesByParamFuzzy(keyType, value);
updateNodes(nodeList);
}
function hideAllNode(nodes){
var tree = $.fn.zTree.getZTreeObj("tree");
nodes = tree.transformToArray(nodes);
for(var i=nodes.length-1; i>=0; i--) {
tree.hideNode(nodes[i]);
}
}
function showAllNode(nodes){
nodes = tree.transformToArray(nodes);
for(var i=nodes.length-1; i>=0; i--) {
if(nodes[i].getParentNode()!=null){
tree.expandNode(nodes[i],false,false,false,false);
}else{
tree.expandNode(nodes[i],true,true,false,false);
}
tree.showNode(nodes[i]);
showAllNode(nodes[i].children);
}
}
function updateNodes(nodeList) {
tree.showNodes(nodeList);
for(var i=0, l=nodeList.length; i<l; i++) {
var treeNode = nodeList[i];
showChildren(treeNode);
showParent(treeNode)
}
}
function showChildren(treeNode){
if (treeNode.isParent){
for(var idx in treeNode.children){
var node = treeNode.children[idx];
tree.showNode(node);
showChildren(node);
}
}
}
function showParent(treeNode){
var parentNode;
while((parentNode = treeNode.getParentNode()) != null){
tree.showNode(parentNode);
tree.expandNode(parentNode, true, false, false);
treeNode = parentNode;
}
}
function search($this) {
$('#search').slideToggle(200);
$('#btnShow').toggle();
$('#btnHide').toggle();
$('#keyword').focus();
}

View File

@ -0,0 +1,21 @@
$("#form-post-add").validate({
rules:{
postCode:{
required:true,
},
postName:{
required:true,
},
postSort:{
required:true,
},
},
submitHandler:function(form){
add();
}
});
/** 岗位管理-新增岗位 */
function add() {
_ajax_save("/system/post/save", $("#form-post-add").serialize());
}

View File

@ -0,0 +1,21 @@
$("#form-post-edit").validate({
rules:{
postCode:{
required:true,
},
postName:{
required:true,
},
postSort:{
required:true,
},
},
submitHandler:function(form){
edit();
}
});
/** 岗位管理-修改岗位 */
function edit() {
_ajax_save("/system/post/save", $("#form-post-edit").serialize());
}

View File

@ -0,0 +1,82 @@
var prefix = "/system/post"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'postId',
title: '岗位编号'
},
{
field: 'postCode',
title: '岗位编码'
},
{
field: 'postName',
title: '岗位名称'
},
{
field: 'postSort',
title: '显示顺序'
},
{
field: 'status',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">正常</span>';
} else if (value == 1) {
return '<span class="label label-danger">停用</span>';
}
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.postId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" onclick="remove(\'' + row.postId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
/*岗位管理-新增*/
function add() {
var url = prefix + '/add';
layer_showAuto("新增岗位", url);
}
/*岗位管理-修改*/
function edit(postId) {
var url = prefix + '/edit/' + postId;
layer_showAuto("修改岗位", url);
}
// 单条删除
function remove(id) {
$.modalConfirm("确定要删除选中岗位吗?", function(r) {
_ajax(prefix + "/remove/" + id, "", "post", r);
})
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("postId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,102 @@
// 树结构初始化加载
var setting = {
check:{enable:true,nocheckInherit:true,chkboxType:{"Y":"ps","N":"ps"}},
view:{selectedMulti:false,nameIsHTML: true},
data:{simpleData:{enable:true},key:{title:"title"}},
callback:{
beforeClick: function (treeId, treeNode, clickFlag) {
var menuTrees = $.fn.zTree.getZTreeObj(treeId);
menuTrees.checkNode(treeNode, !treeNode.checked, true, true);
return false;
}
}
}, menuTrees, loadTree = function(){
$.get("/system/menu/roleMenuTreeData", function(data) {
menuTrees = $.fn.zTree.init($("#menuTrees"), setting, data); //.expandAll(true);
}, null, null, "正在加载,请稍后...");
};loadTree();
$("#form-role-add").validate({
rules:{
roleName:{
required:true,
remote: {
url: "/system/role/checkRoleNameUnique",
type: "post",
dataType: "text",
data: {
"roleName" : function() {
return $.trim($("#roleName").val());
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
roleKey:{
required:true,
},
roleSort:{
required:true,
},
},
messages: {
"roleName": {
remote: "角色已经存在"
}
},
submitHandler:function(form){
add();
}
});
function getCheckeds() {
var menuIds = "";
var treeNodes = menuTrees.getCheckedNodes(true);
for (var i = 0; i < treeNodes.length; i++) {
if (0 == i) {
menuIds = treeNodes[i].id;
} else {
menuIds += ("," + treeNodes[i].id);
}
}
return menuIds;
}
function add() {
var roleName = $("input[name='roleName']").val();
var roleKey = $("input[name='roleKey']").val();
var roleSort = $("input[name='roleSort']").val();
var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
var remark = $("input[name='remark']").val();
var menuIds = getCheckeds();
$.ajax({
cache : true,
type : "POST",
url : "/system/role/save",
data : {
"roleName": roleName,
"roleKey": roleKey,
"roleSort": roleSort,
"status": status,
"remark": remark,
"menuIds": menuIds
},
async : false,
error : function(request) {
$.modalAlert("系统错误", "error");
},
success : function(data) {
if (data.code == 0) {
parent.layer.msg("新增成功,正在刷新数据请稍后……",{icon:1,time: 500,shade: [0.1,'#fff']},function(){
$.parentReload();
});
} else {
$.modalAlert(data.msg, "error");
}
}
});
}

View File

@ -0,0 +1,107 @@
// 树结构初始化加载
var setting = {
check:{enable:true,nocheckInherit:true,chkboxType:{"Y":"ps","N":"ps"}},
view:{selectedMulti:false,nameIsHTML: true},
data:{simpleData:{enable:true},key:{title:"title"}},
callback:{
beforeClick: function (treeId, treeNode, clickFlag) {
var menuTrees = $.fn.zTree.getZTreeObj(treeId);
menuTrees.checkNode(treeNode, !treeNode.checked, true, true);
return false;
}
}
}, menuTrees, loadTree = function(){
$.get("/system/menu/roleMenuTreeData?roleId=" + $("#roleId").val(), function(data) {
menuTrees = $.fn.zTree.init($("#menuTrees"), setting, data); //.expandAll(true);
}, null, null, "正在加载,请稍后...");
};loadTree();
$("#form-role-edit").validate({
rules:{
roleName:{
required:true,
remote: {
url: "/system/role/checkRoleNameUnique",
type: "post",
dataType: "text",
data: {
"roleId": function() {
return $("input[name='roleId']").val();
},
"roleName": function() {
return $("input[name='roleName']").val();
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
roleKey:{
required:true,
},
roleSort:{
required:true,
},
},
messages: {
"roleName": {
remote: "角色已经存在"
}
},
submitHandler:function(form){
update();
}
});
function getCheckeds() {
var menuIds = "";
var treeNodes = menuTrees.getCheckedNodes(true);
for (var i = 0; i < treeNodes.length; i++) {
if (0 == i) {
menuIds = treeNodes[i].id;
} else {
menuIds += ("," + treeNodes[i].id);
}
}
return menuIds;
}
function update() {
var roleId = $("input[name='roleId']").val();
var roleName = $("input[name='roleName']").val();
var roleKey = $("input[name='roleKey']").val();
var roleSort = $("input[name='roleSort']").val();
var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
var remark = $("input[name='remark']").val();
var menuIds = getCheckeds();
$.ajax({
cache : true,
type : "POST",
url : "/system/role/save",
data : {
"roleId": roleId,
"roleName": roleName,
"roleKey": roleKey,
"roleSort": roleSort,
"status": status,
"remark": remark,
"menuIds": menuIds
},
async : false,
error : function(request) {
$.modalAlert("系统错误", "error");
},
success : function(data) {
if (data.code == 0) {
parent.layer.msg("修改成功,正在刷新数据请稍后……",{icon:1,time: 500,shade: [0.1,'#fff']},function(){
$.parentReload();
});
} else {
$.modalAlert(data.msg, "error");
}
}
});
}

View File

@ -0,0 +1,82 @@
var prefix = "/system/role"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'roleId',
title: '角色编号'
},
{
field: 'roleName',
title: '角色名称'
},
{
field: 'roleKey',
title: '权限字符'
},
{
field: 'roleSort',
title: '显示顺序'
},
{
field: 'status',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="label label-success">正常</span>';
} else if (value == 1) {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.roleId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" onclick="remove(\'' + row.roleId + '\')"><i class="fa fa-remove"></i></a>');
return actions.join('');
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
/*角色管理-新增*/
function add() {
var url = prefix + '/add';
layer_showAuto("新增角色", url);
}
/*角色管理-修改*/
function edit(roleId) {
var url = prefix + '/edit/' + roleId;
layer_showAuto("修改角色", url);
}
// 单条删除
function remove(id) {
$.modalConfirm("确定要删除选中角色吗?", function(r) {
_ajax(prefix + "/remove/" + id, "", "post", r);
})
}
// 批量删除
function batchRemove() {
var rows = $.getSelections("roleId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,96 @@
$("#form-user-add").validate({
rules:{
loginName:{
required:true,
minlength: 5,
remote: {
url: "/system/user/checkUserNameUnique",
type: "post",
dataType: "text",
data: {
name : function() {
return $.trim($("#loginName").val());
}
},
dataFilter: function(data, type) {
if (data == "0") return true;
else return false;
}
}
},
userName:{
required:true,
},
password:{
required:true,
minlength: 6
},
email:{
required:true,
email:true
},
phonenumber:{
required:true,
},
},
messages: {
"loginName": {
remote: "用户已经存在"
}
},
submitHandler:function(form){
add();
}
});
function add() {
var userId = $("input[name='userId']").val();
var deptId = $("input[name='deptId']").val();
var loginName = $("input[name='loginName']").val();
var userName = $("input[name='userName']").val();
var password = $("input[name='password']").val();
var email = $("input[name='email']").val();
var phonenumber = $("input[name='phonenumber']").val();
var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
var roleIds = $.getCheckeds("role");
var postIds = $("#post").val() + "";
$.ajax({
cache : true,
type : "POST",
url : "/system/user/save",
data : {
"userId": userId,
"deptId": deptId,
"loginName": loginName,
"userName": userName,
"password": password,
"email": email,
"phonenumber": phonenumber,
"status": status,
"roleIds": roleIds,
"postIds": postIds
},
async : false,
error : function(request) {
$.modalAlert("系统错误", "error");
},
success : function(data) {
if (data.code == 0) {
parent.layer.msg("新增成功,正在刷新数据请稍后……",{icon:1,time: 500,shade: [0.1,'#fff']},function(){
$.parentReload();
});
} else {
$.modalAlert(data.msg, "error");
}
}
});
}
/*用户管理-新增-选择部门树*/
function selectDeptTree() {
var treeId = $("#treeId").val();
var deptId = treeId == null || treeId == "" ? "100" : treeId;
var url = "/system/dept/selectDeptTree/" + deptId;
layer_show("选择部门", url, '380', '380');
}

View File

@ -0,0 +1,69 @@
$("#form-user-edit").validate({
rules:{
userName:{
required:true,
},
password:{
required:true,
minlength: 6
},
email:{
required:true,
email:true
},
phonenumber:{
required:true,
},
},
submitHandler:function(form){
update();
}
});
function update() {
var userId = $("input[name='userId']").val();
var deptId = $("input[name='deptId']").val();
var userName = $("input[name='userName']").val();
var password = $("input[name='password']").val();
var email = $("input[name='email']").val();
var phonenumber = $("input[name='phonenumber']").val();
var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
var roleIds = $.getCheckeds("role");
var postIds = $("#post").val() + "";
$.ajax({
cache : true,
type : "POST",
url : "/system/user/save",
data : {
"userId": userId,
"deptId": deptId,
"userName": userName,
"password": password,
"email": email,
"phonenumber": phonenumber,
"status": status,
"roleIds": roleIds,
"postIds": postIds
},
async : false,
error : function(request) {
$.modalAlert("系统错误", "error");
},
success : function(data) {
if (data.code == 0) {
parent.layer.msg("修改成功,正在刷新数据请稍后……",{icon:1,time: 500,shade: [0.1,'#fff']},function(){
$.parentReload();
});
} else {
$.modalAlert(data.msg, "error");
}
}
});
}
/*用户管理-修改-选择部门树*/
function selectDeptTree() {
var deptId = $("#treeId").val();
var url = "/system/dept/selectDeptTree/" + deptId;
layer_show("选择部门", url, '380', '380');
}

View File

@ -0,0 +1,144 @@
var prefix = "/system/user"
$(document).ready(function(){
$('body').layout({ west__size: 185 });
queryUserList();
queryDeptTreeDaTa();
});
function queryUserList() {
var columns = [{
checkbox: true
},
{
field: 'userId',
title: '用户ID'
},
{
field: 'loginName',
title: '登录名称'
},
{
field: 'userName',
title: '用户名称'
},
{
field: 'email',
title: '邮箱'
},
{
field: 'phonenumber',
title: '手机'
},
{
field: 'status',
title: '状态',
align: 'center',
formatter: function(value, row, index) {
if (value == '0') {
return '<span class="label label-success">正常</span>';
} else if (value == '1') {
return '<span class="label label-danger">禁用</span>';
}
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
if(row.userType == "N") {
var actions = [];
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" onclick="edit(\'' + row.userId + '\')"><i class="fa fa-edit"></i></a> ');
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" onclick="remove(\'' + row.userId + '\')"><i class="fa fa-remove"></i></a> ');
actions.push('<a class="btn btn-success btn-sm ' + resetPwdFlag + '" href="#" title="重置" onclick="resetPwd(\'' + row.userId + '\')"><i class="fa fa-key"></i></a>');
return actions.join('');
} else {
return "";
}
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
}
function queryDeptTreeDaTa()
{
// 树结构初始化加载
var setting = {view:{selectedMulti:false},data:{key:{title:"title"},simpleData:{enable:true}},
callback:{onClick:function(event, treeId, treeNode){
tree.expandNode(treeNode);
var opt = { query : { deptId : treeNode.id, parentId : treeNode.pId, } };
$('.bootstrap-table').bootstrapTable('refresh', opt);
}}
}, tree, loadTree = function(){
$.get("/system/dept/treeData", function(data) {
tree = $.fn.zTree.init($("#tree"), setting, data); //.expandAll(true);
// 展开第一级节点
var nodes = tree.getNodesByParam("level", 0);
for (var i = 0; i < nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
}
// 展开第二级节点
nodes = tree.getNodesByParam("level", 1);
for (var i = 0; i < nodes.length; i++) {
tree.expandNode(nodes[i], true, false, false);
}
}, null, null, "正在加载,请稍后...");
};loadTree();
$('#btnExpand').click(function() {
tree.expandAll(true);
$(this).hide();
$('#btnCollapse').show();
});
$('#btnCollapse').click(function() {
tree.expandAll(false);
$(this).hide();
$('#btnExpand').show();
});
$('#btnRefresh').click(function() {
loadTree();
});
}
/*用户管理-删除*/
function remove(userId) {
$.modalConfirm("确定要删除选中用户吗?", function(r) {
_ajax(prefix + "/remove/" + userId, "", "post", r);
})
}
/*用户管理-修改*/
function edit(userId) {
var url = prefix + '/edit/' + userId;
layer_showAuto("修改用户", url);
}
/*用户管理-新增*/
function add() {
var url = prefix + '/add';
layer_showAuto("新增用户", url);
}
/*用户管理-重置密码*/
function resetPwd(userId) {
var url = prefix + '/resetPwd/' + userId;
layer_show("重置密码", url, '800', '300');
}
// 批量强退
function batchRemove() {
var rows = $.getSelections("userId");
if (rows.length == 0) {
$.modalMsg("请选择要删除的数据", "warning");
return;
}
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function(r) {
_ajax(prefix + '/batchRemove', { "ids": rows }, "post", r);
});
}

View File

@ -0,0 +1,58 @@
var prefix = "/tool/gen"
$(function() {
var columns = [{
checkbox: true
},
{
field: 'tableName',
title: '表名称'
},
{
field: 'tableComment',
title: '表描述'
},
{
field: 'createTime',
title: '创建时间'
},
{
field: 'updateTime',
title: '更新时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var msg = '<a class="btn btn-primary btn-sm" href="#" title="生成" onclick="genCode(\'' + row.tableName + '\')"><i class="fa fa-bug"></i></a> ';
return msg;
}
}];
var url = prefix + "/list";
$.initTable(columns, url);
});
// 生成代码
function genCode(tableName) {
$.modalConfirm("确定要生成" + tableName + "表代码吗?", function(r) {
if (!r) {
return;
}
location.href = prefix + "/genCode/" + tableName;
})
}
//批量生成代码
function batchGenCode() {
var rows = $.getSelections("tableName");
if (rows.length == 0) {
$.modalMsg("请选择要生成的数据", "warning");
return;
}
$.modalConfirm("确认要生成选中的" + rows.length + "条数据吗?", function(r) {
if (!r) {
return;
}
location.href = prefix + "/batchGenCode?tables=" + JSON.stringify(rows);
});
}