updateDateParams(data, params)"
>
-
- {{ scope.opt?.code }}
- {{
- new Date(scope.opt?.dated).getFullYear()
- }}
+ {{ scope.opt?.name }}
+ {{
+ scope.opt?.category?.name
+ }}
+
+
+
+
+ updateDateParams(data, params)"
+ />
+ updateDateParams(data, params)"
+ dense
+ >
+
+
+
+ {{ t(scope.opt?.code) }}
+
+ {{ new Date(scope.opt?.dated).getFullYear() }}
+
@@ -247,7 +298,19 @@ const updateDateParams = (value, params) => {
+en:
+
+ valentinesDay: Valentine's Day
+ mothersDay: Mother's Day
+ allSaints: All Saints' Day
es:
Enter a new search: Introduce una nueva búsqueda
Group by items: Agrupar por artículos
+ valentinesDay: Día de San Valentín
+ mothersDay: Día de la Madre
+ allSaints: Día de Todos los Santos
+ Campaign consumption: Consumo campaña
+ Campaign: Campaña
+ From: Desde
+ To: Hasta
diff --git a/src/pages/Customer/locale/en.yml b/src/pages/Customer/locale/en.yml
index 118f04a311..b6d495335f 100644
--- a/src/pages/Customer/locale/en.yml
+++ b/src/pages/Customer/locale/en.yml
@@ -107,6 +107,9 @@ customer:
defaulterSinced: Defaulted Since
hasRecovery: Has Recovery
socialName: Social name
+ typeId: Type
+ buyerId: Buyer
+ categoryId: Category
city: City
phone: Phone
postcode: Postcode
diff --git a/src/pages/Customer/locale/es.yml b/src/pages/Customer/locale/es.yml
index 7c33ffee80..f50d049dad 100644
--- a/src/pages/Customer/locale/es.yml
+++ b/src/pages/Customer/locale/es.yml
@@ -108,6 +108,9 @@ customer:
hasRecovery: Tiene recobro
socialName: Razón social
campaign: Campaña
+ typeId: Familia
+ buyerId: Comprador
+ categoryId: Reino
city: Ciudad
phone: Teléfono
postcode: Código postal
diff --git a/src/pages/Entry/Card/EntryDescriptorMenu.vue b/src/pages/Entry/Card/EntryDescriptorMenu.vue
index 03cd533583..dc759c7a80 100644
--- a/src/pages/Entry/Card/EntryDescriptorMenu.vue
+++ b/src/pages/Entry/Card/EntryDescriptorMenu.vue
@@ -54,8 +54,8 @@ const transferEntry = async () => {
en:
transferEntryDialog: The entries will be transferred to the next day
- transferEntry: Transfer Entry
+ transferEntry: Partial delay
es:
transferEntryDialog: Se van a transferir las compras al dia siguiente
- transferEntry: Transferir Entrada
+ transferEntry: Retraso parcial
diff --git a/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue b/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue
index 0cc9ac2c9a..905ddebb2b 100644
--- a/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue
+++ b/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue
@@ -149,6 +149,7 @@ function deleteFile(dmsFk) {
option-value="id"
option-label="id"
:filter-options="['id', 'name']"
+ data-cy="UnDeductibleVatSelect"
>
diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue
index 9398ded648..c7d7ba9f45 100644
--- a/src/pages/InvoiceOut/InvoiceOutList.vue
+++ b/src/pages/InvoiceOut/InvoiceOutList.vue
@@ -97,12 +97,19 @@ const columns = computed(() => [
},
{
align: 'left',
- name: 'companyCode',
+ name: 'companyFk',
label: t('globals.company'),
cardVisible: true,
component: 'select',
- attrs: { url: 'Companies', optionLabel: 'code', optionValue: 'id' },
- columnField: { component: null },
+ attrs: {
+ url: 'Companies',
+ optionLabel: 'code',
+ optionValue: 'id',
+ },
+ columnField: {
+ component: null,
+ },
+ format: (row, dashIfEmpty) => dashIfEmpty(row.companyCode),
},
{
align: 'left',
diff --git a/src/pages/Order/Card/OrderCatalogItemDialog.vue b/src/pages/Order/Card/OrderCatalogItemDialog.vue
index be35750a98..680f6e7737 100644
--- a/src/pages/Order/Card/OrderCatalogItemDialog.vue
+++ b/src/pages/Order/Card/OrderCatalogItemDialog.vue
@@ -43,10 +43,9 @@ const addToOrder = async () => {
);
state.set('orderTotal', orderTotal);
- const rows = orderData.value.rows.push(...items) || [];
state.set('Order', {
...orderData.value,
- rows,
+ items,
});
notify(t('globals.dataSaved'), 'positive');
emit('added', -totalQuantity(items));
diff --git a/src/pages/Worker/Card/WorkerDescriptor.vue b/src/pages/Worker/Card/WorkerDescriptor.vue
index ffebaf5eac..4a71ae8981 100644
--- a/src/pages/Worker/Card/WorkerDescriptor.vue
+++ b/src/pages/Worker/Card/WorkerDescriptor.vue
@@ -53,6 +53,7 @@ const handlePhotoUpdated = (evt = false) => {
module="Worker"
:data-key="dataKey"
url="Workers/summary"
+ :filter="{ where: { id: entityId } }"
title="user.nickname"
@on-fetch="getIsExcluded"
>
diff --git a/src/pages/Zone/Card/ZoneBasicData.vue b/src/pages/Zone/Card/ZoneBasicData.vue
index 5206f1e623..15d335ac80 100644
--- a/src/pages/Zone/Card/ZoneBasicData.vue
+++ b/src/pages/Zone/Card/ZoneBasicData.vue
@@ -1,5 +1,7 @@
-
+ (agencyOptions = data)"
+ auto-load
+ url="AgencyModes/isActive"
+ />
+ (validAddresses = data)"
+ />
+
diff --git a/src/pages/Zone/Card/ZoneSearchbar.vue b/src/pages/Zone/Card/ZoneSearchbar.vue
index f7a59e97fe..d1188a1e8b 100644
--- a/src/pages/Zone/Card/ZoneSearchbar.vue
+++ b/src/pages/Zone/Card/ZoneSearchbar.vue
@@ -22,15 +22,50 @@ const exprBuilder = (param, value) => {
return /^\d+$/.test(value) ? { id: value } : { name: { like: `%${value}%` } };
}
};
+
+const tableFilter = {
+ include: [
+ {
+ relation: 'agencyMode',
+ scope: {
+ fields: ['id', 'name'],
+ },
+ },
+ {
+ relation: 'address',
+ scope: {
+ fields: ['id', 'nickname', 'provinceFk', 'postalCode'],
+ include: [
+ {
+ relation: 'province',
+ scope: {
+ fields: ['id', 'name'],
+ },
+ },
+ {
+ relation: 'postcode',
+ scope: {
+ fields: ['code', 'townFk'],
+ include: {
+ relation: 'town',
+ scope: {
+ fields: ['id', 'name'],
+ },
+ },
+ },
+ },
+ ],
+ },
+ },
+ ],
+};
{
openConfirmationModal(
t('list.confirmCloneTitle'),
t('list.confirmCloneSubtitle'),
- () => clone(id)
+ () => clone(id),
);
};
-function showValidAddresses(row) {
- if (row.addressFk) {
- const isValid = validAddresses.value.some(
- (address) => address.addressFk === row.addressFk
- );
- if (isValid)
- return `${row.address?.nickname},
- ${row.address?.postcode?.town?.name} (${row.address?.province?.name})`;
- else return '-';
- }
- return '-';
+function formatRow(row) {
+ if (!row?.address) return '-';
+ return dashIfEmpty(`${row?.address?.nickname},
+ ${row?.address?.postcode?.town?.name} (${row?.address?.province?.name})`);
}
- (validAddresses = data)"
- />
@@ -207,7 +193,7 @@ function showValidAddresses(row) {
:right-search="false"
>
- {{ showValidAddresses(row) }}
+ {{ dashIfEmpty(formatRow(row)) }}
describe('InvoiceInBasicData', () => {
- const formInputs = '.q-form > .q-card input';
const firstFormSelect = '.q-card > .vn-row:nth-child(1) > .q-select';
- const documentBtns = '[data-cy="dms-buttons"] button';
const dialogInputs = '.q-dialog input';
+ const resetBtn = '.q-btn-group--push > .q-btn--flat';
+ const getDocumentBtns = (opt) => `[data-cy="dms-buttons"] > :nth-child(${opt})`;
beforeEach(() => {
cy.login('developer');
@@ -11,13 +11,16 @@ describe('InvoiceInBasicData', () => {
});
it('should edit the provideer and supplier ref', () => {
- cy.selectOption(firstFormSelect, 'Bros');
- cy.get('[title="Reset"]').click();
- cy.get(formInputs).eq(1).type('{selectall}4739');
- cy.saveCard();
+ cy.dataCy('UnDeductibleVatSelect').type('4751000000');
+ cy.get('.q-menu .q-item').contains('4751000000').click();
+ cy.get(resetBtn).click();
- cy.get(`${firstFormSelect} input`).invoke('val').should('eq', 'Plants nick');
- cy.get(formInputs).eq(1).invoke('val').should('eq', '4739');
+ cy.waitForElement('#formModel').within(() => {
+ cy.dataCy('vnSupplierSelect').type('Bros nick');
+ })
+ cy.get('.q-menu .q-item').contains('Bros nick').click();
+ cy.saveCard();
+ cy.get(`${firstFormSelect} input`).invoke('val').should('eq', 'Bros nick');
});
it('should edit, remove and create the dms data', () => {
@@ -25,18 +28,18 @@ describe('InvoiceInBasicData', () => {
const secondInput = "I don't know what posting here!";
//edit
- cy.get(documentBtns).eq(1).click();
+ cy.get(getDocumentBtns(2)).click();
cy.get(dialogInputs).eq(0).type(`{selectall}${firtsInput}`);
cy.get('textarea').type(`{selectall}${secondInput}`);
cy.get('[data-cy="FormModelPopup_save"]').click();
- cy.get(documentBtns).eq(1).click();
+ cy.get(getDocumentBtns(2)).click();
cy.get(dialogInputs).eq(0).invoke('val').should('eq', firtsInput);
cy.get('textarea').invoke('val').should('eq', secondInput);
cy.get('[data-cy="FormModelPopup_save"]').click();
cy.checkNotification('Data saved');
//remove
- cy.get(documentBtns).eq(2).click();
+ cy.get(getDocumentBtns(3)).click();
cy.get('[data-cy="VnConfirm_confirm"]').click();
cy.checkNotification('Data saved');