How to restrict hours and minutes in javascript

Asked

Viewed 42 times

0

my code it calculates how many hours a person worked total weekly and monthly now I want to make a restriction that if the weekly hourly load exceeds 30 hours and 0 minutes it emits a sweetAlert

<label class="container" for="chkDiasSemana">Segunda a Sexta-Feira
    <input type="checkbox" id="chkDiasSemana" onclick="SOLICITAR_ESTAGIO.verificaCheckBoxMarcados()">
    <span class="checkmark"></span>
</label>

<div id="divHorarios" style="display: none">
    <div class="form-group col-md-3 col-sm-4">
        <label for="horarioInicio"><br>Horário de início: <font color="red">*</font>
        </label>
        <input type="text" class="form-control" id="txtHorarioInicio"
               placeholder="Exemplo: 08:00" style="height: 43px;"/>
    </div>

    <div class="form-group col-md-3 col-sm-4">
        <label for="intervaloInicio"><br>Início do intervalo: <font color="red">*
            </font>
        </label>
        <input type="text" maxlength="5" class="form-control" id="txtIntervaloInicio"
               placeholder="Exemplo: 12:00" style="height: 43px;"/>
    </div>

    <div class="form-group col-md-3 col-sm-4">
        <label for="intervaloFim"><br>Fim do intervalo: <font color="red">*</font>
        </label>
        <input type="text" maxlength="5" class="form-control" id="txtIntervaloFim"
               placeholder="Exemplo: 13:00" style="height: 43px;"/>
    </div>
</div>

javascript that calculates the time fields

calculaCamposHorarios: function() {

    var totalSegSex = 0;

    //SEGUNDA A SEXTA-FEIRA
    if ($("#chkDiasSemana").is(":checked")) {
        // Subtração entre horário de início e o horário de término
        let totalAntesIntervalo = this.ajustaHorario('txtIntervaloInicio') - this.ajustaHorario('txtHorarioInicio');
        // diferença entre fim do intervalo e o horário de término
        let totalDepoisIntervalo = this.ajustaHorario('txtHorarioFim') - this.ajustaHorario('txtIntervaloFim');

        // tempo total (em minutos)
        let total = totalAntesIntervalo + totalDepoisIntervalo;

        totalSegSex = total * 5;

        total = totalSegSex;

        let totalHoras = Math.floor(total / 60);
        let totalMinutos = total % 60;

        $('#carga-horaria').val(totalHoras + ' horas e ' + totalMinutos + ' minutos');
    }
}

1 answer

0

Add to your project https://sweetalert2.github.io/ then change to more or less this:

if (totalHoras >= 30){
    Swal.fire(
      'Passou da hora',
      'Voce ja tem 30 ou mais horas',
      'success'
    )
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.