You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.0 KiB

4 years ago
<template>
<div id="app" >
3 years ago
<select-business class="selectBusiness" :showIt.sync="showIt" />
4 years ago
<router-view></router-view>
3 years ago
<vCase :showIt.sync="showIt"></vCase>
4 years ago
</div>
</template>
<script>
import vCase from '@/components/case'
4 years ago
import Setting from '@/setting';
import util from '@/libs/util';
import selectBusiness from '@/components/selectBusiness'
3 years ago
import { mapState, mapMutations } from 'vuex'
4 years ago
export default {
name: 'App',
components: {
vCase,
selectBusiness
},
4 years ago
created () {
//在页面加载时读取localStorage里的状态信息
if (util.local.get(Setting.storeKey) ) {
this.$store.replaceState(Object.assign({}, this.$store.state,util.local.get(Setting.storeKey)))
3 years ago
this.$store.system.replaceState(Object.assign({}, sessionStorage.getItem('systemData')))
4 years ago
}
//在页面刷新时将vuex里的信息保存到localStorage里
window.addEventListener("beforeunload",()=>{
util.local.get(Setting.tokenKey) && util.local.set(Setting.storeKey,this.$store.state)
3 years ago
sessionStorage.setItem('systemData', this.$store.system.state)
4 years ago
})
3 years ago
},
data() {
return {
showIt: true
}
},
methods: {
...mapMutations({
setShowBusiness: 'system/setShowBusiness'
}),
},
watch: {
showIt(newVal) {
if(!newVal && !this.businessKey) {
this.setShowBusiness(true)
}
}
},
computed: {
...mapState({
businessKey: state => state.system.businessKey
})
},
4 years ago
}
3 years ago
</script>
<style scoped>
3 years ago
#app {
min-width: 1300px;
}
3 years ago
.selectBusiness {
width: 100%;
height: 100%;
}
</style>