myleave_list.jsp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4. <%
  5. String path = request.getContextPath();
  6. String basePath = request.getScheme() + "://"
  7. + request.getServerName() + ":" + request.getServerPort()
  8. + path + "/";
  9. %>
  10. <!DOCTYPE html>
  11. <html lang="en">
  12. <head>
  13. <base href="<%=basePath%>">
  14. <!-- jsp文件头和头部 -->
  15. <%@ include file="../../system/index/top.jsp"%>
  16. </head>
  17. <body class="no-skin">
  18. <!-- /section:basics/navbar.layout -->
  19. <div class="main-container" id="main-container">
  20. <!-- /section:basics/sidebar -->
  21. <div class="main-content">
  22. <div class="main-content-inner">
  23. <div class="page-content">
  24. <div class="row">
  25. <div class="col-xs-12">
  26. <!-- 检索 -->
  27. <form action="myleave/list.do" method="post" name="Form" id="Form">
  28. <table style="margin-top:5px;">
  29. <tr>
  30. <td>
  31. <div class="nav-search">
  32. <span class="input-icon">
  33. <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/>
  34. <i class="ace-icon fa fa-search nav-search-icon"></i>
  35. </span>
  36. </div>
  37. </td>
  38. <td style="vertical-align:top;padding-left:2px;">
  39. <select name="TYPE" id="TYPE" title="请假类型" style="width:100%;">
  40. </select>
  41. </td>
  42. <c:if test="${QX.cha == 1 }">
  43. <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
  44. </c:if>
  45. </tr>
  46. </table>
  47. <!-- 检索 -->
  48. <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;">
  49. <thead>
  50. <tr>
  51. <th class="center" style="width:35px;">
  52. <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label>
  53. </th>
  54. <th class="center" style="width:50px;">序号</th>
  55. <th class="center">类型</th>
  56. <th class="center">开始时间</th>
  57. <th class="center">结束时间</th>
  58. <th class="center">时长</th>
  59. <th class="center">申请人</th>
  60. <th class="center">操作</th>
  61. </tr>
  62. </thead>
  63. <tbody>
  64. <!-- 开始循环 -->
  65. <c:choose>
  66. <c:when test="${not empty varList}">
  67. <c:if test="${QX.cha == 1 }">
  68. <c:forEach items="${varList}" var="var" varStatus="vs">
  69. <tr>
  70. <td class='center'>
  71. <label class="pos-rel"><input type='checkbox' name='ids' value="${var.MYLEAVE_ID}" class="ace" /><span class="lbl"></span></label>
  72. </td>
  73. <td class='center' style="width: 30px;">${page.showCount*(page.currentPage-1)+vs.index+1}</td>
  74. <td class='center'>${var.TYPE}</td>
  75. <td class='center'>${var.STARTTIME}</td>
  76. <td class='center'>${var.ENDTIME}</td>
  77. <td class='center'>${var.WHENLONG}</td>
  78. <td class='center'><a onclick="viewUser('${var.USERNAME}')" style="cursor:pointer;"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i>${var.USERNAME}</a></td>
  79. <td class="center">
  80. <c:if test="${QX.edit != 1 && QX.del != 1 }">
  81. <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span>
  82. </c:if>
  83. <div class="hidden-sm hidden-xs btn-group">
  84. <c:if test="${QX.del == 1 }">
  85. <a class="btn btn-xs btn-danger" onclick="del('${var.MYLEAVE_ID}');">
  86. <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i>
  87. </a>
  88. </c:if>
  89. </div>
  90. <div class="hidden-md hidden-lg">
  91. <div class="inline pos-rel">
  92. <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
  93. <i class="ace-icon fa fa-cog icon-only bigger-110"></i>
  94. </button>
  95. <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
  96. <c:if test="${QX.del == 1 }">
  97. <li>
  98. <a style="cursor:pointer;" onclick="del('${var.MYLEAVE_ID}');" class="tooltip-error" data-rel="tooltip" title="删除">
  99. <span class="red">
  100. <i class="ace-icon fa fa-trash-o bigger-120"></i>
  101. </span>
  102. </a>
  103. </li>
  104. </c:if>
  105. </ul>
  106. </div>
  107. </div>
  108. </td>
  109. </tr>
  110. </c:forEach>
  111. </c:if>
  112. <c:if test="${QX.cha == 0 }">
  113. <tr>
  114. <td colspan="100" class="center">您无权查看</td>
  115. </tr>
  116. </c:if>
  117. </c:when>
  118. <c:otherwise>
  119. <tr class="main_info">
  120. <td colspan="100" class="center" >没有相关数据</td>
  121. </tr>
  122. </c:otherwise>
  123. </c:choose>
  124. </tbody>
  125. </table>
  126. <div class="page-header position-relative">
  127. <table style="width:100%;">
  128. <tr>
  129. <td style="vertical-align:top;">
  130. <c:if test="${QX.add == 1 }">
  131. <a class="btn btn-mini btn-success" onclick="add();">请假申请</a>
  132. </c:if>
  133. <c:if test="${QX.del == 1 }">
  134. <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a>
  135. </c:if>
  136. </td>
  137. <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td>
  138. </tr>
  139. </table>
  140. </div>
  141. </form>
  142. </div>
  143. <!-- /.col -->
  144. </div>
  145. <!-- /.row -->
  146. </div>
  147. <!-- /.page-content -->
  148. </div>
  149. </div>
  150. <!-- /.main-content -->
  151. <!-- 返回顶部 -->
  152. <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
  153. <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
  154. </a>
  155. </div>
  156. <!-- /.main-container -->
  157. <!-- basic scripts -->
  158. <!-- 页面底部js¨ -->
  159. <%@ include file="../../system/index/foot.jsp"%>
  160. <!-- 删除时确认窗口 -->
  161. <script src="static/ace/js/bootbox.js"></script>
  162. <!-- ace scripts -->
  163. <script src="static/ace/js/ace/ace.js"></script>
  164. <!--提示框-->
  165. <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  166. <script type="text/javascript">
  167. $(top.hangge());//关闭加载状态
  168. //检索
  169. function tosearch(){
  170. top.jzts();
  171. $("#Form").submit();
  172. }
  173. $(function() {
  174. var TYPE = "${pd.TYPE}";
  175. $.ajax({
  176. type: "POST",
  177. url: '<%=basePath%>dictionaries/getLevels.do?tm='+new Date().getTime(),
  178. data: {DICTIONARIES_ID:'ce174640544549f1b31c8f66e01c111b'},//ce174640544549f1b31c8f66e01c111b 为请假类型ID
  179. dataType:'json',
  180. cache: false,
  181. success: function(data){
  182. $("#TYPE").html('<option value="" >类型</option>');
  183. $.each(data.list, function(i, dvar){
  184. if(TYPE == dvar.BIANMA){
  185. $("#TYPE").append("<option value="+dvar.BIANMA+" selected='selected'>"+dvar.NAME+"</option>");
  186. }else{
  187. $("#TYPE").append("<option value="+dvar.BIANMA+">"+dvar.NAME+"</option>");
  188. }
  189. });
  190. }
  191. });
  192. //复选框全选控制
  193. var active_class = 'active';
  194. $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
  195. var th_checked = this.checked;//checkbox inside "TH" table header
  196. $(this).closest('table').find('tbody > tr').each(function(){
  197. var row = this;
  198. if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
  199. else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
  200. });
  201. });
  202. });
  203. //新增
  204. function add(){
  205. top.jzts();
  206. var diag = new top.Dialog();
  207. diag.Drag=true;
  208. diag.Title ="请假申请";
  209. diag.URL = '<%=basePath%>myleave/goAdd.do';
  210. diag.Width = 600;
  211. diag.Height = 360;
  212. diag.Modal = true; //有无遮罩窗口
  213. diag. ShowMaxButton = true; //最大化按钮
  214. diag.ShowMinButton = true; //最小化按钮
  215. diag.CancelEvent = function(){ //关闭事件
  216. if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  217. $("#simple-table").tips({
  218. side:3,
  219. msg:'已创建请假单,请到待办任务中提交申请',
  220. bg:'#AE81FF',
  221. time:3
  222. });
  223. setTimeout('tosearch()',3000);
  224. }
  225. diag.close();
  226. };
  227. diag.show();
  228. }
  229. //删除
  230. function del(Id){
  231. bootbox.confirm("确定要删除吗?", function(result) {
  232. if(result) {
  233. top.jzts();
  234. var url = "<%=basePath%>myleave/delete.do?MYLEAVE_ID="+Id+"&tm="+new Date().getTime();
  235. $.get(url,function(data){
  236. tosearch();
  237. });
  238. }
  239. });
  240. }
  241. //修改
  242. function edit(Id){
  243. top.jzts();
  244. var diag = new top.Dialog();
  245. diag.Drag=true;
  246. diag.Title ="编辑";
  247. diag.URL = '<%=basePath%>myleave/goEdit.do?MYLEAVE_ID='+Id;
  248. diag.Width = 600;
  249. diag.Height = 360;
  250. diag.Modal = true; //有无遮罩窗口
  251. diag. ShowMaxButton = true; //最大化按钮
  252. diag.ShowMinButton = true; //最小化按钮
  253. diag.CancelEvent = function(){ //关闭事件
  254. if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  255. tosearch();
  256. }
  257. diag.close();
  258. };
  259. diag.show();
  260. }
  261. //批量操作
  262. function makeAll(msg){
  263. bootbox.confirm(msg, function(result) {
  264. if(result) {
  265. var str = '';
  266. for(var i=0;i < document.getElementsByName('ids').length;i++){
  267. if(document.getElementsByName('ids')[i].checked){
  268. if(str=='') str += document.getElementsByName('ids')[i].value;
  269. else str += ',' + document.getElementsByName('ids')[i].value;
  270. }
  271. }
  272. if(str==''){
  273. bootbox.dialog({
  274. message: "<span class='bigger-110'>您没有选择任何内容!</span>",
  275. buttons:
  276. { "button":{ "label":"确定", "className":"btn-sm btn-success"}}
  277. });
  278. $("#zcheckbox").tips({
  279. side:1,
  280. msg:'点这里全选',
  281. bg:'#AE81FF',
  282. time:8
  283. });
  284. return;
  285. }else{
  286. if(msg == '确定要删除选中的数据吗?'){
  287. top.jzts();
  288. $.ajax({
  289. type: "POST",
  290. url: '<%=basePath%>myleave/deleteAll.do?tm='+new Date().getTime(),
  291. data: {DATA_IDS:str},
  292. dataType:'json',
  293. //beforeSend: validateData,
  294. cache: false,
  295. success: function(data){
  296. $.each(data.list, function(i, list){
  297. tosearch();
  298. });
  299. }
  300. });
  301. }
  302. }
  303. }
  304. });
  305. };
  306. //查看用户
  307. function viewUser(USERNAME){
  308. if('admin' == USERNAME){
  309. bootbox.dialog({
  310. message: "<span class='bigger-110'>不能查看admin用户!</span>",
  311. buttons:
  312. { "button":{ "label":"确定", "className":"btn-sm btn-success"}}
  313. });
  314. return;
  315. }
  316. top.jzts();
  317. var diag = new top.Dialog();
  318. diag.Modal = false; //有无遮罩窗口
  319. diag.Drag=true;
  320. diag.Title ="资料";
  321. diag.URL = '<%=basePath%>user/view.do?USERNAME='+USERNAME;
  322. diag.Width = 469;
  323. diag.Height = 380;
  324. diag.CancelEvent = function(){ //关闭事件
  325. diag.close();
  326. };
  327. diag.show();
  328. }
  329. </script>
  330. </body>
  331. </html>