// pages/repairTicketDetail/repairTicketDetail.js
|
var util = require('../../utils/network');
|
const DatePickerUtil = require('../../utils/DatePicker.js')
|
Page({
|
|
/**
|
* 页面的初始数据
|
*/
|
data: {
|
showType: false,
|
selectType: ' 请选择',
|
columns: ['请选择', '漏水', '制水时间过长', '其它'],
|
showDate: false,
|
selectDate: '',
|
show:'none',
|
info:'',
|
|
time:'选择预约时间',
|
multiArray:[],//piker的item项
|
multiIndex:[],//当前选择列的下标
|
year:'',//选择的年
|
month:'',//选择的月
|
day:'',//选择的日
|
hour:'',//选择的时
|
minute:'',//选择的分
|
},
|
openShowType() {
|
this.setData({
|
showType: true
|
})
|
},
|
onChangeType(event) {
|
const { picker, value, index } = event.detail;
|
this.setData({
|
selectType: value,
|
showType: false
|
})
|
},
|
closeType(){
|
this.setData({
|
showType: false
|
})
|
},
|
openShowDate(){
|
this.setData({
|
showDate: true
|
})
|
},
|
|
|
bindMultiPickerChange: function(e) { //时间日期picker选择改变后,点击确定
|
// console.log('picker发送选择改变,携带值为', e.detail.value)
|
this.setData({
|
multiIndex: e.detail.value
|
})
|
const index = this.data.multiIndex; // 当前选择列的下标
|
const year = this.data.multiArray[0][index[0]];
|
const month = this.data.multiArray[1][index[1]];
|
const day = this.data.multiArray[2][index[2]];
|
const hour = this.data.multiArray[3][index[3]];
|
const minute = this.data.multiArray[4][index[4]];
|
// console.log(`${year}-${month}-${day} ${hour}:${minute}`);
|
|
this.setData({
|
time: (year+ month+ day + ' ' + hour.replace('时','')+':'+minute.replace('分','')).replace('年','-').replace('月','-').replace('日',''),
|
year:year, //记录选择的年
|
month:month, //记录选择的月
|
day:day, //记录选择的日
|
hour:hour, //记录选择的时
|
minute:minute, //记录选择的分
|
})
|
console.log(this.data.time);
|
},
|
bindMultiPickerColumnChange: function(e) { //监听picker的滚动事件
|
|
// console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
|
|
let getCurrentDate = DatePickerUtil.getCurrentDate();//获取现在时间
|
let currentYear = parseInt(getCurrentDate.substring(0,4));
|
let currentMonth = parseInt(getCurrentDate.substring(5,7));
|
let currentDay = parseInt(getCurrentDate.substring(8,10));
|
let currentHour = parseInt(getCurrentDate.substring(11,13));
|
let currentMinute = parseInt(getCurrentDate.substring(14,16));
|
|
if (e.detail.column == 0) {//修改年份列
|
|
let yearSelected = parseInt(this.data.multiArray[e.detail.column][e.detail.value]);//当前选择的年份
|
|
this.setData({
|
multiIndex:[0,0,0,0,0] ,//设置pickerIndex
|
year:yearSelected //当前选择的年份
|
});
|
|
if(yearSelected == currentYear){//当前选择的年份==当前年份
|
var loadPickerData=DatePickerUtil.loadPickerData();
|
|
this.setData({
|
multiArray:loadPickerData,//picker数组赋值
|
multiIndex:[0,0,0,0,0] //设置pickerIndex
|
});
|
|
}else{ // 选择的年份!=当前年份
|
|
// 处理月份
|
let monthArr=DatePickerUtil.loadMonths(1,12)
|
// 处理日期
|
let dayArr=DatePickerUtil.loadDays(currentYear,currentMonth,1)
|
// 处理hour
|
let hourArr=DatePickerUtil.loadHours(0,24);
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(0,60)
|
|
// 给每列赋值回去
|
this.setData({
|
['multiArray[1]']: monthArr,
|
['multiArray[2]']: dayArr,
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}
|
if (e.detail.column == 1) {//修改月份列
|
let mon = parseInt(this.data.multiArray[e.detail.column][e.detail.value]); //当前选择的月份
|
this.setData({
|
month:mon // 记录当前列
|
})
|
|
if(mon==currentMonth){//选择的月份==当前月份
|
if(this.data.year==currentYear){
|
|
// 处理日期
|
let dayArr=DatePickerUtil.loadDays(currentYear,mon,currentDay)
|
// 处理hour
|
let hourArr=DatePickerUtil.loadHours(currentHour,24);
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(currentMinute,60)
|
|
this.setData({
|
['multiArray[2]']:dayArr,
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
})
|
}else{
|
// 处理日期
|
let dayArr=DatePickerUtil.loadDays(currentYear,mon,1)
|
// 处理hour
|
let hourArr=DatePickerUtil.loadHours(0,24);
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(0,60)
|
|
this.setData({
|
['multiArray[2]']:dayArr,
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}else{ // 选择的月份!=当前月份
|
// 处理日期
|
let dayArr = DatePickerUtil.loadDays(currentYear,mon,1) // 传入当前年份,当前选择的月份去计算日
|
// 处理hour
|
let hourArr = DatePickerUtil.loadHours(0,24);
|
// 处理minute
|
let minuteArr = DatePickerUtil.loadMinutes(0,60)
|
|
this.setData({
|
['multiArray[2]']:dayArr,
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}
|
if(e.detail.column == 2) {//修改日
|
let dd = parseInt(this.data.multiArray[e.detail.column][e.detail.value]);//当前选择的日
|
this.setData({
|
day:dd
|
})
|
if(dd==currentDay){//选择的日==当前日
|
if(this.data.year==currentYear&&this.data.month==currentMonth){//选择的是今天
|
|
// 处理hour
|
let hourArr=DatePickerUtil.loadHours(currentHour,24);
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(currentMinute,60)
|
|
this.setData({
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
});
|
|
}else{ //选择的不是今天
|
// 处理hour
|
let hourArr=DatePickerUtil.loadHours(0,24);
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(0,60)
|
|
this.setData({
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}else{ // 选择的日!=当前日
|
// 处理hour
|
let hourArr=DatePickerUtil.loadHours(0,24);
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(0,60)
|
|
this.setData({
|
['multiArray[3]']: hourArr,
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}
|
if(e.detail.column == 3) {//修改时
|
let hh = parseInt(this.data.multiArray[e.detail.column][e.detail.value]); //当前选择的时
|
this.setData({
|
hour:hh
|
})
|
if(hh==currentHour){//选择的时==当前时
|
if(this.data.year==currentYear&&this.data.month==currentMonth&&this.data.month==currentMonth){ // 选择的是今天
|
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(currentMinute,60)
|
this.setData({
|
['multiArray[4]']: minuteArr
|
});
|
}else{ // 选择的不是今天
|
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(0,60)
|
this.setData({
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}else{//选择的时!=当前时
|
// 处理minute
|
let minuteArr=DatePickerUtil.loadMinutes(0,60)
|
this.setData({
|
['multiArray[4]']: minuteArr
|
});
|
}
|
}
|
var data = {
|
multiArray: this.data.multiArray,
|
multiIndex: this.data.multiIndex
|
};
|
|
// console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
|
data.multiIndex[e.detail.column] = e.detail.value; //将值赋回去
|
|
this.setData(data); //将值赋回去
|
},
|
|
|
|
/**
|
* 生命周期函数--监听页面加载
|
*/
|
onLoad(options) {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面初次渲染完成
|
*/
|
onReady() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面显示
|
*/
|
onShow() {
|
var loadPickerData=DatePickerUtil.loadPickerData()
|
var getCurrentDate=DatePickerUtil.getCurrentDate()
|
var GetMultiIndex=DatePickerUtil.GetMultiIndex()
|
|
//这里写的是为了记录当前时间
|
let year=parseInt(getCurrentDate.substring(0,4));
|
let month=parseInt(getCurrentDate.substring(5,7));
|
let day=parseInt(getCurrentDate.substring(8,10));
|
let hour=parseInt(getCurrentDate.substring(11,13));
|
let minute=parseInt(getCurrentDate.substring(14,16));
|
this.setData({
|
multiArray:loadPickerData,//picker数组赋值,格式 [years, months, days, hours, minutes]
|
multiIndex:GetMultiIndex,//设置pickerIndex,[0,0,0,0,0]
|
time:getCurrentDate.replace('年','-').replace('月','-').replace('日',' '), //设置当前时间 ,currentYears+'-'+mm+'-'+dd+' '+hh+':'+min
|
year:year,//记录选择的年
|
month:month,//记录选择的月
|
day:day,//记录选择的日
|
hour:hour,//记录选择的时
|
minute:minute,//记录选择的分
|
});
|
},
|
/**
|
* 生命周期函数--监听页面隐藏
|
*/
|
onHide() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面卸载
|
*/
|
onUnload() {
|
|
},
|
|
/**
|
* 页面相关事件处理函数--监听用户下拉动作
|
*/
|
onPullDownRefresh() {
|
|
},
|
|
/**
|
* 页面上拉触底事件的处理函数
|
*/
|
onReachBottom() {
|
|
},
|
|
/**
|
* 用户点击右上角分享
|
*/
|
onShareAppMessage() {
|
|
}
|
})
|