yanglzh 3 роки тому
батько
коміт
6211371056

+ 19 - 0
src/assets/login-bg-dark.svg

@@ -0,0 +1,19 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="6395" height="1080" viewBox="0 0 6395 1080">
+  <defs>
+    <clipPath id="clip-path">
+      <rect id="Rectangle_73" data-name="Rectangle 73" width="6395" height="1079" transform="translate(-5391)" fill="#fff"/>
+    </clipPath>
+    <linearGradient id="linear-gradient" x1="0.631" y1="0.5" x2="0.958" y2="0.488" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#2e364a"/>
+      <stop offset="1" stop-color="#2c344a"/>
+    </linearGradient>
+  </defs>
+  <g id="Web_1920_1" data-name="Web 1920 – 1" clip-path="url(#clip-Web_1920_1)">
+    <g id="Mask_Group_1" data-name="Mask Group 1" transform="translate(5391)" clip-path="url(#clip-path)">
+      <g id="Group_118" data-name="Group 118" transform="translate(-419.333 -1.126)">
+        <path id="Path_142" data-name="Path 142" d="M6271.734-6.176s-222.478,187.809-55.349,583.254c44.957,106.375,81.514,205.964,84.521,277,8.164,192.764-156.046,268.564-156.046,268.564l-653.53-26.8L5475.065-21.625Z" transform="translate(-4876.383)" fill="#2d3750"/>
+        <path id="Union_6" data-name="Union 6" d="M-2631.1,1081.8v-1.6H-8230.9V.022h5599.8V0h759.7s-187.845,197.448-91.626,488.844c49.167,148.9,96.309,256.289,104.683,362.118,7.979,100.852-57.98,201.711-168.644,254.286-65.858,31.29-144.552,42.382-223.028,42.383C-2441.2,1147.632-2631.1,1081.8-2631.1,1081.8Z" transform="translate(3259.524 0.803)" fill="url(#linear-gradient)"/>
+      </g>
+    </g>
+  </g>
+</svg>

+ 17 - 0
src/assets/login-bg.svg

@@ -0,0 +1,17 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="6395" height="1079" viewBox="0 0 6395 1079">
+  <defs>
+    <clipPath id="clip-path">
+      <rect  width="6395" height="1079" transform="translate(-5391)" fill="#fff"/>
+    </clipPath>
+    <linearGradient id="linear-gradient" x1="0.747" y1="0.222" x2="0.973" y2="0.807" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#2c41b4"/>
+      <stop offset="1" stop-color="#1b4fab"/>
+    </linearGradient>
+  </defs>
+  <g id="Mask_Group_1" data-name="Mask Group 1" transform="translate(5391)" clip-path="url(#clip-path)">
+    <g id="Group_118" data-name="Group 118" transform="translate(-419.333 -1.126)">
+      <path id="Path_142" data-name="Path 142" d="M6271.734-6.176s-222.478,187.809-55.349,583.254c44.957,106.375,81.514,205.964,84.521,277,8.164,192.764-156.046,268.564-156.046,268.564l-653.53-26.8L5475.065-21.625Z" transform="translate(-4876.383 0)" fill="#f1f5f8"/>
+      <path id="Union_6" data-name="Union 6" d="M-2631.1,1081.8v-1.6H-8230.9V.022H-2631.1V0H-1871.4s-187.845,197.448-91.626,488.844c49.167,148.9,96.309,256.289,104.683,362.118,7.979,100.852-57.98,201.711-168.644,254.286-65.858,31.29-144.552,42.382-223.028,42.383C-2441.2,1147.632-2631.1,1081.8-2631.1,1081.8Z" transform="translate(3259.524 0.803)" fill="url(#linear-gradient)"/>
+    </g>
+  </g>
+</svg>

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
src/assets/login-box-bg.svg


+ 2 - 1
src/views/login/component/account.vue

@@ -40,7 +40,7 @@
       </el-col>
     </el-form-item>
     <el-form-item class="login-animation4">
-      <el-button type="primary" class="login-content-submit" round @click="onSignIn" :loading="loading.signIn">
+      <el-button type="primary" class="login-content-submit"  @click="onSignIn" :loading="loading.signIn">
         <span>{{ $t('message.account.accountBtnText') }}</span>
       </el-button>
     </el-form-item>
@@ -182,6 +182,7 @@ export default defineComponent({
 
 <style scoped lang="scss">
 .login-content-form {
+	width: 400px;
 	margin-top: 20px;
 	@for $i from 1 through 4 {
 		.login-animation#{$i} {

+ 60 - 47
src/views/login/index.vue

@@ -1,51 +1,25 @@
 <template>
-  <div class="login-container">
-    <div class="login-content-out">
-      <div class="login-content">
-        <div class="login-content-main">
-          <div class="login-icon-group">
-            <div class="login-icon-group-title">
-              <img :src="logoMini" />
-              <div class="login-icon-group-title-text font25">{{ getThemeConfig.globalViceTitle }}</div>
-            </div>
-          </div>
-          <div v-if="!isScan">
-            <el-tabs v-model="tabsActiveName">
-              <el-tab-pane :label="$t('message.label.one1')" name="account">
-                <Account />
-              </el-tab-pane>
-              <!-- <el-tab-pane :label="$t('message.label.two2')" name="mobile">
-                <Mobile />
-              </el-tab-pane> -->
-            </el-tabs>
-          </div>
-          <!-- <Scan v-if="isScan" /> -->
-          <!-- <div class="login-content-main-sacn" @click="isScan = !isScan">
-            <i class="iconfont" :class="isScan ? 'icon-diannao1' : 'icon-barcode-qr'"></i>
-            <div class="login-content-main-sacn-delta"></div>
-          </div> -->
-        </div>
-      </div>
-    </div>
-    <div class="login-footer">
-      <!-- <amis :json="amisjson" /> -->
-      <div class="login-footer-content mt15">
-        <div class="login-footer-content-warp">
-          <div>Copyright © 2021-2023 SAGOO All Rights Reserved.</div>
-        </div>
-      </div>
-    </div>
-  </div>
+	<div class="login-container flex-row">
+		<div class="part left">
+			<div class="flex logo"><img class="logoimg" src="/@/assets/logo.png" />IOT管理系统</div>
+			<img class="img" src="/@/assets/login-box-bg.svg" />
+		</div>
+		<div class="part">
+			<!-- <img :src="logoMini" />
+							<div class="login-icongroup-title-text font25">{{ getThemeConfig.globalViceTitle }}</div> -->
+			<div class="title">登录</div>
+			<Account />
+		</div>
+		<!-- <amis :json="amisjson" /> -->
+	</div>
 </template>
 
 <script lang="ts">
 import { toRefs, reactive, computed, defineComponent } from 'vue';
 import Account from '/@/views/login/component/account.vue';
-import Mobile from '/@/views/login/component/mobile.vue';
-import Scan from '/@/views/login/component/scan.vue';
 import { useStore } from '/@/store/index';
 import logoMini from '/@/assets/logo.png';
-import amis from '/@/components/amis/index.vue';
+// import amis from '/@/components/amis/index.vue';
 
 // 定义接口来定义对象的类型
 interface LoginState {
@@ -55,7 +29,10 @@ interface LoginState {
 
 export default defineComponent({
 	name: 'loginIndex',
-	components: { Account, Mobile, Scan, amis },
+	components: {
+		Account,
+		// amis,
+	},
 	data: function () {
 		return {
 			amisjson: {
@@ -101,13 +78,49 @@ export default defineComponent({
 </script>
 
 <style scoped lang="scss">
+.flex {
+	display: flex;
+	align-items: center;
+}
 .login-container {
-	width: 100%;
-	height: 100%;
+	width: 100vw;
+	height: 100vh;
 	position: relative;
-	background-image: url('/@/assets/bg.jpeg');
-	background-size: cover;
-	background-position: center;
+	background: #293146;
+	.title {
+		font-size: 30px;
+		color: #fff;
+		font-weight: bold;
+		letter-spacing: 20px;
+	}
+	.logo {
+		font-size: 30px;
+		color: #fff;
+		.logoimg {
+			height: 50px;
+			display: block;
+			margin-right: 12px;
+		}
+	}
+	.img {
+		width: 50%;
+		display: block;
+		margin: 15vh 0;
+	}
+	.part {
+		flex: 1;
+		display: flex;
+		flex-flow: column nowrap;
+		justify-content: center;
+		align-items: center;
+	}
+	.left {
+		height: 100vh;
+		background-image: url(/@/assets/login-bg-dark.svg);
+		background-repeat: no-repeat;
+		background-size: auto 100%;
+		background-position: right center;
+	}
 	.login-icon-group {
 		width: 100%;
 		height: 100%;
@@ -143,7 +156,7 @@ export default defineComponent({
 		width: 500px;
 		padding: 20px;
 		margin-left: calc(50% - 500px);
-		background-color: rgba(255,255,255,0.8);
+		background-color: rgba(255, 255, 255, 0.8);
 		border: 5px solid var(--el-color-primary-light-8);
 		border-radius: 5px;
 		overflow: hidden;

Деякі файли не було показано, через те що забагато файлів було змінено