From ea85d136b8b73e0ca50fbc14af0ee47a020922e0 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期四, 29 八月 2024 12:30:03 +0800
Subject: [PATCH] 修改了登录页

---
 ruoyi-ui/src/views/login.vue |  302 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 269 insertions(+), 33 deletions(-)

diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index 3f7715b..0e1fd66 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -1,14 +1,43 @@
 <template>
-  <div class="login Group_132">
-    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" style="margin-left: 0px;margin-right: 180px;">
-      <h3 class="title" style="margin-top: 80px;margin-right: 108px;margin-bottom: 0;margin-left: 109px;">鏈兘閮藉缃�</h3>
-      <div class="second-box" style=" margin-top: 25px; margin-left: 140px; margin-right: 141px;">
-        <div class="little-title" style=" margin-top: 20px;">
-          <h5>鐧诲綍鍙煡鐪嬫洿澶氫俊鎭�</h5>
-          <h5>鏈敞鍐岀殑璐﹀彿鐧诲綍鎴愬姛鍚庝細鑷姩娉ㄥ唽</h5></div></div>
-      <div class="yonghuming" style="margin-left: 99px;margin-right: 425px;">鐢ㄦ埛鍚�</div>
+  <div>
+  
 
-      <el-form-item prop="username" style="width: 380px; height: 48px; margin-left: 96px; margin-right: 96px; ">
+  <div class="login Group_132">
+	  <div class="navbar topHeight">
+	<!--     <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
+	  
+	     <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
+	     <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
+	  -->
+	     <div class="right-menu">
+	     
+	  
+	     
+	         <div class="avatar-wrapper">
+			   <el-button @click="login">
+	           <img :src="avatar" class="user-avatar">
+	           <i class="el-icon-caret-bottom" />
+			   <span>鐧诲綍</span>
+			   </el-button>
+			   <el-button @click="openReg">
+			 
+			   <span>娉ㄥ唽</span>
+			   </el-button>
+	         </div>
+	     
+	     </div>
+	   </div>
+	  
+	    <el-dialog  :visible.sync="open" style="margin: 0px;" customClass="customWidth" width="620px">
+    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" style="margin: 0px;">
+      <h3 class="title">鐧诲綍鏈兘閮藉缃�</h3>
+      <div class="second-box" >
+        <div class="little-title" style="">
+          <h5>鐧诲綍鍙煡鐪嬫洿澶氫俊鎭�</h5>
+        </div></div>
+      <div class="yonghuming" style="">鐢ㄦ埛鍚�</div>
+
+      <el-form-item prop="username" style="width: 380px; height: 48px; ">
         <el-input
           v-model="loginForm.username"
           type="text"
@@ -20,12 +49,9 @@
         </el-input>
       </el-form-item>
 
-      <div class="mima" style="
-    margin-left: 99px;
-    margin-right: 441px;">瀵嗙爜</div>
+      <div class="mima" style="">瀵嗙爜</div>
       <el-form-item prop="password" style="
-    margin-left: 96px;
-    margin-right: 96px;
+
     width: 380px;
     height: 48px;">
         <el-input
@@ -59,14 +85,14 @@
       </el-form-item>
 
 
-      <div class="楠岃瘉鐮�" style="margin-left: 99px;margin-right: 425px;width: 48px;height: 20px;">楠岃瘉鐮�</div>
-      <el-form-item prop="code" v-if="captchaEnabled" style="margin-bottom: 76px;width: 520px;"  >
+      <div class="楠岃瘉鐮�" style="width: 48px;height: 20px;">楠岃瘉鐮�</div>
+      <el-form-item prop="code" v-if="captchaEnabled" style="width: 380px;"  >
         <el-input
           v-model="loginForm.code"
           auto-complete="off"
           placeholder="璇疯緭鍏ラ獙璇佺爜"
           style="width: 258px ;
-          margin-left: 96px "
+        "
 
 
 
@@ -81,7 +107,7 @@
         </div>
 
         <div class="code" @click="getCode" style="width: 24px;
-        margin-left: 452px;
+        
         height: 16px;
         font-size: 12px;
         font-family: Microsoft YaHei-Regular, Microsoft YaHei;
@@ -95,12 +121,12 @@
 
 
       <!-- <el-checkbox v-model="loginForms.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox> -->
-      <el-form-item s style="width: 572px;height: 72px;margin-bottom: 75px;background: rgba(239,113,155,0.8);">
+      <el-form-item  style="width: 300px;height: 72px;background: rgba(239,113,155,0.8);border:1px solid red">
 
 
         <el-button
           :loading="loading"
-          style="width: 572px;height: 72px; background: rgba(239,113,155,0.8);"
+          style="width: 300px;height: 72px; background: rgba(239,113,155,0.8);"
           size="medium"
           type="primary"
           @click.native.prevent="handleLogin"
@@ -108,20 +134,90 @@
           <span v-if="!loading" style="width: 97px;height: 62px;">鐧诲綍</span>
           <span v-else>鐧� 褰� 涓�...</span>
         </el-button>
-        <a href="https://www.bendudu.com:8080/profile/upload/2023/10/10/Bendudu20231010_20231010203358A033.apk">鐐瑰嚮姝ゅ涓嬭浇搴旂敤绋嬪簭</a>
-        <div style="float: right;
-        height:94px;" v-if="register">
-          <router-link class="link-type" :to="'/register'">绔嬪嵆娉ㄥ唽</router-link>
-
-        </div>
+      
       </el-form-item>
+	  <el-form-item>
+		  <a href="https://www.bendudu.com:8080/profile/upload/2023/10/10/Bendudu20231010_20231010203358A033.apk">鐐瑰嚮姝ゅ涓嬭浇搴旂敤绋嬪簭</a>
+		
+	  </el-form-item>
     </el-form>
+	</el-dialog>
+	
+	
+	
+	
+	<el-dialog :visible.sync="openRegister" customClass="customWidth" width="450px">
+		<div class="register">
+		  <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
+		    <h3 class="title">鏂扮敤鎴锋敞鍐�</h3>
+		    <el-form-item prop="username">
+		      <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="璐﹀彿">
+		        <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
+		      </el-input>
+		    </el-form-item>
+		    <el-form-item prop="password">
+		      <el-input
+		        v-model="registerForm.password"
+		        type="password"
+		        auto-complete="off"
+		        placeholder="瀵嗙爜"
+		        @keyup.enter.native="handleRegister"
+		      >
+		        <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+		      </el-input>
+		    </el-form-item>
+		    <el-form-item prop="confirmPassword">
+		      <el-input
+		        v-model="registerForm.confirmPassword"
+		        type="password"
+		        auto-complete="off"
+		        placeholder="纭瀵嗙爜"
+		        @keyup.enter.native="handleRegister"
+		      >
+		        <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+		      </el-input>
+		    </el-form-item>
+		    <el-form-item prop="code" v-if="captchaEnabled">
+		      <el-input
+		        v-model="registerForm.code"
+		        auto-complete="off"
+		        placeholder="楠岃瘉鐮�"
+		        style="width: 63%"
+		        @keyup.enter.native="handleRegister"
+		      >
+		        <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+		      </el-input>
+		      <div class="register-code">
+		        <img :src="codeUrl" @click="getCode" class="register-code-img"/>
+		      </div>
+		    </el-form-item>
+		    <el-form-item style="width:100%;">
+		      <el-button
+		        :loading="loading"
+		        size="medium"
+		        type="primary"
+		        style="width:100%;"
+		        @click.native.prevent="handleRegister"
+		      >
+		        <span v-if="!loading">娉� 鍐�</span>
+		        <span v-else>娉� 鍐� 涓�...</span>
+		      </el-button>
+		   
+		    </el-form-item>
+		  </el-form>
+		  <!--  搴曢儴  -->
+		
+		</div>
+	</el-dialog>
     <!--  搴曢儴  -->
     <div class="el-login-footer" >
       <span style="color: black; ">Copyright 漏 GDUT All Rights Reserved.<span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></span>
       <a href="https://beian.miit.gov.cn/" target="_blank" style="color: black; ">绮CP澶�2023050334鍙�<span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>鍏畨澶囨鍙�44010402003045</a>
     </div>
   </div>
+  
+  <div class="gpr"></div>
+</div>
 </template>
 
 <script>
@@ -132,7 +228,16 @@
 export default {
   name: "Login",
   data() {
+	  const equalToPassword = (rule, value, callback) => {
+	    if (this.registerForm.password !== value) {
+	      callback(new Error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�"));
+	    } else {
+	      callback();
+	    }
+	  };
     return {
+		openRegister: false,
+	  open: false,
       codeUrl: "",
       loginForm: {
         // username: "admin",
@@ -157,7 +262,34 @@
       captchaEnabled: true,
       // 娉ㄥ唽寮�鍏�
       register: true,
-      redirect: undefined
+      redirect: undefined,
+	  
+	  
+	  
+
+	  registerForm: {
+	    username: "",
+	    password: "",
+	    confirmPassword: "",
+	    code: "",
+	    uuid: ""
+	  },
+	  registerRules: {
+	    username: [
+	      { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" },
+	      { min: 2, max: 20, message: '鐢ㄦ埛璐﹀彿闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿', trigger: 'blur' }
+	    ],
+	    password: [
+	      { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" },
+	      { min: 5, max: 20, message: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', trigger: 'blur' }
+	    ],
+	    confirmPassword: [
+	      { required: true, trigger: "blur", message: "璇峰啀娆¤緭鍏ユ偍鐨勫瘑鐮�" },
+	      { required: true, validator: equalToPassword, trigger: "blur" }
+	    ],
+	    code: [{ required: true, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }]
+	  },
+
     };
   },
   watch: {
@@ -173,6 +305,33 @@
     this.getCookie();
   },
   methods: {
+	  handleRegister() {
+	    this.$refs.registerForm.validate(valid => {
+	      if (valid) {
+	        this.loading = true;
+	        register(this.registerForm).then(res => {
+	          const username = this.registerForm.username;
+	          this.$alert("<font color='red'>鎭枩浣狅紝鎮ㄧ殑璐﹀彿 " + username + " 娉ㄥ唽鎴愬姛锛�</font>", '绯荤粺鎻愮ず', {
+	            dangerouslyUseHTMLString: true,
+	            type: 'success'
+	          }).then(() => {
+	            this.$router.push("/login");
+	          }).catch(() => {});
+	        }).catch(() => {
+	          this.loading = false;
+	          if (this.captchaEnabled) {
+	            this.getCode();
+	          }
+	        })
+	      }
+	    });
+	  },
+	  openReg(){
+		  this.openRegister = true; 
+	  },
+	  login(){
+		  this.open = true;
+	  },
     getCode() {
 
       getCodeImg().then(res => {
@@ -223,6 +382,18 @@
 </script>
 
 <style rel="stylesheet/scss" lang="scss">
+.gpr{
+	width:100%;
+	height:600px;
+	background: no-repeat center/40% url("../assets/images/Group 132.png");
+}
+	 .customWidth{
+	      width:40%;  // 璁剧疆寮瑰嚭妗嗗搴︾殑鏁板��
+	  }
+.topHeight{
+	height: 40px;
+	margin-right: 20px;
+}
 .Group_132{
   // background: no-repeat center/40% url("../assets/images/Group 132.png");
   height: 100%;
@@ -243,12 +414,12 @@
   background: no-repeat center/40% url("../assets/images/login_logo.png");
   background-color: #FEF7FC;
 
-  background-position: 183px 145px;
+  
   //background-image: url("../assets/images/login-background.jpg");
   //background-size: cover;
 }
 .title {
-  margin: 109px 0 108px 0 ;
+  
   width:355px;
   height: 58px;
   font-size: 44px;
@@ -321,8 +492,8 @@
   border-radius: 6px;
   background: #FEF7FC;
   width: 572px;
-  padding: 25px 25px 5px 25px;
-  margin: 211px 142px 237px 1206px;
+  height:660px;
+
   .el-input {
     height: 48px;
     input {
@@ -344,7 +515,7 @@
   width: 108px;
   height: 48px;
   float: right;
-  margin-right: 46px;
+  
 
 
   img {
@@ -372,6 +543,71 @@
 }
 
 .code {
-  margin-left: 452px;
+  
+}
+
+.register {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: 100%;
+  //background-image: url("../assets/images/login-background.jpg");
+ 
+ width:400px;
+  background-color: #FEF7FC;
+  
+  //background-size: cover;
+}
+.title {
+  margin: 0px auto 30px auto;
+  text-align: center;
+  color: #707070;
+}
+
+.register-form {
+  border-radius: 6px;
+  background: #ffffff;
+  width: 400px;
+  padding: 25px 25px 5px 25px;
+  .el-input {
+    height: 38px;
+    input {
+      height: 38px;
+    }
+  }
+  .input-icon {
+    height: 39px;
+    width: 14px;
+    margin-left: 2px;
+  }
+}
+.register-tip {
+  font-size: 13px;
+  text-align: center;
+  color: #bfbfbf;
+}
+.register-code {
+  width: 33%;
+  height: 38px;
+  float: right;
+  img {
+    cursor: pointer;
+    vertical-align: middle;
+  }
+}
+.el-register-footer {
+  height: 40px;
+  line-height: 40px;
+  position: fixed;
+  bottom: 0;
+  width: 100%;
+  text-align: center;
+  color: #fff;
+  font-family: Arial;
+  font-size: 12px;
+  letter-spacing: 1px;
+}
+.register-code-img {
+  height: 38px;
 }
 </style>

--
Gitblit v1.9.1