30 lines
640 B
Vue
30 lines
640 B
Vue
<script setup>
|
|
|
|
|
|
const fetchReport = async ({ start, end }) => {
|
|
// cancelar petición previa
|
|
if (cancelTokenSource) {
|
|
try { cancelTokenSource.cancel('cancel'); } catch (e) {}
|
|
}
|
|
cancelTokenSource = axios.CancelToken.source();
|
|
|
|
const params = {};
|
|
if (start) params.start = start;
|
|
if (end) params.end = end;
|
|
|
|
const res = await axios.get('/api/reporte-especial', {
|
|
params,
|
|
cancelToken: cancelTokenSource.token,
|
|
headers: { 'X-Requested-With': 'XMLHttpRequest' }
|
|
});
|
|
|
|
// axios lanza en error si status >= 400, aquí devolvemos data directamente
|
|
return res.data;
|
|
};
|
|
</script>
|
|
|
|
<template>
|
|
|
|
Hola
|
|
</template>
|