common.macro.ftl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <#macro commonStyle>
  2. <meta charset="utf-8">
  3. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  4. <!-- Tell the browser to be responsive to screen width -->
  5. <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  6. <!-- Bootstrap 3.3.5 -->
  7. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bootstrap/css/bootstrap.min.css">
  8. <!-- Font Awesome -->
  9. <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> -->
  10. <link rel="stylesheet" href="${request.contextPath}/static/plugins/font-awesome-4.3.0/css/font-awesome.min.css">
  11. <!-- Ionicons -->
  12. <!-- <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> -->
  13. <link rel="stylesheet" href="${request.contextPath}/static/plugins/ionicons-2.0.1/css/ionicons.min.css">
  14. <!-- Theme style -->
  15. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/AdminLTE-local.min.css">
  16. <!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. -->
  17. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/skins/_all-skins.min.css">
  18. <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  19. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  20. <!--[if lt IE 9]>
  21. <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  22. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  23. <![endif]-->
  24. <!-- scrollup -->
  25. <link rel="stylesheet" href="${request.contextPath}/static/plugins/scrollup/image.css">
  26. <!-- pace -->
  27. <link rel="stylesheet" href="${request.contextPath}/static/plugins/pace/themes/pace-theme-flash.css">
  28. </#macro>
  29. <#macro commonScript>
  30. <!-- jQuery 2.1.4 -->
  31. <script src="${request.contextPath}/static/adminlte/plugins/jQuery/jQuery-2.1.4.min.js"></script>
  32. <!-- Bootstrap 3.3.5 -->
  33. <script src="${request.contextPath}/static/adminlte/bootstrap/js/bootstrap.min.js"></script>
  34. <!-- FastClick -->
  35. <script src="${request.contextPath}/static/adminlte/plugins/fastclick/fastclick.js"></script>
  36. <!-- AdminLTE App -->
  37. <script src="${request.contextPath}/static/adminlte/dist/js/app.min.js"></script>
  38. <!-- scrollup -->
  39. <script src="${request.contextPath}/static/plugins/scrollup/jquery.scrollUp.min.js"></script>
  40. <!-- pace -->
  41. <script src="${request.contextPath}/static/plugins/pace/pace.min.js"></script>
  42. <script src="${request.contextPath}/static/plugins/jquery/jquery.cookie.js"></script>
  43. <script src="${request.contextPath}/static/js/common.1.js"></script>
  44. <script>var base_url = '${request.contextPath}';</script>
  45. </#macro>
  46. <#macro commonHeader>
  47. <header class="main-header">
  48. <a href="${request.contextPath}/" class="logo">
  49. <span class="logo-mini"><b>X</b>XL</span>
  50. <span class="logo-lg"><b>任务调度</b>中心</span>
  51. </a>
  52. <nav class="navbar navbar-static-top" role="navigation">
  53. <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button"><span class="sr-only">切换导航</span></a>
  54. <div class="navbar-custom-menu">
  55. <ul class="nav navbar-nav">
  56. <li class="dropdown user user-menu">
  57. <a href=";" id="logoutBtn" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  58. <span class="hidden-xs">注销</span>
  59. </a>
  60. </li>
  61. </ul>
  62. </div>
  63. </nav>
  64. </header>
  65. </#macro>
  66. <#macro commonLeft>
  67. <!-- Left side column. contains the logo and sidebar -->
  68. <aside class="main-sidebar">
  69. <!-- sidebar: style can be found in sidebar.less -->
  70. <section class="sidebar">
  71. <!-- sidebar menu: : style can be found in sidebar.less -->
  72. <ul class="sidebar-menu">
  73. <li class="header">常用模块</li>
  74. <li class="nav-click" ><a href="${request.contextPath}/jobinfo"><i class="fa fa-circle-o text-red"></i> <span>调度管理</span></a></li>
  75. <li class="nav-click" ><a href="${request.contextPath}/joblog"><i class="fa fa-circle-o text-yellow"></i><span>调度日志</span></a></li>
  76. <li class="nav-click" ><a href="${request.contextPath}/help"><i class="fa fa-circle-o text-yellow"></i><span>使用教程</span></a></li>
  77. </ul>
  78. </section>
  79. <!-- /.sidebar -->
  80. </aside>
  81. </#macro>
  82. <#macro commonControl >
  83. <!-- Control Sidebar -->
  84. <aside class="control-sidebar control-sidebar-dark">
  85. <!-- Create the tabs -->
  86. <ul class="nav nav-tabs nav-justified control-sidebar-tabs">
  87. <li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li>
  88. <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li>
  89. </ul>
  90. <!-- Tab panes -->
  91. <div class="tab-content">
  92. <!-- Home tab content -->
  93. <div class="tab-pane active" id="control-sidebar-home-tab">
  94. <h3 class="control-sidebar-heading">近期活动</h3>
  95. <ul class="control-sidebar-menu">
  96. <li>
  97. <a href="javascript::;">
  98. <i class="menu-icon fa fa-birthday-cake bg-red"></i>
  99. <div class="menu-info">
  100. <h4 class="control-sidebar-subheading">张三今天过生日</h4>
  101. <p>2015-09-10</p>
  102. </div>
  103. </a>
  104. </li>
  105. <li>
  106. <a href="javascript::;">
  107. <i class="menu-icon fa fa-user bg-yellow"></i>
  108. <div class="menu-info">
  109. <h4 class="control-sidebar-subheading">Frodo 更新了资料</h4>
  110. <p>更新手机号码 +1(800)555-1234</p>
  111. </div>
  112. </a>
  113. </li>
  114. <li>
  115. <a href="javascript::;">
  116. <i class="menu-icon fa fa-envelope-o bg-light-blue"></i>
  117. <div class="menu-info">
  118. <h4 class="control-sidebar-subheading">Nora 加入邮件列表</h4>
  119. <p>nora@example.com</p>
  120. </div>
  121. </a>
  122. </li>
  123. <li>
  124. <a href="javascript::;">
  125. <i class="menu-icon fa fa-file-code-o bg-green"></i>
  126. <div class="menu-info">
  127. <h4 class="control-sidebar-subheading">001号定时作业调度</h4>
  128. <p>5秒前执行</p>
  129. </div>
  130. </a>
  131. </li>
  132. </ul>
  133. <!-- /.control-sidebar-menu -->
  134. </div>
  135. <!-- /.tab-pane -->
  136. <!-- Settings tab content -->
  137. <div class="tab-pane" id="control-sidebar-settings-tab">
  138. <form method="post">
  139. <h3 class="control-sidebar-heading">个人设置</h3>
  140. <div class="form-group">
  141. <label class="control-sidebar-subheading"> 左侧菜单自适应
  142. <input type="checkbox" class="pull-right" checked>
  143. </label>
  144. <p>左侧菜单栏样式自适应</p>
  145. </div>
  146. <!-- /.form-group -->
  147. </form>
  148. </div>
  149. <!-- /.tab-pane -->
  150. </div>
  151. </aside>
  152. <!-- /.control-sidebar -->
  153. <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
  154. <div class="control-sidebar-bg"></div>
  155. </#macro>
  156. <#macro commonFooter >
  157. <footer class="main-footer">
  158. <div class="pull-right hidden-xs">
  159. <b>Version</b> 1.3
  160. </div>
  161. <strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;
  162. <a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>&nbsp;
  163. <a href="http://my.oschina.net/xuxueli/blog/690978" target="_blank" >oschina</a>
  164. </strong><!-- All rights reserved. -->
  165. </footer>
  166. </#macro>
  167. <#macro comAlert >
  168. <!-- ComAlert.模态框Modal -->
  169. <div class="modal fade" id="ComAlert" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  170. <div class="modal-dialog">
  171. <div class="modal-content">
  172. <!-- <div class="modal-header"><h4 class="modal-title"><strong>提示:</strong></h4></div> -->
  173. <div class="modal-body"><div class="alert alert-success"></div></div>
  174. <div class="modal-footer">
  175. <div class="text-center" >
  176. <button type="button" class="btn btn-default ok" data-dismiss="modal" >确认</button>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. <!-- ComConfirm.模态框Modal -->
  183. <div class="modal fade" id="ComConfirm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  184. <div class="modal-dialog">
  185. <div class="modal-content">
  186. <div class="modal-body"><div class="alert alert-success"></div></div>
  187. <div class="modal-footer">
  188. <div class="text-center" >
  189. <button type="button" class="btn btn-primary ok" data-dismiss="modal" >确认</button>
  190. <button type="button" class="btn btn-default cancel" data-dismiss="modal" >取消</button>
  191. </div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. <!-- ComAlertTec.模态框Modal-科技感 -->
  197. <div class="modal fade" id="ComAlertTec" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  198. <div class="modal-dialog">
  199. <div class="modal-content-tec">
  200. <div class="modal-body"><div class="alert" style="color:#fff;"></div></div>
  201. <div class="modal-footer">
  202. <div class="text-center" >
  203. <button type="button" class="btn btn-info ok" data-dismiss="modal" >确认</button>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. <script>
  210. // 通用提示
  211. var ComAlert = {
  212. show:function(type, msg, callback){
  213. // 弹框初始
  214. if (type == 1) {
  215. $('#ComAlert .alert').attr('class', 'alert alert-success');
  216. } else {
  217. $('#ComAlert .alert').attr('class', 'alert alert-warning');
  218. }
  219. $('#ComAlert .alert').html(msg);
  220. $('#ComAlert').modal('show');
  221. $('#ComAlert .ok').click(function(){
  222. $('#ComAlert').modal('hide');
  223. if(typeof callback == 'function') {
  224. callback();
  225. }
  226. });
  227. // $("#ComAlert").on('hide.bs.modal', function () { }); // 监听关闭
  228. }
  229. };
  230. // 通用确认弹框
  231. var ComConfirm = {
  232. show:function(msg, callback){
  233. // 弹框初始
  234. $('#ComConfirm .alert').attr('class', 'alert alert-warning');
  235. $('#ComConfirm .alert').html(msg);
  236. $('#ComConfirm').modal('show');
  237. $('#ComConfirm .ok').unbind("click"); // 解绑陈旧事件
  238. $('#ComConfirm .ok').click(function(){
  239. $('#ComConfirm').modal('hide');
  240. if(typeof callback == 'function') {
  241. callback();
  242. return;
  243. }
  244. });
  245. $('#ComConfirm .cancel').click(function(){
  246. $('#ComConfirm').modal('hide');
  247. return;
  248. });
  249. }
  250. };
  251. // 提示-科技主题
  252. var ComAlertTec = {
  253. show:function(msg, callback){
  254. // 弹框初始
  255. $('#ComAlertTec .alert').html(msg);
  256. $('#ComAlertTec').modal('show');
  257. $('#ComAlertTec .ok').click(function(){
  258. $('#ComAlertTec').modal('hide');
  259. if(typeof callback == 'function') {
  260. callback();
  261. }
  262. });
  263. }
  264. };
  265. </script>
  266. </#macro>