//数据初始定义
|
$.jgrid.defaults.width = 780;
|
$.jgrid.defaults.styleUI = 'Bootstrap';
|
var loseherght = 0;
|
var dataCol = [];//数据列 标准jqgrid colModel 额外附加属性 sumtype: "sum", sumtxt:"<b style='color:Red' >类型:{0}</b>"
|
var searchCol = [];//查询列
|
//参数配置 multiselect 是否出现多选 selectcol 多选获取的值 默认id,
|
//获取方式:GetGridSelect() 值结果 1,2,3 注意不管是否中文 都无引号 例如 :春,夏,秋,东
|
var gridConfig = { multiselect: false, selectcol: "id" };
|
var shrinkToFit = true;
|
var footerrow = true;
|
//txt date datetime datearea chechbox ,combox 参考
|
//searchCol = [
|
// { label: '商品编号', name: 'Productcode', labtype: 'txt', ismust: true },
|
// { label: '商品名称', name: 'Productname', labtype: 'txt' },
|
// { label: '创建日期', name: 'Adddate', labtype: 'date' },
|
// { label: '类型选择', name: 'Selecttype', labtype: 'combox', data: [{ code: 5, label: '春天' }, { code: 6, label: '夏天' }, { code: 7, label: '秋天' }] },
|
// { label: '会计周期', name: 'Firadate', labtype: 'datearea' },
|
// { label: '是否打折', name: 'Ispdata', labtype: 'chechbox' }
|
//];
|
|
//formatter: function (cellvalue, options, rowObject) {
|
// if (cellvalue == '0') return "<img onclick='imgClick(\"" + options.rowId +"\",0)' src='../../Content/Images/Icon16/accept.png'/>";
|
// if (cellvalue == '1') return "<img onclick='imgClick(\"" + options.rowId + "\",0)' src='../../Content/Images/Icon16/cross_shield.png'/>";
|
//},
|
|
var dataUrl = "";//地址
|
var lastSearch = [];
|
$(function () {
|
//layer.config({
|
// extend: ['/js/plugins/layer/skin/espresso/style.css'], //加载新皮肤
|
// skin: 'layer-ext-espresso' //一旦设定,所有弹层风格都采用此主题。
|
//});
|
$(window).resize(function () {
|
doResize();
|
});
|
});
|
function doResize() {
|
//var w = $(document.body).width();
|
var h = document.body.offsetHeight;
|
//console.log("宽度:" + w + " 高度:" + h + "|" + $("#topzone").width());
|
$("#jqGrid").jqGrid('setGridWidth', $("#topzone").width() - 0);
|
$("#jqGrid").jqGrid('setGridHeight', h - 180 - loseherght);
|
}
|
|
|
|
|
|
function _pageSearch() {
|
var jsons = GetSearchEnd();
|
if (jsons == false) {
|
msg.info("请录入查询条件");
|
return false;
|
}
|
LoadGrid(jsons);
|
}
|
|
|
function getFrame() {
|
// 获取当前iframe的 src
|
var url = location.href;
|
var _url = url.split("/");
|
|
//获取父页面的所有iframe
|
var eles = top.document.getElementsByTagName("iframe");
|
|
//循环所有iframe
|
for (var i = 0 ; i < eles.length; i++) {
|
var ele = eles[i];
|
var iframeUrl = ele.src;
|
var _iframeUrl = iframeUrl.split("/");
|
//获取当前页面的iframe
|
if (_url[_url.length - 1] == _iframeUrl[_iframeUrl.length - 1]) {
|
return ele;
|
}
|
var celes = eles[i].contentWindow.document.getElementsByTagName("iframe");
|
if (celes.length > 0) {
|
for (var j = 0; j < celes.length; j++) {
|
var cele = celes[j];
|
var ciframeUrl = cele.src;
|
var _ciframeUrl = ciframeUrl.split("/");
|
//获取当前页面的iframe
|
if (_url[_url.length - 1] == _ciframeUrl[_ciframeUrl.length - 1]) {
|
return cele;
|
}
|
}
|
}
|
}
|
}
|
|
//深度克隆
|
function deepClone(obj) {
|
var result, oClass = isClass(obj);
|
//确定result的类型
|
if (oClass === "Object") {
|
result = {};
|
} else if (oClass === "Array") {
|
result = [];
|
} else {
|
return obj;
|
}
|
for (key in obj) {
|
var copy = obj[key];
|
if (isClass(copy) == "Object") {
|
result[key] = arguments.callee(copy);//递归调用
|
} else if (isClass(copy) == "Array") {
|
result[key] = arguments.callee(copy);
|
} else {
|
result[key] = obj[key];
|
}
|
}
|
return result;
|
}
|
//返回传递给他的任意对象的类
|
function isClass(o) {
|
if (o === null) return "Null";
|
if (o === undefined) return "Undefined";
|
return Object.prototype.toString.call(o).slice(8, -1);
|
}
|
|
function _pageSearchMoren() {
|
var cars = ["查询", "取消"];
|
var cols = deepClone(searchCol);
|
$.each(cols, function (i, e) {
|
if (e.labtype == "combox") {
|
cols[i].data = "";
|
}
|
});
|
debugger;
|
var iframename = $(getFrame()).attr("name");
|
var url = "/Content/SearchComm.html?data=" + encodeURI(JSON.stringify(cols)) + "&lastsearch=" + encodeURI(JSON.stringify(lastSearch)) + "&framename=" + iframename;
|
dlog.open("查询条件", cars, "sm", url,
|
function (res) {
|
|
LoadGrid(res);
|
},
|
function () {
|
|
|
},
|
function () {
|
|
|
return false;
|
},
|
function () {
|
|
return false;
|
}
|
);
|
}
|
function LoadGrid(jdata) {
|
|
var postData = $('#jqGrid').jqGrid("getGridParam", "postData");
|
$.each(lastSearch, function (k, v) {
|
delete postData[k];
|
});
|
lastSearch = jdata;
|
// alert(JSON.stringify(jdata));
|
// $('#jqGrid').jqGrid('clearGridData');
|
|
$.extend(jdata, { totalrows: 0 });
|
|
$("#jqGrid").jqGrid('setGridParam', {
|
postData: jdata, page: 1
|
}); //重新载入
|
$("#jqGrid").trigger("reloadGrid");
|
// $("#jqGrid").trigger("reloadGrid");
|
|
toSetTooBarVal();
|
|
}
|
function ReloadGrid() {
|
$("#jqGrid").trigger("reloadGrid");
|
}
|
$(document).ready(function () {
|
|
//页面查询按钮及查询条件加载
|
$("#jqGrid").jqGrid({
|
url: dataUrl,
|
mtype: "POST",
|
datatype: "json",
|
colModel: dataCol,
|
viewrecords: true, // show the current page, data rang and total records on the toolbar
|
shrinkToFit: shrinkToFit,
|
width:1000,
|
height: 200,
|
loadonce: false,
|
pager: "#jqGridPager",
|
footerrow: footerrow,
|
rownumbers: true,
|
rowNum: 30,
|
rowList: [30, 50, 100,500],
|
cmTemplate: { sortable: false },
|
jsonReader: {
|
root: "DataList", page: "CurrPage", total: "PageTotal", // 很重要 定义了 后台分页参数的名字。
|
records: "Records", repeatitems: false, id: gridConfig.selectcol
|
},
|
prmNames: {
|
//page:"page", // 表示请求页码的参数名称
|
//rows:"rows", // 表示请求行数的参数名称
|
//sort: "sidx", // 表示用于排序的列名的参数名称
|
//order: "sord", // 表示采用的排序方式的参数名称
|
//search:"_search", // 表示是否是搜索请求的参数名称
|
//nd:"nd", // 表示已经发送请求的次数的参数名称
|
//id:"id", // 表示当在编辑数据模块中发送数据时,使用的id的名称
|
//oper:"oper", // operation参数名称(我暂时还没用到)
|
//editoper:"edit", // 当在edit模式中提交数据时,操作的名称
|
//addoper:"add", // 当在add模式中提交数据时,操作的名称
|
//deloper:"del", // 当在delete模式中提交数据时,操作的名称
|
//subgridid:"id", // 当点击以载入数据到子表时,传递的数据名称
|
//npage: null,
|
totalrows: "Records" // 表示需从Server得到总共多少行数据的参数名称,参见jqGrid选项中的rowTotal
|
},
|
gridComplete: completeMethod,
|
loadComplete: function loadcompleteMethod(xhr) {
|
|
if (typeof (_afterLoadDataload) === "function") {
|
_afterLoadDataload(xhr);
|
}
|
|
},
|
multiselect: gridConfig.multiselect
|
, beforeRequest: BeforeRequest
|
, beforeSelectRow: BeforeSelectRow
|
});
|
|
//$("#jqGrid").jqGrid('setGroupHeaders', {
|
// useColSpanStyle: true,
|
// groupHeaders: [
|
// { startColumnName: 'jibensalaryName', numberOfColumns: 3, titleText: '薪资待遇' }
|
// ]
|
//});
|
jQuery("#jqGrid").jqGrid('navGrid', "#jqGridPager", { edit: false, add: false, del: false, search: false, refresh: true });
|
doResize();
|
});
|
function BeforeSelectRow() {
|
}
|
function BeforeRequest() {
|
|
|
var ischeck = true;
|
if (typeof (_beforeSearch) === "function") {
|
ischeck = _beforeSearch();
|
if (!ischeck) {
|
return false;
|
|
}
|
}
|
|
if (!isfirst) {
|
return;
|
}
|
var jsons = GetSearchEnd();
|
if (jsons == undefined || jsons == false || jsons.length == 0) {
|
|
return;
|
}
|
|
$.extend(jsons, { totalrows: 0 });
|
|
$("#jqGrid").jqGrid('setGridParam', {
|
postData: jsons, page: 1
|
}); //重新载入
|
}
|
function GetGridSelect() {
|
|
return jQuery('#jqGrid').jqGrid('getGridParam', 'selarrrow');
|
}
|
|
var isfirst = true;
|
function completeMethod() {
|
|
isfirst = false;
|
var recordsno = $('#jqGrid').getGridParam('records');
|
var postData = $('#jqGrid').jqGrid("getGridParam", "postData");
|
$.extend(postData, { totalrows: recordsno });
|
|
|
$(".J_menuItem").on("click", appendTab);
|
//sumtype: "sum", sumtxt:"<b>类型:{0}</b>"
|
var sumstr = "";
|
$.each(dataCol, function (index, item) {
|
|
if (item.sumtype != undefined) {
|
if (item.sumtype == "sum") {
|
var htmlinfo = "";
|
var sum_amount = $("#jqGrid").getCol(item.name, false, 'sum');
|
if (item.sumtxt != undefined && item.sumtxt.indexOf('{0}' > -1)) {
|
|
htmlinfo = item.sumtxt.replace("{0}", sum_amount);
|
}
|
else {
|
htmlinfo = sum_amount;
|
}
|
|
|
sumstr += ',"' + item.name + '":"' + htmlinfo + '"';
|
}
|
|
}
|
|
});
|
if (sumstr != "") { sumstr = "{" + sumstr.substring(1) + "}"; } else { sumstr = "{}"; }
|
// alert(sumstr);
|
// var sum_amount = $("#jqGrid").getCol('ID', false, 'sum');
|
$("#jqGrid").footerData('set', jQuery.parseJSON(sumstr));
|
|
|
var userdata = jQuery("#jqGrid").jqGrid('getGridParam', 'userData');
|
if (userdata != undefined && userdata != "" && userdata.Result != undefined && userdata.Message != undefined) {
|
if (userdata.Result == false && userdata.Message != "") {
|
msg.err(userdata.Message);
|
}
|
|
if (userdata.Result == true && userdata.Message != "") {
|
msg.info(userdata.Message);
|
}
|
|
|
}
|
|
|
if (typeof (_afterSearch) === "function") {
|
ischeck = _afterSearch();
|
|
}
|
|
if (typeof (_afterLoadData) === "function") {
|
_afterLoadData();
|
}
|
|
|
|
|
}
|