excelSet.jsp
19 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
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.systeminfo.SystemEnv" %>
<%@ page import="weaver.workflow.exceldesign.FormTemplateManager" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="ExcelLayoutManager" class="weaver.workflow.exceldesign.ExcelLayoutManager" scope="page"/>
<jsp:useBean id="ExcelFormula" class="weaver.workflow.exceldesign.ExcelFormula" scope="page"/>
<jsp:useBean id="WorkflowComInfo" class="weaver.workflow.workflow.WorkflowComInfo" scope="page"/>
<%
User user = HrmUserVarify.getUser (request , response) ;
int wfid = Util.getIntValue(request.getParameter("wfid"), 0);
int formid = Util.getIntValue(request.getParameter("formid"), 0);
int nodeid = Util.getIntValue(request.getParameter("nodeid"), 0);
boolean isFormLayout = FormTemplateManager.isFormVirtualNode(nodeid);
int isbill = Util.getIntValue(request.getParameter("isbill"), -1);
int layouttype = Util.getIntValue(request.getParameter("layouttype"), -1);
int modeid = Util.getIntValue(request.getParameter("modeid"), 0);
int nodetype = Util.getIntValue(request.getParameter("nodetype"), 0);
int nodeEditFormLayout = 0; //标示是否是从节点编辑表单模板,保存完需另存为节点独立模板
if(!isFormLayout && FormTemplateManager.judgeLayoutBelForm(modeid))
nodeEditFormLayout = 1;
//获取模板信息
ExcelLayoutManager.setRequest(request);
ExcelLayoutManager.setUser(user);
HashMap<String,String> ret_map = ExcelLayoutManager.doGetExcelLayout();
String layoutname = Util.null2String(ret_map.get("layoutname"));
String otherslayoutname = Util.null2String(ret_map.get("otherslayoutname"));
String datajson = Util.null2String(ret_map.get("datajson"));
String pluginjson = Util.null2String(ret_map.get("pluginjson"));
String signInputJson = Util.null2String(ret_map.get("signInputJson"));
//自定义属性写 串引起模板解析报错
datajson = datajson.replaceAll(" ", "#title_br_replacestr#");
pluginjson = pluginjson.replaceAll(" ", "#title_br_replacestr#");
String scripts = Util.null2String(ret_map.get("scripts"));
int isactive = Util.getIntValue(ret_map.get("isactive"), 0);
//新版公式数据从workflow_formula_htmllayout表中读取
String datajsonFormula = ExcelFormula.getFormulasFormDB(request, user);
//获取字段、节点、SQL属性等信息
Hashtable rhs = ExcelLayoutManager.getFieldAttr4LEF();
ArrayList fieldidList = (ArrayList)rhs.get("fieldidList");
Hashtable fieldLabel_hs = (Hashtable)rhs.get("fieldLabel_hs");
Hashtable fieldAttr_hs = (Hashtable)rhs.get("fieldAttr_hs");
Hashtable fieldOnlyShow_hs = (Hashtable)rhs.get("fieldOnlyShow_hs");
Hashtable detailFieldid_hs = (Hashtable)rhs.get("detailFieldid_hs");
ArrayList detailGroupList = (ArrayList)rhs.get("detailGroupList");
Hashtable fieldSQL_hs = (Hashtable)rhs.get("fieldSQL_hs");
StringBuffer fieldAttr_sb = new StringBuffer(); //字段属性拼隐藏域串,主表和明细表字段放一起
StringBuffer fieldSQL_sb = new StringBuffer(); //字段SQL属性拼隐藏域
StringBuffer detailGroupAttr_sb = new StringBuffer();//明细表属性
String detailnum="";
//主字段隐藏域
for(int i=0; i<fieldidList.size(); i++){
String fieldid_tmp = (String)fieldidList.get(i);
String fieldlabel_tmp = (String)fieldLabel_hs.get("fieldlabel"+fieldid_tmp);
String fieldAttr_tmp = Util.null2String((String)fieldAttr_hs.get("fieldAttr"+fieldid_tmp));
fieldAttr_sb.append("<input type=\"hidden\" id=\"fieldattr"+fieldid_tmp+"\" fieldname=\""+fieldlabel_tmp+"\" nodetype=\"-1\" name=\"fieldattr"+fieldid_tmp+"\" value=\""+fieldAttr_tmp+"\">").append("\n");
fieldAttr_sb.append("<input type=\"hidden\" id=\"fieldonlyshow"+fieldid_tmp+"\" name=\"fieldonlyshow"+fieldid_tmp+"\" value=\""+Util.null2String(fieldOnlyShow_hs.get(fieldid_tmp))+"\" />");
String fieldSQL_tmp = Util.null2String((String)fieldSQL_hs.get("fieldsql"+fieldid_tmp));
String datasourceid = Util.null2String((String)fieldSQL_hs.get("datasourceid"+fieldid_tmp));
int caltype_tmp = Util.getIntValue((String)fieldSQL_hs.get("caltype"+fieldid_tmp), 0);
int othertype_tmp = Util.getIntValue((String)fieldSQL_hs.get("othertype"+fieldid_tmp), 0);
int transtype_tmp = Util.getIntValue((String)fieldSQL_hs.get("transtype"+fieldid_tmp), 0);
fieldSQL_sb.append("<input type=\"hidden\" id=\"fieldsql"+fieldid_tmp+"\" name=\"fieldsql"+fieldid_tmp+"\" value=\""+fieldSQL_tmp+"\">").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"caltype"+fieldid_tmp+"\" name=\"caltype"+fieldid_tmp+"\" value=\""+caltype_tmp+"\" >").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"othertype"+fieldid_tmp+"\" name=\"othertype"+fieldid_tmp+"\" value=\""+othertype_tmp+"\">").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"transtype"+fieldid_tmp+"\" name=\"transtype"+fieldid_tmp+"\" value=\""+transtype_tmp+"\">").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"datasourceid"+fieldid_tmp+"\" name=\"datasourceid"+fieldid_tmp+"\" value=\""+datasourceid+"\">").append("\n");
}
//明细字段隐藏域
if(detailGroupList!=null && detailGroupList.size()>0){
detailnum="<input type=\"hidden\" id=\"detailnum\" name=\"detailnum\" value=\""+detailGroupList.size()+"\" />";
ArrayList detailGroupAttrList = (ArrayList)rhs.get("detailGroupAttrList");
Hashtable detailGroupTitle_hs = (Hashtable)rhs.get("detailGroupTitle_hs");
for(int i=0; i<detailGroupList.size(); i++){
String groupid_tmp = (String)detailGroupList.get(i);
String detailGroupAttr = (String)detailGroupAttrList.get(i);
ArrayList detailFieldidList = (ArrayList)detailFieldid_hs.get("group"+groupid_tmp);
if(detailFieldidList!=null && detailFieldidList.size()>0){
String title_tmp = (String)detailGroupTitle_hs.get("grouptitle"+groupid_tmp);
detailGroupAttr_sb.append("<input type=\"hidden\" id=\"detailgroupattr"+i+"\" name=\"detailgroupattr"+i+"\" value=\""+detailGroupAttr+"\">").append("\n");
for(int j=0; j<detailFieldidList.size(); j++){
String detailFieldid_tmp = (String)detailFieldidList.get(j);
String detailFieldlabel_tmp = (String)fieldLabel_hs.get("fieldlabel"+detailFieldid_tmp);
String detailFieldAttr_tmp = (String)fieldAttr_hs.get("fieldAttr"+detailFieldid_tmp);
fieldAttr_sb.append("<input type=\"hidden\" id=\"fieldattr"+detailFieldid_tmp+"\" fieldname=\""+detailFieldlabel_tmp+"\" nodetype=\""+i+"\" name=\"fieldattr"+detailFieldid_tmp+"\" value=\""+detailFieldAttr_tmp+"\">").append("\n");
fieldAttr_sb.append("<input type=\"hidden\" id=\"fieldonlyshow"+detailFieldid_tmp+"\" name=\"fieldonlyshow"+detailFieldid_tmp+"\" value=\""+Util.null2String(fieldOnlyShow_hs.get(detailFieldid_tmp))+"\" />");
String fieldSQL_tmp = Util.null2String((String)fieldSQL_hs.get("fieldsql"+detailFieldid_tmp));
int caltype_tmp = Util.getIntValue((String)fieldSQL_hs.get("caltype"+detailFieldid_tmp), 0);
int othertype_tmp = Util.getIntValue((String)fieldSQL_hs.get("othertype"+detailFieldid_tmp), 0);
int transtype_tmp = Util.getIntValue((String)fieldSQL_hs.get("transtype"+detailFieldid_tmp), 0);
String datasourceid = Util.null2String((String)fieldSQL_hs.get("datasourceid"+detailFieldid_tmp));
fieldSQL_sb.append("<input type=\"hidden\" id=\"fieldsql"+detailFieldid_tmp+"\" name=\"fieldsql"+detailFieldid_tmp+"\" value=\""+fieldSQL_tmp+"\">").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"caltype"+detailFieldid_tmp+"\" name=\"caltype"+detailFieldid_tmp+"\" value=\""+caltype_tmp+"\" >").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"othertype"+detailFieldid_tmp+"\" name=\"othertype"+detailFieldid_tmp+"\" value=\""+othertype_tmp+"\">").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"transtype"+detailFieldid_tmp+"\" name=\"transtype"+detailFieldid_tmp+"\" value=\""+transtype_tmp+"\">").append("\n");
fieldSQL_sb.append("<input type=\"hidden\" id=\"datasourceid"+detailFieldid_tmp+"\" name=\"datasourceid"+detailFieldid_tmp+"\" value=\""+datasourceid+"\">").append("\n");
}
}
}
}
//节点信息隐藏域
StringBuffer wfnode_sb = new StringBuffer();
ArrayList nodeidList = (ArrayList)rhs.get("nodeidList");
ArrayList nodenameList = (ArrayList)rhs.get("nodenameList");
Map<String,String> nodenameSignMap = (Map<String, String>) rhs.get("nodenameSignMap");
if(nodeidList != null && nodenameList != null){
for(int i=0; i<nodeidList.size(); i++){
String nodenameSign = Util.null2String(nodenameSignMap.get(nodeidList.get(i)));
wfnode_sb.append("<input type=\"hidden\" name=\"wfnode"+nodeidList.get(i)+"\" id=\"wfnode"+nodeidList.get(i)+"\" value=\""+nodenameList.get(i)+"\" nodenameSign=\""+nodenameSign+"\" />").append("\n");
}
}
%>
<HTML>
<HEAD>
<script type="text/javascript">
var mainFields=null; //全局变量-主表字段信息
var detailFields=null; //全局变量-明细表字段信息
var fieldsClassify = null; //全局变量-字段分类信息
var WfNodes=null; //全局变量-节点信息
jQuery(document).ready(function(){
var tableBodyHeight = $(window).height()-296;
$(".tableBody").css("height",tableBodyHeight+"px");
//异步初始化全局变量
initGlobalData();
//tableHead绑定click、初始化加载
operTableHead();
if(wfinfo)
wfinfo.isactive = "<%=isactive %>";
window.setTimeout(function(){
jQuery(".discriptionArea").closest("td").css("cssText", "padding-left:10px!important;padding-right:5px;");
$("div[name=somethingdiv]").find("tr.groupHeadHide").find(".hideBlockDiv").click(function(e){
var ishow = $(this).attr("_status");
if(ishow==="0")
$(".tableBody").css("height",($(".tableBody").height()-130)+"px");
else
$(".tableBody").css("height",($(".tableBody").height()+130)+"px");
});
},200);
});
</script>
<TITLE></TITLE>
</HEAD>
<BODY style="margin:0px; padding:0px;">
<form id="LayoutForm" name="LayoutForm" style="height:100%;" method="post">
<div class="moduleTitle"><%=SystemEnv.getHtmlLabelName(18151, user.getLanguage())%>:
<input id="layoutname" name="layoutname" type<form id="LayoutForm"="text" style="width:<%=user.getLanguage()==8 ? 95 : 130%>px" value="<%=layoutname %>" onchange="checkRequired(this, 'layoutnamespan');"></input>
<span id="layoutnamespan"><img style="<%="".equals(layoutname)?"":"display:none" %>" src="/images/BacoError_wev8.gif" align="absMiddle"></span>
</div>
<div class="formTitle">
<div class="formName"><%=SystemEnv.getHtmlLabelName(700, user.getLanguage()) %>: <%=Util.null2String(ret_map.get("formname")) %></div>
<div style="float:right"><img src="/workflow/exceldesign/image/editForm_wev8.png" onclick="editFormInfo();" style="cursor:pointer;margin-top:2px;" title="<%=SystemEnv.getHtmlLabelName(82022, user.getLanguage())%>"></img></div>
</div>
<div class="filedTab">
<div class="tableHead" style="height:31px;">
<div style="float:left" class="current" name="mf"><%=SystemEnv.getHtmlLabelName(18020, user.getLanguage())%></div>
<%if(isFormLayout){ %>
<div style="float:right;height:16px;"></div>
<%}else{ %>
<div style="float:right" name="wn"><%=SystemEnv.getHtmlLabelName(125734, user.getLanguage())%></div>
<%} %>
</div>
<div class="nodeMarkGroup" style="padding:5px;display: none">
<span style="margin-right: 15px;"><%=SystemEnv.getHtmlLabelName(19071, user.getLanguage())%>:</span>
<span >
<select name="markGroup" onchange="changeMarkGroup()">
<option value="0"><%=SystemEnv.getHtmlLabelName(505810, user.getLanguage())%></option>
<option value="1"><%=SystemEnv.getHtmlLabelName(505811, user.getLanguage())%></option>
</select>
</span>
</div>
<div class="tableSearch" style="padding:5px;">
<span class="searchInputSpan">
<input type="text" class="searchInput" name="searchVal" onkeypress="if(event.keyCode==13) {searchTable();}"/></input>
<span>
<img src="/images/ecology8/request/search-input_wev8.png" onclick="searchTable()"></img>
</span>
</span>
<%if(isbill == 1){ %>
<span class="addmf" title="<%=SystemEnv.getHtmlLabelName(387613,user.getLanguage())%>" >
<img src="/images/ecology8/add_wev8.png" onclick="javascript:addFormField();"></img>
</span>
<%} %>
</div>
<div class="tableBody" style="width:100%;overflow-y:auto;">
<table style="width:100%;">
<colgroup>
<col width="50%">
<col width="50%">
</colgroup>
<tbody>
<tr class="thead">
<td class="rightBorder"></td>
<td></td>
</tr>
</tbody>
</table>
<div id="labellist-1" class="fieldlist" style="display:none;">
<%for(int i=0; i<fieldidList.size(); i++){
String fieldid_tmp = (String)fieldidList.get(i);
String fieldlabel_tmp = (String)fieldLabel_hs.get("fieldlabel"+fieldid_tmp);
if("-6".equals(fieldid_tmp) || "-4".equals(fieldid_tmp))
continue;
//如果是手机版Html模板,则不显示“签字意见”选项
if(layouttype == 2 && "签字意见".equals(fieldlabel_tmp)) continue;
%>
<div id="field_<%=fieldid_tmp%>" ondblclick="javascript:cool_webcontrollabel(this);"><%=fieldlabel_tmp%></div>
<%}%>
</div>
<%if(detailGroupList!=null && detailGroupList.size()>0){
for(int i=0; i<detailGroupList.size(); i++){
String groupid_tmp = (String)detailGroupList.get(i);
ArrayList detailFieldidList = (ArrayList)detailFieldid_hs.get("group"+groupid_tmp);
if(detailFieldidList!=null && detailFieldidList.size()>0){
%>
<div id="labellist<%=i%>" class="fieldlist" style="display:none;">
<%
for(int j=0; j<detailFieldidList.size(); j++){
String detailFieldid_tmp = (String)detailFieldidList.get(j);
String detailFieldlabel_tmp = (String)fieldLabel_hs.get("fieldlabel"+detailFieldid_tmp);
String sqltemp = "select orderid from workflow_billfield a,Workflow_billdetailtable b where a.detailtable = b.tablename and a.id = " + detailFieldid_tmp;
if(isbill != 1){
sqltemp = "select groupid + 1 from workflow_formfield where formid = "+formid+" and fieldid = " + detailFieldid_tmp;
}
int detailindex = 1;
rs.execute(sqltemp);
if(rs.next())
detailindex = rs.getInt(1);
%>
<div id="field_<%=detailFieldid_tmp%>" ondblclick="javascript:cool_webcontrollabel(this);"><%=detailFieldlabel_tmp%>(<%=SystemEnv.getHtmlLabelName(17463,user.getLanguage())%><%=detailindex %>)</div>
<%
}
%>
</div>
<%
}
}
}
%>
<div name="editfieldDiv" style="display:none;position: relative;height:0px;">
<div name="editfieldDiv1" style="position: relative;">
<div name="editfieldCry" style="position:relative;text-align:center;background:#ffffff;padding-bottom:5px;border-top:1px solid #c9c9c9;border-bottom:1px solid #c9c9c9;">
<input type="hidden" name="fieldid" />
<div style="float:left;margin-top:5px;height:25px;padding-left:10px;"><img src="/images/ecology8/simplized_wev8.png" /></div>
<div style="margin-top:5px;height:25px;"><input type="text" id="cnlabel" onblur="checkMaxLength(this)" maxlength="255" alt="<%=SystemEnv.getHtmlLabelName(20246,user.getLanguage())%>255(<%=SystemEnv.getHtmlLabelName(20247,user.getLanguage())%>)">
<img style="display:none;" src="/images/BacoError_wev8.gif" align="absMiddle"></div>
<div style="float:left;margin-top:5px;height:25px;padding-left:10px;"><img src="/images/ecology8/en_wev8.png" /></div>
<div style="margin-top:5px;height:25px;"><input type="text" id="enlabel" onblur="checkMaxLength(this)" maxlength="255" alt="<%=SystemEnv.getHtmlLabelName(20246,user.getLanguage())%>255(<%=SystemEnv.getHtmlLabelName(20247,user.getLanguage())%>)"></div>
<div style="float:left;margin-top:5px;height:25px;padding-left:10px;"><img src="/images/ecology8/tranditional_wev8.png" /></div>
<div style="margin-top:5px;height:25px;"><input type="text" id="twlabel" onblur="checkMaxLength(this)" maxlength="255" alt="<%=SystemEnv.getHtmlLabelName(20246,user.getLanguage())%>255(<%=SystemEnv.getHtmlLabelName(20247,user.getLanguage())%>)"></div>
<div id="zDialog_div_bottom" style="margin-top:5px; border-top:1px solid #c9c9c9;padding-top:5px;">
<input type="button" value="<%=SystemEnv.getHtmlLabelName(826,user.getLanguage())%>" id="zd_btn_cancle" onclick="saveEditFieldName()" class="zd_btn_cancle" style="height: 25px;line-height: 25px;padding-left: 10px;padding-right: 10px;">
<input type="button" value="<%=SystemEnv.getHtmlLabelName(201,user.getLanguage())%>" id="zd_btn_cancle" onclick="cancelEditFieldName()" class="zd_btn_cancle" style="height: 25px;line-height: 25px;padding-left: 10px;padding-right: 10px;">
</div>
</div>
</div>
</div>
</div>
</div>
<div name="somethingdiv" style="position:relative;">
<wea:layout type="twoCol">
<wea:group context="<%=SystemEnv.getHtmlLabelName(125776,user.getLanguage())%>" attributes="{itemAreaDisplay:none}">
<wea:item attributes="{'colspan':'2'}">
<div class="discriptionArea"></div>
</wea:item>
</wea:group>
</wea:layout>
</div>
<div id="hiddenAttrDiv" style="display:none">
<!-- 所有隐藏域 -->
<input type="hidden" id="wfid" name="wfid" value="<%=wfid%>" />
<input type="hidden" id="formid" name="formid" value="<%=formid%>" />
<input type="hidden" id="nodeid" name="nodeid" value="<%=nodeid%>" />
<input type="hidden" id="isbill" name="isbill" value="<%=isbill%>" />
<input type="hidden" id="modeid" name="modeid" value="<%=modeid%>" />
<input type="hidden" id="layouttype" name="layouttype" value="<%=layouttype%>" />
<input type="hidden" id="isactive" name="isactive" value="<%=isactive %>" />
<input type="hidden" id="nodeEditFormLayout" name="nodeEditFormLayout" value="<%=nodeEditFormLayout %>" />
<input type="hidden" id="nodetype" value="<%=nodetype %>" />
<input type="hidden" id="workflowname" value="<%=WorkflowComInfo.getWorkflowname(wfid+"") %>" />
<input type="hidden" id="otherslayoutname" value="<%=otherslayoutname %>" />
<!-- 明细表信息 -->
<%=detailnum %>
<%=detailGroupAttr_sb.toString()%>
<!-- JSON代码块信息 -->
<textarea style="display:none" name="datajson" id="datajson"><%=datajson %></textarea>
<textarea style="display:none" name="datajsonFormula" id="datajsonFormula"><%=datajsonFormula %></textarea>
<textarea style="display:none" name="pluginjson" id="pluginjson"><%=pluginjson %></textarea>
<textarea style="display:none" name="scripts" id="scripts"><%=scripts %></textarea>
<textarea style="display:none" name="signInputJson" id="signInputJson"><%=signInputJson %></textarea>
<!-- 节点信息 -->
<%=wfnode_sb.toString()%>
<!-- 字段属性 -->
<%=fieldAttr_sb.toString()%>
<!-- SQL属性 -->
<%=fieldSQL_sb%>
<!-- 字段分类 -->
<input type="hidden" id="fileFieldids" name="fileFieldids" />
<input type="hidden" id="inputFieldids" name="inputFieldids" />
<input type="hidden" id="especialFieldids" name="especialFieldids" />
<input type="hidden" id="dateFields" name="dateFields" />
<input type="hidden" id="shuziFieldids" name="shuziFieldids" />
<input type="hidden" id="zhengshuFields" name="zhengshuFields" />
<input type="hidden" id="locationFields" name="locationFields" />
</div>
</form>
</BODY>
</HTML>