var HrssErrorConst={ ErrorParameters:{ ErrorLevelParameter : "$nc.bs.hrss.error.ErrorLevel",//传递给客户端的错误等级参数,决定用什么图标来显示 ErrorDescParameter : "$nc.bs.hrss.error.ErrorDesc",//传递给客户端的错误描述内容 ErrorCodeParameter : "$nc.bs.hrss.error.ErrorCode",//传递给客户端的错误码 ConfigParameter : "$nc.bs.hrss.error.Config"//传递给客户端的错误展现配置 }, ErrorConfig:{ ERR_CONFIG_SUBWIN : "$nc.bs.hrss.error.SubWindow",//客户端用 SubWindow 形式展现错误信息 ERR_CONFIG_HINT : "$nc.bs.hrss.error.Hint"//客户端用 Hint 形式展现错误信息 }, ErrorBookPage:"/error/error-book.jsp?errorcode=:errorcode", DefaultSingleErrorCode:"TEST_ERR_LEVEL_ERROR" } function showError( command ){ var outParameters = command.outParameters(); var level = outParameters.getValue(HrssErrorConst.ErrorParameters.ErrorLevelParameter); var desc = outParameters.getValue(HrssErrorConst.ErrorParameters.ErrorDescParameter); var code = outParameters.getValue(HrssErrorConst.ErrorParameters.ErrorCodeParameter); var config = outParameters.getValue(HrssErrorConst.ErrorParameters.ConfigParameter); if(!config){ return false; } switch(config){ case HrssErrorConst.ErrorConfig.ERR_CONFIG_SUBWIN: showErrorMessageWindow(code,level, desc); break; case HrssErrorConst.ErrorConfig.ERR_CONFIG_HINT: alert(HrssErrorConst.ErrorConfig.ERR_CONFIG_HINT); break; default: alert("非法的错误展示类型:"+config); break; } return true; } function showErrorMessageWindow(errCode,level, bodyHtml){ subwindowError.show(true,true); var eTitleElement = document.getElementById("subwindowError_title"); var eBodyElement = document.getElementById("subwindowError_body"); var eLinkElement = document.getElementById("subwindowError_link"); var picPath = getErrPicPath(level); eTitleElement.innerHTML = errCode; eTitleElement.style.backgroundImage ="url("+picPath+")"; eBodyElement.innerHTML = bodyHtml; var eLinkHTML = " 请参见错误指南"; eLinkHTML = eLinkHTML.replace(/:href/gi, __CONTEXT_PATH+HrssErrorConst.ErrorBookPage); eLinkHTML = eLinkHTML.replace(/:errorcode/gi, errCode); eLinkElement.innerHTML = eLinkHTML; } function getErrPicPath(level){ return __CONTEXT_PATH+"/images/err_"+level+".gif"; } function getHrssTopWindow(){ var hrssTopWindow = window; while(hrssTopWindow && !hrssTopWindow.isHrssTopWindow){ hrssTopWindow = hrssTopWindow.parent; } return hrssTopWindow; } function goSingleErrorPage(errCode){ window.setTimeout( function(){ var errorPageUrl = __CONTEXT_PATH+"/error/single-error-page.jsp?errorcode=:errorcode"; errorPageUrl = errorPageUrl.replace(/:errorcode/gi, errCode || HrssErrorConst.DefaultSingleErrorCode); var errorPageName = "SingleErrorPage"; var errorFeatures = "height=300,width=300,menubar=no,status=no,titlebar=no"; window.open(errorPageUrl,errorPageName,errorFeatures,true); },0); } /** * 显示非致命错误,如果存在设置按钮状态则设置按钮状态 */ function showHintMessage(){ var props = getViewModel().properties(); var hint = props.getValue("_alertHint") if(hint){ alert(hint); props.removeParameter("_alertHint"); var state = props.getValue("_errorBtnState"); if(state && stateChanged){ props.removeParameter("_errorBtnState"); stateChanged(state,true); } } }