Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

258
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!