common.macro.ftl 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <#macro commonStyle>
  2. <#-- favicon -->
  3. <link rel="icon" href="favicon.ico" />
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <!-- Tell the browser to be responsive to screen width -->
  7. <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  8. <!-- Bootstrap 3.3.5 -->
  9. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bootstrap/css/bootstrap.min.css">
  10. <!-- Font Awesome -->
  11. <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css"> -->
  12. <link rel="stylesheet" href="${request.contextPath}/static/plugins/font-awesome-4.5.0/css/font-awesome.min.css">
  13. <!-- Ionicons -->
  14. <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css"> -->
  15. <link rel="stylesheet" href="${request.contextPath}/static/plugins/ionicons-2.0.1/css/ionicons.min.css">
  16. <!-- Theme style -->
  17. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/AdminLTE-local.min.css">
  18. <!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. -->
  19. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/skins/_all-skins.min.css">
  20. <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  21. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  22. <!--[if lt IE 9]>
  23. <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  24. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  25. <![endif]-->
  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.2.3.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.min.js"></script>
  36. <!-- AdminLTE App -->
  37. <script src="${request.contextPath}/static/adminlte/dist/js/app.min.js"></script>
  38. <#-- jquery.slimscroll -->
  39. <script src="${request.contextPath}/static/adminlte/plugins/slimScroll/jquery.slimscroll.min.js"></script>
  40. <!-- pace -->
  41. <script src="${request.contextPath}/static/plugins/pace/pace.min.js"></script>
  42. <#-- jquery cookie -->
  43. <script src="${request.contextPath}/static/plugins/jquery/jquery.cookie.js"></script>
  44. <#-- layer -->
  45. <script src="${request.contextPath}/static/plugins/layer/layer.js"></script>
  46. <#-- common -->
  47. <script src="${request.contextPath}/static/js/common.1.js"></script>
  48. <script>
  49. var base_url = '${request.contextPath}';
  50. var system_tips = '${I18nUtil.getString("system_tips")}';
  51. var system_ok = '${I18nUtil.getString("system_ok")}';
  52. var system_close = '${I18nUtil.getString("system_close")}';
  53. var logout_confirm = '${I18nUtil.getString("logout_confirm")}';
  54. var logout_success = '${I18nUtil.getString("logout_success")}';
  55. var logout_fail = '${I18nUtil.getString("logout_fail")}';
  56. </script>
  57. </#macro>
  58. <#macro commonHeader>
  59. <header class="main-header">
  60. <a href="${request.contextPath}/" class="logo">
  61. <span class="logo-mini"><b>XXL</b></span>
  62. <span class="logo-lg"><b>${I18nUtil.getString("admin_name")}</b></span>
  63. </a>
  64. <nav class="navbar navbar-static-top" role="navigation">
  65. <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button"><span class="sr-only">切换导航</span></a>
  66. <div class="navbar-custom-menu">
  67. <ul class="nav navbar-nav">
  68. <li class="dropdown user user-menu">
  69. <a href=";" id="logoutBtn" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  70. <span class="hidden-xs">${I18nUtil.getString("logout_btn")}</span>
  71. </a>
  72. </li>
  73. </ul>
  74. </div>
  75. </nav>
  76. </header>
  77. </#macro>
  78. <#macro commonLeft pageName >
  79. <!-- Left side column. contains the logo and sidebar -->
  80. <aside class="main-sidebar">
  81. <!-- sidebar: style can be found in sidebar.less -->
  82. <section class="sidebar">
  83. <!-- sidebar menu: : style can be found in sidebar.less -->
  84. <ul class="sidebar-menu">
  85. <#--<li class="header">常用模块</li>-->
  86. <li class="nav-click <#if pageName == "jobinfo">active</#if>" ><a href="${request.contextPath}/jobinfo"><i class="fa fa-circle-o text-aqua"></i><span>${I18nUtil.getString("jobinfo_name")}</span></a></li>
  87. <li class="nav-click <#if pageName == "joblog">active</#if>" ><a href="${request.contextPath}/joblog"><i class="fa fa-circle-o text-yellow"></i><span>${I18nUtil.getString("joblog_name")}</span></a></li>
  88. <li class="nav-click <#if pageName == "jobgroup">active</#if>" ><a href="${request.contextPath}/jobgroup"><i class="fa fa-circle-o text-green"></i><span>${I18nUtil.getString("jobgroup_name")}</span></a></li>
  89. <li class="nav-click <#if pageName == "help">active</#if>" ><a href="${request.contextPath}/help"><i class="fa fa-circle-o text-gray"></i><span>${I18nUtil.getString("job_help")}</span></a></li>
  90. </ul>
  91. </section>
  92. <!-- /.sidebar -->
  93. </aside>
  94. </#macro>
  95. <#macro commonControl >
  96. <!-- Control Sidebar -->
  97. <aside class="control-sidebar control-sidebar-dark">
  98. <!-- Create the tabs -->
  99. <ul class="nav nav-tabs nav-justified control-sidebar-tabs">
  100. <li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li>
  101. <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li>
  102. </ul>
  103. <!-- Tab panes -->
  104. <div class="tab-content">
  105. <!-- Home tab content -->
  106. <div class="tab-pane active" id="control-sidebar-home-tab">
  107. <h3 class="control-sidebar-heading">近期活动</h3>
  108. <ul class="control-sidebar-menu">
  109. <li>
  110. <a href="javascript::;">
  111. <i class="menu-icon fa fa-birthday-cake bg-red"></i>
  112. <div class="menu-info">
  113. <h4 class="control-sidebar-subheading">张三今天过生日</h4>
  114. <p>2015-09-10</p>
  115. </div>
  116. </a>
  117. </li>
  118. <li>
  119. <a href="javascript::;">
  120. <i class="menu-icon fa fa-user bg-yellow"></i>
  121. <div class="menu-info">
  122. <h4 class="control-sidebar-subheading">Frodo 更新了资料</h4>
  123. <p>更新手机号码 +1(800)555-1234</p>
  124. </div>
  125. </a>
  126. </li>
  127. <li>
  128. <a href="javascript::;">
  129. <i class="menu-icon fa fa-envelope-o bg-light-blue"></i>
  130. <div class="menu-info">
  131. <h4 class="control-sidebar-subheading">Nora 加入邮件列表</h4>
  132. <p>nora@example.com</p>
  133. </div>
  134. </a>
  135. </li>
  136. <li>
  137. <a href="javascript::;">
  138. <i class="menu-icon fa fa-file-code-o bg-green"></i>
  139. <div class="menu-info">
  140. <h4 class="control-sidebar-subheading">001号定时作业调度</h4>
  141. <p>5秒前执行</p>
  142. </div>
  143. </a>
  144. </li>
  145. </ul>
  146. <!-- /.control-sidebar-menu -->
  147. </div>
  148. <!-- /.tab-pane -->
  149. <!-- Settings tab content -->
  150. <div class="tab-pane" id="control-sidebar-settings-tab">
  151. <form method="post">
  152. <h3 class="control-sidebar-heading">个人设置</h3>
  153. <div class="form-group">
  154. <label class="control-sidebar-subheading"> 左侧菜单自适应
  155. <input type="checkbox" class="pull-right" checked>
  156. </label>
  157. <p>左侧菜单栏样式自适应</p>
  158. </div>
  159. <!-- /.form-group -->
  160. </form>
  161. </div>
  162. <!-- /.tab-pane -->
  163. </div>
  164. </aside>
  165. <!-- /.control-sidebar -->
  166. <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
  167. <div class="control-sidebar-bg"></div>
  168. </#macro>
  169. <#macro commonFooter >
  170. <footer class="main-footer">
  171. Powered by <b>XXL-JOB</b> 1.9.1(SNAPSHOT)
  172. <div class="pull-right hidden-xs">
  173. <strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;
  174. <a href="http://www.xuxueli.com/" target="_blank" >xuxueli</a>
  175. &nbsp;
  176. <a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
  177. </strong><!-- All rights reserved. -->
  178. </div>
  179. </footer>
  180. </#macro>