Здравствуйте!
функционал приложения простой, есть обычный календарь (на весь год), работяга тыкает по любому числу, появляется выпадающий список с его графиком (нужный график выбирается в менюшке) . Работяга выбирает смену (или выходной) который будет в то число, на которое он кликнул ну и приложение рассчитывает его график на весь год. Примерный объект, содержащий график будет выглядеть так ...
let shedule = [
{
name : "1 смена",
class_html : "shed_1",
time_from : "08:00",
time_to : "16:00"
},
{
name : "1 смена",
class_html : "shed_1",
time_from : "08:00",
time_to : "16:00"
},
{
name : "2 смена",
class_html : "shed_2",
time_from : "16:00",
time_to : "24:00"
},
{
name : "2 смена",
class_html : "shed_2",
time_from : "16:00",
time_to : "24:00"
},
{
name : "выходной",
class_html : "shed_v",
time_from : "00:00",
time_to : "24:00"
},
{
name : "выходной",
class_html : "shed_v",
time_from : "00:00",
time_to : "24:00"
}
];
Главный вопрос,
как более логично осуществить расчета графика на весь год? К примеру работяга тыкнул на 7 июля, и выбрал допустим первый из двух его выходных дней (ну для примера), соответственно 6 июля в календаре должна быть вторая / вторая смена, 5 июля первая / вторая смена ит.д. Я реализовал это приложение по пути наименьшего сопротивления, запустив просто два цикла, один считает смены назад до 1 января текущего года, а второй соответственно вперёд. Может кто предложит более разумное решение, может быть в один цикл. Офк действия после самого расчёта минимум предполагают отображение смен на графике, ну или сначало добавление этих смен в объект ГОДА, а уже потом из него отрисовку на сам график, Это не принципиально в данном случае.