Количество дескрипторов PHP javascript Fullcalendar для моего приложения для заимствования
Я разрабатываю веб-сайт для заимствования для своей работы. У нас есть оборудование, которое мы можем одолжить на определенный период времени. У меня есть база данных MySql с таблицей Article(id,name,stockQuantity,...) и Rent(id,id_user,date_start,date_end, количество)
После нескольких дней борьбы с FullCalendar я не знаю, как справиться со своими проблемами. Мне нужно обработать количество для некоторого оборудования, и я не знаю, как заблокировать определенные дни, если нет доступного оборудования.
Пример: Артикул => ПК DELL 720, stockQuantity => 3, если эту статью одолжили 3 человека в один и тот же день в разные дни, мне нужно заблокировать эти (еээ) дни и обработать перекрывающиеся времена и количества...
И как управлять этими "количественными" параметрами в FullCalendar ... Я мог бы легко использовать этот календарь, если бы у меня было только количество, равное 1.
Если кто-то сталкивался с подобной проблемой (ами):D
Спасибо и извините за мой английский.
Мой текущий код:
$(document).ready(function()
{
let calendarEl = document.getElementById('calendrier');
let today = new Date();
let calendar = new FullCalendar.Calendar(calendarEl, {
// On charge le composant "dayGrid"
plugins: [ 'dayGrid', 'list', 'interaction' ],
locale: 'fr',
buttonText: {
today: 'Aujourd\'hui',
},
events:"/location/loadAllById/"+$('#calendrier').attr('id_article'),
dayRender: function(day){
//console.warn(day.el)
if (day.date < today){
$(day.el).addClass('date-disabled');
$(day.el).addClass('editable = false');
}
},
eventDrop: function(eventDropInfo) {
console.log('event start' + eventDropInfo.event.start,'currentDate ' + today)
console.log(eventDropInfo.event.start < today);
if(eventDropInfo.event.start < today) {
eventDropInfo.revert();
}
},
select: function(selectionInfo) {
if(selectionInfo.start < today) {
calendar.unselect()
return false;
}
},
eventRender: function(info) {
// console.warn(info)
},
dayClick : function(info)
{
alert('Event: ' + info.event.title);
alert('Coordinates: ' + info.jsEvent.pageX + ',' + info.jsEvent.pageY);
alert('View: ' + info.view.type);
},
eventClick: function(info) {
alert('Event: ' + info.event);
},
editable: true,
selectable: true,
})
// On affiche le calendrier
calendar.render();