| | |
| | | <template> |
| | | <div class="login-container"> |
| | | <div class="loginContent"> |
| | | <div class="welcc">广域特殊气体泄露在线监测预警系统</div> |
| | | <div class="loginPanel"> |
| | | <div class="welcc">科学研究实验安全风险评估系统</div> |
| | | <div class="loginGroup"> |
| | | <div class="loginPic"> |
| | | <img src="../../assets/loginPage/login-pic.png"> |
| | | </div> |
| | | <div style="width: 45%"> |
| | | <el-tabs v-model="tabsActiveName"> |
| | | <div style="width: 100%"> |
| | | <div style="width:100%;text-align: center;font-size: 22px;color: #11FEEE">欢迎登录</div> |
| | | <AccountLogin /> |
| | | </el-tabs> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface LoginState { |
| | | tabsActiveName: string; |
| | | isScan: boolean; |
| | | } |
| | | |
| | |
| | | const storesThemeConfig = useThemeConfig(); |
| | | const { themeConfig } = storeToRefs(storesThemeConfig); |
| | | const state = reactive<LoginState>({ |
| | | tabsActiveName: 'account', |
| | | isScan: false |
| | | }); |
| | | // 获取布局配置信息 |
| | |
| | | |
| | | <style scoped lang="scss"> |
| | | @media screen and (min-width: 1366px){ |
| | | .loginContent{ |
| | | display: flex; |
| | | justify-content: space-around; |
| | | padding: 0 200px; |
| | | } |
| | | .loginPic{ |
| | | width: 55%; |
| | | height: 100%; |
| | | position: relative; |
| | | |
| | | img{ |
| | | width: 103%; |
| | | height: auto; |
| | | position: absolute; |
| | | bottom: -180px; |
| | | right: 15%; |
| | | margin-top: 40px; |
| | | } |
| | | } |
| | | } |
| | | @media screen and (min-width: 1024px) and (max-width: 1366px){ |
| | | .loginPic{ |
| | | width: 55%; |
| | | height: 100%; |
| | | position: relative; |
| | | |
| | | img{ |
| | | width: 103%; |
| | | height: auto; |
| | | position: absolute; |
| | | bottom: -80px; |
| | | right: 0; |
| | | } |
| | | } |
| | | } |
| | | @media screen and (min-width: 960px) and (max-width: 1024px){ |
| | | .loginContent{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | padding: 0 40px; |
| | | } |
| | | .loginPic{ |
| | | width: 55%; |
| | | height: 100%; |
| | | position: relative; |
| | | |
| | | img{ |
| | | width: 103%; |
| | | height: auto; |
| | | position: absolute; |
| | | bottom: -80px; |
| | | right: 0; |
| | | } |
| | | } |
| | | } |
| | | .login-container { |
| | | width: 100%; |
| | |
| | | } |
| | | } |
| | | .loginContent { |
| | | width: 100%; |
| | | width: 32vw; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | margin-top: -10vh; |
| | | .welcc { |
| | | font-size: 40px; |
| | | font-family: 'PingFang SC'; |
| | | text-align: center; |
| | | font-weight: 900; |
| | | color: #11FEEE; |
| | | white-space: nowrap; |
| | | z-index: 9999; |
| | | margin-bottom: 3vh; |
| | | } |
| | | .loginPanel { |
| | | width: 85%; |
| | | min-height: 56%; |
| | | padding: 80px 40px; |
| | | width: 100%; |
| | | padding: 4vh; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: flex-end; |
| | | background: #fff; |
| | | min-width: 450px; |
| | | border-radius: 15px; |
| | | box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); |
| | | .welcc { |
| | | font-size: 52px; |
| | | font-family: 'PingFang SC'; |
| | | text-align: right; |
| | | font-weight: 900; |
| | | color: #485BD4; |
| | | letter-spacing: 6px; |
| | | white-space: nowrap; |
| | | position: relative; |
| | | z-index: 9999; |
| | | text-shadow: 0 3px 5px rgba(72,91,212,.4); |
| | | } |
| | | align-items: center; |
| | | background: url("../../assets/loginPage/panel-bg.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | :deep(.loginGroup){ |
| | | width: 100%; |