var _application = { isSuccess:"isSuccess", _mask:new Mask(),//蒙层 _cache:new Cache(),//页面缓存 _identifier: null, _dsName: null, _onbeforeunloadFun: [], /** * 注册onbeforeunload事件 * @param * [function] fun onbeforeunload事件触发时执行的动作 * @type void */ addUnloadFun: function(fun) { if(typeof fun == "function") { this._onbeforeunloadFun.push(fun); } }, /** * 请求数据 * @param {Object} config 参数集合:
* [String] url 请求数据的连接
* [String] module 模块名称
* [String] action 请求对象
* [String] event 请求事件
* [String] dataSet 数据
* [boolean] async 是否异步请求,默认为true * [function] success 成功的回调 * [function] error 失败的回调 * [Object] context 上下文对象
* @type void */ requestData:function(config) { var url = config["url"]; if(url == null) { url = contextPath + "/" + config["module"] + "/" + config["action"] + "/" + config["event"] +".do"; } var dataSet = config["dataSet"] == null ? new DataSet() : config["dataSet"]; if(this._identifier) { dataSet.setHeader(constant.IDENTIFIER, this._identifier); } if(this._dsName) { dataSet.setParameter("dsName", this._dsName); } var data = dataSet.clone(); data["requestComponent"] = "0"; data = encodeURIComponent(JSON.toStr(data)); //$.messager.progress(); var loads = layer.load(1, {shade: [0.5,'#666'] //0.1透明度的白色背景 }); //0代表加载的风格,支持0-2, $.ajax({ url: url, type:"POST", cache:false, data:"data=" + data, dataType : "json", async:config["async"] == null ? true : false, success: function(data, textStatus, jqXHR) { //$.messager.progress('close'); //ajaxLoadEnd(); layer.close(loads); var dc = _application._getDataSet(data); if(dc.getHeader(constant.IDENTIFIER)) { _application._identifier = dc.getHeader(constant.IDENTIFIER); } if(dc.getHeader("url") != null) { window.location = dc.getHeader("url"); } else { _application._showErrorMessage(dc); if(dc.getHeader(constant.Header_Success) == constant.Success) { if(dc.getHeader(constant.Header_Message_Code)) { if(dc.getHeader(constant.Header_Message_Code) == constant.Success_Message_Code) { config["success"] != null && config["success"].call(config["context"],dc); } else { config["error"] != null && config["error"].call(config["context"],dc); } } else { config["success"] != null && config["success"].call(config["context"],dc); } } /** else { config["error"] != null && config["error"].call(config["context"],dc); } **/ } }, error:function(jqXHR, textStatus, errorThrown) { $.messager.progress('close'); var dc = new DataSet(); dc.setHeader(constant.Header_Error,errorThrown); _application._showErrorMessage(dc); config["error"] != null && config["error"].call(config["context"],dc); } }); }, //显示错误信息 _showErrorMessage:function(dc) { var flag = true; if(dc.getHeader(constant.Header_Message_Info) != null) { $.messager.alert('系统提示',dc.getHeader(constant.Header_Message_Info),'info'); flag = false; } else if(dc.getHeader(constant.Header_Message_Error) != null) { $.messager.alert('系统提示',dc.getHeader(constant.Header_Message_Error),'error'); flag = false; } else if(dc.getHeader(constant.Header_Error) != null) { $.messager.alert('系统提示',dc.getHeader(constant.Header_Error),'error'); window.status = dc.getHeader(constant.Header_Error); flag = false; } dc.setHeader(constant.Header_IsDefaultMessage,flag); }, //获取数据集 _getDataSet:function(data) { var dc = null; if (typeof data == "undefined" || typeof data == "string") { dc = new DataSet(); dc.setHeader(constant.Header_Error,"Json parse error"); } else { dc = new DataSet(data); } return dc; }, /** * config: * [String] id: 对应的dom对象的ID。必填 * [String] module 模块名称
* [String] action 请求对象
* [String] event 请求事件
* [dataSet]dataSet 数据
* [String] config: url: dialog对应的页面。不必填 * [Function] onComplete: dialog关闭后的操作,不必填 * [Object] dlg: easyui本身对应的dialog配置属性。不必填 */ showDialog:function(config) { var dlg = new Dialog(config); dlg.show(); return dlg; }, /** * config: * [String] title: 标题 * [String] msg 消息 */ showMessage:function(config) { $.messager.show({ title:config["title"] || "", msg:config["msg"] || "", timeout:config["timeout"] || 10000, // 默认声明周期为10秒 showType:'show' }); }, /** * parameter: cacheName:缓存名称 * parameter: cacheData:缓存数据 * description:插入缓存数据 */ setCache:function(cacheName,cacheData) { this._cache.setCache(cacheName,cacheData); }, /** * parameter: cacheName:缓存名称 * description:获得缓存数据 */ getCache:function(cacheName) { return this._cache.getCache(cacheName); }, /** * description:用系统方法格式化数据,目前支持decode数据格式化和事件格式化 */ decode:function(val,row) { if(this.datasource != null) { var cache = _application.getCache(this.datasource); if(cache != null) { return cache[val]; } return null; } else if(this.dateformatter != null) { if(val) { if(val.indexOf(".")!=-1) { val = val.substring(0,val.indexOf(".")); } else { // 年月 2014-07 if(val.length == 7) { val = val +"-01 00:00:00"; } else if (val.length == 8) // 时分 18:26:01 { val = "1970-01-01 " + val ; } } val = val.replace(/-/g,"/"); var date = new Date(val); return date.format(this.dateformatter); } else { return null; } } }, /** * 初始化treeGrid的数据对象 */ initTreeGridData:function(rowSet,idColumn,titleColumn,parentColumn) { var _data = []; var _idMap = {};//Id对象 var _parentMap = {};//通过父节点查找子节点,以父节点为基础 var rootCode = null;//获得根节点数据 for(var i=0,count = rowSet.getRowCount();i < count;i++) { var id = rowSet.getItemValue(i,idColumn); var parentId = rowSet.getItemValue(i,parentColumn); _idMap[id] = rowSet.getRow(i); if(_parentMap[parentId] == null) { _parentMap[parentId] = []; } _parentMap[parentId].push(id); } for(var i=0,count = rowSet.getRowCount();i < count;i++) { var parentId = rowSet.getItemValue(i,parentColumn); if(_idMap[parentId] == null) { rootCode = parentId; break; } } return this._createTreeGridData(_parentMap,_idMap,rootCode,titleColumn,0); }, _createTreeGridData:function(parentMap,idMap,parentCode,titleColumn,index) { if(index > 50) { return []; } var _data = []; if(parentMap[parentCode] != null) { var children = parentMap[parentCode]; for(var i=0,count = children.length; i < count;i++) { var id = children[i]; var row = idMap[id]; var dataItem = row.getData(); if(parentMap[id] != null)//存在子节点 { dataItem["children"] = this._createTreeGridData(parentMap,idMap,id,titleColumn,index + 1); } _data.push(dataItem); } } return _data; }, /** * 初始化菜单数据,将rowset数据转换成菜单结构的数据 * @param {RowSet} rowSet: 后台传递来的数据对象:
* [String] idColumn:表示内码的ID列
* [String] titleColumn: 名称列
* [String] parentColumn: 父节点对应的列
* [String] parentCode: 父节点代码,树是从父节点开始展开的
* @type void */ initMenuData:function(rowSet,idColumn,titleColumn,parentColumn,parentCode) { var _data = []; var _idMap = {};//Id对象 var _parentMap = {};//通过父节点查找子节点,以父节点为基础 for(var i=0,count = rowSet.getRowCount();i < count;i++) { var id = rowSet.getItemValue(i,idColumn); var parentId = rowSet.getItemValue(i,parentColumn); _idMap[id] = rowSet.getRow(i); if(_parentMap[parentId] == null) { _parentMap[parentId] = []; } _parentMap[parentId].push(id); } return this._createTreeData(_parentMap,_idMap,parentCode,titleColumn,0); }, /** * 通过递归创建树的数据对象 * @param {Map} parentMap 通过父节点查找子节点,以父节点为基础,子节点的列表:
* [Map] idMap 根据子节点创建的Map对象,里面保存行数据
* [String] parentCode 父节点代码
* [String] titleColumn: 名称列
* [int] index 递归索引,防止死循环
* @type void */ _createTreeData:function(parentMap,idMap,parentCode,titleColumn,index) { if(index > 50) { return []; } var _data = []; if(parentMap[parentCode] != null) { var children = parentMap[parentCode]; for(var i=0,count = children.length; i < count;i++) { var id = children[i]; var row = idMap[id]; var dataItem = { "id":id, "text":row.getItemValue(titleColumn) } // =============节点选中状态处理============ var _isChecked = row.getItemValue("isChecked"); if (typeof _isChecked != "undefined") { if(_isChecked == "true") { dataItem["checked"] = true; } else if(_isChecked == "false") { dataItem["checked"] = false; } } // ====================end====================== if(parentMap[id] != null)//存在子节点 { dataItem["children"] = this._createTreeData(parentMap,idMap,id,titleColumn,index + 1); dataItem["state"] = "closed"; } dataItem["attributes"] = row; _data.push(dataItem); } } return _data; }, /** * 请求页面 * @param {Object} config 参数集合:
* [String] url 请求的页面链接
* [String] module 模块名称
* [String] action 请求对象
* [String] event 请求事件
* [String] dataSet 数据
* [String] container 当前请求的容器
* @type void */ requestComponent:function(config) { var allTime = new Date().getTime(); var url = config["url"]; if(url == null) { url = contextPath + "/" + config["module"] + "/" + config["action"] + "/" + config["event"] +".do"; } var dataSet = config["dataSet"] == null ? new DataSet() : config["dataSet"]; if(this._identifier) { dataSet.setHeader(constant.IDENTIFIER, this._identifier); } var data = dataSet.clone(); data["requestComponent"] = "1"; data = encodeURIComponent(JSON.toStr(data)); var preparedData = new Date().getTime(); // $.messager.progress(); this._showMask(); $.ajax({ url: url, type:"POST", data:"data=" + data, async:config["async"] == null ? true : false, cache:false }).done(function(data) { var startTime = new Date().getTime(); try { // 清除多余的下拉项 if($("#combo_panl_container")) { $("#combo_panl_container").empty(); } var contextData = _application._getContextInfo(data); // $.messager.progress('close'); if(contextData && contextData.data) { var responseData = new DataSet(contextData.data); _application._showErrorMessage(responseData); if(responseData.getHeader(constant.IDENTIFIER)) { _application._identifier = responseData.getHeader(constant.IDENTIFIER); } } if(contextData.url == null) { config.container.html(_application._getInData(data,contextData.cmpName)); var htmlTime = new Date().getTime(); if(contextData.cmpName != null) { _application._initCmp(contextData,config.container); } var initCmpTime = new Date().getTime(); } else { window.location = contextData.url; } } catch(e) { // $.messager.alert("系统提示","客户端页面跳转出错,错误信息为: \r\n" + e.message,"error"); if(window.console && window.console.log) { window.console.log("错误日志:" + e.stack); } } finally { _application._hideMask(); var endTime = new Date().getTime(); if(window.console && window.console.log) { window.console.log("all time:" + (endTime-allTime) + "; client time:" + (endTime-startTime) + "; preparedData:" + (preparedData-allTime) + "; htmlTime:" + (htmlTime-startTime) + "; initCmpTime:" + (initCmpTime-htmlTime)); } } }).fail(function(jqXHR, textStatus, errorThrown) { // $.messager.progress('close'); _application._hideMask(); var status = jqXHR.status; if(status == "500") { $.messager.alert('系统提示','Code:500,内部服务器错误!','error'); } else if(status == "404") { $.messager.alert('系统提示','Code:404,没有找到文件或目录!','error'); } else { $.messager.alert('系统提示','页面访问失败!','error'); } }); }, showButton:function(rowIndex,cmpName,clickFun,colName) { return ""+colName+""; }, showPicture:function(value, path) { return ""; }, // 初始化表单中的附件数据 initFormFileInputData:function(config) { var cmpName = config["cmpName"]; var rowSetName = config["rowSetName"]; var colCode = config["colCode"]; var rowSet = cmpName.dataCenter.getRowSet(rowSetName); var data = rowSet.getItemValue(0,config["colCode"]); return data; }, //获得当前页面的组件名称 _getContextInfo:function(text) { var prev = ""; var post = ""; var start = text.indexOf(prev) if(start == -1) { return {}; } else { text = text.substring(start + prev.length); var end = text.indexOf(post) text = text.substring(0,end); return eval("(" + text + ")"); } }, /** * 重新设置iframe的宽度和高度 */ /** resetIframeOffset:function(obj,parentId) { var parentObj = $("#div_" + parentId); var cmp = eval(parentId); if(cmp.dialog != null) { var dialogHeader = cmp.dialog.getDialogContainer().extdialog("header"); var buttonsHeight = 20; $(obj).height(parentObj.height() - ($(obj).offset().top - parentObj.offset().top) - dialogHeader.height() - buttonsHeight); } else { $(obj).height(parentObj.height() - ($(obj).offset().top - parentObj.offset().top)); } }, **/ /** * 重新设置iframe的宽度和高度 */ resetIframeOffset:function(obj,parentId) { var parentObj = $("#div_" + parentId); var cmp = eval(parentId); if(cmp.dialog != null) { var dialogHeader = cmp.dialog.getDialogContainer().extdialog("header"); var buttonsHeight = 20; $(obj).height(parentObj.height() - ($(obj).offset().top - parentObj.offset().top) - dialogHeader.height() - buttonsHeight - 10); } else { $(obj).height(parentObj.height() - ($(obj).offset().top - parentObj.offset().top) - 10 ); } }, //获得当前页面的数据 _getInData:function(text,cmpName) { var prev = ""; var post = ""; var start = text.indexOf(prev); if(start == -1) { return "
" + text + "
" } else { var end = text.indexOf(post); var html = text.substring(0,start) + text.substring(end + post.length); return "
" + html + "
" } }, showPageDesign:function(dsName,container,systemId,applyModule) { var dc = new DataSet(); dc.setParameter("dsName",22); dc.setParameter("id",dsName) dc.setParameter("systemId",systemId) dc.setParameter("dsSystemId","right") dc.setParameter("applyModule",applyModule); _application.showDialog({ module:"pagedefine", action:"ApplyAction", event:"showFlex", dataSet:dc, full:true, title:"页面定制编辑", parentContainer:container }) }, /* * 获取过滤数据 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] dropName 下拉数据源的名称
* [String] filterValue 过滤参数的值
* BY QCY * 2014-07-10 */ getComboboxFilterData:function(config) { var newData = new Array(); var dropName = config["dropName"]; var value = config["filterValue"]; var cmpName = config["cmpName"]; var rowSet = cmpName.dataCenter.getRowSet(dropName).getPrimaryData(); if(rowSet != null && rowSet.length > 0) { for(var i = 0;i< rowSet.length;i++) { var row = rowSet[i]; if(row["paramFilter"] && row["paramFilter"] != "" && row["paramFilter"] == value) { newData.push(row); } } } return newData; }, /* * 获取过滤数据 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] dropName 下拉数据源的名称
* [String] filterValue 过滤参数的值
* [Array] notFilterArray 不进行过滤的值
* [Array] initData 初始化值[{paramCode:"",paramValue:"",paramFilter:""}]
* BY QCY * 2014-07-10 */ getComboboxData:function(config) { var newData = new Array(); var dropName = config["dropName"]; var value = config["filterValue"]; var cmpName = config["cmpName"]; var initData = config["initData"] var rowSet = cmpName.dataCenter.getRowSet(dropName).getPrimaryData(); var array = config["notFilterArray"]; var isFilter = false; if(array) { if(value && value != "") { var index = $.inArray(value, array); if(index == -1) { isFilter = true; } } } else { if(value && value != "") { isFilter = true; } } if(initData) { for(i in initData) { newData.push(initData[i]); } } if(isFilter) { for(i in rowSet) { var row = rowSet[i]; if(row["paramFilter"] && row["paramFilter"] != "" && row["paramFilter"] == value) { newData.push(row); } } } else { for(i in rowSet) { newData.push(rowSet[i]); } } return newData; }, /* * form中的下拉获取过滤数据方法 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] combobox 当前下拉组件对象
* [String] dropName 下拉数据源的名称
* [String] filterCode 过滤字段名
* [String] filterValue 过滤字段的值
* [Array] initData 初始化值[{paramCode:"",paramValue:"",paramFilter:""}]
* [Array] notFilterArray 不进行过滤的值
* BY QCY * 2014-08-08 */ initFormComboboxData:function(config) { var dg = $(config["combobox"]); var cmpName = config["cmpName"]; var container = cmpName.container; var dropName = config["dropName"]; var filterCode = config["filterCode"]; var filterValue = config["filterValue"]; var initData = config["initData"]; var notFilterArray = config["notFilterArray"]; var filterConfig = {}; filterConfig.cmpName = cmpName; filterConfig.dropName = dropName; filterConfig.initData = initData; filterConfig.notFilterArray = notFilterArray; if(filterValue && filterValue != "") { filterConfig.filterValue = filterValue; } else { // var target = $("input[comboname='" + filterCode + "']")[0]; // var value = $.trim($(target).combobox('getValue')); var value = $.trim($("input[name='" + filterCode + "']",container).val()); filterConfig.filterValue = value; } dg.extcombobox('loadData',_application.getComboboxData(filterConfig)); }, /* * 获取过滤数据 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] dropName 下拉数据源的名称
* [String] filterValue 过滤参数的值
* BY QCY * 2014-07-10 */ getReportComboboxFilterData:function(config) { var newData = new Array(); var defineRow = {}; defineRow.paramCode = -100; defineRow.paramValue = "全部"; newData.push(defineRow); var dropName = config["dropName"]; var value = config["filterValue"]; var cmpName = config["cmpName"]; var rowSet = cmpName.dataCenter.getRowSet(dropName).getPrimaryData(); if(rowSet != null && rowSet.length > 0) { if(value == -100) { for(i in rowSet) { newData.push(rowSet[i]); } } else { for(var i = 0;i< rowSet.length;i++) { var row = rowSet[i]; if(row["paramFilter"] && row["paramFilter"] != "" && row["paramFilter"] == value) { newData.push(row); } } } } return newData; }, /* * 获取过滤数据 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] dropName 下拉数据源的名称
* BY QCY * 2014-07-10 */ getReportComboboxData:function(config) { var newData = new Array(); var defineRow = {}; defineRow.paramCode = -100; defineRow.paramValue = "全部"; newData.push(defineRow); var dropName = config["dropName"]; var cmpName = config["cmpName"]; var rowSet = cmpName.dataCenter.getRowSet(dropName).getPrimaryData(); if(rowSet != null && rowSet.length > 0) { for(i in rowSet) { newData.push(rowSet[i]); } } return newData; }, /* * grid中的下拉获取过滤数据方法 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] combobox 当前下拉组件对象
* [String] dropName 下拉数据源的名称
* [String] filterCode 过滤字段名
* [String] filterValue 过滤字段的值
* [Array] initData 初始化值[{paramCode:"",paramValue:"",paramFilter:""}]
* [Array] notFilterArray 不进行过滤的值
* BY QCY * 2014-08-08 */ initGridComboboxData:function(config) { var dg = $(config["combobox"]); var cmpName = config["cmpName"]; var dropName = config["dropName"]; var filterCode = config["filterCode"]; var filterValue = config["filterValue"]; var initData = config["initData"]; var notFilterArray = config["notFilterArray"]; var filterConfig = {}; filterConfig.cmpName = cmpName; filterConfig.dropName = dropName; filterConfig.initData = initData; filterConfig.notFilterArray = notFilterArray; if(filterValue && filterValue != "") { filterConfig.filterValue = filterValue; } else { var grid = dg.closest('.datagrid-view').children('.easyui-extgrid'); var tempIndex = dg.closest('.datagrid-row').attr('datagrid-row-index'); var opts = $.data(grid[0],'extgrid').options; var row = opts.finder.getRow(grid[0],tempIndex); var value = row[filterCode]; filterConfig.filterValue = value; } dg.extcombobox('loadData',_application.getComboboxData(filterConfig)); }, /* * form中当前下拉的onSelect事件 * @param {Object} config 参数集合
* [Object] cmpName js组件对象
* [String] filterValue 当前下拉组件对象
* [String] dropName 待刷新下拉数据源的名称
* [String] refreshCode 待刷新字段名
* [Array] initData 初始化值[{paramCode:"",paramValue:"",paramFilter:""}]
* [Array] notFilterArray 不进行过滤的值
* BY QCY * 2014-08-08 */ /** formComboboxOnSelect:function(config) { var cmpName = config["cmpName"]; var container = cmpName.container; var dropName = config["dropName"]; var refreshCode = config["refreshCode"]; var initData = config["initData"]; var notFilterArray = config["notFilterArray"]; var value = $.trim(config["filterValue"]); var refreshConfig = {}; refreshConfig.cmpName = cmpName; refreshConfig.dropName = dropName; refreshConfig.filterValue = value; refreshConfig.initData = initData; refreshConfig.notFilterArray = notFilterArray; var target = $("input[comboname='" + refreshCode + "']",container)[0]; $(target).combobox('clear'); $(target).combobox('loadData',_application.getComboboxData(refreshConfig)); }, **/ formComboboxOnSelect:function(config) { var cmpName = config["cmpName"]; var container = cmpName.container; var refreshComboboxs = config["refreshComboboxs"]; for(var i=0,count = refreshComboboxs.length; i * [Object] cmpName js组件对象
* [Object] combobox 当前下拉组件对象
* [String] dropName 待刷新下拉数据源的名称
* [String] colCode 当前下拉的列名
* [String] refreshCode 待刷新字段名
* [Array] initData 初始化值[{paramCode:"",paramValue:"",paramFilter:""}]
* [Array] notFilterArray 不进行过滤的值
* BY QCY * 2014-08-08 */ /** gridComboboxOnSelect:function(config) { var dg = $(config["combobox"]); var cmpName = config["cmpName"]; var dropName = config["dropName"]; var refreshCode = config["refreshCode"]; var colCode = config["colCode"]; var initData = config["initData"]; var notFilterArray = config["notFilterArray"]; var tempIndex = dg.closest('.datagrid-row').attr('datagrid-row-index'); var grid = dg.closest('.datagrid-view').children('.easyui-extgrid'); var target = $(grid).datagrid('getEditor',{index:tempIndex,field:colCode}).target; var value = target.extcombobox('getValue'); var refreshConfig = {}; refreshConfig.cmpName = cmpName; refreshConfig.dropName = dropName; refreshConfig.filterValue = value; refreshConfig.initData = initData; refreshConfig.notFilterArray = notFilterArray; var refreshTarget = $(grid).datagrid('getEditor',{index:tempIndex,field:refreshCode}).target; refreshTarget.combobox('clear'); refreshTarget.combobox('loadData',_application.getComboboxData(refreshConfig)); }, **/ gridComboboxOnSelect:function(config) { var dg = $(config["combobox"]); var cmpName = config["cmpName"]; var refreshComboboxs = config["refreshComboboxs"]; var colCode = config["colCode"]; var tempIndex = dg.closest('.datagrid-row').attr('datagrid-row-index'); var grid = dg.closest('.datagrid-view').children('.easyui-extgrid'); var target = $(grid).datagrid('getEditor',{index:tempIndex,field:colCode}).target; var value = target.extcombobox('getValue'); for(var i=0,count = refreshComboboxs.length;i * [String] grid grid组件的id号
* [String] _queryform queryform组件的id号
* [String] rowSetName rowSet的名字 * [function] success 执行成功的回调函数 * @param {Object} cmp 页面的js组件 * * By QCY */ doFormQuery:function(config,cmp) { if(config["grid"]) { cmp.byId(config["grid"]).extgrid("doFormQuery"); } else { var dc = new DataSet(); var _queryform = config["_queryform"]; var formRowSet = cmp.byId(_queryform).extqueryform("getRowSet"); var rowSet = cmp.dataCenter.getRowSet(config["rowSetName"]).copy(); rowSet.setPageNum(1); rowSet.setQueryRowSetName(formRowSet.getName()); dc.addRowSet(rowSet); dc.setParameters(cmp.dataCenter.getParameters()); dc.addRowSet(formRowSet); cmp.requestData({ "action":cmp.action, "event": cmp.event, "dataSet":dc, "success":config["success"], "error":function() { $.messager.progress("close"); $.messager.alert('系统提示','加载数据失败!','error'); } }); } }, /* //执行form查询 doFormQuery:function(gridId,cmp) { cmp.byId(gridId).extgrid("doFormQuery"); }, */ //显示蒙层 _showMask:function() { this._mask.showAllMask(); }, //关闭蒙层 _hideMask:function() { this._mask.hideMask(); }, /** * 请求页面 * @param {Object} config 参数集合:
* [String] url 请求的页面链接
* [String] module 模块名称
* [String] action 请求对象
* [String] event 请求事件
* [String] title 页面的titile
* [String] dataSet 数据
* @type void */ openComponent: function(config) { var dataSet = config["dataSet"] == null ? new DataSet() : config["dataSet"]; var url = config["url"]; if(url == null) { url = contextPath + "/" + config["module"] + "/" + config["action"] + "/" + config["event"] +".do"; var paramArray = dataSet.getParameters(); var index = 0; for(var i in paramArray) { if(index == 0) { url = url + "?" + i + "=" + paramArray[i]; } else { url = url + "&" + i + "=" + paramArray[i]; } index++; } dataSet.setParameter("menuLocation", url); } else { dataSet.setParameter("menuLocation", url); } if(this._identifier) { dataSet.setParameter(constant.IDENTIFIER, this._identifier); } if(userName) { dataSet.setParameter("userName", userName); } if(skin) { dataSet.setParameter("userSkin", skin); } if(config["title"]) { dataSet.setParameter("title", config["title"]); } _application.popupData = dataSet; window.open(contextPath + "/modules/inter.right/component/inter.right/popup.jsp"); }, clearOpenData: function() { _application.popupData = null; }, pageRefresh: function() { var _this = this; this.addUnloadFun(function(){ if(typeof(menuLocation) != "undefined" && menuLocation) { _application._setPageCookie("menuLocation", menuLocation, 1); } if(typeof(userName) != "undefined" && userName) { _application._setPageCookie("userName", userName, 1); } if(typeof(identifier) != "undefined" && identifier) { _application._setPageCookie("identifier", identifier, 1); } if(typeof(skin) != "undefined" && skin) { _application._setPageCookie("skin", skin, 1); } if(typeof(title) != "undefined" && title) { _application._setPageCookie("title", title, 1); } }); window.onbeforeunload = function(){ var funArray = _this._onbeforeunloadFun; if (funArray && funArray.length > 0) { for (var i in funArray) { if (funArray.hasOwnProperty(i)) { funArray[i](); } } } } }, initPageConstants: function() { if(typeof(menuLocation) != "undefined" && (menuLocation == "null" || !menuLocation)) { menuLocation = this._getPageCookie("menuLocation"); } if(typeof(userName) != "undefined" && (userName == "null" || !userName)) { userName = this._getPageCookie("userName"); } if(identifier == "null" || !identifier) { identifier = this._getPageCookie("identifier"); } if(typeof(skin) != "undefined" && (skin == "null" || !skin)) { skin = this._getPageCookie("skin"); } if(typeof(title) != "undefined" && (title == "null" || !title)) { title = this._getPageCookie("title"); } }, removePageCookie: function() { _application._setPageCookie("menuLocation", "", -1); _application._setPageCookie("userName", "", -1); _application._setPageCookie("identifier", "", -1); _application._setPageCookie("skin", "", -1); _application._setPageCookie("title", "", -1); }, _setPageCookie: function(name, value, days) { if(days) { var exdate=new Date(); exdate.setDate(exdate.getDate() + days); document.cookie = name + "=" + encodeURIComponent(value) + ";path=" + contextPath + ";expires=" + exdate.toGMTString(); } else { document.cookie = name + "=" + encodeURIComponent(value) + ";path=" + contextPath } }, _getPageCookie: function(name) { var arr = document.cookie.split("; "); for(var i = 0, n = arr.length; i < n; i++) { var arr2 = arr[i].split("="); if(arr2[0] == name) { var value = arr2[1]; if(value) { var getC = decodeURIComponent(value); return getC; } } } return ''; }, //初始化组件对象 //dialogObject:当前的dialog对象 _initCmp:function(contextData,container,dialogObject) { var cmpName = contextData.cmpName; var modName = contextData.moduleName; var cmpId = contextData.cmpId; var cmp = eval(cmpName); cmp.getElement = function(id) { return $(id, container); } cmp.byId = function(id) { return $("#" + id, container); } cmp.requestData = function(config) { if(config["context"] == null) { config["context"] = this; } if(config["module"] == null) { config["module"] = modName; } if(config["action"] == null) { config["action"] = this.action; } if(config["event"] == null) { config["event"] = this.event; } if(config["success"] == null) { config["success"] = function(dc) { cmp.dataCenter.append(dc); } } else { var baseSuccess = config["success"]; config["success"] = function(dc) { cmp.dataCenter.append(dc); baseSuccess.call(this,dc) } } _application.requestData(config) } cmp.requestComponent = function(config) { if(config["module"] == null) { config["module"] = modName; } _application.requestComponent(config) } cmp.showDialog = function(config) { if(config["module"] == null) { config["module"] = modName; } if(config["action"] == null) { config["action"] = this.action; } if(config["parentContainer"] == null) { config["parentContainer"] = container; } _application.showDialog(config); } cmp.openComponent = function(config) { if(config["module"] == null) { config["module"] = modName; } _application.openComponent(config); } ///////////////////////////////////////////////////// // 显示消息框 cmp.showMessage = function(config) { _application.showMessage(config); } // 定时器,t为多长时间执行一次 cmp.setTimeout = function (fun,t) { cmp.timer = window.setTimeout(fun, t || 10000); // 默认10秒执行一次 } // 销毁定时器 cmp.clearTimeout = function () { if(cmp.timer) { window.clearTimeout(cmp.timer); } } ///////////////////////////////////////////////////////// cmp.name = cmpName; cmp.moduleName = modName; cmp.container = container; cmp.cmpId = cmpId; cmp.dsName = contextData.dsName; _application._dsName = contextData.dsName; cmp.action = contextData.action; cmp.event = contextData.event; cmp.dsSystemId = contextData.dsSystemId; var dc = null; if(contextData.data == null) { dc = new DataSet(); } else { dc = new DataSet(contextData.data); } cmp["dataCenter"].append(dc); if(dialogObject != null) { cmp["dialog"] = dialogObject; } $.parser.onComplete = function() { if(typeof cmp["init"] == "function") { cmp["init"].call(cmp); } } $.parser.parse(container); }, init: function(param) { this._identifier = param; }, getIdentifier:function() { return this._identifier; }, hitch:function(/*Object*/scope, /*String*/method /*,...*/) { if(!method){ method = scope; scope = null; } return function(){ return scope[method].apply(scope, arguments || []); }; // Function }, // 用于行级权限数据选择功能中,左侧grid中的数据右移到右侧的grid中 initRowRightGridData:function(dataId,dataName,temRow,targetRowSet) { var tempArray = []; for(var i=0,count = targetRowSet.getRowCount();i < count;i++) { var row = targetRowSet.getRow(i); var targetRow = {"dataId":row.getItemValue("dataId"),"dataName":row.getItemValue("dataName")}; tempArray.push(JSON.toStr(targetRow)); } var tempRow = {"dataId":temRow[dataId],"dataName":temRow[dataName]}; var tempData = JSON.toStr(tempRow); if($.inArray(tempData,tempArray) == -1) { targetRowSet.addRow(tempRow); } }, //模拟form提交 _standardPost:function(url,args,target){ var body = $(document.body), form = $("
"), input; form.attr({"action":url}); if(target) { form.attr({"target":target}); } $.each(args,function(key,value){ input = $(""); input.attr({"name":key}); input.val(value); form.append(input); }); form.appendTo(document.body); form.submit(); document.body.removeChild(form[0]); }, /**登录 config.module模块号 config.dataSet 参数 config.action 类名, config.event 方法名, config.success 成功回调方法 **/ login:function(config) { _application.requestData({ "module":config.module, "dataSet":config.dataSet, "action":config.action, "event":config.event, "success":function(dc) { var identifier = dc.getHeader(constant.IDENTIFIER); if(identifier) { _application.init(identifier); } config["success"] != null && config["success"].call(config["context"],dc); } }) }, /** 平台浏览器重定向 **/ windowlocation:function(url,args,target) { if(this._identifier) { args.identifier = this._identifier } _application.removePageCookie(); _application._standardPost(url,args,target); } };