From b580f0402ff66d0c5b74460edcb920a516b1ce6e Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 07 九月 2023 18:00:54 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.218.113:9001/r/lims-before --- src/router/index.js | 382 +++++++++++++++-------------------------------------- 1 files changed, 110 insertions(+), 272 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 285386b..da62bb5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -3,33 +3,8 @@ Vue.use(Router) -/* Layout */ import Layout from '@/layout' -/** - * Note: sub-menu only appear when route children.length >= 1 - * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html - * - * hidden: true if set true, item will not show in the sidebar(default is false) - * alwaysShow: true if set true, will always show the root menu - * if not set alwaysShow, when item has more than one children route, - * it will becomes nested mode, otherwise not show the root menu - * redirect: noRedirect if set noRedirect will no redirect in the breadcrumb - * name:'router-name' the name is used by <keep-alive> (must set!!!) - * meta : { - roles: ['admin','editor'] control the page roles (you can set multiple roles) - title: 'title' the name show in sidebar and breadcrumb (recommend set) - icon: 'svg-name'/'el-icon-x' the icon show in the sidebar - breadcrumb: false if set false, the item will hidden in breadcrumb(default is true) - activeMenu: '/example/list' if set path, the sidebar will highlight the path you set - } - */ - -/** - * constantRoutes - * a base page that does not have permission requirements - * all roles can be accessed - */ function getRoutes() { let constantRoutes = [ { @@ -51,7 +26,6 @@ path: '/', component: Layout, redirect: '/home', - // meta: { title: '涓婚〉', icon: 'el-icon-s-home' }, children: [{ path: 'home', name: 'Home', @@ -68,108 +42,29 @@ path: '/standardLibrary', component: Layout, redirect: '/standardLibrary/index', - meta: { title: '鏍囧噯搴�', icon: 'el-icon-s-help' }, + // meta: { title: '鏍囧噯搴�', icon: 'el-icon-s-help' }, children: [ { path: 'index', name: 'StandardLibrary', component: () => import('@/views/standardLibrary/index'), - meta: { title: '鏍囧噯搴�', icon: 'form' } + meta: { title: '鏍囧噯搴�', icon: 'el-icon-s-management' } }, - { - path: 'specificationDetails/:id', - name: 'SpecificationDetails', - // hidden: true, - component: () => import('@/views/standardLibrary/SpecificationDetails'), - meta: { title: '浜у搧瑙勬牸璇︽儏', icon: 'form', show: false } - } + // { + // path: 'specificationDetails/:id', + // name: 'SpecificationDetails', + // // hidden: true, + // component: () => import('@/views/standardLibrary/SpecificationDetails'), + // meta: { title: '浜у搧瑙勬牸璇︽儏', icon: 'form', show: false } + // } ] }, - // { - // path: '/rawMaterials', - // component: Layout, - // redirect: '/rawMaterials/reportForInspection', - // name: 'rawMaterials', - // meta: { title: '妫�楠�', icon: 'el-icon-s-help' }, - // children: [ - // { - // path: 'reportForInspection', - // name: 'ReportForInspection', - // component: () => import('@/views/rawMaterials/reportForInspection/index'), - // meta: { title: '鍘熸潗鏂欐姤妫�', icon: 'table' }, - // children: [ - // // { - // // path: 'index', - // // name: 'ReportForInspectionIndex', - // // // hidden: true, - // // component: () => import('@/views/rawMaterials/reportForInspection/index'), - // // meta: { title: '鍘熸潗鏂欐姤妫�', icon: 'table' } - // // }, - // { - // path: 'forInspectionDetail', - // name: 'ForInspectionDetail', - // hidden: true, - // component: () => import('@/views/rawMaterials/reportForInspection/forInspectionDetail'), - // meta: { title: '鏂板妫�楠屽崟璇︽儏', icon: 'table' } - // } - // ] - // }, - // { - // path: 'print', - // name: 'Print', - // component: () => import('@/views/rawMaterials/print/index'), - // meta: { title: '鏉$爜鎵撳嵃', icon: 'tree' } - // }, - // { - // path: 'planAssignments', - // name: 'PlanAssignments', - // component: () => import('@/views/rawMaterials/planAssignments/index'), - // meta: { title: '妫�楠岃鍒掑垎閰�', icon: 'tree' } - // }, - // { - // path: 'rawMaterialInspection', - // name: 'RawMaterialInspection', - // component: () => import('@/views/rawMaterials/rawMaterialInspection/index'), - // meta: { title: '鍘熸潗鏂欐楠�', icon: 'tree' } - // }, - // { - // path: 'checkTheReport', - // name: 'CheckTheReport', - // component: () => import('@/views/rawMaterials/checkTheReport/index'), - // meta: { title: '妫�楠屾姤鍛�', icon: 'tree' } - // }, - // { - // path: 'reportAuditing', - // name: 'ReportAuditing', - // component: () => import('@/views/rawMaterials/reportAuditing/index'), - // meta: { title: '鎶ュ憡瀹℃牳', icon: 'tree' } - // }, - // { - // path: 'nonConformanceReview', - // name: 'NonConformanceReview', - // component: () => import('@/views/rawMaterials/nonConformanceReview/index'), - // meta: { title: '涓嶅悎鏍煎弽棣�', icon: 'tree' } - // }, - // { - // path: 'nonConformingFeedback', - // name: 'NonConformingFeedback', - // component: () => import('@/views/rawMaterials/nonConformingFeedback/index'), - // meta: { title: '涓嶅悎鏍艰瘎瀹�', icon: 'tree' } - // }, - // { - // path: 'passRateStatistics', - // name: 'PassRateStatistics', - // component: () => import('@/views/rawMaterials/passRateStatistics/index'), - // meta: { title: '鍚堟牸鐜囩粺璁�', icon: 'tree' } - // } - // ] - // }, { path: '/inspectionManagement', component: Layout, redirect: '/inspectionManagement/commissionInspection', name: 'InspectionManagement', - meta: { title: '鎶ユ绠$悊', icon: 'el-icon-s-help' }, + meta: { title: '鎶ユ绠$悊', icon: 'el-icon-s-order' }, children: [ { path: 'commissionInspection', @@ -190,7 +85,7 @@ component: Layout, redirect: '/experiment/inspectionApplication', name: 'Experiment', - meta: { title: '璇曢獙绠$悊', icon: 'el-icon-s-help' }, + meta: { title: '璇曢獙绠$悊', icon: 'el-icon-s-marketing' }, children: [ { path: 'inspectionApplication', @@ -199,7 +94,7 @@ meta: { title: '鏂板妫�楠�', icon: 'tree' } }, { - path: 'Viewdetails', + path: 'Viewdetails/:id', name: 'Viewdetails', hidden: true, component: () => import('@/views/experiment/inspectionApplication/Viewdetails/index'), @@ -223,12 +118,12 @@ component: () => import('@/views/experiment/reportAuditing/index'), meta: { title: '鎶ュ憡瀹℃牳', icon: 'tree' } }, - { - path: 'nonConformanceReview', - name: 'NonConformanceReview', - component: () => import('@/views/experiment/nonConformanceReview/index'), - meta: { title: '涓嶅悎鏍煎搧鍙嶉', icon: 'tree' } - }, + // { + // path: 'nonConformanceReview', + // name: 'NonConformanceReview', + // component: () => import('@/views/experiment/nonConformanceReview/index'), + // meta: { title: '涓嶅悎鏍煎搧鍙嶉', icon: 'tree' } + // }, { path: 'nonConformingFeedback', name: 'NonConformingFeedback', @@ -243,75 +138,12 @@ } ] }, - // { - // path: '/finishedProduct', - // component: Layout, - // redirect: '/finishedProduct/reportForInspection', - // name: 'FinishedProduct', - // meta: { title: '鎴愬搧妫�楠�', icon: 'el-icon-s-help' }, - // children: [ - // { - // path: 'reportForInspection', - // name: 'ReportForInspection', - // component: () => import('@/views/rawMaterials/reportForInspection/index'), - // meta: { title: '鎴愬搧閫佹鐧昏', icon: 'table' } - // }, - // { - // path: 'print', - // name: 'Print', - // component: () => import('@/views/rawMaterials/print/index'), - // meta: { title: '鏉$爜鎵撳嵃', icon: 'tree' } - // }, - // { - // path: 'planAssignments', - // name: 'PlanAssignments', - // component: () => import('@/views/rawMaterials/planAssignments/index'), - // meta: { title: '妫�楠岃鍒掑垎閰�', icon: 'tree' } - // }, - // { - // path: 'rawMaterialInspection', - // name: 'RawMaterialInspection', - // component: () => import('@/views/rawMaterials/rawMaterialInspection/index'), - // meta: { title: '鎴愬搧妫�楠�', icon: 'tree' } - // }, - // { - // path: 'checkTheReport', - // name: 'CheckTheReport', - // component: () => import('@/views/rawMaterials/checkTheReport/index'), - // meta: { title: '妫�楠屾姤鍛�', icon: 'tree' } - // }, - // { - // path: 'reportAuditing', - // name: 'ReportAuditing', - // component: () => import('@/views/rawMaterials/reportAuditing/index'), - // meta: { title: '鎶ュ憡瀹℃牳', icon: 'tree' } - // }, - // { - // path: 'nonConformanceReview', - // name: 'NonConformanceReview', - // component: () => import('@/views/rawMaterials/nonConformanceReview/index'), - // meta: { title: '涓嶅悎鏍煎弽棣�', icon: 'tree' } - // }, - // { - // path: 'nonConformingFeedback', - // name: 'NonConformingFeedback', - // component: () => import('@/views/rawMaterials/nonConformingFeedback/index'), - // meta: { title: '涓嶅悎鏍艰瘎瀹�', icon: 'tree' } - // }, - // { - // path: 'passRateStatistics', - // name: 'PassRateStatistics', - // component: () => import('@/views/rawMaterials/passRateStatistics/index'), - // meta: { title: '鍚堟牸鐜囩粺璁�', icon: 'tree' } - // } - // ] - // }, { path: '/laboratory', component: Layout, redirect: '/laboratory/ledger', name: 'Laboratory', - meta: { title: '瀹為獙瀹ょ鐞�', icon: 'el-icon-s-help' }, + meta: { title: '瀹為獙瀹ょ鐞�', icon: 'el-icon-cpu' }, children: [ { path: 'ledger', @@ -389,7 +221,7 @@ component: Layout, redirect: '/chart/center', name: 'Chart', - meta: { title: '鏅鸿兘鍥捐〃', icon: 'el-icon-s-help' }, + meta: { title: '鏅鸿兘鍥捐〃', icon: 'el-icon-s-data' }, children: [ { path: 'center', @@ -422,21 +254,20 @@ component: Layout, redirect: '/message/toDo', name: 'Message', - meta: { title: '娑堟伅寰呭姙', icon: 'el-icon-s-help' }, + // meta: { title: '娑堟伅寰呭姙', icon: 'el-icon-s-help' }, children: [ { path: 'toDo', name: 'ToDo', component: () => import('@/views/message/toDo/index'), - meta: { title: '鎴戠殑寰呭姙', icon: 'tree' } + // meta: { title: '娑堟伅寰呭姙', icon: 'tree' } + meta: { title: '鎴戠殑寰呭姙', icon: 'el-icon-s-promotion' }, }, - { - path: 'message', - name: 'Message', - // hidden: true, - component: () => import('@/views/message/message/index'), - // meta: { title: '鎴戠殑娑堟伅', icon: 'table' } - }, + // { + // path: 'message', + // name: 'Message', + // component: () => import('@/views/message/message/index'), + // }, ] }, { @@ -444,20 +275,21 @@ component: Layout, redirect: '/personal/myInformation', name: 'Personal', - meta: { title: '涓汉绠$悊', icon: 'el-icon-s-help' }, + // meta: { title: '涓汉绠$悊', icon: 'el-icon-s-help' }, children: [ { path: 'myInformation', name: 'MyInformation', component: () => import('@/views/personal/myInformation/index'), - meta: { title: '鎴戠殑淇℃伅', icon: 'table' } + // meta: { title: '涓汉绠$悊', icon: 'el-icon-s-help' } + meta: { title: '鎴戠殑淇℃伅', icon: 'el-icon-user-solid' } }, - { - path: 'myBusiness', - name: 'MyBusiness', - component: () => import('@/views/personal/myBusiness/index'), - meta: { title: '鎴戠殑浼佷笟', icon: 'tree', show: false } - } + // { + // path: 'myBusiness', + // name: 'MyBusiness', + // component: () => import('@/views/personal/myBusiness/index'), + // meta: { title: '鎴戠殑浼佷笟', icon: 'tree', show: false } + // } ] }, { @@ -491,15 +323,9 @@ hidden: true }, { - path: '/addCommision', - component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'), - hidden: true -}, -{ path: '/', component: Layout, redirect: '/home', - // meta: { title: '涓婚〉', icon: 'el-icon-s-home' }, children: [{ path: 'home', name: 'Home', @@ -516,73 +342,78 @@ let result = []; let obj = {}; for (let i = 0; i < tempArr.length; i++) { - if (!obj[tempArr[i].path]) { - result.push(tempArr[i]); - obj[tempArr[i].path] = true; - }; + if (!obj[tempArr[i].path]) { + result.push(tempArr[i]); + obj[tempArr[i].path] = true; + }; }; return result; }; function createRouter(Routees) { - if (JSON.parse(localStorage.getItem("user")) != undefined && JSON.parse(localStorage.getItem("user")) != null) { - let role = JSON.parse(localStorage.getItem("user")).role - let menuFather = baseRouter - const dataMenuFather = fn3(menuFather) - role.roleMenuList.forEach((r) => { - dataMenuFather.push(Routees.filter(item => { - return item.path === r.menuUrl - })[0]) - }) - let eqChildren = []; - role.roleMenuList.forEach((r) => { + if (JSON.parse(sessionStorage.getItem("user")) != undefined && JSON.parse(sessionStorage.getItem("user")) != null) { + let sessionLayerId = JSON.parse(sessionStorage.getItem("user")).sessionLayerId + if (sessionLayerId != 'c3284d0f94606de1fd2af172aba15bf3') { + let role = JSON.parse(sessionStorage.getItem("user")).role + let menuFather = baseRouter + const dataMenuFather = fn3(menuFather) + role.roleMenuList.forEach((r) => { + if(r.menuName!='棣栭〉'){ + dataMenuFather.push(Routees.filter(item => { + return item.path === r.menuUrl + })[0]) + } + }) + let eqChildren = []; + role.roleMenuList.forEach((r) => { + dataMenuFather.forEach(m => { + if (r.menuUrl === m.path) { + r.children.forEach(rc => { + m.children.forEach(mc => { + if (mc.meta != undefined) { + eqChildren.push({ "path": mc.path, "meta": JSON.parse(JSON.stringify(mc.meta)) }) + delete mc["meta"] + } + }) + }) + } + }) + }) + let once = [] + role.roleMenuList.forEach((r) => { + r.children.forEach(rc => { + eqChildren.forEach(eq => { + if (eq != undefined) { + if (eq.path == rc.menuUrl.split("/")[1]) { + once.push(eq) + } + } + }) + }) + }) dataMenuFather.forEach(m => { - if (r.menuUrl === m.path) { - r.children.forEach(rc => { - m.children.forEach(mc => { - if (mc.meta != undefined) { - eqChildren.push({ "path": mc.path, "meta": JSON.parse(JSON.stringify(mc.meta)) }) - delete mc["meta"] + let i = 0 + if (m.children != undefined) { + m.children.forEach(mc => { + once.forEach(eq => { + if (eq != undefined) { + if (mc.path == eq.path) { + if (i === 0) { + m.redirect = m.path + "/" + eq.path + } + i++; + mc.meta = eq.meta + } } }) }) } }) - }) - let once = [] - role.roleMenuList.forEach((r) => { - r.children.forEach(rc => { - eqChildren.forEach(eq => { - if (eq != undefined) { - if (eq.path == rc.menuUrl.split("/")[1]) { - once.push(eq) - } - } - }) - }) - }) - dataMenuFather.forEach(m => { - let i = 0 - if (m.children != undefined) { - m.children.forEach(mc => { - once.forEach(eq => { - if (eq != undefined) { - if (mc.path == eq.path) { - if (i === 0) { - m.redirect = m.path + "/" + eq.path - } - i++; - mc.meta = eq.meta - } - } - }) - }) - } - }) - dataMenuFather.push({path: '*', redirect: '/404', hidden: true}) - dataMenuFather.push() - Routees = dataMenuFather + dataMenuFather.push({ path: '*', redirect: '/404', hidden: true }) + dataMenuFather.push() + Routees = dataMenuFather + } } else { Routees = baseRouter } @@ -592,14 +423,21 @@ routes: Routees }) } -let router = createRouter(getRoutes()) +let router = createRouter(getRoutes()) // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export async function resetRouter() { let newRouter = createRouter(getRoutes()) - router.matcher = newRouter.matcher + router.matcher = newRouter.matcher } -router.beforeEach(async (to, from, next) => { +router.beforeEach((to, from, next) => { + /** + * 濮旀墭鏂板 鏀捐 + */ + if (to.path.indexOf("/addCommision/") === 0) { + next() + return + } // 1. 鍒ゆ柇鏄笉鏄櫥褰曢〉闈� // 鏄櫥褰曢〉闈� if (to.path === '/login') { @@ -607,9 +445,9 @@ } else { // 涓嶆槸鐧诲綍椤甸潰 // 2. 鍒ゆ柇 鏄惁鐧诲綍杩� - let token = localStorage.getItem('user') - if(token!=null&&token!=undefined){ - await resetRouter() + let token = sessionStorage.getItem('user') + if (token != null && token != undefined) { + resetRouter() } token ? next() : next('/login') } -- Gitblit v1.9.3