Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

274
Vistas
Programador Dhtmlx: segunda escala personalizada en la vista de línea de tiempo

Tengo algunos personalizados para mostrar la segunda escala, consulte el fragmento: segunda escala de demostración

Tenemos 3 turnos por día, cada turno es de 8 horas. Si configuro x_start = 0, está bien

Pero nuestro tiempo de trabajo comienza a las 6 AM (x_start = 6). Y quiero que el horario se muestre como en la imagen de abajo

ingrese la descripción de la imagen aquí

La parte gris es el resultado real que obtuve

¿Qué tengo que hacer para que la segunda escala del horario se muestre como la parte roja de la imagen?

¡Muchas gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Todavía no existe una solución integrada lista para este caso, y es un poco más difícil que la solución para 2 turnos (fragmento proporcionado), ya que el tercer turno ocurre durante 2 días (22:00 (día anterior) - 05:00 (siguiente día)).

Se puede hacer a través de una solución alternativa, simplemente devolviendo 2 plantillas diferentes: para el día 1 (a partir de las 06:00 horas) y para el día 2 (a partir de las 00:00), la nueva plantilla puede tener el siguiente aspecto:

 scheduler.templates.timeline_second_scale_date = function(date){ var timeline = scheduler.matrix.timeline; var func = scheduler.date.date_to_str( (timeline.second_scale && timeline.second_scale.x_date)? timeline.second_scale.x_date:scheduler.config.hour_date ); if(date.getHours() == 6) return ` <div class="second-scale-content"> <div class="half-second-scale">${func(date)} shift 1</div> <div class="half-second-scale">${func(date)} shift 2</div> </div> `; if(date.getHours() == 0) return ` <div class="second-scale-content"> <div class="full-second-scale">${func(scheduler.date.add((date), -1, "day"))} shift 3</div> </div> `; };

El caso es usar el margen negativo para el contenedor shift 3 ( full-second-scale ), por lo que tendrá lugar en ambos días (anterior y actual), CSS puede verse de la siguiente manera:

 .half-second-scale{ border: 1px solid #fff; width: 44.2%; background-color: gray; } .full-second-scale{ border: 1px solid #fff; width: 133%; margin-left: -33%; display: block; background-color: gray; }

Aquí está la demostración del resultado: http://snippet.dhtmlx.com/5/4572d021e

Es solo una solución alternativa, y requerirá cambios en caso de una configuración diferente de la línea de tiempo.

Atentamente,

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda