JSFiddle - React, Tailwind, and code Playground
by brendowsilas
HTML
<?php
$all_weeks = "1,3|2,3,4";
$array_codtur = "e5f6abb0c4b74c20a92195375bef2434|c7aead0f41f90cf4eace601998bd78c4";
$array_results_dias = "2020-01-15,2020-01-20,2020-01-22,2020-01-27,2020-01-29,2020-02-03,2020-02-05,2020-02-10,2020-02-12,2020-02-17,2020-02-19,2020-02-24,2020-02-26,2020-03-02,2020-03-04,2020-03-09,2020-03-11,2020-03-16,2020-03-18,2020-03-23,2020-03-25,2020-03-30,2020-04-01,2020-04-06,2020-04-08,2020-04-13,2020-04-15,2020-04-20|2020-04-02,2020-04-07,2020-04-08,2020-04-09,2020-04-14,2020-04-15,2020-04-16,2020-04-21";
?>
Entre com as datas inicial e final:
<br><br>
<label>Data inicial
<input type='text' name='dtinicat' value="" id='dtinicat'placeholder='00/00/0000' maxlength='16'>
</label>
<label>Data final
<input type='text' name='dtterat' value="" id='dtterat'placeholder='00/00/0000' maxlength='16'>
</label>
<br><br>
<input type='button' value='Executar' onclick='calcDayAtes();' style='width:80px;height:30px'>
<br><br>
OBS: As datas vão ser comparadas com os dias da semana.
JavaScript
function calcDayAtes() { //----- Somar dias do Atestado
//var idnClient = document.getElementById("idClient").value;
var dtInicat = document.getElementById('dtinicat').value;
var dtTerat = document.getElementById('dtterat').value;
var resultados = "2020-01-15,2020-01-20,2020-01-22,2020-01-27,2020-01-29,2020-02-03,2020-02-05,2020-02-10,2020-02-12,2020-02-17,2020-02-19,2020-02-24,2020-02-26,2020-03-02,2020-03-04,2020-03-09,2020-03-11,2020-03-16,2020-03-18,2020-03-23,2020-03-25,2020-03-30,2020-04-01,2020-04-06,2020-04-08,2020-04-13,2020-04-15,2020-04-20|2020-04-02,2020-04-07,2020-04-08,2020-04-09,2020-04-14,2020-04-15,2020-04-16,2020-04-21";
var results = resultados.split('|');
var nwdtInicat = dtInicat.split('/').reverse().join('-');
var nwdtTerat = dtTerat.split('/').reverse().join('-');
var pinic = nwdtInicat.split("-");
var iano = pinic[0];
var imes = pinic[1] - 1;
var idia = pinic[2];
var newInicial = new Date(iano, imes, idia);
var pterm = nwdtTerat.split("-");
var tano = pterm[0];
var tmes = pterm[1] - 1;
var tdia = pterm[2];
var newFinal = new Date(tano, tmes, tdia);
var milissegundos_por_dia = 1000 * 60 * 60 * 24;
var data_inicial = new Date(newInicial.getTime() - 0 * milissegundos_por_dia);
var data_final = new Date(newFinal.getTime() + 1 * milissegundos_por_dia);
//alert(data_inicial);
if ((dtInicat) && (dtTerat)) {
//console.log(data_inicial);
//console.log(data_final);
//if (nwdtInicat > nwdtTerat) { msgErro("default|Conflito nas datas! <br> A data inicial não pode ser maior que a data final!|1"); return false; }
//$('.box-ates-ben').load("data/boss/servAbnAtesCab.php?idben="+idnClient+"&atestado=novo&dta="+nwdtInicat+"&dtb="+nwdtTerat);
//----- Início: Calcula datas da Semana
var dateStart = data_inicial; //new Date(nwdtInicat+" 00:00:00");
var dateEnd = data_final; //new Date(nwdtTerat+" 00:00:00");
var dateRange = rangeDate(dateStart, dateEnd);
var weeks =...