forked from verdnatura/salix-front
Upcoming deliveries
This commit is contained in:
parent
dcbf2eb837
commit
cbe44c97f6
|
@ -91,12 +91,6 @@ async function search() {
|
||||||
|
|
||||||
if (!props.redirect) return;
|
if (!props.redirect) return;
|
||||||
|
|
||||||
if (props.customRouteRedirectName)
|
|
||||||
return router.push({
|
|
||||||
name: props.customRouteRedirectName,
|
|
||||||
params: { id: searchText.value },
|
|
||||||
});
|
|
||||||
|
|
||||||
const { matched: matches } = router.currentRoute.value;
|
const { matched: matches } = router.currentRoute.value;
|
||||||
const { path } = matches.at(-1);
|
const { path } = matches.at(-1);
|
||||||
const [, moduleName] = path.split('/');
|
const [, moduleName] = path.split('/');
|
||||||
|
@ -105,6 +99,13 @@ async function search() {
|
||||||
return router.push({ path: `/${moduleName}/list` });
|
return router.push({ path: `/${moduleName}/list` });
|
||||||
|
|
||||||
const targetId = store.data[0].id;
|
const targetId = store.data[0].id;
|
||||||
|
|
||||||
|
if (props.customRouteRedirectName && targetId)
|
||||||
|
return router.push({
|
||||||
|
name: props.customRouteRedirectName,
|
||||||
|
params: { id: targetId },
|
||||||
|
});
|
||||||
|
|
||||||
let targetUrl;
|
let targetUrl;
|
||||||
|
|
||||||
if (path.endsWith('/list')) targetUrl = path.replace('/list', `/${targetId}/summary`);
|
if (path.endsWith('/list')) targetUrl = path.replace('/list', `/${targetId}/summary`);
|
||||||
|
|
|
@ -8,7 +8,7 @@ import ZoneDescriptor from './ZoneDescriptor.vue';
|
||||||
base-url="Zones"
|
base-url="Zones"
|
||||||
:descriptor="ZoneDescriptor"
|
:descriptor="ZoneDescriptor"
|
||||||
searchbar-data-key="ZoneList"
|
searchbar-data-key="ZoneList"
|
||||||
searchbar-url="Zones/filter"
|
searchbar-url="Zones"
|
||||||
searchbar-label="Search zones"
|
searchbar-label="Search zones"
|
||||||
searchbar-info="You can search by zone reference"
|
searchbar-info="You can search by zone reference"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -73,7 +73,6 @@ const setData = (entity) => {
|
||||||
<ZoneDescriptorMenuItems :zone="entity" />
|
<ZoneDescriptorMenuItems :zone="entity" />
|
||||||
</template> -->
|
</template> -->
|
||||||
<template #body="{ entity }">
|
<template #body="{ entity }">
|
||||||
{{ console.log('entity', entity) }}
|
|
||||||
<VnLv :label="t('summary.agency')" :value="entity.agencyMode.name" />
|
<VnLv :label="t('summary.agency')" :value="entity.agencyMode.name" />
|
||||||
<VnLv :label="t('summary.closeHour')" :value="toTimeFormat(entity.hour)" />
|
<VnLv :label="t('summary.closeHour')" :value="toTimeFormat(entity.hour)" />
|
||||||
<VnLv :label="t('summary.travelingDays')" :value="entity.travelingDays" />
|
<VnLv :label="t('summary.travelingDays')" :value="entity.travelingDays" />
|
||||||
|
|
|
@ -2,14 +2,10 @@
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { onMounted, computed } from 'vue';
|
import { onMounted, computed } from 'vue';
|
||||||
import { dashIfEmpty, toCurrency, toDate } from 'src/filters';
|
import { toCurrency } from 'src/filters';
|
||||||
|
|
||||||
import VnPaginate from 'src/components/ui/VnPaginate.vue';
|
import VnPaginate from 'src/components/ui/VnPaginate.vue';
|
||||||
import CardList from 'components/ui/CardList.vue';
|
|
||||||
import VnLv from 'components/ui/VnLv.vue';
|
|
||||||
import ZoneSummary from 'src/pages/Zone/Card/ZoneSummary.vue';
|
import ZoneSummary from 'src/pages/Zone/Card/ZoneSummary.vue';
|
||||||
import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
|
|
||||||
import ZoneFilterPanel from './ZoneFilterPanel.vue';
|
|
||||||
|
|
||||||
import { useSummaryDialog } from 'src/composables/useSummaryDialog';
|
import { useSummaryDialog } from 'src/composables/useSummaryDialog';
|
||||||
import { toTimeFormat } from 'src/filters/date';
|
import { toTimeFormat } from 'src/filters/date';
|
||||||
|
@ -76,35 +72,6 @@ const columns = computed(() => [
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const exprBuilder = (param, value) => {
|
|
||||||
switch (param) {
|
|
||||||
case 'name':
|
|
||||||
return {
|
|
||||||
name: { like: `%${value}%` },
|
|
||||||
};
|
|
||||||
case 'code':
|
|
||||||
return {
|
|
||||||
code: { like: `%${value}%` },
|
|
||||||
};
|
|
||||||
case 'agencyModeFk':
|
|
||||||
return {
|
|
||||||
agencyModeFk: value,
|
|
||||||
};
|
|
||||||
case 'search':
|
|
||||||
if (value) {
|
|
||||||
if (!isNaN(value)) {
|
|
||||||
return { id: value };
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
name: {
|
|
||||||
like: `%${value}%`,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
async function clone(id) {
|
async function clone(id) {
|
||||||
const { data } = await axios.post(`Zones/${id}/clone`);
|
const { data } = await axios.post(`Zones/${id}/clone`);
|
||||||
notify(t('globals.dataSaved'), 'positive');
|
notify(t('globals.dataSaved'), 'positive');
|
||||||
|
@ -123,25 +90,6 @@ onMounted(async () => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<template v-if="stateStore.isHeaderMounted()">
|
|
||||||
<Teleport to="#searchbar">
|
|
||||||
<VnSearchbar
|
|
||||||
data-key="ZoneList"
|
|
||||||
url="Zones"
|
|
||||||
:filter="{
|
|
||||||
include: { relation: 'agencyMode', scope: { fields: ['name'] } },
|
|
||||||
}"
|
|
||||||
:expr-builder="exprBuilder"
|
|
||||||
:label="t('list.searchZone')"
|
|
||||||
:info="t('list.searchInfo')"
|
|
||||||
/>
|
|
||||||
</Teleport>
|
|
||||||
</template>
|
|
||||||
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
|
|
||||||
<QScrollArea class="fit text-grey-8">
|
|
||||||
<ZoneFilterPanel data-key="ZoneList" :expr-builder="exprBuilder" />
|
|
||||||
</QScrollArea>
|
|
||||||
</QDrawer>
|
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<div class="vn-card-list">
|
<div class="vn-card-list">
|
||||||
<VnPaginate
|
<VnPaginate
|
||||||
|
|
|
@ -1,11 +1,72 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
import { useRoute } from 'vue-router';
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
import { useStateStore } from 'stores/useStateStore';
|
||||||
import LeftMenu from 'src/components/LeftMenu.vue';
|
import LeftMenu from 'src/components/LeftMenu.vue';
|
||||||
|
import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
|
||||||
|
import ZoneFilterPanel from './ZoneFilterPanel.vue';
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
const stateStore = useStateStore();
|
const stateStore = useStateStore();
|
||||||
|
const route = useRoute();
|
||||||
|
|
||||||
|
const exprBuilder = (param, value) => {
|
||||||
|
switch (param) {
|
||||||
|
case 'name':
|
||||||
|
return {
|
||||||
|
name: { like: `%${value}%` },
|
||||||
|
};
|
||||||
|
case 'code':
|
||||||
|
return {
|
||||||
|
code: { like: `%${value}%` },
|
||||||
|
};
|
||||||
|
case 'agencyModeFk':
|
||||||
|
return {
|
||||||
|
agencyModeFk: value,
|
||||||
|
};
|
||||||
|
case 'search':
|
||||||
|
if (value) {
|
||||||
|
if (!isNaN(value)) {
|
||||||
|
return { id: value };
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
name: {
|
||||||
|
like: `%${value}%`,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<template v-if="stateStore.isHeaderMounted()">
|
||||||
|
<Teleport to="#searchbar">
|
||||||
|
<VnSearchbar
|
||||||
|
data-key="ZoneList"
|
||||||
|
url="Zones"
|
||||||
|
:filter="{
|
||||||
|
include: { relation: 'agencyMode', scope: { fields: ['name'] } },
|
||||||
|
}"
|
||||||
|
:expr-builder="exprBuilder"
|
||||||
|
:label="t('list.searchZone')"
|
||||||
|
:info="t('list.searchInfo')"
|
||||||
|
custom-route-redirect-name="ZoneSummary"
|
||||||
|
/>
|
||||||
|
</Teleport>
|
||||||
|
</template>
|
||||||
|
<QDrawer
|
||||||
|
v-if="route.name === 'ZoneList'"
|
||||||
|
v-model="stateStore.rightDrawer"
|
||||||
|
side="right"
|
||||||
|
:width="256"
|
||||||
|
show-if-above
|
||||||
|
>
|
||||||
|
<QScrollArea class="fit text-grey-8">
|
||||||
|
<ZoneFilterPanel data-key="ZoneList" :expr-builder="exprBuilder" />
|
||||||
|
</QScrollArea>
|
||||||
|
</QDrawer>
|
||||||
<QDrawer v-model="stateStore.leftDrawer" show-if-above :width="256">
|
<QDrawer v-model="stateStore.leftDrawer" show-if-above :width="256">
|
||||||
<QScrollArea class="fit text-grey-8">
|
<QScrollArea class="fit text-grey-8">
|
||||||
<LeftMenu />
|
<LeftMenu />
|
||||||
|
|
|
@ -1,53 +1,84 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, computed } from 'vue';
|
import { ref, computed, onMounted } from 'vue';
|
||||||
import ZoneFilterPanel from 'components/InvoiceOutNegativeFilter.vue';
|
|
||||||
import VnSubToolbar from 'components/ui/VnSubToolbar.vue';
|
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
|
import VnSubToolbar from 'components/ui/VnSubToolbar.vue';
|
||||||
|
import FetchData from 'components/FetchData.vue';
|
||||||
|
|
||||||
|
import { toDateFormat } from 'src/filters/date.js';
|
||||||
|
import { useWeekdayStore } from 'src/stores/useWeekdayStore';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const arrayData = ref(null);
|
const weekdayStore = useWeekdayStore();
|
||||||
const rows = computed(() => arrayData.value.store.data);
|
|
||||||
|
const details = ref([]);
|
||||||
|
|
||||||
const columns = computed(() => [
|
const columns = computed(() => [
|
||||||
{
|
{
|
||||||
label: t('Province'),
|
label: t('upcomingDeliveries.province'),
|
||||||
//field: '',
|
name: 'province',
|
||||||
//name: '',
|
field: 'name',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('Closing'),
|
label: t('upcomingDeliveries.closing'),
|
||||||
//field: '',
|
name: 'closing',
|
||||||
//name: '',
|
field: 'hour',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t('Id'),
|
label: t('upcomingDeliveries.id'),
|
||||||
//field: '',
|
name: 'id',
|
||||||
//name: '',
|
field: 'zoneFk',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function getWeekDay(jsonDate) {
|
const getWeekDayName = (date) => {
|
||||||
const weekDay = new Date(jsonDate).getDay();
|
const weekDay = new Date(date).getDay();
|
||||||
|
return t(`weekdays.${weekdayStore.weekdays[weekDay].code}`);
|
||||||
|
};
|
||||||
|
|
||||||
return this.days[weekDay].locale;
|
const getHeaderTitle = (date) => {
|
||||||
}
|
return `${getWeekDayName(date)} - ${toDateFormat(date)}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
onMounted(() => weekdayStore.initStore());
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<QDrawer v-model="stateStore.rightDrawer" side="right" :width="256" show-if-above>
|
<FetchData
|
||||||
<QScrollArea class="fit text-grey-8">
|
url="Zones/getUpcomingDeliveries"
|
||||||
<ZoneFilterPanel data-key="ZoneUpcoming" />
|
@on-fetch="(data) => (details = data)"
|
||||||
</QScrollArea>
|
auto-load
|
||||||
</QDrawer>
|
/>
|
||||||
<VnSubToolbar />
|
<VnSubToolbar />
|
||||||
<QPage class="column items-center q-pa-md">
|
<QPage class="column items-center q-pa-md">
|
||||||
<span>
|
<QCard class="full-width">
|
||||||
{{ t(`${getWeekDay(/*detail.shipped*/)}`) }} -
|
<div
|
||||||
{{ t /*'detail.shipped'*/() }}
|
v-for="(detail, index) in details"
|
||||||
</span>
|
:key="index"
|
||||||
<QTable :columns="columns" :rows="rows" class="full-width q-mt-md"> </QTable>
|
class="full-width flex q-mb-lg"
|
||||||
|
>
|
||||||
|
<span class="header">
|
||||||
|
{{ getHeaderTitle(detail.shipped) }}
|
||||||
|
</span>
|
||||||
|
<QTable :columns="columns" :rows="detail.lines" class="full-width" />
|
||||||
|
</div>
|
||||||
|
</QCard>
|
||||||
</QPage>
|
</QPage>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.header {
|
||||||
|
min-width: 100% !important;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding-left: 8px;
|
||||||
|
height: 35px;
|
||||||
|
border-bottom: 1px solid $primary;
|
||||||
|
background-color: black;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -2,8 +2,9 @@ zone:
|
||||||
pageTitles:
|
pageTitles:
|
||||||
zones: Zone
|
zones: Zone
|
||||||
zonesList: Zones
|
zonesList: Zones
|
||||||
|
zoneCreate: Create zone
|
||||||
deliveryList: Delivery days
|
deliveryList: Delivery days
|
||||||
upcomingList: Upcoming deliveries
|
upcomingDeliveries: Upcoming deliveries
|
||||||
list:
|
list:
|
||||||
clone: Clone
|
clone: Clone
|
||||||
id: Id
|
id: Id
|
||||||
|
@ -13,18 +14,15 @@ list:
|
||||||
price: Price
|
price: Price
|
||||||
create: Create zone
|
create: Create zone
|
||||||
openSummary: Details
|
openSummary: Details
|
||||||
confirmCloneTitle: All it's properties will be copied
|
|
||||||
confirmCloneSubtitle: Do you want to clone this zone?
|
|
||||||
searchZone: Search zones
|
searchZone: Search zones
|
||||||
searchInfo: Search zone by id or name
|
searchInfo: Search zone by id or name
|
||||||
|
confirmCloneTitle: All it's properties will be copied
|
||||||
|
confirmCloneSubtitle: Do you want to clone this zone?
|
||||||
create:
|
create:
|
||||||
name: Name
|
name: Name
|
||||||
agency: Agency
|
agency: Agency
|
||||||
close: Close
|
close: Close
|
||||||
price: Price
|
price: Price
|
||||||
type:
|
|
||||||
submit: Save
|
|
||||||
reset: Reset
|
|
||||||
summary:
|
summary:
|
||||||
agency: Agency
|
agency: Agency
|
||||||
price: Price
|
price: Price
|
||||||
|
@ -38,3 +36,7 @@ summary:
|
||||||
filterPanel:
|
filterPanel:
|
||||||
name: Name
|
name: Name
|
||||||
agencyModeFk: Agency
|
agencyModeFk: Agency
|
||||||
|
upcomingDeliveries:
|
||||||
|
province: Province
|
||||||
|
closing: Closing
|
||||||
|
id: Id
|
||||||
|
|
|
@ -2,8 +2,9 @@ zone:
|
||||||
pageTitles:
|
pageTitles:
|
||||||
zones: Zonas
|
zones: Zonas
|
||||||
zonesList: Zonas
|
zonesList: Zonas
|
||||||
|
zoneCreate: Nueva zona
|
||||||
deliveryList: Días de entrega
|
deliveryList: Días de entrega
|
||||||
upcomingList: Próximos repartos
|
upcomingDeliveries: Próximos repartos
|
||||||
list:
|
list:
|
||||||
clone: Clonar
|
clone: Clonar
|
||||||
id: Id
|
id: Id
|
||||||
|
@ -13,18 +14,15 @@ list:
|
||||||
price: Precio
|
price: Precio
|
||||||
create: Crear zona
|
create: Crear zona
|
||||||
openSummary: Detalles
|
openSummary: Detalles
|
||||||
confirmCloneTitle: Todas sus propiedades serán copiadas
|
|
||||||
confirmCloneSubtitle: ¿Seguro que quieres clonar esta zona?
|
|
||||||
searchZone: Buscar zonas
|
searchZone: Buscar zonas
|
||||||
searchInfo: Buscar zonas por identificador o nombre
|
searchInfo: Buscar zonas por identificador o nombre
|
||||||
|
confirmCloneTitle: Todas sus propiedades serán copiadas
|
||||||
|
confirmCloneSubtitle: ¿Seguro que quieres clonar esta zona?
|
||||||
create:
|
create:
|
||||||
name: Nombre
|
name: Nombre
|
||||||
agency: Agencia
|
agency: Agencia
|
||||||
close: Cierre
|
close: Cierre
|
||||||
price: Precio
|
price: Precio
|
||||||
type:
|
|
||||||
submit: Guardar
|
|
||||||
reset: Reiniciar
|
|
||||||
summary:
|
summary:
|
||||||
agency: Agencia
|
agency: Agencia
|
||||||
price: Precio
|
price: Precio
|
||||||
|
@ -38,5 +36,7 @@ summary:
|
||||||
filterPanel:
|
filterPanel:
|
||||||
name: Nombre
|
name: Nombre
|
||||||
agencyModeFk: Agencia
|
agencyModeFk: Agencia
|
||||||
Search zones: Buscar zonas
|
upcomingDeliveries:
|
||||||
You can search by zone reference: Puedes buscar por referencia de la zona
|
province: Provincia
|
||||||
|
closing: Cierre
|
||||||
|
id: Id
|
||||||
|
|
|
@ -11,7 +11,7 @@ export default {
|
||||||
component: RouterView,
|
component: RouterView,
|
||||||
redirect: { name: 'ZoneMain' },
|
redirect: { name: 'ZoneMain' },
|
||||||
menus: {
|
menus: {
|
||||||
main: ['ZoneList', 'ZoneDeliveryList', 'ZoneUpcomingList'],
|
main: ['ZoneList', 'ZoneDeliveryList', 'ZoneUpcomingDeliveries'],
|
||||||
card: ['ZoneBasicData'],
|
card: ['ZoneBasicData'],
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
|
@ -57,6 +57,15 @@ export default {
|
||||||
},
|
},
|
||||||
component: () => import('src/pages/Zone/ZoneCounter.vue'),
|
component: () => import('src/pages/Zone/ZoneCounter.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'ZoneUpcomingDeliveries',
|
||||||
|
path: 'upcoming-deliveries',
|
||||||
|
meta: {
|
||||||
|
title: 'upcomingDeliveries',
|
||||||
|
icon: 'vn:calendar',
|
||||||
|
},
|
||||||
|
component: () => import('src/pages/Zone/ZoneUpcoming.vue'),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -83,82 +92,6 @@ export default {
|
||||||
},
|
},
|
||||||
component: () => import('src/pages/Zone/Card/ZoneBasicData.vue'),
|
component: () => import('src/pages/Zone/Card/ZoneBasicData.vue'),
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// path: '/zone/delivery',
|
|
||||||
// name: 'ZoneDeliveryMain',
|
|
||||||
// component: () => import('src/pages/Zone/ZoneMain.vue'),
|
|
||||||
// redirect: { name: 'ZoneDeliveryList' },
|
|
||||||
// children: [
|
|
||||||
// {
|
|
||||||
// path: 'list',
|
|
||||||
// name: 'ZoneDeliveryList',
|
|
||||||
// meta: {
|
|
||||||
// title: 'deliveryList',
|
|
||||||
// icon: 'today',
|
|
||||||
// },
|
|
||||||
// component: () =>
|
|
||||||
// import('src/pages/Zone/Delivery/ZoneDeliveryList.vue'),
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// path: 'create',
|
|
||||||
// name: 'ZoneDeliveryCreate',
|
|
||||||
// meta: {
|
|
||||||
// title: 'deliveryCreate',
|
|
||||||
// icon: 'create',
|
|
||||||
// },
|
|
||||||
// component: () =>
|
|
||||||
// import('src/pages/Zone/Delivery/ZoneDeliveryCreate.vue'),
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// path: ':id/edit',
|
|
||||||
// name: 'ZoneDeliveryEdit',
|
|
||||||
// meta: {
|
|
||||||
// title: 'deliveryEdit',
|
|
||||||
// icon: 'edit',
|
|
||||||
// },
|
|
||||||
// component: () =>
|
|
||||||
// import('src/pages/Zone/Delivery/ZoneDeliveryCreate.vue'),
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// path: '/zone/upcoming',
|
|
||||||
// name: 'ZoneUpcomingMain',
|
|
||||||
// component: () => import('src/pages/Zone/ZoneMain.vue'),
|
|
||||||
// redirect: { name: 'ZoneUpcomingList' },
|
|
||||||
// children: [
|
|
||||||
// {
|
|
||||||
// path: 'list',
|
|
||||||
// name: 'ZoneUpcomingList',
|
|
||||||
// meta: {
|
|
||||||
// title: 'upcomingList',
|
|
||||||
// icon: 'today',
|
|
||||||
// },
|
|
||||||
// component: () =>
|
|
||||||
// import('src/pages/Zone/Upcoming/ZoneUpcomingList.vue'),
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// path: 'create',
|
|
||||||
// name: 'ZoneUpcomingCreate',
|
|
||||||
// meta: {
|
|
||||||
// title: 'upcomingCreate',
|
|
||||||
// icon: 'create',
|
|
||||||
// },
|
|
||||||
// component: () =>
|
|
||||||
// import('src/pages/Zone/Upcoming/ZoneUpcomingCreate.vue'),
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// path: ':id/edit',
|
|
||||||
// name: 'ZoneUpcomingEdit',
|
|
||||||
// meta: {
|
|
||||||
// title: 'upcomingEdit',
|
|
||||||
// icon: 'edit',
|
|
||||||
// },
|
|
||||||
// component: () =>
|
|
||||||
// import('src/pages/Zone/Upcoming/ZoneUpcomingCreate.vue'),
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue