Index: ssts-web/src/main/webapp/systemmanage/disabledOrgUnitExtView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/systemmanage/disabledOrgUnitExtView.jsp (revision 0) +++ ssts-web/src/main/webapp/systemmanage/disabledOrgUnitExtView.jsp (revision 27830) @@ -0,0 +1,37 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ include file="/common/taglibs.jsp"%> + + + + +组织单位 + + + + + + + + + + + + +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/include_Ext42_Js.jsp"%> +<%@ include file="/disinfectsystem/print/print.jsp"%> + + + + + + + + + +
+ + +
+ + Index: ssts-web/src/main/webapp/systemmanage/userExtView.js =================================================================== diff -u -r27770 -r27830 --- ssts-web/src/main/webapp/systemmanage/userExtView.js (.../userExtView.js) (revision 27770) +++ ssts-web/src/main/webapp/systemmanage/userExtView.js (.../userExtView.js) (revision 27830) @@ -325,7 +325,7 @@ method : 'POST' }), baseParams :{ - showDisableOrgUnit : true + showDisableOrgUnit : false }, reader : new Ext.data.JsonReader({ root : 'data' @@ -337,6 +337,7 @@ Ext.onReady(function(){ Ext.QuickTips.init(); + $Id("parm_s_status").value = 1; //********* 1、Tree *********** root = new Ext.tree.AsyncTreeNode({ text:'组织机构', @@ -345,7 +346,7 @@ listeners :{click: reloadGrid} }); - var myLoader = new Ext.tree.TreeLoader({dataUrl:WWWROOT+'/systemmanage/orgUnitTreeLoad.do'}); + var myLoader = new Ext.tree.TreeLoader({dataUrl:WWWROOT+'/systemmanage/orgUnitTreeLoad.do?showDisableOrgUnit=false'}); myLoader.on("beforeload", function(treeLoader, node){ treeLoader.baseParams.parentId = node.id; Index: ssts-web/src/main/webapp/systemmanage/userExtView.jsp =================================================================== diff -u -r25438 -r27830 --- ssts-web/src/main/webapp/systemmanage/userExtView.jsp (.../userExtView.jsp) (revision 25438) +++ ssts-web/src/main/webapp/systemmanage/userExtView.jsp (.../userExtView.jsp) (revision 27830) @@ -42,6 +42,7 @@
+
Index: ssts-web/src/main/webapp/systemmanage/orgUnitExtView.jsp =================================================================== diff -u -r24244 -r27830 --- ssts-web/src/main/webapp/systemmanage/orgUnitExtView.jsp (.../orgUnitExtView.jsp) (revision 24244) +++ ssts-web/src/main/webapp/systemmanage/orgUnitExtView.jsp (.../orgUnitExtView.jsp) (revision 27830) @@ -1,11 +1,11 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" %> -<%@ include file="/common/taglibs.jsp"%> - +<%@ include file="/common/taglibs.jsp"%> + - + 组织单位 - + @@ -31,6 +31,7 @@
+
Index: ssts-web/src/main/webapp/systemmanage/orgUnitExtView.js =================================================================== diff -u -r27770 -r27830 --- ssts-web/src/main/webapp/systemmanage/orgUnitExtView.js (.../orgUnitExtView.js) (revision 27770) +++ ssts-web/src/main/webapp/systemmanage/orgUnitExtView.js (.../orgUnitExtView.js) (revision 27830) @@ -42,7 +42,9 @@ var jsonObj = Ext.decode(response.responseText); if(jsonObj!=null && jsonObj.length!=0){ if(jsonObj.success){ - alert(isDisabled + '成功!'); + alert(isDisabled + '成功!'); + $Id("parm_s_status").value = 1; + root.reload(); grid.dwrReload(); }else{ alert(isDisabled + '失败!'); @@ -101,12 +103,10 @@ return; }else { var loop = setInterval(function() { - console.log(destinationOrgUnitKeyIdArray.hidden) if(destinationOrgUnitKeyIdArray.hidden) { clearInterval(loop); var returnValue = destinationOrgUnitKeyIdArray.returnValue || []; - console.log(returnValue) if(returnValue.length > 0){ var destinationOrgUnitKeyId = returnValue[0]; if(sourceOrgUnitKeyId==destinationOrgUnitKeyId){ @@ -259,15 +259,17 @@ var treePanel = viewport.findById('west-panel'); treePanel.expandPath(path); - //树没有打开所有之前打开的节点,只打开了最近的一个。 + //树没有打开所有之前打开的节点,只打开了最近的一个。 + $Id("parm_s_status").value = 1; grid.dwrReload(); } function reloadGrid(parentId){ if(typeof(parentId) == "undefined" || typeof(parentId) == "object" || null == parentId || parentId == "" ){ parentId = 0; } - $Id("parm_s_parentId").value = parentId; + $Id("parm_s_parentId").value = parentId; + $Id("parm_s_status").value = 1; grid.dwrReload(); } @@ -278,19 +280,23 @@ var path = '/0'; //组织机构Store var orgJsonStore = new Ext.data.Store({ - proxy : new Ext.data.HttpProxy({ - url : WWWROOT + '/systemmanage/getOrgNameBySpellingAndWB!getOrgNameBySpellingAndWB.do', - method : 'POST' - }), - reader : new Ext.data.JsonReader({ - root : 'data' - },[ - {name : 'name',mapping : 'name'} - ] - ) + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/systemmanage/getOrgNameBySpellingAndWB!getOrgNameBySpellingAndWB.do', + method : 'POST' + }), + baseParams :{ + showDisableOrgUnit : false + }, + reader : new Ext.data.JsonReader({ + root : 'data' + },[ + {name : 'name',mapping : 'name'} + ] + ) }); Ext.onReady(function(){ Ext.QuickTips.init(); + $Id("parm_s_status").value = 1; //********* 1、Tree *********** root = new Ext.tree.AsyncTreeNode({ @@ -300,12 +306,12 @@ listeners :{click: reloadGrid} }); - var myLoader = new Ext.tree.TreeLoader({dataUrl:WWWROOT + '/systemmanage/orgUnitTreeLoad.do'}); + var myLoader = new Ext.tree.TreeLoader({dataUrl:WWWROOT + '/systemmanage/orgUnitTreeLoad.do?showDisableOrgUnit=false'}); myLoader.on("beforeload", function(treeLoader, node){ - treeLoader.baseParams.parentId = node.id; + treeLoader.baseParams.parentId = node.id; treeLoader.baseParams.showDisableOrgUnit = true; - var nodePath = node.getPath(); + var nodePath = node.getPath(); if(nodePath != '/0'){ path = nodePath; } @@ -320,17 +326,9 @@ return "" + v + ""; } - function disableOrEnable(v, p, record) { - if (record.data.status === 0) { - return ""; - } else { - return ""; - } - } - function moveUpDown(v, p, record){ var html = ''; - html += '向上移动     '; + html += '向上移动'; html += ''; html += '向下移动'; return html; @@ -346,8 +344,7 @@ {header: "五笔码", width: 120, dataIndex: 'wbCode', sortable: false, menuDisabled: true}, {header: "数据来源", width: 100, dataIndex: 'source', sortable: false, menuDisabled: true}, //(陈家儒改) {header: "一次性物品价格浮动系数", width: 150, dataIndex: 'disposablePriceFluctuation', sortable: false, menuDisabled: true}, - {id : 'order',header: "排序操作", width: 150, dataIndex: 'id', renderer : moveUpDown, sortable: false, menuDisabled: true}, - {header: "是否已停用", width: 150, dataIndex: 'status', sortable: false, menuDisabled: true, renderer : disableOrEnable} + {id : 'order',header: "排序操作", width: 150, dataIndex: 'id', renderer : moveUpDown, sortable: false, menuDisabled: true} ]; @@ -362,8 +359,7 @@ {name: 'wbCode'}, {name: 'source'}, {name: 'disposablePriceFluctuation'}, - {name: 'subLeadName'}, - {name: 'status'} + {name: 'subLeadName'} ]; var filters = new Ext.grid.GridFilters({ @@ -438,28 +434,14 @@ MsgTip.msg('提示','未选择打印的内容!',true,3); } } - }, '-', { - text : '启用', - hidden : sstsConfig.SSTS_QualityMonitoring_Config, - iconCls : 'btn_ext_application_add', - handler : function() { - disableOrEnableDefinition("启用",grid); - } - }, '-', { + }, '-', { text : '停用', hidden : sstsConfig.SSTS_QualityMonitoring_Config, iconCls : 'btn_ext_application_add', handler : function() { disableOrEnableDefinition("停用",grid); } - }/*, '-', { - text:'删除没用的科室', - iconCls:'btn_remove', - hidden :false, - handler:function (){ - OrgUnitTableManager.deleteUnApplicationDepart(); - } - }*/]; + }]; var dwrCallParams = null; @@ -481,10 +463,11 @@ }, readerDetail, OrgUnitTableManager.findOrgUnitTableList, - dwrCallParams //这个参数只是占位作用 + dwrCallParams //这个参数只是占位作用 ); - var store = grid.getStore(); + var store = grid.getStore(); + store.on("beforeload", function(thiz, options) { Ext.getBody().mask("正在加载中,请稍候..."); }); Index: ssts-web/src/main/webapp/systemmanage/disabledOrgUnitExtView.js =================================================================== diff -u --- ssts-web/src/main/webapp/systemmanage/disabledOrgUnitExtView.js (revision 0) +++ ssts-web/src/main/webapp/systemmanage/disabledOrgUnitExtView.js (revision 27830) @@ -0,0 +1,465 @@ +//********* 按钮响应函数 *********** +function addOrgUnit(){ + var parentId = $Id('parm_s_parentId').value; + if(parentId.trim()==""){ + alert("请选择组织单位!"); + return false; + } + location.href=WWWROOT + "/systemmanage/orgUnitExt.jsp?parentId="+parentId+"&editMode=true"; +} + +function deleteOrgUnit(){ + var ids = grid.getSelectedValues('id', ';'); + if(ids==""){ + alert("请选择要删除的组织单位!"); + return false; + } + Ext.MessageBox.confirm("请确认","是否确定要删除选中的组织机构?",function(button, text){ + if("yes" == button){ + OrgUnitTableManager.deleteOrgUnitByKeyIds(ids, function(result){ + if(result){ + var jsonObj = Ext.decode(result); + if(jsonObj.success){ + reloadTreeAndTable(); + }else{ + showResult(jsonObj.message); + } + } + }); + } + }); +} +// 停用/启用科室 +function disableOrEnableDefinition (isDisabled,grid) { + var ids = grid.getSelectedValues('id', ';'); + Ext.Ajax.request({ + url: WWWROOT + '/systemmanage/disableOrEnableOrgUnit.do', + params: { + ids : ids, + isDisabled : isDisabled + }, + success: function(response ,options){ + var jsonObj = Ext.decode(response.responseText); + if(jsonObj!=null && jsonObj.length!=0){ + if(jsonObj.success){ + alert(isDisabled + '成功!'); + $Id("parm_s_status").value = 0; + root.reload(); + grid.dwrReload(); + }else{ + alert(isDisabled + '失败!'); + } + } + }, + failure: function(){ + alert(isDisabled + '失败!'); + } + }); +} + +function search(searchText){ + if(searchText!=null && searchText.length!=0){ + var treePanel = viewport.findById('west-panel'); + Ext.Ajax.request({ + url: WWWROOT + '/systemmanage/loadOrgUnitByName.do', + params: { name: searchText }, + success: function(response ,options){ + var jsonObj = Ext.decode(response.responseText); + if(jsonObj!=null && jsonObj.length!=0){ + if(jsonObj.success){ + treePanel.expandPath(jsonObj.data,'id',function(bSuccess, oLastNode){ + if(!bSuccess) return; + //focus 节点,并选中节点!,以下代码不可少 + oLastNode.on('click',function(node,event){ + reloadGrid(node.id); + }); + oLastNode.ensureVisible(); + oLastNode.select(); + oLastNode.fireEvent('click', oLastNode); + }); + }else{ + alert('没有找到相关的组织结构!'); + } + } + }, + failure: function(){ + alert('没有找到相关的组织结构!'); + } + }); + }else{ + alert('请输入组织机构名称!'); + } +} + +function moveUp(id){ + OrgUnitTableManager.moveUpOrgUnit(id, function(){reloadTreeAndTable();}); +} +function moveDown(id){ + OrgUnitTableManager.moveDownOrgUnit(id, function(){reloadTreeAndTable();}); +} + + +/** + * 处理设置自动同步用户后的事件 + * @param synWin 自动同步的窗口 + * @param checkTimeId 要检验的时间的组件id + */ +function handleSetAutoSyncOrgUnit(synWin, checkTimeId) { + var timeSet = Ext.getCmp(checkTimeId); + if (!timeSet.isValid()){ + return; + } + DataSynchronizationTableManager.autoSync(timeSet.getValue(), 'orgUnit', { + callback:function(data){ + showResult(data); + synWin.close(); + reloadTreeAndTable(); + }, + errorHandler:function(msg){ + showResult('设置主动同步科室发生异常'); + synWin.close(); + }, + timeout:240000//超时时间4分钟 + }); +} + +/** + * 自动同步用户 + */ +function autoSyncOrgUnit(){ + var buttons = [ + {text: "确定", handler: function () {handleSetAutoSyncOrgUnit(synWin, 'timeSet');}}, + {text: "取消", handler: function (obj) {synWin.close();}} + ]; + var synWin = new Ext.Window({ + title:"设置自动同步时间", + width: 400, + height: 120, + // plain: true, + modal: true, + layout: "form", + bodyStyle: "padding-top: 10px; padding-left:10px;", + items:[{ + xtype: "textfield", + id : 'timeSet', + regex: /^[1-9]\d*$/, + regexText: '请输入大于零的整数!', + fieldLabel : "时间(分)", + emptyText : "输入分钟....", + listeners: { + specialkey: function(field, e){ + if (e.getKey() === e.ENTER) { + handleSetAutoSyncOrgUnit(synWin, 'timeSet'); + } + } + } + }], + showLock:false, + buttons: buttons + }); + synWin.show(); +} + +function syncOrgUnit() { + Ext.MessageBox.confirm("请确认","是否确定要同步组织机构信息?",function(button, text){ + if("yes" == button){ + var mask = new Ext.LoadMask(Ext.getBody(), { + msg : "同步组织机构中...
由于数据量比较大,更新时间可能比较长,请耐心等待。
如超过4分钟,页面还没有响应,请手动刷新页面!" + }); + mask.show(); + DataSynchronizationTableManager.syncOrgUnit({ + callback:function(data){ + if (data == 'success') { + showResult("同步成功"); + reloadTreeAndTable(); + } else if (data == 'error') { + showResult("同步失败"); + } else { + showResult(data); + } + mask.hide(); + }, + errorHandler:function(msg){ + mask.hide(); + }, + timeout:240000//超时时间4分钟 + }); + + //执行一次的定时器 + setTimeout(function(){ + showResult("同步失败"); + mask.hide(); + reloadTreeAndTable(); + },240000);//超时时间4分钟 + } + }); +} + +function syncOrgUnitAndUser() { + Ext.MessageBox.confirm("请确认","是否确定要同步组织机构与用户信息?",function(button, text){ + if("yes" == button){ + var mask = new Ext.LoadMask(Ext.getBody(), { + msg : "同步组织机构中...
由于数据量比较大,更新时间可能比较长,请耐心等待。
如超过4分钟,页面还没有响应,请手动刷新页面!" + }); + mask.show(); + //超时时间4分钟 + var timeoutMillionSeconds = 240 * 1000; + DataSynchronizationTableManager.syncOrgUnitAndUser({ + callback:function(success){ + result = success; + if (success) { + showResult("同步成功"); + reloadTreeAndTable(); + } else { + showResult("同步失败"); + } + mask.hide(); + }, + errorHandler:function(msg){ + showResult("服务器正在处理中,请稍后刷新页面查看结果!"); + mask.hide(); + }, + timeout:timeoutMillionSeconds //超时时间4分钟 + }); + } + }); +} + +function reloadTreeAndTable(){ + root.reload(); + + var treePanel = viewport.findById('west-panel'); + treePanel.expandPath(path); + //树没有打开所有之前打开的节点,只打开了最近的一个。 + $Id("parm_s_status").value = 0; + grid.dwrReload(); +} + +function reloadGrid(parentId){ + if(typeof(parentId) == "undefined" || typeof(parentId) == "object" || null == parentId || parentId == "" ){ + parentId = 0; + } + $Id("parm_s_parentId").value = parentId; + $Id("parm_s_status").value = 0; + grid.dwrReload(); +} + +var entityName = "组织机构"; +var viewport; +var root; +var grid; +var path = '/0'; +//组织机构Store +var orgJsonStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/systemmanage/getOrgNameBySpellingAndWB!getOrgNameBySpellingAndWB.do', + method : 'POST' + }), + baseParams :{ + onlyShowDisableOrgUnit:true + }, + reader : new Ext.data.JsonReader({ + root : 'data' + },[ + {name : 'name',mapping : 'name'} + ] + ) +}); +Ext.onReady(function(){ + Ext.QuickTips.init(); + +//********* 1、Tree *********** + root = new Ext.tree.AsyncTreeNode({ + text:'组织机构', + id:'0', + draggable:false, //这棵树不可以拖动默认也是false + listeners :{click: reloadGrid} + }); + + var myLoader = new Ext.tree.TreeLoader({dataUrl:WWWROOT + '/systemmanage/orgUnitTreeLoad.do?onlyShowDisableOrgUnit=true'}); + + myLoader.on("beforeload", function(treeLoader, node){ + treeLoader.baseParams.parentId = node.id; + treeLoader.baseParams.showDisableOrgUnit = true; + var nodePath = node.getPath(); + if(nodePath != '/0'){ + path = nodePath; + } + }); + +//********* 2、布局 *********** + + +//********* 2、ForgonGrid *********** + function gotoPage(v, p, record){ + ///systemmanage/orgUnit.mhtml?id=54 + return "" + v + ""; + } + + function moveUpDown(v, p, record){ + var html = ''; + html += '向上移动'; + html += ''; + html += '向下移动'; + return html; + } + + var columns = [ + {id:'operationDescription', header: "名称", width: 150, dataIndex: 'name', renderer : gotoPage, sortable: false}, + {id :'barcode',header : '条码',width: 120, dataIndex: 'barcode', sortable: false}, + {header: "部门编码", width: 120, dataIndex: 'orgUnitCoding', sortable: false, menuDisabled: true}, + {header: "负责人", width: 120, dataIndex: 'principal', sortable: false, menuDisabled: true}, + {header: "分管领导", width: 120, dataIndex: 'subLeadName', sortable: false, menuDisabled: true}, + {header: "拼音码", width: 120, dataIndex: 'spelling', sortable: false, menuDisabled: true}, + {header: "五笔码", width: 120, dataIndex: 'wbCode', sortable: false, menuDisabled: true}, + {header: "数据来源", width: 100, dataIndex: 'source', sortable: false, menuDisabled: true}, //(陈家儒改) + {header: "一次性物品价格浮动系数", width: 150, dataIndex: 'disposablePriceFluctuation', sortable: false, menuDisabled: true}, + {id : 'order',header: "排序操作", width: 150, dataIndex: 'id', renderer : moveUpDown, sortable: false, menuDisabled: true} + ]; + + + var readerDetail = [ + {name: 'id'}, + {name: 'parentId'}, + {name: 'name'}, + {name: 'barcode'}, + {name: 'orgUnitCoding'}, + {name: 'principal'}, + {name: 'spelling'}, + {name: 'wbCode'}, + {name: 'source'}, + {name: 'disposablePriceFluctuation'}, + {name: 'subLeadName'} + ]; + + var filters = new Ext.grid.GridFilters({ + filters:[ + {type: 'string', dataIndex: 'name'} + ]}); + + var tbar= [{ + text : '启用', + hidden : sstsConfig.SSTS_QualityMonitoring_Config, + iconCls : 'btn_ext_application_add', + handler : function() { + disableOrEnableDefinition("启用",grid); + } + }]; + + var dwrCallParams = null; + + //所有grid之外的参数用这个方法传入,返回的是Map> + Ext.ux.ForgonPageGrid.prototype.getGridParameterMap = function(){}; + + grid = new Ext.ux.ForgonPageGrid({ + tbar:tbar, + pageSize:30, + defaultSortField:'parent.id , sequenceNumber', + defaultSortDirection:'ASC', + isCheckboxSelectionModel:true, + plugins: filters, + columns: columns, + autoExpandColumn: 'order', + searchDisableIndexes:['id','barcode'], + rememberSelected:false, + frame:true + }, + readerDetail, + OrgUnitTableManager.findOrgUnitTableList, + dwrCallParams //这个参数只是占位作用 + ); + + var store = grid.getStore(); + store.on("beforeload", function(thiz, options) { + Ext.getBody().mask("正在加载中,请稍候..."); + }); + + store.on("load", function(thiz, options) { + Ext.getBody().unmask(); + }); + + viewport = new Ext.Viewport({ + layout:'border', + items:[{ //西面的树 + region:'west', + id:'west-panel', + lines : false, + margins : '0 0 5 5', + cmargins : '0 0 0 0', + layout : 'accordion', + layoutConfig : { + animate : true + }, + collapsible: true, //允许折叠 + animCollapse:true, //折叠时是否有动画效果 + split: true, //是否允许拖动大小,与下面的折叠形式配合 + collapseMode:'mini', //折叠形式 + width: 200, + minSize : 100, + maxSize : 400, + xtype: 'treepanel', + loader: myLoader, //数据加载 + autoScroll: true, + root: root, + tbar:[ + new Ext.Action({ + text: '展开', + handler: function(){ + var treePanel = viewport.findById('west-panel'); + treePanel.expandAll(); + } + }),'-', + new Ext.Action({ + text: '折叠', + handler: function(){ + var treePanel = viewport.findById('west-panel'); + treePanel.collapseAll(); + } + }),'-', + { + xtype : 'combo', + id : 'searchField', + name : 'searchField', + queryParam : 'spell', + minChars : 0, + emptyText:'输入组织机构名称查询', + hideLabel :true, + valueField : 'id', + displayField : 'name', + store : orgJsonStore, + forceSelection : true, + lazyInit : true, + width:60, + listWidth:200, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true, + anchor : '100%', + listeners:{ + select:function(combo, record, index){ + Ext.getCmp('searchField').setValue(record.data.name); + search(record.data.name); + } + } + },{ + text:'查询', + handler:function(){ + var searchText = Ext.getCmp('searchField').getValue(); + search(searchText); + } + } + ] + },{ //中间的数据表格 + region:'center', + xtype : 'panel', + margins : '0 0 0 0', +// autoScroll:true, + layout:'fit', + items:grid + }] + }); +//********* 4、完成 *********** + root.expand(false, /*no anim*/ false); + +}); \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r27601 -r27830 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 27601) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 27830) @@ -869,7 +869,8 @@ hidden :System_Manage_Menu, children:[ {hidden :System_Orgunit_Select,text:"组织机构",href:WWWROOT+'/systemmanage/orgUnitExtView.jsp',hrefTarget:linkTarget,leaf:true,icon:WWWROOT+'/images/icon_org.gif'}, - {hidden :System_User_Select,text:"用户管理",href:WWWROOT+'/systemmanage/userExtView.jsp',hrefTarget:linkTarget,leaf:true,icon:WWWROOT+'/images/icon_user.gif'}, + {hidden :System_Orgunit_Select,text:"停用的组织机构",href:WWWROOT+'/systemmanage/disabledOrgUnitExtView.jsp',hrefTarget:linkTarget,leaf:true,icon:WWWROOT+'/images/icon_org.gif'}, + {hidden :System_User_Select,text:"用户管理",href:WWWROOT+'/systemmanage/userExtView.jsp',hrefTarget:linkTarget,leaf:true,icon:WWWROOT+'/images/icon_user.gif'}, {hidden :System_Role_Select,text:"权限管理",href:WWWROOT+'/systemmanage/roleList.jsp',hrefTarget:linkTarget,leaf:true,icon:WWWROOT+'/images/icon_role.gif'}, {hidden :System_Log_Menu,text:"日志管理",href:WWWROOT+'/log/loggrid.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :System_DBManage,text:"初始化演示数据",href:WWWROOT+'/systemmanage/initData.jsp',hrefTarget:linkTarget,leaf:true},