You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
4.1 KiB
148 lines
4.1 KiB
"use strict";
|
|
var date = new Date();
|
|
var years = [];
|
|
var months = [];
|
|
var days = [];
|
|
var hours = [];
|
|
var minutes = [];
|
|
for (var i = date.getFullYear(); i > (date.getFullYear() - 3); i--) {
|
|
years.push(i + "年");
|
|
}
|
|
for (var i = 1; i <= 12; i++) {
|
|
months.push(i + "月");
|
|
}
|
|
for (var i = 1; i <= 31; i++) {
|
|
days.push(i + "日");
|
|
}
|
|
for (var i = 0; i <= 23; i++) {
|
|
hours.push(i + "");
|
|
}
|
|
for (var i = 0; i <= 59; i++) {
|
|
minutes.push(i + "");
|
|
}
|
|
var mGetDate = function (year, month) {
|
|
var d = new Date(year, month, 0);
|
|
return d.getDate();
|
|
};
|
|
var getDate = function (year, month, day, hour, minute) {
|
|
var newyear = year.substr(0, year.length - 1);
|
|
var setmonth = month.substr(0, month.length - 1);
|
|
var newmonth = setmonth < 10 ? '0' + setmonth : setmonth;
|
|
var setday = day.substr(0, day.length - 1);
|
|
var newday = setday < 10 ? '0' + setday : setday;
|
|
var newhour = hour < 10 ? '0' + hour : hour;
|
|
var newminute = minute < 10 ? '0' + minute : minute;
|
|
return newyear + '-' + newmonth + '-' + newday + ' ' + newhour + ":" + newminute + ":00";
|
|
};
|
|
var getInitDate = function (initTime) {
|
|
var t = initTime.split(' ');
|
|
var date = t[0].split('-');
|
|
var time = t[1].split(':');
|
|
var y = 0;
|
|
var m = 0;
|
|
var d = 0;
|
|
var h = 0;
|
|
var M = 0;
|
|
years.forEach(function (item, index) {
|
|
if (item == (date[0] + '年')) {
|
|
y = index;
|
|
}
|
|
});
|
|
months.forEach(function (item, index) {
|
|
if (item == (parseInt(date[1]) + '月')) {
|
|
m = index;
|
|
}
|
|
});
|
|
days.forEach(function (item, index) {
|
|
if (item == (parseInt(date[2]) + '日')) {
|
|
d = index;
|
|
}
|
|
});
|
|
hours.forEach(function (item, index) {
|
|
if (item == parseInt(time[0])) {
|
|
h = index;
|
|
}
|
|
});
|
|
minutes.forEach(function (item, index) {
|
|
if (item == parseInt(time[1])) {
|
|
M = index;
|
|
}
|
|
});
|
|
return [y, m, d, h, M];
|
|
};
|
|
Component({
|
|
properties: {
|
|
initTime: {
|
|
type: String,
|
|
observer: function (newTime) {
|
|
this.data.timevalue = getInitDate(newTime);
|
|
this.setData({
|
|
timevalue: this.data.timevalue
|
|
});
|
|
}
|
|
}
|
|
},
|
|
observers: {},
|
|
data: {
|
|
timevalue: [],
|
|
years: years,
|
|
months: months,
|
|
days: days,
|
|
hours: hours,
|
|
minutes: minutes,
|
|
year: '',
|
|
month: '',
|
|
day: '',
|
|
hour: '',
|
|
minute: ''
|
|
},
|
|
lifetimes: {
|
|
attached: function () {
|
|
var year = this.data.years[0];
|
|
var month = this.data.months[0];
|
|
var day = this.data.days[0];
|
|
var hour = this.data.hours[0];
|
|
var minute = this.data.minutes[0];
|
|
this.setData({
|
|
year: year,
|
|
month: month,
|
|
day: day,
|
|
hour: hour,
|
|
minute: minute,
|
|
});
|
|
},
|
|
detached: function () {
|
|
},
|
|
},
|
|
methods: {
|
|
cancel: function () {
|
|
this.triggerEvent("cancel");
|
|
},
|
|
confirm: function () {
|
|
var _a = this.data, year = _a.year, month = _a.month, day = _a.day, hour = _a.hour, minute = _a.minute;
|
|
var time = getDate(year, month, day, hour, minute);
|
|
this.triggerEvent("confirm", { time: time });
|
|
},
|
|
fnbindChange: function (e) {
|
|
var val = e.detail.value;
|
|
var year = this.data.years[val[0]];
|
|
var month = this.data.months[val[1]];
|
|
var day = this.data.days[val[2]];
|
|
var hour = this.data.hours[val[3]];
|
|
var minute = this.data.minutes[val[4]];
|
|
var days = [];
|
|
var daynum = mGetDate(year.substr(0, year.length - 1), month.substr(0, month.length - 1));
|
|
for (var i = 1; i <= daynum; i++) {
|
|
days.push(i + "日");
|
|
}
|
|
this.setData({
|
|
days: days,
|
|
year: year,
|
|
month: month,
|
|
day: day,
|
|
hour: hour,
|
|
minute: minute,
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|