日照项目的居民端小程序
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.
 
 
 

304 lines
11 KiB

"use strict";
Component({
behaviors: ["wx://form-field"],
properties: {
value: {
type: String,
value: "",
},
title: {
type: String,
},
fm: {
type: String,
value: "fmData",
},
name: {
type: String,
value: "",
},
isRequired: {
type: Boolean,
},
format: {
type: String,
},
dateStart: {
type: String,
}
},
data: {},
lifetimes: {
attached: function () {
var value = this.data.value;
var date = value ? new Date(value) : new Date();
var curYear = date.getFullYear();
var curMonth = date.getMonth() + 1;
var curDay = date.getDate();
var curHour = date.getHours();
var curMinute = date.getMinutes();
var curSecond = date.getSeconds();
this.setData({
chooseYear: curYear,
});
this.initColumn(curMonth);
var showMonth = curMonth < 10 ? "0" + curMonth : curMonth;
var showDay = curDay < 10 ? "0" + curDay : curDay;
var showHour = curHour < 10 ? "0" + curHour : curHour;
var showMinute = curMinute < 10 ? "0" + curMinute : curMinute;
var showSecond = curSecond < 10 ? "0" + curSecond : curSecond;
var indexYear = this.data.years.indexOf(curYear + "");
var indexMonth = this.data.months.indexOf(showMonth + "");
var indexDay = this.data.days.indexOf(showDay + "");
var indexHour = this.data.hours.indexOf(showHour + "");
var indexMinute = this.data.minutes.indexOf(showMinute + "");
var indexSecond = this.data.seconds.indexOf(showSecond + "");
var multiIndex = [];
var multiArray = [];
var value = "";
var format = this.properties.format;
if (format == "yyyy-MM-dd") {
multiIndex = [indexYear, indexMonth, indexDay];
value = curYear + "-" + showMonth + "-" + showDay;
multiArray = [this.data.years, this.data.months, this.data.days];
}
if (format == "HH:mm:ss") {
multiIndex = [indexHour, indexMinute, indexSecond];
value = showHour + ":" + showMinute + ":" + showSecond;
multiArray = [this.data.hours, this.data.minutes, this.data.seconds];
}
if (format == "yyyy-MM-dd HH:mm") {
multiIndex = [indexYear, indexMonth, indexDay, indexHour, indexMinute];
value = curYear + "-" + showMonth + "-" + showDay + " " + showHour + ":" + showMinute;
multiArray = [
this.data.years,
this.data.months,
this.data.days,
this.data.hours,
this.data.minutes,
];
}
if (format == "yyyy-MM-dd HH:mm:ss") {
multiIndex = [
indexYear,
indexMonth,
indexDay,
indexHour,
indexMinute,
indexSecond,
];
value = curYear + "-" + showMonth + "-" + showDay + " " + showHour + ":" + showMinute + ":" + showSecond;
multiArray = [
this.data.years,
this.data.months,
this.data.days,
this.data.hours,
this.data.minutes,
this.data.seconds,
];
}
this.setData({
value: value,
multiIndex: multiIndex,
multiArray: multiArray,
curMonth: curMonth,
chooseYear: curYear,
});
},
},
methods: {
bindPickerChange: function (e) {
this.setData({
multiIndex: e.detail.value,
});
var index = this.data.multiIndex;
var format = this.properties.format;
var showTime = "";
if (format == "yyyy-MM-dd") {
var year = this.data.multiArray[0][index[0]];
var month = this.data.multiArray[1][index[1]];
var day = this.data.multiArray[2][index[2]];
showTime = year + "-" + month + "-" + day;
}
if (format == "HH:mm:ss") {
var hour = this.data.multiArray[0][index[0]];
var minute = this.data.multiArray[1][index[1]];
var second = this.data.multiArray[2][index[2]];
showTime = hour + ":" + minute + ":" + second;
}
if (format == "yyyy-MM-dd HH:mm") {
var year = this.data.multiArray[0][index[0]];
var month = this.data.multiArray[1][index[1]];
var day = this.data.multiArray[2][index[2]];
var hour = this.data.multiArray[3][index[3]];
var minute = this.data.multiArray[4][index[4]];
showTime = year + "-" + month + "-" + day + " " + hour + ":" + minute;
}
if (format == "yyyy-MM-dd HH:mm:ss") {
var year = this.data.multiArray[0][index[0]];
var month = this.data.multiArray[1][index[1]];
var day = this.data.multiArray[2][index[2]];
var hour = this.data.multiArray[3][index[3]];
var minute = this.data.multiArray[4][index[4]];
var second = this.data.multiArray[5][index[5]];
showTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
}
this.setData({
value: showTime,
});
var _a = this.data, fm = _a.fm, name = _a.name;
this.triggerEvent("select", { fm: fm, name: name, value: showTime });
},
initColumn: function (curMonth) {
var years = [];
var months = [];
var days = [];
var hours = [];
var minutes = [];
var seconds = [];
for (var i = 1990; i <= 2099; i++) {
years.push(i + "");
}
for (var i = 1; i <= 12; i++) {
if (i < 10) {
i = "0" + i;
}
months.push(i + "");
}
if (curMonth == 1 ||
curMonth == 3 ||
curMonth == 5 ||
curMonth == 7 ||
curMonth == 8 ||
curMonth == 10 ||
curMonth == 12) {
for (var i = 1; i <= 31; i++) {
if (i < 10) {
i = "0" + i;
}
days.push(i + "");
}
}
if (curMonth == 4 || curMonth == 6 || curMonth == 9 || curMonth == 11) {
for (var i = 1; i <= 30; i++) {
if (i < 10) {
i = "0" + i;
}
days.push(i + "");
}
}
if (curMonth == 2) {
days = this.setFebDays();
}
for (var i = 0; i <= 23; i++) {
if (i < 10) {
i = "0" + i;
}
hours.push(i + "");
}
for (var i = 0; i <= 59; i++) {
if (i < 10) {
i = "0" + i;
}
minutes.push(i + "");
}
for (var i = 0; i <= 59; i++) {
if (i < 10) {
i = "0" + i;
}
seconds.push(i + "");
}
this.setData({
years: years,
months: months,
days: days,
hours: hours,
minutes: minutes,
seconds: seconds,
});
},
bindPickerColumnChange: function (e) {
var _a, _b;
if (e.detail.column == 0 && this.properties.format != "HH:mm:ss") {
var chooseYear = this.data.multiArray[e.detail.column][e.detail.value];
this.setData({
chooseYear: chooseYear,
});
if (this.data.curMonth == "02" || this.data.chooseMonth == "02") {
this.setFebDays();
}
}
if (e.detail.column == 1 && this.properties.format != "HH:mm:ss") {
var num = parseInt(this.data.multiArray[e.detail.column][e.detail.value]);
var temp = [];
if (num == 1 ||
num == 3 ||
num == 5 ||
num == 7 ||
num == 8 ||
num == 10 ||
num == 12) {
for (var i = 1; i <= 31; i++) {
if (i < 10) {
i = "0" + i;
}
temp.push("" + i);
}
this.setData((_a = {},
_a["multiArray[2]"] = temp,
_a));
}
else if (num == 4 || num == 6 || num == 9 || num == 11) {
for (var i = 1; i <= 30; i++) {
if (i < 10) {
i = "0" + i;
}
temp.push("" + i);
}
this.setData((_b = {},
_b["multiArray[2]"] = temp,
_b));
}
else if (num == 2) {
this.setFebDays();
}
}
var data = {
multiArray: this.data.multiArray,
multiIndex: this.data.multiIndex,
};
data.multiIndex[e.detail.column] = e.detail.value;
this.setData(data);
},
setFebDays: function () {
var _a, _b;
var year = parseInt(this.data.chooseYear);
var temp = [];
if (year % (year % 100 ? 4 : 400) ? false : true) {
for (var i = 1; i <= 29; i++) {
if (i < 10) {
i = "0" + i;
}
temp.push("" + i);
}
this.setData((_a = {},
_a["multiArray[2]"] = temp,
_a.chooseMonth = "02",
_a));
}
else {
for (var i = 1; i <= 28; i++) {
if (i < 10) {
i = "0" + i;
}
temp.push("" + i);
}
this.setData((_b = {},
_b["multiArray[2]"] = temp,
_b.chooseMonth = "02",
_b));
}
return temp;
},
},
});