diff --git a/src/api/system/adminArea.js b/src/api/system/adminArea.js new file mode 100644 index 0000000..816f3f4 --- /dev/null +++ b/src/api/system/adminArea.js @@ -0,0 +1,34 @@ +import request from "@/utils/request"; + +export function getList(params,isLoading=true){ + return request({ + method:'get', + url:'/api/admin/admin-area/get-list', + params, + isLoading + }) +} + +export function getForm(id,params){ + return request({ + method:'get', + url:`/api/admin/admin-area/get-form/${id}`, + params + }) +} + +export function save(data){ + return request({ + method:'post', + url:'/api/admin/admin-area/save', + data + }) +} + +export function destroy(id,data){ + return request({ + method:'post', + url:`/api/admin/admin-area/delete/${id}`, + data + }) +} diff --git a/src/api/system/adminProductType.js b/src/api/system/adminProductType.js new file mode 100644 index 0000000..4d31e69 --- /dev/null +++ b/src/api/system/adminProductType.js @@ -0,0 +1,34 @@ +import request from "@/utils/request"; + +export function getList(params,isLoading=true){ + return request({ + method:'get', + url:'/api/admin/admin-product-type/get-list', + params, + isLoading + }) +} + +export function getForm(id,params){ + return request({ + method:'get', + url:`/api/admin/admin-product-type/get-form/${id}`, + params + }) +} + +export function save(data){ + return request({ + method:'post', + url:'/api/admin/admin-product-type/save', + data + }) +} + +export function destroy(id,data){ + return request({ + method:'post', + url:`/api/admin/admin-product-type/delete/${id}`, + data + }) +} diff --git a/src/permission.js b/src/permission.js index c5e41fa..d9f1c48 100644 --- a/src/permission.js +++ b/src/permission.js @@ -36,6 +36,9 @@ router.beforeEach(async(to, from, next) => { // note: roles must be a object array! such as: ['admin'] or ,['developer','editor'] const { roles } = await store.dispatch('user/getInfo') + await store.dispatch('user/getType') + await store.dispatch('user/getArea') + // generate accessible routes map based on roles const accessRoutes = await store.dispatch('permission/generateRoutes', roles) diff --git a/src/store/modules/user.js b/src/store/modules/user.js index c288974..ac6beeb 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -8,6 +8,8 @@ import { setToken, removeToken } from '@/utils/auth' +import { getList as areaList } from "@/api/system/adminArea" +import { getList as typeList } from "@/api/system/adminProductType" import { resetRouter } from '@/router' @@ -16,8 +18,11 @@ const getDefaultState = () => { return { token: getToken(), name: '', + user_id:'', avatar: '', - roles: [] + roles: [], + typeAuth: [], + areaAuth: [] } } @@ -38,6 +43,15 @@ const mutations = { }, SET_ROLES: (state, roles) => { state.roles = roles + }, + SET_TYPEAUTH:(state,arr) => { + state.typeAuth = arr + }, + SET_AREAAUTH:(state,arr) => { + state.areaAuth = arr + }, + SET_USERID:(state,id) => { + state.user_id = id } } @@ -84,14 +98,14 @@ const actions = { const { roles, name, - avatar + avatar, + id } = response - - commit('SET_ROLES', roles) commit('SET_NAME', name) commit('SET_AVATAR', avatar) + commit('SET_USERID',id) resolve(response) }).catch(error => { reject(error) @@ -125,6 +139,34 @@ const actions = { commit('RESET_STATE') resolve() }) + }, + + //获取用户板块权限 + getType({commit,state}){ + return new Promise((resolve,reject) => { + typeList({ + admin_id:state.user_id + }).then(res => { + commit('SET_TYPEAUTH',res) + resolve(res) + }).catch(err => { + reject(err) + }) + }) + }, + + //获取用户地区权限 + getArea({commit,state}){ + return new Promise((resolve,reject) => { + areaList({ + admin_id:state.user_id + }).then(res => { + commit('SET_AREAAUTH',res) + resolve(res) + }).catch(err => { + reject(err) + }) + }) } } @@ -133,4 +175,4 @@ export default { state, mutations, actions -} +} diff --git a/src/utils/auth.js b/src/utils/auth.js index 74ba1ab..d0f7bb3 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -13,3 +13,11 @@ export function setToken(token) { export function removeToken() { return Cookies.remove(TokenKey) } + +export function getAuthAreas(_this){ + return _this.$store.state.user.areaAuth.map(item => item.area_detail) +} + +export function getAuthTypes(_this){ + return _this.$store.state.user.typeAuth.map(item => item.product_type) +} diff --git a/src/views/customer/component/addCustomer.vue b/src/views/customer/component/addCustomer.vue index 593bc00..df4231f 100644 --- a/src/views/customer/component/addCustomer.vue +++ b/src/views/customer/component/addCustomer.vue @@ -201,23 +201,6 @@ - - - + + + + + + + + + + + + + +