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:
commit
187f2fde9f
39
src/components/ExportPurchasesForTryton.vue
Normal file
39
src/components/ExportPurchasesForTryton.vue
Normal 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>
|
@ -31,6 +31,7 @@
|
|||||||
{ title: 'Comprar', route:'/comprar'},
|
{ title: 'Comprar', route:'/comprar'},
|
||||||
{ title: 'Cuadrar tarro', route: '/cuadrar_tarro'},
|
{ title: 'Cuadrar tarro', route: '/cuadrar_tarro'},
|
||||||
{ title: 'Cuadres de tarro', route: '/cuadres_de_tarro'},
|
{ title: 'Cuadres de tarro', route: '/cuadres_de_tarro'},
|
||||||
|
{ title: 'CSV Tryton', route: '/ventas_para_tryton'},
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
watch: {
|
watch: {
|
||||||
|
19
src/pages/ventas_para_tryton.vue
Normal file
19
src/pages/ventas_para_tryton.vue
Normal 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>
|
@ -46,6 +46,10 @@ class Api {
|
|||||||
createCustomer(customer) {
|
createCustomer(customer) {
|
||||||
return this.apiImplementation.createCustomer(customer);
|
return this.apiImplementation.createCustomer(customer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getCSVForTryton() {
|
||||||
|
return this.apiImplementation.getCSVForTryton();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Api;
|
export default Api;
|
||||||
|
@ -58,6 +58,11 @@ class DjangoApi {
|
|||||||
return this.postRequest(url, customer);
|
return this.postRequest(url, customer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getCSVForTryton() {
|
||||||
|
const url = this.base + '/don_confiao/api/sales/for_tryton';
|
||||||
|
return this.getRequest(url);
|
||||||
|
}
|
||||||
|
|
||||||
getRequest(url) {
|
getRequest(url) {
|
||||||
return new Promise ((resolve, reject) => {
|
return new Promise ((resolve, reject) => {
|
||||||
fetch(url)
|
fetch(url)
|
||||||
|
Loading…
Reference in New Issue
Block a user