//生成某个时间段内每半小时为间隔的时间数组 function createHourList(openTime, closeTime, price) { let openHour = parseInt(openTime.split(':')[0]); let openMin = parseInt(openTime.split(':')[1]); let closeHour = parseInt(closeTime.split(':')[0]); let closeMin = parseInt(closeTime.split(':')[1]); let openDate = new Date().setHours(openHour, openMin); let closeDate = new Date().setHours(closeHour, closeMin); var dateList = []; while (closeDate >= openDate) { var hour = new Date(closeDate).getHours() < 10 ? '0' + new Date(closeDate).getHours() : new Date(closeDate).getHours(); var minute = new Date(closeDate).getMinutes() < 30 ? '00' : '30'; dateList.unshift({ time: hour + ':' + minute, price: price }); closeDate -= 30 * 60 * 1000 } dateList.pop() return dateList; } //判断产品是否过时间 function checkedTime(list) { // 设置一小时内订单不能购买 var timeLimit = 1; var nowTime = new Date(); var hour = nowTime.getHours(); var checkList = []; // console.log(tabs[5].list) list.forEach(function (item, i, array) { var orderHour = parseInt(item.time.split(":")[0]); var orderMin = parseInt(item.time.split(':')[1]); if (orderHour < parseInt(hour)) { item.inTime = false; } if (orderHour == parseInt(hour) && orderMin < 30) { item.inTime = false; } checkList.push(item) }) return checkList; } //生成预约界面的时间列表 function createTimeList(openTime, closeTime, days, price) { let tabs = [] days.forEach((item, i, array) => { tabs.push({ title: item, list: [] }); }) console.log('----------------') tabs[0].title = "今天"; tabs[1].title = "明天"; tabs.forEach((item, index, array) => { let timeList = createHourList(openTime, closeTime, price); let list = item.list timeList.forEach((time, i, array) => { list.push(time) }) }) console.log(tabs) tabs.forEach((item, index, array) => { item.list.forEach((listitem, i, listArray) => { //时间id listitem.timeId = i //是否处于可用时间内 listitem.inTime = true; //是否被选中 listitem.checked = false; }) }) var nowTimeList = checkedTime(tabs[0].list); tabs[0].list = nowTimeList; return tabs; } module.exports = { createTimeList: createTimeList, }