refactor(xxl-job): 重构页面模板结构

- 新增 commonHeader、commonFooter 和 commonLeft宏
- 更新 jobcode、jobgroup、jobinfo 和 joblog 页面结构
- 统一页面样式和布局
- 优化代码可读性和可维护性
3.2.0-release
xuxueli 4 weeks ago
parent bfe7687cbd
commit 8ae13cfab8

@ -82,21 +82,23 @@
</#macro> </#macro>
<#-- page module: Header-->
<#macro commonHeader> <#macro commonHeader>
<header class="main-header"> <header class="main-header">
<!-- header-logo -->
<a href="${request.contextPath}/" class="logo"> <a href="${request.contextPath}/" class="logo">
<span class="logo-mini"><b>XXL</b></span> <span class="logo-mini"><b>XXL</b></span>
<span class="logo-lg"><b>${I18n.admin_name}</b></span> <span class="logo-lg"><b>${I18n.admin_name}</b></span>
</a> </a>
<nav class="navbar navbar-static-top" role="navigation"> <nav class="navbar navbar-static-top" role="navigation">
<!--header left -->
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"> <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button">
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
</a> </a>
<!--header right -->
<div class="navbar-custom-menu"> <div class="navbar-custom-menu">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<#-- login user --> <#-- login user -->
@ -148,6 +150,21 @@
</#macro> </#macro>
<#-- page module: Footer-->
<#macro commonFooter >
<footer class="main-footer">
Powered by <b>XXL-JOB</b> ${I18n.admin_version}
<div class="pull-right hidden-xs">
<strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;
<a href="https://www.xuxueli.com/" target="_blank" >xuxueli</a>
&nbsp;
<a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
</strong><!-- All rights reserved. -->
</div>
</footer>
</#macro>
<#-- page module: Left-->
<#macro commonLeft pageName > <#macro commonLeft pageName >
<!-- Left side column. contains the logo and sidebar --> <!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar"> <aside class="main-sidebar">
@ -198,7 +215,7 @@
<i class="menu-icon fa fa-user bg-yellow"></i> <i class="menu-icon fa fa-user bg-yellow"></i>
<div class="menu-info"> <div class="menu-info">
<h4 class="control-sidebar-subheading">Frodo </h4> <h4 class="control-sidebar-subheading">Frodo </h4>
<p> +1(800)555-1234</p> <p> +1(800)1111-1111</p>
</div> </div>
</a> </a>
</li> </li>
@ -212,7 +229,7 @@
</a> </a>
</li> </li>
<li> <li>
<a href="javascript::;"> <a href="javascript:;">
<i class="menu-icon fa fa-file-code-o bg-green"></i> <i class="menu-icon fa fa-file-code-o bg-green"></i>
<div class="menu-info"> <div class="menu-info">
<h4 class="control-sidebar-subheading">001</h4> <h4 class="control-sidebar-subheading">001</h4>
@ -246,16 +263,3 @@
<!-- Add the sidebar's background. This div must be placed immediately after the control sidebar --> <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar -->
<div class="control-sidebar-bg"></div> <div class="control-sidebar-bg"></div>
</#macro> </#macro>
<#macro commonFooter >
<footer class="main-footer">
Powered by <b>XXL-JOB</b> ${I18n.admin_version}
<div class="pull-right hidden-xs">
<strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;
<a href="https://www.xuxueli.com/" target="_blank" >xuxueli</a>
&nbsp;
<a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
</strong><!-- All rights reserved. -->
</div>
</footer>
</#macro>

@ -1,26 +1,41 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "./common/common.macro.ftl" as netCommon> <#import "./common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<title>${I18n.admin_name}</title>
<#-- biz start1/5 style -->
<#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header --> <!-- header -->
<@netCommon.commonHeader /> <@netCommon.commonHeader />
<!-- left --> <!-- left -->
<#-- biz start2/5 left -->
<@netCommon.commonLeft "help" /> <@netCommon.commonLeft "help" />
<#-- biz end2/5 left -->
<!-- Content Wrapper. Contains page content --> <!-- right start -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) -->
<!-- content-header -->
<section class="content-header"> <section class="content-header">
<#-- biz start3/5 name -->
<h1>${I18n.job_help}</h1> <h1>${I18n.job_help}</h1>
<#-- biz end3/5 name -->
</section> </section>
<!-- Main content --> <!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<div class="callout callout-info"> <div class="callout callout-info">
<h4>${I18n.admin_name_full}</h4> <h4>${I18n.admin_name_full}</h4>
<br> <br>
@ -34,14 +49,20 @@
</p> </p>
<p></p> <p></p>
</div> </div>
<#-- biz end4/5 content -->
</section> </section>
<!-- /.content -->
</div> </div>
<!-- /.content-wrapper --> <!-- right end -->
<!-- footer --> <!-- footer -->
<@netCommon.commonFooter /> <@netCommon.commonFooter />
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -1,36 +1,40 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "./common/common.macro.ftl" as netCommon> <#import "./common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<!-- daterangepicker -->
<#-- biz start1/5 style -->
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.css">
<title>${I18n.admin_name}</title> <#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header --> <!-- header -->
<@netCommon.commonHeader /> <@netCommon.commonHeader />
<!-- left --> <!-- left -->
<@netCommon.commonLeft "index" /> <@netCommon.commonLeft "index" />
<!-- Content Wrapper. Contains page content --> <!-- right start -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) -->
<!-- content-header -->
<section class="content-header"> <section class="content-header">
<#-- biz start3/5 name -->
<h1>${I18n.job_dashboard_name}</h1> <h1>${I18n.job_dashboard_name}</h1>
<!-- <#-- biz end3/5 name -->
<h1><small></small></h1>
<ol class="breadcrumb">
<li><a><i class="fa fa-dashboard"></i></a></li>
<li class="active">使</li>
</ol>
-->
</section> </section>
<!-- Main content --> <!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<!-- --> <!-- -->
<div class="row"> <div class="row">
@ -128,20 +132,26 @@
</div> </div>
</div> </div>
<#-- biz end4/5 content -->
</section> </section>
<!-- /.content -->
</div> </div>
<!-- /.content-wrapper --> <!-- right end -->
<!-- footer --> <!-- footer -->
<@netCommon.commonFooter /> <@netCommon.commonFooter />
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<!-- daterangepicker --> <!-- daterangepicker -->
<script src="${request.contextPath}/static/adminlte/bower_components/moment/moment.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/moment/moment.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
<#-- echarts --> <#-- echarts -->
<script src="${request.contextPath}/static/plugins/echarts/echarts.common.min.js"></script> <script src="${request.contextPath}/static/plugins/echarts/echarts.common.min.js"></script>
<script src="${request.contextPath}/static/js/index.js"></script> <script src="${request.contextPath}/static/js/index.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -1,8 +1,13 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "../common/common.macro.ftl" as netCommon> <#import "../common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<#-- biz start1/5 style -->
<link rel="stylesheet" href="${request.contextPath}/static/plugins/codemirror/lib/codemirror.css"> <link rel="stylesheet" href="${request.contextPath}/static/plugins/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="${request.contextPath}/static/plugins/codemirror/addon/hint/show-hint.css"> <link rel="stylesheet" href="${request.contextPath}/static/plugins/codemirror/addon/hint/show-hint.css">
<title>${I18n.admin_name}</title> <title>${I18n.admin_name}</title>
@ -16,81 +21,86 @@
position: absolute; position: absolute;
} }
</style> </style>
<#-- biz end1/5 end -->
</head> </head>
<body class="skin-blue fixed layout-top-nav"> <body class="skin-blue fixed layout-top-nav">
<div class="wrapper">
<!-- header -->
<#-- biz start2/5 header -->
<header class="main-header">
<nav class="navbar navbar-static-top">
<div class="container">
<#-- icon -->
<div class="navbar-header">
<a class="navbar-brand"><b>Web</b>IDE</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<i class="fa fa-bars"></i>
</button>
</div>
<div class="wrapper"> <#-- left nav -->
<div class="collapse navbar-collapse pull-left" id="navbar-collapse">
<header class="main-header"> <ul class="nav navbar-nav">
<nav class="navbar navbar-static-top"> <li class="active" ><a href="javascript:;">
<div class="container"> <span class="sr-only">(current)</span>
<#-- icon --> <#list GlueTypeEnum as item><#if item == jobInfo.glueType>${item.desc}</#if></#list>
<div class="navbar-header"> ${jobInfo.jobDesc}
<a class="navbar-brand"><b>Web</b>IDE</a> </a></li>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse"> </ul>
<i class="fa fa-bars"></i> </div>
</button>
</div>
<#-- left nav -->
<div class="collapse navbar-collapse pull-left" id="navbar-collapse">
<ul class="nav navbar-nav">
<li class="active" ><a href="javascript:;">
<span class="sr-only">(current)</span>
<#list GlueTypeEnum as item><#if item == jobInfo.glueType>${item.desc}</#if></#list>
${jobInfo.jobDesc}
</a></li>
</ul>
</div>
<#-- right nav -->
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">${I18n.jobinfo_glue_rollback} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li <#if jobLogGlues?exists && jobLogGlues?size gt 0 >style="display: none;"</#if> >
<a href="javascript:;" class="source_version" version="version_now" glueType="${jobInfo.glueType}" >
<#list GlueTypeEnum as item><#if item == jobInfo.glueType>${item.desc}</#if></#list> ${jobInfo.glueRemark}
</a>
</li>
<textarea id="version_now" style="display:none;" >${jobInfo.glueSource}</textarea>
<#if jobLogGlues?exists && jobLogGlues?size gt 0 >
<#list jobLogGlues as glue>
<li>
<a href="javascript:;" class="source_version" version="version_${glue.id}" glueType="${glue.glueType}" >
${glue.addTime?string["yyyy-MM-dd HH:mm:ss"]} ${glue.glueRemark}
</a>
</li>
<textarea id="version_${glue.id}" style="display:none;" >${glue.glueSource}</textarea>
</#list>
</#if>
</ul>
</li>
<li id="save" >
<a href="javascript:;" >
<i class="fa fa-fw fa-save" ></i>
${I18n.system_save}
</a>
</li>
<li>
<a href="javascript:window.close();" >
<i class="fa fa-fw fa-close" ></i>
${I18n.system_close}
</a>
</li>
</ul>
</div>
<#-- right nav -->
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">${I18n.jobinfo_glue_rollback} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li <#if jobLogGlues?exists && jobLogGlues?size gt 0 >style="display: none;"</#if> >
<a href="javascript:;" class="source_version" version="version_now" glueType="${jobInfo.glueType}" >
<#list GlueTypeEnum as item><#if item == jobInfo.glueType>${item.desc}</#if></#list> ${jobInfo.glueRemark}
</a>
</li>
<textarea id="version_now" style="display:none;" >${jobInfo.glueSource}</textarea>
<#if jobLogGlues?exists && jobLogGlues?size gt 0 >
<#list jobLogGlues as glue>
<li>
<a href="javascript:;" class="source_version" version="version_${glue.id}" glueType="${glue.glueType}" >
${glue.addTime?string["yyyy-MM-dd HH:mm:ss"]} ${glue.glueRemark}
</a>
</li>
<textarea id="version_${glue.id}" style="display:none;" >${glue.glueSource}</textarea>
</#list>
</#if>
</ul>
</li>
<li id="save" >
<a href="javascript:;" >
<i class="fa fa-fw fa-save" ></i>
${I18n.system_save}
</a>
</li>
<li>
<a href="javascript:window.close();" >
<i class="fa fa-fw fa-close" ></i>
${I18n.system_close}
</a>
</li>
</ul>
</div> </div>
</nav>
</header>
<div class="content-wrapper" id="ideWindow" ></div> </div>
</nav>
</header>
<#-- biz end2/5 header -->
<!-- left -->
<!-- footer --> <!-- right start -->
<#--<@netCommon.commonFooter />--> <div class="content-wrapper" id="ideWindow" ></div>
</div> <#-- biz start3/5 content-header -->
<#-- biz start4/5 content-main -->
<!-- . --> <!-- . -->
<div class="modal fade" id="saveModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal fade" id="saveModal" tabindex="-1" role="dialog" aria-hidden="true">
@ -118,35 +128,42 @@
</div> </div>
</div> </div>
<!-- right end -->
<!-- footer -->
<#--<@netCommon.commonFooter />-->
</div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/clike/clike.js" />
<#assign glueTypeIdeMode = "text/x-java" />
<#if jobInfo.glueType == "GLUE_GROOVY" >
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/clike/clike.js" /> <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/clike/clike.js" />
<#assign glueTypeIdeMode = "text/x-java" /> <#assign glueTypeIdeMode = "text/x-java" />
<#elseif jobInfo.glueType == "GLUE_SHELL" >
<#if jobInfo.glueType == "GLUE_GROOVY" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/shell/shell.js" />
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/clike/clike.js" /> <#assign glueTypeIdeMode = "text/x-sh" />
<#assign glueTypeIdeMode = "text/x-java" /> <#elseif jobInfo.glueType == "GLUE_PYTHON" >
<#elseif jobInfo.glueType == "GLUE_SHELL" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/python/python.js" />
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/shell/shell.js" /> <#assign glueTypeIdeMode = "text/x-python" />
<#assign glueTypeIdeMode = "text/x-sh" /> <#elseif jobInfo.glueType == "GLUE_PYTHON2" >
<#elseif jobInfo.glueType == "GLUE_PYTHON" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/python/python.js" />
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/python/python.js" /> <#assign glueTypeIdeMode = "text/x-python" />
<#assign glueTypeIdeMode = "text/x-python" /> <#elseif jobInfo.glueType == "GLUE_PHP" >
<#elseif jobInfo.glueType == "GLUE_PYTHON2" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/php/php.js" />
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/python/python.js" /> <#assign glueTypeIdeMode = "text/x-php" />
<#assign glueTypeIdeMode = "text/x-python" /> <#assign glueTypeModeSrc02 = "${request.contextPath}/static/plugins/codemirror/mode/clike/clike.js" />
<#elseif jobInfo.glueType == "GLUE_PHP" > <#elseif jobInfo.glueType == "GLUE_NODEJS" >
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/php/php.js" /> <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/javascript/javascript.js" />
<#assign glueTypeIdeMode = "text/x-php" /> <#assign glueTypeIdeMode = "text/javascript" />
<#assign glueTypeModeSrc02 = "${request.contextPath}/static/plugins/codemirror/mode/clike/clike.js" /> <#elseif jobInfo.glueType == "GLUE_POWERSHELL" >
<#elseif jobInfo.glueType == "GLUE_NODEJS" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/powershell/powershell.js" />
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/javascript/javascript.js" /> <#assign glueTypeIdeMode = "powershell" />
<#assign glueTypeIdeMode = "text/javascript" /> </#if>
<#elseif jobInfo.glueType == "GLUE_POWERSHELL" >
<#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/powershell/powershell.js" />
<#assign glueTypeIdeMode = "powershell" />
</#if>
<script src="${request.contextPath}/static/plugins/codemirror/lib/codemirror.js"></script> <script src="${request.contextPath}/static/plugins/codemirror/lib/codemirror.js"></script>
@ -163,5 +180,7 @@ var ideMode = '${glueTypeIdeMode}';
</script> </script>
<script src="${request.contextPath}/static/js/jobcode.index.1.js"></script> <script src="${request.contextPath}/static/js/jobcode.index.1.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -1,29 +1,45 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "../common/common.macro.ftl" as netCommon> <#import "../common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<#-- biz start1/5 style -->
<!-- DataTables --> <!-- DataTables -->
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
<title>${I18n.admin_name}</title> <#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header --> <!-- header -->
<@netCommon.commonHeader /> <@netCommon.commonHeader />
<!-- left --> <!-- left -->
<@netCommon.commonLeft "jobgroup" /> <#-- biz start2/5 left -->
<@netCommon.commonLeft "jobgroup" />
<#-- biz end2/5 left -->
<!-- Content Wrapper. Contains page content --> <!-- right start -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>${I18n.jobgroup_name}</h1>
</section>
<!-- Main content --> <!-- content-header -->
<section class="content-header">
<#-- biz start3/5 name -->
<h1>${I18n.jobgroup_name}</h1>
<#-- biz end3/5 name -->
</section>
<!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<!-- filter -->
<div class="row"> <div class="row">
<div class="col-xs-3"> <div class="col-xs-3">
<div class="input-group"> <div class="input-group">
@ -45,6 +61,7 @@
</div> </div>
</div> </div>
<!-- table -->
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12">
<div class="box"> <div class="box">
@ -67,125 +84,133 @@
</div> </div>
</div> </div>
</div> </div>
</section>
</div>
<!-- . --> <!-- . -->
<div class="modal fade" id="showRegistryListModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal fade" id="showRegistryListModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-sm"> <div class="modal-dialog modal-sm">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title" >${I18n.jobinfo_opt_registryinfo}</h4> <h4 class="modal-title" >${I18n.jobinfo_opt_registryinfo}</h4>
</div>
<div class="modal-body">
<div class="data" style="word-wrap: break-word;"></div>
</div>
<div class="modal-footer">
<div class="text-center" >
<button type="button" class="btn btn-info ok" data-dismiss="modal" >${I18n.system_ok}</button>
</div>
</div>
</div>
</div>
</div>
<!-- . -->
<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog ">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" >${I18n.jobgroup_add}</h4>
</div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">AppName<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="appname" placeholder="${I18n.system_please_input}AppName" maxlength="64" ></div>
</div> </div>
<div class="form-group"> <div class="modal-body">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_title}<font color="red">*</font></label> <div class="data" style="word-wrap: break-word;"></div>
<div class="col-sm-10"><input type="text" class="form-control" name="title" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="12" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_addressType}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="addressType" value="0" checked />${I18n.jobgroup_field_addressType_0}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="addressType" value="1" />${I18n.jobgroup_field_addressType_1}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
<div class="col-sm-10">
<textarea class="textarea" name="addressList" maxlength="20000" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
</div>
</div> </div>
<hr> <div class="modal-footer">
<div class="form-group"> <div class="text-center" >
<div class="col-sm-offset-3 col-sm-6"> <button type="button" class="btn btn-info ok" data-dismiss="modal" >${I18n.system_ok}</button>
<button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
</div> </div>
</div> </div>
</form> </div>
</div> </div>
</div> </div>
</div>
</div> <!-- . -->
<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-hidden="true">
<!-- . --> <div class="modal-dialog ">
<div class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-content">
<div class="modal-dialog "> <div class="modal-header">
<div class="modal-content"> <h4 class="modal-title" >${I18n.jobgroup_add}</h4>
<div class="modal-header">
<h4 class="modal-title" >${I18n.jobgroup_edit}</h4>
</div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">AppName<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="appname" placeholder="${I18n.system_please_input}AppName" maxlength="64" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_title}<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="title" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="12" ></div>
</div> </div>
<div class="form-group"> <div class="modal-body">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_addressType}<font color="red">*</font></label> <form class="form-horizontal form" role="form" >
<div class="col-sm-10"> <div class="form-group">
<input type="radio" name="addressType" value="0" />${I18n.jobgroup_field_addressType_0} <label for="lastname" class="col-sm-2 control-label">AppName<font color="red">*</font></label>
&nbsp;&nbsp;&nbsp;&nbsp; <div class="col-sm-10"><input type="text" class="form-control" name="appname" placeholder="${I18n.system_please_input}AppName" maxlength="64" ></div>
<input type="radio" name="addressType" value="1" />${I18n.jobgroup_field_addressType_1} </div>
</div> <div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_title}<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="title" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="12" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_addressType}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="addressType" value="0" checked />${I18n.jobgroup_field_addressType_0}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="addressType" value="1" />${I18n.jobgroup_field_addressType_1}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
<div class="col-sm-10">
<textarea class="textarea" name="addressList" maxlength="20000" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
</div>
</div>
<hr>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
</div>
</div>
</form>
</div> </div>
<div class="form-group"> </div>
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label> </div>
<div class="col-sm-10"> </div>
<textarea class="textarea" name="addressList" maxlength="20000" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
</div> <!-- . -->
<div class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog ">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" >${I18n.jobgroup_edit}</h4>
</div> </div>
<hr> <div class="modal-body">
<div class="form-group"> <form class="form-horizontal form" role="form" >
<div class="col-sm-offset-3 col-sm-6"> <div class="form-group">
<button type="submit" class="btn btn-primary" >${I18n.system_save}</button> <label for="lastname" class="col-sm-2 control-label">AppName<font color="red">*</font></label>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button> <div class="col-sm-10"><input type="text" class="form-control" name="appname" placeholder="${I18n.system_please_input}AppName" maxlength="64" ></div>
<input type="hidden" name="id" > </div>
</div> <div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_title}<font color="red">*</font></label>
<div class="col-sm-10"><input type="text" class="form-control" name="title" placeholder="${I18n.system_please_input}${I18n.jobgroup_field_title}" maxlength="12" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_addressType}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="addressType" value="0" />${I18n.jobgroup_field_addressType_0}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="addressType" value="1" />${I18n.jobgroup_field_addressType_1}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.jobgroup_field_registryList}<font color="red">*</font></label>
<div class="col-sm-10">
<textarea class="textarea" name="addressList" maxlength="20000" placeholder="${I18n.jobgroup_field_registryList_placeholder}" readonly="readonly" style="background-color:#eee; width: 100%; height: 100px; font-size: 14px; line-height: 15px; border: 1px solid #dddddd; padding: 5px;"></textarea>
</div>
</div>
<hr>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
<input type="hidden" name="id" >
</div>
</div>
</form>
</div> </div>
</form> </div>
</div> </div>
</div> </div>
</div>
</div> <#-- biz end4/5 content -->
</section>
</div>
<!-- right end -->
<!-- footer --> <!-- footer -->
<@netCommon.commonFooter /> <@netCommon.commonFooter />
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<!-- DataTables --> <!-- DataTables -->
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
<script src="${request.contextPath}/static/js/jobgroup.index.1.js"></script> <script src="${request.contextPath}/static/js/jobgroup.index.1.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -1,29 +1,45 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "../common/common.macro.ftl" as netCommon> <#import "../common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<#-- biz start1/5 style -->
<!-- DataTables --> <!-- DataTables -->
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
<title>${I18n.admin_name}</title> <#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header --> <!-- header -->
<@netCommon.commonHeader /> <@netCommon.commonHeader />
<!-- left --> <!-- left -->
<@netCommon.commonLeft "jobinfo" /> <#-- biz start2/5 left -->
<@netCommon.commonLeft "jobinfo" />
<#-- biz end2/5 left -->
<!-- Content Wrapper. Contains page content --> <!-- right start -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>${I18n.jobinfo_name}</h1>
</section>
<!-- Main content --> <!-- content-header -->
<section class="content-header">
<#-- biz start3/5 name -->
<h1>${I18n.jobinfo_name}</h1>
<#-- biz end3/5 name -->
</section>
<!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<!-- filter -->
<div class="row"> <div class="row">
<div class="col-xs-3"> <div class="col-xs-3">
<div class="input-group"> <div class="input-group">
@ -67,6 +83,7 @@
</div> </div>
</div> </div>
<!-- table -->
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12">
<div class="box"> <div class="box">
@ -98,8 +115,13 @@
</div> </div>
</div> </div>
</div> </div>
</section> </section>
<#-- biz end4/5 content -->
</div> </div>
<!-- right end -->
<!-- footer --> <!-- footer -->
<@netCommon.commonFooter /> <@netCommon.commonFooter />
@ -543,6 +565,8 @@ exit 0
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<!-- DataTables --> <!-- DataTables -->
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
@ -551,5 +575,7 @@ exit 0
<#-- cronGen --> <#-- cronGen -->
<script src="${request.contextPath}/static/plugins/cronGen/cronGen<#if I18n.admin_i18n?default('')?length gt 0 >_${I18n.admin_i18n}</#if>.js"></script> <script src="${request.contextPath}/static/plugins/cronGen/cronGen<#if I18n.admin_i18n?default('')?length gt 0 >_${I18n.admin_i18n}</#if>.js"></script>
<script src="${request.contextPath}/static/js/jobinfo.index.1.js"></script> <script src="${request.contextPath}/static/js/jobinfo.index.1.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -1,13 +1,19 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "../common/common.macro.ftl" as netCommon> <#import "../common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<title>${I18n.admin_name}</title>
<#-- biz start1/5 style -->
<#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header -->
<header class="main-header"> <header class="main-header">
<nav class="navbar navbar-static-top"> <nav class="navbar navbar-static-top">
<div class="container"> <div class="container">
@ -42,14 +48,30 @@
</nav> </nav>
</header> </header>
<!-- left -->
<#-- biz start2/5 left -->
<#-- biz end2/5 left -->
<!-- right start -->
<div class="content-wrapper" > <div class="content-wrapper" >
<!-- content-header -->
<#-- biz start3/5 name -->
<#-- biz end3/5 name -->
<!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<pre style="font-size:12px;position:relative;" > <pre style="font-size:12px;position:relative;" >
<div id="logConsole"></div> <div id="logConsole"></div>
<li class="fa fa-refresh fa-spin" style="font-size: 20px;float: left;" id="logConsoleRunning" ></li> <li class="fa fa-refresh fa-spin" style="font-size: 20px;float: left;" id="logConsoleRunning" ></li>
</pre> </pre>
<#-- biz end4/5 content -->
</section> </section>
</div> </div>
<!-- right end -->
<!-- footer --> <!-- footer -->
<@netCommon.commonFooter /> <@netCommon.commonFooter />
@ -57,6 +79,8 @@
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<script> <script>
// 参数 // 参数
var triggerCode = '${triggerCode}'; var triggerCode = '${triggerCode}';
@ -64,6 +88,7 @@
var logId = '${logId}'; var logId = '${logId}';
</script> </script>
<script src="${request.contextPath}/static/js/joblog.detail.1.js"></script> <script src="${request.contextPath}/static/js/joblog.detail.1.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -1,30 +1,47 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "../common/common.macro.ftl" as netCommon> <#import "../common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<#-- biz start1/5 style -->
<!-- DataTables --> <!-- DataTables -->
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
<!-- daterangepicker --> <!-- daterangepicker -->
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.css">
<title>${I18n.admin_name}</title> <#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header --> <!-- header -->
<@netCommon.commonHeader /> <@netCommon.commonHeader />
<!-- left --> <!-- left -->
<@netCommon.commonLeft "joblog" /> <#-- biz start2/5 left -->
<@netCommon.commonLeft "joblog" />
<#-- biz end2/5 left -->
<!-- Content Wrapper. Contains page content --> <!-- right start -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>${I18n.joblog_name}</h1>
</section>
<!-- Main content --> <!-- content-header -->
<section class="content-header">
<#-- biz start3/5 name -->
<h1>${I18n.joblog_name}</h1>
<#-- biz end3/5 name -->
</section>
<!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<!-- filter-->
<div class="row"> <div class="row">
<div class="col-xs-2"> <div class="col-xs-2">
<div class="input-group"> <div class="input-group">
@ -78,6 +95,7 @@
</div> </div>
</div> </div>
<!-- table-->
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12">
<div class="box"> <div class="box">
@ -107,68 +125,74 @@
</div> </div>
</div> </div>
</section> </section>
</div>
<!-- footer --> <!-- . -->
<@netCommon.commonFooter /> <div class="modal fade" id="clearLogModal" tabindex="-1" role="dialog" aria-hidden="true">
</div> <div class="modal-dialog">
<div class="modal-content">
<!-- . --> <div class="modal-header">
<div class="modal fade" id="clearLogModal" tabindex="-1" role="dialog" aria-hidden="true"> <h4 class="modal-title" >${I18n.joblog_clean_log}</h4>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" >${I18n.joblog_clean_log}</h4>
</div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label class="col-sm-3 control-label">${I18n.jobinfo_field_jobgroup}</label>
<div class="col-sm-9">
<input type="text" class="form-control jobGroupText" readonly >
<input type="hidden" name="jobGroup" >
</div>
</div> </div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label class="col-sm-3 control-label">${I18n.jobinfo_field_jobgroup}</label>
<div class="col-sm-9">
<input type="text" class="form-control jobGroupText" readonly >
<input type="hidden" name="jobGroup" >
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">${I18n.jobinfo_job}</label> <label class="col-sm-3 control-label">${I18n.jobinfo_job}</label>
<div class="col-sm-9"> <div class="col-sm-9">
<input type="text" class="form-control jobIdText" readonly > <input type="text" class="form-control jobIdText" readonly >
<input type="hidden" name="jobId" > <input type="hidden" name="jobId" >
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">${I18n.joblog_clean_type}</label> <label class="col-sm-3 control-label">${I18n.joblog_clean_type}</label>
<div class="col-sm-9"> <div class="col-sm-9">
<select class="form-control" name="type" > <select class="form-control" name="type" >
<option value="1" >${I18n.joblog_clean_type_1}</option> <option value="1" >${I18n.joblog_clean_type_1}</option>
<option value="2" >${I18n.joblog_clean_type_2}</option> <option value="2" >${I18n.joblog_clean_type_2}</option>
<option value="3" >${I18n.joblog_clean_type_3}</option> <option value="3" >${I18n.joblog_clean_type_3}</option>
<option value="4" >${I18n.joblog_clean_type_4}</option> <option value="4" >${I18n.joblog_clean_type_4}</option>
<option value="5" >${I18n.joblog_clean_type_5}</option> <option value="5" >${I18n.joblog_clean_type_5}</option>
<option value="6" >${I18n.joblog_clean_type_6}</option> <option value="6" >${I18n.joblog_clean_type_6}</option>
<option value="7" >${I18n.joblog_clean_type_7}</option> <option value="7" >${I18n.joblog_clean_type_7}</option>
<option value="8" >${I18n.joblog_clean_type_8}</option> <option value="8" >${I18n.joblog_clean_type_8}</option>
<option value="9" >${I18n.joblog_clean_type_9}</option> <option value="9" >${I18n.joblog_clean_type_9}</option>
</select> </select>
</div> </div>
</div> </div>
<hr> <hr>
<div class="form-group"> <div class="form-group">
<div class="col-sm-offset-3 col-sm-6"> <div class="col-sm-offset-3 col-sm-6">
<button type="button" class="btn btn-primary ok" >${I18n.system_ok}</button> <button type="button" class="btn btn-primary ok" >${I18n.system_ok}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button> <button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
</div> </div>
</div>
</form>
</div> </div>
</form> </div>
</div> </div>
</div> </div>
</div>
<#-- biz end4/5 content -->
</div>
<!-- right end -->
<!-- footer -->
<@netCommon.commonFooter />
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<!-- DataTables --> <!-- DataTables -->
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
@ -176,5 +200,7 @@
<script src="${request.contextPath}/static/adminlte/bower_components/moment/moment.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/moment/moment.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
<script src="${request.contextPath}/static/js/joblog.index.1.js"></script> <script src="${request.contextPath}/static/js/joblog.index.1.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

@ -10,6 +10,8 @@
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/plugins/iCheck/square/blue.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/plugins/iCheck/square/blue.css">
</head> </head>
<body class="hold-transition login-page"> <body class="hold-transition login-page">
<#-- login div -->
<div class="login-box"> <div class="login-box">
<div class="login-logo"> <div class="login-logo">
<a><b>XXL</b>JOB</a> <a><b>XXL</b>JOB</a>
@ -40,8 +42,11 @@
</div> </div>
</form> </form>
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<!-- icheck -->
<script src="${request.contextPath}/static/adminlte/plugins/iCheck/icheck.min.js"></script> <script src="${request.contextPath}/static/adminlte/plugins/iCheck/icheck.min.js"></script>
<!-- js file -->
<script src="${request.contextPath}/static/js/login.1.js"></script> <script src="${request.contextPath}/static/js/login.1.js"></script>
</body> </body>

@ -1,29 +1,43 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<#-- import macro -->
<#import "../common/common.macro.ftl" as netCommon> <#import "../common/common.macro.ftl" as netCommon>
<#-- commonStyle -->
<@netCommon.commonStyle /> <@netCommon.commonStyle />
<#-- biz start1/5 style -->
<!-- DataTables --> <!-- DataTables -->
<link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"> <link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
<title>${I18n.admin_name}</title> <#-- biz end1/5 end -->
</head> </head>
<body class="hold-transition skin-blue sidebar-mini"> <body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper"> <div class="wrapper">
<!-- header --> <!-- header -->
<@netCommon.commonHeader /> <@netCommon.commonHeader />
<!-- left --> <!-- left -->
<@netCommon.commonLeft "user" /> <@netCommon.commonLeft "user" />
<!-- Content Wrapper. Contains page content --> <!-- right start -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) -->
<!-- content-header -->
<section class="content-header"> <section class="content-header">
<#-- biz start3/5 name -->
<h1>${I18n.user_manage}</h1> <h1>${I18n.user_manage}</h1>
<#-- biz end3/5 name -->
</section> </section>
<!-- Main content --> <!-- content-main -->
<section class="content"> <section class="content">
<#-- biz start4/5 content -->
<!-- filter -->
<div class="row"> <div class="row">
<div class="col-xs-3"> <div class="col-xs-3">
<div class="input-group"> <div class="input-group">
@ -49,6 +63,7 @@
</div> </div>
</div> </div>
<!-- table -->
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12">
<div class="box"> <div class="box">
@ -71,118 +86,125 @@
</div> </div>
</div> </div>
</div> </div>
</section>
</div>
<!-- footer --> <!-- . -->
<@netCommon.commonFooter /> <div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-hidden="true">
</div> <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" >${I18n.user_add}</h4>
</div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_username}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="username" placeholder="${I18n.system_please_input}${I18n.user_username}" maxlength="20" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_password}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="password" placeholder="${I18n.system_please_input}${I18n.user_password}" maxlength="20" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_role}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="role" value="0" checked />${I18n.user_role_normal}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="role" value="1" />${I18n.user_role_admin}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_permission}<font color="black">*</font></label>
<div class="col-sm-10">
<#if groupList?exists && groupList?size gt 0>
<#list groupList as item>
<input type="checkbox" name="permission" value="${item.id}" />${item.title}(${item.appname})<br>
</#list>
</#if>
</div>
</div>
<!-- . --> <hr>
<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="form-group">
<div class="modal-dialog"> <div class="col-sm-offset-3 col-sm-6">
<div class="modal-content"> <button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<div class="modal-header"> <button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
<h4 class="modal-title" >${I18n.user_add}</h4> </div>
</div> </div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_username}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="username" placeholder="${I18n.system_please_input}${I18n.user_username}" maxlength="20" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_password}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="password" placeholder="${I18n.system_please_input}${I18n.user_password}" maxlength="20" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_role}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="role" value="0" checked />${I18n.user_role_normal}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="role" value="1" />${I18n.user_role_admin}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_permission}<font color="black">*</font></label>
<div class="col-sm-10">
<#if groupList?exists && groupList?size gt 0>
<#list groupList as item>
<input type="checkbox" name="permission" value="${item.id}" />${item.title}(${item.appname})<br>
</#list>
</#if>
</div>
</div>
<hr> </form>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
</div> </div>
</div> </div>
</div>
</div>
</form> <!-- . -->
</div> <div class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-hidden="true">
</div> <div class="modal-dialog">
</div> <div class="modal-content">
</div> <div class="modal-header">
<h4 class="modal-title" >${I18n.user_update}</h4>
</div>
<div class="modal-body">
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_username}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="username" placeholder="${I18n.system_please_input}${I18n.user_username}" maxlength="20" readonly ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_password}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="password" placeholder="${I18n.user_password_update_placeholder}" maxlength="20" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_role}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="role" value="0" />${I18n.user_role_normal}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="role" value="1" />${I18n.user_role_admin}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_permission}<font color="black">*</font></label>
<div class="col-sm-10">
<#if groupList?exists && groupList?size gt 0>
<#list groupList as item>
<input type="checkbox" name="permission" value="${item.id}" />${item.title}(${item.appname})<br>
</#list>
</#if>
</div>
</div>
<!-- . --> <hr>
<div class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="form-group">
<div class="modal-dialog"> <div class="col-sm-offset-3 col-sm-6">
<div class="modal-content"> <button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<div class="modal-header"> <button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
<h4 class="modal-title" >${I18n.user_update}</h4> <input type="hidden" name="id" >
</div> </div>
<div class="modal-body"> </div>
<form class="form-horizontal form" role="form" >
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_username}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="username" placeholder="${I18n.system_please_input}${I18n.user_username}" maxlength="20" readonly ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_password}<font color="red">*</font></label>
<div class="col-sm-8"><input type="text" class="form-control" name="password" placeholder="${I18n.user_password_update_placeholder}" maxlength="20" ></div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_role}<font color="red">*</font></label>
<div class="col-sm-10">
<input type="radio" name="role" value="0" />${I18n.user_role_normal}
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="role" value="1" />${I18n.user_role_admin}
</div>
</div>
<div class="form-group">
<label for="lastname" class="col-sm-2 control-label">${I18n.user_permission}<font color="black">*</font></label>
<div class="col-sm-10">
<#if groupList?exists && groupList?size gt 0>
<#list groupList as item>
<input type="checkbox" name="permission" value="${item.id}" />${item.title}(${item.appname})<br>
</#list>
</#if>
</div>
</div>
<hr> </form>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<button type="submit" class="btn btn-primary" >${I18n.system_save}</button>
<button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button>
<input type="hidden" name="id" >
</div> </div>
</div> </div>
</div>
</div>
</form> <#-- biz end4/5 content -->
</div> </section>
</div>
</div> </div>
<!-- right end -->
<!-- footer -->
<@netCommon.commonFooter />
</div> </div>
<@netCommon.commonScript /> <@netCommon.commonScript />
<#-- biz start5/5 script -->
<!-- DataTables --> <!-- DataTables -->
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script> <script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
<script src="${request.contextPath}/static/js/user.index.1.js"></script> <script src="${request.contextPath}/static/js/user.index.1.js"></script>
<#-- biz end5/5 script -->
</body> </body>
</html> </html>

Loading…
Cancel
Save