| 
					
				 | 
			
			
				@@ -3,13 +3,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div slot="header" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <span>登入内业管理系统</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-width="0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-form-item prop="email"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-width="0" class="rpm-sign-in-login"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item prop="username"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ref="username" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           placeholder="输入账号" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           type="text" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tabindex="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          autocomplete="off" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           v-model="loginForm.username" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="rpm-sign__tip cprimary" > 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,6 +24,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           type="password" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           tabindex="2" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           :key="passwordType" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          autocomplete="new-password" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           v-model="loginForm.password" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @keyup.native="checkCapslock" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           @blur="capsTooltip = false" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32,6 +34,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           忘记密码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item prop="remember"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <input type="checkbox" v-model="loginForm.remember" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <label class="ml10">记住密码</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-button type="primary" @click.native.prevent="handleLogin"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           登入 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -60,7 +67,7 @@ import { validateLoginname, validatePassword } from '@/utils/validate' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import md5 from '@/utils/md5' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { mapActions } from "vuex"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const Base64 = require("js-base64").Base64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'Login', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -69,7 +76,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       visibleForm: 'signIn', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       loginForm: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         username: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        password: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        password: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        remember: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       loginRules: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         username: [{ required: true, trigger: 'blur', validator: validateLoginname }], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,8 +100,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   created(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log( this.$route.query  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     this.redirect = this.$route.query.redirect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.redirect = this.$route.query.redirect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let username = this.getCookie("username"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (username) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.loginForm.username = username; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.loginForm.password = Base64.decode(this.getCookie("password")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.loginForm.remember = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log( this.loginForm ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ...mapActions("user", ["login", "loadDepartment"]), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -101,6 +115,27 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const { key } = e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.capsTooltip = key && key.length === 1 && (key >= 'A' && key <= 'Z') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getCookie: function (key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (document.cookie.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var start = document.cookie.indexOf(key + "="); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (start !== -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          start = start + key.length + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          var end = document.cookie.indexOf(";", start); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (end === -1) end = document.cookie.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return unescape(document.cookie.substring(start, end)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setCookie: function (cName, value, expiredays) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var exdate = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      exdate.setDate(exdate.getDate() + expiredays); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      document.cookie = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cName + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "=" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        decodeURIComponent(value) + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (expiredays == null ? "" : ";expires=" + exdate.toGMTString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     showPwd() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.passwordType === 'password') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.passwordType = '' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,6 +147,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleLogin() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let remember = this.loginForm.remember 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$refs.loginForm.validate(valid => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!valid)  return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.loading = true 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,6 +155,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let path = this.redirect || '/'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.login( param).then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$router.push({ path, query: this.otherQuery }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if( remember ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let passWord = Base64.encode(this.loginForm.password); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setCookie("password", passWord, 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setCookie("username", this.loginForm.username, 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setCookie("password", "", 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.setCookie("username", "", 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.loadDepartment() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).catch((err) => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -136,6 +180,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .el-button { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   width: 100% !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.login-form{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 450px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .rpm-sign-in { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   top: 20px; 
			 |