【问题标题】:FullCalendar showing event in month view but not day, week, or resource viewFullCalendar 在月视图中显示事件,但不在日、周或资源视图中
【发布时间】:2014-11-12 00:03:37
【问题描述】:

我正在使用全日历 Sean Kenny 的 fork 来添加资源视图。

Source web page

问题是某些事件只显示在月视图下,而不是周视图或资源视图。

所有事件的 allDay 都设置为 false

$(document).ready(function() {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();
  $('#calendar').fullCalendar({
    header: {
      left: 'prev,next today',
      center: 'title',
      right: 'month,agendaWeek,resourceDay'
    },
	monthNames: ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" ], 
	monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
	dayNames: [ 'Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
	dayNamesShort: ['Dom','Lun','Mar','Mie','Jue','Vie','Sab'],
	buttonText: {
		today: 'hoy',
		month: 'mes',
		week: 'semana',
		day: 'dia'
	},
	allDaySlot : false,
	slotDuration: '00:15:00',
	axisFormat: 'HH:mm',
	firstDay : 1,
	minTime: '09:00:00',
	maxTime: '20:00:00',
    defaultView: 'resourceDay',
	allDayDefault: false,
    editable: true,
    droppable: true,
	disableResizing: false,
    resources: [{
		'id': '1',
		'name': 'Sara'
    }, {
		'id': '2',
		'name': 'Angela'
    }],
    selectable: true,
    selectHelper: true,
	events: '\load_events.php',
    select: function(start, end, ev) {
		console.log(ev.resources);
		var horaIni = moment(start).format("YYYY-MM-DD HH:mm:ss");
		var horaFin = moment(end).format("YYYY-MM-DD HH:mm:ss");
		if(isHoraMaxOver(end)){
			alert(mensajeHoraMax);
		}else if(isEventOverlapped(ev,horaIni,horaFin)){
			alert(mensajeOverlap);
		}else if(isDomingo(horaIni)){
			alert("Los Domingos descansamos. Lo siento");
		}else{
			createEvent(horaIni,horaFin,ev);
		}
    },
    eventClick: function(calEvent, jsEvent, view){
		if(isAdmin()){
			modifyEvent(calEvent);
		}
    },
    eventDrop: function (event, delta, revertFunc) {
		var start = moment(event.start).format("YYYY-MM-DD HH:mm:ss");
		var end = moment(event.end).format("YYYY-MM-DD HH:mm:ss");
		if(isHoraMaxOver(end)){
			alert(mensajeHoraMax);
		}else if(isEventOverlapped(event,start,end)){
			alert(mensajeOverlap);
		}else if(isDomingo(start)){
			alert("Los Domingos descansamos. Lo siento");
		}else{
			$.ajax({
				url:  'update_event.php',
				data: 'fechaIni='+ start +'&fechaFin='+ end +'&id='+ event.id +'&profesional='+ event.resources,
				type: "POST"
			});
		}
		$('#calendar').fullCalendar('refresh');
		location.reload(true);
	},
	loading: function(bool){
		if(!bool){
			diableforInvitados();
			updateResources();
		}
	},
	eventRender: function(event, element) { 
            element.find('.fc-event-title').append("<br/>" + event.description);
	},
	eventResize: function(event, delta, revertFunc) {
		var start = moment(event.start).format("YYYY-MM-DD HH:mm:ss");
		var end = moment(event.end).format("YYYY-MM-DD HH:mm:ss");
		if(isHoraMaxOver(end)){
			alert(mensajeHoraMax);
		}else if(isEventOverlapped(event,start,end)){
			alert(mensajeOverlap);
		}else{
			$.ajax({
				url:  'update_event.php',
				data: 'fechaIni='+ start +'&fechaFin='+ end +'&id='+ event.id,
				type: "POST"
			});
		}
		$('#calendar').fullCalendar('refresh');
		 location.reload(true);
	}
  });
  
	$("#calendar").fullCalendar('rerenderEvents');

});

这是一个事件的 JSON 提要示例

Object {id: "63", title: "mariana _", start: FCMoment, end: FCMoment, description: "manicura express esmalte normal   12mins   30.00 € &lt;br/&gt;"…}_allDay: false_end: FCMoment_d: Tue Nov 11 2014 21:12:00 GMT-0500 (Eastern Standard Time)_f: "YYYY-MM-DDTHH:mm:ssZ"_i: "2014-11-12T02:12:00-0500"_isAMomentObject: true_isUTC: true_locale: f_offset: 300_pf: Object_tzm: 300__proto__: f_id: "63"_start: FCMoment_d: Tue Nov 11 2014 21:00:00 GMT-0500 (Eastern Standard Time)_f: "YYYY-MM-DDTHH:mm:ssZ"_i: "2014-11-12T02:00:00-0500"_isAMomentObject: true_isUTC: true_locale: f_offset: 300_pf: Object_tzm: 300__proto__: fallDay: falseclassName: Array[0]color: "#00FF1E"description: "manicura express esmalte normal   12mins   30.00 € &lt;br/&gt;"end: FCMomentid: "63"resources: "1"source: Objectstart: FCMomenttitle: "mariana _"__proto__: Object

这是当前网页的链接: Web page

【问题讨论】:

  • 你的代码有可能有一个 plunker/fiddle 吗? .jpg 真的很难。
  • @thelamproject 我也有同样的问题,但我的,它不只在日视图中显示事件。你知道怎么解决吗?

标签: php jquery json resources fullcalendar


【解决方案1】:

我找到了解决方案。问题是这些活动是以 24 小时格式预订的,而我是在 12 小时格式下捕获它们的。因此,那些在中午之后预订的活动不会在“日”视图的时间范围内显示。时间范围:9:00 - 20:00。例如:开始时间:17:00 -> 5:00PM 转换为 5AM,因此不显示。

我必须添加

timeFormat: 'H:mm'

并更改 create_event.php

$fecha_inicio=date("Y-m-d H:i:s",strtotime($fecha_inicio));
$fecha_fin=date("Y-m-d H:i:s",strtotime($fecha_fin));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多