date.js 2.5 KB

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