You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
JiCangHai/PingTai/DSWeb/js/TGridCommonWmsZXOutList.js

1159 lines
47 KiB
JavaScript


function TGridCommon(id, formName, headArgs, widthArgs, alignArgs, sortArgs, typeArgs) {
var self = this;
var gridObj; //grid object
this.formName = formName; //form name
this.id = id; //TGridCommon object id
this.totalPageCount; //Total Count
this.responseUrl; //Ajax Request Url
this.over = false;
this.menu = null; //Menu object
this.pageShowCount = 15;
var shield; //
this.headArgs = headArgs; //Header
this.widthArgs = widthArgs; //Width
this.alignArgs = alignArgs; //Align
this.sortArgs = sortArgs; //Sort
this.typeArgs = typeArgs; //Type
this.attHeaderArgs = [];
this.skin;
this.imageUrl;
this.page;
this.pageSwitch;
this.condition;
this.subGridArgs = [];
this.request;
this.sourceType;
this.openUrl;
this.openType;
this.openSet;
this.isDoubleClick = false;
this.isShowHeader = false;
this.searchVal = "";
this.multipleSearchVal = "";
this.isHiddenColumn = false;
this.isOnEditCell = false;
this.isOnCheckBox = false;
this.isDBClickEvent = false;
this.isOnEditCell = false;
this.hiddenIndex;
this.loadafter = false;
this.pagerName;
this.pagerInfo;
this.isAttchHeader = false;
this.isSort = false;
this.sortValue;
this.sortType;
//find object
this.$ = function (id) {
return document.getElementById(id);
};
//initialization grid
this.initGrid = function () {
self.gridObj = new dhtmlXGridObject(self.id);
self.gridObj.setImagePath(self.imageUrl);
self.gridObj.setSkin(self.skin);
self.gridObj.setHeader(self.headArgs.toString());
self.gridObj.setInitWidths(self.widthArgs.toString());
self.gridObj.setColAlign(self.alignArgs.toString());
self.gridObj.setColSorting(self.sortArgs.toString());
self.gridObj.setColTypes(self.typeArgs.toString());
if (self.isShowHeader) {
self.gridObj.setNoHeader(self.isShowHeader);
}
if (self.isHiddenColumn) {
self.gridObj.setColumnHidden(self.hiddenIndex, true);
}
if (self.isAttchHeader) {
self.gridObj.attachHeader(self.attHeaderArgs);
}
self.gridObj.enableAlterCss("odd_row", "even_row");
self.gridObj.init();
};
this.after = function () {
};
this.sortEventFun = function () {
};
this.reload = function () {
self.initGrid();
self.bind();
};
//grid bind
this.bind = function () {
//self.responseUrl + "?handle=list&i_page&show_page="+self.pageShowCount.toString()+"&cur_page=1&condition="+self.condition
//self.responseUrl + "?handle=list"+self.condition
if (self.loadafter) {
self.gridObj.load(self.request, self.after, self.sourceType);
} else {
self.gridObj.load(self.request, self.sourceType);
}
};
this.setAttachHeader = function (args) {
self.attHeaderArgs = args;
}
this.loadinfo = function () {
};
this.showHeader = function (isShow) {
self.isShowHeader = isShow;
};
this.setSortValue = function (sort, type) {
self.sortValue = sort;
self.sortType = type;
};
this.hiddenColumn = function (index, isHidden) {
self.isHiddenColumn = isHidden;
self.hiddenIndex = index;
}
//json load request url
this.setRequest = function (request) {
self.request = request;
};
this.getRequest = function () {
return self.request;
};
//source type
this.setSourceType = function (strSourceType) {
self.sourceType = strSourceType;
};
//skin
this.setSkin = function (strSkin) {
self.skin = strSkin;
};
//imageUrl
this.setImageUrl = function (strImageUrl) {
self.imageUrl = strImageUrl;
};
//Response Url
this.setResponseUrl = function (url) {
self.responseUrl = url;
};
this.setPageShowCount = function (ShowCount) {
self.pageShowCount = ShowCount;
}
//
this.setIsPage = function (isOpen) {
self.pageSwitch = isOpen;
};
//refresh grid
this.refresh = function () {
self.initGrid();
};
//load sub grid
this.clickShowSubGrid = function (subGridObj) {
self.gridObj.attachEvent("onRowDblClicked", function (rId, cInd) {
subGridObj.bind();
});
};
this.getGridObj = function () {
return self.gridObj;
}
this.setSubGrid = function (subGrid) {
self.subGridArgs = subGrid;
};
//window open url
this.setOpenUrl = function (openUrl) {
self.openUrl = openUrl;
};
//window open type
this.setOpenType = function (strType) {
self.openType = strType;
};
//window open set
this.setOpenSet = function (strSet) {
self.openSet = strSet;
};
this.dbclickPop = function () {
//set status
self.isDoubleClick = true;
self.gridObj.attachEvent("onRowDblClicked", function (rId, cInd) {
window.open(self.openUrl + rId, self.openType, self.openSet);
});
};
this.clickEvent = function () {
// if(self.gridObj != null){
//
// alert();
// }else{
// alert("Object is null");
// }
};
this.dbclickEvent = function () {
};
this.onEditEvent = function () {
};
this.onCheckBox = function () {
};
this.onEditCellEvent = function () {
};
this.clickRefrash = function () {
self.initGrid();
};
this.setPagerName = function (objName) {
self.pagerName = objName;
};
this.setPagerInfo = function (objInfo) {
self.pagerInfo = objInfo;
}
this.setPagerCount = function (count) {
self.pageShowCount = count;
}
this.getGridRowID = function (gridObj) {
var selRowID = mygrid_recv.getSelectedRowId();
var selGroup = new Array();
if (selRowID.indexOf(",") > 0) {
selGroup = selRowID.split(",");
} else {
if (selRowID != null) {
selGroup.push(selRowID);
}
}
return selGroup;
};
this.enableMultiselect = function (bValue) {
self.gridObj.enableMultiselect(bValue);
};
this.getObjByClassName = function (eleClassName) {
var getEleClass = []; //定义一个数组
var myclass = new RegExp("\\b" + eleClassName + "\\b"); //创建一个正则表达式对像
var elem = document.body.all.tags("DIV"); //获取文档里所有的元素
for (var h = 0; h < elem.length; h++) {
var classes = elem[h].className; //获取class对像
if (myclass.test(classes)) {
getEleClass.push(elem[h]); //正则比较取到想要的CLASS对像
}
}
return getEleClass; //返回数组
}
//get total page count
this.getTotalPage = function () {
var urlVal = self.responseUrl + "?handle=page&val=" + self.newGuid();
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
};
//Get Guid
this.newGuid = function () {
var guid = "";
for (var i = 1; i <= 32; i++) {
var n = Math.floor(Math.random() * 16.0).toString(16);
guid += n;
if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
guid += "-";
}
return guid.toUpperCase();
};
//初始化页面
this.initPage = function () {
self.pager = new PagerView('pager');
var urlVal = self.responseUrl + "?handle=page&val=" + self.newGuid(); //alert(self.responseUrl + "?handle=page&val="+self.newGuid());
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
self.totalPageCount = loadVal;
self.pager.itemCount = self.totalPageCount;
self.pager.size = self.pageShowCount;
self.pager.index = 1;
self.pager.onclick = function (index) {
document.getElementById('info').innerHTML = '现在翻到第' + index + '页';
self.request = self.responseUrl + "?handle=list&show_page=" + self.pager.size.toString() + "&cur_page=" + index;
setTimeout(function () {
self.initGrid();
self.bind();
if (self.isDoubleClick) {
self.dbclickPop();
}
}, 300);
};
self.pager.render();
};
this.initCommonPager = function (handleName, idQuery) {
if (self.pagerName != null) {
self.pager = new PagerView(self.pagerName);
} else {
self.pager = new PagerView('pager');
}
var urlVal = "";
if (self.searchVal.length > 1) {
//urlVal = self.responseUrl + "?handle=" + handleName + "page&search=" + escape(self.searchVal) + idQuery + "&val=" + self.newGuid();
if (self.multipleSearchVal.length > 1) {
urlVal = self.responseUrl + "?handle=" + handleName + "page&search=" + escape(self.searchVal) + self.multipleSearchVal + idQuery + "&val=" + self.newGuid();
} else {
urlVal = self.responseUrl + "?handle=" + handleName + "page&search=" + escape(self.searchVal) + idQuery + "&val=" + self.newGuid();
}
} else {
//urlVal = self.responseUrl + "?handle=" + handleName + "page" + idQuery + "&val=" + self.newGuid();
if (self.multipleSearchVal.length > 1) {
urlVal = self.responseUrl + "?handle=" + handleName + "page" + self.multipleSearchVal + idQuery + "&val=" + self.newGuid();
} else {
urlVal = self.responseUrl + "?handle=" + handleName + "page" + idQuery + "&val=" + self.newGuid();
}
}
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
self.totalPageCount = loadVal;
self.pager.itemCount = self.totalPageCount;
self.pager.size = self.pageShowCount;
self.pager.index = 1;
self.pager.onclick = function (index) {
if (self.pagerInfo != null) {
document.getElementById(self.pagerInfo).innerHTML = '现在翻到第' + index + '页';
} else {
document.getElementById('info').innerHTML = '现在翻到第' + index + '页';
}
if (self.searchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery + "&search=" + escape(self.searchVal);
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery;
}
setTimeout(function () {
self.initGrid();
self.bind();
self.clickEvent();
if (self.isDoubleClick) {
self.dbclickPop();
}
if (self.isOnEditCell) {
self.onEditEvent();
}
if (self.isOnCheckBox) {
self.onCheckBox();
}
if (self.isOnEditCell) {
self.onEditCellEvent();
}
}, 300);
};
self.pager.render();
}
//初始化页面
this.initPageByHandle = function (handleName) {
var lsurl = "";
self.pager = new PagerView('pager');
var urlVal = "";
if (self.searchVal.length > 1) {
if (self.multipleSearchVal.length > 1) {
urlVal = self.responseUrl + "?handle=" + handleName + "page&search=" + escape(self.searchVal) + self.multipleSearchVal + "&val=" + self.newGuid();
} else {
urlVal = self.responseUrl + "?handle=" + handleName + "page&search=" + escape(self.searchVal) + "&val=" + self.newGuid();
}
} else {
if (self.multipleSearchVal.length > 1) {
urlVal = self.responseUrl + "?handle=" + handleName + "page" + self.multipleSearchVal + "&val=" + self.newGuid();
} else {
urlVal = self.responseUrl + "?handle=" + handleName + "page&val=" + self.newGuid();
}
}
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
self.totalPageCount = loadVal;
self.pager.itemCount = self.totalPageCount;
self.pager.size = self.pageShowCount;
self.pager.index = 1;
self.pager.onclick = function (index) {
document.getElementById('info').innerHTML = '现在翻到第' + index + '页';
if (self.searchVal.length > 1) {
var tempSortValue = "";
var tempSortIndex = "";
if (self.sortValue != null && self.sortType != null) {
tempSortValue = "&sort=" + self.sortValue;
tempSortIndex = "&sortindex=" + self.sortType;
// if(self.request.indexOf("&sort=") >= 0){
// var beginString = self.request.substr(0,self.request.indexOf("&sort="));
// var endString = self.request.substr(self.request.indexOf("&sort="),self.request.length - self.request.indexOf("&sort="));
// var midString = endString.substr(1,endString.length - 1);
// var midSecondStr = "";
// if(midString.indexOf("&") >= 0){
// midSecondStr = midString.substr(midString.indexOf("&"),midString.length-midString.indexOf("&"));
// }
//
// self.request = beginString+tempSortValue+midSecondStr;
// }
//
// if(self.request.indexOf("&sortindex=") >= 0){
// var beginString = self.request.substr(0,self.request.indexOf("&sortindex="));
// var endString = self.request.substr(self.request.indexOf("&sortindex="),self.request.length - self.request.indexOf("&sortindex="));
// var midString = endString.substr(1,endString.length - 1);
// var midSecondStr = "";
// if(midString.indexOf("&") >= 0){
// midSecondStr = midString.substr(midString.indexOf("&"),midString.length-midString.indexOf("&"));
// }
//
// self.request = beginString+tempSortIndex+midSecondStr;
// }
lsurl = self.responseUrl + "?show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal) + tempSortValue + tempSortIndex;
//self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal) + tempSortValue + tempSortIndex;
if (self.multipleSearchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal) + tempSortValue + tempSortIndex + self.multipleSearchVal;
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal) + tempSortValue + tempSortIndex;
}
} else {
lsurl = self.responseUrl + "?show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal);
//self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal);
if (self.multipleSearchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal) + self.multipleSearchVal;
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + "&search=" + escape(self.searchVal);
}
}
} else {
var tempSortValue = "";
var tempSortIndex = "";
if (self.sortValue != null && self.sortType != null) {
tempSortValue = "&sort=" + self.sortValue;
tempSortIndex = "&sortindex=" + self.sortType;
// if(self.request.indexOf("&sort=") >= 0){
// var beginString = self.request.substr(0,self.request.indexOf("&sort="));
// var endString = self.request.substr((self.request.indexOf("&sort=")),(self.request.length - self.request.indexOf("&sort=")));
// var midString = endString.substr(1,endString.length - 1);
// var midSecondStr = "";
// if(midString.indexOf("&") >= 0){
// midSecondStr = midString.substr(midString.indexOf("&"),midString.length-midString.indexOf("&"));
// }
//
// self.request = beginString+tempSortValue+midSecondStr;
// }
//
// if(self.request.indexOf("&sortindex=") >= 0){
// var beginString = self.request.substr(0,self.request.indexOf("&sortindex="));
// var endString = self.request.substr(self.request.indexOf("&sortindex="),self.request.length - self.request.indexOf("&sortindex="));
// var midString = endString.substr(1,endString.length - 1);
// var midSecondStr = "";
// if(midString.indexOf("&") >= 0){
// midSecondStr = midString.substr(midString.indexOf("&"),midString.length-midString.indexOf("&"));
// }
//
// self.request = beginString+tempSortIndex+midSecondStr;
// }
lsurl = self.responseUrl + "?show_page=" + self.pager.size.toString() + "&cur_page=" + index + tempSortValue + tempSortIndex;
//self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + tempSortValue + tempSortIndex;
if (self.multipleSearchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + tempSortValue + tempSortIndex + self.multipleSearchVal;
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + tempSortValue + tempSortIndex;
}
} else {
lsurl = self.responseUrl + "?show_page=" + self.pager.size.toString() + "&cur_page=" + index;
//self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index;
if (self.multipleSearchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + self.multipleSearchVal;
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index;
}
}
}
setTimeout(function () {
self.initGrid();
self.bind();
self.clickEvent();
self.onEditEvent();
if (self.isDoubleClick) {
self.dbclickPop();
}
if (self.isDBClickEvent) {
self.dbclickEvent();
}
if (self.isOnEditCell) {
self.onEditCellEvent();
}
if (self.isSort) {
self.sortEventFun();
}
if (self.isOnCheckBox) {
self.onCheckBox();
}
}, 300);
};
self.pager.render();
};
//初始化页面
this.initPageByGID = function (handleName, idQuery) {
self.pager = new PagerView('pager');
var urlVal = "";
if (self.searchVal.length > 1) {
urlVal = self.responseUrl + "?handle=" + handleName + "page&search=" + escape(self.searchVal) + idQuery + "&val=" + self.newGuid(); //alert(self.responseUrl + "?handle=page&val="+self.newGuid());
} else {
urlVal = self.responseUrl + "?handle=" + handleName + "page" + idQuery + "&val=" + self.newGuid();
}
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
self.totalPageCount = loadVal;
self.pager.itemCount = self.totalPageCount;
self.pager.size = self.pageShowCount;
self.pager.index = 1;
self.pager.onclick = function (index) {
document.getElementById('info').innerHTML = '现在翻到第' + index + '页';
if (self.searchVal.length > 1) {
//self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery + "&search=" + escape(self.searchVal);
if (self.multipleSearchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery + "&search=" + escape(self.searchVal) + self.multipleSearchVal;
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery + "&search=" + escape(self.searchVal);
}
} else {
//self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery;
if (self.multipleSearchVal.length > 1) {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery + self.multipleSearchVal;
} else {
self.request = self.responseUrl + "?handle=" + handleName + "&show_page=" + self.pager.size.toString() + "&cur_page=" + index + idQuery;
}
}
setTimeout(function () {
self.initGrid();
self.bind();
self.clickEvent();
if (self.isDoubleClick) {
self.dbclickPop();
}
if (self.isOnEditCell) {
self.onEditEvent();
}
if (self.isOnCheckBox) {
self.onCheckBox();
}
if (self.isOnEditCell) {
self.onEditCellEvent();
}
}, 300);
};
self.pager.render();
};
//save grid column setting change(include: name,width,index)
this.saveColumnSetting = function () {
var colCount = this.gridObj.getColumnsNum();
var jsonFeeObj = "";
jsonFeeObj = "{\"$type\":\"DSWeb.Models.JsonColumnGroupEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",\"ShowCount\":" + pageShowCount + ",\"JsonColumnEntities\":[";
var tempGroupJson = "";
for (var i = 0; i < colCount; i++) {
var tempJson = "";
var rId = this.gridObj.getRowId(i);
tempJson += "\"$type\":\"DSWeb.Models.JsonColumnEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",";
tempJson += "\"col1\":\"\","; //gid
tempJson += "\"col2\":\"" + i.toString() + "\","; //column name
tempJson += "\"col3\":\"" + this.gridObj.getColumnLabel(i) + "\","; //column description
tempJson += "\"col4\":\"" + i.toString() + "\","; //index
tempJson += "\"col5\":\"" + this.gridObj.getColWidth(i) + "\","; //width
tempJson += "\"col6\":-1";
tempJson = "{" + tempJson + "}";
if (i == colCount - 1) {
tempGroupJson += tempJson;
} else {
tempGroupJson += tempJson + ",";
}
}
jsonFeeObj += tempGroupJson;
jsonFeeObj += "]}";
$("hid_setting").value = jsonFeeObj;
jsonFeeObj = null;
//alert(jsonFeeObj);
var myForm = document.getElementById("form1");
myForm.submit();
};
this.initMenu = function (id) {
this.$(id).oncontextmenu = function (ev) {
showMenu(ev);
return false;
};
document.onmousedown = function () { if (!self.over) hideMenu(); };
};
//显示右键菜单
this.showMenu = function () {
self.menu = null;
ev = ev || window.event;
hideMenu();
var e = ev.srcElement || ev.target;
if (e.tagName == "TH") return;
var x = ev.pageX || ev.clientX + document.documentElement.scrollLeft;
var y = ev.pageY || ev.clientY + document.documentElement.scrollTop;
self.menu = document.createElement("DIV");
self.menu.className = "menu";
self.menu.style.left = x + 4 + "px";
self.menu.style.top = y + "px";
document.body.appendChild(self.menu);
//alert(e.parentNode.getElementsByTagName("DIV")[1].innerHTML);
var dvGroup = e.parentNode.getElementsByTagName("DIV");
var dvGroupCount = dvGroup.length;
var id = "";
if (dvGroupCount == 1) {
id = dvGroup[0].innerHTML;
}
if (id.trim().length < 1) {
hideMenu();
return;
}
var sname = document.location.pathname.substring(7, location.pathname.length).toString();
var s = "<div class=\"dvMenu\" >修改标题</div><div class=\"dvMenu\" onclick=\"editColumnSetting('dvColumnSet')\">编辑显示</div>";
self.menu.innerHTML = s;
self.menu.onmouseover = function () { self.over = true; };
self.menu.onmouseout = function () { self.over = false; };
};
//hide menu object
this.hideMenu = function () {
if (self.menu) {
document.body.removeChild(self.menu);
self.menu = null;
}
};
//IS NUMBER
this.IsNum = function (val) {
var re = /^[-\+]?\d+(\.\d+)?$/;
if (!re.test(val)) {
return false;
} else {
return true;
}
};
this.setSearch = function (val) {
self.searchVal = val;
};
this.setMultiple = function (val) {
self.multipleSearchVal = val;
};
//is exist object
var docEle = function () {
return document.getElementById(arguments[0]) || false;
};
this.openNewDiv = function () {
var m = "mask";
if (docEle(_id)) document.removeChild(docEle(_id));
if (docEle(m)) document.removeChild(docEle(m));
// 新激活图层
var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDiv.style.width = "200px";
newDiv.style.height = "100px";
newDiv.style.top = "100px";
newDiv.style.left = (parseInt(document.body.scrollWidth) - 300) / 2 + "px"; // 屏幕居中
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.innerHTML = "<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;您已更改了视图设置 是否保存<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
document.body.appendChild(newDiv);
// mask图层
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
newMask.style.width = document.body.scrollWidth + "px";
newMask.style.height = document.body.scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#000";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);
// 关闭mask和新图层
var saveButton = document.createElement("a");
saveButton.href = "#";
saveButton.innerHTML = "确定";
saveButton.className = "regular";
saveButton.onclick = function () {
this.saveColumnSetting(); // save user grid column setting
}
newDiv.appendChild(saveButton);
//newDiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
var cancelButton = document.createElement("a");
cancelButton.href = "#";
cancelButton.innerHTML = "取消";
cancelButton.className = "regular";
cancelButton.onclick = function () {
document.body.removeChild(docEle(_id));
document.body.removeChild(docEle(m));
cancelColumnSet();
return false;
}
newDiv.appendChild(cancelButton);
};
this.cancelColumnSet = function () {
self.gridObj = new dhtmlXGridObject(self.id);
self.gridObj.setImagePath(self.imageUrl);
self.gridObj.setSkin(self.skin);
self.gridObj.setHeader(self.headArgs.toString());
self.gridObj.setInitWidths(self.widthArgs.toString());
self.gridObj.setColAlign(self.alignArgs.toString());
self.gridObj.setColSorting(self.sortArgs.toString());
self.gridObj.setColTypes(self.typeArgs.toString());
self.gridObj.init();
setTimeout(function () {
mygrid_log.load(rspUrl + "?handle=list&show_page=" + self.pageShowCount + "&cur_page=1", "json");
}, 300);
this.initPage();
initMenu();
};
this.getUserGridSetting = function () {
var urlVal = self.responseUrl + "handle=setting&val=" + newGuid();
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
jsonPage = loadVal;
if (IsNum(jsonPage)) {
jsonPageObj = null;
} else {
jsonPageObj = eval('(' + loadVal + ')');
}
};
this.editColumnSetting = function () {
hideMenu();
var m = "mask";
if (docEle(_id)) document.removeChild(docEle(_id));
if (docEle(m)) document.removeChild(docEle(m));
// 新激活图层
var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDiv.style.width = "700px";
newDiv.style.height = "340px";
newDiv.style.top = "100px";
newDiv.style.left = (parseInt(document.body.scrollWidth) - 560) / 2 + "px"; // 屏幕居中
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
getUserGridSetting();
var TargeVal = "";
if (jsonPageObj != null) {
for (var i = 0; i < jsonPageObj.columns.length; i++) {
TargeVal += "<option value=\"" + jsonPageObj.columns[i].name + "\">" + jsonPageObj.columns[i].description + "</option>";
}
}
var editObj = "<div style=\"float:left\"><select id=\"sel_LogColumns\" multiple=\"multiple\" style=\"width:200px;height:300px;\">"
+ "<option value=\"NAME\">日志名称</option><option value=\"LOGTYPE\">日志类型</option><option value=\"LOGTIME\">日志记录时间</option>"
+ "<option value=\"LOGCONTENT\">日志内容</option><option value=\"USERNAME\">操作人</option></select></div>"
+ "<div style=\"float:left; width:60px;height:210px;margin:0 auto;text-align:center;vertical-align:middle;line-height:300px; padding-top:90px\">"
+ "<div class=\"imgLeftButton\" onmousemove=\"this.className='imgLeftHoverButton'\" onmouseout=\"this.className='imgLeftButton'\" title=\"添加\" onclick=\"add()\"></div>"
+ "<div class=\"imgRightButton\" onmousemove=\"this.className='imgRightHoverButton'\" onmouseout=\"this.className='imgRightButton'\" title=\"移除\" onclick=\"remove()\"></div>"
+ "</div><div style=\"float:left;\"><select id=\"sel_VisiableColumns\" multiple=\"multiple\" style=\"width:200px;height:300px;\">" + TargeVal + "</select></div>"
+ "<div style=\"float:left; width:60px;height:210px;margin:0 auto;text-align:center;vertical-align:middle;line-height:300px; padding-top:90px\">"
+ "<div class=\"imgUpButton\" onmousemove=\"this.className='imgUpHoverButton'\" onmouseout=\"this.className='imgUpButton'\" title=\"向上\" onclick=\"up()\"></div>"
+ "<div class=\"imgDownButton\" onmousemove=\"this.className='imgDownHoverButton'\" onmouseout=\"this.className='imgDownButton'\" title=\"向下\" onclick=\"down()\"></div></div>"
+ "<div><div style=\"float:left\"><input type=\"text\" id=\"txt_rename\" style=\"height:20px;width:110px; \"/></div>"
+ "<div class=\"enterButton\" style=\"width:30px; \" onclick=\"saveRename()\">保存</div></div>"
+ "<div style=\"float:left; width:70px;\"><div class=\"enterButton\" onclick=\"pushRename()\">重命名</div></div>"
+ "<div style=\"float:left;width:100%;padding-left:120px;\"><div class=\"enterButton\" onclick=\"saveColumnHeader()\">保存</div><div class=\"enterButton\" onclick=\"cancelColumnHeader()\">取消</div></div>";
newDiv.innerHTML = editObj;
document.body.appendChild(newDiv);
// mask图层
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
newMask.style.width = document.body.scrollWidth + "px";
newMask.style.height = document.body.scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#000";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);
// 关闭mask和新图层
};
}
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); }
//pager view
function PagerView(id) {
var selfp = this;
this.id = id;
this.container = null;
this.index = 1; // 当前页码, 从1开始
this.size = self.pageShowCount; // 每页显示记录数
this.maxButtons = 9; // 显示的分页按钮数量
this.itemCount = 0; // 记录总数
this.pageCount = 0; // 总页数
/**
* 控件使用者重写本方法, 获取翻页事件, 可用来向服务器端发起AJAX请求.
* @param index: 被点击的页码.
*/
this.onclick = function (index) {
};
/**
* 内部方法.
*/
this._onclick = function (index) {
selfp.index = index;
selfp.onclick(index);
selfp.render();
};
/**
* 在显示之前计算各种页码变量的值.
*/
this.calculate = function () {
selfp.pageCount = parseInt(Math.ceil(selfp.itemCount / selfp.size));
selfp.index = parseInt(selfp.index);
if (selfp.index > selfp.pageCount) {
selfp.index = selfp.pageCount;
}
};
/**
* 渲染分页控件.
*/
this.render = function () {
if (selfp.id != undefined) {
var div = document.getElementById(selfp.id);
div.view = selfp;
selfp.container = div;
}
selfp.calculate();
var start, end;
start = Math.max(1, selfp.index - parseInt(selfp.maxButtons / 2));
end = Math.min(selfp.pageCount, start + selfp.maxButtons - 1);
start = Math.max(1, end - selfp.maxButtons + 1);
var str = "";
str += "<div class=\"PagerView\">\n";
if (selfp.pageCount > 1) {
if (selfp.index != 1) {
str += '<a href="javascript://1"><span>|&lt;</span></a>';
str += '<a href="javascript://' + (selfp.index - 1) + '"><span>&lt;&lt;</span></a>';
} else {
str += '<span>|&lt;</span>';
str += '<span>&lt;&lt;</span>';
}
}
for (var i = start; i <= end; i++) {
if (i == this.index) {
str += '<span class="on">' + i + "</span>";
} else {
str += '<a href="javascript://' + i + '"><span>' + i + "</span></a>";
}
}
if (selfp.pageCount > 1) {
if (selfp.index != selfp.pageCount) {
str += '<a href="javascript://' + (selfp.index + 1) + '"><span>&gt;&gt;</span></a>';
str += '<a href="javascript://' + selfp.pageCount + '"><span>&gt;|</span></a>';
} else {
str += '<span>&gt;&gt;</span>';
str += '<span>&gt;|</span>';
}
}
str += ' 一共' + selfp.pageCount + '页, ' + selfp.itemCount + '条记录 ' + '&nbsp;&nbsp;&nbsp;每页显示:&nbsp;' + "<select id=\"cusShowCount\" style=\"width:70px;\" onchange=\"changeShowCount('cusShowCount')\">" + selfp.getPageOption(selfp.size) + "</select>";
str += "</div><!-- /.pagerView -->\n";
selfp.container.innerHTML = str;
var a_list = selfp.container.getElementsByTagName('a');
for (var i = 0; i < a_list.length; i++) {
a_list[i].onclick = function () {
var index = this.getAttribute('href');
if (index != undefined && index != '') {
index = parseInt(index.replace('javascript://', ''));
selfp._onclick(index)
}
return false;
};
}
};
this.getPageOption = function (size) {
var pageCountArg = new Array();
pageCountArg.push(5);
pageCountArg.push(15);
pageCountArg.push(30);
pageCountArg.push(50);
pageCountArg.push(100);
pageCountArg.push(200);
var optionStr = "";
for (var i = 0; i < pageCountArg.length; i++) {
if (size == parseInt(pageCountArg[i])) {
optionStr += "<option value=\"" + pageCountArg[i] + "\" selected=\"1\">" + pageCountArg[i] + "</option>";
} else {
optionStr += "<option value=\"" + pageCountArg[i] + "\">" + pageCountArg[i] + "</option>";
}
}
return optionStr;
};
}
function el(id) {
return document.getElementById(id);
}
function initMenu(gridObj) {
el(gridObj).oncontextmenu = function (ev) {
showMenu(ev);
return false;
};
document.onmousedown = function () { if (!over) hideMenu(); };
};
var over = false;
var menu = null;
function showMenu(ev) {
menu = null;
ev = ev || window.event;
hideMenu();
var e = ev.srcElement || ev.target;
if (e.tagName == "TH") return;
var x = ev.pageX || ev.clientX + document.documentElement.scrollLeft;
var y = ev.pageY || ev.clientY + document.documentElement.scrollTop;
menu = document.createElement("DIV");
menu.className = "menu";
menu.style.left = x + 4 + "px";
menu.style.top = y + "px";
document.body.appendChild(menu);
//alert(e.parentNode.getElementsByTagName("DIV")[1].innerHTML);
var dvGroup = e.parentNode.getElementsByTagName("DIV");
var dvGroupCount = dvGroup.length;
var id = "";
if (dvGroupCount == 1) {
id = dvGroup[0].innerHTML;
}
if (id.trim().length < 1) {
hideMenu();
return;
}
var sname = document.location.pathname.substring(7, location.pathname.length).toString();
var s = "<div class=\"dvMenu\" onclick=\"editColumnSetting('dvColumnSet')\">编辑显示</div>";
menu.innerHTML = s;
menu.onmouseover = function () { over = true; };
menu.onmouseout = function () { over = false; };
}
function hideMenu() {
if (menu) {
document.body.removeChild(menu);
menu = null;
}
}
function editColumnSetting(_id) {
hideMenu();
var m = "mask";
if (docEle(_id)) document.removeChild(docEle(_id));
if (docEle(m)) document.removeChild(docEle(m));
// 新激活图层
var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDiv.style.width = "700px";
newDiv.style.height = "340px";
newDiv.style.top = "100px";
newDiv.style.left = (parseInt(document.body.scrollWidth) - 560) / 2 + "px"; // 屏幕居中
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
getUserGridSetting();
var TargeVal = "";
if (jsonPageObj != null) {
for (var i = 0; i < jsonPageObj.columns.length; i++) {
TargeVal += "<option value=\"" + jsonPageObj.columns[i].name + "\">" + jsonPageObj.columns[i].description + "</option>";
}
}
var editObj = "<div style=\"float:left\"><select id=\"sel_LogColumns\" multiple=\"multiple\" style=\"width:200px;height:300px;\">"
+ "<option value=\"NAME\">日志名称</option><option value=\"LOGTYPE\">日志类型</option><option value=\"LOGTIME\">日志记录时间</option>"
+ "<option value=\"LOGCONTENT\">日志内容</option><option value=\"USERNAME\">操作人</option></select></div>"
+ "<div style=\"float:left; width:60px;height:210px;margin:0 auto;text-align:center;vertical-align:middle;line-height:300px; padding-top:90px\">"
+ "<div class=\"imgLeftButton\" onmousemove=\"this.className='imgLeftHoverButton'\" onmouseout=\"this.className='imgLeftButton'\" title=\"添加\" onclick=\"add()\"></div>"
+ "<div class=\"imgRightButton\" onmousemove=\"this.className='imgRightHoverButton'\" onmouseout=\"this.className='imgRightButton'\" title=\"移除\" onclick=\"remove()\"></div>"
+ "</div><div style=\"float:left;\"><select id=\"sel_VisiableColumns\" multiple=\"multiple\" style=\"width:200px;height:300px;\">" + TargeVal + "</select></div>"
+ "<div style=\"float:left; width:60px;height:210px;margin:0 auto;text-align:center;vertical-align:middle;line-height:300px; padding-top:90px\">"
+ "<div class=\"imgUpButton\" onmousemove=\"this.className='imgUpHoverButton'\" onmouseout=\"this.className='imgUpButton'\" title=\"向上\" onclick=\"up()\"></div>"
+ "<div class=\"imgDownButton\" onmousemove=\"this.className='imgDownHoverButton'\" onmouseout=\"this.className='imgDownButton'\" title=\"向下\" onclick=\"down()\"></div></div>"
+ "<div><div style=\"float:left\"><input type=\"text\" id=\"txt_rename\" style=\"height:20px;width:110px; \"/></div>"
+ "<div class=\"enterButton\" style=\"width:30px; \" onclick=\"saveRename()\">保存</div></div>"
+ "<div style=\"float:left; width:70px;\"><div class=\"enterButton\" onclick=\"pushRename()\">重命名</div></div>"
+ "<div style=\"float:left;width:100%;padding-left:120px;\"><div class=\"enterButton\" onclick=\"saveColumnHeader()\">保存</div><div class=\"enterButton\" onclick=\"cancelColumnHeader()\">取消</div></div>";
newDiv.innerHTML = editObj;
document.body.appendChild(newDiv);
// mask图层
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
newMask.style.width = document.body.scrollWidth + "px";
newMask.style.height = document.body.scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#000";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);
// 关闭mask和新图层
}
var docEle = function () {
return document.getElementById(arguments[0]) || false;
}
function openNewDiv(_id) {
var m = "mask";
if (docEle(_id)) document.removeChild(docEle(_id));
if (docEle(m)) document.removeChild(docEle(m));
// 新激活图层
var newDiv = document.createElement("div");
newDiv.id = _id;
newDiv.style.position = "absolute";
newDiv.style.zIndex = "9999";
newDiv.style.width = "200px";
newDiv.style.height = "100px";
newDiv.style.top = "100px";
newDiv.style.left = (parseInt(document.body.scrollWidth) - 300) / 2 + "px"; // 屏幕居中
newDiv.style.background = "#EFEFEF";
newDiv.style.border = "1px solid #860001";
newDiv.style.padding = "5px";
newDiv.innerHTML = "<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;您已更改了视图设置 是否保存<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
document.body.appendChild(newDiv);
// mask图层
var newMask = document.createElement("div");
newMask.id = m;
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
newMask.style.width = document.body.scrollWidth + "px";
newMask.style.height = document.body.scrollHeight + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#000";
newMask.style.filter = "alpha(opacity=40)";
newMask.style.opacity = "0.40";
document.body.appendChild(newMask);
// 关闭mask和新图层
var saveButton = document.createElement("a");
saveButton.href = "#";
saveButton.innerHTML = "确定";
saveButton.className = "regular";
saveButton.onclick = function () {
change();
//document.body.removeChild(docEle(_id));
//document.body.removeChild(docEle(m));
//return false;
}
newDiv.appendChild(saveButton);
//newDiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
var cancelButton = document.createElement("a");
cancelButton.href = "#";
cancelButton.innerHTML = "取消";
cancelButton.className = "regular";
cancelButton.onclick = function () {
document.body.removeChild(docEle(_id));
document.body.removeChild(docEle(m));
unSaveGrid();
return false;
}
newDiv.appendChild(cancelButton);
}
function changeShowCount() {
}