Glass-ERP-Vue/src/components/layouts/UserLayout.vue

180 lines
3.8 KiB
Vue
Raw Normal View History

2023-08-02 01:13:41 +08:00
<template>
<div id="userLayout" :class="['user-layout-wrapper', device]">
2023-08-14 14:56:51 +08:00
<div class="backImg"></div>
2023-08-02 01:13:41 +08:00
<div class="container">
<div class="top">
<div class="header">
<a href="/">
<img src="~@/assets/logo.svg" class="logo" alt="logo" />
2023-08-12 17:10:33 +08:00
<span class="title">计科院ERP系统</span>
2023-08-02 01:13:41 +08:00
</a>
</div>
<div class="desc">
2023-08-14 14:56:51 +08:00
欢迎您登录
2023-08-02 01:13:41 +08:00
</div>
</div>
2023-08-14 14:56:51 +08:00
<div class="border">
<route-view></route-view>
</div>
2023-08-02 01:13:41 +08:00
<div class="footer">
<div class="links">
<a href="https://www.baidu.com" target="_blank">帮助</a>
<a href="https://www.bing.com" target="_blank">隐私</a>
<a href="https://www.baidu.com" target="_blank">条款</a>
2023-08-02 01:13:41 +08:00
</div>
<div class="copyright">
Copyright &copy; <a href="https://www.baidu.com" target="_blank">哈尔滨师范大学人工智能大数据实验室</a> All
2023-08-14 14:56:51 +08:00
right reserved
2023-08-02 01:13:41 +08:00
</div>
</div>
</div>
</div>
</template>
<script>
import RouteView from '@/components/layouts/RouteView'
import { mixinDevice } from '@/utils/mixin.js'
export default {
name: 'UserLayout',
components: { RouteView },
mixins: [mixinDevice],
data() {
return {}
},
mounted() {
document.body.classList.add('userLayout')
},
beforeDestroy() {
document.body.classList.remove('userLayout')
2023-08-02 01:13:41 +08:00
}
}
2023-08-02 01:13:41 +08:00
</script>
<style lang="less" scoped>
#userLayout.user-layout-wrapper {
height: 100%;
2023-08-14 14:56:51 +08:00
.border {
display: block;
width: 50%;
margin: 20px auto;
padding: 25px;
background: #ffffff;
color: black;
border-radius: 15px;
border: 0;
}
.backImg {
width: 100%;
min-height: 100%;
background: #f0f2f5 url(~@/assets/background.jpg) no-repeat 50%;
background-size: 100%;
padding: 110px 0 144px;
position: absolute;
background-size: cover;
left: 0%;
}
&.mobile {
.container {
.main {
max-width: 368px;
width: 98%;
2023-08-02 01:13:41 +08:00
}
}
}
2023-08-02 01:13:41 +08:00
.container {
width: 900px;
background-size: cover;
min-height: 100%;
padding: 110px 0 144px;
position: absolute;
background-size: cover;
right: 0%;
2023-08-14 14:56:51 +08:00
a {
text-decoration: none;
}
2023-08-02 01:13:41 +08:00
.top {
text-align: center;
.header {
height: 44px;
line-height: 44px;
.badge {
position: absolute;
display: inline-block;
line-height: 1;
vertical-align: middle;
margin-left: -12px;
margin-top: -10px;
opacity: 0.8;
}
2023-08-02 01:13:41 +08:00
.logo {
2023-08-02 01:13:41 +08:00
height: 44px;
vertical-align: top;
margin-right: 16px;
border-style: none;
2023-08-02 01:13:41 +08:00
}
.title {
font-size: 33px;
2023-08-14 14:56:51 +08:00
color: white;
font-family: 'Chinese Quote', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
'Segoe UI Symbol';
font-weight: 600;
position: relative;
top: 2px;
2023-08-02 01:13:41 +08:00
}
}
.desc {
2023-08-14 14:56:51 +08:00
font-size: 30px;
color: white;
margin-top: 15px;
margin-bottom: 40px;
2023-08-02 01:13:41 +08:00
}
}
2023-08-02 01:13:41 +08:00
.main {
min-width: 260px;
width: 368px;
margin: 0 auto;
}
2023-08-02 01:13:41 +08:00
.footer {
position: absolute;
width: 100%;
bottom: 0;
padding: 0 16px;
margin: 48px 0 24px;
text-align: center;
.links {
margin-bottom: 8px;
font-size: 14px;
a {
2023-08-14 14:56:51 +08:00
color: white;
transition: all 0.3s;
&:not(:last-child) {
margin-right: 40px;
}
2023-08-02 01:13:41 +08:00
}
}
.copyright {
2023-08-14 14:56:51 +08:00
color: white;
font-size: 14px;
}
2023-08-02 01:13:41 +08:00
}
}
}
</style>