'use script'; //开发环境建议开启严格模式 function getDefaultDateMinLocal() { var date = new Date; date.setMinutes(date.getMinutes() - 45) var year = date.getFullYear(); //年 var month = date.getMonth(); //月 var day = date.getDate(); //日 var hours = date.getHours(); //时 var min = date.getMinutes(); //分 if(min >= 0 && min < 15){ min = 0 }else if(min >=15 && min < 30){ min = 15 }else if(min >=30 && min < 45){ min = 30 }else{ min = 45 } return year + "-" + ((month + 1) > 9 ? (month + 1) : "0" + (month + 1)) + "-" + (day > 9 ? day : ("0" + day)) + " " + (hours > 9 ? hours : ("0" + hours)) + ":" + (min > 9 ? min : ("0" + min)) + ":00"; } function getDefaultDateTimeLocal() { var date = new Date; date.setHours(date.getHours() - 2); var year = date.getFullYear();//年 var month = date.getMonth();//月 var day = date.getDate();//日 var hours = date.getHours();//时 return year + "-" + ((month + 1) > 9 ? (month + 1) : "0" + (month + 1)) + "-" + (day > 9 ? day : ("0" + day)) + " " + (hours > 9 ? hours : ("0" + hours)) + ":00:00"; } function getDefaultDateLocal() { var date = new Date; date.setDate(date.getDate() - 1); var year = date.getFullYear();//年 var month = date.getMonth();//月 var day = date.getDate();//日 var hours = date.getHours();//时 return year + "-" + ((month + 1) > 9 ? (month + 1) : "0" + (month + 1)) + "-" + (day > 9 ? day : ("0" + day)) + " 00:00:00"; } function applyDateType() { var dateType = $('input[type=radio][name=datatype]').val(); return dateType; } function getAppDateTime() { return $('#appDate').val(); } (function (window, mars3d) { //创建widget类,需要继承BaseWidget class MyWidget extends mars3d.widget.BaseWidget { //外部资源配置 get resources() { return ['view.css'] } //页面配置, append是添加DOM节点到html中的方式 get view() { return { type: 'append', url: 'view.html', parent: "#centerDiv" } } //初始化[仅执行1次] create() { this.defaultDate = getDefaultDateLocal(); this.defaultDateTime = getDefaultDateTimeLocal(); this.defaultDateMin = getDefaultDateMinLocal(); } //每个窗口创建完成后调用 winCreateOK(opt, result) { //此处可以绑定页面dom事件 $('input[type=radio][name=datatype]').change(function () { let value = $("input[type=radio][name=datatype]:checked").val() if (value == 'hour') { $('#current').text("小时:"); $('#appDate').hide() $('#appDateMin').hide() $('#appDateHour').show() var tmpDatetime = $('#appDateHour').val(); tmpDatetime = tmpDatetime.replace(/\:/g,"").replace(/-/g,"").replace(/\s+/g,""); mars3d.global_variables.queryDataTStart = $('#appDateHour').val(); mars3d.global_variables.queryDataTEnd = $('#appDateHour').val().substring(0,14)+"15:00"; mars3d.global_variables.DefaultDateTimeStart = $('#appDateHour').val().substring(0,11)+"00:00:00"; mars3d.global_variables.queryDataTStartGeo = tmpDatetime; mars3d.global_variables.queryDataType = value; mars3d.global_variables.timetype = "hour"; reLoadLayers(); refreshWidgets(); timetype_change1(); timetype_change2(); timetype_change3(); timetype_change4(); }else if (value == 'day') { $('#current').text("天:"); $('#appDateMin').hide() $('#appDateHour').hide() $('#appDate').show() var tmpDatetime = $('#appDate').val() + " 00:00:00"; tmpDatetime = tmpDatetime.replace(/\:/g,"").replace(/-/g,"").replace(/\s+/g,""); mars3d.global_variables.queryDataTStart = $('#appDate').val() + " 00:00:00"; mars3d.global_variables.queryDataTEnd = $('#appDate').val()+ " 00:15:00"; mars3d.global_variables.DefaultDateTimeStart = $('#appDate').val().substring(0,8)+"01 00:00:00"; mars3d.global_variables.queryDataTStartGeo = tmpDatetime; mars3d.global_variables.queryDataType = value; mars3d.global_variables.timetype = "day"; reLoadLayers(); refreshWidgets(); timetype_change1(); timetype_change2(); timetype_change3(); timetype_change4(); }else if(value = 'min'){ $('#current').text("15分钟(车辆):"); $('#appDate').hide() $('#appDateHour').hide() $('#appDateMin').show() // mars3d.global_variables.queryDataTStart = $('#appDateMin').val(); mars3d.global_variables.queryDataTStartTaxi = $('#appDateMin').val(); mars3d.global_variables.queryDataTEnd = $('#appDateMin').val().substring(0,14) + (Number($('#appDateMin').val().substring(14,16)) + 14).toString() +":59"; mars3d.global_variables.DefaultDateTimeStart = $('#appDateMin').val().substring(0,11)+"00:00:00"; mars3d.global_variables.timetype = "min"; taxi_reLoadLayers(); timetype_change1(); timetype_change2(); timetype_change3(); timetype_change4(); // refreshWidgets(); } }); $("#appDate").datetimepicker({ bootcssVer: 3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头 format: 'yyyy-mm-dd', minView: 'month',//设置时间选择为年月日 去掉时分秒选择 todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。 clearBtn: true, language: 'zh-CN', autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。 keyboardNavigation: true, //是否允许通过方向键改变日期。 forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。 initialDate: new Date(), todayHighlight: 1 //如果为true, 高亮当前日期 }).on("changeDate", function () { var tmpDatetime = $('#appDate').val() + " 00:00:00"; tmpDatetime = tmpDatetime.replace(/\:/g,"").replace(/-/g,"").replace(/\s+/g,""); mars3d.global_variables.queryDataTStart = $('#appDate').val() + " 00:00:00"; // mars3d.global_variables.queryDataTEnd = $('#appDate').val()+ " 00:15:00"; mars3d.global_variables.DefaultDateTimeStart = $('#appDate').val().substring(0,8)+"01 00:00:00"; mars3d.global_variables.queryDataTStartGeo = tmpDatetime; mars3d.global_variables.queryDataType = "day"; reLoadLayers(); refreshWidgets(); }); $("#appDate").datetimepicker("setDate", new Date(this.defaultDate)); $("#appDate").datetimepicker("setEndDate", new Date(this.defaultDate)); $("#appDateHour").datetimepicker({ bootcssVer: 3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头 format: 'yyyy-mm-dd hh:00:00', minView: 'day',//设置时间选择为年月日 去掉时分秒选择 todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。 clearBtn: true, language: 'zh-CN', autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。 keyboardNavigation: true, //是否允许通过方向键改变日期。 forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。 initialDate: new Date(), todayHighlight: 1 //如果为true, 高亮当前日期 }).on("changeDate", function () { var tmpDatetime = $('#appDateHour').val(); tmpDatetime = tmpDatetime.replace(/\:/g,"").replace(/-/g,"").replace(/\s+/g,""); mars3d.global_variables.queryDataTStart = $('#appDateHour').val(); // mars3d.global_variables.queryDataTEnd = $('#appDateHour').val().substring(0,14)+"15:00"; mars3d.global_variables.DefaultDateTimeStart = $('#appDateHour').val().substring(0,11)+"00:00:00"; mars3d.global_variables.queryDataTStartGeo = tmpDatetime; mars3d.global_variables.queryDataType = "hour"; reLoadLayers(); refreshWidgets(); }); $("#appDateHour").datetimepicker("setDate", new Date(this.defaultDateTime)); $('#appDateHour').datetimepicker('setEndDate', new Date(this.defaultDateTime)); $("#appDateMin").datetimepicker({ bootcssVer: 3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头 format: 'yyyy-mm-dd hh:ii:00', minView: 'hour',//设置时间选择为年月日 去掉分秒选择 todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。 clearBtn: true, language: 'zh-CN', autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。 keyboardNavigation: true, //是否允许通过方向键改变日期。 forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。 initialDate: new Date(), todayHighlight: 1, //如果为true, 高亮当前日期 2022-01-04 06:30:00 minuteStep:15 }).on("changeDate", function () { mars3d.global_variables.queryDataTStartTaxi = $('#appDateMin').val(); console.log(mars3d.global_variables.queryDataTStartTaxi) mars3d.global_variables.queryDataTEnd = $('#appDateMin').val().substring(0,14) + (Number($('#appDateMin').val().substring(14,16)) + 14).toString() +":59"; mars3d.global_variables.DefaultDateTimeStart = $('#appDateMin').val().substring(0,11)+"00:00:00"; taxi_reLoadLayers(); }); $("#appDateMin").datetimepicker("setDate", new Date(this.defaultDateMin)); $('#appDateMin').datetimepicker('setEndDate', new Date(this.defaultDateMin)); } //激活插件 activate() { } //释放插件 disable() { //toastr.info('释放插件_example_append') } } //注册到widget管理器中。 mars3d.widget.bindClass(MyWidget) //每个widet之间都是直接引入到index.html中,会存在彼此命名冲突,所以闭包处理下。 })(window, mars3d)