From 23cbb240f61e8d82950a2374791ed86d3c532db5 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期日, 23 三月 2025 12:14:11 +0800
Subject: [PATCH] 超时时间
---
src/layout/components/Navbar.vue | 412 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 247 insertions(+), 165 deletions(-)
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 466cd98..d224b3a 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,49 +1,78 @@
<template>
- <div class="navbar">
- <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"/>
-
- <div class="right-menu">
- <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>
-
- <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">
- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
- </el-tooltip>
-
- <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">
- <div class="avatar-wrapper">
- <img :src="avatar" class="user-avatar">
- <i class="el-icon-caret-bottom" />
+ <div class="navbar">
+ <div class="ruoyi-logo">
+ <img src="@/assets/logo/logo.png" alt="" />
+ <span>灏勬椽鏅烘収椤圭洰绠$悊绯荤粺</span>
</div>
- <el-dropdown-menu slot="dropdown">
- <router-link to="/user/profile">
- <el-dropdown-item>涓汉涓績</el-dropdown-item>
- </router-link>
- <el-dropdown-item @click.native="setting = true">
- <span>甯冨眬璁剧疆</span>
- </el-dropdown-item>
- <el-dropdown-item divided @click.native="logout">
- <span>閫�鍑虹櫥褰�</span>
- </el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
+ <div class="right-menu flex align-center">
+ <div style="color: rgb(49,48,48);margin-right: 30px;font-size: 16px">
+ <span style="padding-bottom: 4px;letter-spacing: 1px;border-bottom: 1px solid #fa926d;min-width: 100px">{{this.$store.state.user.deptName}}</span>
+ </div>
+ <template>
+ <search-menu ref="searchMenuRef" />
+ <el-tooltip content="鎼滅储" effect="dark" placement="bottom">
+ <div
+ class="right-menu-item hover-effect"
+ @click="openSearchMenu"
+ >
+ <svg-icon
+ class-name="search-icon"
+ icon-class="search"
+ />
+ </div>
+ </el-tooltip>
+ <!-- 娑堟伅 -->
+ <el-tooltip content="娑堟伅" effect="dark" placement="bottom">
+ <div class="right-menu-item hover-effect">
+ <el-popover
+ placement="bottom"
+ trigger="click"
+ transition="el-zoom-in-top"
+ :width="300"
+ :persistent="false"
+ >
+ <template #reference>
+ <el-badge
+ :value="newNotice > 0 ? newNotice : ''"
+ :max="99"
+ >
+ <svg-icon icon-class="message" />
+ </el-badge>
+ </template>
+ <template #default>
+ <notice></notice>
+ </template>
+ </el-popover>
+ </div>
+ </el-tooltip>
+ <el-tooltip content="鍏ㄥ睆" effect="dark" placement="bottom">
+ <screenfull
+ id="screenfull"
+ class="right-menu-item hover-effect"
+ />
+ </el-tooltip>
+ </template>
+ <div class="avatar-container">
+ <el-dropdown
+ class="avatar-container right-menu-item hover-effect"
+ trigger="click"
+ >
+ <div class="avatar-wrapper">
+ <img :src="avatar" class="user-avatar" />
+ <i class="el-icon-caret-bottom" />
+ </div>
+ <el-dropdown-menu slot="dropdown">
+ <router-link to="/user/profile">
+ <el-dropdown-item>涓汉涓績</el-dropdown-item>
+ </router-link>
+ <el-dropdown-item divided @click.native="logout">
+ <span>閫�鍑虹櫥褰�</span>
+ </el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ </div>
+ </div>
</div>
- </div>
</template>
<script>
@@ -56,145 +85,198 @@
import Search from '@/components/HeaderSearch'
import RuoYiGit from '@/components/RuoYi/Git'
import RuoYiDoc from '@/components/RuoYi/Doc'
+import SearchMenu from './TopBar/search.vue';
+import Notice from './Notice/index.vue';
export default {
- components: {
- Breadcrumb,
- TopNav,
- Hamburger,
- Screenfull,
- SizeSelect,
- Search,
- RuoYiGit,
- RuoYiDoc
- },
- computed: {
- ...mapGetters([
- 'sidebar',
- 'avatar',
- 'device'
- ]),
- setting: {
- get() {
- return this.$store.state.settings.showSettings
- },
- set(val) {
- this.$store.dispatch('settings/changeSetting', {
- key: 'showSettings',
- value: val
- })
- }
+ data() {
+ return {
+ newNotice: 0
+ }
},
- topNav: {
- get() {
- return this.$store.state.settings.topNav
- }
- }
- },
- methods: {
- toggleSideBar() {
- this.$store.dispatch('app/toggleSideBar')
+ components: {
+ Breadcrumb,
+ TopNav,
+ Hamburger,
+ Screenfull,
+ SizeSelect,
+ Search,
+ RuoYiGit,
+ RuoYiDoc,
+ SearchMenu,
+ Notice
},
- async logout() {
- this.$confirm('纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.$store.dispatch('LogOut').then(() => {
- location.href = '/index';
- })
- }).catch(() => {});
+ computed: {
+ ...mapGetters([
+ 'sidebar',
+ 'avatar',
+ 'device'
+ ]),
+ setting: {
+ get() {
+ return this.$store.state.settings.showSettings
+ },
+ set(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'showSettings',
+ value: val
+ })
+ }
+ },
+ topNav: {
+ get() {
+ return this.$store.state.settings.topNav
+ }
+ }
+ },
+ methods: {
+ toggleSideBar() {
+ this.$store.dispatch('app/toggleSideBar')
+ },
+ async logout() {
+ this.$confirm('纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$store.dispatch('LogOut').then(() => {
+ location.href = '/index';
+ })
+ }).catch(() => { });
+ },
+ openSearchMenu() {
+ this.searchMenuRef.value?.openSearch();
+ },
}
- }
}
</script>
<style lang="scss" scoped>
+::v-deep.el-select .el-input__wrapper {
+ height: 30px;
+}
+
+::v-deep .el-badge__content.is-fixed {
+ top: 12px;
+}
+
+.flex {
+ display: flex;
+}
+
+.align-center {
+ align-items: center;
+}
+
+.ruoyi-logo {
+ float: left;
+ line-height: 54px;
+ font-weight: 400;
+ font-size: 24px;
+ font-style: italic;
+ font-family: PangMenZhengDao;
+ // color: #ffffff;
+ // width: 220px;
+ display: flex;
+ align-items: center;
+ > img {
+ margin: 0 10px 0 21px;
+ }
+ > div {
+ margin: 0 0 0 21px;
+ }
+ .down {
+ margin-top: 22px;
+ color: #ffffff;
+ }
+}
.navbar {
- height: 50px;
- overflow: hidden;
- position: relative;
- background: #fff;
- box-shadow: 0 1px 4px rgba(0,21,41,.08);
+ height: 50px;
+ overflow: hidden;
+ position: relative;
+ //background: #fff;
+ 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;
-
- &:hover {
- background: rgba(0, 0, 0, .025)
- }
- }
-
- .breadcrumb-container {
- float: left;
- }
-
- .topmenu-container {
- position: absolute;
- left: 50px;
- }
-
- .errLog-container {
- display: inline-block;
- vertical-align: top;
- }
-
- .right-menu {
- float: right;
- height: 100%;
- line-height: 50px;
-
- &:focus {
- outline: none;
- }
-
- .right-menu-item {
- display: inline-block;
- padding: 0 8px;
- height: 100%;
- font-size: 18px;
- color: #5a5e66;
- vertical-align: text-bottom;
-
- &.hover-effect {
+ .hamburger-container {
+ line-height: 46px;
+ height: 100%;
+ float: left;
cursor: pointer;
- transition: background .3s;
+ transition: background 0.3s;
+ -webkit-tap-highlight-color: transparent;
&:hover {
- background: rgba(0, 0, 0, .025)
+ background: rgba(0, 0, 0, 0.025);
}
- }
}
- .avatar-container {
- margin-right: 30px;
-
- .avatar-wrapper {
- margin-top: 5px;
- position: relative;
-
- .user-avatar {
- cursor: pointer;
- width: 40px;
- height: 40px;
- border-radius: 10px;
- }
-
- .el-icon-caret-bottom {
- cursor: pointer;
- position: absolute;
- right: -20px;
- top: 25px;
- font-size: 12px;
- }
- }
+ .breadcrumb-container {
+ float: left;
}
- }
+
+ .topmenu-container {
+ position: absolute;
+ left: 50px;
+ }
+
+ .errLog-container {
+ display: inline-block;
+ vertical-align: top;
+ }
+
+ .right-menu {
+ float: right;
+ height: 100%;
+ line-height: 50px;
+ display: flex;
+
+ &:focus {
+ outline: none;
+ }
+
+ .right-menu-item {
+ display: inline-block;
+ padding: 0 8px;
+ height: 100%;
+ font-size: 18px;
+ color: #5a5e66;
+ vertical-align: text-bottom;
+
+ &.hover-effect {
+ cursor: pointer;
+ transition: background 0.3s;
+
+ &:hover {
+ background: rgba(0, 0, 0, 0.025);
+ }
+ }
+ }
+
+ .avatar-container {
+ margin-right: 40px;
+ margin-top: 10px;
+
+ .avatar-wrapper {
+ margin-top: 5px;
+ position: relative;
+
+ .user-avatar {
+ cursor: pointer;
+ width: 40px;
+ height: 40px;
+ border-radius: 10px;
+ margin-top: 10px;
+ }
+
+ i {
+ cursor: pointer;
+ position: absolute;
+ right: -20px;
+ top: 25px;
+ font-size: 12px;
+ }
+ }
+ }
+ }
}
</style>
--
Gitblit v1.8.0