1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //生成某个时间段内每半小时为间隔的时间数组
- 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('2020-12-27 14:02:00');
- 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,
- }
|