Digital Office Automation System Backend
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

common.macro.ftl 10.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <#macro commonStyle>
  2. <#-- favicon -->
  3. <link rel="icon" href="${request.contextPath}/static/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 -->
  9. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap/css/bootstrap.min.css">
  10. <!-- Font Awesome -->
  11. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/font-awesome/css/font-awesome.min.css">
  12. <!-- Ionicons -->
  13. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/Ionicons/css/ionicons.min.css">
  14. <!-- Theme style -->
  15. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/AdminLTE.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. <!-- pace -->
  25. <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/PACE/themes/blue/pace-theme-flash.css">
  26. <#-- i18n -->
  27. <#global I18n = I18nUtil.getMultString()?eval />
  28. </#macro>
  29. <#macro commonScript>
  30. <!-- jQuery -->
  31. <script src="${request.contextPath}/static/adminlte/bower_components/jquery/jquery.min.js"></script>
  32. <!-- Bootstrap -->
  33. <script src="${request.contextPath}/static/adminlte/bower_components/bootstrap/js/bootstrap.min.js"></script>
  34. <!-- FastClick -->
  35. <script src="${request.contextPath}/static/adminlte/bower_components/fastclick/fastclick.js"></script>
  36. <!-- AdminLTE App -->
  37. <script src="${request.contextPath}/static/adminlte/dist/js/adminlte.min.js"></script>
  38. <!-- jquery.slimscroll -->
  39. <script src="${request.contextPath}/static/adminlte/bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script>
  40. <!-- pace -->
  41. <script src="${request.contextPath}/static/adminlte/bower_components/PACE/pace.min.js"></script>
  42. <#-- jquery cookie -->
  43. <script src="${request.contextPath}/static/plugins/jquery/jquery.cookie.js"></script>
  44. <#-- jquery.validate -->
  45. <script src="${request.contextPath}/static/plugins/jquery/jquery.validate.min.js"></script>
  46. <#-- layer -->
  47. <script src="${request.contextPath}/static/plugins/layer/layer.js"></script>
  48. <#-- common -->
  49. <script src="${request.contextPath}/static/js/common.1.js"></script>
  50. <script>
  51. var base_url = '${request.contextPath}';
  52. var I18n = ${I18nUtil.getMultString()};
  53. </script>
  54. </#macro>
  55. <#macro commonHeader>
  56. <header class="main-header">
  57. <a href="${request.contextPath}/" class="logo">
  58. <span class="logo-mini"><b>XXL</b></span>
  59. <span class="logo-lg"><b>${I18n.admin_name}</b></span>
  60. </a>
  61. <nav class="navbar navbar-static-top" role="navigation">
  62. <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
  63. <span class="sr-only">Toggle navigation</span>
  64. <span class="icon-bar"></span>
  65. <span class="icon-bar"></span>
  66. <span class="icon-bar"></span>
  67. </a>
  68. <div class="navbar-custom-menu">
  69. <ul class="nav navbar-nav">
  70. <#-- login user -->
  71. <li class="dropdown">
  72. <a href="javascript:" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  73. ${I18n.system_welcome} ${Request["XXL_JOB_LOGIN_IDENTITY"].username}
  74. <span class="caret"></span>
  75. </a>
  76. <ul class="dropdown-menu" role="menu">
  77. <li id="updatePwd" ><a href="javascript:">${I18n.change_pwd}</a></li>
  78. <li id="logoutBtn" ><a href="javascript:">${I18n.logout_btn}</a></li>
  79. </ul>
  80. </li>
  81. </ul>
  82. </div>
  83. </nav>
  84. </header>
  85. <!-- 修改密码.模态框 -->
  86. <div class="modal fade" id="updatePwdModal" tabindex="-1" role="dialog" aria-hidden="true">
  87. <div class="modal-dialog ">
  88. <div class="modal-content">
  89. <div class="modal-header">
  90. <h4 class="modal-title" >${I18n.change_pwd}</h4>
  91. </div>
  92. <div class="modal-body">
  93. <form class="form-horizontal form" role="form" >
  94. <div class="form-group">
  95. <label for="lastname" class="col-sm-2 control-label">${I18n.change_pwd_field_newpwd}<font color="red">*</font></label>
  96. <div class="col-sm-10"><input type="text" class="form-control" name="password" placeholder="${I18n.system_please_input} ${I18n.change_pwd_field_newpwd}" maxlength="18" ></div>
  97. </div>
  98. <hr>
  99. <div class="form-group">
  100. <div class="col-sm-offset-3 col-sm-6">
  101. <button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
  102. <button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
  103. </div>
  104. </div>
  105. </form>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </#macro>
  111. <#macro commonLeft pageName >
  112. <!-- Left side column. contains the logo and sidebar -->
  113. <aside class="main-sidebar">
  114. <!-- sidebar: style can be found in sidebar.less -->
  115. <section class="sidebar">
  116. <!-- sidebar menu: : style can be found in sidebar.less -->
  117. <ul class="sidebar-menu">
  118. <li class="header">${I18n.system_nav}</li>
  119. <li class="nav-click <#if pageName == "index">active</#if>" ><a href="${request.contextPath}/"><i class="fa fa-circle-o text-aqua"></i><span>${I18n.job_dashboard_name}</span></a></li>
  120. <li class="nav-click <#if pageName == "jobinfo">active</#if>" ><a href="${request.contextPath}/jobinfo"><i class="fa fa-circle-o text-yellow"></i><span>${I18n.jobinfo_name}</span></a></li>
  121. <li class="nav-click <#if pageName == "joblog">active</#if>" ><a href="${request.contextPath}/joblog"><i class="fa fa-circle-o text-green"></i><span>${I18n.joblog_name}</span></a></li>
  122. <#if Request["XXL_JOB_LOGIN_IDENTITY"].role == 1>
  123. <li class="nav-click <#if pageName == "jobgroup">active</#if>" ><a href="${request.contextPath}/jobgroup"><i class="fa fa-circle-o text-red"></i><span>${I18n.jobgroup_name}</span></a></li>
  124. <li class="nav-click <#if pageName == "user">active</#if>" ><a href="${request.contextPath}/user"><i class="fa fa-circle-o text-purple"></i><span>${I18n.user_manage}</span></a></li>
  125. </#if>
  126. <li class="nav-click <#if pageName == "help">active</#if>" ><a href="${request.contextPath}/help"><i class="fa fa-circle-o text-gray"></i><span>${I18n.job_help}</span></a></li>
  127. </ul>
  128. </section>
  129. <!-- /.sidebar -->
  130. </aside>
  131. </#macro>
  132. <#macro commonControl >
  133. <!-- Control Sidebar -->
  134. <aside class="control-sidebar control-sidebar-dark">
  135. <!-- Create the tabs -->
  136. <ul class="nav nav-tabs nav-justified control-sidebar-tabs">
  137. <li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li>
  138. <li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li>
  139. </ul>
  140. <!-- Tab panes -->
  141. <div class="tab-content">
  142. <!-- Home tab content -->
  143. <div class="tab-pane active" id="control-sidebar-home-tab">
  144. <h3 class="control-sidebar-heading">近期活动</h3>
  145. <ul class="control-sidebar-menu">
  146. <li>
  147. <a href="javascript::;">
  148. <i class="menu-icon fa fa-birthday-cake bg-red"></i>
  149. <div class="menu-info">
  150. <h4 class="control-sidebar-subheading">张三今天过生日</h4>
  151. <p>2015-09-10</p>
  152. </div>
  153. </a>
  154. </li>
  155. <li>
  156. <a href="javascript::;">
  157. <i class="menu-icon fa fa-user bg-yellow"></i>
  158. <div class="menu-info">
  159. <h4 class="control-sidebar-subheading">Frodo 更新了资料</h4>
  160. <p>更新手机号码 +1(800)555-1234</p>
  161. </div>
  162. </a>
  163. </li>
  164. <li>
  165. <a href="javascript::;">
  166. <i class="menu-icon fa fa-envelope-o bg-light-blue"></i>
  167. <div class="menu-info">
  168. <h4 class="control-sidebar-subheading">Nora 加入邮件列表</h4>
  169. <p>nora@example.com</p>
  170. </div>
  171. </a>
  172. </li>
  173. <li>
  174. <a href="javascript::;">
  175. <i class="menu-icon fa fa-file-code-o bg-green"></i>
  176. <div class="menu-info">
  177. <h4 class="control-sidebar-subheading">001号定时作业调度</h4>
  178. <p>5秒前执行</p>
  179. </div>
  180. </a>
  181. </li>
  182. </ul>
  183. <!-- /.control-sidebar-menu -->
  184. </div>
  185. <!-- /.tab-pane -->
  186. <!-- Settings tab content -->
  187. <div class="tab-pane" id="control-sidebar-settings-tab">
  188. <form method="post">
  189. <h3 class="control-sidebar-heading">个人设置</h3>
  190. <div class="form-group">
  191. <label class="control-sidebar-subheading"> 左侧菜单自适应
  192. <input type="checkbox" class="pull-right" checked>
  193. </label>
  194. <p>左侧菜单栏样式自适应</p>
  195. </div>
  196. <!-- /.form-group -->
  197. </form>
  198. </div>
  199. <!-- /.tab-pane -->
  200. </div>
  201. </aside>
  202. <!-- /.control-sidebar -->
  203. <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
  204. <div class="control-sidebar-bg"></div>
  205. </#macro>
  206. <#macro commonFooter >
  207. <footer class="main-footer">
  208. Powered by <b>XXL-JOB</b> ${I18n.admin_version}
  209. <div class="pull-right hidden-xs">
  210. <strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;
  211. <a href="https://www.xuxueli.com/" target="_blank" >xuxueli</a>
  212. &nbsp;
  213. <a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
  214. </strong><!-- All rights reserved. -->
  215. </div>
  216. </footer>
  217. </#macro>