date.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //生成某个时间段内每半小时为间隔的时间数组
  2. function createHourList(openTime, closeTime, price) {
  3. let openHour = parseInt(openTime.split(':')[0]);
  4. let openMin = parseInt(openTime.split(':')[1]);
  5. let closeHour = parseInt(closeTime.split(':')[0]);
  6. let closeMin = parseInt(closeTime.split(':')[1]);
  7. let openDate = new Date().setHours(openHour, openMin);
  8. let closeDate = new Date().setHours(closeHour, closeMin);
  9. var dateList = [];
  10. while (closeDate >= openDate) {
  11. var hour = new Date(closeDate).getHours() < 10 ? '0' + new Date(closeDate).getHours() : new Date(closeDate).getHours();
  12. var minute = new Date(closeDate).getMinutes() < 30 ? '00' : '30';
  13. dateList.unshift({
  14. time: hour + ':' + minute,
  15. price: price
  16. });
  17. closeDate -= 30 * 60 * 1000
  18. }
  19. dateList.pop()
  20. return dateList;
  21. }
  22. //判断产品是否过时间
  23. function checkedTime(list) {
  24. // 设置一小时内订单不能购买
  25. var timeLimit = 1;
  26. var nowTime = new Date('2020-12-27 14:02:00');
  27. var hour = nowTime.getHours();
  28. var checkList = [];
  29. // console.log(tabs[5].list)
  30. list.forEach(function (item, i, array) {
  31. var orderHour = parseInt(item.time.split(":")[0]);
  32. var orderMin = parseInt(item.time.split(':')[1]);
  33. if (orderHour < parseInt(hour)) {
  34. item.inTime = false;
  35. }
  36. if (orderHour == parseInt(hour) && orderMin < 30) {
  37. item.inTime = false;
  38. }
  39. checkList.push(item)
  40. })
  41. return checkList;
  42. }
  43. //生成预约界面的时间列表
  44. function createTimeList(openTime, closeTime, days, price) {
  45. let tabs = []
  46. days.forEach((item, i, array) => {
  47. tabs.push({
  48. title: item,
  49. list: []
  50. });
  51. })
  52. console.log('----------------')
  53. tabs[0].title = "今天";
  54. tabs[1].title = "明天";
  55. tabs.forEach((item, index, array) => {
  56. let timeList = createHourList(openTime, closeTime, price);
  57. let list = item.list
  58. timeList.forEach((time, i, array) => {
  59. list.push(time)
  60. })
  61. })
  62. console.log(tabs)
  63. tabs.forEach((item, index, array) => {
  64. item.list.forEach((listitem, i, listArray) => {
  65. //时间id
  66. listitem.timeId = i
  67. //是否处于可用时间内
  68. listitem.inTime = true;
  69. //是否被选中
  70. listitem.checked = false;
  71. })
  72. })
  73. var nowTimeList = checkedTime(tabs[0].list);
  74. tabs[0].list = nowTimeList;
  75. return tabs;
  76. }
  77. module.exports = {
  78. createTimeList: createTimeList,
  79. }