Commit 89ae2a0e by fengshuonan

整理整个前端目录结构

parent 9c6275d9
......@@ -17,7 +17,7 @@ public class DefaultImages {
* @Date 2018/10/30 5:51 PM
*/
public static String loginBg() {
return ConfigListener.getConf().get("contextPath") + "/assets/images/login-register.jpg";
return ConfigListener.getConf().get("contextPath") + "/assets/common/images/login-register.jpg";
}
/**
......@@ -27,7 +27,7 @@ public class DefaultImages {
* @Date 2018/10/30 5:51 PM
*/
public static String userAvatar() {
return ConfigListener.getConf().get("contextPath") + "/assets/images/users/1.jpg";
return ConfigListener.getConf().get("contextPath") + "/assets/common/images/users/1.jpg";
}
/**
......@@ -37,6 +37,6 @@ public class DefaultImages {
* @Date 2018/10/30 5:51 PM
*/
public static String error404() {
return ConfigListener.getConf().get("contextPath") + "/assets/images/error-bg.jpg";
return ConfigListener.getConf().get("contextPath") + "/assets/common/images/error-bg.jpg";
}
}
......@@ -5,11 +5,11 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" sizes="16x16" href="${ctxPath}/assets/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="${ctxPath}/assets/common/favicon.ico">
<title> 404 - Guns</title>
<link href="${ctxPath}/assets/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="${ctxPath}/assets/static/css/style.css" rel="stylesheet">
<link href="${ctxPath}/assets/static/css/colors/blue.css" id="theme" rel="stylesheet">
<link href="${ctxPath}/assets/common/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/css/style.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/css/colors/blue.css" id="theme" rel="stylesheet">
</head>
<body class="fix-header card-no-border">
......@@ -27,10 +27,10 @@
</div>
</section>
<script src="${ctxPath}/assets/plugins/jquery/jquery.min.js"></script>
<script src="${ctxPath}/assets/plugins/bootstrap/js/tether.min.js"></script>
<script src="${ctxPath}/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${ctxPath}/assets/static/js/waves.js"></script>
<script src="${ctxPath}/assets/common/plugins/jquery/jquery.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap/js/tether.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${ctxPath}/assets/common/static/js/waves.js"></script>
</body>
</html>
......@@ -4,8 +4,7 @@
@/**
@ * 本页面所用的模板变量
@ *
@ * otherCss : 引用这个layout的其他加载css
@ * otherJs : 引用这个layout的其他加载js
@ * plugins : 需要用到的插件,目前有["table"]
@ * title : 页面的标题
@ * layoutContent : 主页面的html内容
@ *
......@@ -28,27 +27,32 @@
<meta name="author" content="stylefeng">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" href="${ctxPath}/assets/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="${ctxPath}/assets/common/favicon.ico">
<!-- ============================================================== -->
<!-- css资源文件 -->
<!-- ============================================================== -->
<!-- Bootstrap Core CSS -->
<link href="${ctxPath}/assets/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- toast提示框 CSS -->
<link href="${ctxPath}/assets/plugins/toast-master/css/jquery.toast.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/plugins/toast-master/css/jquery.toast.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="${ctxPath}/assets/static/css/style.css" rel="stylesheet">
<link href="${ctxPath}/assets/static/stylefeng/feng.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/css/style.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/stylefeng/feng.css" rel="stylesheet">
<!-- You can change the theme colors from here -->
<link href="${ctxPath}/assets/static/css/colors/blue.css" id="theme" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/css/colors/blue.css" id="theme" rel="stylesheet">
<!--其他css-->
${otherCss!}
@if(isNotEmpty(plugins)){
@if(array.contain(plugins,"table")){
<link href="${ctxPath}/assets/common/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet" type="text/css" />
@}
@}
</head>
......@@ -79,32 +83,32 @@
</div>
<!-- jquery -->
<script src="${ctxPath}/assets/plugins/jquery/jquery.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/jquery/jquery.min.js"></script>
<!-- Bootstrap tether Core JavaScript -->
<script src="${ctxPath}/assets/plugins/bootstrap/js/tether.min.js"></script>
<script src="${ctxPath}/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap/js/tether.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap/js/bootstrap.min.js"></script>
<!-- slimscrollbar scrollbar JavaScript(滚动条插件) -->
<script src="${ctxPath}/assets/static/js/jquery.slimscroll.js"></script>
<script src="${ctxPath}/assets/common/static/js/jquery.slimscroll.js"></script>
<!--Wave Effects(点击按钮的波浪效果) -->
<script src="${ctxPath}/assets/static/js/waves.js"></script>
<script src="${ctxPath}/assets/common/static/js/waves.js"></script>
<!--Menu sidebar (左侧菜单切换插件) -->
<script src="${ctxPath}/assets/static/js/sidebarmenu.js"></script>
<script src="${ctxPath}/assets/common/static/js/sidebarmenu.js"></script>
<!--stickey kit(页面头部工具栏固定) -->
<script src="${ctxPath}/assets/plugins/sticky-kit-master/dist/sticky-kit.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/sticky-kit-master/dist/sticky-kit.min.js"></script>
<!--Guns JavaScript -->
<script src="${ctxPath}/assets/static/stylefeng/Feng.js"></script>
<script src="${ctxPath}/assets/common/static/stylefeng/Feng.js"></script>
<!--Custom JavaScript -->
<script src="${ctxPath}/assets/static/js/custom.min.js"></script>
<script src="${ctxPath}/assets/common/static/js/custom.min.js"></script>
<!-- 右侧主题设置 -->
<script src="${ctxPath}/assets/plugins/styleswitcher/jQuery.style.switcher.js"></script>
<script src="${ctxPath}/assets/common/plugins/styleswitcher/jQuery.style.switcher.js"></script>
<!-- 加入contextPath属性和session超时的配置 -->
<script type="text/javascript">
......@@ -113,7 +117,13 @@
</script>
<!--其他js-->
${otherJs!}
@if(isNotEmpty(plugins)){
@if(array.contain(plugins,"table")){
<script src="${ctxPath}/assets/common/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap-table/bootstrap-table-object.js"></script>
@}
@}
</body>
......
......@@ -5,11 +5,11 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" sizes="16x16" href="${ctxPath}/assets/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="${ctxPath}/assets/common/favicon.ico">
<title>登录 - Guns</title>
<link href="${ctxPath}/assets/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="${ctxPath}/assets/static/css/style.css" rel="stylesheet">
<link href="${ctxPath}/assets/static/css/colors/blue.css" id="theme" rel="stylesheet">
<link href="${ctxPath}/assets/common/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/css/style.css" rel="stylesheet">
<link href="${ctxPath}/assets/common/static/css/colors/blue.css" id="theme" rel="stylesheet">
</head>
<body>
......@@ -64,11 +64,11 @@
</div>
</section>
<script src="${ctxPath}/assets/plugins/jquery/jquery.min.js"></script>
<script src="${ctxPath}/assets/plugins/bootstrap/js/tether.min.js"></script>
<script src="${ctxPath}/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${ctxPath}/assets/static/js/waves.js"></script>
<script src="${ctxPath}/assets/static/js/custom.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/jquery/jquery.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap/js/tether.min.js"></script>
<script src="${ctxPath}/assets/common/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${ctxPath}/assets/common/static/js/waves.js"></script>
<script src="${ctxPath}/assets/common/static/js/custom.min.js"></script>
</body>
</html>
\ No newline at end of file
@layout("/common/_container.html",{title:"用户管理"}){
@layout("/common/_container.html",{title:"用户管理",plugins:["table"]}){
<div class="row">
<div class="col-lg-12">
<div class="card card-outline-info">
......@@ -9,25 +9,21 @@
<hr>
<div class="row">
<div class="col-md-3">
<div class="form-group row">
<label for="name" class="col-sm-3 text-left control-label col-form-label">用户名称</label>
<div class="col-sm-9 p-l-0">
<input type="email" class="form-control" id="name" placeholder="账号/姓名/手机号">
</div>
<div class="input-group">
<span class="input-group-addon">用户名称</span>
<input type="text" class="form-control" id="name" placeholder="账号/姓名/手机号">
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label for="timeLimit" class="col-sm-3 text-left control-label col-form-label">注册日期</label>
<div class="col-sm-9 p-l-0">
<input type="email" class="form-control" id="timeLimit" placeholder="注册日期">
</div>
<div class="input-group">
<span class="input-group-addon">注册日期</span>
<input type="text" class="form-control" id="timeLimit" placeholder="注册日期">
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<div class="input-group-btn condition-button">
<button type="button" id="check-minutes" class="btn waves-effect waves-light btn-success condition-button-width">查询</button>
<button type="button" id="check-minutes" class="btn waves-effect waves-light btn-info condition-button-width">查询</button>
</div>
</div>
</div>
......@@ -45,7 +41,54 @@
</div>
</div>
</div>
<div class="col-md-6"></div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="card">
<table data-toggle="table" data-height="250" data-mobile-responsive="true" class="table-striped">
<thead>
<tr>
<th>Name</th>
<th>Stars</th>
<th>Forks</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr id="tr-id-1" class="tr-class-1">
<td id="td-id-1" class="td-class-1"> bootstrap-table </td>
<td>526</td>
<td>122</td>
<td>An extended Bootstrap table with radio, checkbox, sort, pagination, and other added features. (supports twitter bootstrap v2 and v3) </td>
</tr>
<tr id="tr-id-2" class="tr-class-2">
<td id="td-id-2" class="td-class-2"> multiple-select </td>
<td>288</td>
<td>150</td>
<td>A jQuery plugin to select multiple elements with checkboxes :) </td>
</tr>
<tr id="tr-id-3" class="tr-class-3">
<td id="td-id-3" class="td-class-3"> bootstrap-show-password </td>
<td>32</td>
<td>11</td>
<td>Show/hide password plugin for twitter bootstrap. </td>
</tr>
<tr id="tr-id-4" class="tr-class-4">
<td id="td-id-4" class="td-class-4"> blog </td>
<td>13</td>
<td>4</td>
<td>my blog</td>
</tr>
<tr id="tr-id-5" class="tr-class-5">
<td id="td-id-5" class="td-class-5"> scutech-redmine
<td>6</td>
<td>3</td>
<td>Redmine notification tools for chrome extension.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
......
/**
* 初始化 BootStrap Table 的封装
*
* 约定:toolbar的id为 (bstableId + "Toolbar")
*
* @author fengshuonan
*/
(function () {
var BSTable = function (bstableId, url, columns) {
this.btInstance = null; //jquery和BootStrapTable绑定的对象
this.bstableId = bstableId;
this.url = Feng.ctxPath + url;
this.method = "post";
this.paginationType = "server"; //默认分页方式是服务器分页,可选项"client"
this.toolbarId = bstableId + "Toolbar";
this.columns = columns;
this.height = 665; //默认表格高度665
this.data = {};
this.queryParams = {}; // 向后台传递的自定义参数
};
BSTable.prototype = {
/**
* 初始化bootstrap table
*/
init: function () {
var tableId = this.bstableId;
var me = this;
this.btInstance =
$('#' + tableId).bootstrapTable({
contentType: "application/x-www-form-urlencoded",
url: this.url, //请求地址
method: this.method, //ajax方式,post还是get
ajaxOptions: { //ajax请求的附带参数
data: this.data
},
toolbar: "#" + this.toolbarId,//顶部工具条
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true
sortable: true, //是否启用排序
sortOrder: "desc", //排序方式
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 14, //每页的记录行数(*)
pageList: [14, 50, 100], //可供选择的每页的行数(*)
queryParamsType: 'limit', //默认值为 'limit' ,在默认情况下 传给服务端的参数为:offset,limit,sort
queryParams: function (param) {
return $.extend(me.queryParams, param);
}, // 向后台传递的自定义参数
sidePagination: this.paginationType, //分页方式:client客户端分页,server服务端分页(*)
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端
strictSearch: true, //设置为 true启用 全匹配搜索,否则为模糊搜索
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
searchOnEnterKey: true, //设置为 true时,按回车触发搜索方法,否则自动触发搜索方法
columns: this.columns, //列数组
pagination: true, //是否显示分页条
height: this.height,
icons: {
refresh: 'glyphicon-repeat',
toggle: 'glyphicon-list-alt',
columns: 'glyphicon-list'
},
iconSize: 'outline'
});
return this;
},
/**
* 向后台传递的自定义参数
* @param param
*/
setQueryParams: function (param) {
this.queryParams = param;
},
/**
* 设置分页方式:server 或者 client
*/
setPaginationType: function (type) {
this.paginationType = type;
},
/**
* 设置ajax post请求时候附带的参数
*/
set: function (key, value) {
if (typeof key == "object") {
for (var i in key) {
if (typeof i == "function")
continue;
this.data[i] = key[i];
}
} else {
this.data[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
}
return this;
},
/**
* 设置ajax post请求时候附带的参数
*/
setData: function (data) {
this.data = data;
return this;
},
/**
* 清空ajax post请求参数
*/
clear: function () {
this.data = {};
return this;
},
/**
* 刷新 bootstrap 表格
* Refresh the remote server data,
* you can set {silent: true} to refresh the data silently,
* and set {url: newUrl} to change the url.
* To supply query params specific to this request, set {query: {foo: 'bar'}}
*/
refresh: function (parms) {
if (typeof parms != "undefined") {
this.btInstance.bootstrapTable('refresh', parms);
} else {
this.btInstance.bootstrapTable('refresh');
}
}
};
window.BSTable = BSTable;
}());
\ No newline at end of file
/**
* 初始化 Tree Table 的封装
*
* @author cyf
*/
(function () {
var BSTreeTable = function (bstableId, url, columns) {
this.btInstance = null; //jquery和bootstrapTreeTable绑定的对象
this.bstableId = bstableId;
this.url = Feng.ctxPath + url;
this.method = "post";
this.columns = columns;
this.data = {};// ajax的参数
this.expandColumn = null;// 展开显示的列
this.id = 'id';// 选取记录返回的值
this.code = 'code';// 用于设置父子关系
this.parentCode = 'pcode';// 用于设置父子关系
this.expandAll = false;// 是否默认全部展开
this.toolbarId = bstableId + "Toolbar";
this.height = 665; //默认表格高度665
};
BSTreeTable.prototype = {
/**
* 初始化bootstrap table
*/
init: function () {
var tableId = this.bstableId;
this.btInstance =
$('#'+tableId).bootstrapTreeTable({
id: this.id,// 选取记录返回的值
code: this.code,// 用于设置父子关系
parentCode: this.parentCode,// 用于设置父子关系
rootCodeValue: this.rootCodeValue,//设置根节点code值----可指定根节点,默认为null,"",0,"0"
type: this.method, //请求数据的ajax类型
url: this.url, //请求数据的ajax的url
ajaxParams: this.data, //请求数据的ajax的data属性
expandColumn: this.expandColumn,//在哪一列上面显示展开按钮,从0开始
striped: true, //是否各行渐变色
expandAll: this.expandAll, //是否全部展开
columns: this.columns, //列数组
toolbar: "#" + this.toolbarId,//顶部工具条
height: this.height,
});
return this;
},
/**
* 设置在哪一列上面显示展开按钮,从0开始
*/
setExpandColumn: function (expandColumn) {
this.expandColumn = expandColumn;
},
/**
* 设置记录返回的id值
*/
setIdField: function (id) {
this.id = id;
},
/**
* 设置记录分级的字段
*/
setCodeField: function (code) {
this.code = code;
},
/**
* 设置记录分级的父级字段
*/
setParentCodeField: function (parentCode) {
this.parentCode = parentCode;
},
/**
* 设置根节点code值----可指定根节点,默认为null,"",0,"0"
*/
setRootCodeValue: function (rootCodeValue) {
this.rootCodeValue = rootCodeValue;
},
/**
* 设置是否默认全部展开
*/
setExpandAll: function (expandAll) {
this.expandAll = expandAll;
},
/**
* 设置表格高度
*/
setHeight: function (height) {
this.height = height;
},
/**
* 设置ajax post请求时候附带的参数
*/
set: function (key, value) {
if (typeof key == "object") {
for (var i in key) {
if (typeof i == "function")
continue;
this.data[i] = key[i];
}
} else {
this.data[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
}
return this;
},
/**
* 设置ajax post请求时候附带的参数
*/
setData: function (data) {
this.data = data;
return this;
},
/**
* 清空ajax post请求参数
*/
clear: function () {
this.data = {};
return this;
},
/**
* 刷新表格
*/
refresh: function (parms) {
if (typeof parms != "undefined") {
this.btInstance.bootstrapTreeTable('refresh', parms.query);// 为了兼容bootstrap-table的写法
} else {
this.btInstance.bootstrapTreeTable('refresh');
}
}
};
window.BSTreeTable = BSTreeTable;
}());
\ No newline at end of file
......@@ -12,12 +12,12 @@ $(document).ready(function () {
e.preventDefault();
var currentStyle = $(this).attr('data-theme');
store('theme', currentStyle);
$('#theme').attr({href: Feng.ctxPath + '/assets/static/css/colors/' + currentStyle + '.css'})
$('#theme').attr({href: Feng.ctxPath + '/assets/common/static/css/colors/' + currentStyle + '.css'})
});
var currentTheme = get('theme');
if (currentTheme) {
$('#theme').attr({href: Feng.ctxPath + '/assets/static/css/colors/' + currentTheme + '.css'});
$('#theme').attr({href: Feng.ctxPath + '/assets/common/static/css/colors/' + currentTheme + '.css'});
}
// color selector
$('#themecolors').on('click', 'a', function () {
......@@ -36,12 +36,12 @@ $(document).ready(function () {
e.preventDefault();
var currentStyle = $(this).attr('data-theme');
store('theme', currentStyle);
$('#theme').attr({href: Feng.ctxPath + '/assets/static/css/colors/' + currentStyle + '.css'})
$('#theme').attr({href: Feng.ctxPath + '/assets/common/static/css/colors/' + currentStyle + '.css'})
});
var currentTheme = get('theme');
if (currentTheme) {
$('#theme').attr({href: Feng.ctxPath + '/assets/static/css/colors/' + currentTheme + '.css'});
$('#theme').attr({href: Feng.ctxPath + '/assets/common/static/css/colors/' + currentTheme + '.css'});
}
// color selector
$('#themecolors').on('click', 'a', function () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment