#8448 - devToTest #1254
|
@ -7,7 +7,14 @@ import useNotify from 'src/composables/useNotify.js';
|
|||
import axios from 'axios';
|
||||
|
||||
const { notify } = useNotify();
|
||||
|
||||
const initInvoicing = {
|
||||
invoicing: false,
|
||||
nRequests: 0,
|
||||
nPdfs: 0,
|
||||
totalPdfs: 0,
|
||||
addressIndex: 0,
|
||||
errors: [],
|
||||
};
|
||||
export const useInvoiceOutGlobalStore = defineStore({
|
||||
id: 'invoiceOutGlobal',
|
||||
state: () => ({
|
||||
|
@ -23,16 +30,11 @@ export const useInvoiceOutGlobalStore = defineStore({
|
|||
addresses: [],
|
||||
minInvoicingDate: null,
|
||||
parallelism: null,
|
||||
invoicing: false,
|
||||
isInvoicing: false,
|
||||
status: null,
|
||||
addressIndex: 0,
|
||||
errors: [],
|
||||
|
||||
printer: null,
|
||||
nRequests: 0,
|
||||
nPdfs: 0,
|
||||
totalPdfs: 0,
|
||||
formData: null,
|
||||
...initInvoicing,
|
||||
}),
|
||||
actions: {
|
||||
async init() {
|
||||
|
@ -117,12 +119,13 @@ export const useInvoiceOutGlobalStore = defineStore({
|
|||
);
|
||||
throw new Error("There aren't addresses to invoice");
|
||||
}
|
||||
this.invoicing = false;
|
||||
this.status = 'invoicing';
|
||||
this.formData = formData;
|
||||
this.addressIndex = 0;
|
||||
this.errors = [];
|
||||
await this.invoiceClient();
|
||||
this.status = 'invoicing';
|
||||
//reset data
|
||||
for (const key in initInvoicing) {
|
||||
this[key] = initInvoicing[key];
|
||||
}
|
||||
this.invoiceClient();
|
||||
} catch (err) {
|
||||
this.handleError(err);
|
||||
}
|
||||
|
@ -184,7 +187,6 @@ export const useInvoiceOutGlobalStore = defineStore({
|
|||
async invoiceClient() {
|
||||
if (this.invoicing || this.nRequests >= this.parallelism) return;
|
||||
const address = this.addresses[this.addressIndex];
|
||||
|
||||
if (!address || !this.status || this.status == 'stopping') {
|
||||
this.status = 'stopping';
|
||||
this.invoicing = false;
|
||||
|
@ -192,6 +194,7 @@ export const useInvoiceOutGlobalStore = defineStore({
|
|||
}
|
||||
try {
|
||||
this.invoicing = true;
|
||||
this.nRequests++;
|
||||
const params = {
|
||||
clientId: address.clientId,
|
||||
addressId: address.id,
|
||||
|
@ -215,6 +218,7 @@ export const useInvoiceOutGlobalStore = defineStore({
|
|||
}
|
||||
} finally {
|
||||
this.invoicing = false;
|
||||
this.nRequests--;
|
||||
this.addressIndex++;
|
||||
this.invoiceClient();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue