提交 fc0964fa 编写于 作者: huangwensu's avatar huangwensu

添加菜单权限

上级 48da751f
...@@ -14,48 +14,45 @@ ...@@ -14,48 +14,45 @@
</transition> </transition>
<v-footer></v-footer> <v-footer></v-footer>
</div> </div>
</el-container> </el-container>
</div> </div>
</template> </template>
<script> <script>
import VHeader from './views/layout/header.vue' import VHeader from './views/layout/header.vue'
import VSlidebar from './views/layout/slidebar.vue' import VSlidebar from './views/layout/slidebar.vue'
import VFooter from './views/layout/footer.vue' import VFooter from './views/layout/footer.vue'
let vm = null let vm = null
export default { export default {
components:{ components:{
VHeader, VHeader,
VSlidebar, VSlidebar,
VFooter VFooter
}, },
data() { data() {
return { return {
}
},
created() {
vm = this
},
mounted() {
setInterval(function(){
vm.pushMessage()
},60000)
},
methods: {
// 实时消息推送
pushMessage() {
vm.$notify({
title: '警告',
message: '这是一条警告的提示消息',
type: 'warning'
});
}
} }
} },
created() {
vm = this
},
mounted() {
setInterval(function(){
vm.pushMessage()
},60000)
},
methods: {
// 实时消息推送
pushMessage() {
vm.$notify({
title: '警告',
message: '这是一条警告的提示消息',
type: 'warning'
});
}
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
......
import * as types from './mutations-types'
export const changeToken = ({commit}, data) => {
commit(types.TOKEN, data)
}
export const changeIdType = ({commit}, data) => {
commit(types.ID_TYPE, data)
}
\ No newline at end of file
const getters = { export const _token = state => state._token
userInfo: state => state.sousuo.userInfo, export const idType = state => state.idType
statusBarHeight: state => state.sousuo.statusBarHeight,
}
export default getters
import Vue from 'vue' import Vue from 'vue'
import Vuex from 'vuex' import Vuex from 'vuex'
import lecturer from './modules/lecturer' import * as actions from './actions'
import getters from './getters' import * as getters from './getters'
import state from './state'
import mutations from './mutations'
Vue.use(Vuex) Vue.use(Vuex)
const store = new Vuex.Store({ export default new Vuex.Store({
modules: { actions,
lecturer getters,
}, state,
getters mutations,
}) })
export default store
const lecturer = {
state: {
userInfo: {},
statusBarHeight: {}
},
mutations: {
SET_USER_INFO: (state, userInfo) => {
state.userInfo = userInfo
},
SET_STATUS_BAR_HEIGHT: (state, statusBarHeight) => {
state.statusBarHeight = statusBarHeight
},
},
actions: {
setUserInfo({ commit }, userInfo) {
commit('SET_USER_INFO', userInfo)
},
setStatusBarHeight({ commit }, statusBarHeight) {
commit('SET_STATUS_BAR_HEIGHT', statusBarHeight)
},
}
}
export default lecturer
export const TOKEN = 'TOKEN'
export const ID_TYPE = 'ID_TYPE'
\ No newline at end of file
import * as types from './mutations-types'
const mutations = {
[types.TOKEN](state, tokenData) {
state._token = tokenData
},
[types.ID_TYPE](state, idTypeData) {
state.idType = idTypeData
}
}
export default mutations
\ No newline at end of file
const state = {
_token: '',
idType: ''
}
export default state
\ No newline at end of file
<template> <template>
<div> <div class="blank-wrap screenSet">
很抱歉,您暂时还没开通工作站功能 <div class="blank-content">
<img src="../assets/image/noData.png"/>
<p>很抱歉,您暂时还没开通工作站功能</p>
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -8,8 +11,27 @@ export default { ...@@ -8,8 +11,27 @@ export default {
} }
</script> </script>
<style> <style lang="scss">
.blank-wrap {
background: #fff;
margin: 20px !important;
position: relative;
text-align: center;
.blank-content {
position: absolute;
top: 50%;
left: 50%;
width: 400px;
height: 100px;
margin-top: -50px;
margin-left: -200px;
p {
margin-top: 20px;
font-size: 20px;
color: #999;
}
}
}
</style> </style>
...@@ -286,6 +286,7 @@ ...@@ -286,6 +286,7 @@
import BreadCrumb from '../../components/breadcrumb.vue' import BreadCrumb from '../../components/breadcrumb.vue'
import { doUpload, getFilePath } from "../../utils/qiniuUtil" import { doUpload, getFilePath } from "../../utils/qiniuUtil"
import { validateWord150 } from "../../utils/validate.js" import { validateWord150 } from "../../utils/validate.js"
import { mapGetters } from 'vuex'
let vm = null let vm = null
// 判断组件是否重名 // 判断组件是否重名
let validateRepeatWord = function(rule, value, callback, message) { let validateRepeatWord = function(rule, value, callback, message) {
...@@ -295,9 +296,9 @@ let validateRepeatWord = function(rule, value, callback, message) { ...@@ -295,9 +296,9 @@ let validateRepeatWord = function(rule, value, callback, message) {
return return
} }
let req = { let req = {
token: 'C1C5360EEC754092B9EC244147B35BB7', token: vm._token,
name: value, name: value,
idType: 1 // 1内部 2外部 idType: vm.idType // 1内部 2外部
} }
if(vm.itemName != value) { if(vm.itemName != value) {
vm.GET('portalComponent/checkComponentName',req).then((res) => { vm.GET('portalComponent/checkComponentName',req).then((res) => {
...@@ -443,6 +444,12 @@ export default { ...@@ -443,6 +444,12 @@ export default {
} }
} }
}, },
computed: {
...mapGetters([
'_token',
'idType'
])
},
created() { created() {
vm = this vm = this
vm.componentId = vm.$route.query.id vm.componentId = vm.$route.query.id
......
...@@ -72,6 +72,7 @@ ...@@ -72,6 +72,7 @@
import BreadCrumb from '../../components/breadcrumb.vue' import BreadCrumb from '../../components/breadcrumb.vue'
import { doUpload, getFilePath } from "../../utils/qiniuUtil" import { doUpload, getFilePath } from "../../utils/qiniuUtil"
import { validateWord } from "../../utils/validate.js" import { validateWord } from "../../utils/validate.js"
import { mapGetters } from 'vuex'
let vm = null let vm = null
export default { export default {
components: { components: {
...@@ -120,6 +121,11 @@ export default { ...@@ -120,6 +121,11 @@ export default {
} }
}, },
computed: {
...mapGetters([
'_token'
])
},
created() { created() {
vm = this vm = this
vm.search() vm.search()
...@@ -151,7 +157,7 @@ export default { ...@@ -151,7 +157,7 @@ export default {
// 编辑(验证可编辑范围) // 编辑(验证可编辑范围)
editComponentList(row) { editComponentList(row) {
let req = { let req = {
token: 'C1C5360EEC754092B9EC244147B35BB7', token: vm._token,
componentId: row.id componentId: row.id
} }
vm.GET('portalComponent/componentEditRange',req).then((res) => { vm.GET('portalComponent/componentEditRange',req).then((res) => {
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
</template> </template>
<script> <script>
import BreadCrumb from '../components/breadcrumb.vue' import BreadCrumb from '../components/breadcrumb.vue'
import { setTimeout, setInterval } from 'timers'; import { setTimeout, setInterval } from 'timers'
let vm = null let vm = null
export default { export default {
components: { components: {
...@@ -90,6 +90,10 @@ export default { ...@@ -90,6 +90,10 @@ export default {
}] }]
} }
}, },
created() {
vm = this
},
methods: { methods: {
// 查看更多 // 查看更多
lookMore() { lookMore() {
......
...@@ -21,9 +21,13 @@ ...@@ -21,9 +21,13 @@
</div> </div>
</template> </template>
<script> <script>
import { mapActions } from 'vuex'
let vm = null
export default { export default {
data() { data() {
return { return {
token: '',
authList: {},
items: [ items: [
{ {
title: '数据总览', title: '数据总览',
...@@ -64,6 +68,40 @@ export default { ...@@ -64,6 +68,40 @@ export default {
onRoutes() { onRoutes() {
return this.$route.path.replace('/', ''); return this.$route.path.replace('/', '');
} }
},
created() {
vm = this
vm.token = vm.$route.query.token || 'C1C5360EEC754092B9EC244147B35BB7'
vm.changeToken(vm.token)
vm.getUserAuth(vm.token)
},
mounted() {
},
methods: {
// 修改token
...mapActions([
'changeToken',
'changeIdType'
]),
// 获取用户权限
getUserAuth(token) {
vm.GET('common/v1/role',{token: token}).then((res) => {
if(res.code == '000000') {
vm.changeIdType(res.data.idType)
vm.authList = res.data.auth
if(!vm.authList.P001) { // 项目管理
vm.items[1].subs[1].index = 'blank'
}
if(!vm.authList.P002) { // 组件管理
vm.items[1].subs[0].index = 'blank'
}
if(!vm.authList.P001) { // 角色管理
vm.items[2].subs[0].index = 'blank'
}
}
})
}
} }
} }
</script> </script>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册