From 1445c7e1f76c4628f4619cf67150a63d6f8f5e90 Mon Sep 17 00:00:00 2001 From: mg <maokecheng@163.com> Date: 星期二, 01 十一月 2022 09:04:16 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_ui --- src/views/login/index.vue | 184 +++++++++++++++++++++++---------------------- 1 files changed, 95 insertions(+), 89 deletions(-) diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 6e5f771..0da15ac 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -2,7 +2,11 @@ <div id="background"> <!-- 浜у搧鍚嶇О --> <div class="text"> - <div class="logo"></div> + <div class="logo"> + <img + :src="imgUrl" + alt=""> + </div> <div class="text-r"> <h2 class="title font-extra-large">閬傛槍鍘挎櫤鎱ф墽娉曞钩鍙�</h2> <div class="title font-title-medium"> @@ -12,24 +16,12 @@ </div> <el-card class="login-form-layout"> <!-- 琛ㄥ崟 --> - <el-form - autoComplete="on" - :model="loginForm" - :rules="loginRules" - ref="loginForm" - label-position="left" - > - <!-- title --> + <el-form autoComplete="on" :model="loginForm" :rules="loginRules" ref="loginForm" label-position="left"> + <!-- title --> <h2 class="login-title">鐢ㄦ埛鐧诲綍 / USER LOGIN</h2> <el-form-item prop="username"> <!-- 鐢ㄦ埛鍚嶈緭鍏ユ --> - <el-input - name="username" - type="text" - v-model="loginForm.username" - autoComplete="on" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - > + <el-input name="username" type="text" v-model="loginForm.username" autoComplete="on" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�"> <span slot="prefix"> <svg-icon icon-class="user" class="color-main"></svg-icon> </span> @@ -37,35 +29,21 @@ </el-form-item> <el-form-item prop="password"> <!-- 瀵嗙爜杈撳叆妗� --> - <el-input - name="password" - :type="pwdType ? 'text' : 'password'" - @keyup.enter.native="handleLogin" - v-model="loginForm.password" - autoComplete="on" - placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�" - > - <!-- 杈撳叆妗嗗墠icon --> + <el-input name="password" :type="pwdType ? 'text' : 'password'" @keyup.enter.native="handleLogin" + v-model="loginForm.password" autoComplete="on" placeholder="璇疯緭鍏ョ櫥褰曞瘑鐮�"> + <!-- 杈撳叆妗嗗墠icon --> <span slot="prefix"> - <svg-icon icon-class="password" class="color"></svg-icon> + <svg-icon icon-class="password" class="color"></svg-icon> </span> <!-- 杈撳叆妗嗗悗icon --> <span slot="suffix" @click="showPwd"> - <svg-icon - :icon-class="pwdType ? 'yanjing-zhengyan' : 'yanjing-biyan'" - class="pointer" - ></svg-icon> + <svg-icon :icon-class="pwdType ? 'yanjing-zhengyan' : 'yanjing-biyan'" class="pointer"></svg-icon> </span> </el-input> </el-form-item> <!-- 琛ㄥ崟鎻愪氦鎸夐挳 --> <el-form-item style="margin-bottom: 60px; text-align: center"> - <el-button - style="width: 100%" - type="primary" - :loading="loading" - @click.native.prevent="handleLogin" - > + <el-button style="width: 100%" type="primary" :loading="loading" @click.native.prevent="handleLogin"> 鐧诲綍 </el-button> </el-form-item> @@ -76,7 +54,8 @@ <script> import { isvalidUsername } from "@/utils/validate"; - +import { createNamespacedHelpers } from "vuex"; +const { mapActions } = createNamespacedHelpers("users"); export default { name: "login", data() { @@ -96,9 +75,12 @@ }; return { loginForm: { - username: "", - password: "", + username:"", + password:"", + // username: "admin", + // password: "macro123", }, + imgUrl:'', loginRules: { username: [ { required: true, trigger: "blur", validator: validateUsername }, @@ -112,22 +94,18 @@ }; }, created() { - // this.loginForm.username = getCookie("username"); - // this.loginForm.password = getCookie("password"); - // if ( - // this.loginForm.username === undefined || - // this.loginForm.username == null || - // this.loginForm.username === "" - // ) { - // this.loginForm.username = "admin"; - // } - // if ( - // this.loginForm.password === undefined || - // this.loginForm.password == null - // ) { - // this.loginForm.password = ""; - // } - }, + const pic = JSON.parse(sessionStorage.getItem('pic')); + if(pic){ + this.imgUrl = pic.loginPageIconUrl + }else{ + this.$axios({ + method: 'get', + url: 'sccg/system/portal/logo/search', + }).then(res => { + this.imgUrl = res.data.loginPageIconUrl + }) + } + }, methods: { showPwd() { if (!this.pwdType) { @@ -136,74 +114,102 @@ this.pwdType = false; } }, + ...mapActions(["login"]), handleLogin() { - this.$router.push({ path: "/home" }); - // this.$refs.loginForm.validate((valid) => { - // if (valid) { - // console.log(valid); - // this.loading = true; - // this.$store - // .dispatch("Login", this.loginForm) - // .then(() => { - // this.loading = false; - // setCookie("username", this.loginForm.username, 15); - // setCookie("password", this.loginForm.password, 15); - // this.$router.push({ path: "/" }); - // }) - // .catch(() => { - // this.loading = false; - // }); - // } else { - // console.log("鍙傛暟楠岃瘉涓嶅悎娉曪紒"); - // return false; - // } - // }); + const { username, password } = this.loginForm; + const that = this; + console.log(this.login); + this.$axios + .post("sccg/admin/login", { + password, + username, + }) + .then(function (response) { + if (response.code === 200) { + // 璁剧疆toke鏃堕棿 + // 淇濆瓨token + console.log(response); + sessionStorage.setItem('token',response.data.token); + // 淇濆瓨token + sessionStorage.setItem('tokenHead',response.data.tokenHead); + // 淇濆瓨鐢ㄦ埛鐧诲綍鍚� + sessionStorage.setItem('name',username); + // 璺宠浆鍒伴椤� + that.$router.push("/home"); + }else{ + that.$refs.loginForm.validate((valid)=>{ + if(valid){ + that.$message({ + type:'warning', + message:response.message + }) + } + }) + } + // console.log(response); + }) + .catch(function (error) { + console.log(error); + }); }, }, }; </script> <style lang="scss" scoped> -.color{ +.color { color: red; } + #background { width: 100vw; height: 100vh; - background: url("@/assets/imgs/login/login_bg.jpg"); - background-size: cover ; + background: url("@/assets/imgs/login/bk.png"); + background-size: cover; position: relative; display: flex; min-width: 800px; } + .login-form-layout { position: absolute; + top: 20%; right: 5%; width: 360px; - align-self: center; + &:deep(.el-input__inner){ + background-color: #fff !important; + border: 1px solid #dcdfe6 !important; + } } + .text { align-self: flex-start; position: absolute; - top:20%; + top: 20%; left: 5%; - // margin-top: 180px; - // margin-left: 50px; display: flex; - width: 400px; + width: 420px; justify-content: space-between; - .logo { - width: 50px; - height: 50px; - border-radius: 50%; - background-color: pink; + + .logo>img { + width: 75px; + height: 75px; + border-radius: 4px; } + .text-r { + margin-left: 15px; + .title { color: white; } + + .font-title-medium { + margin-top: -10px; + } } } + .login-title { text-align: left; font-size: 1.2rem; -- Gitblit v1.8.0