1. 程式人生 > >Layui 資料表格toolbar中使用模板引擎templet,當前系統時間比較問題

Layui 資料表格toolbar中使用模板引擎templet,當前系統時間比較問題

在layui資料表格展現中,使用toolbar,由於許可權的控制,需要使用templet模板引擎語法進行控制,控制邏輯為只有大於當前時間的記錄才能撤銷。

效果圖如下:(當前時間為2018-06-06)

這裡寫圖片描述

即過了當前日期的記錄是無法撤銷。

程式碼:

window.demoTable = table
                        .render({
                            elem : '#idTest',
                            id : 'idTest',
                            url : '<%=path%>/content/getMryxPublishList',
                            /* width : 1700,
                            height : 685, */
                            width : 1700,
                            height : 650,
                            cols : [ [ //標題欄
                            {checkbox : true,LAY_CHECKED : false,filter : 'test'},
                            {field : 'TITLE',title : '學習主題',width : 200,sort : true,align : 'left'},
                            {field : 'LEARN_TYPE_NAME',title : '學習型別',width : 200,sort : true,align : 'center'},
                            {field : 'CONTENT',title : '學習內容',width : 350,sort : true,align : 'center',toolbar : '#view_content'}, 
                            {field : 'PUBLISH_DATE',title : '釋出時間',width : 200,align : 'center'}, 
                            {fixed : 'right',title : '操作',width : 400,align : 'center',toolbar : '#barDemo'}
                            ] ],
                            page : true //是否顯示分頁
                            ,
                            where: { key:"" },
                            limits : [ 10, 20,50, 100 ],
                            limit : 10
                            ,done:function(res,curr,count){
                                $('table tr').on('click',function(){
                                     $('table tr').css('background','');
                                     $(this).css('background','<%=PropKit.use("config.properties").get("table_color")%>');
                                 });
                            }
                        //每頁預設顯示的數量
                        });
  •  
<script type="text/html" id="barDemo">
    {{#  if(new Date(d.PUBLISH_DATE) > new Date()){ }}
                <a class="layui-btn" lay-event="cancel">撤銷</a>
    {{#  } }}
</script>
  •  

使用這個要注意PUBLISH_DATE的資料型別,我這裡是輸出的是JSON字串,PUBLISH_DATE為字串型別。而且這種讀取電腦時間去比較有些不妥,因為個人的電腦時間是可以隨意修改的,最好跟伺服器時間作比較。

*********************************格式化時間*********************************************
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>test1</title>
	<link rel="stylesheet" type="text/css" href="../../Public/lib/layui/css/layui.css">
</head>
<body>

<table id="demo" lay-filter="testtable"></table>
               
<script type="text/javascript" src="../../Public/lib/layui/layui.js"></script>
<script type="text/javascript">
layui.use(["table"],function() {
	var table=layui.table;
  //展示已知資料
  table.render({
    elem: '#demo'
    ,data: [{
      "id": "10001"
      ,"username": "杜甫"
      ,"email": "
[email protected]
layui.com" ,"sex": "男" ,"city": "浙江杭州" ,"sign": "人生恰似一場修行" ,"experience": "116" ,"ip": "192.168.0.8" ,"logins": "108" ,"joinTime": "1507353913000" }, { "id": "10002" ,"username": "李白" ,"email": "[email protected]layui.com" ,"sex": "男" ,"city": "浙江杭州" ,"sign": "人生恰似一場修行" ,"experience": "12" ,"ip": "192.168.0.8" ,"logins": "106" ,"joinTime": "2016-10-14" ,"LAY_CHECKED": true }] ,height: 272 ,cols: [[ //標題欄 {checkbox: true} //預設全選 ,{field: 'id', title: 'ID', width: 80, sort: true} ,{field: 'username', title: '使用者名稱', width: 120} ,{field: 'email', title: '郵箱', width: 150} ,{field: 'sign', title: '簽名', width: 150} ,{field: 'sex', title: '性別', width: 80} ,{field: 'city', title: '城市', width: 100} ,{field: 'joinTime', title: '新增時間', width: 120,templet:'<div>{{ Format(d.joinTime,"yyyy-MM-dd")}}</div>'} ,{field: 'experience', title: '積分', width: 80, sort: true} ]] ,skin: 'row' //表格風格 ,even: true ,page: true //是否顯示分頁 ,limits: [5, 7, 10] ,limit: 5 //每頁預設顯示的數量 }); table.on('radio(testtable)', function(obj){ //console.log(obj.checked); //當前是否選中狀態 console.log(obj.data); //選中行的相關資料 }); }); // 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個佔位符, // 年(y)可以用 1-4 個佔位符,毫秒(S)只能用 1 個佔位符(是 1-3 位的數字) // 例子: //Format("2016-10-04 8:9:4.423","yyyy-MM-dd hh:mm:ss.S") ==> 2016-10-04 08:09:04.423 // Format("1507353913000","yyyy-M-d h:m:s.S") ==> 2017-10-7 13:25:13.0 function Format(datetime,fmt) { if (parseInt(datetime)==datetime) { if (datetime.length==10) { datetime=parseInt(datetime)*1000; } else if(datetime.length==13) { datetime=parseInt(datetime); } } datetime=new Date(datetime); var o = { "M+" : datetime.getMonth()+1, //月份 "d+" : datetime.getDate(), //日 "h+" : datetime.getHours(), //小時 "m+" : datetime.getMinutes(), //分 "s+" : datetime.getSeconds(), //秒 "q+" : Math.floor((datetime.getMonth()+3)/3), //季度 "S" : datetime.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (datetime.getFullYear()+"").substr(4 - RegExp.$1.length)); for(var k in o) if(new RegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); return fmt; } console.log(Format("1507353913000","yyyy-M-d h:m:s.S")); </script> </body> </html>
如有侵權,請聯絡本人