diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index e3b69004239..acfdefb67f4 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -830,6 +830,8 @@ travel: CloneTravelAndEntries: Clone travel and his entries deleteTravel: Delete travel AddEntry: Add entry + availabled: Availabled + availabledHour: Availabled hour thermographs: Thermographs hb: HB basicData: diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index e0d4cf27dc4..6bf3affc0e9 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -917,6 +917,8 @@ travel: deleteTravel: Eliminar envío AddEntry: Añadir entrada thermographs: Termógrafos + availabled: F. Disponible + availabledHour: Hora Disponible hb: HB basicData: daysInForward: Desplazamiento automatico (redada) diff --git a/src/pages/Customer/Card/CustomerConsumption.vue b/src/pages/Customer/Card/CustomerConsumption.vue index eef9d55b5b2..f3949bb32d7 100644 --- a/src/pages/Customer/Card/CustomerConsumption.vue +++ b/src/pages/Customer/Card/CustomerConsumption.vue @@ -232,7 +232,6 @@ const updateDateParams = (value, params) => { :include="'category'" :sortBy="'name ASC'" dense - @update:model-value="(data) => updateDateParams(data, params)" > <template #option="scope"> <QItem v-bind="scope.itemProps"> @@ -254,7 +253,6 @@ const updateDateParams = (value, params) => { :fields="['id', 'name']" :sortBy="'name ASC'" dense - @update:model-value="(data) => updateDateParams(data, params)" /> <VnSelect v-model="params.campaign" @@ -303,12 +301,14 @@ en: valentinesDay: Valentine's Day mothersDay: Mother's Day allSaints: All Saints' Day + frenchMothersDay: Mother's Day in France 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 + frenchMothersDay: (Francia) Día de la Madre Campaign consumption: Consumo campaña Campaign: Campaña From: Desde diff --git a/src/pages/Travel/Card/TravelBasicData.vue b/src/pages/Travel/Card/TravelBasicData.vue index 4b9aa28ed06..b1adc812622 100644 --- a/src/pages/Travel/Card/TravelBasicData.vue +++ b/src/pages/Travel/Card/TravelBasicData.vue @@ -9,6 +9,7 @@ import VnRow from 'components/ui/VnRow.vue'; import VnInput from 'src/components/common/VnInput.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInputDate from 'components/common/VnInputDate.vue'; +import VnInputTime from 'components/common/VnInputTime.vue'; const route = useRoute(); const { t } = useI18n(); @@ -53,7 +54,16 @@ const warehousesOptionsIn = ref([]); <VnInputDate v-model="data.shipped" :label="t('globals.shipped')" /> <VnInputDate v-model="data.landed" :label="t('globals.landed')" /> </VnRow> - + <VnRow> + <VnInputDate + v-model="data.availabled" + :label="t('travel.summary.availabled')" + /> + <VnInputTime + v-model="data.availabled" + :label="t('travel.summary.availabledHour')" + /> + </VnRow> <VnRow> <VnSelect :label="t('globals.warehouseOut')" @@ -101,10 +111,3 @@ const warehousesOptionsIn = ref([]); </template> </FormModel> </template> - -<i18n> -es: - raidDays: El travel se desplaza automáticamente cada día para estar desde hoy al número de días indicado. Si se deja vacio no se moverá -en: - raidDays: The travel adjusts itself daily to match the number of days set, starting from today. If left blank, it won’t move -</i18n> diff --git a/src/pages/Travel/Card/TravelFilter.js b/src/pages/Travel/Card/TravelFilter.js index f5f4520fd49..05436834ffb 100644 --- a/src/pages/Travel/Card/TravelFilter.js +++ b/src/pages/Travel/Card/TravelFilter.js @@ -11,6 +11,7 @@ export default { 'agencyModeFk', 'isRaid', 'daysInForward', + 'availabled', ], include: [ { diff --git a/src/pages/Travel/Card/TravelSummary.vue b/src/pages/Travel/Card/TravelSummary.vue index 16d42f10424..9f955261181 100644 --- a/src/pages/Travel/Card/TravelSummary.vue +++ b/src/pages/Travel/Card/TravelSummary.vue @@ -10,6 +10,8 @@ import EntryDescriptorProxy from 'src/pages/Entry/Card/EntryDescriptorProxy.vue' import FetchData from 'src/components/FetchData.vue'; import VnRow from 'components/ui/VnRow.vue'; import { toDate, toCurrency, toCelsius } from 'src/filters'; +import { toDateTimeFormat } from 'src/filters/date.js'; +import { dashIfEmpty } from 'src/filters'; import axios from 'axios'; import TravelDescriptorMenuItems from './TravelDescriptorMenuItems.vue'; @@ -333,6 +335,12 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`; <VnLv :label="t('globals.reference')" :value="travel.ref" /> <VnLv label="m³" :value="travel.m3" /> <VnLv :label="t('globals.totalEntries')" :value="travel.totalEntries" /> + <VnLv + :label="t('travel.summary.availabled')" + :value=" + dashIfEmpty(toDateTimeFormat(travel.availabled)) + " + /> </QCard> <QCard class="full-width"> <VnTitle :text="t('travel.summary.entries')" /> diff --git a/src/pages/Travel/TravelList.vue b/src/pages/Travel/TravelList.vue index e90c01be237..b227afcb213 100644 --- a/src/pages/Travel/TravelList.vue +++ b/src/pages/Travel/TravelList.vue @@ -10,6 +10,9 @@ import { getDateQBadgeColor } from 'src/composables/getDateQBadgeColor.js'; import TravelFilter from './TravelFilter.vue'; import VnInputNumber from 'src/components/common/VnInputNumber.vue'; import VnSection from 'src/components/common/VnSection.vue'; +import VnInputTime from 'src/components/common/VnInputTime.vue'; +import VnInputDate from 'src/components/common/VnInputDate.vue'; +import { toDateTimeFormat } from 'src/filters/date'; const { viewSummary } = useSummaryDialog(); const router = useRouter(); @@ -167,6 +170,17 @@ const columns = computed(() => [ cardVisible: true, create: true, }, + { + align: 'left', + name: 'availabled', + label: t('travel.summary.availabled'), + component: 'input', + columnClass: 'expand', + columnField: { + component: null, + }, + format: (row, dashIfEmpty) => dashIfEmpty(toDateTimeFormat(row.availabled)), + }, { align: 'right', label: '', @@ -269,6 +283,16 @@ const columns = computed(() => [ :class="{ 'is-active': row.isReceived }" /> </template> + <template #more-create-dialog="{ data }"> + <VnInputDate + v-model="data.availabled" + :label="t('travel.summary.availabled')" + /> + <VnInputTime + v-model="data.availabled" + :label="t('travel.summary.availabledHour')" + /> + </template> <template #moreFilterPanel="{ params }"> <VnInputNumber :label="t('params.scopeDays')" diff --git a/test/cypress/integration/Order/orderCatalog.spec.js b/test/cypress/integration/Order/orderCatalog.spec.js index cffc47f9150..1770a6b56e9 100644 --- a/test/cypress/integration/Order/orderCatalog.spec.js +++ b/test/cypress/integration/Order/orderCatalog.spec.js @@ -45,7 +45,6 @@ describe('OrderCatalog', () => { ).type('{enter}'); cy.get(':nth-child(1) > [data-cy="catalogFilterCategory"]').click(); cy.dataCy('catalogFilterValueDialogBtn').last().click(); - cy.get('[data-cy="catalogFilterValueDialogTagSelect"]').click(); cy.selectOption("[data-cy='catalogFilterValueDialogTagSelect']", 'Tallos'); cy.dataCy('catalogFilterValueDialogValueInput').find('input').focus(); cy.dataCy('catalogFilterValueDialogValueInput').find('input').type('2'); diff --git a/test/cypress/integration/invoiceIn/invoiceInVat.spec.js b/test/cypress/integration/invoiceIn/invoiceInVat.spec.js index f8b403a458f..1e7ce1003b7 100644 --- a/test/cypress/integration/invoiceIn/invoiceInVat.spec.js +++ b/test/cypress/integration/invoiceIn/invoiceInVat.spec.js @@ -36,7 +36,7 @@ describe('InvoiceInVat', () => { cy.get(dialogInputs).eq(0).type(randomInt); cy.get(dialogInputs).eq(1).type('This is a dummy expense'); - cy.get('button[type="submit"]').click(); + cy.get('[data-cy="FormModelPopup_save"]').click(); cy.get('.q-notification__message').should('have.text', 'Data created'); }); });