Это калькулятор корпоративной массажной работы.
От пользователя мы получаем:
- Время начала
- Время окончания
- Количество клиентов, нуждающихся в массаже
Затем мы используем эти переменные в сочетании с нашими бизнес-правилами о времени, необходимом на человека, и почасовой ставке для терапевта, чтобы определить, сколько терапевтов необходимо и сколько это будет стоить клиент для персонала этих терапевтов.
При запуске моя консоль отображает сообщение об ошибке «timeStr.split не является функцией». Я думал, что есть проблема с методом .map (), но я попытался решить безрезультатно. Я новичок в JS и могу действительно помочь, пожалуйста. Вот код
HTML
<body>
<label for="starttime">Start Time</label><br>
<input id="starttime" type="time" name="starttime" placeholder="Start time"><br>
<label for="endtime">End Time</label><br>
<input id="endtime" type="time" name="endtime" placeholder="End time"><br>
<label for="clients"># of people needing massage</label><br>
<input id="clients" type="number" name="clients" id=""><br>
<input type="button" value="Submit" id="inputbtn" onclick="calc()">
</body>
JS
/*User Inputs*/
const start = document.getElementById("starttime").value;
const end = document.getElementById("endtime").value;
const people = document.getElementById("clients").value;
let timeStart = new Date("01/02/2020" + start);
let timeEnd = new Date("01/02/2020"+end);
/*constants*/
const rate = 80;
const allot = "00:20:00";
/*Time converter*/
function convTime(timeStr){
arr = timeStr.split(":");
arr = arr.map(Number=> Number);
let theHours = arr[0];
let theMinutes = arr[1]/60;
let timeDec = theHours+theMinutes;
return timeDec;
}
/*formulas*/
const ogTime = timeEnd - timeStart;
const givenTime = convTime(ogTime);
const convAllot = convTime(allot)
const realTime = people*convAllot;
const therapists = realTime/givenTime;
const price = therapists*rate*givenTime;
console.log(price);