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