Merge branch 'master' into hotfix-7366-6943CreditBillingDataAWB
gitea/salix-front/pipeline/pr-master This commit looks good Details

This commit is contained in:
Carlos Satorres 2025-01-15 06:31:54 +00:00
commit 621d038133
2 changed files with 28 additions and 18 deletions

View File

@ -2,7 +2,7 @@
import CreateNewPostcode from 'src/components/CreateNewPostcodeForm.vue'; import CreateNewPostcode from 'src/components/CreateNewPostcodeForm.vue';
import VnSelectDialog from 'components/common/VnSelectDialog.vue'; import VnSelectDialog from 'components/common/VnSelectDialog.vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { computed } from 'vue'; import { ref, watch } from 'vue';
import { useAttrs } from 'vue'; import { useAttrs } from 'vue';
import { useRequired } from 'src/composables/useRequired'; import { useRequired } from 'src/composables/useRequired';
const { t } = useI18n(); const { t } = useI18n();
@ -16,6 +16,14 @@ const props = defineProps({
}, },
}); });
watch(
() => props.location,
(newValue) => {
if (!modelValue.value) return;
modelValue.value = formatLocation(newValue) ?? null;
}
);
const mixinRules = [requiredFieldRule]; const mixinRules = [requiredFieldRule];
const locationProperties = [ const locationProperties = [
'postcode', 'postcode',
@ -43,9 +51,7 @@ const formatLocation = (obj, properties = locationProperties) => {
return filteredParts.join(', '); return filteredParts.join(', ');
}; };
const modelValue = computed(() => const modelValue = ref(props.location ? formatLocation(props.location) : null);
props.location ? formatLocation(props.location, locationProperties) : null
);
function showLabel(data) { function showLabel(data) {
const dataProperties = [ const dataProperties = [

View File

@ -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();
} }