+(function(Z) { //BEGIN var Mercolumn = window.Mercolumn = {}; Mercolumn.initPageColumn = function (layoutCode, layoutName) { if (!layoutName || !layoutCode) return false; var _tr_ = Z('tr[data-layoutCode=\''+layoutCode+'\']'); if (!_tr_) { console.error("["+layoutCode+"]" + "元素查询异常") return false; } var _tr = _tr_[0]; if (!_tr) { console.log("["+layoutCode+"]" + "未找到元素") return false; } var cells = _tr.cells; var nameArr = []; var columns = []; Z.each(cells, function(td, i){ var columnName = td.innerText; columnName = Z.S.trim(columnName); if (Z.V.isNotEmptyBlank(columnName))//有效列名信息 { nameArr[i] = columnName; columns[i] = columnName; } }); if (nameArr.length == 0) { console.log("["+layoutCode+"]" + "找不到列信息") return false; } var init_success = false; try { var ajax = new Z.Ajax(); ajax.setSync(); ajax.setClassName("MercolumnPresenter"); ajax.setMethodName("initPageLayoutColumn"); ajax.addParam("layoutCode", layoutCode); ajax.addParam("layoutName", layoutName); ajax.addParam("sysColumns", Z.AR.toString(nameArr, ",")); ajax.setFailure(function(){ console.error("初始化页面信息列异常:"+this.responseText) }); ajax.setSuccess(function() { init_success = true; }); ajax.execute(); }catch(e) { console.log(e) } return init_success; } Mercolumn.doQueryColumns = function(layoutCode) { if (!layoutCode) return []; var _tr_ = Z('tr[data-layoutCode=\''+layoutCode+'\']'); if (!_tr_) { console.error("["+layoutCode+"]" + "元素查询异常") return []; } var _tr = _tr_[0]; if (!_tr) { console.log("["+layoutCode+"]" + "未找到元素") return []; } var cells = _tr.cells; var nameArr = []; var columns = {}; Z.each(cells, function(td, i){ var columnName = td.innerText; columnName = Z.S.trim(columnName); if (Z.V.isNotEmptyBlank(columnName))//有效列名信息 { nameArr[i] = columnName; columns[columnName] = i; } }); return columns; } Mercolumn.doShowMerPageColumn = function (layoutCode, layoutName, orgId) { var init_success = Mercolumn.initPageColumn(layoutCode, layoutName);//初始化 if (!init_success) return;//初始化失败了不设置 var pageColumns = Mercolumn.doQueryColumns(layoutCode); if (!orgId || orgId == -1) { return false; } try { var ajax = new Z.Ajax(); ajax.setClassName("MercolumnPresenter"); ajax.setMethodName("doQueryMerPageLayoutColumns"); ajax.addParam("orgId", orgId); ajax.addParam("layoutCode", layoutCode); ajax.setFailure(function(){ console.error("设置隐藏商户信息列异常:"+this.responseText); }); ajax.setSuccess(function(){ var obj = Z.J.toObject(this.responseText); var dataList = obj.dataList; console.log(obj); if (!dataList || dataList.length == 0 || !dataList[0]) return; var merColsNames = Z.AR.toArray(dataList[0].merColumns, ",") var mercolumsIndex=[]; //查询影藏列下标 var hideIndexs = []; for (var colsName in pageColumns) { if (Z.AR.contains(merColsNames, colsName)) { var ind = pageColumns[colsName]; mercolumsIndex[colsName] = ind; hideIndexs.push(ind); } } console.log("mercolumsIndex:"); console.log(mercolumsIndex); console.log(hideIndexs); //查询标记隐藏表标头 var _tr_ = Z('tr[data-layoutCode=\''+layoutCode+'\']'); if (!_tr_ || _tr_ .length == 0) { return; } var parentWidth = 0; var scrollWidth = 0; var table = _tr_.parent()[0] if (Z.S.equalsIgnoreCase(table.tagName, "tbody")) { table = Z(table).parent(); scrollWidth = table[0].scrollWidth; var elem = table.parent()[0]; parentWidth = elem.clientWidth-table[0].offsetLeft*2; } //计算隐藏宽度 var cutWidth = 0; var thead = _tr_[0]; var _cells_ = thead.cells; for(var ci = 0; ci < _cells_.length; ci++) { if (!Z.AR.contains(hideIndexs, ci*1)) { var td = _cells_[ci]; cutWidth += td.scrollWidth; } } //隐藏列 var trs = table.find("tr"); for (var i=0; i