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 f0c0d34..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({ @@ -211,3 +220,9 @@ export function saveTypeSetting(data) { } +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/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 459c571..d56f2c9 100644 --- a/src/utils/routerList.js +++ b/src/utils/routerList.js @@ -1,6 +1,6 @@ import Layout from '@/layout' import { getInfo } from '../store/modules/user.js' - +import { GetMenueRole } from '@/api/role' export function getRoutes(permissions) { let userInfo = {} @@ -9,569 +9,853 @@ export function getRoutes(permissions) { } var permissions = userInfo.permissions || []; + // var roles = await GetMenueRole(); + // roles = roles.data.map(o=>o.code); - - - console.log(userInfo) let constantRoutes1 = [] if (userInfo.UserId == 1 || 1 == 1) { constantRoutes1 = [{ - path: '/login', - component: () => - import ('@/views/login/index'), - hidden: true - }, - - { - path: '/404', - component: () => - import ('@/views/404'), - hidden: true - }, - - { - path: '/answerDetail', - name: '答题详情', - component: () => - import ('@/views/AnswerResult/detail.vue'), - hidden: true - }, - - - { - path: '/', - component: Layout, - redirect: '/dashboard', - children: [{ - path: 'dashboard', - name: '首页', + path: '/login', component: () => - import ('@/views/dashboard/index'), - meta: { - title: '首页', - icon: 'dashboard' - } - }, { - path: 'live', - name: '直播观看', - component: () => - import ('@/views/live/index'), - meta: { - title: '直播', - icon: 'video' - }, + import ('@/views/login/index'), hidden: true - }] - }, - - { - path: '/example', - component: Layout, - redirect: '/example/table', - name: 'Example', - meta: { - title: '题库管理', - icon: 'el-icon-s-help', - permissions: ['admin'] }, - children: [{ - path: 'QuestionBank', - name: 'Table', + + { + path: '/404', component: () => - import ('@/views/QuestionBank/index'), - meta: { - title: '题库', - icon: 'table', - permissions: ['admin'] - } - }, ] - }, - // { - // path: '/moduleIndex', - // component: Layout, - // redirect: '/module/index', - // name: 'module', - // meta: { - // title: '面试题', - // icon: 'el-icon-s-help' - // }, - // children: [{ - // path: 'index', - // name: 'index', - // component: () => - // import ('@/views/TestPaper/index'), - // hidden: true, - // meta: { - // title: '试卷维护', - // icon: 'table' - // } - // }, ] - // }, - // { - // path: '/realQuestion', - // component: Layout, - // redirect: '/module/realQuestion', - // name: 'realQuestion', - // meta: { - // title: '历年真题', - // icon: 'el-icon-s-help' - // }, - // children: [{ - // path: 'recharge', - // name: 'recharge', - // component: () => - // import ('@/views/module/realQuestion'), - // meta: { - // title: '历年真题', - // icon: 'el-icon-s-management' - // } - // }] - // }, - - { - path: '/views', - component: Layout, - redirect: '/views/TestPaper', - name: 'TestPaper', - meta: { - title: '试卷管理', - icon: 'el-icon-s-help' - }, - children: [{ - path: 'TestPaperList', - name: 'Table', - component: () => - import ('@/views/TestPaper/TestPaperList'), - meta: { - title: '试卷列表', - icon: 'table' - } - }, - { - path: 'index', - name: 'index', - component: () => - import ('@/views/TestPaper/index'), - hidden: true, - meta: { - title: '试卷维护', - icon: 'table' - } - }, - { - path: 'ManualTestPaper', - name: 'Table', - component: () => - import ('@/views/TestPaper/ManualTestPaper'), - meta: { - title: '组卷', - icon: 'table' - } - }, - - ] - }, - // { - // path: '/order', - // component: Layout, - // redirect: '/', - // name: 'order', - // meta: { - // title: '订单管理', - // icon: 'el-icon-s-marketing' - // }, - // children: [{ - // path: 'recharge', - // name: 'recharge', - // component: () => - // import('@/views/order/rechargeList'), - // meta: { - // title: '充值记录', - // } - // }, { - // path: 'shop', - // name: 'shop', - // component: () => - // import('@/views/order/shopList'), - // meta: { - // title: '购买记录', - // } - // }] - // }, - { - path: '/user', - component: Layout, - redirect: '/', - name: 'user', - meta: { - title: '用户管理', - icon: 'el-icon-s-help' + import ('@/views/404'), + hidden: true }, - children: [{ - path: 'user', - name: 'User', - component: () => - import ('@/views/user/userlist'), - meta: { - title: '人才库', - } - }, - { - path: 'interviewSchedule', - name: 'interviewSchedule', - component: () => - import ('@/views/user/InterviewSchedule'), - meta: { - title: '面试时间表', - } - }, - - { - path: 'importuser', - name: 'importuser', - component: () => - import ('@/views/user/picuserimport'), - meta: { - title: '图片导入用户', - } - }, - { - path: 'admin', - name: 'admin', - component: () => - import ('@/views/user/adminList'), - meta: { - title: '管理员列表', - permissions: ['admin'] - } - }, - - ] - }, { - path: '/password', - component: Layout, - redirect: '/', - name: 'password', - meta: { - title: '系统管理', - icon: 'el-icon-s-platform' + { + path: '/answerDetail', + name: '答题详情', + component: () => + import ('@/views/AnswerResult/detail.vue'), + hidden: true }, - children: [{ - path: 'userdimset', - name: 'impouserdimsetrtuser', + + << + << << < HEAD { + path: '/', + component: Layout, + redirect: '/dashboard', + children: [{ + path: 'dashboard', + name: '首页', component: () => - import ('@/views/user/userdimset'), - meta: { - title: '维度规则设置', - permissions: ['admin'] - } - }, - { - path: 'index', - name: 'index', - component: () => - import ('@/views/password/index'), - meta: { - title: '忘记密码', - } - }, { - path: 'TestPaperClass', - name: 'Table', - component: () => - import ('@/views/TestPaper/TestPaperClass'), - meta: { - title: '分类管理', - permissions: ['admin'] - } - }, { - path: 'carousel', - name: 'carousel', - component: () => - import ('@/views/carousel/index'), + import ('@/views/dashboard/index'), meta: { - title: '轮播图', - permissions: ['admin'] + title: '首页', + icon: 'dashboard' } }, { - path: 'new', - name: 'new', - component: () => - import ('@/views/carousel/new'), - meta: { - title: '最新资讯', - permissions: ['admin'] - } - } - ] - }, - // 404 page must be placed at the end !!! - { - path: '*', - redirect: '/404', - hidden: true - } - ] - } else { - return; - constantRoutes1 = [{ - path: '/login', - component: () => - import ('@/views/login/index'), - hidden: true - }, - - { - path: '/404', - component: () => - import ('@/views/404'), - hidden: true - }, - - { - path: '/example', - component: Layout, - redirect: '/example/table', - name: 'Example', - meta: { - title: '题库管理', - icon: 'el-icon-s-help', - permissions: ["admin", "user"], - }, - children: [{ - path: 'QuestionBank', - name: 'Table', - component: () => - import ('@/views/QuestionBank/index'), - meta: { - title: '题库', - icon: 'table' - } - }, ] - }, - { - path: '/moduleIndex', - component: Layout, - redirect: '/module/index', - name: 'module', - meta: { - title: '面试题', - icon: 'el-icon-s-help' - }, - children: [{ - path: 'recharge', - name: 'recharge', - component: () => - import ('@/views/module/index'), - meta: { - title: '面试题', - icon: 'el-icon-s-operation' - } - }, - { - path: 'index', - name: 'index', + path: 'live', + name: '直播观看', component: () => - import ('@/views/TestPaper/index'), - hidden: true, + import ('@/views/live/index'), meta: { - title: '试卷维护', - icon: 'table' - } - }, - ] - }, - // { - // path: '/realQuestion', - // component: Layout, - // redirect: '/module/realQuestion', - // name: 'realQuestion', - // meta: { - // title: '历年真题', - // icon: 'el-icon-s-help' - // }, - // children: [{ - // path: 'recharge', - // name: 'recharge', - // component: () => - // import ('@/views/module/realQuestion'), - // meta: { - // title: '历年真题', - // icon: 'el-icon-s-management' - // } - // }] - // }, - - { - path: '/views', - component: Layout, - redirect: '/views/TestPaper', - name: 'TestPaper', - meta: { - title: '试卷管理', - icon: 'el-icon-s-help' + title: '直播', + icon: 'video' + }, + hidden: true + }] }, - children: [{ - path: 'TestPaperList', - name: 'Table', - component: () => - import ('@/views/TestPaper/TestPaperList'), - meta: { - title: '试卷列表', - icon: 'table' - } - }, - { - path: 'index', - name: 'index', - component: () => - import ('@/views/TestPaper/index'), - hidden: true, - meta: { - title: '试卷维护', - icon: 'table' - } - }, - // { - // path: 'ManualTestPaper', - // name: 'Table', - // component: () => import('@/views/TestPaper/ManualTestPaper'), - // meta: { - // title: '组卷', - // icon: 'table' - // } - // }, - - ] - }, - // { - // path: '/order', - // component: Layout, - // redirect: '/', - // name: 'order', - // meta: { - // title: '订单管理', - // icon: 'el-icon-s-marketing' - // }, - // children: [{ - // path: 'recharge', - // name: 'recharge', - // component: () => - // import('@/views/order/rechargeList'), - // meta: { - // title: '充值记录', - // } - // }, { - // path: 'shop', - // name: 'shop', - // component: () => - // import('@/views/order/shopList'), - // meta: { - // title: '购买记录', - // } - // }] - // }, - { - path: '/user', - component: Layout, - redirect: '/', - name: 'user', - meta: { - title: '用户管理', - icon: 'el-icon-s-help' - }, - children: [{ - path: 'user', - name: 'User', - component: () => - import ('@/views/user/userlist'), - meta: { - title: '人才库', - } - } - - ] - }, { - path: '/password', - component: Layout, - redirect: '/', - name: 'password', - meta: { - title: '系统管理', - icon: 'el-icon-s-platform', - permissions: ['admin', 'user'] - }, - children: [{ - path: 'index', - name: 'index', - component: () => - import ('@/views/password/index'), - meta: { - title: '忘记密码', - } - }, { - path: 'TestPaperClass', - name: 'Table', - component: () => - import ('@/views/TestPaper/TestPaperClass'), - meta: { - title: '分类管理', - permissions: ['admin'] - } - }, { - path: 'carousel', - name: 'carousel', - component: () => - import ('@/views/carousel/index'), - meta: { - title: '轮播图', - permissions: ['admin'] - } - }, { - path: 'new', - name: 'new', - component: () => - import ('@/views/carousel/new'), - meta: { - title: '最新资讯', - permissions: ['admin'] - } - }] - }, - // 404 page must be placed at the end !!! - { - path: '*', - redirect: '/404', - hidden: true - } - ] - } + { + path: '/example', + component: Layout, + redirect: '/example/table', + name: 'Example', + === + === = { + code: 'home', + path: '/', + component: Layout, + redirect: '/dashboard', + children: [{ + path: 'dashboard', + name: '首页', + component: () => + import ('@/views/dashboard/index'), + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + meta: { + title: '题库管理', + icon: 'el-icon-s-help', + permissions: ['admin'] + }, + children: [{ + path: 'QuestionBank', + name: 'Table', + component: () => + import ('@/views/QuestionBank/index'), + meta: { + title: '题库', + icon: 'table', + permissions: ['admin'] + } + }, ] + }, + // { + // path: '/moduleIndex', + // component: Layout, + // redirect: '/module/index', + // name: 'module', + // meta: { + // title: '面试题', + // icon: 'el-icon-s-help' + // }, + // children: [{ + // path: 'index', + // name: 'index', + // component: () => + // import ('@/views/TestPaper/index'), + // hidden: true, + // meta: { + // title: '试卷维护', + // icon: 'table' + // } + // }, ] + // }, + // { + // path: '/realQuestion', + // component: Layout, + // redirect: '/module/realQuestion', + // name: 'realQuestion', + // meta: { + // title: '历年真题', + // icon: 'el-icon-s-help' + // }, + // children: [{ + // path: 'recharge', + // name: 'recharge', + // component: () => + // import ('@/views/module/realQuestion'), + // meta: { + // title: '历年真题', + // icon: 'el-icon-s-management' + // } + // }] + // }, - function hasPermission(permissions, route) { - if (route.meta && route.meta.permissions) { - return permissions.some((role) => route.meta.permissions.includes(role)); - } else { - return true; - } - } + { + path: '/views', + component: Layout, + redirect: '/views/TestPaper', + name: 'TestPaper', + meta: { + title: '试卷管理', + icon: 'el-icon-s-help' + }, + children: [{ + path: 'TestPaperList', + name: 'Table', + component: () => + import ('@/views/TestPaper/TestPaperList'), + meta: { + title: '试卷列表', + icon: 'table' + } + }, + { + path: 'index', + name: 'index', + component: () => + import ('@/views/TestPaper/index'), + hidden: true, + meta: { + title: '试卷维护', + icon: 'table' + } + }, + { + path: 'ManualTestPaper', + name: 'Table', + component: () => + import ('@/views/TestPaper/ManualTestPaper'), + meta: { + title: '组卷', + icon: 'table' + } + }, + << + << << < HEAD + ] + }, + // { + // path: '/order', + // component: Layout, + // redirect: '/', + // name: 'order', + // meta: { + // title: '订单管理', + // icon: 'el-icon-s-marketing' + // }, + // children: [{ + // path: 'recharge', + // name: 'recharge', + // component: () => + // import('@/views/order/rechargeList'), + // meta: { + // title: '充值记录', + // } + // }, { + // path: 'shop', + // name: 'shop', + // component: () => + // import('@/views/order/shopList'), + // meta: { + // title: '购买记录', + // } + // }] + // }, + { + path: '/user', + component: Layout, + redirect: '/', + name: 'user', + === + === = { + code: 'example', + path: '/example', + component: Layout, + redirect: '/example/table', + name: 'Example', + meta: { + title: '题库管理', + icon: 'el-icon-s-help', + permissions: ['admin'] + }, + children: [{ + code: '题库', + path: 'QuestionBank', + name: 'Table', + component: () => + import ('@/views/QuestionBank/index'), + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + meta: { + title: '用户管理', + icon: 'el-icon-s-help' + }, + children: [{ + path: 'user', + name: 'User', + component: () => + import ('@/views/user/userlist'), + meta: { + title: '人才库', + } + }, + { + path: 'interviewSchedule', + name: 'interviewSchedule', + component: () => + import ('@/views/user/InterviewSchedule'), + meta: { + title: '面试时间表', + } + }, - function filterAsyncRoutes(routes, permissions) { - const finallyRoutes = []; - routes.forEach((route) => { - const item = {...route }; - if (hasPermission(permissions, item)) { - if (item.children) { - item.children = filterAsyncRoutes(item.children, permissions); - } - finallyRoutes.push(item); - } - }); - return finallyRoutes; - } - constantRoutes1 = filterAsyncRoutes(constantRoutes1, permissions); + << + << << < HEAD { + path: 'importuser', + name: 'importuser', + + component: () => + import ('@/views/user/picuserimport'), + meta: { + title: '图片导入用户', + } + }, + { + path: 'admin', + name: 'admin', + component: () => + import ('@/views/user/adminList'), + meta: { + title: '管理员列表', + permissions: ['admin'] + } + }, + + ] + }, { + path: '/password', + component: Layout, + redirect: '/', + name: 'password', + === + === = { + code: '试卷管理', + path: '/views', + component: Layout, + redirect: '/views/TestPaper', + name: 'TestPaper', + meta: { + title: '试卷管理', + icon: 'el-icon-s-help' + }, + children: [{ + code: '试卷列表', + path: 'TestPaperList', + name: 'Table', + component: () => + import ('@/views/TestPaper/TestPaperList'), + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + meta: { + title: '系统管理', + icon: 'el-icon-s-platform' + }, + children: [{ + path: 'userdimset', + name: 'impouserdimsetrtuser', + + component: () => + import ('@/views/user/userdimset'), + meta: { + title: '维度规则设置', + permissions: ['admin'] + } + }, + { + path: 'index', + name: 'index', + component: () => + import ('@/views/password/index'), + meta: { + title: '忘记密码', + } + }, { + path: 'TestPaperClass', + name: 'Table', + component: () => + import ('@/views/TestPaper/TestPaperClass'), + meta: { + title: '分类管理', + permissions: ['admin'] + } + }, { + path: 'carousel', + name: 'carousel', + component: () => + import ('@/views/carousel/index'), + meta: { + title: '轮播图', + permissions: ['admin'] + } + }, { + path: 'new', + name: 'new', + component: () => + import ('@/views/carousel/new'), + meta: { + title: '最新资讯', + permissions: ['admin'] + } + } + ] + }, + // 404 page must be placed at the end !!! + { + path: '*', + redirect: '/404', + hidden: true + } + ] + } + else { + return; + constantRoutes1 = [{ + path: '/login', + component: () => + import ('@/views/login/index'), + hidden: true + }, + + { << + << << < HEAD + path: '/404', + === + === = + code: '组卷', + path: 'ManualTestPaper', + name: 'Table', + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + component: () => + import ('@/views/404'), + hidden: true + }, + + << + << << < HEAD { + path: '/example', + component: Layout, + redirect: '/example/table', + name: 'Example', + === + === = + ] + }, + // { + // path: '/order', + // component: Layout, + // redirect: '/', + // name: 'order', + // meta: { + // title: '订单管理', + // icon: 'el-icon-s-marketing' + // }, + // children: [{ + // path: 'recharge', + // name: 'recharge', + // component: () => + // import('@/views/order/rechargeList'), + // meta: { + // title: '充值记录', + // } + // }, { + // path: 'shop', + // name: 'shop', + // component: () => + // import('@/views/order/shopList'), + // meta: { + // title: '购买记录', + // } + // }] + // }, + { + code: '用户管理', + path: '/user', + component: Layout, + redirect: '/', + name: 'user', + meta: { + title: '用户管理', + icon: 'el-icon-s-help' + }, + children: [{ + code: '人才库', + path: 'user', + name: 'User', + component: () => + import ('@/views/user/userlist'), + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + meta: { + title: '题库管理', + icon: 'el-icon-s-help', + permissions: ["admin", "user"], + }, + children: [{ + path: 'QuestionBank', + name: 'Table', + component: () => + import ('@/views/QuestionBank/index'), + meta: { + title: '题库', + icon: 'table' + } + }, ] + }, + { << + << << < HEAD + path: '/moduleIndex', + component: Layout, + redirect: '/module/index', + name: 'module', + === + === = + code: '面试时间表', + path: 'interviewSchedule', + name: 'interviewSchedule', + component: () => + import ('@/views/user/InterviewSchedule'), + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + meta: { + title: '面试题', + icon: 'el-icon-s-help' + }, + children: [{ + path: 'recharge', + name: 'recharge', + component: () => + import ('@/views/module/index'), + meta: { + title: '面试题', + icon: 'el-icon-s-operation' + } + }, + { + path: 'index', + name: 'index', + component: () => + import ('@/views/TestPaper/index'), + hidden: true, + meta: { + title: '试卷维护', + icon: 'table' + } + }, + ] + }, + // { + // path: '/realQuestion', + // component: Layout, + // redirect: '/module/realQuestion', + // name: 'realQuestion', + // meta: { + // title: '历年真题', + // icon: 'el-icon-s-help' + // }, + // children: [{ + // path: 'recharge', + // name: 'recharge', + // component: () => + // import ('@/views/module/realQuestion'), + // meta: { + // title: '历年真题', + // icon: 'el-icon-s-management' + // } + // }] + // }, + + { << + << << < HEAD + path: '/views', + component: Layout, + redirect: '/views/TestPaper', + name: 'TestPaper', + === + === = + code: 'importuser', + path: 'importuser', + name: 'importuser', + + component: () => + import ('@/views/user/picuserimport'), + >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + meta: { + title: '试卷管理', + icon: 'el-icon-s-help' + }, + children: [{ + path: 'TestPaperList', + name: 'Table', + component: () => + import ('@/views/TestPaper/TestPaperList'), + meta: { + title: '试卷列表', + icon: 'table' + } + }, + { + path: 'index', + name: 'index', + component: () => + import ('@/views/TestPaper/index'), + hidden: true, + meta: { + title: '试卷维护', + icon: 'table' + } + }, + // { + // path: 'ManualTestPaper', + // name: 'Table', + // component: () => import('@/views/TestPaper/ManualTestPaper'), + // meta: { + // title: '组卷', + // icon: 'table' + // } + // }, + + ] + }, + // { + // path: '/order', + // component: Layout, + // redirect: '/', + // name: 'order', + // meta: { + // title: '订单管理', + // icon: 'el-icon-s-marketing' + // }, + // children: [{ + // path: 'recharge', + // name: 'recharge', + // component: () => + // import('@/views/order/rechargeList'), + // meta: { + // title: '充值记录', + // } + // }, { + // path: 'shop', + // name: 'shop', + // component: () => + // import('@/views/order/shopList'), + // meta: { + // title: '购买记录', + // } + // }] + // }, + { << + << << < HEAD + path: '/user', + component: Layout, + redirect: '/', + name: 'user', + meta: { + title: '用户管理', + icon: 'el-icon-s-help' + }, + children: [{ + path: 'user', + name: 'User', + component: () => + import ('@/views/user/userlist'), + meta: { + title: '人才库', + } === + === = + code: 'admin', + path: 'admin', + name: 'admin', + component: () => + import ('@/views/user/adminList'), + meta: { + title: '管理员列表', + permissions: ['admin'] + } + }, + + ] + }, { + code: '系统管理', + path: '/system', + component: Layout, + redirect: '/', + name: 'password', + meta: { + title: '系统管理', + icon: 'el-icon-s-platform' + }, + children: [{ + code: 'userdimset', + path: 'userdimset', + name: 'impouserdimsetrtuser', + + component: () => + import ('@/views/user/userdimset'), + meta: { + title: '维度规则设置', + permissions: ['admin'] >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + } + + ] + }, + { + path: '/password', + component: Layout, + redirect: '/', + name: 'password', + meta: { + title: '系统管理', + icon: 'el-icon-s-platform', + permissions: ['admin', 'user'] + }, + children: [{ + path: 'index', + name: 'index', + component: () => + import ('@/views/password/index'), + meta: { + title: '忘记密码', + } + }, + { + code: 'settings', + path: 'settings', + name: 'settings', + component: () => + import ('@/views/settings/index'), + meta: { + title: '系统设置', + } + }, + { + code: 'TestPaperClass', + path: 'TestPaperClass', + name: 'Table', + component: () => + import ('@/views/TestPaper/TestPaperClass'), + meta: { + title: '分类管理', + permissions: ['admin'] + } + }, { + code: 'carousel', + path: 'carousel', + name: 'carousel', + component: () => + import ('@/views/carousel/index'), + meta: { + title: '轮播图', + permissions: ['admin'] + } + }, { + code: 'new', + path: 'new', + name: 'new', + component: () => + import ('@/views/carousel/new'), + meta: { + title: '最新资讯', + permissions: ['admin'] + } << + << << < HEAD + } + ] === + === = + }, + { + 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 !!! + { + path: '*', + redirect: '/404', + hidden: true + } + ] + } else { + return; + constantRoutes1 = [{ + path: '/login', + component: () => + import ('@/views/login/index'), + hidden: true + }, + + { + path: '/404', + component: () => + import ('@/views/404'), + hidden: true + }, + + { + path: '/example', + component: Layout, + redirect: '/example/table', + name: 'Example', + meta: { + title: '题库管理', + icon: 'el-icon-s-help', + permissions: ["admin", "user"], + }, + children: [{ + path: 'QuestionBank', + name: 'Table', + component: () => + import ('@/views/QuestionBank/index'), + meta: { + title: '题库', + icon: 'table' + } + }, ] + }, + { + path: '/moduleIndex', + component: Layout, + redirect: '/module/index', + name: 'module', + meta: { + title: '面试题', + icon: 'el-icon-s-help' + }, + children: [{ + path: 'recharge', + name: 'recharge', + component: () => + import ('@/views/module/index'), + meta: { + title: '面试题', + icon: 'el-icon-s-operation' + } >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + }, + // 404 page must be placed at the end !!! + { + path: '*', + redirect: '/404', + hidden: true + } + ] + } + + + function hasPermission(permissions, route) { + if (route.meta && route.meta.permissions) { + return permissions.some((role) => route.meta.permissions.includes(role)); + } else { + return true; + } + } + + + function filterAsyncRoutes(routes, permissions) { + const finallyRoutes = []; + routes.forEach((route) => { << + << << < HEAD + const item = {...route }; + if (hasPermission(permissions, item)) { === + === = + const item = {...route }; + // if (hasPermission(permissions, item)) { + if (permissions.includes(item.code) || !item.code) { >>> + >>> > b32564ca8a1d0ef59530817c619131f5ed8d1d74 + if (item.children) { + item.children = filterAsyncRoutes(item.children, permissions); + } + finallyRoutes.push(item); + } + }); + return finallyRoutes; + } + constantRoutes1 = filterAsyncRoutes(constantRoutes1, permissions); - return constantRoutes1; -} \ No newline at end of file + 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 5e4b2da..e17d3b7 100644 --- a/src/views/QuestionBank/components/EditDimension.vue +++ b/src/views/QuestionBank/components/EditDimension.vue @@ -1,11 +1,26 @@