فهرست منبع

新增日期组件laydate

zhouchenglin 7 سال پیش
والد
کامیت
dceeec1c19

+ 3 - 0
src/main/resources/mapper/sys/SysLogMapper.xml

@@ -17,6 +17,9 @@
 		FROM
 			sys_log
 		<where>
+			<if test=" startDate != null and startDate != '' and endDate != null and endDate != '' ">
+				AND DATE_FORMAT( gmt_create, '%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
+			</if>
 			<if test="username != null and username.trim() != ''">
 				AND username LIKE concat('%',#{username},'%')
 				OR operation LIKE concat('%',#{username},'%')

+ 45 - 1
src/main/resources/static/js/base/log/list.js

@@ -8,9 +8,24 @@ $(function () {
 });
 
 function initialPage() {
+    vm.dateRangeSelect(1);
 	$(window).resize(function() {
 		$('#dataGrid').bootstrapTable('resetView', {height: $(window).height()-54});
 	});
+    //日期选择
+    laydate.render({
+        elem: '#dateRange',
+        range: true,
+        theme: '#3C8DBC',
+        eventElem: '#dateRange',
+        trigger: 'click',
+        done: function(value, date, endDate){
+            vm.dateRangeSelect(0);
+            vm.dateRange = value;
+            vm.startDate = date.year + '-' + date.month + '-' + date.date;
+            vm.endDate = endDate.year + '-' + endDate.month + '-' + endDate.date;
+        }
+    });
 }
 
 function getGrid() {
@@ -19,6 +34,8 @@ function getGrid() {
 		height: $(window).height()-54,
 		queryParams: function(params){
 			params.username = vm.keyword;
+            params.startDate = vm.startDate;
+            params.endDate = vm.endDate;
 			return params;
 		},
 		detailView: true,
@@ -60,12 +77,39 @@ function getGrid() {
 var vm = new Vue({
 	el:'#dpLTE',
 	data: {
-		keyword: null
+		keyword: null,
+        startDate : null,
+        endDate : null,
+        dateRangeText : '时间范围',
+        dateRange : null
 	},
 	methods : {
 		load: function() {
 			$('#dataGrid').bootstrapTable('refresh');
 		},
+        dateRangeSelect : function(count) {
+            if(count==1){
+                vm.dateRangeText = '最近一天';
+                vm.startDate = countDay(-1);
+                vm.endDate = today();
+                vm.dateRange = vm.startDate + ' - ' + vm.endDate;
+            }else if(count ==7){
+                vm.dateRangeText = '最近一周';
+                vm.startDate = countDay(-7);
+                vm.endDate = today();
+                vm.dateRange = vm.startDate + ' - ' + vm.endDate;
+            }else if(count ==30){
+                vm.dateRangeText = '最近一月';
+                vm.startDate = countDay(-30);
+                vm.endDate = today();
+                vm.dateRange = vm.startDate + ' - ' + vm.endDate;
+            }else{
+                vm.dateRangeText = '时间范围';
+                vm.startDate = '';
+                vm.endDate = '';
+                vm.dateRange = '';
+            }
+        },
 		remove: function() {
 			var ck = $('#dataGrid').bootstrapTable('getSelections'), ids = [];	
 			if(checkedArray(ck)){

+ 14 - 0
src/main/resources/static/js/common.js

@@ -94,6 +94,20 @@ formatDate = function (v, format) {
     return format;
 }
 
+function today() {
+    var dd = new Date();
+    return formatDate(dd, 'yyyy-MM-dd');
+}
+
+function countDay(dayCount) {
+    var dd = new Date();
+    dd.setDate(dd.getDate()+dayCount);//获取AddDayCount天后的日期
+    var y = dd.getFullYear();
+    var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
+    var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
+    return y+"-"+m+"-"+d;
+}
+
 isNullOrEmpty = function (obj) {
     if ((typeof (obj) == "string" && obj == "") || obj == null || obj == undefined) {
         return true;

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
src/main/resources/static/plugins/laydate/laydate.js


BIN
src/main/resources/static/plugins/laydate/theme/default/font/iconfont.eot


+ 45 - 0
src/main/resources/static/plugins/laydate/theme/default/font/iconfont.svg

@@ -0,0 +1,45 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<!--
+2013-9-30: Created.
+-->
+<svg>
+<metadata>
+Created by iconfont
+</metadata>
+<defs>
+
+<font id="laydate-icon" horiz-adv-x="1024" >
+  <font-face
+    font-family="laydate-icon"
+    font-weight="500"
+    font-stretch="normal"
+    units-per-em="1024"
+    ascent="896"
+    descent="-128"
+  />
+    <missing-glyph />
+    
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
+d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
+t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
+t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
+    
+
+    
+    <glyph glyph-name="youyou" unicode="&#58882;" d="M283.648 721.918976 340.873216 780.926976 740.352 383.997952 340.876288-12.925952 283.648 46.077952 619.52 383.997952Z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="zuozuo" unicode="&#58883;" d="M740.352 721.918976 683.126784 780.926976 283.648 383.997952 683.123712-12.925952 740.352 46.077952 404.48 383.997952Z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="xiayiye" unicode="&#58970;" d="M62.573 384.103l423.401 423.662c18.985 18.985 49.757 18.985 68.727 0 18.982-18.972 18.985-49.746 0-68.729l-355.058-355.067 356.796-356.796c18.977-18.971 18.976-49.746 0-68.727-18.982-18.976-49.751-18.976-68.727 0l-39.753 39.753 0.269 0.246-385.655 385.661zM451.365 384.103l423.407 423.662c18.985 18.985 49.757 18.985 68.727 0 18.982-18.972 18.985-49.746 0-68.729l-355.058-355.067 356.796-356.796c18.977-18.971 18.976-49.746 0-68.727-18.982-18.976-49.757-18.977-68.727 0l-39.762 39.754 0.273 0.249-385.662 385.661zM451.365 384.103z"  horiz-adv-x="1024" />
+
+    
+    <glyph glyph-name="xiayiye1" unicode="&#58971;" d="M948.066926 382.958838l-411.990051-412.24426c-18.47333-18.47333-48.417689-18.47333-66.875207 0-18.47333 18.461167-18.47333 48.405526 0 66.875207L814.691135 383.088983 467.512212 730.269123c-18.466032 18.458735-18.466032 48.405526 0 66.873991 18.468465 18.464816 48.410391 18.464816 66.872774 0l38.682336-38.682336-0.261507-0.239614 375.259894-375.265975v0.003649m-378.312834 0L157.756743-29.285422c-18.47333-18.47333-48.415256-18.47333-66.872775 0-18.47333 18.461167-18.47333 48.405526 0 66.875207L436.369787 383.088983 89.19208 730.269123c-18.4636 18.458735-18.4636 48.405526 0 66.873991 18.470898 18.464816 48.415256 18.464816 66.872774 0l38.692067-38.682336-0.266372-0.239614 375.267191-375.265975-0.004865 0.003649m0 0z"  horiz-adv-x="1024" />
+
+    
+
+
+  </font>
+</defs></svg>

BIN
src/main/resources/static/plugins/laydate/theme/default/font/iconfont.ttf


BIN
src/main/resources/static/plugins/laydate/theme/default/font/iconfont.woff


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 0
src/main/resources/static/plugins/laydate/theme/default/laydate.css


+ 15 - 2
src/main/resources/templates/base/log/list.html

@@ -4,15 +4,28 @@
 <body>
 <div id="dpLTE" class="container-fluid" v-cloak>
 	<div class="row">
-		<div class="col-md-4 form-inline pull-left">
+		<div class="col-md-9 form-inline pull-left">
 			<div class="form-group">
 		    	<input v-model="keyword" @keyup.enter="load" class="form-control" placeholder="请输入查询关键字" style="width: 220px;" />
 			</div>
+			<div class="input-group">
+				<input id="dateRange" :value="dateRange" class="form-control" placeholder="请选择时间范围" style="width: 190px;"/>
+				<div class="input-group-btn">
+					<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{dateRangeText}} <span class="caret"></span></button>
+					<ul class="dropdown-menu">
+						<li><a @click="dateRangeSelect(1)" href="javascript:;">最近一天</a></li>
+						<li><a @click="dateRangeSelect(7)" href="javascript:;">最近一周</a></li>
+						<li><a @click="dateRangeSelect(30)" href="javascript:;">最近一月</a></li>
+						<li role="separator" class="divider"></li>
+						<li><a @click="dateRangeSelect(0)" href="javascript:;">自定义</a></li>
+					</ul>
+				</div>
+			</div>
 			<div class="form-group">
 			    <a class="btn btn-primary" @click="load"><i class="fa fa-search"></i>&nbsp;查询</a>
 			</div>
 		</div>
-		<div class="col-md-8">
+		<div class="col-md-3">
 			<div class="btn-toolbar pull-right">
 				<div class="btn-group">
 		            <a v-if="hasPermission('sys:log:list')" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>

+ 1 - 0
src/main/resources/templates/include/footer_js.html

@@ -14,6 +14,7 @@
 		<script th:src="@{../../plugins/treegrid/jquery.treegrid.extension.js}"></script>
 		<script th:src="@{../../plugins/treegrid/tree.table.js}"></script>
 		<script th:src="@{../../plugins/validator/validator.js}"></script>
+		<script th:src="@{../../plugins/laydate/laydate.js}"></script>
 		<script th:src="@{../../js/common.js}"></script>
 		<script th:src="@{../../js/form.js}"></script>
 	</div>

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است