65 lines
1.8 KiB
Vue
Raw Normal View History

2024-04-13 15:54:07 +08:00
<template>
<a-spin :loading="loading" tip="加载中..." style="width: 100%">
<div class="container">
<div class="login">
<LoginBanner v-if="isPc" />
<div class="login_box">
2026-03-04 14:25:41 +08:00
<div class="login_title">欢迎登录电单车管理系统</div>
<div class="login_title_desc">高效管理电单车运营实时掌握车辆动态</div>
<div class="login_title_desc">智能调度助力城市绿色出行</div>
<LoginForm @isLoading="state => (loading = state)" />
</div>
2024-04-13 15:54:07 +08:00
</div>
</div>
</a-spin>
2024-04-13 15:54:07 +08:00
</template>
<script setup lang="ts">
import LoginBanner from "@/views/login/components/login-banner.vue";
import LoginForm from "@/views/login/components/login-form.vue";
2025-01-16 00:22:49 +08:00
import { useDevicesSize } from "@/hooks/useDevicesSize";
2025-01-16 00:22:49 +08:00
const { isPc } = useDevicesSize();
const loading = ref(false);
2024-04-13 15:54:07 +08:00
</script>
<style lang="scss" scoped>
.container {
position: relative;
height: 100vh;
2024-07-04 00:16:30 +08:00
overflow: hidden;
2024-04-13 15:54:07 +08:00
.login {
2024-07-06 18:22:28 +08:00
position: absolute;
top: 50%;
left: 50%;
2024-04-13 15:54:07 +08:00
display: flex;
align-items: center;
2025-01-16 00:22:49 +08:00
max-width: 1000px;
height: 500px;
2024-07-06 18:22:28 +08:00
box-shadow: 0 0 8px 1px $color-fill-2;
transform: translate(-50%, -50%);
2024-04-13 15:54:07 +08:00
.login_box {
position: relative;
box-sizing: border-box;
2024-07-06 18:22:28 +08:00
width: 350px;
2024-07-04 00:16:30 +08:00
height: 100%;
padding: 40px 30px 30px;
2024-04-13 15:54:07 +08:00
.login_title {
margin-bottom: $margin-text;
2024-04-13 15:54:07 +08:00
font-size: $font-size-title-2;
color: $color-text-1;
}
.login_title_desc {
font-size: $font-size-body-1;
color: $color-text-3;
}
2024-07-06 18:22:28 +08:00
.author {
2024-04-13 15:54:07 +08:00
position: absolute;
bottom: 30px;
font-size: $font-size-body-1;
color: $color-text-4;
2024-04-13 15:54:07 +08:00
}
}
}
}
</style>