Merge pull request 'exportando ventas de tryton #5' (#6) from export_purchases_to_tryton_#5 into main

Reviewed-on: #6
This commit is contained in:
mono 2025-03-03 22:54:14 -05:00
commit 187f2fde9f
5 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,39 @@
<template>
<div>
<v-btn @click="downloadCSV">Descargar CSV</v-btn>
</div>
</template>
<script>
import { inject } from 'vue';
export default {
name: 'ExportPurchasesForTryton',
data() {
return {
api: inject('api'),
};
},
methods: {
downloadCSV() {
this.api.getCSVForTryton()
.then(data => {
const blob = new Blob([data['csv']], {type: 'text/csv'});
const pattern = /[/: ]/g;
const datetime = new Date();
const date = datetime.toLocaleDateString().replace(pattern, '-');
const time = datetime.toLocaleTimeString().replace(pattern, '-');
const name = `VentasTryton_${date}_${time}.csv`;
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = name;
link.click();
URL.revokeObjectURL(link.href);
})
.catch(error => {
console.error(error);
});
},
},
};
</script>

View File

@ -31,6 +31,7 @@
{ title: 'Comprar', route:'/comprar'},
{ title: 'Cuadrar tarro', route: '/cuadrar_tarro'},
{ title: 'Cuadres de tarro', route: '/cuadres_de_tarro'},
{ title: 'CSV Tryton', route: '/ventas_para_tryton'},
],
}),
watch: {

View File

@ -0,0 +1,19 @@
<template>
<div>
<CodeDialog @code-verified="(verified) => showComponent = verified"/>
</div>
<ExportPurchasesForTryton v-if="showComponent" />
</template>
<script>
import CodeDialog from '../components/CodeDialog.vue'
export default {
data() {
return {
showComponent: false,
}
},
components: { CodeDialog },
methods: {},
}
</script>

View File

@ -46,6 +46,10 @@ class Api {
createCustomer(customer) {
return this.apiImplementation.createCustomer(customer);
}
getCSVForTryton() {
return this.apiImplementation.getCSVForTryton();
}
}
export default Api;

View File

@ -58,6 +58,11 @@ class DjangoApi {
return this.postRequest(url, customer);
}
getCSVForTryton() {
const url = this.base + '/don_confiao/api/sales/for_tryton';
return this.getRequest(url);
}
getRequest(url) {
return new Promise ((resolve, reject) => {
fetch(url)