fix: 修改新增编辑等单页面路由层级
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
import { defineStore } from "pinia";
|
import { defineStore } from "pinia";
|
||||||
import { defineAsyncComponent, ref } from "vue";
|
import { defineAsyncComponent, ref, toRaw } from "vue";
|
||||||
import { getRouters } from "@/api/system/menu";
|
import { getRouters } from "@/api/system/menu";
|
||||||
import Layout from '@/layout/index.vue'
|
import Layout from '@/layout/index.vue'
|
||||||
import ParentView from '@/components/ParentView.vue'
|
import ParentView from '@/components/ParentView.vue'
|
||||||
import router from "../router";
|
import router from "../router";
|
||||||
const VueComUrl = import.meta.glob('../views/**/*.vue')
|
const VueComUrl = import.meta.glob('../views/**/*.vue')
|
||||||
|
console.log(VueComUrl, 'VueComUrl');
|
||||||
|
|
||||||
export const usePermisstionStroe = defineStore('permisstion', () => {
|
export const usePermisstionStroe = defineStore('permisstion', () => {
|
||||||
const asyncRouters = ref([])
|
const asyncRouters = ref([])
|
||||||
@@ -21,6 +22,8 @@ export const usePermisstionStroe = defineStore('permisstion', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
// 二级页面路由list
|
||||||
|
const slRouters = ref([])
|
||||||
|
|
||||||
const setIsLoadRoutes = (status) => {
|
const setIsLoadRoutes = (status) => {
|
||||||
return isLoadRoutes.value = status
|
return isLoadRoutes.value = status
|
||||||
@@ -30,7 +33,10 @@ export const usePermisstionStroe = defineStore('permisstion', () => {
|
|||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
const sRouter = JSON.parse(JSON.stringify(res.data))
|
const sRouter = JSON.parse(JSON.stringify(res.data))
|
||||||
const mData = JSON.parse(JSON.stringify(res.data))
|
const mData = JSON.parse(JSON.stringify(res.data))
|
||||||
asyncRouters.value = formatAsyncRouters(sRouter)
|
console.log(JSON.parse(JSON.stringify(sRouter)), 'sRouter');
|
||||||
|
const firstFormat = setRouterLevel(JSON.parse(JSON.stringify(sRouter)))
|
||||||
|
console.log(firstFormat, 'firstFormat');
|
||||||
|
asyncRouters.value = formatAsyncRouters(JSON.parse(JSON.stringify(firstFormat)))
|
||||||
menuList.value = [...menuList.value, ...generateMenu(mData)]
|
menuList.value = [...menuList.value, ...generateMenu(mData)]
|
||||||
addAsyncRouters(asyncRouters.value)
|
addAsyncRouters(asyncRouters.value)
|
||||||
isLoadRoutes.value = false
|
isLoadRoutes.value = false
|
||||||
@@ -41,6 +47,21 @@ export const usePermisstionStroe = defineStore('permisstion', () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const setRouterLevel = (routers) => {
|
||||||
|
return routers.filter(item=>{
|
||||||
|
if(item.component === 'Layout') {
|
||||||
|
item.children.forEach(v=>{
|
||||||
|
if(v.children) {
|
||||||
|
slRouters.value = [...toRaw(slRouters.value), ...v.children]
|
||||||
|
delete v.children
|
||||||
|
}
|
||||||
|
})
|
||||||
|
item.children = [...item.children, ...toRaw(slRouters.value)]
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const formatAsyncRouters = (routers) => {
|
const formatAsyncRouters = (routers) => {
|
||||||
return routers.filter(route => {
|
return routers.filter(route => {
|
||||||
if (route.component) {
|
if (route.component) {
|
||||||
@@ -48,8 +69,8 @@ export const usePermisstionStroe = defineStore('permisstion', () => {
|
|||||||
route.component = Layout
|
route.component = Layout
|
||||||
} else if (route.component === 'ParentView') {
|
} else if (route.component === 'ParentView') {
|
||||||
route.component = ParentView
|
route.component = ParentView
|
||||||
}
|
} else {
|
||||||
else {
|
console.log(route.component, 'route.component');
|
||||||
route.component = loadView(route.component)
|
route.component = loadView(route.component)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ const search = (val) => {
|
|||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
//新增
|
//新增
|
||||||
router.push({
|
router.push({
|
||||||
name: 'Requirement/add',
|
name: 'Requirement/edit',
|
||||||
query: {
|
query: {
|
||||||
isAdd: 1
|
isAdd: 1
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user