Newer
Older
xc-business-system / src / router / modules / quality.ts
lyg on 7 Dec 2023 20 KB 管理评审模块
// 质量活动相关路由
import type { Route } from '@/global'

const Layout = () => import('@/layouts/index.vue')

const routes: Route.recordRaw[] = [
  {
    path: '/supervise',
    component: Layout,
    redirect: '/supervise/superviserecord',
    name: 'Supervise',
    meta: {
      title: '质量监督',
      icon: 'ep:key',
      auth: '/supervise/manager',
    },
    children: [
      {
        path: 'superviserecord',
        name: 'SuperviseRecord',
        component: () => import('@/views/quality/supervise/record/index.vue'),
        meta: {
          title: '质量监督记录',
          auth: '/quality/supervise/record',
          icon: 'ep:key',
        },
      },
      {
        path: '/superviserecord/:type',
        name: 'SuperviseRecordEdit',
        component: () => import('@/views/quality/supervise/record/components/handler.vue'),
        meta: {
          title: '质量监督记录编辑',
          auth: '/quality/supervise/record',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/supervise/superviserecord',
        },
      },
      {
        path: 'supervisereport',
        name: 'SuperviseReport',
        component: () => import('@/views/quality/supervise/report/index.vue'),
        meta: {
          title: '质量监督报告',
          auth: '/quality/supervise/report',
          icon: 'ep:key',
        },
      },
      {
        path: '/supervisereport/:type/:id?',
        name: 'SuperviseReportEdit',
        component: () => import('@/views/quality/supervise/report/components/handler.vue'),
        meta: {
          title: '质量监督报告编辑',
          auth: '/quality/supervise/report',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/supervise/supervisereport',
        },
      },
      {
        path: 'superviseanalysis',
        name: 'SuperviseAnalysis',
        component: () => import('@/views/quality/supervise/analysis/index.vue'),
        meta: {
          title: '不符合要求情况分析报告',
          auth: '/quality/supervise/analysis',
          icon: 'ep:key',
        },
      },
      {
        path: '/superviseanalysis/:type/:id?',
        name: 'SuperviseAnalysisEdit',
        component: () => import('@/views/quality/supervise/analysis/components/handler.vue'),
        meta: {
          title: '不符合要求情况分析报告',
          auth: '/quality/supervise/analysis',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/supervise/superviseanalysis',
        },
      },
    ],
  },
  {
    path: '/internal',
    component: Layout,
    redirect: '/internal/internalwork',
    name: 'Internal',
    meta: {
      title: '内部审核管理',
      icon: 'ep:key',
      auth: '/internal/manager',
    },
    children: [
      {
        path: 'internalwork',
        name: 'InternalWork',
        component: () => import('@/views/quality/internal/workManage/index.vue'),
        meta: {
          title: '内部审核工作管理',
          auth: '/quality/internal/work',
          icon: 'ep:key',
        },
      },
      {
        path: '/internalwork/:type',
        name: 'InternalWorkEdit',
        component: () => import('@/views/quality/internal/workManage/components/edit.vue'),
        meta: {
          title: '内部审核工作管理编辑',
          auth: '/quality/internal/work',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internalwork',
        },
      },
      {
        path: 'internalplan',
        name: 'InternalPlan',
        component: () => import('@/views/quality/internal/internalPlan/index.vue'),
        meta: {
          title: '内部审核计划',
          auth: '/quality/internal/plan',
          icon: 'ep:key',
        },
      },
      {
        path: '/internalplan/:type',
        name: 'InternalPlanEdit',
        component: () => import('@/views/quality/internal/internalPlan/components/handler.vue'),
        meta: {
          title: '内部审核计划编辑',
          auth: '/quality/internal/plan',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internalplan',
        },
      },
      {
        path: 'internalscene',
        name: 'InternalScene',
        component: () => import('@/views/quality/internal/scene/index.vue'),
        meta: {
          title: '现场审核计划',
          auth: '/quality/internal/scene',
          icon: 'ep:key',
        },
      },
      {
        path: '/internalscene/:type/:id?',
        name: 'InternalSceneEdit',
        component: () => import('@/views/quality/internal/scene/components/handler.vue'),
        meta: {
          title: '现场审核计划',
          auth: '/quality/internal/scene',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internalscene',
        },
      },
      {
        path: 'internalregistration',
        name: 'InternalRegistration',
        component: () => import('@/views/quality/internal/registration/index.vue'),
        meta: {
          title: '内部审核工作登记表',
          auth: '/quality/internal/registration',
          icon: 'ep:key',
        },
      },
      {
        path: '/internalregistration/:type/:id?',
        name: 'InternalRegistrationEdit',
        component: () => import('@/views/quality/internal/registration/components/handler.vue'),
        meta: {
          title: '内部审核工作登记表',
          auth: '/quality/internal/registration',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internalregistration',
        },
      },
      {
        path: 'internalinspect',
        name: 'InternalInspect',
        component: () => import('@/views/quality/internal/inspect/index.vue'),
        meta: {
          title: '内部审核检查表',
          auth: '/quality/internal/inspect',
          icon: 'ep:key',
        },
      },
      {
        path: '/internalinspect/:type/:id?',
        name: 'InternalInspectEdit',
        component: () => import('@/views/quality/internal/inspect/components/handler.vue'),
        meta: {
          title: '内部审核检查表',
          auth: '/quality/internal/inspect',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internalinspect',
        },
      },
      {
        path: 'internaldissatisfied',
        name: 'InternalDissatisfied',
        component: () => import('@/views/quality/internal/dissatisfied/index.vue'),
        meta: {
          title: '内部审核不符合项报告',
          auth: '/quality/internal/dissatisfied',
          icon: 'ep:key',
        },
      },
      {
        path: '/internaldissatisfied/:type/:id?',
        name: 'InternalDissatisfiedEdit',
        component: () => import('@/views/quality/internal/dissatisfied/components/handler.vue'),
        meta: {
          title: '内部审核不符合项报告',
          auth: '/quality/internal/dissatisfied',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internaldissatisfied',
        },
      },
      {
        path: 'internalreport',
        name: 'InternalReport',
        component: () => import('@/views/quality/internal/report/index.vue'),
        meta: {
          title: '内部审核报告',
          auth: '/quality/internal/report',
          icon: 'ep:key',
        },
      },
      {
        path: '/internalreport/:type/:id?',
        name: 'InternalReportEdit',
        component: () => import('@/views/quality/internal/report/components/handler.vue'),
        meta: {
          title: '内部审核报告',
          auth: '/quality/internal/report',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/internal/internalreport',
        },
      },
    ],
  },
  {
    path: '/external',
    component: Layout,
    redirect: '/external/externalwork',
    name: 'External',
    meta: {
      title: '外部审核管理',
      icon: 'ep:key',
      auth: '/external/manager',
    },
    children: [
      {
        path: 'externalwork',
        name: 'ExternalWork',
        component: () => import('@/views/quality/external/external/index.vue'),
        meta: {
          title: '外部审核工作',
          auth: '/quality/external/record',
          icon: 'ep:key',
        },
      },
      {
        path: '/externalwork/:type',
        name: 'ExternalWorkEdit',
        component: () => import('@/views/quality/external/external/components/edit.vue'),
        meta: {
          title: '外部审核工作',
          auth: '/quality/external/record',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/external/externalwork',
        },
      },
    ],
  },
  {
    path: '/qreview',
    component: Layout,
    redirect: '/qreview/qreviewwork',
    name: 'QReview',
    meta: {
      title: '管理评审管理',
      icon: 'ep:key',
      auth: '/review/manager',
    },
    children: [
      {
        path: 'qreviewwork',
        name: 'QrevieWwork',
        component: () => import('@/views/quality/review/work/index.vue'),
        meta: {
          title: '管理评审工作管理',
          auth: '/quality/review/work',
          icon: 'ep:key',
        },
      },
      {
        path: '/qreviewwork/:type',
        name: 'QrevieWworkEdit',
        component: () => import('@/views/quality/review/work/components/edit.vue'),
        meta: {
          title: '管理评审工作管理',
          auth: '/quality/review/work',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewwork',
        },
      },
      {
        path: '/qreviewwork/detail',
        name: 'QrevieWworkEDetail',
        component: () => import('@/views/quality/review/work/components/detail.vue'),
        meta: {
          title: '管理评审工作管理',
          auth: '/quality/review/work',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewwork',
        },
      },
      {
        path: 'qreviewplan',
        name: 'QreviewPlan',
        component: () => import('@/views/quality/review/plan/index.vue'),
        meta: {
          title: '管理评审计划',
          auth: '/quality/review/plan',
          icon: 'ep:key',
        },
      },
      {
        path: '/qreviewplan/:type/:id?',
        name: 'QreviewPlanEdit',
        component: () => import('@/views/quality/review/plan/components/handler.vue'),
        meta: {
          title: '管理评审计划',
          auth: '/quality/review/plan',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewplan',
        },
      },
      {
        path: 'qreviewrun',
        name: 'QreviewRun',
        component: () => import('@/views/quality/review/run/index.vue'),
        meta: {
          title: '质量管理体系运行报告',
          auth: '/quality/review/run',
          icon: 'ep:key',
        },
      },
      {
        path: '/qreviewrun/:type/:id?',
        name: 'QreviewRunEdit',
        component: () => import('@/views/quality/review/run/components/edit.vue'),
        meta: {
          title: '质量管理体系运行报告',
          auth: '/quality/review/run',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewrun',
        },
      },
      {
        path: '/qreviewrun/detail',
        name: 'QreviewRunDetail',
        component: () => import('@/views/quality/review/run/components/detail.vue'),
        meta: {
          title: '质量管理体系运行报告',
          auth: '/quality/review/run',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewrun',
        },
      },
      {
        path: 'qreviewtarget',
        name: 'QreviewTarget',
        component: () => import('@/views/quality/review/target/index.vue'),
        meta: {
          title: '质量目标评测报告',
          auth: '/quality/review/target',
          icon: 'ep:key',
        },
      },
      {
        path: '/qreviewtarget/:type',
        name: 'QreviewTargetEdit',
        component: () => import('@/views/quality/review/target/components/edit.vue'),
        meta: {
          title: '质量目标评测报告',
          auth: '/quality/review/target',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewtarget',
        },
      },
      {
        path: '/qreviewtarget/detail',
        name: 'QreviewTargetDetail',
        component: () => import('@/views/quality/review/target/components/detail.vue'),
        meta: {
          title: '质量目标评测报告',
          auth: '/quality/review/target',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewtarget',
        },
      },
      {
        path: 'qrevieweffectiveness',
        name: 'QreviewEffectiveness',
        component: () => import('@/views/quality/review/effectiveness/index.vue'),
        meta: {
          title: '质量管理体系有效性综合分析报告',
          auth: '/quality/review/effectiveness',
          icon: 'ep:key',
        },
      },
      {
        path: '/qrevieweffectiveness/:type',
        name: 'QreviewEffectivenessEdit',
        component: () => import('@/views/quality/review/effectiveness/components/edit.vue'),
        meta: {
          title: '质量管理体系有效性综合分析报告',
          auth: '/quality/review/effectiveness',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qrevieweffectiveness',
        },
      },
      {
        path: '/qrevieweffectiveness/detail',
        name: 'QreviewEffectivenessDetail',
        component: () => import('@/views/quality/review/effectiveness/components/detail.vue'),
        meta: {
          title: '质量管理体系有效性综合分析报告',
          auth: '/quality/review/effectiveness',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qrevieweffectiveness',
        },
      },
      {
        path: 'qreviewtechnology',
        name: 'QreviewTechnology',
        component: () => import('@/views/quality/review/technology/index.vue'),
        meta: {
          title: '技术能力分析报告',
          auth: '/quality/review/technology',
          icon: 'ep:key',
        },
      },
      {
        path: '/qreviewtechnology/:type',
        name: 'QreviewTechnologyEdit',
        component: () => import('@/views/quality/review/technology/components/edit.vue'),
        meta: {
          title: '技术能力分析报告',
          auth: '/quality/review/technology',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewtechnology',
        },
      },
      {
        path: '/qreviewtechnology/detail',
        name: 'QreviewTechnologyDetail',
        component: () => import('@/views/quality/review/technology/components/detail.vue'),
        meta: {
          title: '技术能力分析报告',
          auth: '/quality/review/technology',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewtechnology',
        },
      },
      {
        path: 'qreviewreport',
        name: 'QreviewReport',
        component: () => import('@/views/quality/review/report/index.vue'),
        meta: {
          title: '管理评审报告',
          auth: '/quality/review/report',
          icon: 'ep:key',
        },
      },
      {
        path: '/qreviewreport/:type/:id?',
        name: 'QreviewReportEdit',
        component: () => import('@/views/quality/review/report/components/handler.vue'),
        meta: {
          title: '管理评审报告',
          auth: '/quality/review/report',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/qreview/qreviewreport',
        },
      },
    ],
  },
  {
    path: '/correct',
    component: Layout,
    redirect: '/correct/correcthandle',
    name: 'Correct',
    meta: {
      title: '纠正措施管理',
      icon: 'ep:key',
      auth: '/correct/manager',
    },
    children: [
      {
        path: 'correcthandle',
        name: 'CorrectHandle',
        component: () => import('@/views/quality/correct/handle/index.vue'),
        meta: {
          title: '纠正措施处理单',
          auth: '/quality/correct/handle',
          icon: 'ep:key',
        },
      },
      {
        path: '/correcthandle/:type/:id?',
        name: 'CorrectHandleEdit',
        component: () => import('@/views/quality/correct/handle/components/handler.vue'),
        meta: {
          title: '纠正措施处理单',
          auth: '/quality/correct/handle',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/correct/correcthandle',
        },
      },
    ],
  },
  {
    path: '/prevent',
    component: Layout,
    redirect: '/prevent/preventhandle',
    name: 'Rrevent',
    meta: {
      title: '预防措施管理',
      icon: 'ep:key',
      auth: '/prevent/manager',
    },
    children: [
      {
        path: 'preventhandle',
        name: 'PreventHandle',
        component: () => import('@/views/quality/prevent/handle/index.vue'),
        meta: {
          title: '预防措施处理单',
          auth: '/quality/prevent/handle',
          icon: 'ep:key',
          // activeMenu: '/prevent',
        },
      },
      {
        path: '/preventhandle/:type/:id?',
        name: 'PreventHandleEdit',
        component: () => import('@/views/quality/prevent/handle/components/handler.vue'),
        meta: {
          title: '预防措施处理单',
          auth: '/quality/prevent/handle',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/prevent/preventhandle',
        },
      },
    ],
  },
  {
    path: '/meeting',
    component: Layout,
    redirect: '/meeting/meetinglist',
    name: 'Meeting',
    meta: {
      title: '会议记录',
      icon: 'ep:key',
      auth: '/meeting/manager',
    },
    children: [
      {
        path: 'meetinglist',
        name: 'MeetingList',
        component: () => import('@/views/quality/meeting/index.vue'),
        meta: {
          title: '会议记录',
          auth: '/quality/meeting/record',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/meeting',
        },
      },
      {
        path: '/meetinglist/:type',
        name: 'MeetingHanlderList',
        component: () => import('@/views/quality/meeting/components/edit.vue'),
        meta: {
          title: '会议记录编辑',
          auth: '/quality/meeting/record',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/meeting',
        },
      },
    ],
  },
  {
    path: '/ctemplate',
    component: Layout,
    redirect: '/ctemplate/templatelist',
    name: 'cTemplate',
    meta: {
      title: '模板管理',
      icon: 'ep:key',
      auth: '/template/manager',
    },
    children: [
      {
        path: 'templatelist',
        name: 'TemplateList',
        component: () => import('@/views/quality/template/index.vue'),
        meta: {
          title: '模板管理',
          auth: '/quality/template/manager',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/ctemplate',
        },
      },
      {
        path: '/templatelist/:type',
        name: 'TemplateListHandler',
        component: () => import('@/views/quality/template/components/edit.vue'),
        meta: {
          title: '模板管理编辑',
          auth: '/quality/template/manager',
          icon: 'ep:key',
          sidebar: false,
          breadcrumb: true,
          activeMenu: '/ctemplate',
        },
      },
    ],
  },
]

export default routes