vben
2020-12-24 819bcbe5263c721f1f77cb277d670a9868b229f7
提交 | 用户 | age
2f6253 1 import type { AppRouteModule } from '/@/router/types';
2
c303ec 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
a0b05e 4 import { t } from '/@/hooks/web/useI18n';
2f6253 5
fc4666 6 const comp: AppRouteModule = {
c303ec 7   path: '/comp',
V 8   name: 'Comp',
9   component: LAYOUT,
10   redirect: '/comp/basic',
11   meta: {
5dc822 12     icon: 'ic:outline-settings-input-component',
a0b05e 13     title: t('routes.demo.comp.comp'),
2f6253 14   },
15
c303ec 16   children: [
2f6253 17     {
c303ec 18       path: 'basic',
2f6253 19       name: 'BasicDemo',
20       component: () => import('/@/views/demo/comp/button/index.vue'),
21       meta: {
a0b05e 22         title: t('routes.demo.comp.basic'),
2f6253 23       },
24     },
e6db0d 25
V 26     {
27       path: 'form',
28       name: 'FormDemo',
29       redirect: '/comp/form/basic',
30       component: getParentLayout('FormDemo'),
31       meta: {
32         // icon: 'mdi:form-select',
33         title: t('routes.demo.form.form'),
34       },
35       children: [
36         {
37           path: 'basic',
38           name: 'FormBasicDemo',
39           component: () => import('/@/views/demo/form/index.vue'),
40           meta: {
41             title: t('routes.demo.form.basic'),
42           },
43         },
44         {
45           path: 'useForm',
46           name: 'UseFormDemo',
47           component: () => import('/@/views/demo/form/UseForm.vue'),
48           meta: {
49             title: t('routes.demo.form.useForm'),
50           },
51         },
52         {
53           path: 'refForm',
54           name: 'RefFormDemo',
55           component: () => import('/@/views/demo/form/RefForm.vue'),
56           meta: {
57             title: t('routes.demo.form.refForm'),
58           },
59         },
60         {
61           path: 'advancedForm',
62           name: 'AdvancedFormDemo',
63           component: () => import('/@/views/demo/form/AdvancedForm.vue'),
64           meta: {
65             title: t('routes.demo.form.advancedForm'),
66           },
67         },
68         {
69           path: 'ruleForm',
70           name: 'RuleFormDemo',
71           component: () => import('/@/views/demo/form/RuleForm.vue'),
72           meta: {
73             title: t('routes.demo.form.ruleForm'),
74           },
75         },
76         {
77           path: 'dynamicForm',
78           name: 'DynamicFormDemo',
79           component: () => import('/@/views/demo/form/DynamicForm.vue'),
80           meta: {
81             title: t('routes.demo.form.dynamicForm'),
82           },
83         },
84         {
85           path: 'customerForm',
86           name: 'CustomerFormDemo',
87           component: () => import('/@/views/demo/form/CustomerForm.vue'),
88           meta: {
89             title: t('routes.demo.form.customerForm'),
90           },
91         },
92       ],
93     },
94     {
95       path: 'table',
96       name: 'TableDemo',
97       redirect: '/comp/table/basic',
98       component: getParentLayout('TableDemo'),
99       meta: {
100         // icon: 'carbon:table-split',
101         title: t('routes.demo.table.table'),
102       },
103
104       children: [
105         {
106           path: 'basic',
107           name: 'TableBasicDemo',
108           component: () => import('/@/views/demo/table/Basic.vue'),
109           meta: {
110             title: t('routes.demo.table.basic'),
111           },
112         },
113         {
114           path: 'treeTable',
115           name: 'TreeTableDemo',
116           component: () => import('/@/views/demo/table/TreeTable.vue'),
117           meta: {
118             title: t('routes.demo.table.treeTable'),
119           },
120         },
121         {
122           path: 'fetchTable',
123           name: 'FetchTableDemo',
124           component: () => import('/@/views/demo/table/FetchTable.vue'),
125           meta: {
126             title: t('routes.demo.table.fetchTable'),
127           },
128         },
129         {
130           path: 'fixedColumn',
131           name: 'FixedColumnDemo',
132           component: () => import('/@/views/demo/table/FixedColumn.vue'),
133           meta: {
134             title: t('routes.demo.table.fixedColumn'),
135           },
136         },
137         {
138           path: 'customerCell',
139           name: 'CustomerCellDemo',
140           component: () => import('/@/views/demo/table/CustomerCell.vue'),
141           meta: {
142             title: t('routes.demo.table.customerCell'),
143           },
144         },
145         {
146           path: 'formTable',
147           name: 'FormTableDemo',
148           component: () => import('/@/views/demo/table/FormTable.vue'),
149           meta: {
150             title: t('routes.demo.table.formTable'),
151           },
152         },
153         {
154           path: 'useTable',
155           name: 'UseTableDemo',
156           component: () => import('/@/views/demo/table/UseTable.vue'),
157           meta: {
158             title: t('routes.demo.table.useTable'),
159           },
160         },
161         {
162           path: 'refTable',
163           name: 'RefTableDemo',
164           component: () => import('/@/views/demo/table/RefTable.vue'),
165           meta: {
166             title: t('routes.demo.table.refTable'),
167           },
168         },
169         {
170           path: 'multipleHeader',
171           name: 'MultipleHeaderDemo',
172           component: () => import('/@/views/demo/table/MultipleHeader.vue'),
173           meta: {
174             title: t('routes.demo.table.multipleHeader'),
175           },
176         },
177         {
178           path: 'mergeHeader',
179           name: 'MergeHeaderDemo',
180           component: () => import('/@/views/demo/table/MergeHeader.vue'),
181           meta: {
182             title: t('routes.demo.table.mergeHeader'),
183           },
184         },
185         {
186           path: 'expandTable',
187           name: 'ExpandTableDemo',
188           component: () => import('/@/views/demo/table/ExpandTable.vue'),
189           meta: {
190             title: t('routes.demo.table.expandTable'),
191           },
192         },
193         {
194           path: 'fixedHeight',
195           name: 'FixedHeightDemo',
196           component: () => import('/@/views/demo/table/FixedHeight.vue'),
197           meta: {
198             title: t('routes.demo.table.fixedHeight'),
199           },
200         },
201         {
202           path: 'footerTable',
203           name: 'FooterTableDemo',
204           component: () => import('/@/views/demo/table/FooterTable.vue'),
205           meta: {
206             title: t('routes.demo.table.footerTable'),
207           },
208         },
209         {
210           path: 'editCellTable',
211           name: 'EditCellTableDemo',
212           component: () => import('/@/views/demo/table/EditCellTable.vue'),
213           meta: {
214             title: t('routes.demo.table.editCellTable'),
215           },
216         },
217         {
218           path: 'editRowTable',
219           name: 'EditRowTableDemo',
220           component: () => import('/@/views/demo/table/EditRowTable.vue'),
221           meta: {
222             title: t('routes.demo.table.editRowTable'),
223           },
224         },
225       ],
226     },
afc726 227     {
c303ec 228       path: 'transition',
371348 229       name: 'transitionDemo',
V 230       component: () => import('/@/views/demo/comp/transition/index.vue'),
231       meta: {
a0b05e 232         title: t('routes.demo.comp.transition'),
371348 233       },
V 234     },
235     {
c303ec 236       path: 'countTo',
afc726 237       name: 'CountTo',
V 238       component: () => import('/@/views/demo/comp/count-to/index.vue'),
239       meta: {
a0b05e 240         title: t('routes.demo.comp.countTo'),
afc726 241       },
V 242     },
e6db0d 243     {
V 244       path: 'tree',
245       name: 'TreeDemo',
246       redirect: '/comp/tree/basic',
247       component: getParentLayout('TreeDemo'),
248       meta: {
249         // icon: 'clarity:tree-view-line',
250         title: t('routes.demo.comp.tree'),
251       },
252       children: [
253         {
254           path: 'basic',
255           name: 'BasicTreeDemo',
256           component: () => import('/@/views/demo/tree/index.vue'),
257           meta: {
258             title: t('routes.demo.comp.treeBasic'),
259           },
260         },
261         {
262           path: 'editTree',
263           name: 'EditTreeDemo',
264           component: () => import('/@/views/demo/tree/EditTree.vue'),
265           meta: {
266             title: t('routes.demo.comp.editTree'),
267           },
268         },
269         {
270           path: 'actionTree',
271           name: 'ActionTreeDemo',
272           component: () => import('/@/views/demo/tree/ActionTree.vue'),
273           meta: {
274             title: t('routes.demo.comp.actionTree'),
275           },
276         },
277       ],
278     },
279     {
280       path: 'editor',
281       name: 'EditorDemo',
282       redirect: '/comp/editor/markdown',
283       component: getParentLayout('EditorDemo'),
284       meta: {
285         // icon: 'carbon:table-split',
286         title: t('routes.demo.editor.editor'),
287       },
288       children: [
289         {
290           path: 'markdown',
7db0c5 291           component: getParentLayout('MarkdownDemo'),
e6db0d 292           name: 'MarkdownDemo',
V 293           meta: {
294             title: t('routes.demo.editor.markdown'),
295           },
7db0c5 296           redirect: '/comp/editor/markdown/index',
V 297           children: [
298             {
299               path: 'index',
300               name: 'MarkDownBasicDemo',
301               component: () => import('/@/views/demo/editor/markdown/index.vue'),
302               meta: {
303                 title: t('routes.demo.editor.tinymceBasic'),
304               },
305             },
306             {
307               path: 'editor',
308               name: 'MarkDownFormDemo',
309               component: () => import('/@/views/demo/editor/markdown/Editor.vue'),
310               meta: {
311                 title: t('routes.demo.editor.tinymceForm'),
312               },
313             },
314           ],
e6db0d 315         },
7db0c5 316
e6db0d 317         {
V 318           path: 'tinymce',
319           component: getParentLayout('TinymceDemo'),
320           name: 'TinymceDemo',
321           meta: {
322             title: t('routes.demo.editor.tinymce'),
323           },
324           redirect: '/comp/editor/tinymce/index',
325           children: [
326             {
327               path: 'index',
328               name: 'TinymceBasicDemo',
329               component: () => import('/@/views/demo/editor/tinymce/index.vue'),
330               meta: {
331                 title: t('routes.demo.editor.tinymceBasic'),
332               },
333             },
334             {
335               path: 'editor',
336               name: 'TinymceFormDemo',
337               component: () => import('/@/views/demo/editor/tinymce/Editor.vue'),
338               meta: {
339                 title: t('routes.demo.editor.tinymceForm'),
340               },
341             },
342           ],
343         },
344       ],
345     },
2f6253 346     {
c303ec 347       path: 'scroll',
2f6253 348       name: 'ScrollDemo',
349       redirect: '/comp/scroll/basic',
c303ec 350       component: getParentLayout('ScrollDemo'),
2f6253 351       meta: {
a0b05e 352         title: t('routes.demo.comp.scroll'),
2f6253 353       },
354       children: [
355         {
356           path: 'basic',
357           name: 'BasicScrollDemo',
358           component: () => import('/@/views/demo/comp/scroll/index.vue'),
359           meta: {
a0b05e 360             title: t('routes.demo.comp.scrollBasic'),
2f6253 361           },
362         },
363         {
364           path: 'action',
365           name: 'ActionScrollDemo',
366           component: () => import('/@/views/demo/comp/scroll/Action.vue'),
367           meta: {
a0b05e 368             title: t('routes.demo.comp.scrollAction'),
2f6253 369           },
370         },
371         {
372           path: 'virtualScroll',
373           name: 'VirtualScrollDemo',
374           component: () => import('/@/views/demo/comp/scroll/VirtualScroll.vue'),
375           meta: {
a0b05e 376             title: t('routes.demo.comp.virtualScroll'),
2f6253 377           },
378         },
379       ],
380     },
381
382     {
c303ec 383       path: 'modal',
2f6253 384       name: 'ModalDemo',
385       component: () => import('/@/views/demo/comp/modal/index.vue'),
386       meta: {
a0b05e 387         title: t('routes.demo.comp.modal'),
2f6253 388       },
389     },
390     {
c303ec 391       path: 'drawer',
2f6253 392       name: 'DrawerDemo',
393       component: () => import('/@/views/demo/comp/drawer/index.vue'),
394       meta: {
a0b05e 395         title: t('routes.demo.comp.drawer'),
2f6253 396       },
397     },
398     {
c303ec 399       path: 'desc',
2f6253 400       name: 'DescDemo',
401       component: () => import('/@/views/demo/comp/desc/index.vue'),
402       meta: {
a0b05e 403         title: t('routes.demo.comp.desc'),
2f6253 404       },
405     },
0f4b84 406
fdeaa0 407     {
c303ec 408       path: 'lazy',
V 409       name: 'LazyDemo',
410       component: getParentLayout('LazyDemo'),
0f4b84 411       redirect: '/comp/lazy/basic',
fdeaa0 412       meta: {
a0b05e 413         title: t('routes.demo.comp.lazy'),
fdeaa0 414       },
0f4b84 415       children: [
V 416         {
417           path: 'basic',
418           name: 'BasicLazyDemo',
419           component: () => import('/@/views/demo/comp/lazy/index.vue'),
420           meta: {
a0b05e 421             title: t('routes.demo.comp.lazyBasic'),
0f4b84 422           },
V 423         },
424         {
425           path: 'transition',
426           name: 'BasicTransitionDemo',
427           component: () => import('/@/views/demo/comp/lazy/Transition.vue'),
428           meta: {
a0b05e 429             title: t('routes.demo.comp.lazyTransition'),
0f4b84 430           },
V 431         },
432       ],
fdeaa0 433     },
2f6253 434     {
c303ec 435       path: 'verify',
2f6253 436       name: 'VerifyDemo',
c303ec 437       component: getParentLayout('VerifyDemo'),
2f6253 438       redirect: '/comp/verify/drag',
439       meta: {
a0b05e 440         title: t('routes.demo.comp.verify'),
2f6253 441       },
442       children: [
443         {
444           path: 'drag',
445           name: 'VerifyDragDemo',
446           component: () => import('/@/views/demo/comp/verify/index.vue'),
447           meta: {
a0b05e 448             title: t('routes.demo.comp.verifyDrag'),
2f6253 449           },
450         },
451         {
452           path: 'rotate',
453           name: 'VerifyRotateDemo',
454           component: () => import('/@/views/demo/comp/verify/Rotate.vue'),
455           meta: {
a0b05e 456             title: t('routes.demo.comp.verifyRotate'),
2f6253 457           },
458         },
459       ],
460     },
461     //
949db9 462
2f6253 463     {
c303ec 464       path: 'qrcode',
2f6253 465       name: 'QrCodeDemo',
466       component: () => import('/@/views/demo/comp/qrcode/index.vue'),
467       meta: {
a0b05e 468         title: t('routes.demo.comp.qrcode'),
2f6253 469       },
470     },
471     {
c303ec 472       path: 'strength-meter',
2f6253 473       name: 'StrengthMeterDemo',
474       component: () => import('/@/views/demo/comp/strength-meter/index.vue'),
475       meta: {
a0b05e 476         title: t('routes.demo.comp.strength'),
2f6253 477       },
478     },
746d4a 479     {
c303ec 480       path: 'upload',
746d4a 481       name: 'UploadDemo',
J 482       component: () => import('/@/views/demo/comp/upload/index.vue'),
483       meta: {
a0b05e 484         title: t('routes.demo.comp.upload'),
746d4a 485       },
J 486     },
5db3ce 487     {
c303ec 488       path: 'loading',
5db3ce 489       name: 'LoadingDemo',
V 490       component: () => import('/@/views/demo/comp/loading/index.vue'),
491       meta: {
a0b05e 492         title: t('routes.demo.comp.loading'),
5db3ce 493       },
V 494     },
2f6253 495   ],
fc4666 496 };
V 497
498 export default comp;