statForFlowForm.jsp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. <%@ page language="java" contentType="text/html;charset=GBK"
  2. pageEncoding="GBK"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html;charset=GBK">
  8. <title>流程表单统计</title>
  9. <script src="/shares/js/jquery-1.8.2.js" type="text/javascript"></script>
  10. <link href="${pageContext.request.contextPath }/liger/lib/ligerUI/skins/${sessionScope.css}/css/ligerui-all.css"
  11. rel="stylesheet" type="text/css" />
  12. <link href="/shares/Zebra_Datepicker-master/public/css/bootstrap.css"
  13. rel="stylesheet" type="text/css" />
  14. <link href="${pageContext.request.contextPath}/main.css" rel="stylesheet" type="text/css" />
  15. <script type="text/javascript" src="/shares/js/constant.js"></script>
  16. <script type="text/javascript" src="/shares/js/common.js"></script>
  17. <script type="text/javascript" src="/shares/js/yw/bpm/oa.js"></script>
  18. <script type="text/javascript" src="/shares/Zebra_Datepicker-master/public/javascript/zebra_datepicker.js"></script>
  19. <script type="text/javascript" src="/shares/js/yw/bpm/promptDefine.js"></script>
  20. <script type="text/javascript">
  21. $(document).ready(function(){
  22. loadTypeTree("userButton",{type:"users", tab:"1", backId:"users", backName:"usersName"});
  23. loadTypeTree("deptButton",{type:"deptonly", tab:"1", backId:"depts", backName:"deptNames"});
  24. $("#starttime0").Zebra_DatePicker({
  25. format: 'Y',
  26. days: ['日', '一', '二', '三', '四', '五', '六'],
  27. months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  28. lang_clear_date: '清除',
  29. show_select_today: '今天'
  30. });
  31. $("#starttime1").Zebra_DatePicker({
  32. format: 'Y-m',
  33. days: ['日', '一', '二', '三', '四', '五', '六'],
  34. months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  35. lang_clear_date: '清除',
  36. show_select_today: '今天'
  37. });
  38. $("#starttime2").Zebra_DatePicker({
  39. format: 'Y-m-d',
  40. days: ['日', '一', '二', '三', '四', '五', '六'],
  41. months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  42. lang_clear_date: '清除',
  43. show_select_today: '今天'
  44. });
  45. $("#starttime3").Zebra_DatePicker({
  46. format: 'Y-m-d',
  47. days: ['日', '一', '二', '三', '四', '五', '六'],
  48. months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  49. lang_clear_date: '清除',
  50. show_select_today: '今天',
  51. pair : $("#endtime3")
  52. });
  53. $("#endtime3").Zebra_DatePicker({
  54. format: 'Y-m-d',
  55. days: ['日', '一', '二', '三', '四', '五', '六'],
  56. months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  57. lang_clear_date: '清除',
  58. show_select_today: '今天'
  59. });
  60. changeTimer();
  61. });
  62. function changeTree(){
  63. var stype = $("#stype").val();
  64. if(stype == 0){
  65. $("#deptTree").show();
  66. $("#userTree").hide();
  67. } else {
  68. $("#deptTree").hide();
  69. $("#userTree").show();
  70. }
  71. }
  72. function changeTimer(){
  73. var dtype = $("#dtype").val();
  74. $("[id*='timer']").hide();
  75. if(dtype == 0){
  76. $("#timer0").show();
  77. } else if (dtype == 1){
  78. $("#timer1").show();
  79. } else if (dtype == 2){
  80. $("#timer2").show();
  81. } else if (dtype == 3){
  82. $("#timer3").show();
  83. }
  84. }
  85. function submitForm(submitType){
  86. var rs = true;
  87. var formStat = $("#formStat").val();
  88. var stype = $("#stype").val();
  89. var target = null;
  90. var starttime = null;
  91. var endtime = null;
  92. if(formStat == ""){
  93. rs = $.validate({
  94. name : "formStat",
  95. model : [ {
  96. type : "require",
  97. msg : "请选择统计模板!"
  98. }]
  99. }) && rs;
  100. }
  101. if(stype == 0){
  102. rs = $.validate({
  103. name : "depts",
  104. model : [ {
  105. type : "require",
  106. msg : "请选择部门!"
  107. }]
  108. }) && rs;
  109. target = $("#depts").val();
  110. } else {
  111. rs = $.validate({
  112. name : "users",
  113. model : [ {
  114. type : "require",
  115. msg : "请选择人员!"
  116. }]
  117. }) && rs;
  118. target = $("#users").val();
  119. }
  120. var dtype = $("#dtype").val();
  121. if(dtype == 0){
  122. rs = $.validate({
  123. name : "starttime0",
  124. model : [ {
  125. type : "require",
  126. msg : "请选择年份!"
  127. }]
  128. }) && rs;
  129. starttime = $("#starttime0").val();
  130. } else if (dtype == 1){
  131. rs = $.validate({
  132. name : "starttime1",
  133. model : [ {
  134. type : "require",
  135. msg : "请选择月份!"
  136. }]
  137. }) && rs;
  138. starttime = $("#starttime1").val();
  139. } else if (dtype == 2){
  140. rs = $.validate({
  141. name : "starttime2",
  142. model : [ {
  143. type : "require",
  144. msg : "请选择日期!"
  145. }]
  146. }) && rs;
  147. starttime = $("#starttime2").val();
  148. } else if (dtype == 3){
  149. rs = $.validate({
  150. name : "starttime3",
  151. model : [ {
  152. type : "require",
  153. msg : "请选择起始日期!"
  154. }]
  155. }) && rs;
  156. rs = $.validate({
  157. name : "endtime3",
  158. model : [ {
  159. type : "require",
  160. msg : "请选择结束日期!"
  161. }]
  162. }) && rs;
  163. starttime = $("#starttime3").val();
  164. endtime = $("#endtime3").val();
  165. }
  166. if(rs){
  167. if(submitType == 'statFlowForm'){
  168. $.ajax({
  169. type:"POST",
  170. url:"FormStatAction.do?task=statFlowForm&formStat="+formStat+"&stype="
  171. + stype + "&target=" + target + "&dtype=" + dtype + "&starttime=" + starttime +
  172. "&endtime=" + endtime,
  173. data : "",
  174. async : true,
  175. success:function(data){
  176. var jsonobj=eval('('+data+')');
  177. var result = jsonobj.result;
  178. if(result == "success"){
  179. var columnNames = jsonobj.columnNames;
  180. var list = jsonobj.list;
  181. var titles = "";
  182. for(var i=0;i<columnNames.length;i++){
  183. titles = titles + "<th>"+columnNames[i]+"</th>";
  184. }
  185. $("#ctitle").html(titles);
  186. var trs = "";
  187. for(var i=0;i<list.length;i++){
  188. var json = list[i];
  189. var tr = "";
  190. if(i%2==0){
  191. tr = "<tr class=\"one\">";
  192. }else{
  193. tr = "<tr class=\"two\">";
  194. }
  195. for (x in json){
  196. var r = json[x];
  197. if(r == null){
  198. r = "";
  199. }
  200. tr = tr + "<td>" + r + "</td>";
  201. }
  202. tr = tr + "</tr>";
  203. trs = trs + tr;
  204. }
  205. $("#trs").html(trs);
  206. }else{
  207. addError("数据查询错误,请检查配置!");
  208. }
  209. }
  210. });
  211. $.ajax({
  212. type:"POST",
  213. url:"FormStatAction.do?task=statFlowForm&formStat="+formStat+"&stype="
  214. + stype + "&target=" + target + "&dtype=" + dtype + "&starttime=" + starttime +
  215. "&endtime=" + endtime,
  216. data : "",
  217. async : true,
  218. success:function(data){
  219. var jsonobj=eval('('+data+')');
  220. var result = jsonobj.result;
  221. if(result == "success"){
  222. var columnNames = jsonobj.columnNames;
  223. var titles = "";
  224. for(var i=0;i<columnNames.length;i++){
  225. titles = titles + "<th>"+columnNames[i]+"</th>";
  226. }
  227. }else{
  228. addError("数据查询错误,请检查配置!");
  229. }
  230. }
  231. });
  232. }else if(submitType == 'exportFlowFormExcel'){
  233. document.cform.action="FormStatAction.do?task=exportFlowFormExcel&formStat="+formStat+"&stype="
  234. + stype + "&target=" + target + "&dtype=" + dtype + "&starttime=" + starttime + "&endtime=" + endtime;
  235. document.cform.submit();
  236. }
  237. }
  238. return false;
  239. }
  240. </script>
  241. </head>
  242. <body>
  243. <form action="FormStatAction.do" method="post" id="cform" name="cform" >
  244. <div class="container-layout">
  245. <div id="title" class="form-button" style="width: 100%;">
  246. <input onclick="closeTabUseInOA();" type="button" value="关闭" class="l-button">
  247. </div>
  248. <div class="default_search" style="margin: 0; width: 100%;">
  249. <ul class="list_search" style="width:600px;">
  250. <li class="title">统计模板:</li>
  251. <li class="text">
  252. <select id="formStat" name="formStat" style="width : 100px;">
  253. <option value="" >===请选择===</option>
  254. <c:forEach items="${requestScope.formStats }" var="item">
  255. <option value="${item.formStatId }" >${item.formStatName }</option>
  256. </c:forEach>
  257. </select>
  258. </li>
  259. </ul>
  260. </div>
  261. <div class="default_search" style="margin: 0; width: 100%; padding:0;">
  262. <ul class="list_search" style="width:600px;">
  263. <li class="title">统计对象:</li>
  264. <li class="text">
  265. <select id="stype" name="stype" style="width : 100px;" onchange="changeTree()">
  266. <option value="0" selected="selected">部门</option>
  267. <option value="1">员工</option>
  268. </select>
  269. </li>
  270. <li class="text" style="width : 300px;" id="deptTree">
  271. <input type="text" style="width : 200px;" id="deptNames" name="deptNames" value="${requestScope.companyname }">
  272. <input type="button" class="l-button" id="deptButton" name="deptButton" value="选择部门">
  273. <input type="hidden" id="depts" name="depts" value="${requestScope.companyid }">
  274. </li>
  275. <li class="text" style="display: none; width : 300px;" id="userTree">
  276. <input type="text" style="width : 200px;" id="usersName" name="usersName" value="">
  277. <input type="button" class="l-button" id="userButton" name="userButton" value="选择人员">
  278. <input type="hidden" id="users" name="users" value="">
  279. </li>
  280. </ul>
  281. </div>
  282. <div class="default_search" style="margin: 0; width: 100%; padding:0;">
  283. <ul class="list_search" style="width:700px;">
  284. <li class="title">统计时间:</li>
  285. <li class="text">
  286. <select id="dtype" name="dtype" style="width : 100px;" onchange="changeTimer()">
  287. <option value="0" selected="selected">年</option>
  288. <option value="1">月</option>
  289. <!-- <option value="2">日</option> -->
  290. <option value="3">区间</option>
  291. </select>
  292. </li>
  293. <li id="timer0" class="text" style="width : 300px; " >
  294. <input type="text" id="starttime0" name="starttime0" style="width: 100px;" value="${requestScope.nowyear}">
  295. </li>
  296. <li id="timer1" class="text" style="width : 300px; " >
  297. <input type="text" id="starttime1" name="starttime1" style="width: 100px;">
  298. </li>
  299. <li id="timer2" class="text" style="width : 300px;" >
  300. <input type="text" id="starttime2" name="starttime2" style="width: 100px;">
  301. </li>
  302. <li id="timer3" class="text" style="width : 450px; " >
  303. <input type="text" id="starttime3" name="starttime3" style="width: 100px;">
  304. &nbsp;至
  305. <input type="text" id="endtime3" name="endtime3" style="width: 100px;">
  306. </li>
  307. </ul>
  308. </div>
  309. <div class="default_search" style="margin: 0; width: 100%; padding:0;">
  310. <ul class="list_search" style="width:600px;">
  311. <li class="title">&nbsp;
  312. <input type="hidden" id="task" name="task" value="statFlowForm">
  313. </li>
  314. <li class="text">
  315. <input type="button" class="l-button" value="开始统计" onclick="submitForm('statFlowForm')">
  316. </li>
  317. <li class="text">
  318. <input type="button" class="l-button" value="导出EXCEL" onclick="submitForm('exportFlowFormExcel')">
  319. </li>
  320. </ul>
  321. </div>
  322. </div>
  323. <div class="forum-container">
  324. <span style="display:none"></span>
  325. <table class="index-table line" width="100%">
  326. <tr id="ctitle">
  327. </tr>
  328. <tbody id="trs">
  329. </tbody>
  330. </table>
  331. </div>
  332. </form>
  333. </body>
  334. </html>