Index: ssts-web/src/main/webapp/homepage/portalPage.js =================================================================== diff -u -r26943 -r27159 --- ssts-web/src/main/webapp/homepage/portalPage.js (.../portalPage.js) (revision 26943) +++ ssts-web/src/main/webapp/homepage/portalPage.js (.../portalPage.js) (revision 27159) @@ -4,6 +4,8 @@ var comboToussePackingMenu ; var reviewPackingMenu ; var sterilizationRecordMenu ; +//使用记录鼠标移入的菜单 +var useRecordMenu ; //用来判断Ext4.onReady执行完没有(selenium自动测试需要用到这个变量,请不要删除) var windowOnLoaded = false; var tabs; //tabPanel @@ -239,7 +241,10 @@ }else{ setTimeout(function(){ if(objId!= 'packing' && objId != 'reviewPacking' && objId != 'sterilizationRecord'){ + //如果li的图标为使用记录且同时拥有病人使用记录与科室记录两个权限时,点击该图标不会有任何效果 + if(!(objId == 'useRecord' && hasTwoUseRecordOperation)){ addTab(objId, scrObj.getAttribute("title"), scrObj.getAttribute("href")); + } } }, 1); //延迟1毫秒 } @@ -277,7 +282,10 @@ var comboToussePackingImg = getById('comboToussePackingImg'); var reviewPackingImg = getById('reviewPackingImg'); var sterilizationRecordImg = getById('sterilizationRecordImg'); - if(packingImg || comboToussePackingImg || reviewPackingImg || sterilizationRecordImg){ + var useRecordImg = getById('useRecordImg'); + + if((packingImg || comboToussePackingImg || reviewPackingImg || sterilizationRecordImg) + || (useRecordImg && hasTwoUseRecordOperation)){ DWREngine.setAsync(false); PackingTableManager.getAllTaskGroup(setTaskGroup); DWREngine.setAsync(true); @@ -321,6 +329,33 @@ } addTab('sterilizationRecord',item.text+'灭菌',encodeURI('/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.jsp?editMode=true&type=today&ownGroup='+item.text)); }); + + if (useRecordImg && hasTwoUseRecordOperation){ + //使用记录 + useRecordMenu = new Ext4.menu.Menu({ + floating: true + }); + + useRecordMenu.add({ + text : '病人使用记录', + url : '/disinfectsystem/useRecord/useRecordView.jsp' + }); + + useRecordMenu.add({ + text : '科室使用记录', + url : '/disinfectsystem/useRecord/useRecordView.jsp?departmentUseRecord=true' + }); + useRecordImg.on('mouseenter', function(e) { + useRecordMenu.showAt(e.getXY()); + }); + + useRecordMenu.on('click',function(menu,item,e){ + if(isUndefinedOrNull(item)){ + return; + } + addTab('useRecord',item.text,item.url); + }); + } } //满意度调查数字提醒 var satisfactionSurveyTableObj = document.getElementById('satisfactionSurveyTable'); @@ -694,6 +729,7 @@ }; addTabJquery(itemId, subtitle, url); } + /** * 判断此桌面图标是否不在config.js配置的白名单之内(不在则返回true,否则返回false). * @param itemId 桌面图标的id @@ -806,6 +842,7 @@ function parsePortItem(portalPage,item){ var returnContent = ""; if(portalPage && item){ + //图标文件路径 var itemUrl = ""; var url = item['imgUrl']; if(isIE6){ @@ -855,7 +892,7 @@ return returnContent; } - if(itemId != 'packing' && itemId != 'reviewPacking' && itemId !='sterilizationRecord'){ + if(itemId != 'packing' && itemId != 'reviewPacking' && itemId !='sterilizationRecord'){ //region 只有临床用户且配了版本2或者3才能看到科室申领版本2或者3的图标还有申请单图标 //如果当前图标是科室申领的时候,如果该用户是临床科室且配了版本2或者3,隐藏该图标 if (itemId == 'recyclingApplication' && globalIsSupplyRoomUser == 'false' && (sstsConfig.recyclingApplicationVersion == 2 || sstsConfig.recyclingApplicationVersion == 3)){ @@ -912,22 +949,44 @@ } } - - var supplyRoomRecall = false; + //如果当前桌面图标元素为召回时 if(itemId == "recallRecord"){ if(SSTS_RecallRecord_Menu == false){ - supplyRoomRecall = true; + returnContent += '
  • '; + returnContent += '

    '; + returnContent += ''+item['title']+'
  • '; + }else{//临床科室查看召回记录界面 + returnContent += '
  • '; + returnContent += '

    '; + returnContent += ''+item['title']+'
  • '; } + return returnContent; } - if(supplyRoomRecall){//供应室召回管理界面 - returnContent += '
  • '; + if(itemId == 'useRecord'){ + var itemTitle = item['title']; + //如果为使用记录时,只有一个使用记录权限(要么是病人使用记录、要么是科室使用记录) + if(hasTwoUseRecordOperation){ + returnContent += '
  • '; + returnContent += '

    '; + returnContent += ''+ itemTitle +'
  • '; + return returnContent; + } + var itemLinkUrl = item['itemLinkUrl']; + if(!SSTS_UseRecord_Menu){ + itemTitle = "病人使用记录"; + }else if(!SSTS_DepartmentUseRecord_Menu){ + itemTitle = "科室使用记录"; + itemLinkUrl = "/disinfectsystem/useRecord/useRecordView.jsp?departmentUseRecord=true"; + } + returnContent += '
  • '; returnContent += '

    '; - returnContent += ''+item['title']+'
  • '; - }else{//临床科室查看召回记录界面 - returnContent += '
  • '; - returnContent += '

    '; - returnContent += ''+item['title']+'
  • '; + returnContent += ''+ itemTitle +''; + return returnContent; } + //其它图标(除上面提到的科室申领、外来器械包申请、培训管理、灭菌员发货、外部代理灭菌、设备维护、召回、使用记录) + returnContent += '
  • '; + returnContent += '

    '; + returnContent += ''+item['title']+'
  • '; }else{ returnContent += '
  • '; returnContent += '

    '; @@ -938,8 +997,8 @@ } /** - * 解析portalPage.xml配置全部个人桌面功能图标. - * @param jsonObj + * 解析portalPage.xml配置当前用户有权限的个人桌面功能图标. + * @param jsonObj 格式如:[{"type":"4","system":"1","title":"系统告警","itemId":"systemWarning","imgUrl:"/themes/portalPage/img/systemWarning.png","itemLinkUrl":""},{...}] * @returns {String} */ function parsePortal(jsonObj){ Index: ssts-web/src/main/webapp/homepage/portalPage.jsp =================================================================== diff -u -r26942 -r27159 --- ssts-web/src/main/webapp/homepage/portalPage.jsp (.../portalPage.jsp) (revision 26942) +++ ssts-web/src/main/webapp/homepage/portalPage.jsp (.../portalPage.jsp) (revision 27159) @@ -14,7 +14,8 @@ <% PortalPageAction portalPageAction = (PortalPageAction)SpringBeanManger.getBean("portalPageAction"); SupplyRoomConfigManager supplyRoomConfigManager = (SupplyRoomConfigManager)SpringBeanManger.getBean("supplyRoomConfigManager"); - + + //该用户有权限的桌面图标 String allSortPortalListData = portalPageAction.getCurrentUserCustomizeSortPortalPageJsons(); request.setAttribute("allSortPortalListData",allSortPortalListData); LoginUserData userData = (LoginUserData)session.getAttribute("loginUserData"); @@ -226,7 +227,7 @@ var dirOrgCode = '<%=request.getAttribute("departCoding")%>'; var currentDepartCode = '<%=userData.getCurrentOrgUnitCode()%>'; //用户的当前科室编码 var currentOrgUnitIsFirstSupplyRoom = <%=userData.getFirstSupplyRoomUser()%>; //当前登录的科室是否为一级供应室 - +//该用户有权限的桌面图标 var jsonObj = eval('('+'${allSortPortalListData}'+')'); var hasOpenedTitleCodeArr = new Array();//已打开的tab标签 code(除个人桌面外) var previousOpenedTitleCode = '';//上一个打开的tab标签code @@ -241,7 +242,6 @@ */ var currentActiveTabTitle = ""; var showOrHide = false; -var recyclingWindow = null; var ENABLE_SPEECH_RECOGNITION = ${ENABLE_SPEECH_RECOGNITION}; var cp = new Ext.state.CookieProvider(); cp.clear('jobType_review_name'); @@ -391,6 +391,29 @@ PortalDWRManager.activateSession(); } +/** + * 《使用记录》菜单(启用科室使用记录配置项,该菜单名为病人使用记录) + */ +var SSTS_UseRecord_Menu = true; + + if (!sstsConfig.disableUseRecord && !notInWhiteList(sstsConfig, 'useRecord')) { + SSTS_UseRecord_Menu = false; + } + + +/** + * 《科室使用记录》菜单 + */ +var SSTS_DepartmentUseRecord_Menu = true; +if(!sstsConfig.disableUseRecord && !notInWhiteList(sstsConfig, 'useRecord') && sstsConfig.enableDepartmentUseRecord){ + + SSTS_DepartmentUseRecord_Menu = false; + +} + +//是否拥有两个使用记录权限 +var hasTwoUseRecordOperation = + !SSTS_UseRecord_Menu && !SSTS_DepartmentUseRecord_Menu; Index: ssts-web/src/main/resources/systemset/portalPage.xml =================================================================== diff -u -r26923 -r27159 --- ssts-web/src/main/resources/systemset/portalPage.xml (.../portalPage.xml) (revision 26923) +++ ssts-web/src/main/resources/systemset/portalPage.xml (.../portalPage.xml) (revision 27159) @@ -32,7 +32,7 @@ - +