|
|
|
|
@@ -1,19 +1,14 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div
|
|
|
|
|
:class="prefixCls"
|
|
|
|
|
class="relative h-[100%]"
|
|
|
|
|
:style="{ backgroundImage: 'url(' + localImage + ')', backgroundSize: 'cover' }"
|
|
|
|
|
>
|
|
|
|
|
<div class="relative mx-auto h-full flex" style="margin: 0 auto">
|
|
|
|
|
<div :class="prefixCls" class="relative h-[100%]" :style="{ backgroundImage: 'url(' + localImage + ')' ,backgroundSize:'cover'}">
|
|
|
|
|
<div class="relative mx-auto h-full flex" style=" margin: 0 auto;">
|
|
|
|
|
<div
|
|
|
|
|
class="relative flex-1 p-30px lt-sm:p-10px overflow-x-hidden overflow-y-auto"
|
|
|
|
|
:class="`${prefixCls}__right`"
|
|
|
|
|
>
|
|
|
|
|
class="relative flex-1 p-30px lt-sm:p-10px overflow-x-hidden overflow-y-auto"
|
|
|
|
|
:class="`${prefixCls}__right`">
|
|
|
|
|
<!-- 右边的登录界面 -->
|
|
|
|
|
<Transition appear enter-active-class="animate__animated animate__bounceInRight">
|
|
|
|
|
<div
|
|
|
|
|
:class="newClass"
|
|
|
|
|
class="pos-relative z-2 m-auto h-[calc(100%-60px)] w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px"
|
|
|
|
|
class="pos-relative z-2 m-auto h-[calc(100%-200px)] w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px"
|
|
|
|
|
>
|
|
|
|
|
<div class="bg-#fff dark:bg-[var(--login-bg-color)] b-rounded-20px px-20px">
|
|
|
|
|
<!-- 账号登录 -->
|
|
|
|
|
@@ -23,28 +18,28 @@
|
|
|
|
|
</Transition>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tags">
|
|
|
|
|
<div class="module cockpit">
|
|
|
|
|
<img :src="jsc" />
|
|
|
|
|
驾驶舱
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module iot">
|
|
|
|
|
<img :src="wlzt" />
|
|
|
|
|
物联中台
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module data-center">
|
|
|
|
|
<img :src="sjzt" />
|
|
|
|
|
数据中台
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module report">
|
|
|
|
|
<img :src="znbb" />
|
|
|
|
|
智能报表
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module digital-twin">
|
|
|
|
|
<img :src="szls" />
|
|
|
|
|
数字孪生
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tags">
|
|
|
|
|
<div class="module cockpit">
|
|
|
|
|
<img :src="jsc"/>
|
|
|
|
|
驾驶舱
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module iot">
|
|
|
|
|
<img :src="wlzt"/>
|
|
|
|
|
物联中台
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module data-center">
|
|
|
|
|
<img :src="sjzt"/>
|
|
|
|
|
数据中台
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module report">
|
|
|
|
|
<img :src="znbb"/>
|
|
|
|
|
智能报表
|
|
|
|
|
</div>
|
|
|
|
|
<div class="module digital-twin">
|
|
|
|
|
<img :src="szls"/>
|
|
|
|
|
数字孪生
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
|
@@ -60,6 +55,8 @@ import sjzt from '@/assets/imgs/sjzt.png'
|
|
|
|
|
import szls from '@/assets/imgs/szls.png'
|
|
|
|
|
import wlzt from '@/assets/imgs/wlzt.png'
|
|
|
|
|
import znbb from '@/assets/imgs/znbb.png'
|
|
|
|
|
|
|
|
|
|
// import { useRoute } from 'vue-router';
|
|
|
|
|
import localImage from '@/assets/imgs/background.jpg'
|
|
|
|
|
|
|
|
|
|
defineOptions({ name: 'Login' })
|
|
|
|
|
@@ -70,6 +67,7 @@ const { getPrefixCls } = useDesign()
|
|
|
|
|
const prefixCls = getPrefixCls('login')
|
|
|
|
|
const windowSize = useWindowSize()
|
|
|
|
|
const loginAnimationData = ref(loginAnimation['default'])
|
|
|
|
|
|
|
|
|
|
const leftStyle = computed(() => {
|
|
|
|
|
const winW = windowSize.width.value
|
|
|
|
|
const leftW = winW / 2
|
|
|
|
|
@@ -100,7 +98,7 @@ const leftStyle = computed(() => {
|
|
|
|
|
|
|
|
|
|
const newClass = computed(() => {
|
|
|
|
|
const mobile = appStore.getMobile ? 'is-mobile' : ''
|
|
|
|
|
const toggle = appStore.getFullscreen ? 'is-toggle' : ''
|
|
|
|
|
const toggle = appStore.getFullscreen ? 'is-toggle' : ''
|
|
|
|
|
return toggle ? toggle : mobile
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
@@ -127,77 +125,77 @@ $prefix-cls: #{$namespace}-login;
|
|
|
|
|
transform: translate(-50%, -50%) scale(0.7, 0.6);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tags {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 20px;
|
|
|
|
|
left: 50%;
|
|
|
|
|
display: grid;
|
|
|
|
|
width: 1000px;
|
|
|
|
|
transform: translateX(-50%);
|
|
|
|
|
grid-template-columns: 1fr 1fr 1fr;
|
|
|
|
|
grid-template-rows: auto auto;
|
|
|
|
|
gap: 20px;
|
|
|
|
|
.tags{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:20px;
|
|
|
|
|
left:50%;
|
|
|
|
|
display: grid;
|
|
|
|
|
width: 860px;
|
|
|
|
|
transform:translateX(-50%);
|
|
|
|
|
grid-template-columns: 1fr 1fr 1fr;
|
|
|
|
|
grid-template-rows: auto auto;
|
|
|
|
|
gap: 20px;
|
|
|
|
|
|
|
|
|
|
.module {
|
|
|
|
|
display: flex;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
font-size: 26px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: #fff;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
display: flex;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
font-size: 26px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: #fff;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.module img {
|
|
|
|
|
width: 72px;
|
|
|
|
|
height: 72px;
|
|
|
|
|
margin-bottom: 16px;
|
|
|
|
|
object-fit: contain;
|
|
|
|
|
width: 60px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
margin-bottom: 16px;
|
|
|
|
|
object-fit: contain;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.module.iot,
|
|
|
|
|
.module.data-center,
|
|
|
|
|
.module.report,
|
|
|
|
|
.module.digital-twin {
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
gap: 50px; /* 图标和文字之间的间距 */
|
|
|
|
|
img {
|
|
|
|
|
margin: 0;
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
gap: 50px; /* 图标和文字之间的间距 */
|
|
|
|
|
img{
|
|
|
|
|
margin:0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 驾驶舱:深蓝色渐变 */
|
|
|
|
|
.module.cockpit {
|
|
|
|
|
grid-row: 1 / 3;
|
|
|
|
|
background: linear-gradient(180deg, rgb(109 147 245 / 75%), rgb(7 38 111 / 75%));
|
|
|
|
|
grid-row: 1 / 3;
|
|
|
|
|
background: linear-gradient(180deg, rgb(109 147 245 / 75%), rgb(7 38 111 / 75%));
|
|
|
|
|
|
|
|
|
|
img {
|
|
|
|
|
width: 130px;
|
|
|
|
|
height: 130px;
|
|
|
|
|
}
|
|
|
|
|
img {
|
|
|
|
|
width: 110px;
|
|
|
|
|
height: 110px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 物联中台:中蓝色渐变 */
|
|
|
|
|
.module.iot {
|
|
|
|
|
background: linear-gradient(180deg, rgb(130 156 223 / 75%), rgb(7 38 111 / 75%));
|
|
|
|
|
background: linear-gradient(180deg, rgb(130 156 223 / 75%), rgb(7 38 111 / 75%));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 数据中台:青绿色渐变 */
|
|
|
|
|
.module.data-center {
|
|
|
|
|
background: linear-gradient(180deg, rgb(46 192 182 / 75%), rgb(40 180 170 / 75%));
|
|
|
|
|
background: linear-gradient(180deg, rgb(46 192 182 / 75%), rgb(40 180 170 / 75%));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 智能报表:绿色渐变 */
|
|
|
|
|
.module.report {
|
|
|
|
|
background: linear-gradient(180deg, rgb(77 212 122 / 75%), rgb(60 180 100 / 75%));
|
|
|
|
|
background: linear-gradient(180deg, rgb(77 212 122 / 75%), rgb(60 180 100 / 75%));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 数字孪生:浅蓝色渐变 */
|
|
|
|
|
.module.digital-twin {
|
|
|
|
|
background: linear-gradient(180deg, rgb(111 181 235 / 75%), rgb(60 140 200 / 75%));
|
|
|
|
|
background: linear-gradient(180deg, rgb(111 181 235 / 75%), rgb(60 140 200 / 75%));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|