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