$(function(){
autoFrame();
});
/**
* 自动调整IFrame的高度
* @returns
*/
function autoFrame(){
var mf = top.$("#mainFrame");
$(mf).load(function () {
var mainheight = $(this).contents().find("body").height() + 40;
$(this).height(mainheight);
});
}
/**
* jqgrid提交之前
* @param beanDef
* @returns
*/
function beforeRequest(beanDef){
var postData = $("#" + beanDef.gridId).jqGrid('getGridParam', 'postData');
if(!postData){
postData = {};
}
postData.token = $.cookie("token");
if (beanDef.filter != undefined
&& beanDef.filter != null) {
postData.filter = beanDef.filter;
}else{
postData.filter = decodeURIComponent($("#" + beanDef.searchFormId).serialize());
}
var map = beanDef.map;
if (map != undefined && map != null) {
for ( var key in map) {
// console.log(key + "=" + map[key]);
postData[key] = map[key];
}
}
return postData;
}
/**
* jqgrid加载完成之后
* @param result
* @returns
*/
function loadComplete(result, beanDef){
if (result.state == -101 || result.state == -103) { // 登录超时或者没有token参数
alert(result.message);
top.location.href = cmsUrl+"login/index.htm";
}
if (result.state == -102 || result.state == -103) { // 登录超时或者没有token参数
alert(result.message);
///top.location.href = cmsUrl+"login/index.htm";
}
var table = this;
setTimeout(function () {
updatePagerIcons(table);
}, 0);
$("#" + beanDef.pagerId + "_left").removeAttr("style") ;
$(window).triggerHandler('resize.jqGrid');
}
function updatePagerIcons(table) {
var replacement = {
'ui-icon-seek-first': 'ace-icon fa fa-angle-double-left bigger-140',
'ui-icon-seek-prev': 'ace-icon fa fa-angle-left bigger-140',
'ui-icon-seek-next': 'ace-icon fa fa-angle-right bigger-140',
'ui-icon-seek-end': 'ace-icon fa fa-angle-double-right bigger-140'
};
$('.ui-pg-table:not(.navtable) > tbody > tr > .ui-pg-button > .ui-icon').each(
function () {
var icon = $(this);
var $class = $.trim(icon.attr('class').replace(
'ui-icon', ''));
if ($class in replacement)
icon.attr('class', 'ui-icon '
+ replacement[$class]);
});
}
/**
* 表格自动生方法
*/
function createGrid(beanDef) {
var multiselect = true;
if (beanDef.multiselect != undefined && beanDef.multiselect != null) {
multiselect = beanDef.multiselect;
}
var ondblClickRow = function(){};
if (beanDef.ondblClickRow != undefined && beanDef.ondblClickRow != null) {
ondblClickRow = beanDef.ondblClickRow;
}
var postData = {};
if (beanDef.postData != undefined && beanDef.postData != null) {
postData = beanDef.postData;
}
var rowNum = 50;
if (beanDef.rowNum != undefined && beanDef.rowNum != null) {
rowNum = beanDef.rowNum;
}
jQuery(function ($) {
var grid_selector = "#" + beanDef.gridId;
var pager_selector = "#" + beanDef.pagerId;
jQuery(grid_selector).jqGrid({
url: beanDef.searchPostUrl,
mtype: 'POST',
datatype: "json",
postData: postData,
colNames: beanDef.colNames,
colModel: beanDef.colModel,
rowNum: rowNum,
rowList: [10,50, 100, 200,500],
pager: jQuery(pager_selector),
sortname: beanDef.sortName || 'id',
viewrecords: true,
sortorder: beanDef.sortOrder || "desc",
prmNames: {
rows: "pageSize",
page: "page",
sort: "sort",
order: "order"
},
jsonReader: {
root: 'data.rows',
cell: '',
page: "data.page.page",
total: "data.page.total",
records: "data.page.records",
repeatitems: false,
},
height: beanDef.height > 0 ? beanDef.height : $(window).height() - 128 ,
altRows: false,
autowidth: true,
rownumbers: true,
multiselect:false,
beforeRequest: function (){
postData = beforeRequest(beanDef);
},
loadComplete: function (result){
loadComplete(result, beanDef);
},
loadError: function () {
var table = this;
setTimeout(function () {
updatePagerIcons(table);
}, 0);
},
ondblClickRow : ondblClickRow,
caption: beanDef.gridName,
hidegrid : false, //caption表格名称栏右侧的收起按钮
}).navGrid(pager_selector, {
edit: false,
add: false,
del: false,
refresh: false,
search: false
}, {}, {}, {}, {
multipleSearch: true
});
/* $(window).triggerHandler('resize.jqGrid');//trigger window resize to make the grid get the correct size
*/
if (beanDef.overflow == undefined || beanDef.overflow == null) {
// 默认水平滚动条隐藏
$(grid_selector).closest(".ui-jqgrid-bdiv").css({
"overflow-x": "hidden"
});
}
var conditionHeight = $('.condition').height();
var parent_column = $(grid_selector).closest('[class*="col-"]');
var miniHeight = $(window).height() - conditionHeight - 105;
//resize to fit page size
$(window).on('resize.jqGrid', function() {
conditionHeight = $('.condition').height();
miniHeight = ($(window).height() - conditionHeight - 105 - 350) > 0 ? ($(window).height() - conditionHeight - 105) : 350;
$(grid_selector).jqGrid('setGridWidth', parent_column.width());
$(grid_selector).jqGrid('setGridHeight', miniHeight);
})
//resize on sidebar collapse/expand
$(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() {
miniHeight = ($(window).height() - conditionHeight - 105 - 350) > 0 ? ($(window).height() - conditionHeight - 105) : 350;
$(grid_selector).jqGrid('setGridWidth', parent_column.width());
$(grid_selector).jqGrid('setGridWidth', miniHeight);
}, 20);
}
})
});
}
/**
* 搜索form提交
*/
function searchForm(gridId) {
var grid = $("#" + gridId);
// 返回首页
grid.setGridParam({
page : 1
});
grid.trigger("reloadGrid");
}
/**
* 清除表单数据
*/
function clearForm(form) {// objE为form表单
$(form).find(':input').each(function() {
switch (this.type) {
case 'passsword':
case 'select-multiple':
case 'select-one':
case 'text':
case 'file':
case 'textarea':
$(this).val('');
break;
case 'checkbox':
case 'radio':
this.checked = false;
break;
}
});
$(form).find('span').each(function() {
$(this).text('');
});
}
/**
* 带弹窗页面清除验证状态
* @returns
*/
function clearFormValidation(){
$(".form-group").removeClass("has-error");
$(".form-group").removeClass("has-success");
$(".help-block").remove();
}
/**
* 选择框
* @param dataMap 数据集合
* @param selectId 选择框ID
* @param defaultValue 默认值
* @param defaultText 默认文本
* @author niushg
*/
function selectMap(dataMap, selectId, defaultValue, defaultText) {
$("#" + selectId).html(
"<option value=''>" + defaultText + "</option>");
for (var key in dataMap) {
var select = "";
if (key == defaultValue) {
select = " selected";
}
$("#" + selectId).append(
"<option value='" + key + "'" + select + ">"
+ dataMap[key] + "</option>");
}
}
jqGrid封装
最新推荐文章于 2020-04-21 17:13:21 发布