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