Syncfusion Greetings.
Мы подготовили приведенный ниже пример, чтобы иметь разные рабочие часы в день для каждого ресурса, используя события DataBinding и actionBegin.
https://stackblitz.com/edit/angular-ysiqa8-pzqfrc?file=app.component.ts
onDataBinding(args: any): void {
if (this.flag) {
if (
this.scheduleObj.currentView !== "Month" &&
this.scheduleObj.currentView !== "Agenda"
) {
var currentViewDates = this.scheduleObj.getCurrentViewDates();
for (var i = 0; i < currentViewDates.length; i++) {
switch ((currentViewDates[i] as any).getDay()) {
case 0:
this.scheduleObj.setWorkHours([currentViewDates[i]], '06:00', '14:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '08:00', '13:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '07:00', '20:00', 2);
break;
case 1:
this.scheduleObj.setWorkHours([currentViewDates[i]], '08:00', '14:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '09:00', '13:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '07:00', '20:00', 2);
break;
case 2:
this.scheduleObj.setWorkHours([currentViewDates[i]], '07:00', '20:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '08:00', '14:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '09:00', '18:00', 2);
break;
case 3:
this.scheduleObj.setWorkHours([currentViewDates[i]], '05:00', '10:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '11:00', '15:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '10:00', '14:00', 2);
break;
case 4:
this.scheduleObj.setWorkHours([currentViewDates[i]], '10:00', '15:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '08:00', '12:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '09:00', '13:00', 2);
break;
case 5:
this.scheduleObj.setWorkHours([currentViewDates[i]], '09:00', '14:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '10:00', '19:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '08:00', '18:00', 2);
break;
case 6:
this.scheduleObj.setWorkHours([currentViewDates[i]], '07:00', '19:00', 0);
this.scheduleObj.setWorkHours([currentViewDates[i]], '08:00', '14:00', 1);
this.scheduleObj.setWorkHours([currentViewDates[i]], '09:00', '20:00', 2);
}
}
}
this.flag = false;
}
onActionBegin(args: ActionEventArgs): void {
let isEventChange: boolean = (args.requestType === 'eventChange');
if (args.requestType == "eventCreate" ||args.requestType == "eventChange" || args.requestType == "eventRemove" ) {
this.flag = false;
} else {
this.flag = true;
}
}