rt-sim-training-client/src/views/demonstration/index.vue

79 lines
2.1 KiB
Vue
Raw Normal View History

2019-07-26 13:32:43 +08:00
<template>
<div class="app-wrapper">
<el-scrollbar wrapClass="scrollbar-wrapper">
<div class="examList" v-show="listShow" :style="{width: widthLeft+'px'}">
<demon-list ref="demonList" :height="height"></demon-list>
</div>
<drap-left :widthLeft="widthLeft" @drapWidth="drapWidth"></drap-left>
<transition>
<router-view :productList="productList"></router-view>
</transition>
</el-scrollbar>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import demonList from './list/demonList';
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
import drapLeft from '@/views/components/drapLeft/index';
import localStore from 'storejs';
export default {
name: 'Exam',
components: {
demonList,
drapLeft
},
mixins: [WindowResizeHandler],
data() {
return {
height: 0,
listShow: true,
widthLeft: 450,
productList: [],
}
},
computed: {
...mapGetters([
'lessonbar',
])
},
watch: {
'lessonbar.opened': function (val) {
this.listShow = val;
this.resizeHandler();
}
},
mounted() {
this.widthLeft = Number(localStore.get('LeftWidth'));
},
methods: {
resizeHandler() {
this.height = this._clientHeight;
},
refresh() {
this.$refs && this.$refs.demonList && this.$refs.demonList.refresh();
},
drapWidth(width) {
this.widthLeft = Number(width);
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
overflow: hidden;
}
.examList {
float: left;
}
</style>