UserDefinedRequestBrowser.jsp
3.86 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
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.workflow.request.Browsedatadefinition" %>
<%@ page import="weaver.workflow.browserdatadefinition.Condition" %>
<%@ page import="weaver.workflow.browserdatadefinition.ConditionField" %>
<%@ page import="weaver.workflow.browserdatadefinition.ConditionFieldConfig" %>
<%-- 
<%@ include file="/systeminfo/init_wev8.jsp" %>
--%>
<script type="text/javascript">
	var _CACHE = new Object();
<%List<Browsedatadefinition> datas = Browsedatadefinition.readAll(Util.null2String(request.getParameter("workflowid")));
	for (Browsedatadefinition data : datas) {%>
		_CACHE['<%=data.getFieldid()%>'] = {};
		<%if ("3".equals(data.getCreatetype()) && !"".equals(data.getCreatetypeid())) {%>
		_CACHE['<%=data.getFieldid()%>'].cre = '<%=data.getCreatetypeid()%>';
		<%}%>
		<%if ("3".equals(data.getCreatedepttype()) && !"".equals(data.getDepartment())) {%>
		_CACHE['<%=data.getFieldid()%>'].dep = '<%=data.getDepartment()%>';
		<%}%>
		<%if ("3".equals(data.getCreatesubtype()) && !"".equals(data.getCreatesubid())) {%>
		_CACHE['<%=data.getFieldid()%>'].sub = '<%=data.getCreatesubid()%>';
		<%}%>
		<%if ("8".equals(data.getCreatedatetype()) && !"".equals(data.getCreatedatefieldid())) {%>
		_CACHE['<%=data.getFieldid()%>'].date = '<%=data.getCreatedatefieldid()%>';
		<%}%>
		<%if ("3".equals(data.getXgxmtype()) && !"".equals(data.getXgxmid())) {%>
		_CACHE['<%=data.getFieldid()%>'].xgxm = '<%=data.getXgxmid()%>';
		<%}%>
		<%if ("3".equals(data.getXgkhtype()) && !"".equals(data.getXgkhid())) {%>
		_CACHE['<%=data.getFieldid()%>'].xgkh = '<%=data.getXgkhid()%>';
		<%}%>
<%}%>
<%List<Condition> conditions = Condition.readAll(Util.null2String(request.getParameter("workflowid")));
	for (Condition condition : conditions) {
		String key = condition.getFieldId() + "_" + ("1".equals(condition.getViewType()) ? "1" : "0");
	%>
		_CACHE['<%=key%>'] = {};
	<%for (ConditionField field : condition.getFields()) {
		if (field.isGetValueFromFormField()) {%>
		<%if (!"".equals(field.getValue())) {%>
		_CACHE['<%=key%>']['bdf_<%=field.getFieldName()%>'] = '<%=field.getValue()%>';
		<%}%>
<%}}}%>
	function getFieldId(inputIdOrName) {
		var reg = /^field([0-9]+)(_[0-9]+)?$/gi;
		if (reg.test(inputIdOrName)) {
			fieldId = inputIdOrName.replace(reg, '$1');
		}
		return fieldId;
	}
	function getViewType(inputIdOrName) {
		var reg = /^field[0-9]+_[0-9]+?$/gi;
		if (reg.test(inputIdOrName)) {
			return '1';
		} else {
			return '0';
		}
	}
	function isCanConfigType(type) {
		return ',<%=Condition.getConfigFieldTypes()%>,'.indexOf(',' + type + ',') >= 0;
	}
	function getUserDefinedRequestParam(inputIdOrName) {
		var fieldId = getFieldId(inputIdOrName);
		var param = 'currworkflowid=<%=Util.null2String(request.getParameter("workflowid"))%>&fieldid=' + fieldId;
		if (!!fieldId) {
			var config = _CACHE[fieldId];
			if (!config) {
				var viewType = getViewType(inputIdOrName);
				var fieldIdAndViewType = fieldId + '_' + viewType;
				config = _CACHE[fieldIdAndViewType];
				param = 'bdf_wfid=<%=Util.null2String(request.getParameter("workflowid"))%>&bdf_fieldid=' + fieldId + '&bdf_viewtype=' + viewType;
			}
			if (!!config) {
				for (var ele in config) {
					var targetFieldId = config[ele];
					var targetInputIdOrName = inputIdOrName.replace(fieldId, targetFieldId);
					var targetObj = $G(targetInputIdOrName);
					if (!targetObj) {
						<%//尝试取得主表字段%>
						targetObj = $G('field' + targetFieldId);
					}
					if (!!targetObj) {
						var val = jQuery(targetObj).val();
						if (!!val) {
							param += '&' + ele + '=' + val;
						}
					}
				}
			}
		}
		try{
			if(window._____guid1 && window.__requestid){
				if(param!=""){
					param += "&";
				}
				param += "__requestid="+window.__requestid;
			}
		}catch(ex1){}
		return param;
	}
</script>