Commit 2e50db52 authored by jiangqihao's avatar jiangqihao

权限登录

parent 47978b48
...@@ -8,7 +8,9 @@ import { role } from '@/api/account' ...@@ -8,7 +8,9 @@ import { role } from '@/api/account'
* @param route * @param route
*/ */
function hasPermission(route, paths) { function hasPermission(route, paths) {
// console.log("route",route)
if (route.name) { if (route.name) {
// console.log('name',route.name)
return paths.includes(route.name) return paths.includes(route.name)
} }
} }
...@@ -77,6 +79,8 @@ const mutations = { ...@@ -77,6 +79,8 @@ const mutations = {
const actions = { const actions = {
generateRoutes({ commit }) { generateRoutes({ commit }) {
console.log('2')
console.log(JSON.parse(localStorage.getItem('PATHS')))
return new Promise(resolve => { return new Promise(resolve => {
const paths = JSON.parse(localStorage.getItem('PATHS')) const paths = JSON.parse(localStorage.getItem('PATHS'))
let accessedRoutes let accessedRoutes
...@@ -90,13 +94,14 @@ const actions = { ...@@ -90,13 +94,14 @@ const actions = {
resolve(accessedRoutes) resolve(accessedRoutes)
}) })
}, },
getPermissions({ commit }, roleId) { async getPermissions({ commit }, roleId) {
console.log(roleId) console.log("1")
normalRequest(role.searchOneUrl, { id: roleId }).then(res => { await normalRequest(role.searchOneUrl, { id: roleId }).then(res => {
var menus = res.results.data.results[0].RoleToMenuMenuList var menus = res.results.data.results[0].RoleToMenuMenuList
var permissions = [] var permissions = []
var paths = [] var paths = []
treeToArray(menus, permissions, paths) treeToArray(menus, permissions, paths)
console.log(paths)
localStorage.setItem('PERMISSIONS', JSON.stringify(permissions)) localStorage.setItem('PERMISSIONS', JSON.stringify(permissions))
localStorage.setItem('PATHS', JSON.stringify(paths)) localStorage.setItem('PATHS', JSON.stringify(paths))
commit('SET_PERMISSIONS', permissions) commit('SET_PERMISSIONS', permissions)
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
v-permission='20101'
@click="handleAdd" @click="handleAdd"
>添加</el-button> >添加</el-button>
</template> </template>
......
<template> <template>
<div class="dashboard-editor-container"> <div>
<h2>首页</h2>
<panel-group @handleSetLineChartData="handleSetLineChartData" />
<div class="two-column">
<div class="left" />
<SystemNotice />
</div>
<div class="two-column">
<div class="left" />
</div>
<el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
<line-chart :chart-data="lineChartData" />
</el-row>
<el-row :gutter="32">
<el-col
:xs="24"
:sm="24"
:lg="8"
>
<div class="chart-wrapper">
<raddar-chart />
</div>
</el-col>
<el-col
:xs="24"
:sm="24"
:lg="8"
>
<div class="chart-wrapper">
<pie-chart />
</div>
</el-col>
<el-col
:xs="24"
:sm="24"
:lg="8"
>
<div class="chart-wrapper">
<bar-chart />
</div>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col
:xs="{span: 24}"
:sm="{span: 24}"
:md="{span: 24}"
:lg="{span: 12}"
:xl="{span: 12}"
style="padding-right:8px;margin-bottom:30px;"
>
<transaction-table />
</el-col>
<el-col
:xs="{span: 24}"
:sm="{span: 12}"
:md="{span: 12}"
:lg="{span: 6}"
:xl="{span: 6}"
style="margin-bottom:30px;"
>
<todo-list />
</el-col>
<el-col
:xs="{span: 24}"
:sm="{span: 12}"
:md="{span: 12}"
:lg="{span: 6}"
:xl="{span: 6}"
style="margin-bottom:30px;"
>
<box-card />
</el-col>
</el-row>
</div> </div>
</template> </template>
<script> <script>
import SystemNotice from './components/SystemNotice'
// import ComplaintsAndSuggestions from './components/ComplaintsAndSuggestions'
import PanelGroup from './components/PanelGroup'
import LineChart from './components/LineChart'
import RaddarChart from './components/RaddarChart'
import PieChart from './components/PieChart'
import BarChart from './components/BarChart'
import TransactionTable from './components/TransactionTable'
import TodoList from './components/TodoList'
import BoxCard from './components/BoxCard'
const lineChartData = {
newVisitis: {
expectedData: [100, 120, 161, 134, 105, 160, 165],
actualData: [120, 82, 91, 154, 162, 140, 145]
},
messages: {
expectedData: [200, 192, 120, 144, 160, 130, 140],
actualData: [180, 160, 151, 106, 145, 150, 130]
},
purchases: {
expectedData: [80, 100, 121, 104, 105, 90, 100],
actualData: [120, 90, 100, 138, 142, 130, 130]
},
shoppings: {
expectedData: [130, 140, 141, 142, 145, 150, 160],
actualData: [120, 82, 91, 154, 162, 140, 130]
}
}
export default { export default {
name: 'DashboardAdmin',
components: {
SystemNotice,
// ComplaintsAndSuggestions,
PanelGroup,
LineChart,
RaddarChart,
PieChart,
BarChart,
TransactionTable,
TodoList,
BoxCard
},
data() {
return {
lineChartData: lineChartData.newVisitis
}
},
methods: {
handleSetLineChartData(type) {
this.lineChartData = lineChartData[type]
}
}
}
</script>
<style lang="scss" scoped>
.dashboard-editor-container {
padding: 32px;
background-color: rgb(240, 242, 245);
position: relative;
.github-corner {
position: absolute;
top: 0px;
border: 0;
right: 0;
}
.chart-wrapper {
background: #fff;
padding: 16px 16px 0;
margin-bottom: 32px;
}
} }
</script>
@media (max-width: 1024px) { <style>
.chart-wrapper {
padding: 8px;
}
}
.two-column {
display: flex;
justify-content: space-between;
margin-bottom: 30px;
> div {
width: 49%;
background-color: #fff;
}
}
</style> </style>
\ No newline at end of file
...@@ -251,6 +251,8 @@ export default { ...@@ -251,6 +251,8 @@ export default {
}, },
created() { created() {
localStorage.removeItem('USERINFO') localStorage.removeItem('USERINFO')
localStorage.removeItem('PERMISSIONS')
localStorage.removeItem('PATHS')
// this.userInfo = JSON.parse(localStorage.getItem('CEINFO')) // this.userInfo = JSON.parse(localStorage.getItem('CEINFO'))
// window.addEventListener('storage', this.afterQRScan) // window.addEventListener('storage', this.afterQRScan)
}, },
...@@ -290,7 +292,6 @@ export default { ...@@ -290,7 +292,6 @@ export default {
this.$store.dispatch('user/login', params) this.$store.dispatch('user/login', params)
.then(() => { .then(() => {
const start = JSON.parse(localStorage.getItem('CEINFO')).ExtIsFistTime_SDK ? true : false const start = JSON.parse(localStorage.getItem('CEINFO')).ExtIsFistTime_SDK ? true : false
console.log(start)
if (start) { if (start) {
this.$confirm('首次登录请修改密码', '提示', { this.$confirm('首次登录请修改密码', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -302,7 +303,9 @@ export default { ...@@ -302,7 +303,9 @@ export default {
this.loading = false this.loading = false
}) })
} else { } else {
this.$router.push({ path: this.redirect || '/', query: this.otherQuery }) // localStorage.setItem('PATHS', JSON.parse(localStorage.getItem('PATHS')))
this.$router.push({ path: '/', query: this.otherQuery })
// this.$router.push({ path: this.redirect || '/', query: this.otherQuery })
this.loading = false this.loading = false
} }
}) })
......
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