|
|
@@ -69,14 +69,36 @@ function filterRoutes(routes, parent) {
|
|
|
routes.forEach((route) => {
|
|
|
const authRoute = state.addRoutes.find(authRoute => (authRoute[permission.RESOURCE_KEY] === route.path))
|
|
|
if (authRoute) {
|
|
|
- route.hidden = false
|
|
|
- if (route.meta) {
|
|
|
- route.meta.onlyView = authRoute.onlyView || false
|
|
|
+ if (!route.disabled) {
|
|
|
+ route.hidden = false
|
|
|
+ if (route.meta) {
|
|
|
+ route.meta.onlyView = authRoute.onlyView || false
|
|
|
+ } else {
|
|
|
+ route.meta = { onlyView: authRoute.onlyView }
|
|
|
+ }
|
|
|
+ if (parent) {
|
|
|
+ parent.hidden = false;
|
|
|
+ }
|
|
|
} else {
|
|
|
- route.meta = { onlyView: authRoute.onlyView }
|
|
|
+ authRoute[permission.RESOURCE_KEY] = "";
|
|
|
+ route.hidden = true;
|
|
|
}
|
|
|
- if (parent) {
|
|
|
- parent.hidden = false;
|
|
|
+ } else if (route.sharePath) {
|
|
|
+ const shareRoute = state.addRoutes.find(_route => _route[permission.RESOURCE_KEY] === route.sharePath);
|
|
|
+ if (shareRoute) {
|
|
|
+ route.hidden = false
|
|
|
+ if (route.meta) {
|
|
|
+ route.meta.onlyView = shareRoute.onlyView || false
|
|
|
+ } else {
|
|
|
+ route.meta = { onlyView: shareRoute.onlyView }
|
|
|
+ }
|
|
|
+ if (parent) {
|
|
|
+ parent.hidden = false;
|
|
|
+ }
|
|
|
+ state.addRoutes.push({
|
|
|
+ resourceName: route.name,
|
|
|
+ resourcePath: route.path
|
|
|
+ })
|
|
|
}
|
|
|
} else {
|
|
|
route.hidden = true;
|