feat: refs #8322 added RouteRoadmap and Agency
This commit is contained in:
parent
c8bbb7c08b
commit
f01ed28d95
|
@ -2,11 +2,12 @@
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
|
|
||||||
import VnTable from 'components/VnTable/VnTable.vue';
|
import VnTable from 'components/VnTable/VnTable.vue';
|
||||||
|
import VnSection from 'src/components/common/VnSection.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const dataKey = 'AgencyList';
|
||||||
function navigate(id) {
|
function navigate(id) {
|
||||||
router.push({ path: `/agency/${id}` });
|
router.push({ path: `/agency/${id}` });
|
||||||
}
|
}
|
||||||
|
@ -67,26 +68,32 @@ const columns = computed(() => [
|
||||||
]);
|
]);
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<VnSearchbar
|
<VnSection
|
||||||
:info="t('You can search by name')"
|
:data-key="dataKey"
|
||||||
:label="t('Search agency')"
|
:columns="columns"
|
||||||
data-key="AgencyList"
|
prefix="agency"
|
||||||
:expr-builder="exprBuilder"
|
:right-filter="false"
|
||||||
/>
|
:array-data-props="{
|
||||||
<div class="list-container">
|
url: 'Agencies',
|
||||||
<div class="list">
|
order: 'name',
|
||||||
<VnTable
|
exprBuilder,
|
||||||
data-key="AgencyList"
|
}"
|
||||||
url="Agencies"
|
>
|
||||||
order="name"
|
<template #body>
|
||||||
:columns="columns"
|
<div class="list-container">
|
||||||
:right-search="false"
|
<div class="list">
|
||||||
:use-model="true"
|
<VnTable
|
||||||
redirect="agency"
|
:data-key="dataKey"
|
||||||
default-mode="card"
|
:columns="columns"
|
||||||
/>
|
:right-search="false"
|
||||||
|
:use-model="true"
|
||||||
|
redirect="agency"
|
||||||
|
default-mode="card"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
|
</VnSection>
|
||||||
</template>
|
</template>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.list {
|
.list {
|
||||||
|
@ -104,8 +111,6 @@ const columns = computed(() => [
|
||||||
es:
|
es:
|
||||||
isOwn: Tiene propietario
|
isOwn: Tiene propietario
|
||||||
isAnyVolumeAllowed: Permite cualquier volumen
|
isAnyVolumeAllowed: Permite cualquier volumen
|
||||||
Search agency: Buscar agencia
|
|
||||||
You can search by name: Puedes buscar por nombre
|
|
||||||
en:
|
en:
|
||||||
isOwn: Has owner
|
isOwn: Has owner
|
||||||
isAnyVolumeAllowed: Allows any volume
|
isAnyVolumeAllowed: Allows any volume
|
||||||
|
|
|
@ -1,17 +1,7 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import AgencyDescriptor from 'pages/Route/Agency/Card/AgencyDescriptor.vue';
|
import AgencyDescriptor from 'pages/Route/Agency/Card/AgencyDescriptor.vue';
|
||||||
import VnCard from 'components/common/VnCard.vue';
|
import VnCardBeta from 'src/components/common/VnCardBeta.vue';
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<VnCard
|
<VnCardBeta data-key="Agency" base-url="Agencies" :descriptor="AgencyDescriptor" />
|
||||||
data-key="Agency"
|
|
||||||
base-url="Agencies"
|
|
||||||
:descriptor="AgencyDescriptor"
|
|
||||||
search-data-key="AgencyList"
|
|
||||||
:searchbar-props="{
|
|
||||||
url: 'Agencies',
|
|
||||||
label: 'agency.searchBar.label',
|
|
||||||
info: 'agency.searchBar.info',
|
|
||||||
}"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
agency:
|
agency:
|
||||||
|
search: Search agency
|
||||||
|
searchInfo: You can search by name
|
||||||
isOwn: Own
|
isOwn: Own
|
||||||
isAnyVolumeAllowed: Any volume allowed
|
isAnyVolumeAllowed: Any volume allowed
|
||||||
notification:
|
notification:
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
agency:
|
agency:
|
||||||
|
search: Buscar agencia
|
||||||
|
searchInfo: Puedes buscar por nombre
|
||||||
isOwn: Propio
|
isOwn: Propio
|
||||||
isAnyVolumeAllowed: Cualquier volumen
|
isAnyVolumeAllowed: Cualquier volumen
|
||||||
removeItem: Agencia eliminada correctamente
|
removeItem: Agencia eliminada correctamente
|
||||||
|
|
|
@ -1,19 +1,7 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import VnCard from 'components/common/VnCard.vue';
|
import VnCardBeta from 'components/common/VnCardBeta.vue';
|
||||||
import RoadmapDescriptor from 'pages/Route/Roadmap/RoadmapDescriptor.vue';
|
import RoadmapDescriptor from 'pages/Route/Roadmap/RoadmapDescriptor.vue';
|
||||||
import RoadmapFilter from 'pages/Route/Roadmap/RoadmapFilter.vue';
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<VnCard
|
<VnCardBeta data-key="Roadmap" base-url="Roadmaps" :descriptor="RoadmapDescriptor" />
|
||||||
data-key="Roadmap"
|
|
||||||
base-url="Roadmaps"
|
|
||||||
:descriptor="RoadmapDescriptor"
|
|
||||||
:filter-panel="RoadmapFilter"
|
|
||||||
search-data-key="RoadmapList"
|
|
||||||
:searchbar-props="{
|
|
||||||
url: 'Roadmaps',
|
|
||||||
label: 'Search roadmap',
|
|
||||||
info: 'You can search by roadmap id or customer name',
|
|
||||||
}"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -15,11 +15,13 @@ import RoadmapSummary from 'pages/Route/Roadmap/RoadmapSummary.vue';
|
||||||
import VnConfirm from 'components/ui/VnConfirm.vue';
|
import VnConfirm from 'components/ui/VnConfirm.vue';
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
import VnInputTime from 'src/components/common/VnInputTime.vue';
|
import VnInputTime from 'src/components/common/VnInputTime.vue';
|
||||||
|
import VnSection from 'src/components/common/VnSection.vue';
|
||||||
|
|
||||||
const { viewSummary } = useSummaryDialog();
|
const { viewSummary } = useSummaryDialog();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const quasar = useQuasar();
|
const quasar = useQuasar();
|
||||||
const selectedRows = ref([]);
|
const selectedRows = ref([]);
|
||||||
|
const dataKey = 'RoadmapList';
|
||||||
const columns = computed(() => [
|
const columns = computed(() => [
|
||||||
{
|
{
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
@ -112,7 +114,7 @@ const removeSelection = async () => {
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
selectedRows.value.map((roadmap) => {
|
selectedRows.value.map((roadmap) => {
|
||||||
axios.delete(`Roadmaps/${roadmap.id}`);
|
axios.delete(`Roadmaps/${roadmap.id}`);
|
||||||
})
|
}),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -131,11 +133,6 @@ function confirmRemove() {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<VnSearchbar
|
|
||||||
data-key="RoadmapList"
|
|
||||||
:label="t('Search roadmaps')"
|
|
||||||
:info="t('You can search by roadmap reference')"
|
|
||||||
/>
|
|
||||||
<QDialog v-model="isCloneDialogOpen">
|
<QDialog v-model="isCloneDialogOpen">
|
||||||
<QCard style="min-width: 350px">
|
<QCard style="min-width: 350px">
|
||||||
<QCardSection>
|
<QCardSection>
|
||||||
|
@ -177,39 +174,49 @@ function confirmRemove() {
|
||||||
</QBtn>
|
</QBtn>
|
||||||
</template>
|
</template>
|
||||||
</VnSubToolbar>
|
</VnSubToolbar>
|
||||||
<VnTable
|
<VnSection
|
||||||
ref="tableRef"
|
:data-key="dataKey"
|
||||||
data-key="RoadmapList"
|
|
||||||
url="roadmaps"
|
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:right-search="true"
|
prefix="route.roadmap"
|
||||||
:use-model="true"
|
:array-data-props="{
|
||||||
default-mode="table"
|
url: 'roadmaps',
|
||||||
v-model:selected="selectedRows"
|
|
||||||
table-height="85vh"
|
|
||||||
:table="{
|
|
||||||
selection: 'multiple',
|
|
||||||
}"
|
}"
|
||||||
redirect="route/roadmap"
|
|
||||||
:create="{
|
|
||||||
urlCreate: 'Roadmaps',
|
|
||||||
title: t('Create routemap'),
|
|
||||||
onDataSaved: ({ id }) => tableRef.redirect(id),
|
|
||||||
formInitialData: {},
|
|
||||||
}"
|
|
||||||
:disable-option="{ card: true }"
|
|
||||||
>
|
>
|
||||||
<template #column-etd="{ row }">
|
<template #body>
|
||||||
{{ toDateHourMin(row.etd) }}
|
<VnTable
|
||||||
|
ref="tableRef"
|
||||||
|
:data-key="dataKey"
|
||||||
|
:columns="columns"
|
||||||
|
:right-search="true"
|
||||||
|
:use-model="true"
|
||||||
|
default-mode="table"
|
||||||
|
v-model:selected="selectedRows"
|
||||||
|
table-height="85vh"
|
||||||
|
:table="{
|
||||||
|
selection: 'multiple',
|
||||||
|
}"
|
||||||
|
redirect="route/roadmap"
|
||||||
|
:create="{
|
||||||
|
urlCreate: 'Roadmaps',
|
||||||
|
title: t('Create routemap'),
|
||||||
|
onDataSaved: ({ id }) => tableRef.redirect(id),
|
||||||
|
formInitialData: {},
|
||||||
|
}"
|
||||||
|
:disable-option="{ card: true }"
|
||||||
|
>
|
||||||
|
<template #column-etd="{ row }">
|
||||||
|
{{ toDateHourMin(row.etd) }}
|
||||||
|
</template>
|
||||||
|
<template #column-supplierFk="{ row }">
|
||||||
|
{{ row.supplierFk }}
|
||||||
|
</template>
|
||||||
|
<template #more-create-dialog="{ data }">
|
||||||
|
<VnInputDate v-model="data.etd" />
|
||||||
|
<VnInputTime v-model="data.etd" />
|
||||||
|
</template>
|
||||||
|
</VnTable>
|
||||||
</template>
|
</template>
|
||||||
<template #column-supplierFk="{ row }">
|
</VnSection>
|
||||||
{{ row.supplierFk }}
|
|
||||||
</template>
|
|
||||||
<template #more-create-dialog="{ data }">
|
|
||||||
<VnInputDate v-model="data.etd" />
|
|
||||||
<VnInputTime v-model="data.etd" />
|
|
||||||
</template>
|
|
||||||
</VnTable>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
route:
|
route:
|
||||||
|
roadmap:
|
||||||
|
search: Search roadmap
|
||||||
|
searchInfo: You can search by roadmap reference
|
||||||
params:
|
params:
|
||||||
etd: ETD
|
etd: ETD
|
||||||
tractorPlate: Plate
|
tractorPlate: Plate
|
||||||
|
@ -52,4 +55,4 @@ route:
|
||||||
clientFk: Client id
|
clientFk: Client id
|
||||||
shipped: Preparation date
|
shipped: Preparation date
|
||||||
viewCmr: View CMR
|
viewCmr: View CMR
|
||||||
downloadCmrs: Download CMRs
|
downloadCmrs: Download CMRs
|
|
@ -1,4 +1,7 @@
|
||||||
route:
|
route:
|
||||||
|
roadmap:
|
||||||
|
search: Buscar troncales
|
||||||
|
searchInfo: Puedes buscar por referencia del troncal
|
||||||
params:
|
params:
|
||||||
agencyModeName: Agencia Ruta
|
agencyModeName: Agencia Ruta
|
||||||
agencyAgreement: Agencia Acuerdo
|
agencyAgreement: Agencia Acuerdo
|
||||||
|
@ -52,4 +55,4 @@ route:
|
||||||
clientFk: Id cliente
|
clientFk: Id cliente
|
||||||
shipped: Fecha preparación
|
shipped: Fecha preparación
|
||||||
viewCmr: Ver CMR
|
viewCmr: Ver CMR
|
||||||
downloadCmrs: Descargar CMRs
|
downloadCmrs: Descargar CMRs
|
|
@ -1,91 +1,112 @@
|
||||||
import { RouterView } from 'vue-router';
|
import { RouterView } from 'vue-router';
|
||||||
|
|
||||||
|
const agencyCard = {
|
||||||
|
path: ':id',
|
||||||
|
name: 'AgencyCard',
|
||||||
|
component: () => import('src/pages/Route/Agency/Card/AgencyCard.vue'),
|
||||||
|
redirect: { name: 'AgencySummary' },
|
||||||
|
meta: {
|
||||||
|
menu: ['AgencyBasicData', 'AgencyModes', 'AgencyWorkCenters', 'AgencyLog'],
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name: 'AgencySummary',
|
||||||
|
path: 'summary',
|
||||||
|
meta: {
|
||||||
|
title: 'summary',
|
||||||
|
icon: 'view_list',
|
||||||
|
},
|
||||||
|
component: () => import('src/pages/Route/Agency/Card/AgencySummary.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'AgencyBasicData',
|
||||||
|
path: 'basic-data',
|
||||||
|
meta: {
|
||||||
|
title: 'basicData',
|
||||||
|
icon: 'vn:settings',
|
||||||
|
},
|
||||||
|
component: () => import('pages/Route/Agency/Card/AgencyBasicData.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'workCenter',
|
||||||
|
name: 'AgencyWorkCenterCard',
|
||||||
|
redirect: { name: 'AgencyWorkCenters' },
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
name: 'AgencyWorkCenters',
|
||||||
|
meta: {
|
||||||
|
icon: 'apartment',
|
||||||
|
title: 'workCenters',
|
||||||
|
},
|
||||||
|
component: () =>
|
||||||
|
import('src/pages/Route/Agency/Card/AgencyWorkcenter.vue'),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'modes',
|
||||||
|
name: 'AgencyModesCard',
|
||||||
|
redirect: { name: 'AgencyModes' },
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
name: 'AgencyModes',
|
||||||
|
meta: {
|
||||||
|
icon: 'format_list_bulleted',
|
||||||
|
title: 'modes',
|
||||||
|
},
|
||||||
|
component: () =>
|
||||||
|
import('src/pages/Route/Agency/Card/AgencyModes.vue'),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'AgencyLog',
|
||||||
|
path: 'log',
|
||||||
|
meta: {
|
||||||
|
title: 'log',
|
||||||
|
icon: 'history',
|
||||||
|
},
|
||||||
|
component: () => import('src/pages/Route/Agency/Card/AgencyLog.vue'),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
path: '/agency',
|
|
||||||
name: 'Agency',
|
name: 'Agency',
|
||||||
|
path: '/agency',
|
||||||
meta: {
|
meta: {
|
||||||
title: 'agency',
|
title: 'agency',
|
||||||
icon: 'garage_home',
|
icon: 'garage_home',
|
||||||
moduleName: 'Agency',
|
moduleName: 'Agency',
|
||||||
},
|
},
|
||||||
component: RouterView,
|
component: RouterView,
|
||||||
redirect: { name: 'AgencyCard' },
|
redirect: { name: 'RouteMain' },
|
||||||
menus: {
|
|
||||||
main: [],
|
|
||||||
card: ['AgencyBasicData', 'AgencyModes', 'AgencyWorkCenters', 'AgencyLog'],
|
|
||||||
},
|
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/agency/:id',
|
name: 'AgencyMain',
|
||||||
name: 'AgencyCard',
|
path: '',
|
||||||
component: () => import('src/pages/Route/Agency/Card/AgencyCard.vue'),
|
component: () => import('src/components/common/VnModule.vue'),
|
||||||
redirect: { name: 'AgencySummary' },
|
redirect: { name: 'AgencyIndexMain' },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
name: 'AgencySummary',
|
name: 'AgencyIndexMain',
|
||||||
path: 'summary',
|
path: '',
|
||||||
meta: {
|
redirect: { name: 'AgencyList' },
|
||||||
title: 'summary',
|
component: () => import('src/pages/Route/Agency/AgencyList.vue'),
|
||||||
icon: 'view_list',
|
|
||||||
},
|
|
||||||
component: () =>
|
|
||||||
import('src/pages/Route/Agency/Card/AgencySummary.vue'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'AgencyBasicData',
|
|
||||||
path: 'basic-data',
|
|
||||||
meta: {
|
|
||||||
title: 'basicData',
|
|
||||||
icon: 'vn:settings',
|
|
||||||
},
|
|
||||||
component: () =>
|
|
||||||
import('pages/Route/Agency/Card/AgencyBasicData.vue'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'workCenter',
|
|
||||||
name: 'AgencyWorkCenterCard',
|
|
||||||
redirect: { name: 'AgencyWorkCenters' },
|
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
name: 'AgencyList',
|
||||||
name: 'AgencyWorkCenters',
|
path: 'list',
|
||||||
meta: {
|
meta: {
|
||||||
icon: 'apartment',
|
title: 'list',
|
||||||
title: 'workCenters',
|
icon: 'view_list',
|
||||||
},
|
},
|
||||||
component: () =>
|
|
||||||
import(
|
|
||||||
'src/pages/Route/Agency/Card/AgencyWorkcenter.vue'
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
|
agencyCard,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'modes',
|
|
||||||
name: 'AgencyModesCard',
|
|
||||||
redirect: { name: 'AgencyModes' },
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: '',
|
|
||||||
name: 'AgencyModes',
|
|
||||||
meta: {
|
|
||||||
icon: 'format_list_bulleted',
|
|
||||||
title: 'modes',
|
|
||||||
},
|
|
||||||
component: () =>
|
|
||||||
import('src/pages/Route/Agency/Card/AgencyModes.vue'),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'AgencyLog',
|
|
||||||
path: 'log',
|
|
||||||
meta: {
|
|
||||||
title: 'log',
|
|
||||||
icon: 'history',
|
|
||||||
},
|
|
||||||
component: () => import('src/pages/Route/Agency/Card/AgencyLog.vue'),
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,5 +1,44 @@
|
||||||
import { RouterView } from 'vue-router';
|
import { RouterView } from 'vue-router';
|
||||||
|
|
||||||
|
const roadmapCard = {
|
||||||
|
path: ':id',
|
||||||
|
name: 'RoadmapCard',
|
||||||
|
component: () => import('src/pages/Route/Roadmap/RoadmapCard.vue'),
|
||||||
|
redirect: { name: 'RoadmapSummary' },
|
||||||
|
meta: {
|
||||||
|
menu: ['RoadmapBasicData', 'RoadmapStops'],
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name: 'RoadmapSummary',
|
||||||
|
path: 'summary',
|
||||||
|
meta: {
|
||||||
|
title: 'summary',
|
||||||
|
icon: 'open_in_new',
|
||||||
|
},
|
||||||
|
component: () => import('pages/Route/Roadmap/RoadmapSummary.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'RoadmapBasicData',
|
||||||
|
path: 'basic-data',
|
||||||
|
meta: {
|
||||||
|
title: 'basicData',
|
||||||
|
icon: 'vn:settings',
|
||||||
|
},
|
||||||
|
component: () => import('pages/Route/Roadmap/RoadmapBasicData.vue'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'RoadmapStops',
|
||||||
|
path: 'stops',
|
||||||
|
meta: {
|
||||||
|
title: 'stops',
|
||||||
|
icon: 'vn:lines',
|
||||||
|
},
|
||||||
|
component: () => import('pages/Route/Roadmap/RoadmapStops.vue'),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
path: '/route/roadmap',
|
path: '/route/roadmap',
|
||||||
name: 'Roadmap',
|
name: 'Roadmap',
|
||||||
|
@ -9,43 +48,30 @@ export default {
|
||||||
moduleName: 'Roadmap',
|
moduleName: 'Roadmap',
|
||||||
},
|
},
|
||||||
component: RouterView,
|
component: RouterView,
|
||||||
redirect: { name: 'RouteMain' },
|
redirect: { name: 'RoadmapMain' },
|
||||||
menus: {
|
|
||||||
card: ['RoadmapBasicData', 'RoadmapStops'],
|
|
||||||
},
|
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
name: 'RouteRoadmapCard',
|
name: 'RoadmapMain',
|
||||||
path: ':id',
|
path: '',
|
||||||
component: () => import('src/pages/Route/Roadmap/RoadmapCard.vue'),
|
component: () => import('src/components/common/VnModule.vue'),
|
||||||
redirect: { name: 'RoadmapSummary' },
|
redirect: { name: 'RoadmapIndexMain' },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
name: 'RoadmapSummary',
|
name: 'RoadmapIndexMain',
|
||||||
path: 'summary',
|
path: '',
|
||||||
meta: {
|
redirect: { name: 'RoadmapList' },
|
||||||
title: 'summary',
|
component: () => import('src/pages/Route/RouteRoadmap.vue'),
|
||||||
icon: 'open_in_new',
|
children: [
|
||||||
},
|
{
|
||||||
component: () => import('pages/Route/Roadmap/RoadmapSummary.vue'),
|
name: 'RoadmapList',
|
||||||
},
|
path: 'list',
|
||||||
{
|
meta: {
|
||||||
name: 'RoadmapBasicData',
|
title: 'roadmapList',
|
||||||
path: 'basic-data',
|
icon: 'view_list',
|
||||||
meta: {
|
},
|
||||||
title: 'basicData',
|
},
|
||||||
icon: 'vn:settings',
|
roadmapCard,
|
||||||
},
|
],
|
||||||
component: () => import('pages/Route/Roadmap/RoadmapBasicData.vue'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'RoadmapStops',
|
|
||||||
path: 'stops',
|
|
||||||
meta: {
|
|
||||||
title: 'stops',
|
|
||||||
icon: 'vn:lines',
|
|
||||||
},
|
|
||||||
component: () => import('pages/Route/Roadmap/RoadmapStops.vue'),
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue