diff --git a/src/assets/style/fixed/base.scss b/src/assets/style/fixed/base.scss index 5dae487d..7029db9f 100644 --- a/src/assets/style/fixed/base.scss +++ b/src/assets/style/fixed/base.scss @@ -3,7 +3,6 @@ html, body { margin: 0px; height: 100%; - background-color: $color-bg; font-family: "Arial", "Microsoft YaHei", "黑体", "宋体", sans-serif; #app { position: absolute; diff --git a/src/assets/style/theme/default.scss b/src/assets/style/theme/default.scss index 0ba35df5..984a6d90 100644 --- a/src/assets/style/theme/default.scss +++ b/src/assets/style/theme/default.scss @@ -5,6 +5,9 @@ $color: #409EFF; // 默认主题 .layout-main { &.default { + height: 100vh; + width: 100vw; + background-color: $color-bg; // [全局设置] // 关闭所有卡片的阴影 .el-card { @@ -13,8 +16,6 @@ $color: #409EFF; box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5); } } - height: 100vh; - width: 100vw; // [布局] .el-header { padding: 0px; diff --git a/src/components/core/MainLayout/index.vue b/src/components/core/MainLayout/index.vue index d629a936..e318c84e 100644 --- a/src/components/core/MainLayout/index.vue +++ b/src/components/core/MainLayout/index.vue @@ -5,6 +5,7 @@ + 全屏 @@ -18,6 +19,7 @@ diff --git a/src/store/index.js b/src/store/index.js index 49ce77e9..9bef11d3 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2,11 +2,13 @@ import Vue from 'vue' import Vuex from 'vuex' import menu from './modules/menu' +import fullScreen from './modules/fullScreen' Vue.use(Vuex) export default new Vuex.Store({ modules: { - menu + menu, + fullScreen } }) diff --git a/src/store/modules/fullScreen.js b/src/store/modules/fullScreen.js new file mode 100644 index 00000000..7fa7ddda --- /dev/null +++ b/src/store/modules/fullScreen.js @@ -0,0 +1,40 @@ +export default { + state: { + isFullScreen: false + }, + mutations: { + toggleFullScreen (state) { + const d = document + const body = d.body + const closeFullScreen = () => { + if (d.exitFullscreen) { + d.exitFullscreen() + } else if (d.mozCancelFullScreen) { + d.mozCancelFullScreen() + } else if (d.webkitCancelFullScreen) { + d.webkitCancelFullScreen() + } else if (d.msExitFullscreen) { + d.msExitFullscreen() + } + state.isFullScreen = false + } + const fullScreen = () => { + if (body.requestFullscreen) { + body.requestFullscreen() + } else if (body.mozRequestFullScreen) { + body.mozRequestFullScreen() + } else if (body.webkitRequestFullScreen) { + body.webkitRequestFullScreen() + } else if (body.msRequestFullscreen) { + body.msRequestFullscreen() + } + state.isFullScreen = true + } + if (state.isFullScreen) { + closeFullScreen() + } else { + fullScreen() + } + } + } +}