/**
* 任务管理定义引用的js
*/
var grid_selector = "#grid-table";
var pager_selector = "#grid-pager";
var currentOper = "";
jQuery(function($) {
// 初始化Grid
initGrid();
// 初始化下拉列表
initDdl();
});
/**
* 初始化Grid
*/
function initGrid() {
//resize to fit page size
$(window).on('resize.jqGrid', function() {
$(grid_selector).jqGrid('setGridWidth', $(".page-content").width()-1);
});
//resize on sidebar collapse/expand
var parent_column = $(grid_selector).closest('[class*="col-"]');
$(document).on(
'settings.ace.jqGrid',
function(ev, event_name, collapsed) {
if (event_name === 'sidebar_collapsed'
|| event_name === 'main_container_fixed') {
//setTimeout is for webkit only to give time for DOM changes and then redraw!!!
setTimeout(function() {
$(grid_selector).jqGrid('setGridWidth',
parent_column.width());
}, 0);
}
});
// 数据表格初始化
jQuery(grid_selector).jqGrid({
url : basePath + '/datasource/initDataSource',
mtype : "POST", //提交方式
datatype : "json",
autowidth: false,
height :"auto",
shrinkToFit: true,
sortname : "", //默认的排序列
sortorder : "", //默认的排序列
colNames : [ '','id','ID', 'URL','用户名','密码','驱动','最大连接池数量'],
colModel : [ {
name:'Edit',
index:'Edit',
width:30,
sortable : false,
fixed : true
},{
name : 'id',
index : 'id',
key : true,
hidden:true,
editable : false,
sortable : false
},{
name : 'id',
index : 'id',
width:80,
editable : false,
sortable : true
},{
name : 'url',
index : 'url',
editable : false,
sortable : true
}, {
name : 'username',
index : 'username',
width:100,
editable : false,
sortable : true
}, {
name : 'password',
index : 'password',
width:100,
editable : false,
sortable : true
}, {
name : 'driverclassname',
index : 'driverclassname',
editable : false,
sortable : true
}, {
name : 'maxactive',
index : 'maxactive',
editable : false,
sortable : true
} ],
rowNum : _rowNum, //每页显示记录数
rowList : _rowList, //用于改变显示行数的下拉列表框的元素数组。
pager : pager_selector, //定义翻页用的导航栏
page : 1, //设置初始的页码,初始为1
pagerpos : 'right', //指定分页栏的位置
altRows : true, //设置为交替行表格,默认为false
multiselect : true, //可以多选
multiboxonly : true, //只有选择checkbox才会起作用
loadComplete : function() {
var table = this;
setTimeout(function() {
updatePagerIcons(table);
enableTooltips(table);
}, 0);
},
prmNames : {
oper : "oper",
page : "page",
rows : "rows",
sort : "sidx",
order : "sord"
},
postData :{
wldwCode : function(){ return ""; },//问题内容
wldwName : function(){ return ""; }//服务类型
},
jsonReader : {
root : "list", // json中代表实际模型数据的入口
page : "page", // json中代表当前页码的数据
total : "pages", // json中代表页码总数的数据
records : "total", // json中代表数据行总数的数据
repeatitems : false// 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素
},
gridComplete: function () {
comGridComplete("grid-table", "editRecord");
},
onPaging: function(){
comGridPage("grid-table");
}
});
$(window).triggerHandler('resize.jqGrid');//trigger window resize to make the grid get the correct size
// 隐藏水平垂直滚动条
jQuery(grid_selector).closest(".ui-jqgrid-bdiv").css({ 'overflow-x' : 'hidden' ,'overflow-y':'hidden'});
//navButtons
jQuery(grid_selector).jqGrid(
'navGrid',
pager_selector,
{ //navbar options
edit : false,
editicon : 'ace-icon fa fa-pencil blue',
add : false,
addicon : 'ace-icon fa fa-plus-circle purple',
del : false,
delicon : 'ace-icon fa fa-trash-o red',
search : false,
searchicon : 'ace-icon fa fa-search orange',
refresh : false,
refreshicon : 'ace-icon fa fa-refresh green',
view : false,
viewicon : 'ace-icon fa fa-search-plus grey',
});
//初始化操作按钮
intOperButton();
$(document).one('ajaxloadstart.page', function(e) {
$(grid_selector).jqGrid('GridUnload');
$('.ui-jqdialog').remove();
});
setMulti();
};
/**
* 初始化下拉列表
*/
function initDdl() {
// 初始化所在工作
$.ajax({
type : "POST",
url : basePath + '/job/getJobForDdl',//请求的路径
dataType : "json",
success : function(data) {
var option1="";
$("#jobCode").append(option1);
if(data) {
var length=data.length;
if(length > 0) {
for(var i=0;i").html(data[i].name).val(data[i].code).appendTo("#jobCode");
}
}
}
}
});
}
/**
* 初始化操作按钮
*/
function intOperButton() {
jQuery(grid_selector).navButtonAdd(pager_selector, {
caption : "新增",
buttonicon : "ui-icon ui-icon btn-minier ace-icon fa fa-plus-circle",
onClickButton : function() {
comClearFormData("form");
// 隐藏校验图标
hideValidateTip();
$("#id").val("");
$("#btnSave").show();
// 启用元素
comEnableElements("modal-table");
currentOper = "ADD";
$('#id').removeAttr("readonly");//去除ID元素的readonly属性
$("#modal-table #myModalLabel").text("新增数据源");
$('#modal-table').modal('show');
},
position : "last"
});
jQuery(grid_selector).navButtonAdd(pager_selector, {
caption : "删除",
buttonicon : "ui-icon ui-icon ace-icon fa fa-trash-o red",
onClickButton : function() {
var idsStr = getMultiData();
if(idsStr.length >=1 ){
showMsgConfimDialog("确定删除吗?",function(){
$.ajax({
async : false,
type : 'POST',
dataType : "json",
data : {"ids":idsStr, opt:'DEL'},
url : basePath + '/datasource/delDataSource',//请求的路径
success : function(data) {
// 成功后刷新页面
if (data == "SUCCESS") {
showMsgDialog("数据已删除!");
}
jQuery(grid_selector).trigger("reloadGrid");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
showMsgDialog("error:" + errorThrown);
}
});
});
} else {
showMsgDialog("请至少选择一条记录");
}
},
position : "last"
});
}
/**
* 编辑
* @param rid
*/
function editRecord(rid) {
var data = jQuery("#grid-table").jqGrid('getRowData', rid);
$("#btnSave").show();
// 隐藏校验图标
hideValidateTip();
// 启用元素
comEnableElements("modal-table");
currentOper = "EDIT";
$('#id').attr("readonly","readonly");//将ID设置为readonly
$("#modal-table #myModalLabel").text("编辑数据源");
initBaseInfo(rid);
}
/**
* 获取多行选中的id
*/
function getMultiData(opt){
var ids = "";
//获取选择行的id
var row = jQuery(grid_selector).jqGrid('getGridParam','selarrrow');
if (row.length >= 1) {
for (var i = 0; i < row.length; i++) {
//获取选择的行的数据,只要传入rowId即可
var data = jQuery(grid_selector).jqGrid('getRowData', row[i]);
ids += data.id +",";
}
ids = ids.substr(0, ids.length - 1);
}
return ids;
}
/**
* 查询事件
*/
function searchRecord() {
//$.extend(jQuery(grid_selector)[0].p.postData);
jQuery("#grid-table").trigger("reloadGrid", [{ page: 1 }]);
};
/**
* form提交事件
*/
function submitForm() {
$.ajax({
async:false,
type : "post",
url : basePath + '/datasource/save',
dataType:'json',
data : $.param({'opt':currentOper}) + '&' + $('#form').serialize()
, //表单序列化,获取数据
success : function(data) {
// 成功删除后刷新页面
if (data) {
showMsgDialog("数据已成功保存!");
closeWin();
searchRecord();
} else {
showMsgDialog("数据保存失败!");
}
}, //操作成功后的操作!data是后台传过来的值
error: function (XMLHttpRequest, textStatus, errorThrown) {
showMsgDialog("error:" + errorThrown);
}
});
};
// 关闭弹出窗口,刷新列表
function closeWin(){
$('.layui-layer').hide();
$('#modal-table').modal('hide');
}
/**
* 根据id查询所有信息并赋值
*/
function initBaseInfo(rowid, flg){
// 后台获取
$.ajax({
async : true,
type : 'POST',
dataType : "json",
data : {id:rowid},
url : basePath + '/datasource/initEditDataSource', //请求的路径
success : function(data) {
// 填充信息
$('#id').val(data.id);
$('#url').val(data.url);
$('#driverclassname').val(data.driverclassname);
$('#username').val(data.username);
$('#password').val(data.password);
$('#initialsize').val(data.initialsize);
$('#minidle').val(data.minidle);
$('#maxactive').val(data.maxactive);
$('#timebetweenevictionrunsmillis').val(data.timebetweenevictionrunsmillis);
$('#minevictableidletimemillis').val(data.minevictableidletimemillis);
$('#testonreturn').val(data.testonreturn);
$('#poolpreparedstatements').val(data.poolpreparedstatements);
$('#maxpoolpreparedstatementpercon').val(data.maxpoolpreparedstatementpercon);
$('#validationquery').val(data.validationquery);
if(flg && flg=="VIEW") {
comDisableElements("modal-table");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
showMsgDialog("error:" + errorThrown);
}
});
$('#modal-table').modal('show');
};
/**
* 隐藏校验图标
*/
function hideValidateTip() {
}