首页 > 解决方案 > 需要帮助,希望在全日历中显示每天的不同事件

问题描述

我想从 json 编码的数组中以 fullcalendar 显示每天的不同事件。

如果员工休息日存在,则显示来自 json 编码数组中另一个表的休息日。

第一个查询返回:

"[
    {"id":4901,"title":4901,"start":"2018-01-01","end":"2019-04-30"},
    {"id":4901,"title":4901,"start":"2018-01-01"
]"

第二个查询:

"[
    {"id":4901,"offday":0},
    {"id":4901,"offday":6}
]"

刀片视图 jquery fulcalendar 代码:

    var emps = {!! $emps !!};
    var empsoffdays = {!! $emps_offdays !!};
    var startdate = emps[0].start;
    var enddate = emps[0].end;

    var stdate = new Date(startdate);
    var st = stdate.getTime();

    var endate = new Date(enddate);
    var en = endate.getTime();

    //console.log(endate);
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
          },
         events: [
            {
                title  : '',
                start  : startdate,
                end :enddate,
                allDay : false // will make the time show
            }
        ]
    });

    $('#calendar').fullCalendar( 'addEventSource',        
        function(start, end,timezone,callback) {
            // When requested, dynamically generate a
            // repeatable event for every monday.
            var events = [];       
            var monday = 1;
            var one_day = (24 * 60 * 60 * 1000);

            for (loop = stdate.getTime();
                 loop <= endate.getTime();
                 loop = loop + one_day) {
                var column_date = new Date(loop);
                if (column_date.getDay() == 1) {   
                    events.push({
                        title: emps[0].timetable_check_in,
                        start: startdate,
                        end: enddate,
                        allDay: false
                    });
                }
            } 
            callback( events );
        }
    );

每天应显示作为时间表计时的图块,休息日应显示从开始日期到结束日期的休息日标题[我能够实现的][1\

标签: javascriptjquerylaravelfullcalendarfullcalendar-3

解决方案


推荐阅读