1

我正在使用 DHTMLX Scheduler 进行预约。为避免重复预订,我在某个时间段上显示了一个块,该时间段已被其他用户选择但尚未完成预约过程。

我已经 setInterval 来检查其他一些用户当前正在处理的约会状态。

我想要的是如果我在 setInterval 中获得一些数据,那么应该删除该特定块。以下是我用来在调度程序上显示块和其他约会的脚本。

// This is how I'm showing block area on scheduler

scheduler.addMarkedTimespan({  
     start_date: new Date(2013,11,29,01,00),
     end_date: new Date(2013,11,29,01,10),
     css: "inprocess",
     sections: {
     unit: 'a7b6e635-f62f-6f12-020f-52a959d1ca47'
  }
});

// This is how I'm showing appointments on scheduler

scheduler.config.multi_day = true;
scheduler.init('scheduler_here',new Date(2013,11,29),"unit");
scheduler.parse([{"start_date":"2013-12-29 01:13","end_date":"2013-12-29 01:23","text":"<div style='float: left;'>Booked<\/div><div style='float: right;
scheduler.updateView();

我希望每五秒更新一次正在进行的部分,这就是我调用 setInterval 的原因。我在 json 中获得与 setInterval 中的 inprocess 相同的数据。我希望更新该特定部分。可以添加更多正在处理的块区域或删除现有块。

好吧,我已经知道如何添加更多块,我被困在如何删除现有的块区域/进程区域中。

*我不想为此更新整个部分。

4

1 回答 1

3

检查deleteMarkedTimespan方法。它采用与 .addMarkedTimespan 相同的参数,可用于从特定时间删除标记/阻塞区域。您可以在此示例页面上对其进行测试

在浏览器控制台中执行以下代码,它应该在第一周的星期一删除部分标记区域:

scheduler.deleteMarkedTimespan({
    start_date: new Date(2012, 7, 6, 0), 
    end_date: new Date(2012, 7, 6, 3)
}); 
scheduler.updateView();//redraw the scheduler

相关文档: http ://docs.dhtmlx.com/scheduler/limits.html#removingmarkingblocking

于 2013-12-24T12:50:19.460 回答