123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- import util from "../../utils/util";
- const date = new Date()
- const days = ["今天", "明天"]
- // 初始化日期
- for (var i = 2; i <= 15; i++) {
- var date1 = new Date(date);
- date1.setDate(date.getDate() + i);
- var md = (date1.getMonth() + 1) + "-" + date1.getDate();
- days.push(md);
- }
- function getDistanceSpecifiedTime(yyyy,mth,dd) {
- // 指定日期和时间
- var EndTime = new Date(yyyy,mth,dd);
- // 当前系统时间
- var NowTime = new Date();
- var NowTimeday = NowTime.getDay();
- var EndTimeday = EndTime.getDay();
- var t = EndTime.getTime() - NowTime.getTime();
- var d = Math.ceil(t / 1000 / 60 / 60 / 24);
- console.log(NowTimeday,EndTimeday);
- if(NowTimeday==EndTimeday){
- d=0;
- }else if(NowTimeday!=EndTimeday&&d==0){
- d=1
- }
- // var h = Math.floor(t / 1000 / 60 / 60 % 24);
- // var m = Math.floor(t / 1000 / 60 % 60);
- // var s = Math.floor(t / 1000 % 60);
- // var html = d + " 天" + h + " 时" + m + " 分" + s + " 秒";
- return d;
- }
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- nextOpenTime:{
- type:String,
- value:''
- }
- },
- /**
- * 组件的初始数据
- */
- data: {
- days,
- hours: [],
- minutes: [],
- minute: 2,
- hour: 8,
- day: 2,
- multiIndex: [0, 0, 0],
-
- },
- attached() {
- this.loadTime("today",0);
- if(this.data.nextOpenTime){
- let nextHour=this.data.nextOpenTime.substring(8,10);
- let nextMin=this.data.nextOpenTime.substring(10,12);
- var day = getDistanceSpecifiedTime(this.data.nextOpenTime.substring(0,4),this.data.nextOpenTime.substring(4,6)-1,this.data.nextOpenTime.substring(6,8));
- if(day == 0){
- let currentHours = date.getHours();
- let currentMinute = date.getMinutes();
- this.setData({multiIndex:[0,nextHour - currentHours,currentMinute-nextMin]})
- }else if(day == 1){
- this.loadTime();
- this.setData({multiIndex:[1,Number(nextHour),Number(nextMin)]});
- }else{
- console.log(day,"day")
- this.loadTime();
- this.setData({multiIndex:[day,nextHour,nextMin]});
- }
- }
- console.log(this.data.multiIndex);
-
- },
- /**
- * 组件的方法列表
- */
- methods: {
- bindChange(e) {
- const val = e.detail.value;
- console.log(e)
- if (val[0] !== 0) {
- this.loadTime();
- }else{
- this.loadTime("today",e.detail.value[1]);
- }
- this.setData({
- day: this.data.days[val[0]],
- hour: this.data.hours[val[1]],
- minute: this.data.minutes[val[2]]
- })
- this.sendDate();
- },
- fillZore(value){
- if(value<10){
- value = 0+value
- }
- return value
- },
- // 发送数据
- sendDate(){
- var monthDay=this.data.day;
- var dayHour=this.data.hour;
- var dayMinute=this.data.minute;
- var monthDaystring='2020';
- if ( monthDay=== "今天") {
- var month = date.getMonth() + 1;
- var day = date.getDate();
- monthDaystring=monthDaystring+util.PrefixZero(month)+util.PrefixZero(day)+util.PrefixZero(dayHour)+util.PrefixZero(dayMinute);
- monthDay = monthDay + dayHour +':'+dayMinute;
- } else if (monthDay === "明天") {
- var date1 = new Date(date);
- date1.setDate(date.getDate() + 1);
- monthDaystring=monthDaystring+util.PrefixZero(date1.getMonth() + 1)+util.PrefixZero(date1.getDate())+util.PrefixZero(dayHour)+util.PrefixZero(dayMinute);
- monthDay = monthDay + dayHour +':'+dayMinute;
- } else {
- var month = monthDay.split("-")[0]; // 返回月
- var day = monthDay.split("-")[1]; // 返回日
- monthDaystring=monthDaystring+util.PrefixZero(month)+util.PrefixZero(day)+util.PrefixZero(dayHour)+util.PrefixZero(dayMinute);
- monthDay = month + "月" + day + "日"+ dayHour +':'+dayMinute;
- }
- monthDaystring=monthDaystring+'00';
- this.triggerEvent('timeChange', {monthDay,monthDaystring});
- },
- loadTime(value,now) {
- let hours=[];
- let minutes=[];
- var startHours = 0;
- var startMinute = 0;
- if(value==="today"){
- var currentHours = date.getHours();
- var currentMinute = date.getMinutes();
- startHours=currentHours;
- startMinute=now===0?currentMinute:0;
- }
- // 初始化小时
- for (let i = startHours; i <= 23; i++) {
- if (i < 10) {
- hours.push('0' + i)
- } else {
- hours.push(i)
- }
- }
- // 初始化分钟
- for (let i = startMinute; i <= 59; i++) {
- if (i < 10) {
- minutes.push('0' + i)
- } else {
- minutes.push(i)
- }
- }
- var data={
- hours:hours,
- minutes:minutes,
- }
- this.setData(data)
- },
- }
- })
|