(function($){
_rxPage=function(settings){
var g=this,defaultOpts={
title:'',
target:'body',
isLeftFrame:false,
leftFrameWidth:200,
showNavBar:false,
action:'append'};
var opts=$.extend(defaultOpts,settings);
g.settings=opts;
g.title=null;
g.target='body';
g.frame=null;
g.navBar=null;
g.workFlowArea=null;
g.workFlowObj=null;
g.operBar=null;
g.inputBars=[];
g.inputBar={};
g.inputBar.inputArea=[];
g.tipsBar=[];
g.shrinkBar=[];
g.gridArea=[];
g.divArea=[];
g.frame=g.buildFrame();
if(opts.title==''){g.title=document.title;}else{g.title=opts.title;}
if(g.settings.showNavBar){
g.navBar=g.buildNavigationBar();}
g.onResize();
$(window).resize(function(){
g.onResize();});
return g;};
_rxPage.prototype.targetAutoHeight=function(frameObj){
var g=this,p=this.settings;
var winWidth=$(window).width(),winHeight=$(window).height();
if(winWidth==0&&winHeight==0){
try{
if(frameElement){
winWidth=frameElement.clientWidth;
winHeight=Math.min(frameElement.contentWindow.window.document.documentElement.scrollHeight,frameElement.contentWindow.window.document.body.scrollHeight);}}
catch(e){
winWidth=$(document).width();
winHeight=$(document).height();}}
var _frameH=winHeight-frameObj.topFrame.height();
if(frameObj.leftFrame){
var _leftWidth=frameObj.leftFrame.width()+frameObj.dropHandle.width();
frameObj.leftFrame.height(_frameH);
frameObj.dropHandle.css({left:frameObj.leftFrame.width(),height:_frameH});
frameObj.centerFrame.css({left:_leftWidth,width:winWidth-_leftWidth});}
frameObj.centerFrame.height(_frameH);
$(window).trigger("resize.grid");};
_rxPage.prototype.insertToTarget=function(action,target,insertObj){
if(typeof target=="string"){
target=$(target);}
switch(action){
case 'append':target.append(insertObj);break;
case 'after':target.after(insertObj);break;
case 'before':target.before(insertObj);break;
case 'prepend':target.prepend(insertObj);break;
default:break;}}
_rxPage.prototype.buildFrame=function(){
var g=this,p=this.settings;
if(typeof p.target=='string'){
p.target=$(p.target);}
var _frame=p.target;
_frame.topFrame=$("
");
_frame.append(_frame.topFrame);
_frame.leftFrame=null;
_frame.dropHandle=null;
if(p.isLeftFrame){
_frame.leftFrame=$("");
_frame.leftFrame.width(p.leftFrameWidth);
_frame.append(_frame.leftFrame);
_frame.dropHandle=$("");
_frame.dropHandle.resizeHand=$('.p-drop-handle-resize-hand',_frame.dropHandle);
_frame.dropHandle.resizeHand.toggle(
function(){
_frame.leftFrame.css({width:0,overflow:'hidden'});
g.targetAutoHeight(_frame);},
function(){
_frame.leftFrame.css({width:p.leftFrameWidth,overflow:'auto'});
g.targetAutoHeight(_frame);});
_frame.append(_frame.dropHandle);}
_frame.centerFrame=$("");
_frame.append(_frame.centerFrame);
return _frame;};
_rxPage.prototype.buildNavigationBar=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{
id:'navBar',
helpText:'帮助',
helpLink:'../../rxDeskTop/csp/rxDeskTop.dll?page=SYS10AA&pcmd=init&apSite='+dllName+'&pageCode='+page,
helpWinH:600,
helpWinW:800,
helpClick:function(link,winH,winW){
fnOpenDialog({
url:link,
height:winH,
width:winW});},
suggestText:'建议',
suggestLink:'../../rxDeskTop/csp/rxDeskTop.dll?page=SYS09AA&pcmd=init&apSite='+dllName+'&pageCode='+page,
suggestWinH:600,
suggestWinW:800,
suggestClick:function(link,winH,winW){
fnOpenDialog({
title:"填写建议",
url:link,
height:winH,
width:winW,
winLevel:-1,
modal:false,
isCoverTaskbar:false});}},options);
if(g.frame){
options.target=g.frame.topFrame;}
var navBar=$("");
navBar.id=options.id;
navBar.attr("id",options.id);
navBar.mappingPath=$(".p-mapping-path span",navBar);
navBar.feedback=$(".p-feedback",navBar);
$("a",navBar.feedback).eq(0).click(function(){
options.helpClick(options.helpLink,options.helpWinH,options.helpWinW);});
$("a",navBar.feedback).eq(1).click(function(){
options.suggestClick(options.suggestLink,options.suggestWinH,options.suggestWinW);});
g.insertToTarget(options.action,options.target,navBar);
var svrindex=deskTop_svr.lastIndexOf("/")+1;
if(svrindex!=deskTop_svr.length){
deskTop_svr=deskTop_svr+"/";}
var url=deskTop_svr+"rxDeskTop/csp/rxDeskTop.dll?page=Common&pcmd=MappingPath&m_id="+m_id+"&mn_id="+mn_id+"&format=json&jsoncallback=?";
$.getJSON(url,callback);
function callback(mapping){
navBar.mappingPath.html(mapping.path);}
return navBar;};
_rxPage.prototype.buildWorkFlowArea=function(options,callback){
var g=this,p=this.settings;
options=$.extend({},p,{id:'workFlowArea',btnHolder:'',titleHolder:'',wfListHolder:''},options);
if(g.frame){
options.target=g.frame.centerFrame;}
var _operBar=g.buildOperatorBar({isLeft:true,isRight:false,leftTitle:'流程处理:'});
var workFlowArea=$("");
workFlowArea.id=options.id;
workFlowArea.attr("id",options.id);
g.insertToTarget(options.action,options.target,workFlowArea);
var _shrinkBar=g.buildShrinkBar({tips:'资料',title:'审核列表',cTarget:workFlowArea});
options.btnHolder=_operBar.left.btns.btnArea;
options.titleHolder=_shrinkBar.center.content;
options.wfListHolder=workFlowArea;
function callbackprocess(type,isShow){
if(type==0){
if(!isShow){
_shrinkBar.hide();
workFlowArea.hide();}}
else if(type==1){
if(!isShow){
_operBar.hide();}}
if($.isFunction(callback)){
callback();}}
g.workFlowObj=rxWorkFlow(options,callbackprocess);
return workFlowArea;};
_rxPage.prototype.buildOperatorBar=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{
id:'operBar',
operBtns:[],
leftTitle:'',
btnArea:'btnArea',
titleArea:'titleArea',
isLeft:true,
isRight:false,
isCtips:false,
isHistory:false,
historyText:'历史记录',
historyLink:'#',
historyWinH:600,
historyWinW:800,
historyClick:function(link,winH,winW){
fnOpenDialog({
url:link,
height:winH,
width:winW});}},options);
if(g.frame){
options.target=g.frame.centerFrame;}
var operBar=$("");
operBar.id=options.id;
operBar.attr("id",options.id);
if(options.isLeft){
operBar.left=$("");
if(options.leftTitle!=''){
operBar.left.title=$(""+options.leftTitle+"
");}
else{
operBar.left.title=$("");
operBar.left.title.titleArea=$("");
operBar.left.title.titleArea.attr("id",options.titleArea);
operBar.left.title.append(operBar.left.title.titleArea);}
operBar.left.append(operBar.left.title);
operBar.left.btns=$("");
operBar.left.btns.btnArea=$("");
operBar.left.btns.btnArea.attr("id",options.btnArea);
operBar.left.btns.append(operBar.left.btns.btnArea);
operBar.left.append(operBar.left.btns);
operBar.append(operBar.left);}
if(options.isRight){
operBar.right=$("");
if(options.isCtips){
operBar.right.cTips=$("");
operBar.right.cTips.mod=$("");
operBar.right.cTips.add=$("");
operBar.right.cTips.del=$("");
operBar.right.cTips.append(operBar.right.cTips.add);
operBar.right.cTips.append(operBar.right.cTips.mod);
operBar.right.cTips.append(operBar.right.cTips.del);
operBar.right.append(operBar.right.cTips);}
if(options.isHistory){
operBar.right.history=$("");
operBar.right.append(operBar.right.history);
operBar.right.history.find("a").click(function(){
options.historyClick(options.historyLink,options.historyWinH,options.historyWinW);});}
operBar.append(operBar.right);}
g.insertToTarget(options.action,options.target,operBar);
operBar.btns=[];
operBar.addBtns=function(arr){
if(!$.isArray(arr)){
return false;}
for(var i=0,len=arr.length;i0){
operBar.addBtns(options.operBtns);}
return operBar;};
_rxPage.prototype.buildInputBar=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{
id:false,
inputArea:false},options);
if(g.frame){
options.target=g.frame.centerFrame;}
if(!options.id){
options.id='inputBar'+(g.inputBars.length+1);}
if(!options.inputArea){
options.inputArea='inputArea'+(g.inputBar.inputArea.length+1);}
var inputBar=$("");
inputBar.id=options.id;
inputBar.attr("id",options.id);
if(typeof options.inputArea=='string'){
var inputAreaHolder=$("");
inputAreaHolder.attr("id",options.inputArea);
g.inputBar.inputArea.push(inputAreaHolder);
inputBar.append(inputAreaHolder);}
else{
for(var i=0;i");
inputAreaHolder.attr("id",options.inputArea[i]);
if(i>0)inputAreaHolder.css({"clear":"both"});
g.inputBar.inputArea.push(inputAreaHolder);
inputBar.append(inputAreaHolder);}}
g.insertToTarget(options.action,options.target,inputBar);
g.inputBars.push(inputBar);
return inputBar;};
_rxPage.prototype.buildTipsBar=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{
id:false,
content:''},options);
if(g.frame){
options.target=g.frame.centerFrame;}
if(!options.id){
options.id='tipsBar'+(g.tipsBar.length+1);}
var tipsBar=$("");
tipsBar.id=options.id;
tipsBar.attr("id",options.id);
tipsBar.content=$(".p-tips-content",tipsBar);
tipsBar.content.html(options.content);
g.insertToTarget(options.action,options.target,tipsBar);
g.tipsBar.push(tipsBar);
return tipsBar;};
_rxPage.prototype.buildShrinkBar=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{
id:false,
tips:'详细资料',
title:'数据详细列表',
operBtns:[],
centerTitle:'',
rightTitle:'',
isHidden:false,
cTarget:'',
width:null},options);
if(g.frame){
options.target=g.frame.centerFrame;}
if(!options.id){
options.id='shrinkBar'+(g.shrinkBar.length+1);}
var hideTips='隐藏'+options.tips;
var showTips='显示'+options.tips;
var shrinkBar=$("");
shrinkBar.id=options.id;
shrinkBar.attr("id",options.id);
shrinkBar.left=$("");
shrinkBar.left.img=$(".p-shrink-img",shrinkBar.left);
shrinkBar.left.title=$(".p-shrink-title",shrinkBar.left);
shrinkBar.left.btnArea=$(".p-shrink-btnArea",shrinkBar.left);
shrinkBar.btns=[];
shrinkBar.addBtns=function(arr){
if(!$.isArray(arr)){
return false;}
for(var i=0,len=arr.length;i0){
shrinkBar.addBtns(options.operBtns);
shrinkBar.css({'height':'28px'});
shrinkBar.left.css({'height':'28px'});
shrinkBar.left.img.css({'top':'5px'});
shrinkBar.left.title.css({'height':'28px','line-height':'28px'});}
shrinkBar.center=$("");
shrinkBar.center.content=$(".p-center-content",shrinkBar.center);
shrinkBar.right=$("");
shrinkBar.right.content=$(".p-right-content",shrinkBar.right);
if(options.width){
shrinkBar.left.width(options.width[0]);
shrinkBar.center.width(options.width[1]);
shrinkBar.right.width(options.width[2]);}
shrinkBar.append(shrinkBar.left);
shrinkBar.append(shrinkBar.center);
shrinkBar.append(shrinkBar.right);
if(typeof options.cTarget=="string"){
options.cTarget=$(options.cTarget);}
var _showFunc=function(){
$(this).removeClass("p-shrink-img-down");
$(this).attr("title",hideTips);
options.cTarget.show();
$(window).trigger("resize.grid");}
var _hideFunc=function(obj){
$(this).addClass("p-shrink-img-down");
$(this).attr("title",showTips);
options.cTarget.hide();
$(window).trigger("resize.grid");}
if(options.isHidden){
shrinkBar.left.img.toggle(_showFunc,_hideFunc);
$(options.cTarget).hide();}
else{
shrinkBar.left.img.toggle(_hideFunc,_showFunc);
options.cTarget.show();}
if(options.cTarget.length>0){
options.action="before";
options.target=options.cTarget;}
g.insertToTarget(options.action,options.target,shrinkBar);
g.shrinkBar.push(shrinkBar);
return shrinkBar;};
_rxPage.prototype.buildGridArea=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{id:false},options);
if(g.frame){
options.target=g.frame.centerFrame;}
if(!options.id){
options.id='gridArea'+(g.gridArea.length+1);}
var gridArea=$("");
gridArea.id=options.id;
gridArea.attr("id",options.id);
g.insertToTarget(options.action,options.target,gridArea);
g.gridArea.push(gridArea);
return gridArea;};
_rxPage.prototype.buildDiv=function(options){
var g=this,p=this.settings;
options=$.extend({},p,{id:false},options);
if(g.frame){
options.target=g.frame.centerFrame;}
if(!options.id){
options.id='lnkDiv'+(g.divArea.length+1);}
var divArea=$("");
divArea.id=options.id;
divArea.attr("id",options.id);
g.insertToTarget(options.action,options.target,divArea);
g.divArea.push(divArea);
return divArea;};
_rxPage.prototype.onResize=function(){
var g=this,p=this.settings;
g.targetAutoHeight(g.frame);
$(window).trigger("resize.grid");};
window.rxPage=function(options){
return new _rxPage(options);};})(jQuery);
function fnBuildBtn(holder,options){
var _btnHolder=$("");
var _holderObj=holder;
if(typeof holder=='string'){
_holderObj=$(holder);}
_holderObj.append(_btnHolder);
opts=$.extend({width:80,left:10},options);
var _btn=_btnHolder.lnkButton(opts);
return _btn;}
function fnOpenDialog(options){
var dialog=null;
if(m_id&&mn_id&&sessionkey){
options.url+="&m_id="+m_id+"&mn_id="+mn_id+"&sessionkey="+sessionkey;}
if($.queryString.get("nckKey")=="1"){
options.url+="&nckKey=1";}
if(window.name&&window.name!=""){
var _dialogid=name.slice(name.indexOf('_')+1,name.length);
if(_dialogid!=""){
options.pDialog=_dialogid;}}
try{
if(window.page==="SYS01AB"){
dialog=fnOpenDeskDialog(options);}
else if(parent&&parent.fnOpenDeskDialog){
options.opener=window;
dialog=parent.fnOpenDeskDialog(options);}
else if(parent&&parent.parent&&parent.parent.fnOpenDeskDialog){
options.opener=window;
dialog=parent.parent.fnOpenDeskDialog(options);}
else if(top&&top.fnOpenDeskDialog){
options.opener=window;
dialog=top.fnOpenDeskDialog(options);}
else{
dialog=fnOpenSelfDialog(options);}}
catch(ex){
var opts=jQuery.param(options);
$.doPostMessage(opts);}
return dialog;}
function fnOpenSelfDialog(options){
var theParms=$.queryString.getUrlParams(options.url);
var dll_name=$.queryString.getDllName(options.url);
var page_code=theParms["page"];
var urlParms="&m_id="+theParms["m_id"]+"&mn_id="+theParms["mn_id"]+"&sessionkey="+theParms["sessionkey"];
var opts={
title:'标题',
height:600,
width:800,
modal:false,
isHidden:false,
showRefresh:true,
showHelp:true,
showAdvise:true,
showMax:true,
showMin:false,
showToggle:false,
isResize:true,
isCoverTaskbar:false,
icon:'images/icons/taskicon.png?r=1',
domax:false,
onHelp:function(p){
fnOpenDialog({
pDialog:p.pDialog,
title:"查看帮助",
url:'../../rxDeskTop/csp/rxDeskTop.dll?page=SYS10AA&pcmd=init&apSite='+dll_name+'&pageCode='+page_code+urlParms,
height:600,
width:900,
modal:false,
showHelp:false,
showAdvise:false});},
onAdvise:function(p){
fnOpenDialog({
pDialog:p.pDialog,
title:"填写建议",
url:'../../rxDeskTop/csp/rxDeskTop.dll?page=SYS09AA&pcmd=init&apSite='+dll_name+'&pageCode='+page_code,
height:600,
width:900,
showHelp:false,
showAdvise:false});}};
$.extend(opts,options);
var _hkhost=$.queryString.getUrlParams(opts.url)["hkhost"];
if(_hkhost==undefined){
var _p="&hn="+rx.host.getHostName()+"&mc="+rx.host.getMacAddress()+"&ver="+rx.host.getVersion();
opts.url+="&hkhost="+encodeURIComponent(_p);}
if(!opts.opener){opts.opener=window;}
var dialog=$.lnkDialog.open(opts);
if(opts.domax){dialog.max();}
return dialog;}
function fnGetFileType(filePath){
var filetype=filePath.split('.');
if(filetype.length<2){
alert("文件路径中没有带扩展名");}
else{
return "."+filetype[filetype.length-1];}
return "";}
function fnDownLoadFile(filePath,fileSrv,isUrl,fileName){
if(typeof fileSrv=="undefined"){fileSrv=0;}
if(typeof isUrl=="undefined"){isUrl=0;}
if(typeof fileName=="undefined"){fileName="";}
filePath=filePath.toLowerCase();
var _url="";
var filetype=fnGetFileType(filePath);
if(isUrl==1){
_url=filePath;}
else{
_url="../../RxAPI/csp/RxAPI.dll?page=FileDown&filePath="+encodeURIComponent(filePath)+"&fileName="+encodeURIComponent(fileName)+"&fileSrv="+fileSrv+"&charset=UTF8&ts="+new Date().getTime();}
if($.browser.chrome&&!/android/.test(navigator.userAgent.toLowerCase())&&isUrl!=1&&(filetype==".pdf"||filetype==".txt")){
window.open(_url);}
else{
if(typeof filePath!="undefined"&&filePath!=""){
var ifrdownload=document.getElementById("ifrdownload");
if(!ifrdownload){
var ifr=document.createElement("iframe");
ifr.id="ifrdownload";
ifr.name="ifrdownload";
ifr.style.display="none";
ifr.src=_url;
document.body.appendChild(ifr);}
else{
ifrdownload.src=_url;}}
else{
alert("文件下载路径为空!");}}}
function fnUploadFile(upfileId,actionUrl,callBefore){
if($("#"+upfileId).size()==0){
alert("Id为"+upfileId+"的对象不存在!");return false;}
if(typeof actionUrl=="undefined"||actionUrl==""){
alert("请指定文件上传的actionUrl");return false;}
var inputfile=$("#"+upfileId)[0];
if(inputfile.type.toUpperCase()!="FILE"){
alert("Id为"+upfileId+"控件类型不是file!");return false;}
var upfrm=inputfile.parentNode;
if(upfrm.tagName.toUpperCase()!="FORM"){
upfrm=document.forms[0];
if(!upfrm){
alert("找不到form标签!");
return false;}}
if(typeof callBefore=="function"){
var r=callBefore(inputfile);
if(typeof r!='undefined'&&r.toString()=='false'){
return false;}}
if($("#ifrupload").size()==0){
$("").appendTo("body");}
if(upfrm){
inputfile.name=upfileId;
upfrm.method="POST";
upfrm.target="ifrupload";
upfrm.encoding="multipart/form-data";
upfrm.action=actionUrl+"&upfile="+upfileId;
upfrm.submit();}}