Commit a54c7392 authored by 张俊's avatar 张俊

登录菜单调整

parent 5f3e72c7
<template>
<div class="login-by-account">
<el-form ref="loginForm" label-position="top" :model="loginForm" :rules="steploginFormRules">
<el-form
ref="loginForm"
label-position="top"
:model="loginForm"
:rules="steploginFormRules"
>
<el-form-item label="账号" prop="userid">
<el-input
v-model="loginForm.userid"
......@@ -21,7 +26,7 @@
:title="hidePassword ? '显示密码' : '隐藏密码'"
:class="hidePassword ? 'hide-password' : 'show-password'"
@click="hidePassword = !hidePassword"
style="cursor:pointer;"
style="cursor: pointer"
></span>
</el-input>
</el-form-item>
......@@ -32,28 +37,33 @@
placeholder="请输入验证码"
@keyup.enter.native="loginAction()"
/>
<img class="yzm_img" title="看不清?换一张" :src="imgSrc" @click="getImg()" />
<img
class="yzm_img"
title="看不清?换一张"
:src="imgSrc"
@click="getImg()"
/>
</div>
</el-form-item>
<el-form-item>
<el-checkbox v-model="rememberPassword">记住密码</el-checkbox>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="loginAction()" style="width:100%;">
<el-button type="primary" @click="loginAction()" style="width: 100%">
登 录
</el-button>
</el-form-item>
</el-form>
</div>
</template>
</template>
<script>
import CryptoJS from "crypto-js";
import { getCookie, clearCookie, setCookie } from "@/services/cookie.js";
import menu from '../router/function'
import {generateRoutes} from '../router/index'
<script>
import CryptoJS from "crypto-js";
import { getCookie, clearCookie, setCookie } from "@/services/cookie.js";
import menu from "../router/function";
import { generateRoutes } from "../router/index";
export default {
export default {
name: "LoginByAccount", // 账号密码登录
data() {
return {
......@@ -65,12 +75,10 @@
steploginFormRules: {
userid: [{ required: true, message: "请输入账号", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
yzm: [
{ required: true, message: "请输入验证码", trigger: "blur" },
],
yzm: [{ required: true, message: "请输入验证码", trigger: "blur" }],
},
imgId:'',
imgSrc:'',
imgId: "",
imgSrc: "",
identifyCode: "",
hidePassword: true,
rememberPassword: false,
......@@ -87,11 +95,12 @@
clearCookie("userinfo");
}
this.$refs.loginForm.validate((valid) => {
if (valid) {
this.$axios
.get(`/apaas/system/v5/user/verifyCaptcha?id=${this.imgId}&value=${this.loginForm.yzm}`)
.get(
`/apaas/system/v5/user/verifyCaptcha?id=${this.imgId}&value=${this.loginForm.yzm}`
)
.then((res) => {
if (res.data.code == 200) {
this.login();
......@@ -99,16 +108,19 @@
this.$message.error(res.data.data);
}
});
}
});
},
login(){
login() {
this.$axios
.post(`/apaas/system/v5/user/login`, {
system_account: this.loginForm.userid,
password: CryptoJS.AES.encrypt(this.loginForm.password,"swuE9cmCZQwrkYRV").toString(),
}).then(({ data }) => {
password: CryptoJS.AES.encrypt(
this.loginForm.password,
"swuE9cmCZQwrkYRV"
).toString(),
})
.then(({ data }) => {
if (data.code == 200) {
this.getUser();
} else {
......@@ -123,41 +135,50 @@
console.log(error);
});
},
getUserInfo() {
return this.$axios.get(`/apaas/system/v5/user/getUserInfo`);
},
getMenu() {
return this.$axios.get(`/apaas/system/v5/menu/user/tree`);
},
getUser() {
this.$axios.get(`/apaas/system/v5/user/getUserInfo`).then((res) => {
if (res.data.code == 200) {
this.$store.commit("setUserInfo", res.data.data);
Promise.all([this.getUserInfo(), this.getMenu()]).then((res) => {
if (res[0].data.code == 200 && res[1].data.code == 200) {
let data = res[1].data.data[0].children || [];
this.$store.commit("setUserInfo", res[0].data.data);
// if (res.data.data.userType == 1) {
//超管
this.$store.commit("setMenu", menu.adminMenu);
this.$store.commit("setMenu", data);
menu.menuToRouter(menu.adminMenu)
menu.menuToRouter(data);
this.$store.commit('setRoute',menu.adminMenu)
this.$store.commit("setRoute", data);
//存储菜单对象信息
let menuObj = {}
this.getMenuObj(menu.adminMenu,'',menuObj)
this.$store.commit('setMenuObj',menuObj)
let menuObj = {};
this.getMenuObj(data, "", menuObj);
this.$store.commit("setMenuObj", menuObj);
// }
generateRoutes()
generateRoutes();
// this.$router.push("/");
//跳转到工作台页面
window.location.href = '/apaas/portal/ui/#/'
window.location.href = "/apaas/portal/ui/#/";
}
});
},
getMenuObj(menu,parentRowPath,menuObj){
menu.forEach((e,idx) => {
e.rowPath = parentRowPath + '.' + idx
menuObj[e.path] = e
if(e.children&&e.children.length){
this.getMenuObj(e.children,e.rowPath,menuObj)
getMenuObj(menu, parentRowPath, menuObj) {
menu.forEach((e, idx) => {
e.rowPath = parentRowPath + "." + idx;
menuObj[e.path] = e;
if (e.children && e.children.length) {
this.getMenuObj(e.children, e.rowPath, menuObj);
}
});
},
getImg(clearInput = false) {
this.$axios.get(`/apaas/system/v5/user/getCaptcha??width=240&height=32`).then((res) => {
this.$axios
.get(`/apaas/system/v5/user/getCaptcha??width=240&height=32`)
.then((res) => {
if (res.data.code == 200) {
this.imgId = res.data.data.id;
this.imgSrc = res.data.data.captcha;
......@@ -177,16 +198,16 @@
this.loginForm.password = userinfo[1];
this.checked = true;
this.rememberPassword = true
this.rememberPassword = true;
} else {
this.checked = false;
}
},
};
</script>
};
</script>
<style lang="scss" scoped>
.msg-code {
<style lang="scss" scoped>
.msg-code {
display: flex;
justify-content: space-between;
align-items: center;
......@@ -195,6 +216,5 @@
margin-left: 6px;
flex-shrink: 0;
}
}
</style>
\ No newline at end of file
}
</style>
......@@ -43,6 +43,11 @@ function getUser() {
return axios.get(`/apaas/system/v5/user/getUserInfo`)
}
//获取用户菜单信息
function getMenu() {
return axios.get(`/apaas/system/v5/menu/user/tree`)
}
//处理菜单成为对象
function getMenuObj(menu,parentRowPath,menuObj){
menu.forEach((e,idx) => {
......@@ -55,22 +60,22 @@ function getMenuObj(menu,parentRowPath,menuObj){
}
Promise.all([getUser()]).then(res => {
Promise.all([getUser(),getMenu()]).then(res => {
console.log(res);
if (res[0].data.code == 200) {
if (res[0].data.code == 200&&res[1].data.code == 200) {
//已登录则记录菜单和用户信息
let data = res[1].data.data[0].children||[]
store.commit('setUserInfo', res[0].data.data)
// if (res[0].data.data.userType == 1) {//超管
store.commit('setMenu', menu.adminMenu)
menu.menuToRouter(menu.adminMenu)
store.commit('setMenu', data)
menu.menuToRouter(data)
console.log(menu);
store.commit('setRoute',menu.adminMenu)
store.commit('setRoute',data)
//存储菜单对象信息
let menuObj = {}
getMenuObj(menu.adminMenu,'',menuObj)
getMenuObj(data,'',menuObj)
store.commit('setMenuObj',menuObj)
console.log(menuObj);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment