xinyb
2024-03-27 f87909326c2ff2c58da027163f64d9d8f9424b17
提交 | 用户 | age
a6a76f 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
F 2     pageEncoding="UTF-8"%>
3 <%@page import="com.yc.factory.FactoryBean"%>
4 <%@page import="com.yc.service.commons.GfieldIfc"%>
5 <%@page import="java.util.List"%>
6 <%@page import="java.util.Map"%>
7 <%@page import="com.google.gson.Gson"%>
8 <%@page import="com.google.gson.reflect.TypeToken"%>  
9 <%@page import="com.yc.service.build.top.BuildTopIfc"%>
10 <%@page import="org.springframework.web.context.WebApplicationContext"%>
11 <%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
12 <% 
13 //跟据功能号查询,查询DIV页面须要的字段
14 GfieldIfc gfieldIfc = (GfieldIfc)FactoryBean.getBean("GfieldImpl");
15 StringBuilder sb = new StringBuilder();
16 List<Map<String,Object>> list =null;
17 try{
18         com.yc.multiData.SpObserver.setDBtoInstance("_"+session.getAttribute(SessionKey.DATA_BASE_ID));
19         list=gfieldIfc.getAllowQueryFields(formId);
20 }catch(Exception e){
21     out.println("<script>alert('"+e.getMessage().replace("'","\\'")+"')</script>");
22 return;
23  }finally{
24      com.yc.multiData.SpObserver.setDBtoInstance();
25  }
26 Gson gson = new Gson();
27 String t = gson.toJson(list,new TypeToken<List<Map<String,Object>>>(){}.getType());
28 sb.append(t);
29 sb.insert(0,"{rows:");
30 sb.append("}");
31
32 StringBuilder printLink = new StringBuilder();//打印下来按钮
33 StringBuilder printButton = new StringBuilder();//打印button按钮
34 StringBuilder funcLink = new StringBuilder();//链接下拉按钮
35 StringBuilder funcLinkButton = new StringBuilder();//链接button按钮
36 String _1 = "1".intern(); //标识1
37 boolean printHasExpression = [?printHasExpression];//是否有表达式
38 //boolean linkHasExpression = [?linkHasExpression];//是否有表达式
39 if(printHasExpression){//有表达式拼装sql
40     String reportSql = "[?getReportSQL]";
41     reportSql = com.yc.utils.RequestParameterUtils.replaceRequestExpression(reportSql,request,session);
42         List<Map<String,Object>> reportInfo =null;
43       try{
44           com.yc.multiData.SpObserver.setDBtoInstance("_"+session.getAttribute(SessionKey.DATA_BASE_ID));
45         reportInfo=sqlQueryIfc.queryForList(reportSql,null);//打印链接信息
46         com.yc.service.build.top.PrintLinkSpellUtils.spellPrintLink(reportInfo,formId,formType,printLink,printButton);
47        }catch(Exception e){
48           throw new Exception(e.getMessage().replace("'","\\'")+"-打印设置表达式有错误!");
49           //out.println("<script>$.messager.alert('操作提示','"+e.getMessage().replace("'","\\'")+"-打印设置表达式有错误!','warning')</script>");
50        // return;
51          }finally{
52              com.yc.multiData.SpObserver.setDBtoInstance();
53          }
54       }
55
56 String notExpressionFuncLink="[?notExpressionFuncLink]";
57 String notExpressionFuncLinkButton="[?notExpressionFuncLinkButton]";
58 WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
59 BuildTopIfc buildTopIfc = (BuildTopIfc)wac.getBean("BuildTopImpl");
60 Map<String,Object> map =null;
61 try{
62         com.yc.multiData.SpObserver.setDBtoInstance("_"+session.getAttribute(SessionKey.DATA_BASE_ID));
63 map=buildTopIfc.buildFuncLinkExpression(formId,formType,doccode,request,session,notExpressionFuncLink,notExpressionFuncLinkButton);
64
65 }catch(Exception e){
66     throw new Exception(e.getMessage().replace("'","\\'")+"-功能链接设置表达式有错误!");
67     // out.println("<script>alert('"+e.getMessage().replace("'","\\'")+"-功能链接设置表达式有错误!')</script>");
68     // return;
69  }finally{
70      com.yc.multiData.SpObserver.setDBtoInstance();
71  }
72
73 %>
74 <script type="text/javascript">
75 var reportprompts="[?reportprompts]";
76 </script>
77 <div id="func" style="width:170px;">
78     <%if(map.size()>0){ %>
79     <%=map.get("funcLink").toString() %>
80     <%} %>
81 </div>
82 <div id="print" style="width:170px;">
83     <%if(printHasExpression){ %>
84         <%=printLink %>
85       <%}else{ %>
86         [?printLink]
87     <%}if(_1==isSuperUser){%>
88     <div id="otherFormats">其他格式</div>
89     <%} %>
90 </div>
91 [?TopBigTitle]
92 <div id="tool">
93         <%if((profile&FormOpUtil.openQuery)>0){%>
94         <a id="selectinfo" onmousedown="showselectDiv();" class="easyui-linkbutton"
95     plain="true" iconCls="icon-search">搜索</a>
96         <%}%>
97         <img height="29px" src="/images/space.jpg" align="top"/>
98         <% if((profile&FormOpUtil.saveRecord)>0){%>
99         <a href="#" class="easyui-linkbutton" plain="true" iconCls="icon-save" onclick="showLoading();save(function(){closeLoading();});">保存</a>
100         <%}%>
101     
102         <img height="29px" src="/images/space.jpg" align="top"/>
103         
104         <a id="tpselect"  class="easyui-linkbutton"  plain="true" iconCls="icon-select">选择</a>
105         <img height="29px" src="/images/space.jpg" align="top"/>
106     
107         <a class="easyui-linkbutton" id="showRestmenuDiv"  onclick="showrestmenu();"  iconCls="icon-down" onblur="restmenuclose();" 
108     plain="true">更多</a>
109     
110     <a id="bhelp" href="javascript:openHelpPage('[?title]');"  class="easyui-linkbutton"  plain="true" iconCls="icon-help">帮助</a>
111     
112         <%
113         ////打印链接
114         if(printHasExpression){ %>
115             <%=printButton %>
116           <%}else{ %>
117             [?printButton]
118         <%}
119         ////////功能链接
120         %>
121            
122           <%if(map.get("funcLinkButton").toString().length()>0){ %>
123           <%=map.get("funcLinkButton") %>
124           <%} %>
125            <div id="tpUpDownDoc">
f87909 126                <a href="javascript:editCustomControl();" class="easyui-linkbutton first" plain="true" title='自定义控件布局' iconCls="icon-scok">布局</a>
34fadb 127          <a href="javascript:void(0);" onclick="refresh();" class="easyui-linkbutton" plain="true" title='刷新(Alt+R)' iconCls="icon-reload">刷新</a>
a6a76f 128          </div>
F 129 </div>
130 <div id="selectDiv" class="selectDiv">
131     <div class="easyui-tabs" border="true" style="width:497px;height:365px;">
132         <div id="generalQuery" title="简单查询" fit="true" border="true" style="padding:0px;">
133         <div style="margin-left:20px;width: 450px;height: 150px;float: left;">
134                         <div>&nbsp;</div>
135                         输入查询内容:<input id="queryValue" type="text" style="border: 1px solid #cccccc;width: 300px;"/><br><br><br><br>
136                         <div align="center"><a iconCls="icon-ok" class="easyui-linkbutton" onclick="tw.simpConfirm();">确 定</a>&nbsp;
137                         <a iconCls="icon-cancel" class="easyui-linkbutton" onclick="winClose();">关 闭</a></div>
138                     </div>
139                     <div style="margin-left:20px;margin-top:10px;width:450px;font-weight: bold;color: #666666;float: left;">
140                         可查询字段:<br></br>
141                         <%
142                         Map<String,Object> temp = null;
143                         for(int i=0;i<list.size();i++){ 
144                             temp = list.get(i);
145                         %>
146                             <div class="queryField" field="<%=temp.get("fieldid") %>"><%=temp.get("fieldname") %></div>
147                         <%} %>
148                     </div>                    
149         </div>
150         <div id="advancedQuery" title="高级查询" style="padding:0px;">
151              <div id="query">
152                 <table id="tt" style="width:495px;height:290px;border-bottom: 1px solid;" border="false" singleSelect="true" >
153                     <thead>
154                         <tr>
155                             <th field="fieldid" width="80" hidde="true">ID</th>
156                             <th field="cont" width="60" formatter="contFormatter" align=center editor="{type:'combobox',options:{valueField:'contid',textField:'text',data:cont,editable:false}}" >连接符</th>
157                             <th field="fieldname" width="100" >字段名</th>
158                             <th field="opt" formatter="opttFormatter"  editor="{type:'combobox',options:{valueField:'opid',textField:'text',data:opts,editable:false,onChange:optSelect}}" width="80" >比较符</th>
159                             <th field="opt2" formatter="opt2Formatter" width="10" align="center" ></th>
160                             <th field="fieldvalue1"  width="95" editor="{type:'text'}">字段值</th>
161                             <th field="fieldvalue2" width="95" editor="{type:'text'}">字段值2</th>
162                         </tr>
163                    </thead>
164                </table>
165                <div    style="100%;margin-left:20px;">
166                        <br /><label for="more">更多选项</label><span style="position:fixed;margin-top:3px;"><input id="more" type="checkbox" /></span>
167                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a iconCls="icon-ok" class="easyui-linkbutton" onclick="tw.confirm2();">确 定</a>&nbsp;
168                     <a iconCls="icon-cancel" class="easyui-linkbutton" onclick="winClose();">关 闭</a>
169                </div>
170             </div>
171         </div>
172     </div>
173 </div>
174 <div class="restmenuDiv" id="restmenuDiv"
175     onmouseover="showrestmenu();" onmouseout="restmenuclose();">
176 <table width="520px">
177 <%if(map.get("funcLink").toString().length()>0){ %>
178 <tr >
179     <td width="80px;"><strong>功能链接:</strong></td>
180     <td>
181     <%=map.get("funcLink") %>
182     </td>
183     
184 </tr>
185 <%} %>
186
187 <% if(((profile&FormOpUtil.printButton)>0&&[?printLinkLength]>0)||printLink.length()>0||_1==isSuperUser){%>
188 <tr>
189     <td width="80px"><strong>打印格式:</strong></td>
190     <td>
191         <%if(printHasExpression){ %>
192                 <%=printLink %>
193           <%}else{ %>
194             [?printLink]
195         <%}if(_1==isSuperUser){%>
196             <div style="width:80px;display:inline;cursor:pointer" id="otherFormat">其他格式</div>
197         <%} %>
198     </td>
199 </tr>
200 <%} %>
201
202
203 <%
204         List<Map<String, Object>> exportList =null;
205         StringBuilder sb1 = new StringBuilder();
206 try{
207         com.yc.multiData.SpObserver.setDBtoInstance("_"+session.getAttribute(SessionKey.DATA_BASE_ID));
208         exportList=gfieldIfc.getExportInfo(formId);        
209         com.yc.service.build.top.ExportSpellUtils.spellLink(exportList, sb1,profile);
210 }catch(Exception e){
211     throw e;
212     //out.println("<script>alert('"+e.getMessage().replace("'","\\'")+"')</script>");
213  }finally{
214      com.yc.multiData.SpObserver.setDBtoInstance();
215  }        
216         
217 if(sb1.length()>0){ %>
218 <tr>
219     <td width="80px"><strong>导入导出:<strong></td>
220     <td><%out.print(sb1.toString());%></td>
221 </tr>
222 <%} %>
223 </table>
224 </div>
225 <%_1 = null;printLink=null;printButton=null;funcLink=null;funcLinkButton=null;%>
226