forked from verdnatura/salix-front
travels corrections and improvements
This commit is contained in:
parent
018f251f3d
commit
f59c2409f1
|
@ -23,11 +23,11 @@ const stateStore = useStateStore();
|
||||||
const user = state.getUser();
|
const user = state.getUser();
|
||||||
const newEntryForm = reactive({
|
const newEntryForm = reactive({
|
||||||
supplierFk: null,
|
supplierFk: null,
|
||||||
travelFk: route.query?.travelFk || null,
|
travelFk: Number(route.query?.travelFk) || null,
|
||||||
companyFk: user.value.companyFk || null,
|
companyFk: user.value.companyFk || null,
|
||||||
});
|
});
|
||||||
const suppliersOptions = ref([]);
|
const suppliersOptions = ref([]);
|
||||||
const travelsOptionsOptions = ref([]);
|
const travelsOptions = ref([]);
|
||||||
const companiesOptions = ref([]);
|
const companiesOptions = ref([]);
|
||||||
|
|
||||||
const redirectToEntryBasicData = (_, { id }) => {
|
const redirectToEntryBasicData = (_, { id }) => {
|
||||||
|
@ -47,7 +47,7 @@ const redirectToEntryBasicData = (_, { id }) => {
|
||||||
url="Travels/filter"
|
url="Travels/filter"
|
||||||
:filter="{ fields: ['id', 'warehouseInName'] }"
|
:filter="{ fields: ['id', 'warehouseInName'] }"
|
||||||
order="id"
|
order="id"
|
||||||
@on-fetch="(data) => (travelsOptionsOptions = data)"
|
@on-fetch="(data) => (travelsOptions = data)"
|
||||||
auto-load
|
auto-load
|
||||||
/>
|
/>
|
||||||
<FetchData
|
<FetchData
|
||||||
|
@ -110,7 +110,7 @@ const redirectToEntryBasicData = (_, { id }) => {
|
||||||
:label="t('Travel')"
|
:label="t('Travel')"
|
||||||
class="full-width"
|
class="full-width"
|
||||||
v-model="data.travelFk"
|
v-model="data.travelFk"
|
||||||
:options="travelsOptionsOptions"
|
:options="travelsOptions"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="warehouseInName"
|
option-label="warehouseInName"
|
||||||
map-options
|
map-options
|
||||||
|
|
|
@ -301,7 +301,7 @@ async function setTravelData(travelData) {
|
||||||
<VnLv :label="t('globals.agency')" :value="travel.agency?.name" />
|
<VnLv :label="t('globals.agency')" :value="travel.agency?.name" />
|
||||||
<VnLv :label="t('globals.reference')" :value="travel.ref" />
|
<VnLv :label="t('globals.reference')" :value="travel.ref" />
|
||||||
<VnLv label="m³" :value="travel.m3" />
|
<VnLv label="m³" :value="travel.m3" />
|
||||||
<VnLv :label="t('globals.totalEntries')" :value="travel.m3" />
|
<VnLv :label="t('globals.totalEntries')" :value="travel.totalEntries" />
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="full-width" v-if="entriesTableRows.length > 0">
|
<QCard class="full-width" v-if="entriesTableRows.length > 0">
|
||||||
<span class="header">
|
<span class="header">
|
||||||
|
|
|
@ -101,7 +101,7 @@ const openRemoveDialog = async (id) => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const redirectToThermographForm = (action, { id = null }) => {
|
const redirectToThermographForm = (action, id) => {
|
||||||
const routeDetails = {
|
const routeDetails = {
|
||||||
name: action === 'create' ? 'TravelThermographsCreate' : 'TravelThermographsEdit',
|
name: action === 'create' ? 'TravelThermographsCreate' : 'TravelThermographsEdit',
|
||||||
};
|
};
|
||||||
|
|
|
@ -36,13 +36,9 @@ onBeforeMount(() => {
|
||||||
if (route.query.travelData) {
|
if (route.query.travelData) {
|
||||||
const travelData = JSON.parse(route.query.travelData);
|
const travelData = JSON.parse(route.query.travelData);
|
||||||
for (let key in newTravelForm) {
|
for (let key in newTravelForm) {
|
||||||
if (key === 'landed' || key === 'shipped') {
|
|
||||||
newTravelForm[key] = travelData[key].substring(0, 10);
|
|
||||||
} else {
|
|
||||||
newTravelForm[key] = travelData[key];
|
newTravelForm[key] = travelData[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const redirectToTravelBasicData = (_, { id }) => {
|
const redirectToTravelBasicData = (_, { id }) => {
|
||||||
|
|
|
@ -6,8 +6,7 @@ import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
||||||
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
|
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import FetchData from 'components/FetchData.vue';
|
import FetchData from 'components/FetchData.vue';
|
||||||
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
import { toDate } from 'src/filters';
|
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -60,7 +59,7 @@ const decrement = (paramsObj, key) => {
|
||||||
<span>{{ formatFn(tag.value) }}</span>
|
<span>{{ formatFn(tag.value) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #body="{ params }">
|
<template #body="{ params, searchFn }">
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<VnInput
|
<VnInput
|
||||||
|
@ -75,6 +74,7 @@ const decrement = (paramsObj, key) => {
|
||||||
<VnSelectFilter
|
<VnSelectFilter
|
||||||
:label="t('params.agencyModeFk')"
|
:label="t('params.agencyModeFk')"
|
||||||
v-model="params.agencyModeFk"
|
v-model="params.agencyModeFk"
|
||||||
|
@update:model-value="searchFn()"
|
||||||
:options="agenciesOptions"
|
:options="agenciesOptions"
|
||||||
option-value="agencyFk"
|
option-value="agencyFk"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
|
@ -90,6 +90,7 @@ const decrement = (paramsObj, key) => {
|
||||||
<VnSelectFilter
|
<VnSelectFilter
|
||||||
:label="t('params.warehouseOutFk')"
|
:label="t('params.warehouseOutFk')"
|
||||||
v-model="params.warehouseOutFk"
|
v-model="params.warehouseOutFk"
|
||||||
|
@update:model-value="searchFn()"
|
||||||
:options="warehousesOptions"
|
:options="warehousesOptions"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
|
@ -105,6 +106,7 @@ const decrement = (paramsObj, key) => {
|
||||||
<VnSelectFilter
|
<VnSelectFilter
|
||||||
:label="t('params.warehouseInFk')"
|
:label="t('params.warehouseInFk')"
|
||||||
v-model="params.warehouseInFk"
|
v-model="params.warehouseInFk"
|
||||||
|
@update:model-value="searchFn()"
|
||||||
:options="warehousesOptions"
|
:options="warehousesOptions"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
|
@ -147,68 +149,20 @@ const decrement = (paramsObj, key) => {
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<QInput
|
<VnInputDate
|
||||||
dense
|
v-model="params.landedFrom"
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
placeholder="dd-mm-aaa"
|
|
||||||
:label="t('params.landedFrom')"
|
:label="t('params.landedFrom')"
|
||||||
:model-value="toDate(params.landedFrom)"
|
is-outlined
|
||||||
>
|
|
||||||
<template #append>
|
|
||||||
<QIcon name="event" class="cursor-pointer">
|
|
||||||
<QPopupProxy
|
|
||||||
cover
|
|
||||||
transition-show="scale"
|
|
||||||
transition-hide="scale"
|
|
||||||
>
|
|
||||||
<QDate v-model="params.landedFrom">
|
|
||||||
<div class="row items-center justify-end">
|
|
||||||
<QBtn
|
|
||||||
v-close-popup
|
|
||||||
:label="t('globals.close')"
|
|
||||||
color="primary"
|
|
||||||
flat
|
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</QDate>
|
|
||||||
</QPopupProxy>
|
|
||||||
</QIcon>
|
|
||||||
</template>
|
|
||||||
</QInput>
|
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<QInput
|
<VnInputDate
|
||||||
dense
|
|
||||||
outlined
|
|
||||||
rounded
|
|
||||||
placeholder="dd-mm-aaa"
|
|
||||||
:model-value="toDate(params.landedTo)"
|
|
||||||
:label="t('params.landedTo')"
|
:label="t('params.landedTo')"
|
||||||
>
|
v-model="params.landedTo"
|
||||||
<template #append>
|
is-outlined
|
||||||
<QIcon name="event" class="cursor-pointer">
|
|
||||||
<QPopupProxy
|
|
||||||
cover
|
|
||||||
transition-show="scale"
|
|
||||||
transition-hide="scale"
|
|
||||||
>
|
|
||||||
<QDate v-model="params.landedTo">
|
|
||||||
<div class="row items-center justify-end">
|
|
||||||
<QBtn
|
|
||||||
v-close-popup
|
|
||||||
:label="t('globals.close')"
|
|
||||||
color="primary"
|
|
||||||
flat
|
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</QDate>
|
|
||||||
</QPopupProxy>
|
|
||||||
</QIcon>
|
|
||||||
</template>
|
|
||||||
</QInput>
|
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
|
@ -216,6 +170,7 @@ const decrement = (paramsObj, key) => {
|
||||||
<VnSelectFilter
|
<VnSelectFilter
|
||||||
:label="t('params.continent')"
|
:label="t('params.continent')"
|
||||||
v-model="params.continent"
|
v-model="params.continent"
|
||||||
|
@update:model-value="searchFn()"
|
||||||
:options="continentsOptions"
|
:options="continentsOptions"
|
||||||
option-value="code"
|
option-value="code"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
|
@ -261,18 +216,6 @@ const decrement = (paramsObj, key) => {
|
||||||
</VnFilterPanel>
|
</VnFilterPanel>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.input-number >>> input[type='number'] {
|
|
||||||
-moz-appearance: textfield;
|
|
||||||
}
|
|
||||||
.input-number >>> input::-webkit-outer-spin-button,
|
|
||||||
.input-number >>> input::-webkit-inner-spin-button {
|
|
||||||
appearance: none;
|
|
||||||
-webkit-appearance: none;
|
|
||||||
-moz-appearance: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<i18n>
|
<i18n>
|
||||||
en:
|
en:
|
||||||
params:
|
params:
|
||||||
|
|
|
@ -51,6 +51,18 @@ const viewSummary = (id) => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getDateQBadgeColor = (date) => {
|
||||||
|
let today = Date.vnNew();
|
||||||
|
today.setHours(0, 0, 0, 0);
|
||||||
|
|
||||||
|
date = new Date(date);
|
||||||
|
date.setHours(0, 0, 0, 0);
|
||||||
|
|
||||||
|
const timeDifference = today - date;
|
||||||
|
if (timeDifference == 0) return 'warning';
|
||||||
|
if (timeDifference < 0) return 'success';
|
||||||
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
stateStore.rightDrawer = true;
|
stateStore.rightDrawer = true;
|
||||||
});
|
});
|
||||||
|
@ -95,14 +107,34 @@ onMounted(async () => {
|
||||||
:label="t('globals.wareHouseOut')"
|
:label="t('globals.wareHouseOut')"
|
||||||
:value="getWarehouseName(row.warehouseOutFk)"
|
:value="getWarehouseName(row.warehouseOutFk)"
|
||||||
/>
|
/>
|
||||||
<VnLv
|
<VnLv :label="t('globals.shipped')">
|
||||||
:label="t('globals.shipped')"
|
<template #value>
|
||||||
:value="toDate(row.shipped)"
|
<QBadge
|
||||||
/>
|
v-if="getDateQBadgeColor(row.shipped)"
|
||||||
<VnLv
|
:color="getDateQBadgeColor(row.shipped)"
|
||||||
:label="t('globals.landed')"
|
class="q-ma-none"
|
||||||
:value="toDate(row.landed)"
|
dense
|
||||||
/>
|
style="font-size: 14px"
|
||||||
|
>
|
||||||
|
{{ toDate(row.shipped) }}
|
||||||
|
</QBadge>
|
||||||
|
<span v-else>{{ toDate(row.shipped) }}</span>
|
||||||
|
</template>
|
||||||
|
</VnLv>
|
||||||
|
<VnLv :label="t('globals.landed')">
|
||||||
|
<template #value>
|
||||||
|
<QBadge
|
||||||
|
v-if="getDateQBadgeColor(row.landed)"
|
||||||
|
:color="getDateQBadgeColor(row.landed)"
|
||||||
|
class="q-ma-none"
|
||||||
|
dense
|
||||||
|
style="font-size: 14px"
|
||||||
|
>
|
||||||
|
{{ toDate(row.landed) }}
|
||||||
|
</QBadge>
|
||||||
|
<span v-else>{{ toDate(row.landed) }}</span>
|
||||||
|
</template>
|
||||||
|
</VnLv>
|
||||||
<VnLv
|
<VnLv
|
||||||
v-if="warehouses.length > 0"
|
v-if="warehouses.length > 0"
|
||||||
:label="t('globals.wareHouseIn')"
|
:label="t('globals.wareHouseIn')"
|
||||||
|
|
|
@ -43,7 +43,6 @@ export default {
|
||||||
name: 'TravelCreate',
|
name: 'TravelCreate',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'travelCreate',
|
title: 'travelCreate',
|
||||||
icon: '',
|
|
||||||
},
|
},
|
||||||
component: () => import('src/pages/Travel/TravelCreate.vue'),
|
component: () => import('src/pages/Travel/TravelCreate.vue'),
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue