|
@@ -1,14 +1,23 @@
|
|
|
<template>
|
|
|
<div class="navbar">
|
|
|
- <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
|
|
+ <hamburger
|
|
|
+ id="hamburger-container"
|
|
|
+ :is-active="sidebar.opened"
|
|
|
+ class="hamburger-container"
|
|
|
+ @toggleClick="toggleSideBar"
|
|
|
+ />
|
|
|
|
|
|
- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
|
|
|
- <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
|
|
|
+ <breadcrumb
|
|
|
+ id="breadcrumb-container"
|
|
|
+ class="breadcrumb-container"
|
|
|
+ v-if="!topNav"
|
|
|
+ />
|
|
|
+ <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" />
|
|
|
|
|
|
<div class="right-menu">
|
|
|
- <template v-if="device!=='mobile'">
|
|
|
+ <template v-if="device !== 'mobile'">
|
|
|
<search id="header-search" class="right-menu-item" />
|
|
|
-
|
|
|
+
|
|
|
<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
|
|
|
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
|
|
|
</el-tooltip>
|
|
@@ -17,19 +26,51 @@
|
|
|
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
|
|
</el-tooltip> -->
|
|
|
<el-tooltip content="版本说明" effect="dark" placement="bottom">
|
|
|
- <version id="version" class="right-menu-item hover-effect" />
|
|
|
+ <version
|
|
|
+ id="version"
|
|
|
+ class="right-menu-item hover-effect"
|
|
|
+ @openMsg="openMsg"
|
|
|
+ />
|
|
|
</el-tooltip>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ append-to-body
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="560px"
|
|
|
+ :show-close="false"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ >
|
|
|
+ <div slot="title" class="hearders">
|
|
|
+ <div class="leftTitle">版本说明</div>
|
|
|
+ <div class="rightBoxs">
|
|
|
+ <img
|
|
|
+ src="@/assets/images/Close@2x.png"
|
|
|
+ alt=""
|
|
|
+ @click="dialogVisible = false"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="dialogSty">
|
|
|
+ <h2>v1.0.0</h2>
|
|
|
+ <p>1.开发中...待完善</p>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisible = false">关 闭</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
|
|
|
|
|
<el-tooltip content="布局大小" effect="dark" placement="bottom">
|
|
|
<size-select id="size-select" class="right-menu-item hover-effect" />
|
|
|
</el-tooltip>
|
|
|
-
|
|
|
</template>
|
|
|
|
|
|
- <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
|
|
+ <el-dropdown
|
|
|
+ class="avatar-container right-menu-item hover-effect"
|
|
|
+ trigger="click"
|
|
|
+ >
|
|
|
<div class="avatar-wrapper">
|
|
|
- <img :src="avatar" class="user-avatar">
|
|
|
+ <img :src="avatar" class="user-avatar" />
|
|
|
<i class="el-icon-caret-bottom" />
|
|
|
</div>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
@@ -49,16 +90,16 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { mapGetters } from 'vuex'
|
|
|
-import Breadcrumb from '@/components/Breadcrumb'
|
|
|
-import TopNav from '@/components/TopNav'
|
|
|
-import Hamburger from '@/components/Hamburger'
|
|
|
-import Screenfull from '@/components/Screenfull'
|
|
|
-import SizeSelect from '@/components/SizeSelect'
|
|
|
-import version from '@/components/version'
|
|
|
-import Search from '@/components/HeaderSearch'
|
|
|
-import RuoYiGit from '@/components/RuoYi/Git'
|
|
|
-import RuoYiDoc from '@/components/RuoYi/Doc'
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+import Breadcrumb from "@/components/Breadcrumb";
|
|
|
+import TopNav from "@/components/TopNav";
|
|
|
+import Hamburger from "@/components/Hamburger";
|
|
|
+import Screenfull from "@/components/Screenfull";
|
|
|
+import SizeSelect from "@/components/SizeSelect";
|
|
|
+import version from "@/components/version";
|
|
|
+import Search from "@/components/HeaderSearch";
|
|
|
+import RuoYiGit from "@/components/RuoYi/Git";
|
|
|
+import RuoYiDoc from "@/components/RuoYi/Doc";
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -70,68 +111,175 @@ export default {
|
|
|
Search,
|
|
|
RuoYiGit,
|
|
|
RuoYiDoc,
|
|
|
- version
|
|
|
+ version,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dialogVisible: false,
|
|
|
+ };
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapGetters([
|
|
|
- 'sidebar',
|
|
|
- 'avatar',
|
|
|
- 'device'
|
|
|
- ]),
|
|
|
+ ...mapGetters(["sidebar", "avatar", "device"]),
|
|
|
setting: {
|
|
|
get() {
|
|
|
- return this.$store.state.settings.showSettings
|
|
|
+ return this.$store.state.settings.showSettings;
|
|
|
},
|
|
|
set(val) {
|
|
|
- this.$store.dispatch('settings/changeSetting', {
|
|
|
- key: 'showSettings',
|
|
|
- value: val
|
|
|
- })
|
|
|
- }
|
|
|
+ this.$store.dispatch("settings/changeSetting", {
|
|
|
+ key: "showSettings",
|
|
|
+ value: val,
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
topNav: {
|
|
|
get() {
|
|
|
- return this.$store.state.settings.topNav
|
|
|
- }
|
|
|
- }
|
|
|
+ return this.$store.state.settings.topNav;
|
|
|
+ },
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
+ openMsg() {
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
toggleSideBar() {
|
|
|
- this.$store.dispatch('app/toggleSideBar')
|
|
|
+ this.$store.dispatch("app/toggleSideBar");
|
|
|
},
|
|
|
async logout() {
|
|
|
- this.$confirm('确定注销并退出系统吗?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- this.$store.dispatch('LogOut').then(() => {
|
|
|
- location.href = '/index';
|
|
|
+ this.$confirm("确定注销并退出系统吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.$store.dispatch("LogOut").then(() => {
|
|
|
+ location.href = "/index";
|
|
|
+ });
|
|
|
})
|
|
|
- }).catch(() => {});
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
+/deep/.el-button {
|
|
|
+ border-radius: 8px;
|
|
|
+}
|
|
|
+/deep/.el-dialog {
|
|
|
+ z-index: 9999;
|
|
|
+ border-radius: 8px;
|
|
|
+ .el-dialog__header {
|
|
|
+ padding: 0;
|
|
|
+ .hearders {
|
|
|
+ height: 40px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ padding: 0px 18px 0px 20px;
|
|
|
+ border-bottom: 1px solid #e2e2e2;
|
|
|
+ .leftTitle {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #2f4378;
|
|
|
+ }
|
|
|
+ .rightBoxs {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ img {
|
|
|
+ width: 14px;
|
|
|
+ height: 14px;
|
|
|
+ margin-left: 13px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-dialog__body {
|
|
|
+ padding: 0px 20px;
|
|
|
+ max-height: 450px;
|
|
|
+ overflow: auto;
|
|
|
+ h2 {
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333;
|
|
|
+ border-bottom: 2px dashed #000;
|
|
|
+ padding-bottom: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-dialog__footer {
|
|
|
+ padding: 0;
|
|
|
+ .dialog-footer {
|
|
|
+ padding: 0px 40px;
|
|
|
+ height: 70px;
|
|
|
+ border-top: 1px solid #e2e2e2;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: flex-end;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.imgBox {
|
|
|
+ width: 100%;
|
|
|
+ // height: 210px;
|
|
|
+ border: 1px solid #e2e2e2;
|
|
|
+ border-radius: 8px;
|
|
|
+ padding: 8px 8px 3px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ .imgLabel {
|
|
|
+ flex: 1;
|
|
|
+ width: 100%;
|
|
|
+ border: 1px dotted #e2e2e2;
|
|
|
+ color: #999;
|
|
|
+ font-size: 14px;
|
|
|
+ cursor: pointer;
|
|
|
+ border-radius: 8px;
|
|
|
+ .msPhoto {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ max-width: 100%;
|
|
|
+ max-height: 270px;
|
|
|
+ img {
|
|
|
+ max-width: 100%;
|
|
|
+ max-height: 270px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .imgbbx {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ i {
|
|
|
+ font-weight: bold;
|
|
|
+ margin: 14px 0;
|
|
|
+ font-size: 24px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ p {
|
|
|
+ margin: 5px 0px;
|
|
|
+ }
|
|
|
+}
|
|
|
.navbar {
|
|
|
height: 50px;
|
|
|
overflow: hidden;
|
|
|
position: relative;
|
|
|
background: #fff;
|
|
|
- box-shadow: 0 1px 4px rgba(0,21,41,.08);
|
|
|
+ box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
|
|
|
|
|
|
.hamburger-container {
|
|
|
line-height: 46px;
|
|
|
height: 100%;
|
|
|
float: left;
|
|
|
cursor: pointer;
|
|
|
- transition: background .3s;
|
|
|
- -webkit-tap-highlight-color:transparent;
|
|
|
+ transition: background 0.3s;
|
|
|
+ -webkit-tap-highlight-color: transparent;
|
|
|
|
|
|
&:hover {
|
|
|
- background: rgba(0, 0, 0, .025)
|
|
|
+ background: rgba(0, 0, 0, 0.025);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -168,10 +316,10 @@ export default {
|
|
|
|
|
|
&.hover-effect {
|
|
|
cursor: pointer;
|
|
|
- transition: background .3s;
|
|
|
+ transition: background 0.3s;
|
|
|
|
|
|
&:hover {
|
|
|
- background: rgba(0, 0, 0, .025)
|
|
|
+ background: rgba(0, 0, 0, 0.025);
|
|
|
}
|
|
|
}
|
|
|
}
|