fix: 修复详情路由无法访问

This commit is contained in:
xieyonghong 2023-02-02 10:37:53 +08:00
parent 00d57cc44a
commit f9e283b190
2 changed files with 24 additions and 15 deletions

View File

@ -1,4 +1,5 @@
import { cloneDeep } from 'lodash-es' import { cloneDeep } from 'lodash-es'
import NotFindPage from '@/views/404.vue'
import { BlankLayoutPage, BasicLayoutPage } from 'components/Layout' import { BlankLayoutPage, BasicLayoutPage } from 'components/Layout'
const pagesComponent = import.meta.glob('../views/**/*.vue', { eager: true }); const pagesComponent = import.meta.glob('../views/**/*.vue', { eager: true });
@ -176,6 +177,7 @@ const findDetailRouteItem = (code: string, url: string): Partial<MenuItem> | nul
if (detailComponent) { if (detailComponent) {
return { return {
url: `${url}/Detail/:id`, url: `${url}/Detail/:id`,
code: `${code}/Detail`,
component: detailComponent, component: detailComponent,
name: '详情信息', name: '详情信息',
isShow: false isShow: false
@ -228,14 +230,16 @@ export function filterAsnycRouter(asyncRouterMap: any, parentCode = '', level =
} else { } else {
const myComponent = resolveComponent(route.code) const myComponent = resolveComponent(route.code)
_route.component = myComponent ? myComponent : BlankLayoutPage; _route.component = myComponent ? myComponent : BlankLayoutPage;
if (myComponent) { if (!!myComponent) {
_route.component = myComponent; _route.component = myComponent;
_route.children.map((r: any) => menusData.push(r)) _route.children.map((r: any) => menusData.push(r))
delete _route.children delete _route.children
} else {
_route.component = BlankLayoutPage
} }
} }
} else { } else {
_route.component = _route.component || resolveComponent(route.code) || BlankLayoutPage; _route.component = route.component || resolveComponent(route.code) || BlankLayoutPage;
} }
menusData.push(_route) menusData.push(_route)
silderMenus.push(silder) silderMenus.push(silder)

View File

@ -1,22 +1,27 @@
<template> <template>
<div class='search'> <BasicLayoutPage
<Search
:columns='columns' >
target='device-instance-search' <div class='search'>
@search='search' <Search
/> :columns='columns'
<Search target='device-instance-search'
type='simple' @search='search'
:columns='columns' />
target='product' <Search
@search='search' type='simple'
/> :columns='columns'
</div> target='product'
@search='search'
/>
</div>
</BasicLayoutPage>
</template> </template>
<script setup name='demoSearch'> <script setup name='demoSearch'>
import { category } from '../../api/device/product' import { category } from '../../api/device/product'
import BasicLayoutPage from '@/components/Layout/BasicLayoutPage.vue'
const columns = [ const columns = [
{ {