From be79ce19df6ea881de516ae0b44bfe527e90e736 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: Wed, 29 Jun 2022 19:37:24 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut
---
src/views/loginPage/loginPage.vue | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 160 insertions(+), 0 deletions(-)
diff --git a/src/views/loginPage/loginPage.vue b/src/views/loginPage/loginPage.vue
new file mode 100644
index 0000000..66c68bc
--- /dev/null
+++ b/src/views/loginPage/loginPage.vue
@@ -0,0 +1,160 @@
+<template>
+ <div class="login-container">
+ <div id="particles-js" style="display: flex;align-items: center;justify-content: center">
+ <canvas class="particles-js-canvas-el" style="width: 100%; height: 100%;" width="472" height="625"></canvas>
+ </div>
+ <div class="loginContent">
+ <div class="loginContL">
+ <div class="apTitleT">新疆国泰新华</div>
+ <div class="apTitleB">安全风险预警监测系统</div>
+ <span></span>
+ </div>
+ <div class="loginPanel">
+ <div class="welc">WELCOME!</div>
+ <div class="welcc">欢迎登录</div>
+<!-- <div class="loginInfo">-->
+<!-- <el-input v-model="input" placeholder="Please input" />-->
+<!-- </div>-->
+ <div>
+ <el-tabs v-model="tabsActiveName">
+ <AccountLogin />
+ </el-tabs>
+ </div>
+ </div>
+ </div>
+
+ </div>
+</template>
+
+<script lang="ts">
+import { toRefs, reactive, computed, defineComponent, onMounted } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import logoMini from '/@/assets/logo-mini.svg';
+import loginIconTwo from '/@/assets/login-icon-two.svg';
+import { NextLoading } from '/@/utils/loading';
+import AccountLogin from '/@/views/loginPage/component/accountLogin.vue';
+import { loginBg } from '../../../static/loginPage.js/login.js'
+import { loginApp } from '../../../static/loginPage.js/loginApp.js'
+
+// 定义接口来定义对象的类型
+interface LoginState {
+ tabsActiveName: string;
+ isScan: boolean;
+}
+
+export default defineComponent({
+ name: 'loginIndex',
+ components: { AccountLogin },
+ setup() {
+ const storesThemeConfig = useThemeConfig();
+ const { themeConfig } = storeToRefs(storesThemeConfig);
+ const state = reactive<LoginState>({
+ tabsActiveName: 'account',
+ isScan: false,
+ });
+ // 获取布局配置信息
+ const getThemeConfig = computed(() => {
+ return themeConfig.value;
+ });
+ // 页面加载时
+ onMounted(() => {
+ NextLoading.done();
+ loginBg();
+ loginApp()
+ });
+ return {
+ logoMini,
+ loginIconTwo,
+ getThemeConfig,
+ ...toRefs(state),
+ };
+ },
+});
+</script>
+
+<style scoped lang="scss">
+.login-container {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ z-index: 999;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-image: radial-gradient(at center, #0075c3, #000b61);
+
+ canvas {
+ display: block;
+ vertical-align: bottom;
+ }
+
+ #particles-js {
+ width: 100%;
+ height: 100%;
+
+ background-size: cover;
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+
+ .loginContent{
+ width: 100%;
+ padding: 0 300px;
+ display: flex;
+ align-items: flex-start;
+ justify-content: space-between;
+
+ .loginContL{
+ font-size: 48px;
+ font-weight: bold;
+ padding-top: 20px;
+ margin-right: 30px;
+
+ .apTitleT{
+ color: #fff;
+ margin-bottom: 20px;
+ letter-spacing: 4px;
+ }
+ .apTitleB{
+ color: #01d0ff;
+ margin-bottom: 40px;
+ letter-spacing: 4px;
+ }
+ &>span{
+ display: block;
+ width: 120px;
+ height: 8px;
+ background: #01d0ff;
+ }
+ }
+ .loginPanel{
+ padding: 85px 70px;
+ background: #fff;
+ border-radius: 15px;
+ box-shadow: 0 8px 40px rgba(0,0,0,.15);
+
+ .welc{
+ font-size: 36px;
+ font-family: "PingFang SC";
+ font-weight: normal;
+ color: #999999;
+ letter-spacing: 2px;
+ margin-bottom: 15px;
+ }
+ .welcc{
+ font-size: 32px;
+ font-family: "PingFang SC";
+ font-weight: lighter;
+ color: #333;
+ letter-spacing: 2px;
+ }
+ }
+ }
+}
+</style>
--
Gitblit v1.9.2