diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue new file mode 100644 index 0000000..f65137f --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue new file mode 100644 index 0000000..f65137f --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue new file mode 100644 index 0000000..f65137f --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptList.vue b/src/views/business/schedule/interchangeReceipt/receiptList.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue new file mode 100644 index 0000000..f65137f --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptList.vue b/src/views/business/schedule/interchangeReceipt/receiptList.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue new file mode 100644 index 0000000..e8b9bfc --- /dev/null +++ b/src/views/business/schedule/order/orderList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue new file mode 100644 index 0000000..f65137f --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptList.vue b/src/views/business/schedule/interchangeReceipt/receiptList.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue new file mode 100644 index 0000000..e8b9bfc --- /dev/null +++ b/src/views/business/schedule/order/orderList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/task/taskEdit.vue b/src/views/business/schedule/task/taskEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/task/taskEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/router/modules/business.ts b/src/router/modules/business.ts new file mode 100644 index 0000000..5c85016 --- /dev/null +++ b/src/router/modules/business.ts @@ -0,0 +1,203 @@ +import type { Route } from '@/global' +// 业务管理 +const Layout = () => import('@/layouts/index.vue') + +const routes: Route.recordRaw[] = [ + { + path: '/business', + component: Layout, + redirect: '/business/bench', + name: 'BussinessBench', + meta: { + title: '工作台', + icon: 'ep:key', + auth: '/business/bench', + }, + children: [ + { + path: 'bench', + name: 'BusinessBenchPage', + component: () => import('@/views/business/bench/bench.vue'), + meta: { + title: '工作台', + auth: '/business/bench', + sidebar: false, + breadcrumb: true, + activeMenu: '/business', + }, + }, + ], + }, + { + path: '/schedule', + component: Layout, + redirect: '/schedule/orderList', + name: 'Schedule', + meta: { + title: '业务调度', + icon: 'ep:key', + auth: '/schedule', + }, + children: [ + { + path: 'orderList', + name: 'OrderList', + component: () => import('@/views/business/schedule/order/orderList.vue'), + meta: { + title: '委托书', + icon: 'ep:key', + auth: '/schedule/orderList', + }, + }, + { + path: 'order/:type/:id?', + name: 'OrderDetail', + component: () => import('@/views/business/schedule/bench/bench.vue'), + meta: { + title: '委托书详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/orderList', + }, + }, + { + path: 'interchangeList', + name: 'InterchangeList', + component: () => import('@/views/business/schedule/interchange/interchangeList.vue'), + meta: { + title: '设备收发', + icon: 'ep:key', + auth: '/schedule/interchangeList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'receiptList', + name: 'InterchangeReceiptList', + component: () => import('@/views/business/schedule/interchangeReceipt/receiptList.vue'), + meta: { + title: '设备交接单', + icon: 'ep:key', + auth: '/schedule/receiptList', + }, + }, + { + path: 'receipt/:type/:id?', + name: 'InterchangeReceiptDetail', + component: () => import('@/views/business/schedule/interchangeRecepit/receiptEdit.vue'), + meta: { + title: '设备交接单详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/receiptList', + }, + }, + { + path: 'interchange/:type/:id?', + name: 'InterchangeDetail', + component: () => import('@/views/business/schedule/interchange/interchangeEdit.vue'), + meta: { + title: '设备收发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/interchangeList', + }, + }, + { + path: 'taskList', + name: 'TaskList', + component: () => import('@/views/business/schedule/task/taskList.vue'), + meta: { + title: '任务分发', + icon: 'ep:key', + auth: '/schedule/taskList', + }, + }, + { + path: 'task/:type/:id?', + name: 'taskDetail', + component: () => import('@/views/business/schedule/task/taskEdit.vue'), + meta: { + title: '任务分发详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/schedule/taskList', + }, + }, + ], + }, + { + path: '/lab', + component: Layout, + redirect: '/lab/myMeasureList', + name: 'Lab', + meta: { + title: '实验室检测', + icon: 'ep:key', + auth: '/business/lab', + }, + children: [ + { + path: 'myMeasureList', + name: 'MyMeasure', + component: () => import('@/views/business/lab/myMeasure/myMeasureList.vue'), + meta: { + title: '我的检测', + icon: 'ep:key', + auth: '/lab/myMeasure', + }, + }, + { + path: '/myMesure/:type/:id?', + name: 'MyMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/myMeasureList', + }, + }, + { + path: 'deptMeasureList', + name: 'DeptMeasureList', + component: () => import('@/views/business/lab/deptMeasure/deptMeasureList.vue'), + meta: { + title: '部门检测', + icon: 'ep:key', + auth: '/lab/deptMeasureList', + }, + }, + { + path: 'deptMeasure/:type/:id?', + name: 'DeptMeasureDetail', + component: () => import('@/views/business/lab/myMeasure/labMeasureEdit.vue'), + meta: { + title: '检测详情', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/lab/deptMeasureList', + }, + }, + ], + }, +] + +export default routes diff --git a/src/router/routes.ts b/src/router/routes.ts index 5210ea6..e1140de 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -6,6 +6,7 @@ import measureRoute from './modules/measure' import deviceRoute from './modules/device' import customerRoute from './modules/customer' +import businessRoute from './modules/business' import type { Route } from '@/global' import useSettingsStore from '@/store/modules/settings' @@ -112,11 +113,10 @@ meta: { title: '业务管理', icon: '', - auth: 'ywgl', + auth: '/business', }, children: [ - MultilevelMenuExample, - BreadcrumbExample, + ...businessRoute, ], }, { diff --git a/src/views/business/bench/bench.vue b/src/views/business/bench/bench.vue new file mode 100644 index 0000000..64a6818 --- /dev/null +++ b/src/views/business/bench/bench.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/deptMeasure/deptMeasureList.vue b/src/views/business/lab/deptMeasure/deptMeasureList.vue new file mode 100644 index 0000000..c129753 --- /dev/null +++ b/src/views/business/lab/deptMeasure/deptMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/labMeasureEdit.vue b/src/views/business/lab/myMeasure/labMeasureEdit.vue new file mode 100644 index 0000000..1d5f241 --- /dev/null +++ b/src/views/business/lab/myMeasure/labMeasureEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/lab/myMeasure/myMeasureList.vue b/src/views/business/lab/myMeasure/myMeasureList.vue new file mode 100644 index 0000000..3ba89c5 --- /dev/null +++ b/src/views/business/lab/myMeasure/myMeasureList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeEdit.vue b/src/views/business/schedule/interchange/interchangeEdit.vue new file mode 100644 index 0000000..8c9b87c --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue new file mode 100644 index 0000000..f65137f --- /dev/null +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/interchangeReceipt/receiptList.vue b/src/views/business/schedule/interchangeReceipt/receiptList.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/interchangeReceipt/receiptList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue new file mode 100644 index 0000000..e8b9bfc --- /dev/null +++ b/src/views/business/schedule/order/orderList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/task/taskEdit.vue b/src/views/business/schedule/task/taskEdit.vue new file mode 100644 index 0000000..92c14b2 --- /dev/null +++ b/src/views/business/schedule/task/taskEdit.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/business/schedule/task/taskList.vue b/src/views/business/schedule/task/taskList.vue new file mode 100644 index 0000000..4c8cf3d --- /dev/null +++ b/src/views/business/schedule/task/taskList.vue @@ -0,0 +1,13 @@ + + + + +