{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { formatDate, formatNumber } from '@/utils/common';\n// 拼接 预约时间 picker\nexport function getAppointFun(time) {\n let arr = [];\n // 当天剩余时间段\n let obj = getCurrentDatePicker(time);\n arr.push(obj);\n // 后六天的可选时间段\n let tempArr = getAfterTimeList();\n arr.push(...tempArr);\n return arr;\n}\n\n// 拼接 当天剩余的可预约时间段(默认第一个是两小时之后可选)\nconst getCurrentDatePicker = time => {\n let obj = {};\n obj.text = formatDate(time);\n let timeArr = getCurrentTimeList();\n obj.children = timeArr;\n return obj;\n};\n\n// 当天日期的时间段\nconst getCurrentTimeList = () => {\n let todayDate = new Date();\n let tempArr = [];\n tempArr.push({\n text: '尽快到'\n }); // 首先添加尽快到\n if (todayDate.getMinutes() <= 30 && todayDate.getMinutes() > 0) {\n let tempVal = todayDate.getHours() + 2;\n let tempHalfHours = formatNumber(tempVal) + ':30';\n tempArr.push({\n text: tempHalfHours\n });\n }\n let startFlag = todayDate.getMinutes() == 0 ? todayDate.getHours() + 2 : todayDate.getHours() + 3;\n tempArr = getDateTimeList(startFlag, tempArr);\n return tempArr;\n};\n\n// 获取后六天的 预约时间 picker\nconst getAfterTimeList = () => {\n let afterArr = [];\n for (let i = 1; i < 7; i++) {\n let obj = {};\n let tempTime = formatDate(new Date().getTime() + i * 24 * 60 * 60 * 1000);\n obj.text = tempTime;\n let timeArr = [];\n obj.children = getDateTimeList(0, timeArr);\n afterArr.push(obj);\n }\n return afterArr;\n};\n\n// 获取某个时间段后的所有可选时段\nconst getDateTimeList = (startHours = 0, list) => {\n for (let i = startHours; i < 24; i++) {\n list.push({\n text: formatNumber(i) + ':' + '00'\n });\n list.push({\n text: formatNumber(i) + ':' + '30'\n });\n }\n return list;\n};","map":{"version":3,"names":["formatDate","formatNumber","getAppointFun","time","arr","obj","getCurrentDatePicker","push","tempArr","getAfterTimeList","text","timeArr","getCurrentTimeList","children","todayDate","Date","getMinutes","tempVal","getHours","tempHalfHours","startFlag","getDateTimeList","afterArr","i","tempTime","getTime","startHours","list"],"sources":["C:/Users/zhouxueli/Desktop/scheduling-app/src/utils/appointTime.js"],"sourcesContent":["import { formatDate, formatNumber } from '@/utils/common'\r\n// 拼接 预约时间 picker\r\nexport function getAppointFun (time) {\r\n let arr = []\r\n // 当天剩余时间段\r\n let obj = getCurrentDatePicker(time)\r\n arr.push(obj)\r\n // 后六天的可选时间段\r\n let tempArr = getAfterTimeList()\r\n arr.push(...tempArr)\r\n return arr\r\n}\r\n\r\n// 拼接 当天剩余的可预约时间段(默认第一个是两小时之后可选)\r\nconst getCurrentDatePicker = time => {\r\n let obj = {}\r\n obj.text = formatDate(time);\r\n let timeArr = getCurrentTimeList()\r\n obj.children = timeArr\r\n return obj\r\n}\r\n\r\n// 当天日期的时间段\r\nconst getCurrentTimeList = () => {\r\n let todayDate = new Date()\r\n let tempArr = []\r\n tempArr.push({ text: '尽快到' }); // 首先添加尽快到\r\n if( todayDate.getMinutes() <= 30 && todayDate.getMinutes() > 0 ) {\r\n let tempVal = todayDate.getHours() + 2;\r\n let tempHalfHours = formatNumber(tempVal) + ':30';\r\n tempArr.push({ text: tempHalfHours });\r\n }\r\n let startFlag = (todayDate.getMinutes() == 0) ? (todayDate.getHours() + 2) : (todayDate.getHours() + 3)\r\n tempArr = getDateTimeList(startFlag, tempArr)\r\n return tempArr\r\n}\r\n\r\n// 获取后六天的 预约时间 picker\r\nconst getAfterTimeList = () => {\r\n let afterArr = []\r\n for(let i = 1; i < 7; i++ ) {\r\n let obj = {};\r\n let tempTime = formatDate(new Date().getTime() + (i * 24* 60 * 60 * 1000))\r\n obj.text = tempTime\r\n let timeArr = []\r\n obj.children = getDateTimeList(0, timeArr)\r\n afterArr.push(obj)\r\n }\r\n return afterArr\r\n}\r\n\r\n// 获取某个时间段后的所有可选时段\r\nconst getDateTimeList = (startHours = 0, list) => {\r\n for(let i = startHours; i < 24; i++ ) {\r\n list.push({ text: formatNumber(i) + ':' + '00' })\r\n list.push({ text: formatNumber(i) + ':' + '30' })\r\n }\r\n return list\r\n}\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}