|
|
@ -227,53 +227,49 @@ const handleCloseAll = async () => { |
|
|
|
<div class="logo"> |
|
|
|
<img src="../assets/images/logo.svg" alt=""> |
|
|
|
</div> |
|
|
|
<div class="header-right"> |
|
|
|
<div class="header-menu"> |
|
|
|
<div class="aside"> |
|
|
|
<el-tag |
|
|
|
v-for="item in menuList.filter(item => item.meta!.isDefault)" |
|
|
|
:key="item.path" |
|
|
|
class="menu-tag" |
|
|
|
:class="{ 'aside-item-active': router.currentRoute.value.path.includes(item.path) }" |
|
|
|
@click="router.push(item.path)" |
|
|
|
> |
|
|
|
<template #default> |
|
|
|
<div class="menu-tags"> |
|
|
|
<img |
|
|
|
class="swing-icon" |
|
|
|
:src=" |
|
|
|
(router.currentRoute.value.path.includes(item.path) |
|
|
|
? item.meta!.activeIcon |
|
|
|
: item.meta!.icon) as string |
|
|
|
" |
|
|
|
alt="" |
|
|
|
> |
|
|
|
<span class="text" :class="{ 'active-text': router.currentRoute.value.path.includes(item.path) }">{{ |
|
|
|
item.meta!.title |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-tag> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="user"> |
|
|
|
<span v-if="deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B"> |
|
|
|
<img v-if="websocketConnected" width="20" :src="WifiConnSvg" alt=""> |
|
|
|
<img v-else :src="WifiUnconnSvg" width="20" alt=""> |
|
|
|
</span> |
|
|
|
<el-select v-model="languageType" class="select-language" :disabled="false" @change="toggleLanguage"> |
|
|
|
<el-option |
|
|
|
v-for="language in languages" |
|
|
|
:key="language.value" |
|
|
|
style="height: 2rem; font-size: 1rem" |
|
|
|
:value="language.value" |
|
|
|
:label="language.name" |
|
|
|
> |
|
|
|
{{ language.name }} |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<bt-button type="primary" button-text="注销" @click="onLogout" /> |
|
|
|
</div> |
|
|
|
<div class="header-menu"> |
|
|
|
<el-tag |
|
|
|
v-for="item in menuList.filter(item => item.meta!.isDefault)" |
|
|
|
:key="item.path" |
|
|
|
class="menu-tag" |
|
|
|
:class="{ 'aside-item-active': router.currentRoute.value.path.includes(item.path) }" |
|
|
|
@click="router.push(item.path)" |
|
|
|
> |
|
|
|
<template #default> |
|
|
|
<div class="menu-tags"> |
|
|
|
<img |
|
|
|
class="swing-icon" |
|
|
|
:src=" |
|
|
|
(router.currentRoute.value.path.includes(item.path) |
|
|
|
? item.meta!.activeIcon |
|
|
|
: item.meta!.icon) as string |
|
|
|
" |
|
|
|
alt="" |
|
|
|
> |
|
|
|
<span class="text" :class="{ 'active-text': router.currentRoute.value.path.includes(item.path) }">{{ |
|
|
|
item.meta!.title |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-tag> |
|
|
|
</div> |
|
|
|
<div class="user"> |
|
|
|
<span v-if="deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B"> |
|
|
|
<img v-if="websocketConnected" width="20" :src="WifiConnSvg" alt=""> |
|
|
|
<img v-else :src="WifiUnconnSvg" width="20" alt=""> |
|
|
|
</span> |
|
|
|
<el-select v-model="languageType" class="select-language" :disabled="false" @change="toggleLanguage"> |
|
|
|
<el-option |
|
|
|
v-for="language in languages" |
|
|
|
:key="language.value" |
|
|
|
style="height: 2rem; font-size: 1rem" |
|
|
|
:value="language.value" |
|
|
|
:label="language.name" |
|
|
|
> |
|
|
|
{{ language.name }} |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<bt-button style="margin-left: auto" type="primary" button-text="注销" @click="onLogout" /> |
|
|
|
</div> |
|
|
|
</el-header> |
|
|
|
<el-container class="container"> |
|
|
@ -374,6 +370,9 @@ const handleCloseAll = async () => { |
|
|
|
.header { |
|
|
|
color: #393f46; |
|
|
|
box-shadow: 0px 1px 5px 0px rgba(9, 39, 62, 0.15); |
|
|
|
display: flex; |
|
|
|
padding: 0 10px; |
|
|
|
justify-content: center; |
|
|
|
|
|
|
|
.logo { |
|
|
|
height: 22px; |
|
|
@ -398,38 +397,38 @@ const handleCloseAll = async () => { |
|
|
|
transition: all 0.3s; |
|
|
|
} |
|
|
|
} |
|
|
|
.header-right { |
|
|
|
.header-menu { |
|
|
|
flex: 1; |
|
|
|
width: 50%; |
|
|
|
height: 100%; |
|
|
|
display: flex; |
|
|
|
padding: 0 10px; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
} |
|
|
|
.wifi-icon { |
|
|
|
width: 40px; |
|
|
|
height: 100%; |
|
|
|
.header-menu { |
|
|
|
width: 68vw; |
|
|
|
} |
|
|
|
.wifi-icon { |
|
|
|
width: 40px; |
|
|
|
height: 100%; |
|
|
|
background: #fff; |
|
|
|
border-radius: 5px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
img { |
|
|
|
height: 50%; |
|
|
|
} |
|
|
|
background: #fff; |
|
|
|
border-radius: 5px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
img { |
|
|
|
height: 50%; |
|
|
|
} |
|
|
|
} |
|
|
|
.user { |
|
|
|
width: 20vw; |
|
|
|
//width: 20vw; |
|
|
|
text-align: right; |
|
|
|
right: 5px; |
|
|
|
margin-left: auto; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
gap: 25px; |
|
|
|
padding-left: 10px; |
|
|
|
.select-language { |
|
|
|
width: 100px; |
|
|
|
width: 80px; |
|
|
|
border-radius: 5px; |
|
|
|
margin-right: 5px; |
|
|
|
margin: 0 10px; |
|
|
|
} |
|
|
|
.user-logout { |
|
|
|
margin-left: auto; |
|
|
@ -466,52 +465,48 @@ const handleCloseAll = async () => { |
|
|
|
:deep(.el-popover) { |
|
|
|
padding: 10px !important; |
|
|
|
} |
|
|
|
.aside { |
|
|
|
overflow: hidden; |
|
|
|
padding-left: 10px; |
|
|
|
.menu-tag { |
|
|
|
height: 36px; |
|
|
|
border: 0; |
|
|
|
width: 10rem; |
|
|
|
display: flex; |
|
|
|
border-radius: 3px; |
|
|
|
gap: 5px; |
|
|
|
font-size: 1.6vw; |
|
|
|
background: rgba(0, 0, 0, 0); |
|
|
|
transition: all 0.5s; |
|
|
|
} |
|
|
|
.menu-tags { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.menu-tag { |
|
|
|
height: 36px; |
|
|
|
border: 0; |
|
|
|
width: 10rem; |
|
|
|
display: flex; |
|
|
|
gap: 5px; |
|
|
|
font-size: 1.6vw; |
|
|
|
background: rgba(0, 0, 0, 0); |
|
|
|
transition: background-color 0.5s; |
|
|
|
} |
|
|
|
.menu-tags { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.text { |
|
|
|
padding-left: 10px; |
|
|
|
color: #191919; |
|
|
|
} |
|
|
|
.active-text { |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
.text { |
|
|
|
padding-left: 10px; |
|
|
|
color: #191919; |
|
|
|
} |
|
|
|
.aside-item { |
|
|
|
height: 50px; |
|
|
|
border-radius: 10px; |
|
|
|
margin: 10px 0; |
|
|
|
padding: 0 10px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
overflow: hidden; |
|
|
|
justify-content: center; |
|
|
|
min-width: 6rem; |
|
|
|
img { |
|
|
|
margin-right: 10px; |
|
|
|
} |
|
|
|
.active-text { |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
.aside-item-active { |
|
|
|
background: #1989fa; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
} |
|
|
|
.aside-item { |
|
|
|
height: 50px; |
|
|
|
border-radius: 10px; |
|
|
|
margin: 10px 0; |
|
|
|
padding: 0 10px; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
overflow: hidden; |
|
|
|
justify-content: center; |
|
|
|
min-width: 6rem; |
|
|
|
img { |
|
|
|
margin-right: 10px; |
|
|
|
} |
|
|
|
} |
|
|
|
.aside-item-active { |
|
|
|
background: #1989fa; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
border-radius: 10px; |
|
|
|
} |
|
|
|
|
|
|
|
.aside-off { |
|
|
|
width: 70px; |
|
|
@ -544,7 +539,7 @@ const handleCloseAll = async () => { |
|
|
|
} |
|
|
|
.content { |
|
|
|
width: 100%; |
|
|
|
height: $main-container-height; |
|
|
|
height: 100%; |
|
|
|
padding: 10px; |
|
|
|
} |
|
|
|
.footer-expand { |
|
|
|