在线公文审批系统整合--WebOffice解决方案之一

OA办公都离不在一个在线的Office编辑功能,在政府的办公系统中,在线的Office文档编辑及审批功能是必不可少的,微软目前提供了一个dsoframer.ocx控件可以实现这个功能,不过这个控件并没有较好提供完善的升级服务,所以对Office2007的支持并不好,而国内有不少公司或开发人员却基于此开发了不少的功能,不过大部分都需要收费,北京却有一家点聚的公司开发了WebOffice在控件,并且提供免费升级服务,这让OA开发用户多了一种新的选择。

 

出于此免费的方案,Joffice有其中一个方案是基于它来集成在线的文档编辑功能,而电子签章可以根据用户的需求与该公司进行购买集成,以下为Joffice集成的JOffice控件其中一个界面,支持保留痕迹,清除痕迹。

 

 

 

代码如下:

 

Java代码 复制代码  收藏代码spinner.gif
  1. /**  
  2.  * @author csx  
  3.  * @description 公文模板在线显示及编辑窗口  
  4.  * @company 广州宏天软件有限公司  
  5.  * @param {} docPath  
  6.  * @param {} readOnly  
  7.  */  
  8. var OfficeTemplateView=function(docPath,readOnly,callback){   
  9.     this.docPath=docPath;   
  10.     this.readOnly=readOnly==null?false:readOnly;   
  11.        
  12.     var objHtml = "<object id='WebOfficeObj' height='100%' width='100%' style='LEFT: 0px; TOP: 0px'  classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5' codebase='"+__ctxPath+"/js/core/weboffice/HWPostil_V3074.cab#V6,0,4,2'>";   
  13.                 objHtml+="<param name='TitlebarColor' value='7898C2'/>";   
  14.                 objHtml +="</object>";   
  15.                 //文件保存在服务器端的路径             
  16.                 var win=new Ext.Window({   
  17.                     title:'公文模板详细信息',   
  18.                     height:500,   
  19.                     width:700,   
  20.                     maximizable:true,   
  21.                     html:objHtml   
  22.                 });   
  23.                    
  24.                 //是否只读   
  25.                 if(!this.readOnly){   
  26.                     win.buttonAlign='center';   
  27.                     win.buttons=[   
  28.                     {   
  29.                         iconCls:'btn-save',   
  30.                         text:'保存',   
  31.                         handler:function(){   
  32.                                
  33.                                 var url=__fullPath+"/file-upload";   
  34.                                 document.all.WebOfficeObj.HttpInit();   
  35.                                 document.all.WebOfficeObj.HttpAddPostString('file_cat', 'archive');   
  36.                                 //overwrite file path   
  37.                                 document.all.WebOfficeObj.HttpAddPostString('file_path', docPath);   
  38.                                    
  39.                                 document.all.WebOfficeObj.HttpAddPostCurrFile("AipFile ","");      
  40.                                 // 提交上传文件   
  41.                                 returnValue = document.all.WebOfficeObj.HttpPost(url);   
  42.                                 var obj;   
  43.                                 eval('obj='+returnValue+";");   
  44.                                    
  45.                                 if(obj.success){   
  46.                                     Ext.ux.Toast.msg('操作信息','已经成功保存至服务器!');   
  47.                                     if(callback!=null){   
  48.                                         callback.call(this,obj.fileId,obj.filePath);   
  49.                                     }   
  50.                                     win.close();   
  51.                                 }else{   
  52.                                     Ext.ux.Toast.msg('操作信息','操作出错,请联系管理员!');   
  53.                                 }   
  54.                                
  55.                         }//end of handler   
  56.                     },   
  57.                     {   
  58.                         iconCls:'btn-cancel',   
  59.                         text:'关闭',   
  60.                         handler:function(){   
  61.                             win.close();   
  62.                         }   
  63.                     },   
  64.                     {   
  65.                         text:'保留修改痕迹',   
  66.                         handler:function(){   
  67.                              document.all.WebOfficeObj.SetTrackRevisions(1);   
  68.                              document.all.WebOfficeObj.SetCurrUserName(curUserInfo.fullname);   
  69.                         }   
  70.                     },   
  71.                     {   
  72.                         text:'取消保留痕迹',   
  73.                         handler:function(){   
  74.                              document.all.WebOfficeObj.SetTrackRevisions(0);   
  75.                         }   
  76.                     },   
  77.                     {   
  78.                         text:'清除痕迹',   
  79.                         handler:function(){   
  80.                              document.all.WebOfficeObj.SetTrackRevisions(4);   
  81.                         }   
  82.                     }   
  83.                     ];   
  84.                 }   
  85.                    
  86.                 win.show();   
  87.                 //隐藏保存与返回的按钮   
  88.                 //document.all.WebOfficeObj.HideMenuItem(0x04 + 0x2000);   
  89.                 document.all.WebOfficeObj.ShowToolBar=false;   
  90.                 var fullDocPath=''  
  91.                 if(this.docPath!=null && this.docPath!=''){   
  92.                     fullDocPath=__fullPath+'/attachFiles/' + this.docPath;   
  93.                 }   
  94.                 document.all.WebOfficeObj.LoadOriginalFile(fullDocPath,'doc');   
  95.                    
  96.                 //一定需要加上这个控制,保证关闭窗口后,office实例也需要关闭   
  97.                 win.on('close',function(){   
  98.                     try{   
  99.                         document.all.WebOfficeObj.Close();   
  100.                     }catch(ex){   
  101.                     }   
  102.                 });   
  103.                 //当窗口关闭时也需要做同样的操作   
  104.                 window.onUnload=function(){   
  105.                     try{   
  106.                         document.all.WebOfficeObj.Close();   
  107.                     }catch(ex){   
  108.                     }   
  109.                 }   
  110. };  
/**
 * @author csx
 * @description 公文模板在线显示及编辑窗口
 * @company 广州宏天软件有限公司
 * @param {} docPath
 * @param {} readOnly
 */
var OfficeTemplateView=function(docPath,readOnly,callback){
	this.docPath=docPath;
	this.readOnly=readOnly==null?false:readOnly;
	
	var objHtml = "<object id='WebOfficeObj' height='100%' width='100%' style='LEFT: 0px; TOP: 0px'  classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5' codebase='"+__ctxPath+"/js/core/weboffice/HWPostil_V3074.cab#V6,0,4,2'>";
				objHtml+="<param name='TitlebarColor' value='7898C2'/>";
				objHtml +="</object>";
				//文件保存在服务器端的路径			
				var win=new Ext.Window({
					title:'公文模板详细信息',
					height:500,
					width:700,
					maximizable:true,
					html:objHtml
				});
				
				//是否只读
				if(!this.readOnly){
					win.buttonAlign='center';
					win.buttons=[
					{
						iconCls:'btn-save',
						text:'保存',
						handler:function(){
							
								var url=__fullPath+"/file-upload";
								document.all.WebOfficeObj.HttpInit();
								document.all.WebOfficeObj.HttpAddPostString('file_cat', 'archive');
								//overwrite file path
								document.all.WebOfficeObj.HttpAddPostString('file_path', docPath);
								
								document.all.WebOfficeObj.HttpAddPostCurrFile("AipFile ","");	
								// 提交上传文件
								returnValue = document.all.WebOfficeObj.HttpPost(url);
								var obj;
								eval('obj='+returnValue+";");
								
								if(obj.success){
									Ext.ux.Toast.msg('操作信息','已经成功保存至服务器!');
									if(callback!=null){
										callback.call(this,obj.fileId,obj.filePath);
									}
									win.close();
								}else{
									Ext.ux.Toast.msg('操作信息','操作出错,请联系管理员!');
								}
							
						}//end of handler
					},
					{
						iconCls:'btn-cancel',
						text:'关闭',
						handler:function(){
							win.close();
						}
					},
					{
						text:'保留修改痕迹',
						handler:function(){
							 document.all.WebOfficeObj.SetTrackRevisions(1);
				 			 document.all.WebOfficeObj.SetCurrUserName(curUserInfo.fullname);
						}
					},
					{
						text:'取消保留痕迹',
						handler:function(){
							 document.all.WebOfficeObj.SetTrackRevisions(0);
						}
					},
					{
						text:'清除痕迹',
						handler:function(){
							 document.all.WebOfficeObj.SetTrackRevisions(4);
						}
					}
					];
				}
				
				win.show();
				//隐藏保存与返回的按钮
				//document.all.WebOfficeObj.HideMenuItem(0x04 + 0x2000);
				document.all.WebOfficeObj.ShowToolBar=false;
				var fullDocPath=''
				if(this.docPath!=null && this.docPath!=''){
					fullDocPath=__fullPath+'/attachFiles/' + this.docPath;
				}
				document.all.WebOfficeObj.LoadOriginalFile(fullDocPath,'doc');
				
				//一定需要加上这个控制,保证关闭窗口后,office实例也需要关闭
				win.on('close',function(){
					try{
						document.all.WebOfficeObj.Close();
					}catch(ex){
					}
				});
				//当窗口关闭时也需要做同样的操作
				window.onUnload=function(){
					try{
						document.all.WebOfficeObj.Close();
					}catch(ex){
					}
				}
};

 qq:1848175569

JOffice在线试用地址:
电信:http://office.jee-soft.cn:8080/index.jsp
网通:http://oa.jee-soft.cn:8080/index.jsp
账号:admin
密码:1

转载于:https://my.oschina.net/antAbby/blog/125191

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值