This commit is contained in:
sakuya 2021-06-06 22:54:59 +08:00
parent d82d5ebe7f
commit b4c2d0d79c
8 changed files with 53 additions and 10 deletions

View File

@ -1,6 +1,6 @@
{
"name": "SCUI-Admin",
"version": "1.1.4",
"version": "1.1.5",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",

View File

@ -3,7 +3,7 @@ const DEFAULT_CONFIG = {
APP_NAME: "SCUI",
//版本号
APP_VER: "1.1.4",
APP_VER: "1.1.5",
//接口地址
API_URL: "",

View File

@ -3,14 +3,14 @@
<el-alert title="无子集菜单" center type="info" :closable="false"></el-alert>
</div>
<template v-for="navMenu in navMenus" v-bind:key="navMenu">
<el-menu-item v-if="!navMenu.children" :index="navMenu.path">
<el-menu-item v-if="!hasChildren(navMenu)" :index="navMenu.path">
<a v-if="navMenu.meta&&navMenu.meta.type=='link'" :href="navMenu.path" target="_blank" @click.stop='a'></a>
<i v-if="navMenu.meta&&navMenu.meta.icon" :class="navMenu.meta.icon || 'el-icon-menu'"></i>
<template #title>
<span>{{navMenu.meta.title}}</span>
</template>
</el-menu-item>
<el-submenu v-if="navMenu.children" :index="navMenu.path">
<el-submenu v-else :index="navMenu.path">
<template #title>
<i v-if="navMenu.meta&&navMenu.meta.icon" :class="navMenu.meta.icon || 'el-icon-menu'"></i>
<span>{{navMenu.meta.title}}</span>
@ -28,7 +28,18 @@
return {}
},
methods: {
a(){}
a(){},
hasChildren(item){
var flag = true
if (item.children) {
if (item.children.every(item => item.meta.hidden)){
flag = false
}
}else{
flag = false
}
return flag;
}
}
}
</script>

View File

@ -5,9 +5,11 @@
<i class="el-icon-s-fold"></i>
</div>
<el-breadcrumb separator-class="el-icon-arrow-right" class="hidden-sm-and-down">
<template v-for="(item) in breadList" v-bind:key="item" >
<el-breadcrumb-item v-if="item.path !='/'">{{item.meta.title}}</el-breadcrumb-item>
</template>
<transition-group name="breadcrumb" mode="out-in">
<template v-for="item in breadList" :key="item.meta.title" >
<el-breadcrumb-item v-if="item.path!='/' && !item.meta.hiddenBreadcrumb" :key="item.meta.title">{{item.meta.title}}</el-breadcrumb-item>
</template>
</transition-group>
</el-breadcrumb>
</div>
<div class="center-panel"></div>
@ -40,3 +42,9 @@
}
}
</script>
<style scoped>
.breadcrumb-enter-active,.breadcrumb-leave-active {transition: all 0.3s;}
.breadcrumb-enter-from,.breadcrumb-leave-active {opacity: 0;transform: translateX(20px);}
.breadcrumb-leave-active {position: absolute;}
</style>

View File

@ -24,7 +24,7 @@
<h2>{{ pmenu.meta.title }}</h2>
</div>
<div class="adminui-side-scroll">
<el-menu :default-active="$route.fullPath" router :collapse="menuIsCollapse">
<el-menu :default-active="$route.meta.active || $route.fullPath" router :collapse="menuIsCollapse">
<NavMenu :navMenus="nextMenu"></NavMenu>
</el-menu>
</div>
@ -59,7 +59,7 @@
<h2>{{ pmenu.meta.title }}</h2>
</div>
<div class="adminui-side-scroll">
<el-menu :default-active="$route.fullPath" router :collapse="menuIsCollapse">
<el-menu :default-active="$route.meta.active || $route.fullPath" router :collapse="menuIsCollapse">
<NavMenu :navMenus="nextMenu"></NavMenu>
</el-menu>
</div>

View File

@ -140,6 +140,7 @@ function filterAsyncRouter(routerMap) {
path: item.path,
name: item.name,
meta: item.meta,
redirect: item.redirect,
children: item.children ? filterAsyncRouter(item.children) : null,
component: loadComponent(item.component)
}

View File

@ -22,6 +22,19 @@
data() {
return {
activities: [
{
content: [
"[新增] 统计列表、日历计划模板",
"[新增] 表单表格组件",
"[新增] 面包屑动画",
"[新增] 路由meta.active属性",
"[新增] 路由meta.hiddenBreadcrumb属性",
"[新增] 路由redirect属性",
"[优化] 子菜单隐藏无效",
"[修复] scEcharts动画失效"
],
timestamp: '2021-06-06'
},
{
content: [
"[优化] 代码生成器重构移位"

View File

@ -29,12 +29,20 @@
<el-form-item label="路由地址" prop="path">
<el-input v-model="form.path" clearable placeholder=""></el-input>
</el-form-item>
<el-form-item label="重定向" prop="redirect">
<el-input v-model="form.redirect" clearable placeholder=""></el-input>
</el-form-item>
<el-form-item label="菜单高亮" prop="active">
<el-input v-model="form.active" clearable placeholder=""></el-input>
<div class="el-form-item-msg">子节点或详情页需要高亮的上级菜单路由地址</div>
</el-form-item>
<el-form-item label="视图" prop="component">
<el-autocomplete v-model="form.component" :fetch-suggestions="querySearch" :debounce="10" clearable placeholder=""></el-autocomplete>
<div class="el-form-item-msg">如父节点链接或Iframe等没有视图的菜单不需要填写</div>
</el-form-item>
<el-form-item label="是否隐藏" prop="meta.hidden">
<el-checkbox v-model="form.meta.hidden">隐藏菜单</el-checkbox>
<el-checkbox v-model="form.meta.hiddenBreadcrumb">隐藏面包屑</el-checkbox>
<div class="el-form-item-msg">菜单不显示在导航中但用户依然可以访问例如详情页</div>
</el-form-item>
<el-form-item>
@ -59,9 +67,11 @@
name: "",
path: "",
component: "",
redirect: "",
meta:{
title: "",
icon: "",
active: "",
type: "menu"
}
},