浏览代码

移除jedate组件

懒得勤快 3 年之前
父节点
当前提交
ce58cb7bd5

+ 0 - 1
src/Masuit.MyBlogs.Core/Extensions/MiddlewareExtension.cs

@@ -135,7 +135,6 @@ namespace Masuit.MyBlogs.Core.Extensions
                     .Include("/Content/common/loading.min.css");
                 bundles.AddCss("/dashboard.css")
                     .Include("/fonts/icomoon.css")
-                    .Include("/Assets/jedate/jedate.css")
                     .Include("/Assets/fileupload/filestyle.css")
                     .Include("/Content/common/loading.min.css")
                     .Include("/Content/checkbox.min.css")

+ 0 - 2
src/Masuit.MyBlogs.Core/Views/Dashboard/Index.cshtml

@@ -27,7 +27,6 @@
     <link href="~/Assets/layui/css/layui.min.css" rel="stylesheet" />
     <environment names="Development">
         <link href="~/fonts/icomoon.css" rel="stylesheet" />
-        <link href="~/Assets/jedate/jedate.css" rel="stylesheet" />
         <link href="~/Assets/fileupload/filestyle.css" rel="stylesheet" />
         <link href="~/Content/common/loading.min.css" rel="stylesheet" />
         <link href="~/Content/checkbox.min.css" rel="stylesheet" />
@@ -60,7 +59,6 @@
     <script src="~/Scripts/tm.pagination.js"></script>
     <script src="~/Assets/layui/layui.js"></script>
     <script src="~/Assets/UEditor/ueditor.config.admin.js"></script>
-    <script src="~/Assets/jedate/jedate.js" async defer></script>
     <script src="~/ng-views/app/app.config.js"></script>
     <script src="~/ng-views/app/route.config.js"></script>
     <script src="~/ng-views/app/angular-ueditor.min.js"></script>

+ 9 - 8
src/Masuit.MyBlogs.Core/Views/Misc/Donate_Admin.cshtml

@@ -33,12 +33,10 @@
         }
     }
 </style>
-<link href="~/Assets/jedate/jedate.css" rel="stylesheet" />
 <script src="https://cdn.staticfile.org/lodash.js/3.10.1/lodash.min.js"></script>
 <script src="https://cdn.staticfile.org/angular.js/1.7.7/angular.min.js"></script>
 <script src="~/Scripts/tm.pagination.js"></script>
 <script src="https://cdn.staticfile.org/ng-table/1.0.0/ng-table.js"></script>
-<script src="~/Assets/jedate/jedate.js"></script>
 <ol class="cd-breadcrumb triangle">
     <li><a asp-controller="Home" asp-action="Index">首页</a></li>
     <li class="current">
@@ -246,13 +244,16 @@
                     }
                 }
             }).catch(swal.noop);
-
-            jeDate(".date", {
-                isinitVal: true,
-                format: "YYYY-MM-DD",
-                donefun: function (elem) {
-                    $("#date").val(elem.val);
+            layui.use('laydate', function(){
+              var laydate = layui.laydate;
+              laydate.render({
+                elem: '.date',
+                calendar: true,
+                done: function(value, date, endDate) {
+                    $scope.partner.ExpireTime=value;
+                    $("#date").val(value);
                 }
+              });
             });
         }
     }]);

+ 0 - 100
src/Masuit.MyBlogs.Core/wwwroot/Assets/jedate/jedate.css

@@ -1,100 +0,0 @@
-/**
- @Name : jeDate V6.5.0 日期控件
- @Author: chen guojun
- @QQ群:516754269
- @官网:http://www.jemui.com/ 或 https://github.com/singod/jeDate
- */
-@font-face {font-family: "jedatefont";
-    src: url('jedatefont.eot?t=1510763148800'); /* IE9*/
-    src: url('jedatefont.eot?t=1510763148800#iefix') format('embedded-opentype'), /* IE6-IE8 */
-    url('jedatefont.woff?t=1510763148800') format('woff'),
-    url('jedatefont.ttf?t=1510763148800') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
-    url('jedatefont.svg?t=1510763148800#jedatefont') format('svg'); /* iOS 4.1- */
-}
-  
-.jedatefont {font-family:"jedatefont" !important;font-style:normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
-.jedate{height:auto; font-family:'PingFangSC-Light','PingFang SC','Segoe UI','Lucida Grande','NotoSansHans-Light','Microsoft YaHei', '\5FAE\8F6F\96C5\9ED1', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif;font-size:12px; cursor:default;margin: 0;padding: 0;overflow: hidden;position: relative;border-radius:4px;display: inline-block;border: 1px solid #e2e2e2;box-shadow: 0 1px 6px rgba(0,0,0,.15);background-color:#fff;}
-.jedate *{margin: 0;padding: 0;list-style-type:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-style:normal;font-family:'PingFangSC-Light','PingFang SC','Segoe UI','Lucida Grande','NotoSansHans-Light','Microsoft YaHei', '\5FAE\8F6F\96C5\9ED1', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif;}
-
-.jedate table thead,.jedate table td{border: 1px #fff solid;}
-.jedate ul,.jedate ol,.jedate li,.jedate dl{list-style-type:none;font-style:normal;font-weight: 300;}
-
-.jedate .yearprev{left:0;font-size: 14px;}
-.jedate .monthprev{left:25px;font-size: 14px;}
-.jedate .yearnext{right:0;font-size: 14px;}
-.jedate .monthnext{right:25px;font-size: 14px;}
-.jedate .jedate-tips{position: absolute; top: 40%; left: 50%;z-index: 800; width: 200px; margin-left: -100px; line-height: 20px; padding: 15px; text-align: center; font-size: 12px; color: #ff0000;background-color: #FFFEF4;border: 1px rgb(247, 206, 57) solid;display: none;}
-.jedate .timecontent ul::-webkit-scrollbar,.jedate-menu::-webkit-scrollbar{height:6px;width:6px;margin-right:5px;background-color: #f5f5f5;transition:all 0.3s ease-in-out;border-radius:0px}
-.jedate .timecontent ul::-webkit-scrollbar-track,.jedate-menu::-webkit-scrollbar-track { -webkit-border-radius: 0px;border-radius: 0px;}
-.jedate .timecontent ul::-webkit-scrollbar-thumb,.jedate-menu::-webkit-scrollbar-thumb{-webkit-border-radius: 0px;border-radius: 0px;background: rgba(0,0,0,0.5); }
-.jedate .timecontent ul::-webkit-scrollbar-thumb:hover,.jedate-menu::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.6)}
-.jedate .timecontent ul::-webkit-scrollbar-thumb:active,.jedate-menu::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,0.8)}
-.jedate .timecontent ul::-webkit-scrollbar-thumb:window-inactive,.jedate-menu::-webkit-scrollbar-thumb:window-inactive {background: rgba(0,0,0,0.4);}
-.jedate .jedate-hmsmask{width:100%;display: block;background-color: rgba(0,0,0,.7);background-color:#fff;position: absolute;top: 0;left:0;right:0;bottom: 36px;z-index: 100;}
-.jedatetipscon{color:#333; float:left; overflow:hidden;background-color: #FFFEF4; line-height:22px;padding:6px;border: 1px rgb(247, 206, 57) solid;font-style:normal;font-family: Arial, "\5b8b\4f53", 'sans-serif';font-size:12px;font-weight: 300;}
-.jedatetipscon p{padding: 0;margin: 0;font-size:12px;}
-.jedatetipscon p.red{color: #ff0000;}
-
-.jedate.leftmenu{padding-left: 90px;}
-.jedate .jedate-menu{width:90px;position: absolute;top: 0;left:0;bottom: 0;z-index: 10;background: #f2f2f2;border-right: 1px solid #efefef;border-radius: 4px 0 0 4px;overflow:auto;display: block;padding:4px 0;}
-.jedate .jedate-menu p{height: 30px;line-height: 30px;padding-left: 8px;overflow:hidden;font-size: 12px;cursor: pointer;}
-.jedate .jedate-menu p:hover{background-color: #00A680;color:#FFFFFF;}
-.jedate .jedate-wrap{min-width:230px;background: #fff;overflow: hidden;}
-.jedate .jedate-pane{width: 230px;float: left;overflow: hidden;}
-.jedate .jedate-header{width:100%;height:36px;line-height: 36px;float: left;background-color: #f2f2f2;text-align: center;font-size: 14px;padding: 0 50px;position: relative;}
-.jedate .jedate-header em{width:25px;height:36px;line-height: 36px;position:absolute;color: #666;top:0;background-repeat: no-repeat;background-position: center center;cursor: pointer;}
-.jedate .jedate-header .ymbtn{padding: 8px;border-radius: 4px;cursor:pointer;font-size: 14px;}
-/* .jedate .jedate-header em:hover,.jedate .jedate-header .ymbtn:hover{color: #00A680;} */
-.jedate .jedate-content{width:100%;height: 220px;float: left;padding: 5px;overflow: hidden;}
-.jedate .jedate-content.bordge{border-left: 1px #e9e9e9 solid;}
-.jedate .jedate-content .yeartable,.jedate .jedate-content .monthtable{width: 100%;border-collapse: collapse;border-spacing: 0;border: 1px solid #fff;}
-.jedate .jedate-content .yeartable td,.jedate .jedate-content .monthtable td{width:73px;height: 51px;line-height: 51px;text-align:center; position:relative; overflow:hidden;font-size: 14px;}
-.jedate .jedate-content .yeartable td span,.jedate .jedate-content .monthtable td span{padding: 8px 10px;border: 1px solid #fff;}
-.jedate .jedate-content .yeartable td.action span,.jedate .jedate-content .monthtable td.action span,
-.jedate .jedate-content .yeartable td.action span:hover,.jedate .jedate-content .monthtable td.action span:hover{background-color:#00A680;border:1px #00A680 solid;color:#fff;}
-.jedate .jedate-content .yeartable td span:hover,.jedate .jedate-content .monthtable td span:hover{background-color:#f2f2f2;border: 1px #f2f2f2 solid;}
-.jedate .jedate-content .yeartable td.disabled span,.jedate .jedate-content .monthtable td.disabled span,
-.jedate .jedate-content .yeartable td.disabled span:hover,.jedate .jedate-content .monthtable td.disabled span:hover{color:#bbb;background-color:#fff;border: 1px solid #fff;}
-.jedate .jedate-content .yeartable td.contain span,.jedate .jedate-content .monthtable td.contain span,
-.jedate .jedate-content .yeartable td.contain span:hover,.jedate .jedate-content .monthtable td.contain span:hover{background-color: #D0F0E3;border:1px #D0F0E3 solid;}
-
-.jedate.grid .daystable thead,.jedate.grid .daystable td{border: 1px #f2f2f2 solid;}
-.jedate .jedate-content .daystable{width: 100%;border-collapse: collapse;border-spacing: 0;border: 1px solid #fff;}
-.jedate .jedate-content .daystable thead{background-color:#fff;}
-.jedate .jedate-content .daystable th{width:31px;height:27px;  text-align:center; position:relative; overflow:hidden;font-size: 12px;font-weight: 400;}
-.jedate .jedate-content .daystable td{width:31px;height:30px;  text-align:center; position:relative; overflow:hidden;font-size: 14px;font-family: Arial, "\5b8b\4f53", 'sans-serif';}
-.jedate .jedate-content .daystable td .nolunar{line-height:29px;font-size: 14px;font-family: Arial, "\5b8b\4f53", 'sans-serif';}
-.jedate .jedate-content .daystable td .solar{height:14px;line-height:14px;font-size: 14px;padding-top: 2px;display: block;font-family: Arial, "\5b8b\4f53", 'sans-serif';}
-.jedate .jedate-content .daystable td .lunar{height:15px;line-height:15px;font-size: 12px;overflow:hidden;display: block;font-family: Arial, "\5b8b\4f53", 'sans-serif';color: #888;transform: scale(.95);}
-.jedate .jedate-content .daystable td.action,.jedate .jedate-content .daystable td.action:hover,
-.jedate .jedate-content .daystable td.action .lunar{background-color: #00A680;color:#fff;}
-.jedate .jedate-content .daystable td.other,.jedate .jedate-content .daystable td.other .nolunar,.jedate .jedate-content .daystable td.other .lunar{color:#00DDAA;}
-.jedate .jedate-content .daystable td.disabled,.jedate .jedate-content .daystable td.disabled .nolunar,.jedate .jedate-content .daystable td.disabled .lunar{ color:#bbb;}
-.jedate .jedate-content .daystable td.contain,.jedate .jedate-content .daystable td.contain:hover{background-color: #00DDAA;color:#fff;}
-.jedate .jedate-content .daystable td.disabled:hover{background-color:#fff;}
-.jedate .jedate-content .daystable td:hover{background-color:#f2f2f2;}
-.jedate .jedate-content .daystable td.red{ color:#ff0000;}
-.jedate .jedate-content .daystable td .marks{ width:5px; height:5px; background-color:#ff0000; -webkit-border-radius:50%;border-radius:50%; position:absolute; right:2px; top:4px;}
-.jedate .jedate-content .daystable td.action .marks{ width:5px; height:5px; background-color:#fff; -webkit-border-radius:50%;border-radius:50%; position:absolute; right:2px; top:4px;}
-
-.jedate .jedate-time{overflow: hidden;padding-bottom: 4px; background-color:#fff;position: absolute;top:0;right: 0;z-index: 150;}
-.jedate .jedate-time .timepane{width:230px;float:left;}
-.jedate .jedate-time .timeheader{width: 100%;float:left;height: 36px;line-height: 36px;background-color: #f2f2f2;text-align: center;font-size: 14px;position: relative;}
-.jedate .jedate-time .timecontent{width: 100%;float:left;}
-.jedate .jedate-time .hmstitle{width: 211px;margin: 0 auto;overflow: hidden;padding-top: 4px;text-align: center;}
-.jedate .jedate-time .hmstitle p{width: 33.33%;float:left;height: 30px;line-height: 30px;font-size: 13px;}
-.jedate .jedate-time .hmslist{width: 211px;margin: 0 auto 6px auto;border: 1px solid #ddd;border-right: none;overflow: hidden;}
-.jedate .jedate-time .hmslist .hmsauto{height: 100%;margin: 0;text-align: center;}
-.jedate .jedate-time .hmslist ul {width: 70px;height: 174px;float: left;border-right: 1px solid #ddd;overflow: hidden;}
-.jedate .jedate-time .hmslist .hmsauto:hover ul {overflow-y: auto}
-.jedate .jedate-time .hmslist ul li {width: 130%;padding-left:26px;text-align: left;height: 25px;line-height: 25px;font-size: 14px;font-family: Arial, "\5b8b\4f53", 'sans-serif';}
-.jedate .jedate-time .hmslist ul li:hover{background-color: #F2F2F2;}
-.jedate .jedate-time .hmslist ul li.action,.jedate-time .hmslist ul li.action:hover{background-color: #00A680;color:#fff;}
-.jedate .jedate-time .hmslist ul li.disabled{ background-color: #fbfbfb;color:#ccc;}
-.jedate .jedate-time .hmslist ul li.disabled.action{ background-color: #00A680;color:#FFFFFF;filter:Alpha(opacity=30);opacity:.3; }
-
-.jedate .jedate-footbtn{height: 36px;padding: 0 6px;border-top: 1px #e9e9e9 solid;overflow: hidden;}
-.jedate .jedate-footbtn .timecon{line-height:28px;padding:0 5px;background-color:#00A680;color:#fff;display:block;float: left;font-size: 12px;margin-top:4px;border-radius:4px;overflow: hidden;}
-.jedate .jedate-footbtn .btnscon{line-height:28px;margin-top:4px;display:block;float: right;font-size: 12px;border-radius:4px;overflow: hidden;}
-.jedate .jedate-footbtn .btnscon span{float:left; padding:0 5px;border-right: 1px #fff solid;background-color:#00A680;color:#fff;display:block;height:28px;line-height:28px;text-align:center;overflow:hidden;}
-.jedate .jedate-footbtn .btnscon span:last-child{border-right:none;}

+ 0 - 1524
src/Masuit.MyBlogs.Core/wwwroot/Assets/jedate/jedate.js

@@ -1,1524 +0,0 @@
-/**
- @Name : jeDate v6.5.0 日期控件
- @Author: chen guojun
- @Date: 2018-04-30
- @QQ群:516754269
- @官网:http://www.jemui.com/ 或 https://github.com/singod/jeDate
- */
-;(function(window, factory) {
-    //amd
-    if (typeof define === 'function' && define.amd) {
-        define(factory);
-    } else if (typeof exports === 'object') { //umd
-        module.exports = factory();
-    } else {
-        window.jeDate = factory();
-    }
-})(this, function() {    
-    var doc = document, win = window;
-    var jet = {}, doc = document, regymdzz = "YYYY|MM|DD|hh|mm|ss|zz", gr = /\-/g,
-        regymd = "YYYY|MM|DD|hh|mm|ss|zz".replace("|zz",""), parseInt = function (n) { return window.parseInt(n, 10);};
-    var $Q = function (selector,content) {
-        content = content || document;
-        return selector.nodeType ? selector : content.querySelector(selector);
-    };
-    var jeDate = function(elem,options){
-        var opts = typeof (options) === "function" ? options() : options;
-        return new jeDatePick(elem,opts);
-    };
-    //日期控件版本
-    jeDate.dateVer = "V6.5.0";
-    //用一个或多个其他对象来扩展一个对象,返回被扩展的对象
-    jeDate.extend = jet.extend = function () {
-        var options, name, src, copy,deep = false, target = arguments[0], i = 1, length = arguments.length;
-        if (typeof (target) === "boolean") deep = target, target = arguments[1] || {}, i = 2;
-        if (typeof (target) !== "object" && typeof (target) !== "function") target = {};
-        if (length === i) target = this, --i;
-        for (; i < length; i++) {
-            if ((options = arguments[i]) != null) {
-                for (name in options) {
-                    src = target[name], copy = options[name];
-                    if (target === copy) continue;
-                    if (copy !== undefined) target[name] = copy;
-                }
-            }
-        }
-        return target;
-    };
-    //返回指定日期
-    jeDate.nowDate = function (val,format) {
-        format = format || 'YYYY-MM-DD hh:mm:ss';
-        if (!isNaN(val)) val = {DD: val};
-        return jet.parse(jet.getDateTime(val),format);
-    };
-    //日期转换
-    jeDate.convert = function (obj) {
-        obj.format = obj.format || 'YYYY-MM-DD hh:mm:ss';
-        obj.addval = obj.addval || [];
-        var mats = jet.reMatch(obj.format),objVal = {};
-        jet.each(jet.reMatch(obj.val),function (i,cval) {
-            objVal[mats[i]] = parseInt(cval);
-        });
-        var result = new DateTime(obj.addval,objVal), redate = { 
-            YYYY:result.GetYear(), MM:result.GetMonth(), DD:result.GetDate(),
-            hh:result.GetHours(), mm:result.GetMinutes(), ss:result.GetSeconds()
-        };
-        return redate;
-    };
-    jeDate.valText = function (elem,value) {
-        return jet.valText(elem,value);     
-    }
-    //日期时间戳相互转换
-    jeDate.timeStampDate = function (date,format) {
-        format = format || 'YYYY-MM-DD hh:mm:ss';
-        var dateTest = (/^(-)?\d{1,10}$/.test(date) || /^(-)?\d{1,13}$/.test(date));
-        if(/^[1-9]*[1-9][0-9]*$/.test(date) && dateTest){
-            var vdate = parseInt(date);
-            if (/^(-)?\d{1,10}$/.test(vdate)) {
-                vdate = vdate * 1000;
-            } else if (/^(-)?\d{1,13}$/.test(vdate)) {
-                vdate = vdate * 1000;
-            } else if (/^(-)?\d{1,14}$/.test(vdate)) {
-                vdate = vdate * 100;
-            } else {
-                alert("时间戳格式不正确");
-                return;
-            }
-            var setdate = new Date(vdate);
-            return jet.parse({
-                YYYY:setdate.getFullYear(), MM:jet.digit(setdate.getMonth()+1), DD:jet.digit(setdate.getDate()) , 
-                hh:jet.digit(setdate.getHours()), mm:jet.digit(setdate.getMinutes()), ss:jet.digit(setdate.getSeconds()) 
-            }, format);
-        }else {
-            //将日期转换成时间戳
-            var arrs = jet.reMatch(date),
-                newdate = new Date(arrs[0],arrs[1]-1,arrs[2],arrs[3]||0,arrs[4]||0,arrs[5]||0),
-                timeStr = Math.round(newdate.getTime() / 1000);
-            return timeStr;
-        }
-    };
-    //获取年月日星期
-    jeDate.getLunar = function(obj){
-        //如果为数字类型的日期对获取到日期的进行替换
-        var lunars = jeLunar(obj.YYYY, parseInt(obj.MM) - 1, obj.DD);
-        return{
-            nM: lunars.lnongMonth,              //农历月
-            nD: lunars.lnongDate,               //农历日
-            cY: parseInt(lunars.solarYear),     //阳历年
-            cM: parseInt(lunars.solarMonth),    //阳历月
-            cD: parseInt(lunars.solarDate),     //阳历日
-            cW: lunars.inWeekDays,              //汉字星期几
-            nW: lunars.solarWeekDay             //数字星期几
-        };
-    };
-    //转换日期格式
-    jeDate.parse = jet.parse = function(ymdhms, format) {
-        return format.replace(new RegExp(regymdzz,"g"), function(str, index) {
-            return str == "zz" ? "00":jet.digit(ymdhms[str]);
-        });
-    }
-    //返回日期
-    function DateTime(arr,valObj) {
-        var that = this,newdate = new Date(), narr = ["FullYear","Month","Date","Hours","Minutes","Seconds"]; 
-        var vb = jet.extend({YYYY:null,MM:null,DD:null,hh:newdate.getHours(),mm:newdate.getMinutes(),ss:newdate.getSeconds()},valObj);
-        var ND = valObj == undefined ? newdate : new Date(vb.YYYY,vb.MM,vb.DD,vb.hh,vb.mm,vb.ss);
-        if((arr||[]).length>0) jet.each(arr,function (i,par) { 
-            ND["set"+narr[i]](narr[i] == "Month" ? parseInt(par)-1:parseInt(par)); 
-        });
-        //返回一个数值相同的新DateTime对象 
-        that.reDate = function () {
-            return new DateTime();
-        };
-        //返回此实例的Date值 
-        that.GetValue = function () {
-            return ND;
-        };
-        //获取此实例所表示日期的年份部分。 
-        that.GetYear = function () {
-            return ND.getFullYear();
-        };
-        //获取此实例所表示日期的月份部分。 
-        that.GetMonth = function () {
-            return ND.getMonth() + 1;
-        };
-        //获取此实例所表示的日期为该月中的第几天。 
-        that.GetDate = function () {
-            return ND.getDate();
-        };
-        //获取此实例所表示日期的小时部分。 
-        that.GetHours = function () {
-            return ND.getHours();
-        };
-        //获取此实例所表示日期的分钟部分。 
-        that.GetMinutes = function () {
-            return ND.getMinutes();
-        };
-        //获取此实例所表示日期的秒部分。 
-        that.GetSeconds = function () {
-            return ND.getSeconds();
-        };
-    };
-
-    jet.extend(jet,{
-        isType : function (obj,type) {
-            var firstUper = function (str) {
-                str = str.toLowerCase();
-                return str.replace(/\b(\w)|\s(\w)/g, function (m) {
-                    return m.toUpperCase();
-                });
-            }
-            return Object.prototype.toString.call(obj) == "[object " + firstUper(type) + "]";
-        },
-        each : function (obj, callback, args) {
-            var name, i = 0, length = obj.length, iselem = (length === undefined || obj === "function");
-            if (iselem) {
-                for (name in obj) { if (callback.call(obj[name], name, obj[name]) === false) { break } }
-            } else {
-                for (; i < length;) { if (callback.call(obj[i], i, obj[i++]) === false) { break } }
-            }            
-            return obj;
-        },
-        on : function (elm, type, fn) {
-            if (elm.addEventListener) {
-                elm.addEventListener(type, fn, false);//DOM2.0
-                return true;
-            }else if (elm.attachEvent) {
-                return elm.attachEvent("on" + type, fn);//IE5+
-            }else {
-                elm["on" + type] = fn;//DOM 0
-            }
-        },
-        isObj : function (obj){
-            for(var i in obj){return true;}
-            return false;
-        },
-        trim : function (str){ return str.replace(/(^\s*)|(\s*$)/g, ""); }, 
-        reMatch : function (str) {
-            var smarr = [],maStr = "", parti = /(^\w{4}|\w{2}\B)/g;
-            if(jet.isNum(str)){
-                maStr =  str.replace(parti,"$1-");
-            }else{
-                maStr = /^[A-Za-z]+$/.test(str) ? str.replace(parti,"$1-") : str;   
-            }
-            jet.each(maStr.match(/\w+|d+/g),function (i,val) {
-                smarr.push(jet.isNum(val) ? parseInt(val):val);
-            });
-            return smarr;
-        },
-        equals : function (arrA,arrB) {
-            if (!arrB) return false;
-            if (arrA.length != arrB.length) return false;
-            for (var i = 0, l = arrA.length; i < l; i++) {
-                if (arrA[i] instanceof Array && arrB[i] instanceof Array) {
-                    if (!arrA[i].equals(arrB[i])) return false;
-                } else if (arrA[i] != arrB[i]) {
-                    return false;
-                }
-            }
-            return true;
-        },
-        docScroll : function(type) {
-            type = type ? "scrollLeft" :"scrollTop";
-            return document.body[type] | document.documentElement[type];
-        },
-        docArea : function(type) {
-            return document.documentElement[type ? "clientWidth" :"clientHeight"];
-        },
-        //补齐数位
-        digit : function(num) {
-            return num < 10 ? "0" + (num | 0) :num;
-        },
-        //判断是否为数字
-        isNum : function(value){
-            return /^[+-]?\d*\.?\d*$/.test(value) ? true : false;
-        },
-        //获取本月的总天数
-        getDaysNum : function(y, m) {
-            var num = 31,isLeap = (y % 100 !== 0 && y % 4 === 0) || (y % 400 === 0);
-            switch (parseInt(m)) {
-                case 2: num = isLeap ? 29 : 28; break;
-                case 4: case 6: case 9: case 11: num = 30; break;
-            }
-            return num;
-        },
-        //获取月与年
-        getYM : function(y, m, n) {
-            var nd = new Date(y, m - 1);
-            nd.setMonth(m - 1 + n);
-            return {
-                y: nd.getFullYear(),
-                m: nd.getMonth() + 1
-            };
-        },
-        //获取上个月
-        prevMonth : function(y, m, n) {
-            return jet.getYM(y, m, 0 - (n || 1));
-        },
-        //获取下个月
-        nextMonth : function(y, m, n) {
-            return jet.getYM(y, m, n || 1);
-        },
-        setCss:function(elem,obj) {
-            for (var x in obj) elem.style[x] = obj[x];
-        },
-        html : function (elem,html) {
-            return typeof html === "undefined" ? elem && elem.nodeType === 1 ? elem.innerHTML :undefined :typeof html !== "undefined" && html == true ? elem && elem.nodeType === 1 ? elem.outerHTML :undefined : elem.innerHTML = html;
-                
-        },
-        // 读取设置节点文本内容
-        text : function(elem,value) {
-            var innText = document.all ? "innerText" :"textContent";
-            return typeof value === "undefined" ? elem && elem.nodeType === 1 ? elem[innText] :undefined : elem[innText] = value;
-        },
-        //设置值
-        val : function (elem,value) {
-            if (typeof value === "undefined") {
-                return elem && elem.nodeType === 1 && typeof elem.value !== "undefined" ? elem.value :undefined;
-            }
-            // 将value转化为string
-            value = value == null ? "" :value + "";
-            elem.value = value;
-        },
-        attr : function(elem,value){
-            return elem.getAttribute(value);
-        },
-        hasClass : function (obj, cls) {
-            return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
-        },
-        stopPropagation : function (ev) { 
-            (ev && ev.stopPropagation) ? ev.stopPropagation() : window.event.cancelBubble = true;  
-        },
-        template : function (str, data) {
-            var strCell = !/[^\w\-\.:]/.test(str) ? document.getElementById(str).innerHTML : str;
-            var keys = function (obj){
-                var arr = [];
-                for(arr[arr.length] in obj);
-                return arr ;
-            }, dataVar = function (obj) {
-                var vars = ''; 
-                for (var key in obj) {
-                    vars += 'var ' + key + '= $D["' + key + '"];';
-                }
-                return vars;
-            }, compile = function (source,data) {
-                var code = "var $out='" + source.replace(/[\r\n]/g, '').replace(/^(.+?)\{\%|\%\}(.+?)\{\%|\%\}(.+?)$/g, function (val) {
-                        return val.replace(/(['"])/g, '\\\$1');
-                    }).replace(/\{\%\s*=\s*(.+?)\%\}/g, "';$out+=$1;$out+='").replace(/\{\%(.+?)\%\}/g, "';$1;$out+='") + "';return new String($out);";
-                var vars = dataVar(data), Render = new Function('$D',vars + code);
-                return new Render(data) + '';
-            };
-            return compile(strCell,data);
-        },
-        
-        //判断元素类型
-        isValDiv : function(elem) {
-            return /textarea|input/.test(elem.tagName.toLocaleLowerCase());
-        },
-        valText : function (elem,value) {
-            var cell = $Q(elem) ,type = jet.isValDiv(cell) ? "val" : "text";
-            if(value != undefined){
-                jet[type](cell,value);  
-            }else{
-                return jet[type](cell);
-            }       
-        },
-        isBool : function(obj){  return (obj == undefined || obj == true ?  true : false); },
-        //获取返回的日期
-        getDateTime : function (obj) {
-            var result = new DateTime(), objVal = jet.extend({YYYY:null,MM:null,DD:null,hh:0,mm:0,ss:0},obj),
-                matArr = {YYYY:"FullYear",MM:"Month",DD:"Date",hh:"Hours",mm:"Minutes",ss:"Seconds"};
-            jet.each(["ss","mm","hh","DD","MM","YYYY"],function (i,mat) {
-                if (!jet.isNum(parseInt(objVal[mat]))) return null;
-                var reVal = result.GetValue();
-                if (parseInt(objVal[mat]) || parseInt(objVal[mat]) == 0){
-                    reVal["set"+matArr[mat]](result["Get"+matArr[mat]]() + (mat == "MM" ? -1 : 0) + parseInt(objVal[mat]));
-                }
-            });
-            //获取格式化后的日期
-            var redate = { 
-                YYYY:result.GetYear(), MM:result.GetMonth(), DD:result.GetDate(),
-                hh:result.GetHours(), mm:result.GetMinutes(), ss:result.GetSeconds()
-            };
-            return redate;
-        }
-    });
-
-    function jeDatePick(elem, options){
-        var config = {
-            language:{
-                name   : "cn",
-                month  : ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],
-                weeks  : [ "日", "一", "二", "三", "四", "五", "六" ],
-                times  : ["小时","分钟","秒数"],
-                timetxt: ["时间选择","开始时间","结束时间"],
-                backtxt:"返回日期",
-                clear  : "清空",
-                today  : "现在",
-                yes    : "确定"
-            },
-            format:"YYYY-MM-DD hh:mm:ss",               //日期格式
-            minDate:"1900-01-01 00:00:00",              //最小日期
-            maxDate:"2099-12-31 23:59:59",              //最大日期
-            isShow:true,                                //是否显示为固定日历,为false的时候固定显示
-            multiPane:true,                             //是否为双面板,为false是展示双面板
-            onClose:true,                               //是否为选中日期后关闭弹层,为false时选中日期后关闭弹层
-            range:false,                                //如果不为空且不为false,则会进行区域选择,例如 " 至 "," ~ "," To "
-            trigger:"click",                            //是否为内部触发事件,默认为内部触发事件
-            position:[],                                //自定义日期弹层的偏移位置,长度为0,弹层自动查找位置
-            valiDate:[],                                //有效日期与非有效日期,例如 ["0[4-7]$,1[1-5]$,2[58]$",true]
-            isinitVal:false,                            //是否初始化时间,默认不初始化时间
-            initDate:{},                                //初始化时间,加减 天 时 分
-            isTime:true,                                //是否开启时间选择
-            isClear:true,                               //是否显示清空按钮
-            isToday:true,                               //是否显示今天或本月按钮
-            isYes:true,                                 //是否显示确定按钮
-            festival:false,                             //是否显示农历节日
-            fixed:true,                                 //是否静止定位,为true时定位在输入框,为false时居中定位
-            zIndex:2099,                                //弹出层的层级高度
-            method:{},                                 //自定义方法                
-            theme:{},                                   //自定义主题色
-            shortcut:[],                                //日期选择的快捷方式
-            donefun:null,                                //选中日期完成的回调
-            before:null,                                //在界面加载之前执行
-            succeed:null                                //在界面加载之后执行  
-        };
-        this.$opts = jet.extend(config,options||{});
-        this.valCell = $Q(elem); 
-        this.format = this.$opts.format;
-        this.valCell != null ? this.init() : alert(elem+"  ID\u6216\u7C7B\u540D\u4E0D\u5B58\u5728!");
-        jet.extend(this,this.$opts.method);
-        delete this.$opts.method;
-    }
-    var searandom = function (){
-        var str = "",arr = [1,2,3,4,5,6,7,8,9,0];
-        for(var i=0; i<8; i++) str += arr[Math.round(Math.random() * (arr.length-1))];
-        return str;
-    };
-
-    var jefix = "jefixed",ymdzArr = jet.reMatch(regymdzz),elx = "#jedate";
-    jet.extend(jeDatePick.prototype,{
-        init : function () {  
-            var that = this, opts = that.$opts, newDate = new Date(), shortArr = [],
-                trigges = opts.trigger,ndate = opts.initDate || [], inVal, range = opts.range,
-                zIndex = opts.zIndex == undefined ? 10000 : opts.zIndex,isShow = jet.isBool(opts.isShow),
-                isinitVal = (opts.isinitVal == undefined || opts.isinitVal == false) ? false : true;
-            that.setDatas();
-            opts.before && opts.before(that.valCell);
-            //为开启初始化的时间设置值
-            if (isinitVal && trigges && isShow) {   
-                if (ndate[1]){
-                    var addval = jet.getDateTime(ndate[0]);
-                    inVal = [{
-                        YYYY:addval.YYYY, MM:jet.digit(addval.MM), DD:jet.digit(addval.DD) , 
-                        hh:jet.digit(addval.hh), mm:jet.digit(addval.mm), ss:jet.digit(addval.ss) 
-                    }];
-                }else {
-                    inVal = that.getValue(jet.isObj(ndate[0]) ? ndate[0] : {});
-                }
-                if(!range) that.setValue([inVal[0]],opts.format,true);
-            }
-
-            var getCurrValue = function () {
-                var mats = jet.reMatch(that.format), isEmpty = that.getValue() != "",curVal = [],
-                    parmat = that.dlen == 7 ? "hh:mm:ss" : "YYYY-MM"+ (that.dlen <= 2 ? "":"-DD");
-                that.selectValue = [jet.parse(jet.getDateTime({}), parmat)];
-                if(isEmpty && isShow){
-                    var getVal = that.getValue().split(range);
-                    jet.each(new Array(range ? 2 : 1),function (a) {
-                        curVal[a] = {};
-                        jet.each(jet.reMatch(getVal[a]),function (i,val) {
-                            curVal[a][mats[i]] = parseInt(val);
-                        });
-                    });
-                    if(range) that.selectValue = getVal;
-                }else{
-                    var parr = that.getValue({})[0], nmVal = jet.nextMonth(parr.YYYY,parr.MM||jet.getDateTime({}).MM),
-                        narr = (that.dlen>2 && that.dlen <=6) ? {YYYY:nmVal.y,MM:nmVal.m} : {};
-                    curVal = [parr];
-                }
-                that.selectDate = curVal;
-                return curVal;
-            },ymarr = [];
-            that.minDate = ""; that.maxDate = "";
-            if(!isShow || !trigges) ymarr = getCurrValue();
-            if(!isShow || !trigges){  
-                that.minDate = jet.isType(opts.minDate,"function") ? opts.minDate(that) : opts.minDate;
-                that.maxDate = jet.isType(opts.maxDate,"function") ? opts.maxDate(that) : opts.maxDate;
-                that.storeData(ymarr[0],ymarr[1]);
-                that.renderDate();
-                opts.succeed && opts.succeed(that.dateCell);
-            }else{
-                if (trigges) {
-                    jet.on(that.valCell,trigges,function(){
-                        if (document.querySelectorAll(elx).length > 0) return;
-                        var gvarr = getCurrValue();
-                        that.minDate = jet.isType(opts.minDate,"function") ? opts.minDate(that) : opts.minDate;
-                        that.maxDate = jet.isType(opts.maxDate,"function") ? opts.maxDate(that) : opts.maxDate;
-                        that.storeData(gvarr[0],gvarr[1]);
-                        that.renderDate();
-                    });
-                }
-            }        
-        },
-        setDatas : function(){
-            var that = this, opts = that.$opts,range = opts.range,shortArr = [],isShow = jet.isBool(opts.isShow),multi = opts.multiPane;
-            that.$data = jet.extend({year:false,month:false,day:true,time:false,timebtn:false},{
-                shortcut:[],lang:opts.language,yaerlist:[],monthlist:[[],[]],ymlist:[[],[]], daylist:[[],[]],
-                clear:opts.isClear,today:range ? false:opts.isToday,yes:opts.isYes,pane:multi ? 1:2
-            });
-            if(opts.shortcut.length>0){
-                jet.each(opts.shortcut,function (i,short) {  
-                    var tarr = [], shval = jet.isType(short.val,"function") ? short.val() : short.val;
-                    if(jet.isType(shval,"object")){ 
-                        for (var s in shval) tarr.push(s + ':' + shval[s]);
-                        shortArr.push(jet.extend({},{name:short.name,val:"{" + tarr.join('#') + "}"}));
-                    } 
-                });
-                that.$data.shortcut = shortArr;
-            }
-            that.dlen = (function () {
-                var mats = jet.reMatch(that.format),marr = [];
-                jet.each(ymdzArr,function(i,val){
-                    jet.each(mats,function(m,mval){
-                        if(val == mval) marr.push(mval);
-                    });
-                });
-                var matlen = marr.length, lens = (marr[0] == "hh")&&matlen<=3 ? 7 : matlen;
-                return lens;
-            })();
-            that.$data.dlen = that.dlen;
-            that.timeInspect = false;
-            if(that.dlen == 1){
-                jet.extend(that.$data,{year:true,day:false});
-            }else if(that.dlen == 2){
-                jet.extend(that.$data,{month:true,day:false});
-            }else if(that.dlen>3 && that.dlen <=6){
-                that.$data.timebtn = true;
-            }else if(that.dlen == 7){
-                jet.extend(that.$data,{day:false,time:true});
-            }
-            if(!isShow){
-                that.$data.clear = false;
-                that.$data.yes = false;
-            }
-        },
-        renderDate : function () {
-            var that= this, opts = that.$opts,isShow = jet.isBool(opts.isShow),
-                elxID = !isShow ? elx+searandom() : elx, setzin = {"zIndex":  (opts.zIndex == undefined ? 10000 : opts.zIndex)};  
-            if(that.dateCell == undefined){   
-                that.dateCell = document.createElement("div");  
-                that.dateCell.id = elxID.replace(/\#/g,"");
-                that.dateCell.className = elx.replace(/\#/g,"")+" "+(opts.shortcut.length>0?" leftmenu":"");
-                that.dateCell.setAttribute("author","chen guojun"); 
-            }
-            jet.html(that.dateCell,jet.template(that.dateTemplate(),that.$data));
-            //自定义主题色
-            if(jet.isObj(opts.theme)){   
-                var styleDiv = document.createElement("style"),stCell = ".jedate"+searandom(), t = opts.theme, 
-                    BG = "background-color:"+t.bgcolor, WC = "color:"+(t.color == undefined ? "#FFFFFF":t.color),
-                    OTH = (t.pnColor == undefined ? "":"color:"+t.pnColor+";");
-                that.dateCell.className = that.dateCell.className+" "+stCell.replace(/^./g,""); styleDiv.setAttribute("type","text/css");
-                styleDiv.innerHTML = stCell+" .jedate-menu p:hover{"+BG+";"+WC+";}"+stCell+" .jedate-header em{"+WC+";}"+
-                stCell+" .jedate-content .yeartable td.action span,"+stCell+" .jedate-content .monthtable td.action span,"+
-                stCell+" .jedate-content .yeartable td.action span:hover,"+stCell+" .jedate-content .monthtable td.action span:hover{"+BG+";border:1px "+t.bgcolor+" solid;"+WC+";}"+stCell+" .jedate-content .daystable td.action,"+stCell+" .jedate-content .daystable td.action:hover,"+
-                stCell+" .jedate-content .daystable td.action .lunar,"+stCell+" .jedate-header,"+stCell+" .jedate-time .timeheader,"+
-                stCell+" .jedate-time .hmslist ul li.action,"+stCell+" .jedate-time .hmslist ul li.action:hover,"+
-                stCell+" .jedate-time .hmslist ul li.disabled.action,"+stCell+" .jedate-footbtn .timecon,"+stCell+" .jedate-footbtn .btnscon span{"+BG+";"+WC+";}"+
-                stCell+" .jedate-content .daystable td.other,"+stCell+" .jedate-content .daystable td.other .nolunar,"+stCell+" .jedate-content .daystable td.other .lunar{"+OTH+"}"+stCell+" .jedate-content .daystable td.contain,"+stCell+" .jedate-content .daystable td.contain:hover{background-"+OTH+"}";
-                that.dateCell.appendChild(styleDiv);
-            }
-            
-            that.compileBindNode(that.dateCell); 
-            if (document.querySelectorAll(elxID).length > 0) document.body.removeChild($Q(elxID));
-            !isShow ? that.valCell.appendChild(that.dateCell) : document.body.appendChild(that.dateCell);
-            jet.setCss(that.dateCell,jet.extend({position:(!isShow ? "relative" : (opts.fixed == true ? "absolute" :"fixed"))},isShow ? setzin:{}));
-            that.methodEventBind();
-            if(that.dlen == 7 || (that.dlen>3 && that.dlen <=6)) that.locateScroll();
-            if(opts.festival && opts.language.name == "cn") that.showFestival();
-            if(isShow){ 
-                that.dateOrien(that.dateCell,that.valCell);  
-                that.blankArea(); 
-            }
-            
-        },
-        //设置日期值
-        setValue : function (fnStr,matStr,bool) {
-            var that = this, valCell = that.valCell,strVal;
-            matStr = matStr || that.format;
-            if((typeof fnStr=='string')&&fnStr!=''){
-                var sprange = fnStr.split(that.$opts.range), inArr=[];
-                jet.each(sprange,function (i,sval) {
-                    var reVal = jet.reMatch(sval), inObj={};
-                    jet.each(jet.reMatch(matStr),function (r,val) {
-                        inObj[val] = reVal[r];
-                    });
-                    inArr.push(inObj);
-                });
-                strVal = inArr;
-            }else {
-                strVal = fnStr;
-            }
-            var vals = that.parseValue(strVal,matStr);
-            if (bool != false) jet.valText(valCell,vals);  
-            return vals;
-        },
-        //获取日期值
-        getValue : function (valobj) {
-            var that = this, valCell = that.valCell,
-                opts = that.$opts, reObj, result = new DateTime().reDate(),
-                dateY = result.GetYear(),dateM = result.GetMonth(),dateD = result.GetDate(),
-                timeh = result.GetHours(),timem = result.GetMinutes(),times = result.GetSeconds();
-            if (valobj == undefined && jet.isBool(opts.isShow)){         
-                reObj = jet.valText(valCell); 
-            }else {
-                var isValShow = jet.isBool(opts.isShow) ? (jet.valText(valCell) == "") : !jet.isBool(opts.isShow),
-                    objarr = jet.extend({YYYY:null,MM:null,DD:null},valobj||{}),
-                    ranMat = [],newArr = new Array(2),unObj = function (obj) {
-                        return [(objarr[obj] == undefined || objarr[obj] == null),objarr[obj]];
-                    }, defObj = [{ YYYY:dateY,MM:dateM,DD:dateD, hh:timeh,mm:timem,ss:times,zz:00},
-                        { YYYY:dateY,MM:dateM,DD:dateD, hh:timeh,mm:timem,ss:times,zz:00}];
-                if (isValShow) {
-                    //目标为空值则获取当前日期时间
-                    jet.each(newArr,function (i) {
-                        var inObj = {};
-                        jet.each(ymdzArr, function (r, val) {
-                            inObj[val] = parseInt(unObj(val)[0] ? defObj[i][val] : unObj(val)[1]);
-                        });
-                        ranMat.push(jet.extend(defObj[i], inObj));
-                    });
-                } else {
-                    var isunRange = opts.range != false, initVal = that.getValue(),
-                        spVal = initVal.split(opts.range), reMat = jet.reMatch(that.format);
-                    jet.each(newArr,function (i) {
-                        var inObj = {}, reVal = isunRange ? jet.reMatch(spVal[i]) : jet.reMatch(initVal);
-                        jet.each(reMat,function (r,val) {
-                            inObj[val] = reVal[r];
-                        });
-                        var exVal = jet.extend(inObj,valobj||{});
-                        ranMat.push(jet.extend(defObj[i],exVal));
-                    });
-                }
-                reObj = ranMat;
-            }
-            return reObj;
-        },
-        storeData:function (curr,next) {
-            next = next || {};
-            var that = this, opts = that.$opts,multi = opts.multiPane,valCell = that.valCell,
-                days = new Date().getDate(), DTS = that.$data,isnext = jet.isObj(next),
-                RES = {yearlist:[],monthlist:[[],[]],daylist:[],daytit:[],timelist:[]},seltime,         
-                cday = curr.DD == null ? days : curr.DD, nday = next.DD == null ? days : next.DD,
-                timeA = {hh:curr.hh,mm:curr.mm,ss:curr.ss}, timeB = {hh:next.hh||0,mm:next.mm||0,ss:next.ss||0};  
-            //设置年的数据
-            RES.yearlist.push(that.eachYear(parseInt(curr.YYYY),1));
-            if(multi == false){
-                var yearNext = isnext ? next.YYYY : curr.YYYY;
-                RES.yearlist.push(that.eachYear(parseInt(yearNext),2));
-            } 
-            //设置月的数据
-            RES.monthlist[0] = that.eachMonth(curr.YYYY,0);
-            if(multi == false){
-                var monthNext = isnext ? next.YYYY : curr.YYYY+1;
-                RES.monthlist[1] = that.eachMonth(curr.YYYY+1,1);
-            } 
-            //设置天的数据
-            RES.daylist.push(that.eachDays(curr.YYYY,curr.MM,cday,0));
-            RES.daytit.push({YYYY:curr.YYYY,MM:curr.MM});
-            if(multi == false){
-                var dayNext = jet.nextMonth(curr.YYYY,curr.MM);
-                RES.daylist.push(that.eachDays(dayNext.y,dayNext.m,nday,1));
-                RES.daytit.push({YYYY:dayNext.y,MM:dayNext.m});
-            } 
-            //设置时间数据
-            that.selectTime = [timeA,timeB];  
-            RES.timelist.push(that.eachTime(timeA,1));
-            if(multi == false){
-                seltime = that.dlen == 7 && opts.range && !isnext ? timeA : timeB;
-                if(that.dlen == 7 && opts.range && jet.valText(valCell) == ""){
-                    that.selectTime[1] = jet.extend(timeB,timeA);
-                } 
-                RES.timelist.push(that.eachTime(seltime,2)); 
-            } 
-            //最后将数据合并于总数据中
-            jet.extend(that.$data,RES);
-        },
-        dateTemplate : function() {
-            var that = this, opts = that.$opts, multi = opts.multiPane,YMDStr = "",hmsStr = "",lang = opts.language,
-                ytxt = lang.name == "cn" ? "年":"", mtxt = lang.name == "cn" ? "月":"";
-            var ymvals = multi ? '{%=ymlist[0].YYYY%}-{%=ymlist[0].MM%}':'{%=ymlist[0].YYYY%}-{%=ymlist[0].MM%}#{%=ymlist[ynidx].YYYY%}-{%=ymlist[ynidx].MM%}';
-            var aowArr = (function () {
-                var butArr = [], ismu = multi ? "11":"23";
-                if(that.dlen == 1){
-                    butArr = ['{%=yearlist[i][0].y-'+ismu+'%}','{%=yearlist[i][yearlist[i].length-1].y%}'];
-                }else if(that.dlen == 2){
-                    butArr = multi ? ['{%=yearlist[0][0].y-1%}','{%=yearlist[0][0].y+1%}']:['{%=yearlist[i][0].y-'+ismu+'%}','{%=yearlist[i][yearlist[i].length-1].y%}'];
-                }else if(that.dlen>2 && that.dlen <=6){
-                    butArr = ['{%=yearlist[0][0].y-1%}','{%=yearlist[0][0].y+1%}'];
-                }
-                return butArr;
-            })();
-            var lyPrev = '<em class="yearprev yprev jedatefont" @on="yearBtn(lprev,'+aowArr[0]+')">&#xed6c2;</em>',
-                lyNext = '<em class="yearnext ynext jedatefont" on="yearBtn(lnext,'+aowArr[2]+')">&#xed6c5;</em>',
-                ryPrev = '<em class="yearprev yprev jedatefont" on="yearBtn(rprev,'+aowArr[3]+')">&#xed6c2;</em>',
-                ryNext = '<em class="yearnext ynext jedatefont" @on="yearBtn(rnext,'+aowArr[1]+')">&#xed6c5;</em>',
-                mPrev = '{% if(dlen>2){ %}<em class="monthprev mprev jedatefont" @on="monthBtn(mprev,{%=daytit[i].YYYY%}-{%=daytit[i].MM%})">&#xed602;</em>{% } %}',
-                mNext = '{% if(dlen>2){ %}<em class="monthnext mnext jedatefont" @on="monthBtn(mnext,{%=daytit[i].YYYY%}-{%=daytit[i].MM%})">&#xed605;</em>{% } %}';
-            //循环年的模板
-            var yaerHtml = '<table class="yeartable year{%= i==0 ? "left":"right"%}" style="display:{%=year ? "block":"none"%};"><tbody><tr>'+
-            '{% for(var y=0;y<=11;y++){ %}<td class="{%=yearlist[i][y].style%}" @on="yearClick({%=yearlist[i][y].y%})"><span>{%=yearlist[i][y].y%}'+ytxt+'</span></td>{% if((y+1)%3==0){ %} </tr>{% } %} {% } %} </tbody></table>';
-            //循环月的模板
-            var monthHtml = '<table class="monthtable month{%= i==0 ? "left":"right"%}" style="display:{%=month ? "block":"none"%};"><tbody><tr>'+
-            '{% for(var m=0;m<=11;m++){ %}<td class="{%=monthlist[i][m].style%}" ym="{%=monthlist[i][m].y%}-{%=monthlist[i][m].m%}" @on="monthClick({%=monthlist[i][m].y%}-{%=monthlist[i][m].m%})"><span>{%=monthlist[i][m].m%}'+mtxt+'</span></td>{% if((m+1)%3==0){ %} </tr>{% } %} {% } %} </tbody></table>';
-            //循环天的模板
-            var daysHtml = '<table class="daystable days{%= i==0 ? "left":"right"%}" style="display:{%=day ? "block":"none"%};"><thead><tr>'+
-            '{% for(var w=0;w<lang.weeks.length;w++){ %} <th>{%=lang.weeks[w]%}</th> {% } %}</tr></thead><tbody>'+
-            '<tr>{% for(var d=0;d<=41;d++){ %}<td class="{%=daylist[i][d].style%}" ymd="{%=daylist[i][d].ymd%}" @on="daysClick({%=daylist[i][d].ymd%})">{%=daylist[i][d].day%}</td>{% if((d+1)%7==0){ %} </tr>{% } %} {% } %} </tbody></table>';
-            //循环时间模板
-            var hmsHtml = '<div class="jedate-time">{% for(var h=0;h<timelist.length;h++){ %}<div class="timepane"><div class="timeheader">{%= timelist.length == 1 ? lang.timetxt[0]:lang.timetxt[h+1]%}</div><div class="timecontent">'+
-            '<div class="hmstitle"><p>{%=lang.times[0]%}</p><p>{%=lang.times[1]%}</p><p>{%=lang.times[2]%}</p></div>'+
-            '<div class="hmslist">{% for(var t=0;t<3;t++){ %}<div class="hmsauto"><ul>{% for(var s=0;s<timelist[h][t].length;s++){ %}<li class="{%=timelist[h][t][s].style%}" @on="hmsClick({%= h %},{%= h>0?3+t:t %})">{%= timelist[h][t][s].hms < 10 ? "0" + timelist[h][t][s].hms :timelist[h][t][s].hms %}</li>{% } %}</ul></div>{% } %}</div></div>'+'</div>{% } %}</div>'; 
-            //左边选择模板
-            var shortHtml = opts.shortcut.length > 0 ? "{% for(var s=0;s<shortcut.length;s++){ %}<p @on=shortClick({%= shortcut[s].val %})>{%=shortcut[s].name%}</p>{% } %}":'';
-            
-            var ymtitHtml = (function () {
-                var ymtitStr = "";
-                if(that.dlen == 1){
-                    ymtitStr = '<span class="ymbtn">{%=yearlist[i][0].y%}'+ytxt+' ~ {%=yearlist[i][yearlist[i].length-1].y%}'+ytxt+'</span>';
-                }else if(that.dlen == 2){
-                    ymtitStr = '<span class="ymbtn" @on="yearShow({%=yearlist[0][i].y%})">{%=yearlist[0][i].y%}'+ytxt+'</span>';
-                }else if(that.dlen>2 && that.dlen <=6){
-                    ymtitStr = '<span class="ymbtn" @on="monthShow({%=daytit[i].MM%})">{%=daytit[i].MM%}'+mtxt+'</span>'+
-                    '<span class="ymbtn" @on="yearShow({%=daytit[i].YYYY%})">{%=daytit[i].YYYY%}'+ytxt+'</span>';
-                }
-                return ymtitStr;
-            })();
-
-            var ymButton = (function () {
-                var titStrBut = "";
-                if(that.dlen==1){
-                    titStrBut = multi ? [lyPrev+ryNext]:[lyPrev,ryNext];
-                }else if(that.dlen==2){  
-                    titStrBut = multi ? [lyPrev+ryNext] : [lyPrev,ryNext];  
-                }else if(that.dlen>2 && that.dlen <=6){
-                    titStrBut = multi ? [lyPrev+mPrev+mNext+ryNext] : [lyPrev+mPrev,mNext+ryNext];
-                }else if(that.dlen==7){
-                    titStrBut = "";
-                }
-                return titStrBut;
-            })();
-            
-            if(that.dlen == 1){
-                YMDStr = yaerHtml;
-            }else if(that.dlen == 2){
-                YMDStr = yaerHtml + monthHtml;
-            }else if(that.dlen == 3){
-                YMDStr = yaerHtml + monthHtml + daysHtml;
-            }else if(that.dlen > 3 && that.dlen <= 6){
-                YMDStr = yaerHtml + monthHtml + daysHtml;
-                hmsStr = hmsHtml;
-            }else if(that.dlen == 7){
-                hmsStr = hmsHtml;
-            }
-            var paneHtml = '{% for(var i=0;i<pane;i++){ %}<div class="jedate-pane">'+
-                '<div class="jedate-header">{% if(i==0){ %}'+ymButton[0]+'{% }else{ %}'+ymButton[1]+'{% } %}'+ymtitHtml+'</div>'+
-                '<div class="jedate-content{%= i==1?" bordge":"" %}">'+YMDStr+'</div>'+
-                '</div>{% } %}';   
-            var btnStr = '{% if(timebtn){%}<div class="timecon" style="cursor: pointer;" @on="timeBtn">{%=lang.timetxt[0]%}</div>{% } %}<div class="btnscon">{% if(clear){ %}<span class="clear" @on="clearBtn">{%=lang.clear%}</span>{% } %}{% if(today){ %}<span class="today" @on="nowBtn">{%=lang.today%}</span>{% } %}{% if(yes){ %}<span class="setok" @on="sureBtn">{%=lang.yes%}</span>{% } %}</div>';
-
-            return '<div class="jedate-menu" style="display:{%=shortcut.length>0 ? "block":"none"%};">'+shortHtml+'</div><div class="jedate-wrap">'+paneHtml+'</div>'+hmsStr+'<div class="jedate-footbtn">'+btnStr+'</div><div class="jedate-tips"></div>';        
-        },
-        //递归绑定事件
-        compileBindNode : function (dom) {
-            var self = this, aton = "@on";
-            var acquireAttr = function (atVal){
-                var args=/\(.*\)/.exec(atVal);
-                if(args) { //如果函数带参数,将参数字符串转换为参数数组
-                    args = args[0];
-                    atVal = atVal.replace(args,"");
-                    args = args.replace(/[\(\)\'\"]/g,'').split(",");
-                }else args = [];
-                return [atVal,args];
-            }; 
-            jet.each(dom.childNodes,function (i,node) {
-                if (node.nodeType === 1) {
-                    if(!self.$opts.festival) node.removeAttribute("ymd");
-                    self.compileBindNode(node);
-                    var geton = node.getAttribute(aton);
-                    if(geton != null){
-                        var onarr = acquireAttr(geton); 
-                        jet.on(node,"click",function () {
-                            self[onarr[0]] && self[onarr[0]].apply(node,onarr[1]);
-                        });
-                        node.removeAttribute(aton);
-                    }    
-                }
-            });  
-        },
-        methodEventBind : function() {
-            var that = this, opts = that.$opts, multi = opts.multiPane, DTS = that.$data,
-                result = new DateTime().reDate(),dateY = result.GetYear(),dateM = result.GetMonth(),dateD = result.GetDate(),
-                range = opts.range,elCell = that.dateCell;
-            jet.extend(that,{
-                yearBtn:function (type,val) {
-                    var yarr = val.split("#"), pval = jet.reMatch(yarr[0]), tmval = that.selectTime;
-                    exarr = [jet.extend({YYYY:parseInt(val),MM:dateM,DD:dateD},tmval[0]),{}];
-                    var dateVal = that.parseValue([exarr[0]],that.format);
-                    that.storeData(exarr[0],exarr[1]);
-                    that.renderDate();
-                    opts.toggle && opts.toggle({elem:that.valCell,val:dateVal,date:exarr[0]});
-                },
-                yearShow:function (val) {
-                    DTS.year = DTS.year ? false : true;
-                    DTS.month = that.dlen < 3 ? true : false;   
-                    if(that.dlen > 2 && that.dlen <= 6){
-                        var dayCell = $Q(".daystable",elCell);
-                        DTS.day = dayCell.style.display == "none" ? true : false;
-                    } 
-                    that.renderDate();
-                },
-                monthBtn:function (type,val) { 
-                    var ymarr = jet.reMatch(val),tmval = that.selectTime, exarr=[], PrevYM , NextYM,   
-                        year = parseInt(ymarr[0]),month = parseInt(ymarr[1]); 
-                    if(range){
-                        if(type == "mprev"){
-                            PrevYM = jet.prevMonth(year, month);
-                            NextYM = jet.nextMonth(PrevYM.y, PrevYM.m);
-                        }else{
-                            NextYM = jet.nextMonth(year, month);
-                            PrevYM = jet.prevMonth(NextYM.y, NextYM.m);
-                        }
-                        exarr = [jet.extend({YYYY:PrevYM.y,MM:PrevYM.m,DD:dateD},tmval[0]),{YYYY:NextYM.y,MM:NextYM.m,DD:dateD}];
-                    }else{
-                        var PNYM = (type == "mprev") ? jet.prevMonth(year, month) : jet.nextMonth(year, month);
-                        exarr = [jet.extend({YYYY:PNYM.y,MM:PNYM.m,DD:dateD},tmval[0]),{}];
-                    }
-                    var dateVal = that.parseValue([exarr[0]],that.format);
-                    that.storeData(exarr[0],exarr[1]);
-                    that.renderDate();
-                    opts.toggle && opts.toggle({elem:that.valCell,val:dateVal,date:exarr[0]});
-                },
-                monthShow:function (val) {
-                    DTS.year = false;
-                    DTS.month = DTS.month ? false : true; 
-                    if(that.dlen > 2 && that.dlen <= 6){
-                        var dayCell = $Q(".daystable",elCell);
-                        DTS.day = dayCell.style.display == "none" ? true : false;
-                    }   
-                    that.renderDate();
-                },
-                shortClick:function (val) {  
-                    var reval = val.replace(/\#/g,','),evobj = eval("("+reval+")"), 
-                        gval = jet.getDateTime(evobj),tmval = that.selectTime;
-                    that.selectValue = [jet.parse(gval,"YYYY-MM-DD")];
-                    that.selectDate = [{YYYY:gval.YYYY,MM:gval.MM,DD:gval.DD}];
-                    if(opts.onClose){
-                        var nYM = jet.nextMonth(gval.YYYY,gval.MM),
-                            ymarr = [{YYYY:gval.YYYY,MM:gval.MM,DD:gval.DD},{YYYY:nYM.y,MM:nYM.m,DD:null}];
-                        that.storeData(jet.extend(ymarr[0],tmval[0]),jet.extend(ymarr[1],tmval[1]));
-                        that.renderDate();
-                    }else{
-                        that.setValue(gval,that.format);
-                        that.closeDate(); 
-                    }
-                },
-                yearClick:function (val) {
-                    if(jet.hasClass(this,"disabled")) return;
-                    var yearVal = "",lens = that.dlen;
-                    if(range && lens == 1){
-                        var ylen = that.selectValue.length;
-                        that.selectDate = (ylen == 2) ? [{YYYY:parseInt(val),MM:dateM}] : 
-                            [{YYYY:that.selectDate[0].YYYY,MM:that.selectDate[0].MM},{YYYY:parseInt(val),MM:dateM}];
-                        that.selectValue = (ylen == 2) ? [val+"-"+jet.digit(dateM)] : [that.selectValue[0],val+"-"+jet.digit(dateM)];
-                        
-                        if(that.selectValue.length == 2){
-                            var svalarr = [that.selectValue[0],that.selectValue[1]],newArr = [{},{}];
-                            svalarr.sort(function(a, b){ return a > b ? 1 : -1; });
-                            that.selectValue = svalarr;
-                            jet.each(svalarr,function(i,strval) {
-                                jet.each(jet.reMatch(strval),function(s,dval) {
-                                    newArr[i][ymdzArr[s]] = dval;
-                                });
-                            });
-                            that.selectDate = newArr;
-                        } 
-                    }else if(lens>1 && lens <=6){   
-                        yearVal = parseInt(val);
-                    }else{
-                        that.selectValue = [val+"-"+jet.digit(dateM)];
-                        that.selectDate = [{YYYY:parseInt(val),MM:dateM}];
-                    }
-                    DTS.year = (lens == 1) ? true : false;
-                    DTS.month = (lens < 3) ? true : false;
-                    DTS.day = (lens > 2 && lens <= 6) ? true : false;
-                    var electVal = (lens>1 && lens <=6) ? yearVal : parseInt(that.selectDate[0].YYYY);
-                    that.storeData(jet.extend({YYYY:electVal,MM:dateM,DD:dateD},that.selectTime[0]),{});
-                    that.renderDate();    
-                },
-                monthClick:function (val) {
-                    if(jet.hasClass(this,"disabled")) return;
-                    var ymval = jet.reMatch(val),newArr = [{},{}],mlen = that.selectValue.length ;
-                    if(range){
-                        that.selectDate = (mlen == 2) ? [{YYYY:ymval[0],MM:ymval[1]}] : 
-                            [{YYYY:that.selectDate[0].YYYY,MM:that.selectDate[0].MM},{YYYY:parseInt(val),MM:ymval[1]}];
-                        that.selectValue = (mlen == 2) ? [val] : [that.selectValue[0],val];    
-
-                        if(that.selectValue.length == 2){
-                            var svalarr = [that.selectValue[0],that.selectValue[1]];
-                            svalarr.sort(function(a, b){ return a > b ? 1 : -1; });
-                            that.selectValue = svalarr;
-                            jet.each(svalarr,function(i,strval) {
-                                jet.each(jet.reMatch(strval),function(s,dval) {
-                                    newArr[i][ymdzArr[s]] = dval;
-                                });
-                            });
-                            that.selectDate = newArr;
-                        }
-                    }else{
-                        that.selectValue = [val];
-                        that.selectDate = [{YYYY:ymval[0],MM:ymval[1]}];
-                    }
-                    if(that.dlen > 2){
-                        DTS.year = false;
-                        DTS.month = false;
-                    }
-                    DTS.day = (that.dlen > 2 && that.dlen <= 6) ? true : false;
-                    that.storeData(jet.extend({
-                        YYYY:parseInt(that.selectDate[0].YYYY),
-                        MM:parseInt(that.selectDate[0].MM),
-                        DD:dateD
-                    },that.selectTime[0]),{});
-                    that.renderDate();   
-                },
-                daysClick:function (val) {
-                    if(jet.hasClass(this,"disabled")) return;
-                    var tmval = that.selectTime, matVal = jet.reMatch(val),
-                        slen = that.selectValue.length,dateVal = "",
-                        newArr = [{},{}],sday,nYM,ymarr;
-                    if(range){
-                        
-                        if(slen == 1){
-                            var svalarr = [that.selectValue[0],val];
-                            svalarr.sort(function(a, b){ return a > b ? 1 : -1; });
-                            that.selectValue = svalarr;
-                            jet.each(svalarr,function(i,strval) {
-                                jet.each(jet.reMatch(strval),function(s,dval) {
-                                    newArr[i][ymdzArr[s]] = dval;
-                                });
-                            });
-                            that.selectDate = newArr;
-                        }else{
-                            that.selectValue = [val];  
-                            newArr = [{YYYY:matVal[0],MM:matVal[1],DD:matVal[2]}];
-                            that.selectDate = [{YYYY:matVal[0],MM:matVal[1],DD:matVal[2]},{}];
-                        }
-                        nYM = jet.nextMonth(newArr[0].YYYY,newArr[0].MM);
-                        ymarr = [{YYYY:newArr[0].YYYY,MM:newArr[0].MM,DD:newArr[0].DD},{YYYY:nYM.y,MM:nYM.m,DD:null}];
-                        that.storeData(jet.extend(ymarr[0],tmval[0]),jet.extend(ymarr[1],tmval[1]));
-                        that.renderDate();
-                    }else{
-                        that.selectValue = [val];
-                        that.selectDate = [{YYYY:matVal[0],MM:matVal[1],DD:matVal[2]},{YYYY:matVal[0],MM:matVal[1],DD:matVal[2]}];
-                        jet.each(new Array(range == false ? 1 : 2),function (a) {
-                            jet.each(matVal,function (i,val) {
-                                newArr[a][ymdzArr[i]] = val;
-                            });
-                            jet.extend(newArr[a],tmval[a]);
-                        });
-                        if(opts.onClose){  
-                            that.storeData(jet.extend(newArr[0],tmval[0]),jet.extend(newArr[1],tmval[1]));
-                            that.renderDate();
-                        }else{
-                            dateVal = that.setValue(newArr,that.format);
-                            that.closeDate();
-                            opts.donefun && opts.donefun.call(that,{elem:that.valCell,val:dateVal,date:newArr}); 
-                        }
-                    }    
-                },
-                hmsClick:function(idx,num) {
-                    var pidx = parseInt(num), vals = parseInt(jet.text(this)), 
-                        paridx = parseInt(idx), act = "action",mhms = ["hh","mm","ss"], 
-                        ulCell = $Q(".jedate-time",that.dateCell).querySelectorAll("ul")[pidx], 
-                        tlen = that.$data.timelist[0].length;
-                    if(jet.hasClass(this,"disabled")) return;
-                    jet.each(ulCell.childNodes,function (i,node) {
-                        var reg = new RegExp("(^|\\s+)" + act + "(\\s+|$)", "g");
-                        node.className = reg.test(node.className) ? node.className.replace(reg, '') : node.className;
-                    });
-                    that.selectTime[paridx][paridx == 1 ? mhms[pidx-tlen]:mhms[pidx]] = vals;
-                    this.className = this.className + act;
-                    var hmsCls = ulCell.querySelector("."+act);
-                    ulCell.scrollTop = hmsCls ? (hmsCls.offsetTop-145):0; 
-                    if(that.dlen == 7 && idx == 0 && range && !multi){
-                        var nVal = that.getValue({}), nYM = jet.nextMonth(nVal[0].YYYY,nVal[0].MM),st = that.selectTime;
-                        that.storeData(
-                            {YYYY:nVal[0].YYYY,MM:nVal[0].MM,DD:null,hh:st[0].hh,mm:st[0].mm,ss:st[0].ss},
-                            {YYYY:nYM.y,MM:nYM.m,DD:null,hh:st[1].hh,mm:st[1].mm,ss:st[1].ss}
-                        );
-                        that.renderDate();
-                    }
-                },
-                timeBtn:function() {
-                    var timeCell = $Q(".jedate-time",elCell), disNo = timeCell.style.display == "none";
-                    jet.text(this,disNo ? opts.language.backtxt:opts.language.timetxt[0]);
-                    jet.setCss(timeCell,{display: disNo ? "block":"none"});
-                },
-                //清空按钮函数
-                clearBtn:function () {
-                    jet.valText(that.valCell,"");
-                    that.selectDate = [jet.parse(jet.getDateTime({}),"YYYY-MM-DD hh:mm:ss")];
-                    that.closeDate();
-                    opts.clearfun && opts.clearfun.call(that); 
-                },
-                //现在按钮函数
-                nowBtn:function () {
-                    var newArr = jet.getDateTime({}), nYM = jet.nextMonth(newArr.YYYY,newArr.MM), dateVal;   
-                    that.selectDate = [newArr];
-                    dateVal = opts.isShow ? that.setValue([newArr],that.format,true) : jet.parse(newArr,that.format);
-                    if(opts.onClose && range || !opts.isShow){
-                        that.storeData(newArr,{YYYY:nYM.y,MM:nYM.m,DD:null,hh:0,mm:0,ss:0});
-                        that.renderDate();
-                    }else{
-                        that.closeDate();
-                    } 
-                    opts.donefun && opts.donefun.call(that,{elem:that.valCell,val:dateVal,date:newArr}); 
-                },
-                //确认按钮函数
-                sureBtn:function () {
-                    var newArr = that.selectValue.length > 1 ? [{},{}]: [{}], dateVal = "", tmval = that.selectTime;
-                    var equal = function (o) {
-                        var h = o.hh == undefined ? 0:o.hh, m = o.mm == undefined ? 0:o.mm, s = o.ss == undefined ? 0:o.ss;
-                        return parseInt(jet.digit(h)+""+jet.digit(m)+""+jet.digit(s));
-                    };
-                    if(range){
-                        if(that.selectValue.length > 1){
-                            var sortarr = that.selectValue;
-                            sortarr.sort(function(a, b){ return a > b ? 1 : -1; });
-                            jet.each(sortarr,function (i,arr) {
-                                jet.each(jet.reMatch(arr),function (a,val) {
-                                    newArr[i][ymdzArr[a]] = val; 
-                                });
-                                jet.extend(newArr[i],tmval[i]);
-                            }); 
-                        }else if(that.dlen == 7 && tmval.length>1){
-                            newArr = tmval;
-                        } 
-                        var sameTime = equal(tmval[0]) >= equal(tmval[1]),selVal = that.selectValue, sameDate = "";
-                        if(selVal[1] != undefined) sameDate = selVal[0].replace(/\-/g,"") == selVal[1].replace(/\-/g,"");
-                        if(selVal.length == 1 && that.dlen < 7){
-                            that.tips(opts.language.name == "cn" ? "未选结束日期" : "Please select the end date"); return;
-                        }else if((that.dlen == 7 && sameTime) || (sameDate && sameTime)){
-                            that.tips(opts.language.name == "cn" ? "结束时间必须大于开始时间" : "The end time must be greater than the start time"); return;
-                        } 
-                    }else{
-                        jet.each(new Array(range == false ? 1 : 2),function (i) {
-                            if(that.dlen != 7) jet.each(jet.reMatch(that.selectValue[0]),function (a,val) {
-                                newArr[i][ymdzArr[a]] = val;
-                            });
-                            jet.extend(newArr[i],tmval[i]);
-                        });
-                    } 
-                    dateVal = that.setValue(newArr,that.format,opts.isShow ? true:false);
-                    opts.isShow && that.closeDate();
-                    opts.donefun && opts.donefun.call(that,{elem:that.valCell,val:dateVal,date:newArr}); 
-                },
-                blankArea:function () {
-                    jet.on(document,"mouseup",function (ev) {
-                        jet.stopPropagation(ev);  
-                        that.closeDate();                      
-                    });
-                    jet.on($Q(elx),"mouseup", function(ev) {
-                        jet.stopPropagation(ev); 
-                    });
-                }   
-            });
-        },
-        //循环生成年数据
-        eachYear  : function (val,type) {
-            var that = this,opts = that.$opts, yNum = parseInt(val),yarr = [],seCls='', selYear = that.selectDate,i,
-                mins = jet.reMatch(that.minDate), maxs = jet.reMatch(that.maxDate);   
-            i = type == 1 ? yNum : that.yindex;  
-            that.yindex = type == 1 ? 12+yNum : 12+that.yindex;
-            var endDate = selYear[1] == undefined ? "":selYear[1].YYYY;
-            for(; i < that.yindex; i++){
-                if(i == selYear[0].YYYY || i == endDate){
-                    seCls = "action";
-                }else if(i>selYear[0].YYYY && i<endDate){
-                    seCls = "contain";
-                }else if(i < mins[0] || i > maxs[0]){
-                    seCls = "disabled";
-                }else{
-                    seCls =  "";
-                }
-                yarr.push({style:seCls,y:i});    
-            }
-            return yarr;
-        },
-        //循环生成月数据
-        eachMonth : function (val,type) {
-            var that = this,opts = that.$opts, range = opts.range, marr = [],
-                selMonth = that.selectDate, seCls='',monthArr = opts.language.month ,
-                mins = jet.reMatch(that.minDate), maxs = jet.reMatch(that.maxDate),
-                minym = parseInt(mins[0]+""+jet.digit(mins[1])), 
-                maxym =  parseInt(maxs[0]+""+jet.digit(maxs[1])),
-                currStart = parseInt(selMonth[0].YYYY+""+jet.digit(selMonth[0].MM)),
-                currEnd = selMonth[1] ? parseInt(selMonth[1].YYYY+""+jet.digit(selMonth[1].MM)) : 0;
-            jet.each(monthArr,function (i,months) {
-                var ival = parseInt(val+""+jet.digit(months));
-                if(ival == currStart || ival == currEnd){
-                    seCls = "action";
-                }else if(ival > currStart && ival < currEnd){ 
-                    seCls = "contain";  
-                }else if(ival < minym || ival > maxym){
-                    seCls = "disabled";
-                }else{
-                    seCls = "";
-                }
-                marr.push({style:seCls ,y:val ,m:months}); 
-            }); 
-            return marr;
-        },
-        //循环生成天数据
-        eachDays  : function (yd,md,ds,idx) {
-            var that = this, count = 0, daysArr = [],opts = that.$opts, multiPane = jet.isBool(opts.multiPane),
-                firstWeek = new Date(yd, md - 1, 1).getDay() || 7,valrange = opts.range != false,
-                daysNum = jet.getDaysNum(yd, md), didx = 0, sDate = that.selectDate,
-                prevM = jet.prevMonth(yd, md),isShow = jet.isBool(opts.isShow),
-                prevDaysNum = jet.getDaysNum(yd, prevM.m),nextM = jet.nextMonth(yd, md), objCell = that.valCell,
-                lang = opts.language, endval = opts.valiDate||[],
-                minArr = jet.reMatch(that.minDate), minNum = parseInt(minArr[0]+""+jet.digit(minArr[1])+""+jet.digit(minArr[2])),
-                maxArr = jet.reMatch(that.maxDate), maxNum = parseInt(maxArr[0]+""+jet.digit(maxArr[1])+""+jet.digit(maxArr[2]));
-            var startDate = sDate[0] ? parseInt(sDate[0].YYYY+""+jet.digit(sDate[0].MM)+""+jet.digit(sDate[0].DD)) : "";
-            var endDate = sDate[1] ? parseInt(sDate[1].YYYY+""+jet.digit(sDate[1].MM)+""+jet.digit(sDate[1].DD)) : "";
-            //设置时间标注   
-            var setMark = function (my, mm, md) {
-                var Marks = opts.marks, contains = function(arr, obj) {
-                    var clen = arr.length;
-                    while (clen--) {  if (arr[clen] === obj) return true; }
-                    return false;
-                },isArr = jet.isType(Marks,"array");  
-                return isArr && Marks.length > 0 && contains(Marks, my + "-" + jet.digit(mm) + "-" + jet.digit(md)) ? '<i class="marks"></i>' :"";
-            };
-            //是否显示节日
-            var isfestival = function(y, m ,d) {
-                var festivalStr = '';
-                if(opts.festival == true && lang.name == "cn"){
-                    var lunar = jeLunar(y, m - 1, d), feslunar = (lunar.solarFestival || lunar.lunarFestival),
-                        lunartext = (feslunar && lunar.jieqi) != "" ? feslunar : (lunar.jieqi || lunar.showInLunar);
-                    festivalStr = '<p><span class="solar">' + d + '</span><span class="lunar">' + lunartext + '</span></p>';
-                }else{
-                    festivalStr = '<p class="nolunar">' + d + '</p>';
-                }
-                return festivalStr;
-            };
-            //判断是否在限制的日期之中
-            var dateLimit = function(Y, M, D, isMonth){
-                var thatNum = parseInt(Y + "" + jet.digit(M) + "" + jet.digit(D));
-                if(isMonth){
-                    if (thatNum >= minNum && thatNum <= maxNum) return true;
-                }else {
-                    if (minNum > thatNum || maxNum < thatNum) return true;
-                }
-            };
-            
-            var regExpDate = function (date,cls) {
-                var inArray = function (search,array){
-                    for(var i in array) if(array[i]==search) return true;
-                    return false;
-                };
-                if(endval.length > 0 && endval[0]!=""){
-                    if(/\%/g.test(endval[0])){
-                        var reval = endval[0].replace(/\%/g,"").split(","), enArr = [];
-                        jet.each(reval,function (r,rel) {
-                            enArr.push(jet.digit(parseInt(rel)));
-                        });
-                        var isfind = inArray(jet.digit(date), enArr) == false;
-                        cls = jet.isBool(endval[1]) ? (isfind ? " disabled" :cls) : (isfind ? cls :" disabled");
-                    }else {
-                        var valreg = that.dateRegExp(endval[0]), regday = valreg.test(jet.digit(date));
-                        cls = jet.isBool(endval[1]) ? (regday ? " disabled" : cls) : (regday ? cls : " disabled");
-                    }
-                }
-                return cls;
-            };
-
-            //var ymds = ymdarr[1]
-            //上一月剩余天数
-            for (var p = prevDaysNum - firstWeek + 1; p <= prevDaysNum; p++, count++) {
-                var pmark = setMark(prevM.y,prevM.m,p), pcls = dateLimit(prevM.y, prevM.m, p, false) ? "disabled" : "other";
-                pcls = regExpDate(p,pcls);
-                daysArr.push({style:pcls,ymd:prevM.y+'-'+jet.digit(prevM.m)+'-'+jet.digit(p),day:(isfestival(prevM.y,prevM.m,p) + pmark)});
-            }
-            //本月的天数
-            for(var b = 1; b <= daysNum; b++, count++){
-                var bmark = setMark(yd,md,b), bcls = "";
-                var dateval = parseInt(yd+""+jet.digit(md)+""+jet.digit(b)),
-                    parsdate = dateval > startDate, rangdate = dateval < endDate;
-                if(dateLimit(yd, md, b, true)){
-                    if(dateval == startDate || dateval == endDate){
-                        bcls = " action";
-                    }else if(parsdate&&rangdate){
-                        bcls = " contain";
-                    }else {
-                        bcls = "";
-                    }
-                }else {
-                    bcls = " disabled";
-                }
-                bcls = regExpDate(b,bcls);
-                daysArr.push({style:"normal"+bcls,ymd:yd+'-'+jet.digit(md)+'-'+jet.digit(b),day:(isfestival(yd,md,b) + bmark)});
-            }
-            //下一月开始天数
-            for(var n = 1, nlen = 42 - count; n <= nlen; n++){
-                var nmark = setMark(nextM.y,nextM.m,n);
-                var ncls = dateLimit(nextM.y, nextM.m, n, false) ? "disabled" : "other";
-                ncls = regExpDate(n,ncls);
-                daysArr.push({style:ncls,ymd:nextM.y+'-'+jet.digit(nextM.m)+'-'+jet.digit(n),day:(isfestival(nextM.y,nextM.m,n) + nmark)});
-            }
-            //将星期与日期拼接起来
-            return daysArr;  
-        },
-        eachTime  : function (hmsArr,type) {  
-            var that = this,opts = that.$opts, range = opts.range,multi = opts.multiPane, minVal = [], maxVal = [],
-                mhms = ["hh","mm","ss"], timeArr = [],hmsCls = '',format = that.format,    
-                ntVal = jet.trim(that.minDate).replace(/\s+/g," "), 
-                xtVal = jet.trim(that.maxDate).replace(/\s+/g," "), 
-                nVal = ntVal.split(" "), xVal = xtVal.split(" ");
-            if(that.dlen>3 && /\:/.test(nVal) && /\:/.test(xVal)){
-                minVal = jet.reMatch(/\s/.test(ntVal)&&that.dlen>3 ? nVal[1] : ntVal);
-                maxVal = jet.reMatch(/\s/.test(xtVal)&&that.dlen>3 ? xVal[1] : xtVal);
-            }
-            jet.each([24,60,60],function (s,lens) {
-                timeArr[s] = [];
-                var unhmsVal = minVal[s] == undefined || minVal[s] == 0 ? hmsArr[mhms[s]] : minVal[s],
-                currVal = that.getValue() == "" ? unhmsVal : hmsArr[mhms[s]];
-                if(that.dlen>3 && /\:/.test(nVal) && type==1){
-                    that.selectTime[0][mhms[s]] = currVal;
-                }
-                for (var h = 0; h < lens; h++) {
-                    var exists = new RegExp(mhms[s],"g").test(format);
-                    if(h == currVal){
-                        hmsCls = exists ? "action" : "disabled"; 
-                    }else if(!exists || !range && multi &&(h<minVal[s] ||h>maxVal[s])){    
-                        hmsCls = "disabled";
-                    }else if(!multi){
-                        hmsCls = type == 1&&h<minVal[s] || type == 2&&h>maxVal[s] ? "disabled" : "";
-                    }else{
-                        hmsCls = ""; 
-                    }
-                    timeArr[s].push({style:hmsCls,hms:h});
-                }
-            }); 
-            return timeArr;
-        },
-        //关闭日期控件
-        closeDate : function () {
-            var elem = $Q(elx), tipelem = $Q("#jedatetipscon");
-            elem && document.body.removeChild(elem);
-            tipelem && document.body.removeChild(tipelem);
-            //再次初始化值
-            this.setDatas();
-        },
-        //转换日期值
-        parseValue : function (fnObj,matStr) {
-            var that = this, valArr=[],opts = that.$opts, range = opts.range;
-            jet.each(fnObj,function (i,val) {
-                valArr.push(jet.parse(val, matStr));
-            });
-            return range == false ? valArr[0] : valArr.join(range);
-        },
-        //初始验证正则
-        dateRegExp : function(valArr) {
-            var enval = valArr.split(",")||[], regs = "";
-            var doExp = function (val) {
-                var arr, tmpEval, regs = /#?\{(.*?)\}/;
-                val = val + "";
-                while ((arr = regs.exec(val)) != null) {
-                    arr.lastIndex = arr.index + arr[1].length + arr[0].length - arr[1].length - 1;
-                    tmpEval = parseInt(eval(arr[1]));
-                    if (tmpEval < 0) tmpEval = "9700" + -tmpEval;
-                    val = val.substring(0, arr.index) + tmpEval + val.substring(arr.lastIndex + 1);
-                }
-                return val;
-            };
-            if (enval && enval.length > 0) {
-                for (var i = 0; i < enval.length; i++) {
-                    regs += doExp(enval[i]);
-                    if (i != enval.length - 1) regs += "|";
-                }
-                regs = regs ? new RegExp("(?:" + regs + ")") : null;
-            } else {
-                regs = null;
-            }
-            //re = new RegExp((re + "").replace(/^\/\(\?:(.*)\)\/.*/, "$1"));
-            return regs;
-        },
-        //显示农历节日
-        showFestival:function () {
-            var that = this, opts = that.$opts;
-            jet.each(that.dateCell.querySelectorAll(".daystable td"),function (i,node) {
-                var tval = jet.reMatch(jet.attr(node,"ymd")),tipDiv = document.createElement("div");
-                node.removeAttribute("ymd");
-                //鼠标进入提示框出现
-                jet.on(node,"mouseover",function () {
-                    var lunar = new jeLunar(tval[0], tval[1] - 1, tval[2]);
-                    if($Q("#jedatetipscon")) return;
-                    tipDiv.id = tipDiv.className = "jedatetipscon";
-                    var tiphtml = '<p>' + lunar.solarYear + '\u5E74' + lunar.solarMonth + '\u6708' + lunar.solarDate + '\u65E5 ' + lunar.inWeekDays + '</p><p class="red">\u519C\u5386:' + lunar.shengxiao + '\u5E74 ' + lunar.lnongMonth + '\u6708' + lunar.lnongDate + '</p><p>' + lunar.ganzhiYear + '\u5E74 ' + lunar.ganzhiMonth + '\u6708 ' + lunar.ganzhiDate + '\u65E5</p>';
-                    var Fesjieri = (lunar.solarFestival || lunar.lunarFestival) != "" ? '<p class="red">' + ("\u8282\u65E5:"+lunar.solarFestival + lunar.lunarFestival) + '</p>' : "";
-                    var Fesjieqi = lunar.jieqi != "" ? '<p class="red">'+(lunar.jieqi != "" ? "\u8282\u6C14:"+lunar.jieqi : "") + '</p>': "";
-                    var tiptext = (lunar.solarFestival || lunar.lunarFestival || lunar.jieqi) != "" ? (Fesjieri + Fesjieqi) : "";
-                    jet.html(tipDiv,tiphtml + tiptext);
-                    document.body.appendChild(tipDiv);
-                    //获取并设置农历提示框出现的位置
-                    var tipPos = that.lunarOrien(tipDiv, this);
-                    jet.setCss(tipDiv,{"zIndex":  (opts.zIndex == undefined ? 10000 + 5 : opts.zIndex + 5),top:tipPos.top,left:tipPos.left,position:"absolute",display:"block"});
-                });
-                //鼠标移除提示框消失
-                jet.on(node,"mouseout",function () {
-                    document.body.removeChild($Q("#jedatetipscon"));
-                });
-            });
-            if (that.dateCell.nodeType === 1 && !jet.hasClass(that.dateCell,"grid")) that.dateCell.className = that.dateCell.className + " grid";
-        },
-        //农历方位辨别
-        lunarOrien : function(obj, self, pos) {
-            var tops, leris, ortop, orleri, rect =self.getBoundingClientRect(), boxW = obj.offsetWidth, boxH = obj.offsetHeight;
-            leris = rect.right + boxW / 1.5 >= jet.docArea(true) ? rect.right - boxW : rect.left + (pos ? 0 : jet.docScroll(true));
-            tops = rect.bottom + boxH / 1 <= jet.docArea() ? rect.bottom - 1 : rect.top > boxH / 1.5 ? rect.top - boxH - 1 : jet.docArea() - boxH;
-            if(leris + boxW > jet.docArea(true)) leris = rect.left - (boxW - rect.width);
-            ortop = Math.max(tops + (pos ? 0 :jet.docScroll()) + 1, 1) + "px", orleri = leris + "px";
-            return {top: ortop, left: orleri }
-        },
-        //辨别控件的方位
-        dateOrien : function(elbox, valCls, pos) {
-            var that = this, tops, leris, ortop, orleri,
-                rect = that.$opts.fixed ? valCls.getBoundingClientRect() : elbox.getBoundingClientRect(),
-                leris = rect.left, tops = rect.bottom;
-            if(that.$opts.fixed) {
-                var boxW = elbox.offsetWidth, boxH = elbox.offsetHeight;
-                //如果右侧超出边界
-                if(leris + boxW > jet.docArea(true)){
-                    leris = leris - (boxW - rect.width);
-                }
-                //如果底部超出边界
-                if(tops + boxH > jet.docArea()){
-                    tops = rect.top > boxH ? rect.top - boxH -2 : jet.docArea() - boxH -1;
-                }
-                //根据目标元素计算弹层位置
-                ortop = Math.max(tops + (pos ? 0 :jet.docScroll())+1, 1) + "px"; orleri = leris + "px";
-            }else{
-                //弹层位置位于页面上下左右居中
-                ortop = "50%"; orleri = "50%";
-                elbox.style.cssText = "marginTop:"+-(rect.height / 2)+";marginLeft:"+-(rect.width / 2);
-            }
-            jet.setCss(elbox,{top:ortop,left:orleri});
-        },
-        tips : function (text, time) {
-            var that = this, tipCls = $Q(".jedate-tips",that.dateCell),tipTime;
-            jet.html(tipCls,text||""); jet.setCss(tipCls,{display:"block"});
-            clearTimeout(tipTime);
-            tipTime = setTimeout(function(){
-                jet.html(tipCls,""); jet.setCss(tipCls,{display:"none"});
-            }, (time||2.5)*1000);
-        },
-        locateScroll : function () {
-            var that = this, ulCell = $Q(".jedate-time",that.dateCell).querySelectorAll("ul");
-            jet.each(ulCell, function(i,cell) {
-                var hmsCls = cell.querySelector(".action");
-                cell.scrollTop = hmsCls ? (hmsCls.offsetTop-145):0;
-            });
-            if(that.dlen != 7) jet.setCss($Q(".jedate-time",that.dateCell),{display:'none'});
-        }
-    });
-    
-    //农历数据
-    function jeLunar(ly,lm,ld) {
-        var lunarInfo=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42448,83315,21200,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46496,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,21952,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19415,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448],
-            sTermInfo = [ 0, 21208, 43467, 63836, 85337, 107014, 128867, 150921, 173149, 195551, 218072, 240693, 263343, 285989, 308563, 331033, 353350, 375494, 397447, 419210, 440795, 462224, 483532, 504758 ];
-        var Gan = "甲乙丙丁戊己庚辛壬癸", Zhi = "子丑寅卯辰巳午未申酉戌亥", Animals = "鼠牛虎兔龙蛇马羊猴鸡狗猪";
-        var solarTerm = [ "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满",
-            "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至" ];
-        var nStr1 = "日一二三四五六七八九十", nStr2 = "初十廿卅", nStr3 = [ "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "腊"],
-            sFtv1 = {
-                "0101" : "*1元旦节",         "0202" : "湿地日",
-                "0214" : "情人节",           "0308" : "妇女节",
-                "0312" : "植树节",           "0315" : "消费者权益日",
-                "0401" : "愚人节",           "0422" : "地球日",
-                "0501" : "*1劳动节",         "0504" : "青年节",
-                "0512" : "护士节",           "0518" : "博物馆日",
-                "0520" : "母亲节",           "0601" : "儿童节",
-                "0623" : "奥林匹克日",       "0630" : "父亲节",
-                "0701" : "建党节",           "0801" : "建军节",
-                "0903" : "抗战胜利日",       "0910" : "教师节",
-                "1001" : "*3国庆节",         "1201" : "艾滋病日",
-                "1224" : "平安夜",           "1225" : "圣诞节"
-            },
-            sFtv2 = {
-                "0100" : "除夕",             "0101" : "*2春节",
-                "0115" : "元宵节",           "0505" : "*1端午节",
-                "0707" : "七夕节",           "0715" : "中元节",
-                "0815" : "*1中秋节",         "0909" : "*1重阳节",
-                "1015" : "下元节",           "1208" : "腊八节",
-                "1223" : "小年"
-
-            };
-        function flunar(Y) {
-            var sTerm = function (j, i) {
-                var h = new Date((31556925974.7 * (j - 1900) + sTermInfo[i] * 60000) + Date.UTC(1900, 0, 6, 2, 5));
-                return (h.getUTCDate());
-            },
-            d = function (k) {
-                var h, j = 348;
-                for (h = 32768; h > 8; h >>= 1) j += (lunarInfo[k - 1900] & h) ? 1 : 0;
-                return (j + b(k));
-            },
-            ymdCyl = function (h) {
-                return (Gan.charAt(h % 10) + Zhi.charAt(h % 12));
-            },
-            b = function (h) {
-                var islp = (g(h)) ? ((lunarInfo[h - 1900] & 65536) ? 30 : 29) : (0);
-                return islp;
-            },
-            g = function (h) {
-                return (lunarInfo[h - 1900] & 15)
-            },
-            e = function (i, h) {
-                return ((lunarInfo[i - 1900] & (65536 >> h)) ? 30 : 29);
-            },
-            newymd = function (m) {
-                var k, j = 0, h = 0, l = new Date(1900, 0, 31), n = (m - l) / 86400000;
-                this.dayCyl = n + 40;
-                this.monCyl = 14;
-                for (k = 1900; k < 2050 && n > 0; k++) {
-                    h = d(k); n -= h;
-                    this.monCyl += 12;
-                }
-                if (n < 0) {
-                    n += h; k--;
-                    this.monCyl -= 12;
-                }
-                this.year = k;
-                this.yearCyl = k - 1864;
-                j = g(k);
-                this.isLeap = false;
-                for (k = 1; k < 13 && n > 0; k++) {
-                    if (j > 0 && k == (j + 1) && this.isLeap == false) {
-                        --k;
-                        this.isLeap = true;
-                        h = b(this.year);
-                    } else {
-                        h = e(this.year, k);
-                    }
-                    if (this.isLeap == true && k == (j + 1)) {
-                        this.isLeap = false;
-                    }
-                    n -= h;
-                    if (this.isLeap == false) this.monCyl++;
-                }
-                if (n == 0 && j > 0 && k == j + 1) {
-                    if (this.isLeap) {
-                        this.isLeap = false;
-                    } else {
-                        this.isLeap = true;
-                        --k;
-                        --this.monCyl;
-                    }
-                }
-                if (n < 0) {
-                    n += h; --k;
-                    --this.monCyl;
-                }
-                this.month = k;
-                this.day = n + 1;
-            },
-            digit = function (num) {
-                return num < 10 ? "0" + (num | 0) : num;
-            },
-            reymd = function (i, j) {
-                var h = i;
-                return j.replace(/dd?d?d?|MM?M?M?|yy?y?y?/g, function (k) {
-                    switch (k) {
-                        case "yyyy":
-                            var l = "000" + h.getFullYear();
-                            return l.substring(l.length - 4);
-                        case "dd": return digit(h.getDate());
-                        case "d": return h.getDate().toString();
-                        case "MM": return digit((h.getMonth() + 1));
-                        case "M": return h.getMonth() + 1;
-                    }
-                });
-            },
-            lunarMD = function (i, h) {
-                var j;
-                switch (i, h) {
-                    case 10: j = "初十"; break;
-                    case 20: j = "二十"; break;
-                    case 30: j = "三十"; break;
-                    default:
-                        j = nStr2.charAt(Math.floor(h / 10));
-                        j += nStr1.charAt(h % 10);
-                }
-                return j;
-            };
-            this.isToday = false;
-            this.isRestDay = false;
-            this.solarYear = reymd(Y, "yyyy");
-            this.solarMonth = reymd(Y, "M");
-            this.solarDate = reymd(Y, "d");
-            this.solarWeekDay = Y.getDay();
-            this.inWeekDays = "星期" + nStr1.charAt(this.solarWeekDay);
-            var X = new newymd(Y);
-            this.lunarYear = X.year;
-            this.shengxiao = Animals.charAt((this.lunarYear - 4) % 12);
-            this.lunarMonth = X.month;
-            this.lunarIsLeapMonth = X.isLeap;
-            this.lnongMonth = this.lunarIsLeapMonth ? "闰" + nStr3[X.month - 1] : nStr3[X.month - 1];
-            this.lunarDate = X.day;
-            this.showInLunar = this.lnongDate = lunarMD(this.lunarMonth, this.lunarDate);
-            if (this.lunarDate == 1) {
-                this.showInLunar = this.lnongMonth + "月";
-            }
-            this.ganzhiYear = ymdCyl(X.yearCyl);
-            this.ganzhiMonth = ymdCyl(X.monCyl);
-            this.ganzhiDate = ymdCyl(X.dayCyl++);
-            this.jieqi = "";
-            this.restDays = 0;
-            if (sTerm(this.solarYear, (this.solarMonth - 1) * 2) == reymd(Y, "d")) {
-                this.showInLunar = this.jieqi = solarTerm[(this.solarMonth - 1) * 2];
-            }
-            if (sTerm(this.solarYear, (this.solarMonth - 1) * 2 + 1) == reymd(Y, "d")) {
-                this.showInLunar = this.jieqi = solarTerm[(this.solarMonth - 1) * 2 + 1];
-            }
-            if (this.showInLunar == "清明") {
-                this.showInLunar = "清明节";
-                this.restDays = 1;
-            }
-            this.solarFestival = sFtv1[reymd(Y, "MM") + reymd(Y, "dd")];
-            if (typeof this.solarFestival == "undefined") {
-                this.solarFestival = "";
-            } else {
-                if (/\*(\d)/.test(this.solarFestival)) {
-                    this.restDays = parseInt(RegExp.$1);
-                    this.solarFestival = this.solarFestival.replace(/\*\d/, "");
-                }
-            }
-            this.showInLunar = (this.solarFestival == "") ? this.showInLunar : this.solarFestival;
-            this.lunarFestival = sFtv2[this.lunarIsLeapMonth ? "00" : digit(this.lunarMonth) + digit(this.lunarDate)];
-            if (typeof this.lunarFestival == "undefined") {
-                this.lunarFestival = "";
-            } else {
-                if (/\*(\d)/.test(this.lunarFestival)) {
-                    this.restDays = (this.restDays > parseInt(RegExp.$1)) ? this.restDays : parseInt(RegExp.$1);
-                    this.lunarFestival = this.lunarFestival.replace(/\*\d/, "");
-                }
-            }
-            if (this.lunarMonth == 12 && this.lunarDate == e(this.lunarYear, 12)) {
-                this.lunarFestival = sFtv2["0100"];
-                this.restDays = 1;
-            }
-            this.showInLunar = (this.lunarFestival == "") ? this.showInLunar : this.lunarFestival;
-        }
-        return new flunar(new Date(ly, lm, ld));
-    }
-    return jeDate;
-});

二进制
src/Masuit.MyBlogs.Core/wwwroot/Assets/jedate/jedatefont.eot


+ 0 - 45
src/Masuit.MyBlogs.Core/wwwroot/Assets/jedate/jedatefont.svg

@@ -1,45 +0,0 @@
-<?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="jedatefont" horiz-adv-x="1024" >
-  <font-face
-    font-family="jedatefont"
-    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="srightarrows" unicode="&#972485;" d="M658.364 355.601l3.277 3.277c10.923 13.65299999 10.92300001 35.499-1e-8 48.606l-358.26299999 441.276c-10.923 13.65299999-28.399 13.107-39.868 0-10.923-13.65299999-10.92300001-35.499 0-48.606l338.057-416.154-338.603-417.246c-10.923-13.65299999-10.92300001-35.499 0-48.606s28.945-13.65299999 39.868 0l355.533 437.453zM470.494 858.044c-10.923-13.65299999-10.92300001-35.499 0-48.60600001l338.057-416.15399999-338.603-417.246c-10.923-13.65299999-10.92300001-35.499 0-48.606 10.923-13.65299999 28.945-13.65299999 39.868 0l356.079 438.545 3.277 3.27699999c10.923 13.65299999 10.92300001 35.499 0 48.60600001l-358.263 441.276c-11.469 12.561-29.491 12.561-40.414-1.092z"  horiz-adv-x="1024" />
-
-    
-    <glyph glyph-name="drightarrows" unicode="&#972293;" d="M445.646779-81.040479a25.502837 25.502837 0 0 0-18.128892 7.531534c-9.969049 10.011005-9.93425701 26.208918 0.076748 36.177967l413.84344601 412.08643-412.08540601 413.844469c-9.969049 10.012028-9.934257 26.209942 0.076748 36.178991 10.012028 9.970072 26.209942 9.93528 36.17899-0.076748l430.137551-431.972339a25.580608 25.580608 0 0 0-0.07674799-36.17899l-431.97131501-430.136528a25.50693 25.50693 0 0 0-18.051122-7.454786z"  horiz-adv-x="1024" />
-
-    
-    <glyph glyph-name="dleftarrows-copy" unicode="&#972290;" d="M578.353221 849.040479a25.502837 25.502837 0 0 0 18.128892-7.531534c9.969049-10.011005 9.93425701-26.208918-0.076748-36.177967l-413.84344601-412.08643 412.08540601-413.844469c9.969049-10.012028 9.934257-26.209942-0.076748-36.178991-10.012028-9.970072-26.209942-9.93528-36.17899 0.076748l-430.137551 431.972339a25.580608 25.580608 0 0 0 0.07674799 36.17899l431.97131501 430.136528a25.50693 25.50693 0 0 0 18.051122 7.454786z"  horiz-adv-x="1024" />
-
-    
-    <glyph glyph-name="sleftarrows-copy" unicode="&#972482;" d="M365.636 412.399l-3.277-3.277c-10.923-13.65299999-10.92300001-35.499 1e-8-48.606l358.26299999-441.276c10.923-13.65299999 28.399-13.107 39.868 0 10.923 13.65299999 10.92300001 35.499 0 48.606l-338.057 416.154 338.603 417.246c10.923 13.65299999 10.92300001 35.499 0 48.606s-28.945 13.65299999-39.868 0l-355.533-437.453zM553.506-90.04399999999998c10.923 13.65299999 10.92300001 35.499 0 48.60600001l-338.057 416.15399999 338.603 417.246c10.923 13.65299999 10.92300001 35.499 0 48.606-10.923 13.65299999-28.945 13.65299999-39.868 0l-356.079-438.545-3.277-3.27699999c-10.923-13.65299999-10.92300001-35.499 0-48.60600001l358.263-441.276c11.469-12.561 29.491-12.561 40.414 1.092z"  horiz-adv-x="1024" />
-
-    
-
-
-  </font>
-</defs></svg>

二进制
src/Masuit.MyBlogs.Core/wwwroot/Assets/jedate/jedatefont.ttf


二进制
src/Masuit.MyBlogs.Core/wwwroot/Assets/jedate/jedatefont.woff


+ 2 - 14
src/Masuit.MyBlogs.Core/wwwroot/ng-views/app/route.config.js

@@ -324,14 +324,7 @@ myApp.config([
             controller: "searchAnalysis as list",
             resolve: {
                 deps: ["$ocLazyLoad", function($ocLazyLoad) {
-                        return $ocLazyLoad.load([
-                            {
-                                files: [
-                                    "/assets/jedate/jedate.js", 
-                                ],
-                                cache: true
-                            }, cpath + "/analysis.js"
-                        ]);
+                        return $ocLazyLoad.load([cpath + "/analysis.js"]);
                     }
                 ]
             }
@@ -411,12 +404,7 @@ myApp.config([
             controller: "donate as list",
             resolve: {
                 deps: ["$ocLazyLoad", function($ocLazyLoad) {
-                        return $ocLazyLoad.load([
-                            {
-                                files: ["/assets/jedate/jedate.css", "/assets/jedate/jedate.js"],
-                                cache: true
-                            }, cpath + "/donate.js"
-                        ]);
+                        return $ocLazyLoad.load([cpath + "/donate.js"]);
                     }
                 ]
             }

+ 121 - 117
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/donate.js

@@ -1,119 +1,123 @@
 myApp.controller("donate", ["$scope", "$http", "NgTableParams", function($scope, $http, NgTableParams) {
-	var self = this;
-	$scope.paginationConf = {
-		currentPage: 1,
-		itemsPerPage: 10,
-		pagesLength: 25,
-		perPageOptions: [1, 5, 10, 15, 20, 30, 40, 50, 100, 200],
-		rememberPerPage: 'perPageItems',
-		onChange: function() {
-			self.GetPageData($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage);
-		}
-	};
-	this.GetPageData = function(page, size) {
-		$http.post(`/donate/getpagedata?page=${page}&size=${size}`).then(function(res) {
-			$scope.paginationConf.totalItems = res.data.TotalCount;
-			$("div[ng-table-pagination]").remove();
-			self.tableParams = new NgTableParams({
-				count: 50000
-			}, {
-				filterDelay: 0,
-				dataset: res.data.Data
-			});
-		});
-	};
-	self.del = function(row) {
-		swal({
-			title: "确认删除这条打赏记录吗?",
-			text: row.NickName,
-			showCancelButton: true,
-			confirmButtonColor: "#DD6B55",
-			confirmButtonText: "确定",
-			cancelButtonText: "取消",
-			showLoaderOnConfirm: true,
-			animation: true,
-			allowOutsideClick: false
-		}).then(function() {
-			$scope.request("/donate/delete/" + row.Id, null, function(data) {
-				window.notie.alert({
-					type: 1,
-					text: data.Message,
-					time: 4
-				});
-			});
-			_.remove(self.tableParams.settings().dataset, function(item) {
-				return row === item;
-			});
-			self.tableParams.reload().then(function(data) {
-				if (data.length === 0 && self.tableParams.total() > 0) {
-					self.tableParams.page(self.tableParams.page() - 1);
-					self.tableParams.reload();
-				}
-			});
-		}, function() {
-		}).catch(swal.noop);
-	}
-	$scope.save = function (row) {
-		if (row==null) {
-			row = {
-				NickName: "",
-				DonateTime: "",
-				Amount: "",
-				Email: "",
-				QQorWechat: "",
-				Via:""
-			};
-		}
-		swal({
-			title: '添加打赏记录',
-			html: '<div class="input-group"><span class="input-group-addon">昵称: </span><input type="text" id="name" class="form-control input-lg" placeholder="请输入昵称" value="' + row.NickName+'"></div>' +
-			'<div class="input-group"><span class="input-group-addon">打赏时间: </span><input id="date" type="text" class="form-control input-lg date datainp dateicon" readonly placeholder="请输入打赏时间" value="' + row.DonateTime +'"></div>	' +
-			'<div class="input-group"><span class="input-group-addon">打赏金额: </span><input id="amount" type="text" class="form-control input-lg" placeholder="请输入金额" value="' + row.Amount +'"></div>' +
-			'<div class="input-group"><span class="input-group-addon">打赏方式: </span><input id="via" type="text" class="form-control input-lg" placeholder="请输入打赏方式" value="' + row.Via +'"></div>' +
-			'<div class="input-group"><span class="input-group-addon">Email: </span><input type="email" id="email" class="form-control input-lg" placeholder="请输入Email" value="' + row.Email +'"></div>' +
-			'<div class="input-group"><span class="input-group-addon">QQ或微信: </span><input type="text" id="qq" class="form-control input-lg" placeholder="请输入QQ或微信" value="' + row.QQorWechat +'"></div>',
-			showCloseButton: true,
-			confirmButtonColor: "#DD6B55",
-			confirmButtonText: "确定",
-			cancelButtonText: "取消",
-			showLoaderOnConfirm: true,
-			animation: true,
-			allowOutsideClick: false,
-			preConfirm: function () {
-				return new Promise(function (resolve, reject) {
-					row.NickName = $("#name").val();
-					row.DonateTime = $("#date").val();
-					row.Amount = $("#amount").val();
-					row.Via = $("#via").val();
-					row.Email = $("#email").val();
-					row.QQorWechat = $("#qq").val();
-					$http.post("/donate/save", row).then(function (res) {
-						if (res.data.Success) {
-							resolve(res.data);
-						} else {
-							reject(res.data.Message);
-						}
-					}, function (error) {
-						reject("服务请求失败!");
-					});
-				});
-			}
-		}).then(function (result) {
-			if (result) {
-				if (result.Success) {
-					swal(result.Message, "", "success");
-					self.GetPageData($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage);
-				} else {
-					swal(result.Message, "", "error");
-				}
-			}
-		}).catch(swal.noop);
-		jeDate(".date",{
-			isinitVal: true,
-			format: "YYYY-MM-DD",
-			donefun: function (elem) {
-				$("#date").val(elem.val);
-			}
-		});
-	}
+    var self = this;
+    $scope.paginationConf = {
+        currentPage: 1,
+        itemsPerPage: 10,
+        pagesLength: 25,
+        perPageOptions: [1, 5, 10, 15, 20, 30, 40, 50, 100, 200],
+        rememberPerPage: 'perPageItems',
+        onChange: function() {
+            self.GetPageData($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage);
+        }
+    };
+    this.GetPageData = function(page, size) {
+        $http.post(`/donate/getpagedata?page=${page}&size=${size}`).then(function(res) {
+            $scope.paginationConf.totalItems = res.data.TotalCount;
+            $("div[ng-table-pagination]").remove();
+            self.tableParams = new NgTableParams({
+                count: 50000
+            }, {
+                filterDelay: 0,
+                dataset: res.data.Data
+            });
+        });
+    };
+    self.del = function(row) {
+        swal({
+            title: "确认删除这条打赏记录吗?",
+            text: row.NickName,
+            showCancelButton: true,
+            confirmButtonColor: "#DD6B55",
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            showLoaderOnConfirm: true,
+            animation: true,
+            allowOutsideClick: false
+        }).then(function() {
+            $scope.request("/donate/delete/" + row.Id, null, function(data) {
+                window.notie.alert({
+                    type: 1,
+                    text: data.Message,
+                    time: 4
+                });
+            });
+            _.remove(self.tableParams.settings().dataset, function(item) {
+                return row === item;
+            });
+            self.tableParams.reload().then(function(data) {
+                if (data.length === 0 && self.tableParams.total() > 0) {
+                    self.tableParams.page(self.tableParams.page() - 1);
+                    self.tableParams.reload();
+                }
+            });
+        }, function() {
+        }).catch(swal.noop);
+    }
+    $scope.save = function (row) {
+        if (row==null) {
+            row = {
+                NickName: "",
+                DonateTime: "",
+                Amount: "",
+                Email: "",
+                QQorWechat: "",
+                Via:""
+            };
+        }
+        swal({
+            title: '添加打赏记录',
+            html: '<div class="input-group"><span class="input-group-addon">昵称: </span><input type="text" id="name" class="form-control input-lg" placeholder="请输入昵称" value="' + row.NickName+'"></div>' +
+            '<div class="input-group"><span class="input-group-addon">打赏时间: </span><input id="date" type="text" class="form-control input-lg date datainp dateicon" readonly placeholder="请输入打赏时间" value="' + row.DonateTime +'"></div>	' +
+            '<div class="input-group"><span class="input-group-addon">打赏金额: </span><input id="amount" type="text" class="form-control input-lg" placeholder="请输入金额" value="' + row.Amount +'"></div>' +
+            '<div class="input-group"><span class="input-group-addon">打赏方式: </span><input id="via" type="text" class="form-control input-lg" placeholder="请输入打赏方式" value="' + row.Via +'"></div>' +
+            '<div class="input-group"><span class="input-group-addon">Email: </span><input type="email" id="email" class="form-control input-lg" placeholder="请输入Email" value="' + row.Email +'"></div>' +
+            '<div class="input-group"><span class="input-group-addon">QQ或微信: </span><input type="text" id="qq" class="form-control input-lg" placeholder="请输入QQ或微信" value="' + row.QQorWechat +'"></div>',
+            showCloseButton: true,
+            confirmButtonColor: "#DD6B55",
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            showLoaderOnConfirm: true,
+            animation: true,
+            allowOutsideClick: false,
+            preConfirm: function () {
+                return new Promise(function (resolve, reject) {
+                    row.NickName = $("#name").val();
+                    row.DonateTime = $("#date").val();
+                    row.Amount = $("#amount").val();
+                    row.Via = $("#via").val();
+                    row.Email = $("#email").val();
+                    row.QQorWechat = $("#qq").val();
+                    $http.post("/donate/save", row).then(function (res) {
+                        if (res.data.Success) {
+                            resolve(res.data);
+                        } else {
+                            reject(res.data.Message);
+                        }
+                    }, function (error) {
+                        reject("服务请求失败!");
+                    });
+                });
+            }
+        }).then(function (result) {
+            if (result) {
+                if (result.Success) {
+                    swal(result.Message, "", "success");
+                    self.GetPageData($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage);
+                } else {
+                    swal(result.Message, "", "error");
+                }
+            }
+        }).catch(swal.noop);
+        layui.use('laydate', function(){
+          var laydate = layui.laydate;
+          laydate.render({
+            elem: '.date',
+            calendar: true,
+            done: function(value, date, endDate) {
+                $scope.partner.ExpireTime=value;
+                $("#date").val(value);
+            }
+          });
+        });
+    }
 }]);

+ 129 - 123
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/notice.js

@@ -1,128 +1,134 @@
 myApp.controller("noticeAdd", ["$scope", "$http", "$location", function ($scope, $http, $location) {
-	$scope.notice = {};
-	$scope.notice.Id = $location.search()['id']||0;
-	if ($scope.notice.Id) {
-		$scope.get("/notice/get/" + $scope.notice.Id, function (res) {
-			$scope.notice = res.Data;
-			if ($scope.notice.StartTime+$scope.notice.EndTime) {
-				$scope.notice.Range=new Date($scope.notice.StartTime).Format("yyyy-MM-dd")+" 至 "+new Date($scope.notice.EndTime).Format("yyyy-MM-dd");
-			} else {
-				delete $scope.notice.StartTime;
-				delete $scope.notice.EndTime;
-			}
-		});
-	}
-
-	jeDate("#timespan",{
-		multiPane:false,
-		range:" 至 ",
-		minDate:new Date().Format("yyyy-MM-dd"),
-		maxDate:'2099-06-16',
-		format: 'YYYY-MM-DD',
-		donefun: function (obj) {
-			$scope.notice.StartTime = obj.date[0].YYYY+"-"+obj.date[0].MM+"-"+obj.date[0].DD;
-			$scope.notice.EndTime = obj.date[1].YYYY+"-"+obj.date[1].MM+"-"+obj.date[1].DD;
-		},
-		clearfun: function(elem, val) {
-			delete $scope.notice.StartTime;
-			delete $scope.notice.EndTime;
-			delete $scope.notice.Range;
-		}
-	});
-	
-	//异步提交表单开始
-	$scope.submit = function (notice) {
-		var url = "/notice/write";
-		if (notice.Id) {
-			url = "/notice/edit";
-		}
-		$http.post(url, notice).then(function (res) {
-			var data = res.data;
-			if (data.Success) {
-				window.notie.alert({
-					type: 1,
-					text: data.Message,
-					time: 4
-				});
-				$scope.notice.Content = "";
-				$scope.notice.Title = "";
-			} else {
-				window.notie.alert({
-					type: 3,
-					text: data.Message,
-					time: 4
-				});
-			}
-		});
-	}
-	//异步提交表单结束
+    $scope.notice = {};
+    $scope.notice.Id = $location.search()['id']||0;
+    if ($scope.notice.Id) {
+        $scope.get("/notice/get/" + $scope.notice.Id, function (res) {
+            $scope.notice = res.Data;
+            if ($scope.notice.StartTime+$scope.notice.EndTime) {
+                $scope.notice.Range=new Date($scope.notice.StartTime).Format("yyyy-MM-dd")+" - "+new Date($scope.notice.EndTime).Format("yyyy-MM-dd");
+            } else {
+                delete $scope.notice.StartTime;
+                delete $scope.notice.EndTime;
+            }
+        });
+    }
+    
+    layui.use('laydate', function(){
+      var laydate = layui.laydate;
+      laydate.render({
+        elem: '#timespan',
+        type: 'datetime',
+        range: true,
+        min: new Date().Format("yyyy-MM-dd"),
+        max: '2098-12-31 12:30:00',
+        calendar: true,
+        done: function(value, date, endDate) {
+            let parts = value.split(" - ");
+            if (parts.length==2) {
+                $scope.notice.StartTime = parts[0];
+                $scope.notice.EndTime = parts[1];
+            } else {
+                delete $scope.notice.StartTime;
+                delete $scope.notice.EndTime;
+                delete $scope.notice.Range;
+            }
+        }
+      });
+    });
+    
+    //异步提交表单开始
+    $scope.submit = function (notice) {
+        var url = "/notice/write";
+        if (notice.Id) {
+            url = "/notice/edit";
+        }
+        $http.post(url, notice).then(function (res) {
+            var data = res.data;
+            if (data.Success) {
+                window.notie.alert({
+                    type: 1,
+                    text: data.Message,
+                    time: 4
+                });
+                $scope.notice.Content = "";
+                $scope.notice.Title = "";
+            } else {
+                window.notie.alert({
+                    type: 3,
+                    text: data.Message,
+                    time: 4
+                });
+            }
+        });
+    }
+    //异步提交表单结束
 }]);
 myApp.controller("noticeList", ["$scope", "$http", "NgTableParams", function ($scope, $http, NgTableParams) {
-	var self = this;
-	$scope.paginationConf = {
-		currentPage: 1,
-		//totalItems: $scope.total,
-		itemsPerPage: 10,
-		pagesLength: 25,
-		perPageOptions: [1, 5, 10, 15, 20, 30, 40, 50, 100, 200],
-		rememberPerPage: 'perPageItems',
-		onChange: function () {
-			self.GetPageData($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage);
-		}
-	};
-	this.GetPageData = function (page, size) {
-		$http.post(`/notice/getpagedata?page=${page}&size=${size}`).then(function (res) {
-			$scope.paginationConf.totalItems = res.data.TotalCount;
-			$("div[ng-table-pagination]").remove();
-			self.tableParams = new NgTableParams({
-				count: 50000
-			}, {
-					filterDelay: 0,
-					dataset: res.data.Data
-				});
-		});
-	};
-	self.del = function (row) {
-		swal({
-			title: "确认删除这条公告吗?",
-			text: row.Title,
-			showCancelButton: true,
-			confirmButtonColor: "#DD6B55",
-			confirmButtonText: "确定",
-			cancelButtonText: "取消",
-			showLoaderOnConfirm: true,
-			animation: true,
-			allowOutsideClick: false
-		}).then(function () {
-			$scope.request("/notice/delete/"+row.Id,null, function (data) {
-				window.notie.alert({
-					type: 1,
-					text: data.Message,
-					time: 4
-				});
-			});
-			_.remove(self.tableParams.settings().dataset, function (item) {
-				return row === item;
-			});
-			self.tableParams.reload().then(function (data) {
-				if (data.length === 0 && self.tableParams.total() > 0) {
-					self.tableParams.page(self.tableParams.page() - 1);
-					self.tableParams.reload();
-				}
-			});
-		}, function () {
-		}).catch(swal.noop);
-	}
-	
-	$scope.changeState= function(row) {
-		$scope.request("/notice/ChangeState/"+row.Id, null, function(data) {
-			window.notie.alert({
-				type: 1,
-				text: data.Message,
-				time: 4
-			});
-			row.NoticeStatus=3-row.NoticeStatus;
-		});
-	}
+    var self = this;
+    $scope.paginationConf = {
+        currentPage: 1,
+        //totalItems: $scope.total,
+        itemsPerPage: 10,
+        pagesLength: 25,
+        perPageOptions: [1, 5, 10, 15, 20, 30, 40, 50, 100, 200],
+        rememberPerPage: 'perPageItems',
+        onChange: function () {
+            self.GetPageData($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage);
+        }
+    };
+    this.GetPageData = function (page, size) {
+        $http.post(`/notice/getpagedata?page=${page}&size=${size}`).then(function (res) {
+            $scope.paginationConf.totalItems = res.data.TotalCount;
+            $("div[ng-table-pagination]").remove();
+            self.tableParams = new NgTableParams({
+                count: 50000
+            }, {
+                    filterDelay: 0,
+                    dataset: res.data.Data
+                });
+        });
+    };
+    self.del = function (row) {
+        swal({
+            title: "确认删除这条公告吗?",
+            text: row.Title,
+            showCancelButton: true,
+            confirmButtonColor: "#DD6B55",
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            showLoaderOnConfirm: true,
+            animation: true,
+            allowOutsideClick: false
+        }).then(function () {
+            $scope.request("/notice/delete/"+row.Id,null, function (data) {
+                window.notie.alert({
+                    type: 1,
+                    text: data.Message,
+                    time: 4
+                });
+            });
+            _.remove(self.tableParams.settings().dataset, function (item) {
+                return row === item;
+            });
+            self.tableParams.reload().then(function (data) {
+                if (data.length === 0 && self.tableParams.total() > 0) {
+                    self.tableParams.page(self.tableParams.page() - 1);
+                    self.tableParams.reload();
+                }
+            });
+        }, function () {
+        }).catch(swal.noop);
+    }
+    
+    $scope.changeState= function(row) {
+        $scope.request("/notice/ChangeState/"+row.Id, null, function(data) {
+            window.notie.alert({
+                type: 1,
+                text: data.Message,
+                time: 4
+            });
+            row.NoticeStatus=3-row.NoticeStatus;
+        });
+    }
 
 }]);

+ 36 - 15
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/partner.js

@@ -162,7 +162,7 @@
     }
     $scope.add = function() {
         $scope.partner = {
-            ExpireTime:"2099-12-31"
+            ExpireTime:"2049-12-31"
         };
         $scope.isAdd = true;
         $scope.allowUpload=false;
@@ -179,11 +179,22 @@
                 return true;
             }
         });
+        layui.use('laydate', function(){
+          var laydate = layui.laydate;
+          laydate.render({
+            elem: '#timespan',
+            type: 'datetime',
+            calendar: true,
+            done: function(value, date, endDate) {
+                $scope.partner.ExpireTime=value;
+            }
+          });
+        });
     }
 
     $scope.edit = function (item) {
         $scope.partner = angular.copy(item);
-        $scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2099-12-31":new Date($scope.partner.ExpireTime).Format("yyyy-MM-dd");
+        $scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2049-12-31":new Date($scope.partner.ExpireTime).Format("yyyy-MM-dd hh:mm:ss");
         $scope.isAdd = false;
         $scope.allowUpload=false;
         layer.closeAll();
@@ -203,12 +214,23 @@
                 return true;
             }
         });
+        layui.use('laydate', function(){
+          var laydate = layui.laydate;
+          laydate.render({
+            elem: '#timespan',
+            type: 'datetime',
+            calendar: true,
+            done: function(value, date, endDate) {
+                $scope.partner.ExpireTime=value;
+            }
+          });
+        });
     }
 
     $scope.copy = function (item) {
         $scope.partner = angular.copy(item);
         delete $scope.partner.Id;
-        $scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2099-12-31":new Date($scope.partner.ExpireTime).Format("yyyy-MM-dd");
+        $scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2049-12-31":new Date($scope.partner.ExpireTime).Format("yyyy-MM-dd hh:mm:ss");
         $scope.isAdd = true;
         $scope.allowUpload=false;
         layer.closeAll();
@@ -228,6 +250,17 @@
                 return true;
             }
         });
+        layui.use('laydate', function(){
+          var laydate = layui.laydate;
+          laydate.render({
+            elem: '#timespan',
+            type: 'datetime',
+            calendar: true,
+            done: function(value, date, endDate) {
+                $scope.partner.ExpireTime=value;
+            }
+          });
+        });
     }
 
     $scope.closeAll= function() {
@@ -367,16 +400,4 @@
           content: '/partner/'+row.Id+'/insight'
         }));
     }
-    jeDate('#timespan',{
-        isinitVal: true,
-        festival: true,
-        isTime: true,
-        ishmsVal: true,
-        format: 'YYYY-MM-DD hh:mm:ss',
-        minDate: new Date().Format("yyyy-MM-dd"),
-        maxDate: '2099-12-31 23:59:59',
-        donefun: function (obj) {
-            $scope.partner.ExpireTime = new Date(obj.val).Format("yyyy-MM-dd 23:59:59");
-        }
-    });
 }]);

+ 15 - 13
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/post.js

@@ -534,20 +534,22 @@ myApp.controller("writeblog", ["$scope", "$http", "$timeout","$location", functi
     // 定时发布
     $scope.Scheduled= function() {
         if ($scope.post.schedule) {
-            jeDate('#timespan',{
-                isinitVal: true,
-                festival: true,
-                isTime: true,
-                ishmsVal: true,
-                format: 'YYYY-MM-DD hh:mm:ss',
-                minDate: new Date().Format("yyyy-MM-dd 00:00:00"),
-                maxDate: '2099-06-16 23:59:59',
-                donefun: function (obj) {
-                    $scope.post.timespan = obj.val;
-                },
-                clearfun: function(elem, val) {
-                    delete $scope.post.timespan;
+            layui.use('laydate', function(){
+              var laydate = layui.laydate;
+              laydate.render({
+                elem: '#timespan',
+                type: 'datetime',
+                calendar: true,
+                min: new Date(new Date().setMinutes(new Date().getMinutes()+10)).Format("yyyy-MM-dd hh:mm:ss"),
+                max: new Date(new Date().setDate(new Date().getDate()+3)).Format("yyyy-MM-dd hh:mm:ss"),
+                done: function(value, date, endDate) {
+                    if (value) {
+                        $scope.post.timespan=value;
+                    } else {
+                        delete $scope.post.timespan;
+                    }
                 }
+              });
             });
         }
     }

+ 1 - 18
src/Masuit.MyBlogs.Core/wwwroot/ng-views/views/notice/index.html

@@ -3,23 +3,6 @@
         max-height: 800px;
         overflow-y: auto;
     }
-
-    .wicon {
-        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAASAgMAAAA1aVZ3AAAACVBMVEUAAAD///9nyrNdI4MmAAAAAXRSTlMAQObYZgAAAChJREFUCNdjWAUCCxjg9DQgtTKBAUN8aigQJGCho6KiYDSJ8ggaYR8Ao74zAKjm+cYAAAAASUVORK5CYII=");
-        background-repeat: no-repeat;
-        background-position: right center;
-    }
-
-    .workinput {
-        width: 100%;
-        line-height: 21px;
-        border: 1px #ddd solid;
-        border-radius: 4px;
-        padding: 5px;
-        background-color: transparent;
-        float: left;
-        font-size: 14px;
-    }
 </style>
 <form class="form-group" id="article-form" method="post" onsubmit="return false">
     <input type="hidden" ng-model="notice.Id">
@@ -37,7 +20,7 @@
         <div class="col-md-6">
             <div class="input-group">
                 <span class="input-group-addon">生效时间段:</span>
-                <input type="text" class="form-control workinput wicon" id="timespan" ng-model="notice.Range" readonly="readonly" />
+                <input type="text" class="form-control" id="timespan" ng-model="notice.Range" readonly="readonly"/>
             </div>
         </div>
         <div class="col-md-6">

+ 1 - 17
src/Masuit.MyBlogs.Core/wwwroot/ng-views/views/partner.html

@@ -3,22 +3,6 @@
         max-height: 800px;
         overflow-y: auto;
     }
-    .wicon {
-        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAASAgMAAAA1aVZ3AAAACVBMVEUAAAD///9nyrNdI4MmAAAAAXRSTlMAQObYZgAAAChJREFUCNdjWAUCCxjg9DQgtTKBAUN8aigQJGCho6KiYDSJ8ggaYR8Ao74zAKjm+cYAAAAASUVORK5CYII=");
-        background-repeat: no-repeat;
-        background-position: right center;
-    }
-
-    .workinput {
-        width: 100%;
-        line-height: 21px;
-        border: 1px #ddd solid;
-        border-radius: 4px;
-        padding: 5px;
-        background-color: transparent;
-        float: left;
-        font-size: 14px;
-    }
     td .xm-body {
         position: unset
     }
@@ -174,7 +158,7 @@
                 <div class="input-group">
                     <label for="desc" class="input-group-addon control-label">过期时间:</label>
                     <div class="fg-line">
-                        <input type="text" class="workinput wicon" id="timespan" ng-model="partner.ExpireTime" readonly="readonly" />
+                        <input type="text" id="timespan" ng-model="partner.ExpireTime"/>
                     </div>
                 </div>
             </div>

+ 3 - 21
src/Masuit.MyBlogs.Core/wwwroot/ng-views/views/post/writeblog.html

@@ -1,22 +1,4 @@
-<style>
-    .wicon {
-        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAASAgMAAAA1aVZ3AAAACVBMVEUAAAD///9nyrNdI4MmAAAAAXRSTlMAQObYZgAAAChJREFUCNdjWAUCCxjg9DQgtTKBAUN8aigQJGCho6KiYDSJ8ggaYR8Ao74zAKjm+cYAAAAASUVORK5CYII=");
-        background-repeat: no-repeat;
-        background-position: right center;
-    }
-
-    .workinput {
-        width: 100%;
-        line-height: 21px;
-        border: 1px #ddd solid;
-        border-radius: 4px;
-        padding: 5px;
-        background-color: transparent;
-        float: left;
-        font-size: 14px;
-    }
-</style>
-<form class="form-group" id="article-form" method="post" onsubmit="return false">
+<form class="form-group" id="article-form" method="post" onsubmit="return false">
     <input ng-model="post.Author" type="hidden">
     <input ng-model="post.Email" type="hidden">
     <div class="input-group">
@@ -138,9 +120,9 @@
         <div class="col-md-3" ng-if="post.schedule">
             <div class="input-group">
                 <span class="input-group-addon" ng-if="post.schedule">
-                    <label for="Label">定时:</label>
+                    <label for="timespan">定时:</label>
                 </span>
-                <input class="wicon workinput" id="timespan" ng-if="post.schedule" ng-model="post.timespan" readonly="readonly" type="text" />
+                <input id="timespan" class="form-control" ng-if="post.schedule" ng-model="post.timespan" readonly="readonly" type="datetime" placeholder="请选择时间"/>
             </div>
         </div>
     </div>