office.jsp
11.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.systeminfo.SystemEnv"%>
<%@ page import="weaver.hrm.*" %>
<%@page import="com.engine.doc.util.IWebOfficeConf"%>
<jsp:useBean id="BaseBean" class="weaver.general.BaseBean" scope="page" />
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user == null){
return;
}
String __agent = request.getHeader("user-agent");
boolean iweb2015 = IWebOfficeConf.canIwebOffice();
if(iweb2015){
// boolean __iweb2015 = "1".equals(Util.null2String(new RecordSet().getPropValue("weaver_iweboffice2015","isUseIweboffice2015")));
boolean __iweb2015 = "1".equals(Util.null2String(DocPlugUtil.getoffice215Set().get("isopen")));
boolean isChinaSystem = IWebOfficeConf.isChinaSystem(__agent);
if(!isChinaSystem && !__iweb2015){ //不是国产操作系统,并且不是2015,则走03,09
iweb2015 = false;
}
}
String mClientName=BaseBean.getPropValue("weaver_obj","iWebOfficeClientName");
if(mClientName==null||mClientName.trim().equals("")){
mClientName="/docs/docs/iWebOffice2003.ocx#version=8.8.7.28";
}
if(!mClientName.startsWith("/docs/docs/")){
mClientName = "/docs/docs/" + mClientName;
}
boolean isofficeview = "1".equals(request.getParameter("isofficeview"));
String mClassId=BaseBean.getPropValue("weaver_obj","iWebOfficeClassId");
if(mClassId==null||mClassId.trim().equals("")){
mClassId="clsid:23739A7E-5741-4D1C-88D5-D50B18F7C347";
}
boolean isIWebOffice2006 = (mClientName.indexOf("iWebOffice2006")>-1||mClientName.indexOf("iWebOffice2009")>-1)?true:false;
boolean isIWebOffice2003 = (mClientName.indexOf("iWebOffice2003")>-1)?true:false;
boolean isIWebOffice2009 = (mClientName.indexOf("iWebOffice2009")>-1)?true:false;
String isHandWriteForIWebOffice2009=BaseBean.getPropValue("weaver_obj","isHandWriteForIWebOffice2009");
String isNoComment="";
if(isIWebOffice2006){
isNoComment="1".equals(isHandWriteForIWebOffice2009)?"false":"true";
}
String isUseET=BaseBean.getPropValue("weaver_obj","isUseET");
boolean RMMode=("true".equals(BaseBean.getPropValue("weaver_obj","RMMode")))?true:false;
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">html,body{margin: 0;padding: 0;width: 100%;height: 100%;overflow: hidden;}</style>
<script type="text/javascript" src="/docs/e9/WebOffice.js?version=2019082901"></script>
<script language="javascript" for=WebOffice event="OnMenuClick(vIndex,vCaption)">
if(vIndex == 1) {
WebOpenLocal(); //打开本地文件
}
if(vIndex == 2) {
WebSaveLocal(); //保存本地文件
}
if(vIndex == 3) {
SaveDocument(); //保存正文到服务器上(不退出)
}
if(vIndex == 5) {
document.getElementById("WebOffice").WebSetMsgByName("USERID", '<%=user.getUID()%>' || '');
WebOpenSignature(); //签名印章
}
if(vIndex == 6) {
WebShowSignature(); //验证签章
}
if(vIndex == 8) {
WebSaveVersion(); //保存版本
}
if(vIndex == 9) {
WebOpenVersion(); //打开版本
}
if(vIndex == 11) {
SaveDocument(); //保存正文到服务器上
webform.submit(); //然后退出
}
if(vIndex == 13) {
WebOpenPrint(); //打印文档
}
if(vIndex == 14){
var __showFlag = window.__showFlag ? false : true;
ShowRevision2(__showFlag);
window.__showFlag = __showFlag;
}
</script>
<SCRIPT language=javascript for=WebOffice event=OnToolsClick(vIndex,vCaption)>
//响应工具栏事件 388405编号 24986 标题 500843请根据这些信息编写具体功能
if(vIndex == 11) {
alert('<%=SystemEnv.getHtmlLabelName(388405,user.getLanguage())%>'+':' + vIndex + '\n\r' +'<%=SystemEnv.getHtmlLabelName(24986,user.getLanguage())%>'+ ':' + vCaption + '\n\r' + '<%=SystemEnv.getHtmlLabelName(500843,user.getLanguage())%>' + '\n\r\n\r' + '<%=SystemEnv.getHtmlLabelName(500844,user.getLanguage())%>' + webform.WebOffice.WindowStatus);
}
if(vIndex == 12) {
webform.WebOffice.Alert('<%=SystemEnv.getHtmlLabelName(500845,user.getLanguage())%>');//自定义工具栏测试
}
//if (vIndex==-1){webform.WebOffice.Alert(vCaption);} //在完成相应操作后响应iWebOffice标准工具栏操作铵钮事件,如"手写批注",vCaption="手写批注"
</SCRIPT>
<script language=javascript>
var parseQueryString = function (url) {
var reg_url = /^[^\?]+\?([\w\W]+)$/,
reg_para = /([^&=]+)=([\w\W]*?)(&|$)/g, //g is very important
arr_url = reg_url.exec(url),
ret = {};
if (arr_url && arr_url[1]) {
var str_para = arr_url[1], result;
while ((result = reg_para.exec(str_para)) != null) {
ret[result[1]] = result[2];
}
}
return ret;
}
function toSaveDocument(obj){
if(obj && obj.fileName){
var __fileType = document.getElementById("WebOffice").FileType;
document.getElementById("WebOffice").FileName = obj.fileName;
document.getElementById("WebOffice").FileType = __fileType;
}
return SaveDocument();
}
function docPrint(){
WebOpenPrint();
}
//作用:载入iWebOffice
function Load() {
//使用方法:
var obj = parseQueryString(window.location.href);
var docid = obj.mRecordID || '';
var isEdit = false;
if(docid != ""){
try{
docid = obj.mRecordID.split("_")[1];
if(parseInt(docid) > 0){
isEdit = true;
}
}catch(e){}
}
try {
window.__FileType = obj.mFileType;
//以下属性必须设置,实始化iWebOffice
document.getElementById("WebOffice").WebUrl = "/docs/docs/OfficeServer.jsp"; //WebUrl:系统服务器路径,与服务器文件交互操作,如保存、打开文档,重要文件
document.getElementById("WebOffice").RecordID = obj.mRecordID || ''; //RecordID:本文档记录编号
document.getElementById("WebOffice").SAVETYPE = isEdit ? "E9EDIT" : ""; //RecordID:本文档记录编号
document.getElementById("WebOffice").NONEWVERSION = "TRUE";
document.getElementById("WebOffice").Template = obj.mTemplate || ''; //Template:模板编号
document.getElementById("WebOffice").FileName = obj.mFileName || ''; //FileName:文档名称
document.getElementById("WebOffice").Compatible = "false";
document.getElementById("WebOffice").FileType = obj.mFileType || ''; //FileType:文档类型 .doc .xls .wps
document.getElementById("WebOffice").UserName = "<%=user.getLastname()%>"; //UserName:操作用户名,痕迹保留需要
document.getElementById("WebOffice").EditType = obj.mEditType || ''; //EditType:编辑类型 方式一、方式二 <参考技术文档> 第一位可以为0,1,2,3 其中:0不可编辑;1可以编辑,无痕迹;2可以编辑,有痕迹,不能修订;3可以编辑,有痕迹,能修订;//第二位可以为0,1 其中:0不可批注,1可以批注。可以参考iWebOffice2003的EditType属性,详细参考技术白皮书
document.getElementById("WebOffice").MaxFileSize = obj.maxFileSize * 1024; //最大的文档大小控制,默认是8M,现在设置成4M。
document.getElementById("WebOffice").Language = "CH"; //Language:多语言支持显示选择 CH简体 TW繁体 EN英文
// document.getElementById("WebOffice").AllowEmpty=false; //控制不允许保存空白内容的文档
document.getElementById("WebOffice").ShowMenu = "1"; //控制整体菜单显示
if(<%=isofficeview%>){
document.getElementById("WebOffice").WebSetMsgByName("addWater","1");
}
document.getElementById("WebOffice").ShowToolBar="1"; //ShowToolBar:是否显示工具栏:1显示,0不显示 2 :隐藏OFFICE软件工具栏
<%if(isIWebOffice2006){%>
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(18474, user.getLanguage())%>',false);//18474 新建文件
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(83412, user.getLanguage())%>',false);//83412 打开文件
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(83413, user.getLanguage())%>',false);//83413 保存文件
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(26096, user.getLanguage())%>',false);//26096 全屏
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(83414, user.getLanguage())%>',false);//83414 重新批注
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(127874, user.getLanguage())%>',false);//127874 文字批注
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(500846, user.getLanguage())%>',false);//500846 手写批注
document.getElementById("WebOffice").VisibleTools('<%=SystemEnv.getHtmlLabelName(500847, user.getLanguage())%>',false);//500847 文档清稿
<%}%>
//以下为自定义菜单↓
if(obj.mEditType == "1" || obj.mEditType == "-1,0,1,1,0,0,1"){
window.__showFlag = true; //编辑模式,默认为显示痕迹
document.getElementById("WebOffice").AppendMenu("1","<%=SystemEnv.getHtmlLabelName(500848, user.getLanguage())%>");//500848 打开本地文件(&L)
document.getElementById("WebOffice").AppendMenu("2","<%=SystemEnv.getHtmlLabelName(500849, user.getLanguage())%>");//500849 保存本地文件(&S)
// document.getElementById("WebOffice").AppendMenu("3","保存远程文件(&U)");
// document.getElementById("WebOffice").AppendMenu("4","-");
document.getElementById("WebOffice").AppendMenu("5","签名印章(&Q)");
// document.getElementById("WebOffice").AppendMenu("6","验证签章(&Y)");
// document.getElementById("WebOffice").AppendMenu("7","-");
// document.getElementById("WebOffice").AppendMenu("8","保存版本(&B)");
// document.getElementById("WebOffice").AppendMenu("9","打开版本(&D)");
// document.getElementById("WebOffice").AppendMenu("10","-");
// document.getElementById("WebOffice").AppendMenu("11","保存并退出(&E)");
// document.getElementById("WebOffice").AppendMenu("12","-");
// document.getElementById("WebOffice").AppendMenu("13","打印文档(&P)");
}
if(obj.canPrint == "true"){
document.getElementById("WebOffice").AppendMenu("13","<%=SystemEnv.getHtmlLabelName(257, user.getLanguage())%>");
}
document.getElementById("WebOffice").AppendMenu("14","<%=SystemEnv.getHtmlLabelName(16385, user.getLanguage())%>"); //16385 显示/隐藏痕迹
//以上为自定义菜单↑
// document.getElementById("WebOffice").DisableMenu("宏(&M);选项(&O)..."); //禁止某个(些)菜单项
document.getElementById("WebOffice").WebOpen(); //打开该文档 交互OfficeServer 调出文档OPTION="LOADFILE" 调出模板OPTION="LOADTEMPLATE" <参考技术文档>
StatusMsg(WebOffice.Status); //状态信息
} catch(e) {
alert(e.description); //显示出错误信息
}
}
//作用:保存为HTML文档
function WebSaveAsHtml() {
try {
StatusMsg(WebOffice.Status);
} catch(e) {
alert(e.description);
}
}
</script>
<style>
.iwebDiv{
padding-top:20px;
margin-top:-20px;
position:relative;
}
.iwebDiv #WebOffice{
position:absolute;
top:0;
}
</style>
</head>
<body onLoad="Load()" onUnload="UnLoad()">
<%if(iweb2015){%>
<%@include file="/docs/e9/iweb2015.jsp"%>
<%}else{%>
<div class="iwebDiv" style="width:100%;height:100%">
<object name="WebOffice" id="WebOffice" width="100%" height="100%" classid="<%=mClassId%>" codeBase="<%=mClientName%>">
<param name="wmode" value="Opaque">
</object>
</div>
<%} %>
</body>
</html>