|
1
2
|
import type { AppRouteModule } from '/@/router/types';
|
vben
authored
|
3
|
import { getParentLayout, LAYOUT } from '/@/router/constant';
|
vben
authored
|
4
|
import { t } from '/@/hooks/web/useI18n';
|
|
5
|
|
vben
authored
|
6
|
const feat: AppRouteModule = {
|
vben
authored
|
7
8
9
10
11
12
|
path: '/feat',
name: 'FeatDemo',
component: LAYOUT,
redirect: '/feat/icon',
meta: {
icon: 'ic:outline-featured-play-list',
|
vben
authored
|
13
|
title: t('routes.demo.feat.feat'),
|
|
14
|
},
|
vben
authored
|
15
|
children: [
|
|
16
|
{
|
vben
authored
|
17
|
path: 'icon',
|
vben
authored
|
18
|
name: 'IconDemo',
|
vben
authored
|
19
|
component: () => import('/@/views/demo/feat/icon/index.vue'),
|
vben
authored
|
20
|
meta: {
|
vben
authored
|
21
|
title: t('routes.demo.feat.icon'),
|
vben
authored
|
22
23
24
|
},
},
{
|
vben
authored
|
25
|
path: 'tabs',
|
nebv
authored
|
26
27
28
|
name: 'TabsDemo',
component: () => import('/@/views/demo/feat/tabs/index.vue'),
meta: {
|
vben
authored
|
29
|
title: t('routes.demo.feat.tabs'),
|
nebv
authored
|
30
31
|
},
},
|
vben
authored
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
{
path: 'breadcrumb',
name: 'BreadcrumbDemo',
redirect: '/feat/breadcrumb/flat',
component: getParentLayout('BreadcrumbDemo'),
meta: {
title: t('routes.demo.feat.breadcrumb'),
},
children: [
{
path: 'flat',
name: 'BreadcrumbFlatDemo',
component: () => import('/@/views/demo/feat/breadcrumb/FlatList.vue'),
meta: {
title: t('routes.demo.feat.breadcrumbFlat'),
},
},
{
path: 'flatDetail',
name: 'BreadcrumbFlatDetailDemo',
component: () => import('/@/views/demo/feat/breadcrumb/FlatListDetail.vue'),
meta: {
title: t('routes.demo.feat.breadcrumbFlatDetail'),
hideMenu: true,
hideTab: true,
currentActiveMenu: '/feat/breadcrumb/flat',
},
},
{
path: 'children',
name: 'BreadcrumbChildrenDemo',
component: getParentLayout('BreadcrumbChildrenDemo'),
redirect: '/feat/breadcrumb/children',
meta: {
title: t('routes.demo.feat.breadcrumbFlat'),
},
children: [
{
path: '',
name: 'BreadcrumbChildren',
component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
meta: {
title: t('routes.demo.feat.breadcrumbChildren'),
hideBreadcrumb: true,
},
},
{
path: 'childrenDetail',
name: 'BreadcrumbChildrenDetailDemo',
component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
meta: {
currentActiveMenu: '/feat/breadcrumb/children',
title: t('routes.demo.feat.breadcrumbChildrenDetail'),
hideTab: true,
hideMenu: true,
},
},
],
},
],
},
|
nebv
authored
|
94
95
|
{
|
vben
authored
|
96
|
path: 'context-menu',
|
|
97
98
99
|
name: 'ContextMenuDemo',
component: () => import('/@/views/demo/feat/context-menu/index.vue'),
meta: {
|
vben
authored
|
100
|
title: t('routes.demo.feat.contextMenu'),
|
|
101
102
103
|
},
},
{
|
vben
authored
|
104
|
path: 'download',
|
vben
authored
|
105
106
107
|
name: 'DownLoadDemo',
component: () => import('/@/views/demo/feat/download/index.vue'),
meta: {
|
vben
authored
|
108
|
title: t('routes.demo.feat.download'),
|
vben
authored
|
109
110
111
|
},
},
{
|
vben
authored
|
112
|
path: 'click-out-side',
|
vben
authored
|
113
|
name: 'ClickOutSideDemo',
|
vben
authored
|
114
|
component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
|
vben
authored
|
115
|
meta: {
|
vben
authored
|
116
|
title: t('routes.demo.feat.clickOutSide'),
|
vben
authored
|
117
118
119
|
},
},
{
|
vben
authored
|
120
|
path: 'img-preview',
|
|
121
122
123
|
name: 'ImgPreview',
component: () => import('/@/views/demo/feat/img-preview/index.vue'),
meta: {
|
vben
authored
|
124
|
title: t('routes.demo.feat.imgPreview'),
|
|
125
126
127
|
},
},
{
|
vben
authored
|
128
|
path: 'copy',
|
|
129
130
131
|
name: 'CopyDemo',
component: () => import('/@/views/demo/feat/copy/index.vue'),
meta: {
|
vben
authored
|
132
|
title: t('routes.demo.feat.copy'),
|
|
133
134
135
|
},
},
{
|
vben
authored
|
136
|
path: 'msg',
|
|
137
138
139
|
name: 'MsgDemo',
component: () => import('/@/views/demo/feat/msg/index.vue'),
meta: {
|
vben
authored
|
140
|
title: t('routes.demo.feat.msg'),
|
|
141
142
143
|
},
},
{
|
vben
authored
|
144
|
path: 'watermark',
|
|
145
146
147
|
name: 'WatermarkDemo',
component: () => import('/@/views/demo/feat/watermark/index.vue'),
meta: {
|
vben
authored
|
148
|
title: t('routes.demo.feat.watermark'),
|
|
149
150
151
|
},
},
{
|
vben
authored
|
152
153
154
155
156
157
158
159
|
path: 'ripple',
name: 'RippleDemo',
component: () => import('/@/views/demo/feat/ripple/index.vue'),
meta: {
title: t('routes.demo.feat.ripple'),
},
},
{
|
vben
authored
|
160
|
path: 'full-screen',
|
|
161
162
163
|
name: 'FullScreenDemo',
component: () => import('/@/views/demo/feat/full-screen/index.vue'),
meta: {
|
vben
authored
|
164
|
title: t('routes.demo.feat.fullScreen'),
|
|
165
166
|
},
},
|
vben
authored
|
167
|
{
|
vben
authored
|
168
|
path: 'error-log',
|
vben
authored
|
169
170
171
|
name: 'ErrorLog',
component: () => import('/@/views/sys/error-log/index.vue'),
meta: {
|
vben
authored
|
172
|
title: t('routes.demo.feat.errorLog'),
|
vben
authored
|
173
174
175
|
},
},
{
|
vben
authored
|
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
path: 'excel',
name: 'Excel',
redirect: '/feat/excel/customExport',
component: getParentLayout('Excel'),
meta: {
// icon: 'mdi:microsoft-excel',
title: t('routes.demo.excel.excel'),
},
children: [
{
path: 'customExport',
name: 'CustomExport',
component: () => import('/@/views/demo/excel/CustomExport.vue'),
meta: {
title: t('routes.demo.excel.customExport'),
},
},
{
path: 'jsonExport',
name: 'JsonExport',
component: () => import('/@/views/demo/excel/JsonExport.vue'),
meta: {
title: t('routes.demo.excel.jsonExport'),
},
},
{
path: 'arrayExport',
name: 'ArrayExport',
component: () => import('/@/views/demo/excel/ArrayExport.vue'),
meta: {
title: t('routes.demo.excel.arrayExport'),
},
},
{
path: 'importExcel',
name: 'ImportExcel',
component: () => import('/@/views/demo/excel/ImportExcel.vue'),
meta: {
title: t('routes.demo.excel.importExcel'),
},
},
],
},
{
|
vben
authored
|
221
|
path: 'testTab/:id',
|
vben
authored
|
222
223
224
|
name: 'TestTab',
component: () => import('/@/views/demo/feat/tab-params/index.vue'),
meta: {
|
vben
authored
|
225
|
title: t('routes.demo.feat.tab'),
|
vben
authored
|
226
|
carryParam: true,
|
vben
authored
|
227
228
|
},
},
|
|
229
|
],
|
vben
authored
|
230
231
232
|
};
export default feat;
|