vue3版本初版上线 自测已可用

This commit is contained in:
piexlmax
2021-08-26 12:45:41 +08:00
parent adc7f567f9
commit 265e42f513
81 changed files with 4478 additions and 18639 deletions
@@ -1,11 +1,11 @@
<template>
<el-submenu ref="subMenu" :popper-append-to-body="false" :index="routerInfo.name">
<template slot="title">
<el-sub-menu ref="subMenu" :index="routerInfo.name">
<template #title>
<i :class="'el-icon-'+routerInfo.meta.icon" />
<span slot="title">{{ routerInfo.meta.title }}</span>
<span>{{ routerInfo.meta.title }}</span>
</template>
<slot />
</el-submenu>
</el-sub-menu>
</template>
<script>
@@ -1,7 +1,9 @@
<template>
<el-menu-item :index="routerInfo.name" :route="{parameters:routerInfo.parameters}">
<i :class="'el-icon-'+routerInfo.meta.icon" />
<span slot="title">{{ routerInfo.meta.title }}</span>
<template #title>
<span>{{ routerInfo.meta.title }}</span>
</template>
</el-menu-item>
</template>
@@ -2,9 +2,9 @@
<div class="router-history">
<el-tabs
v-model="activeValue"
:closable="!(historys.length===1&&this.$route.name===defaultRouter)"
:closable="!(historys.length===1&&$route.name===defaultRouter)"
type="card"
@contextmenu.prevent.native="openContextMenu($event)"
@contextmenu.prevent="openContextMenu($event)"
@tab-click="changeTab"
@tab-remove="removeTab"
>
@@ -16,7 +16,9 @@
:tab="item"
class="gva-tab"
>
<span slot="label" :style="{color: activeValue===name(item)?activeColor:'#333'}"><i class="dot" :style="{backgroundColor:activeValue===name(item)?activeColor:'#ddd'}" /> {{ item.meta.title }}</span>
<template #label>
<span :style="{color: activeValue===name(item)?activeColor:'#333'}"><i class="dot" :style="{backgroundColor:activeValue===name(item)?activeColor:'#ddd'}" /> {{ item.meta.title }}</span>
</template>
</el-tab-pane>
</el-tabs>
@@ -32,6 +34,8 @@
<script>
import { mapGetters } from 'vuex'
import { emitter } from '@/utils/bus.js'
const getFmtString = (item) => {
return item.name +
JSON.stringify(item.query) +
@@ -75,15 +79,15 @@ export default {
sessionStorage.setItem('historys', JSON.stringify(this.historys))
this.activeValue = window.sessionStorage.getItem('activeValue')
if (now && to && now.name === to.name) {
this.$bus.$emit('reload')
emitter.emit('reload')
}
}
},
created() {
this.$bus.on('mobile', isMobile => {
emitter.on('mobile', isMobile => {
this.isMobile = isMobile
})
this.$bus.on('collapse', isCollapse => {
emitter.on('collapse', isCollapse => {
this.isCollapse = isCollapse
})
const initHistorys = [
@@ -107,8 +111,8 @@ export default {
},
beforeDestroy() {
this.$bus.off('collapse')
this.$bus.off('mobile')
emitter.off('collapse')
emitter.off('mobile')
},
methods: {
name(item) {
@@ -120,7 +124,6 @@ export default {
}
let id = ''
if (e.srcElement.nodeName === 'SPAN') {
console.log(e)
id = e.srcElement.offsetParent.id
} else {
id = e.srcElement.id
@@ -236,7 +239,7 @@ export default {
)
},
changeTab(component) {
const tab = component.$attrs.tab
const tab = component.instance.attrs.tab
this.$router.push({
name: tab.name,
query: tab.query,
+7 -5
View File
@@ -4,7 +4,7 @@
<transition :duration="{ enter: 800, leave: 100 }" mode="out-in" name="el-fade-in-linear">
<el-menu
:collapse="isCollapse"
:collapse-transition="true"
:collapse-transition="false"
:default-active="active"
:background-color="sideMode"
:active-text-color="activeColor"
@@ -25,6 +25,8 @@
<script>
import { mapGetters, mapMutations } from 'vuex'
import AsideComponent from '@/view/layout/aside/asideComponent'
import { emitter } from '@/utils/bus.js'
export default {
name: 'Aside',
components: {
@@ -52,12 +54,12 @@ export default {
this.isCollapse = !this.isCollapse
}
this.$bus.on('collapse', item => {
emitter.on('collapse', item => {
this.isCollapse = item
})
},
beforeDestroy() {
this.$bus.off('collapse')
emitter.off('collapse')
},
methods: {
...mapMutations('history', ['addHistory']),
@@ -84,13 +86,13 @@ export default {
</script>
<style lang="scss">
.el-submenu__title,.el-menu-item{
.el-sub-menu__title,.el-menu-item{
i{
color: inherit !important;
}
}
.el-submenu__title:hover,.el-menu-item:hover{
.el-sub-menu__title:hover,.el-menu-item:hover{
i{
color: inherit !important;
}