加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

timepicker与flexigrid

发布时间:2020-12-15 03:40:09 所属栏目:百科 来源:网络整理
导读:先看效果图: 点击页面上任一个输入框会出现日期和时间选项, 底下图为flexigrid表格展示. errorReportPage.js主要负责加载需要的模块, 代码如下: /*global window,document */require.config({ paths: {"jquery": "../thirdParty/jquery-1.8.0.min","aja

先看效果图:

 


点击页面上任一个输入框会出现日期和时间选项, 底下图为flexigrid表格展示.

errorReportPage.js主要负责加载需要的模块, 代码如下:

/*global window,document */
require.config({
    paths: {
	"jquery": "../thirdParty/jquery-1.8.0.min","ajaxUtility": "./ajaxUtility","jquery.artDialog": "../../plugin/artDialog4.1.6/jquery.artDialog","jquery.sha256": "../thirdParty/jquery.sha256","validate": "../../plugin/jquery-validation-1.9.0/jquery.validate.min","flexigrid": "../../plugin/flexigrid-1.1/js/flexigrid","flexigrid.pack": "../../plugin/flexigrid-1.1/js/flexigrid.pack","pageTable": "./pageTable","dialog": "./dialog"
    },shim: {
	"jquery.artDialog": {
	    deps: ["jquery"],exports: "artDialog"
	},"validate": {
	    deps: ["jquery"],exports: "validate"
	},"flexigrid": {
	    deps: ["jquery"]
	},"flexigrid.pack": {
	    deps: ["jquery"]
	},"jquery.sha256": {
	    deps: ["jquery"]
	}
    }

});


define(["jquery","ajaxUtility","dialog","jqueryTool","validate","error","pageTable"],function ($,ajaxUtility,dialog,jqueryTool,validate,error,pageTable) {
	   'use strict';
	   $(document).ready(function () {
	       var locale = "en_US";
	       ajaxUtility.init(locale);
	       dialog.init(locale);
	       error.init(ajaxUtility,locale,pageTable);
	   });
       });


timepickerConfig.js主要是让timePicker插件支持中文,代码为:

define(["jquery","jquery.ui"],function ($) {
    'use strict';
    return {
	init: function (locale) {
	    if (locale === "cn") {
		var j = {
		    clearText: '清除',clearStatus: '清除已选日期',closeText: '关闭',closeStatus: '不改变当前选择',prevText: '<上月',prevStatus: '显示上月',prevBigText: '<<',prevBigStatus: '显示上一年',nextText: '下月>',nextStatus: '显示下月',nextBigText: '>>',nextBigStatus: '显示下一年',currentStatus: '显示本月',monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],monthNamesShort: ['一','二','三','四','五','六','七','八','九','十','十一','十二'],monthStatus: '选择月份',yearStatus: '选择年份',weekHeader: '周',weekStatus: '年内周次',dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],dayNamesMin: ['日','一','六'],dayStatus: '设置 DD 为一周起始',dateStatus: '选择 m月 d日,DD',dateFormat: 'yy-mm-dd',firstDay: 1,initStatus: '请选择日期',currentText: '现在',isRTL: false,timeText: '时间',hourText: '小时',minuteText: '分钟'
		};
		
		$.timepicker.setDefaults(j);
	    }
	}
    };
});

errorReport.js是主要实现,代码为:

/*global window,document,alert,jQuery,$ */

define(["jquery","jquery.sha256"],function ($) {
	   'use strict';

	   return {
	       language: "",afterLoadPageErrorType: function (self,data) {
		   var v,d1,d2,errors,total;
		   if (data.status === 0) {
		       total = JSON.stringify(data.value.total);
		       $("#total").html("总数:" + total);
		       d1 = self.convertErrorType(data.value);
		       d2 = self.convertVersion(data.value);
		       self.table1.setData(jQuery.parseJSON(d1));
		       self.table2.setData(jQuery.parseJSON(d2));
		   } else {
		       if (self.locale === "cn") {
			   self.artDialog.error('加载数据失败:' + data.message);
		       } else {
			   self.dialog.error('Failed to load data:' + data.res.message);
		       }
		   }
	       },configTableErrorType: function () {
		   var cfg,ob = this;
		   cfg = {
		       dataType: 'json',width: 'auto',height: 'auto',autoload: true,colModel : [
			   {display: '错误类型',name: 'errorType',width: '240',sortable: true,align: 'left'},{display: '个数',name: 'number',align: 'left'}
		       ]
		   };
		   ob.table1.setup("errorTypeTable",cfg,ob.locale,null,ob);
	       },configTableVersion: function () {
		   var cfg,colModel : [
			   {display: '版本号',name: 'version',align: 'left'}
		       ]
		   };
		   ob.table2.setup("versionTable",buildCellErrorType: function (errorType) {
		   var template,errorType_str;
		   template = "{"cell":["{0}","{1}"]}";
		   errorType_str = JSON.stringify(errorType);
		   errorType_str = errorType_str.replace(/"/g,""");
		   return jQuery.validator.format(template,errorType.error_type,errorType.count);
	       },buildCellVersion: function (version) {
		   var template,version_str;
		   template = "{"cell":["{0}","{1}"]}";
		   version_str = JSON.stringify(version);
		   version_str = version_str.replace(/"/g,version.version,version.count);
	       },convertErrorType : function (data) {
		   var es,i,str,s1,s2,length,r;
		   es = data.error_type;
		   length = es.length;
		   r = "{"page": 1,"total": 40,"rows":[";
		   for (i = 0; i < length; (i += 1)) {
		       str = this.buildCellErrorType(es[i]);
		       r += str;
		       if (i !== (length - 1)) {
			   r += ",";
		       }
		   }
		   r += "]}";
		   return r;
	       },convertVersion : function (data) {
		   var es,r;
		   es = data.version;
		   length = es.length;
		   r = "{"page": 1,"rows":[";
		   for (i = 0; i < length; (i += 1)) {
		       str = this.buildCellVersion(es[i]);
		       r += str;
		       if (i !== (length - 1)) {
			   r += ",queryData: function() {
		   var data = {
		       start_time: this.t1,end_time: this.t2,};
		   this.ajaxUtility.post("api/error_report",true,data,this.afterLoadPageErrorType,this);			     
	       },checkFilters: function () {
		   this.t1 = $("#date1").datetimepicker("getDate").getTime(); 
		   this.t2 = $("#date2").datetimepicker("getDate").getTime(); 
		   if (this.t1 > this.t2) {
		       this.dialog.error("The first date is later than second");
		       return;
		   }
	       },onChangeDate: function(self,dateText,inst) {
		   self.checkFilters();
		   self.queryData();	    
	       },init: function (ajaxUtility,table1,table2) {
		   this.ajaxUtility = ajaxUtility;
		   this.dialog = dialog;
		   this.jqueryTool = jqueryTool;
		   this.locale = locale;
		   this.table1 = table1;
		   this.table2 = table2;
		   this.configTableErrorType();
                   this.configTableVersion();
		   var self = this;
		   $("#date1").datetimepicker({
		       onClose: (function(ob) {
			   return function (dateText,inst) {
			       self.onChangeDate(ob,inst);
			   }
		       }(self))
		   });
		   $("#date2").datetimepicker({
		       onClose: (function(ob) {
			   return function (dateText,inst);
			   }
		       }(self))
		   });

		   var t2 = new Date();
		   var h = t2.getHours();
		   if (h < 23) {
		       t2.setHours(h);
		   }
		   var t1 = new Date();
		   t1.setHours(0);
		   t1.setMinutes(0);
		   t1.setSeconds(0);
		   $("#date1").datetimepicker("setDate",t1);
		   $("#date2").datetimepicker("setDate",t2);
	       }
	   };
       });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读