2024-03-17 02:56:44 -03:00
|
|
|
<script>
|
|
|
|
import { getOperadores } from "$/services/operadores";
|
|
|
|
|
|
|
|
export let id_operador;
|
|
|
|
export let loading = false;
|
|
|
|
|
|
|
|
let operadores = [];
|
2024-03-25 01:21:47 -03:00
|
|
|
let baseUrl = window.location.origin;
|
2024-03-17 02:56:44 -03:00
|
|
|
getOperadores({ vigente: 1 })
|
|
|
|
.then(data => data.sort((a, b) => a.nombre_operador < b.nombre_operador ? -1 : 1))
|
|
|
|
.then(data => operadores = data)
|
|
|
|
.catch(error => globalThis.toast.error(error));
|
|
|
|
|
|
|
|
function validarOperadorSeleccionado() {
|
|
|
|
if (!id_operador) {
|
|
|
|
globalThis.toast.error('Debe seleccionar un operador');
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
function abrirReporteItinerario() {
|
2024-03-25 01:21:47 -03:00
|
|
|
if (!validarOperadorSeleccionado()) return;
|
|
|
|
const url = new URL(`reporte/itinerarios/${id_operador}.pdf`, baseUrl);
|
|
|
|
window.open(url.href, '_blank');
|
2024-03-17 02:56:44 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
function abrirReporteExpediciones() {
|
|
|
|
if (!validarOperadorSeleccionado()) return;
|
|
|
|
const fecha = new Date().toISOString().slice(0, 10).replace(/-/g, '');
|
2024-03-25 01:21:47 -03:00
|
|
|
//const url = `${window.location.href}reporte/expediciones/${id_operador}_${fecha}.pdf`;
|
|
|
|
const url = new URL(`reporte/expediciones/${id_operador}_${fecha}.pdf`, baseUrl);
|
|
|
|
window.open(url.href, '_blank');
|
2024-03-17 02:56:44 -03:00
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md">
|
|
|
|
<div class="input-group mb-3">
|
|
|
|
<div class="input-group-text">Operador</div>
|
|
|
|
<select bind:value={id_operador} class="form-select">
|
|
|
|
{#each operadores as operador}
|
|
|
|
<option value={operador.id_operador}>{operador.nombre_operador}</option>
|
|
|
|
{/each}
|
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-auto">
|
|
|
|
{#if loading}
|
|
|
|
<div class="spinner-grow spinner-grow-sm text-danger" role="status">
|
|
|
|
<span class="visually-hidden">Loading...</span>
|
|
|
|
</div>
|
|
|
|
{/if}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
<button on:click={abrirReporteItinerario} class="btn btn-primary">Reporte Itinerario</button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
|
|
|
|
<button on:click={abrirReporteExpediciones} class="btn btn-secondary">Reporte Expediciones</button>
|
|
|
|
</div>
|