|
@ -93,12 +93,13 @@ function logout() { |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
|
|
|
<el-container> |
|
|
|
|
|
<el-aside > |
|
|
|
|
|
<div class="logo"> |
|
|
|
|
|
<img src="../assets/新logo.png" alt="logo" style="width: 9vh; height: 9vh" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="main-container"> |
|
|
|
|
|
<div class="glass-container"> |
|
|
|
|
|
<el-container> |
|
|
|
|
|
<el-aside> |
|
|
|
|
|
<div class="logo"> |
|
|
|
|
|
<img src="../assets/新logo.png" alt="logo" style="width: 9vh; height: 9vh" /> |
|
|
|
|
|
</div> |
|
|
<el-menu :router="true" :default-active="activeMenu" style="min-height: 80vh;border:none;"> |
|
|
<el-menu :router="true" :default-active="activeMenu" style="min-height: 80vh;border:none;"> |
|
|
<!-- 递归渲染菜单层级 --> |
|
|
<!-- 递归渲染菜单层级 --> |
|
|
<template v-for="menu in menuList" :key="menu.id"> |
|
|
<template v-for="menu in menuList" :key="menu.id"> |
|
@ -141,65 +142,97 @@ function logout() { |
|
|
</el-menu-item> |
|
|
</el-menu-item> |
|
|
</template> |
|
|
</template> |
|
|
</el-menu> |
|
|
</el-menu> |
|
|
</el-aside> |
|
|
|
|
|
<el-container style="margin-left: 15vw;"> |
|
|
|
|
|
<el-header class="header"> |
|
|
|
|
|
<el-menu class="el-menu-demo" mode="horizontal" :ellipsis="false"> |
|
|
|
|
|
<el-sub-menu index="1"> |
|
|
|
|
|
<template #title> |
|
|
|
|
|
<el-image :src="imgrule1" style="width: 50px; height: 50px" /> |
|
|
|
|
|
<span style="margin-left: 10px">{{ adminData.name }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
<el-menu-item @click="message()">查看个人信息</el-menu-item> |
|
|
|
|
|
<el-menu-item @click="openChangePassword">修改密码</el-menu-item> |
|
|
|
|
|
<el-menu-item @click="logout">退出登录</el-menu-item> |
|
|
|
|
|
</el-sub-menu> |
|
|
|
|
|
|
|
|
|
|
|
</el-menu> |
|
|
|
|
|
</el-header> |
|
|
|
|
|
<el-main style="margin-top: 6vh;height: auto;"> |
|
|
|
|
|
<router-view></router-view> |
|
|
|
|
|
</el-main> |
|
|
|
|
|
|
|
|
</el-aside> |
|
|
|
|
|
<el-container style="margin-left: 15vw;"> |
|
|
|
|
|
<el-header class="header"> |
|
|
|
|
|
<el-menu class="el-menu-demo" mode="horizontal" :ellipsis="false"> |
|
|
|
|
|
<el-sub-menu index="1"> |
|
|
|
|
|
<template #title> |
|
|
|
|
|
<el-image :src="imgrule1" style="width: 50px; height: 50px" /> |
|
|
|
|
|
<span style="margin-left: 10px">{{ adminData.name }}</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
<el-menu-item @click="message()">查看个人信息</el-menu-item> |
|
|
|
|
|
<el-menu-item @click="openChangePassword">修改密码</el-menu-item> |
|
|
|
|
|
<el-menu-item @click="logout">退出登录</el-menu-item> |
|
|
|
|
|
</el-sub-menu> |
|
|
|
|
|
</el-menu> |
|
|
|
|
|
</el-header> |
|
|
|
|
|
<el-main style="margin-top: 6vh;height: auto;"> |
|
|
|
|
|
<router-view></router-view> |
|
|
|
|
|
</el-main> |
|
|
|
|
|
</el-container> |
|
|
</el-container> |
|
|
</el-container> |
|
|
</el-container> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 查看个人信息 --> |
|
|
|
|
|
<el-dialog v-model="messageVisible" title="查看个人信息" width="500px"> |
|
|
|
|
|
<el-form :model="adminData"> |
|
|
|
|
|
<el-form-item label="用户姓名" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.adminName }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="精网号" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.account }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="地区" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.markets }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="注册时间" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.createTime }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<template #footer> |
|
|
|
|
|
<div> |
|
|
|
|
|
<el-button text @click="closeMessage()">关闭</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 自定义密码修改弹窗组件 --> |
|
|
|
|
|
<el-dialog v-model="showPasswordDialog" :center="true" width="470px" @closed="onPwdDialogClosed"> |
|
|
|
|
|
<ChangePassword ref="pwdRef" @confirm="showPasswordDialog = false" /> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 查看个人信息 --> |
|
|
|
|
|
<el-dialog v-model="messageVisible" title="查看个人信息" width="500px"> |
|
|
|
|
|
<el-form :model="adminData"> |
|
|
|
|
|
<el-form-item label="用户姓名" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.adminName }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="精网号" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.account }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="地区" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.markets }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="注册时间" label-width="100px" label-position="left"> |
|
|
|
|
|
<span class="message-font">{{ adminData.createTime }}</span> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<template #footer> |
|
|
|
|
|
<div> |
|
|
|
|
|
<el-button text @click="closeMessage()">关闭</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 自定义密码修改弹窗组件 --> |
|
|
|
|
|
<el-dialog v-model="showPasswordDialog" :center="true" width="470px" @closed="onPwdDialogClosed"> |
|
|
|
|
|
<ChangePassword ref="pwdRef" @confirm="showPasswordDialog = false" /> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<style scoped> |
|
|
<style scoped> |
|
|
.header { |
|
|
|
|
|
|
|
|
/* 主容器,设置背景图并居中 */ |
|
|
|
|
|
.main-container { |
|
|
position: fixed; |
|
|
position: fixed; |
|
|
|
|
|
top: 0; |
|
|
|
|
|
left: 0; |
|
|
right: 0; |
|
|
right: 0; |
|
|
|
|
|
bottom: 0; |
|
|
|
|
|
background-image: url('@/assets/background.jpg'); /* 请将图片放在assets目录下并修改路径 */ |
|
|
|
|
|
background-size: cover; |
|
|
|
|
|
background-position: center center; /* 背景图居中 */ |
|
|
|
|
|
background-repeat: no-repeat; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* 统一的毛玻璃容器 */ |
|
|
|
|
|
.glass-container { |
|
|
|
|
|
position: relative; |
|
|
|
|
|
width: 95%; |
|
|
|
|
|
height: 95vh; |
|
|
|
|
|
background: rgba(255, 255, 255, 0.8); /* 半透明白色背景 */ |
|
|
|
|
|
backdrop-filter: blur(5px); /* 统一的毛玻璃效果 */ |
|
|
|
|
|
border-radius: 12px; |
|
|
|
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.header { |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
right: 2.5vw; |
|
|
|
|
|
top: 2.5vh; |
|
|
z-index: 80; |
|
|
z-index: 80; |
|
|
background: white; |
|
|
|
|
|
height: 8vh; |
|
|
height: 8vh; |
|
|
|
|
|
width: calc(80vw - 5vh); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.message-font { |
|
|
.message-font { |
|
@ -212,6 +245,8 @@ function logout() { |
|
|
position: fixed; |
|
|
position: fixed; |
|
|
z-index: 100; |
|
|
z-index: 100; |
|
|
height: 90vh; |
|
|
height: 90vh; |
|
|
|
|
|
top: 2.5vh; |
|
|
|
|
|
left: 2.5vw; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.logo { |
|
|
.logo { |
|
@ -225,5 +260,37 @@ function logout() { |
|
|
border: none; |
|
|
border: none; |
|
|
padding: 0; |
|
|
padding: 0; |
|
|
float: right; |
|
|
float: right; |
|
|
|
|
|
background: transparent !important; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* 主内容区域样式 */ |
|
|
|
|
|
.el-main { |
|
|
|
|
|
margin-top: 16vh; |
|
|
|
|
|
height: auto; |
|
|
|
|
|
padding: 20px; |
|
|
|
|
|
margin-left: 20px; |
|
|
|
|
|
margin-right: 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* 侧边栏菜单样式优化 */ |
|
|
|
|
|
.el-menu { |
|
|
|
|
|
background: transparent !important; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* 弹窗背景设置为半透明 */ |
|
|
|
|
|
:deep(.el-dialog__wrapper .el-dialog) { |
|
|
|
|
|
background: rgba(255, 255, 255, 0.95); |
|
|
|
|
|
backdrop-filter: blur(10px); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* 确保el-container适应毛玻璃容器 */ |
|
|
|
|
|
:deep(.el-container) { |
|
|
|
|
|
min-height: 100%; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
:deep(.el-container .el-container) { |
|
|
|
|
|
background: transparent; |
|
|
|
|
|
position: relative; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |