From 085fa2fb257e9f11f8f6d34bf12e2dc281c36b4d Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期四, 09 二月 2023 11:28:21 +0800
Subject: [PATCH] 2023/2/9 肖辉 修改部门管理
---
src/views/login/index.vue | 186 +++++++++++++++++++++++-----------------------
1 files changed, 92 insertions(+), 94 deletions(-)
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 6e5f771..3448171 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,10 @@
<script>
import { isvalidUsername } from "@/utils/validate";
+import { createNamespacedHelpers } from "vuex";
+import users from "@/api/users";
+const { mapActions } = createNamespacedHelpers("users");
export default {
name: "login",
data() {
@@ -96,9 +77,10 @@
};
return {
loginForm: {
- username: "",
- password: "",
+ username:"",
+ password:"",
},
+ imgUrl:'',
loginRules: {
username: [
{ required: true, trigger: "blur", validator: validateUsername },
@@ -112,98 +94,114 @@
};
},
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) {
- this.pwdType = true;
- } else {
- this.pwdType = false;
- }
+ this.pwdType = !this.pwdType;
},
+ ...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;
+ this.$axios
+ .post("sccg/admin/login", {
+ password,
+ username,
+ })
+ .then(function (response) {
+ if (response.code === 200) {
+ // 璁剧疆toke鏃堕棿
+ // 淇濆瓨token
+ 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
+ })
+ }
+ })
+ }
+ })
+ .catch(function (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