diff --git a/src/api/log.js b/src/api/log.js new file mode 100644 index 0000000..9dd9c2f --- /dev/null +++ b/src/api/log.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + + + +//用户列表 +export function GetList(params) { + return request({ + url: `/SystemLogs/List`, + method: 'get', + params + }) +} + + + +export function ChangeClass(id,type) { + return request({ + url: `/Users/ChangeClass?id=${id}&type=${type}`, + method: 'post', + }) +} \ No newline at end of file diff --git a/src/api/role.js b/src/api/role.js new file mode 100644 index 0000000..ba6bda4 --- /dev/null +++ b/src/api/role.js @@ -0,0 +1,59 @@ +import request from '@/utils/request' + +export function GetInfo(id) { + return request({ + url: `/role/Get?id=${id}`, + method: 'get', + }) +} + + +export function GetUserList(param) { + return request({ + url: `/role/List`, + method: 'get', + param + }) +} +export function UsersCreate(data) { + return request({ + url: `/role/Create`, + method: 'post', + data + }) +} + +export function UsersUpdate(data) { + return request({ + url: `/role/Update`, + method: 'post', + data + }) +} + +export function UsersDelete(data) { + return request({ + url: `/role/Delete`, + method: 'post', + params: data + }) +} + + +//权限菜单列表 +export async function GetMenueRole() { + return request({ + url: `/role/GetMenueRole`, + method: 'get' + }) +} + + //权限菜单列表 +export function GetMenue() { + return request({ + url: `/role/GetMenue`, + method: 'get' + }) +} + + \ No newline at end of file diff --git a/src/api/setting.js b/src/api/setting.js new file mode 100644 index 0000000..0edcbc2 --- /dev/null +++ b/src/api/setting.js @@ -0,0 +1,34 @@ +import request from '@/utils/request' + +export function GetInfo(id) { + return request({ + url: `/Setting/Get?id=${id}`, + method: 'get', + }) +} + +export function Create(data) { + return request({ + url: `/Setting/Create`, + method: 'post', + data + }) +} + +export function Update(data) { + return request({ + url: `/Setting/Update`, + method: 'post', + data + }) +} + +export function Delete(data) { + return request({ + url: `/Setting/Delete`, + method: 'post', + params: data + }) +} + + \ No newline at end of file diff --git a/src/api/user.js b/src/api/user.js index e0dcabb..970d48a 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -87,6 +87,15 @@ export function GetUserListByAdmin(data) { data }) } + + +export function GetUserListByAdminSimple(data) { + return request({ + url: `/Users/GetUserListByAdminSimple`, + method: 'post', + data + }) +} //修改管理员密码 export function UpdateCurrentPasswordById(data) { return request({ diff --git a/src/permission.js b/src/permission.js index fa1ea19..3e0c1f2 100644 --- a/src/permission.js +++ b/src/permission.js @@ -19,7 +19,6 @@ router.beforeEach(async(to, from, next) => { // determine whether the user has logged in const hasToken = getToken() - if (hasToken) { if (to.path === '/login') { // if is logged in, redirect to the home page diff --git a/src/router/index.js b/src/router/index.js index d67c437..654df71 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -30,9 +30,9 @@ import { getRoutes } from "@/utils/routerList.js" * constantRoutes * a base page that does not have permission requirements * all roles can be accessed - */ -export const constantRoutes = getRoutes(); - + */ +export const constantRoutes = getRoutes(); + const createRouter = () => new Router({ // mode: 'history', // require service support scrollBehavior: () => ({ diff --git a/src/utils/request.js b/src/utils/request.js index 634670d..9c9d8df 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -19,13 +19,16 @@ const service = axios.create({ service.interceptors.request.use( config => { // do something before request is sent - - if (store.getters.token) { + + if (store && store.getters && store.getters.token) { // let each request carry token // ['X-Token'] is a custom headers key // please modify it according to the actual situation config.headers['Authorization'] = getToken() } + else if(localStorage.token){ + config.headers['Authorization'] = localStorage.token + } return config }, error => { diff --git a/src/utils/routerList.js b/src/utils/routerList.js index 71efe4a..2379523 100644 --- a/src/utils/routerList.js +++ b/src/utils/routerList.js @@ -1,18 +1,17 @@ import Layout from '@/layout' import { getInfo } from '../store/modules/user.js' +import {GetMenueRole} from '@/api/role' - -export function getRoutes(permissions) { +export function getRoutes(permissions) { let userInfo = {} if (localStorage.userinfo) { userInfo = JSON.parse(localStorage.userinfo) } var permissions = userInfo.permissions || []; - - - - - console.log(userInfo) + +// var roles = await GetMenueRole(); +// roles = roles.data.map(o=>o.code); + let constantRoutes1 = [] if (userInfo.UserId == 1 || 1 == 1) { constantRoutes1 = [{ @@ -39,6 +38,7 @@ export function getRoutes(permissions) { { + code:'home', path: '/', component: Layout, redirect: '/dashboard', @@ -65,6 +65,7 @@ export function getRoutes(permissions) { }, { + code:'example', path: '/example', component: Layout, redirect: '/example/table', @@ -75,6 +76,7 @@ export function getRoutes(permissions) { permissions: ['admin'] }, children: [{ + code:'题库', path: 'QuestionBank', name: 'Table', component: () => @@ -129,6 +131,7 @@ export function getRoutes(permissions) { // }, { + code:'试卷管理', path: '/views', component: Layout, redirect: '/views/TestPaper', @@ -138,6 +141,7 @@ export function getRoutes(permissions) { icon: 'el-icon-s-help' }, children: [{ + code:'试卷列表', path: 'TestPaperList', name: 'Table', component: () => @@ -159,6 +163,7 @@ export function getRoutes(permissions) { } }, { + code:'组卷', path: 'ManualTestPaper', name: 'Table', component: () => @@ -199,6 +204,7 @@ export function getRoutes(permissions) { // }] // }, { + code:'用户管理', path: '/user', component: Layout, redirect: '/', @@ -208,6 +214,7 @@ export function getRoutes(permissions) { icon: 'el-icon-s-help' }, children: [{ + code:'人才库', path: 'user', name: 'User', component: () => @@ -217,6 +224,7 @@ export function getRoutes(permissions) { } }, { + code:'面试时间表', path: 'interviewSchedule', name: 'interviewSchedule', component: () => @@ -227,6 +235,7 @@ export function getRoutes(permissions) { }, { + code:'importuser', path: 'importuser', name: 'importuser', @@ -237,6 +246,7 @@ export function getRoutes(permissions) { } }, { + code: 'admin', path: 'admin', name: 'admin', component: () => @@ -249,7 +259,8 @@ export function getRoutes(permissions) { ] }, { - path: '/password', + code:'系统管理', + path: '/system', component: Layout, redirect: '/', name: 'password', @@ -259,6 +270,7 @@ export function getRoutes(permissions) { }, children: [ { + code: 'userdimset', path: 'userdimset', name: 'impouserdimsetrtuser', @@ -277,7 +289,19 @@ export function getRoutes(permissions) { meta: { title: '忘记密码', } - }, { + }, + { + code:'settings', + path: 'settings', + name: 'settings', + component: () => + import('@/views/settings/index'), + meta: { + title: '系统设置', + } + }, + { + code:'TestPaperClass', path: 'TestPaperClass', name: 'Table', component: () => @@ -287,6 +311,7 @@ export function getRoutes(permissions) { permissions:['admin' ] } }, { + code: 'carousel', path: 'carousel', name: 'carousel', component: () => @@ -296,6 +321,7 @@ export function getRoutes(permissions) { permissions:['admin' ] } }, { + code: 'new', path: 'new', name: 'new', component: () => @@ -304,7 +330,32 @@ export function getRoutes(permissions) { title: '最新资讯', permissions:['admin'] } - }] + } + , { + code: 'rolelist', + path: 'role', + name: 'rolelist', + component: () => + import('@/views/user/rolelist'), + meta: { + title: '角色权限', + permissions:['admin'] + } + }, + { + code:'logs', + path: 'logs', + name: 'logs', + + component: () => + import('@/views/user/loglist'), + meta: { + title: '系统日志', + } + }, + + + ] }, // 404 page must be placed at the end !!! { @@ -562,7 +613,8 @@ export function getRoutes(permissions) { const finallyRoutes = []; routes.forEach((route) => { const item = { ...route }; - if (hasPermission(permissions, item)) { + // if (hasPermission(permissions, item)) { + if (permissions.includes(item.code) || !item.code) { if (item.children) { item.children = filterAsyncRoutes(item.children, permissions); } @@ -572,6 +624,6 @@ export function getRoutes(permissions) { return finallyRoutes; } constantRoutes1 = filterAsyncRoutes(constantRoutes1, permissions); - + return constantRoutes1; } \ No newline at end of file diff --git a/src/views/QuestionBank/components/EditDimension.vue b/src/views/QuestionBank/components/EditDimension.vue index b0e00ba..e17d3b7 100644 --- a/src/views/QuestionBank/components/EditDimension.vue +++ b/src/views/QuestionBank/components/EditDimension.vue @@ -1,6 +1,20 @@