import Login from '../client/Login.vue';
import Desktop from '../client/Desktop.vue';
const Dashboard = () => import(/* webpackChunkName: "component-1" */ '../dashboard/Dashboard.vue');
// const Dashboard = () => import(/* webpackChunkName: "component-1" */ '../dashboard/NewDashboard.vue');
const LoginNode = () => import('../client/LoginNode.vue');
const LoginGraphic = () => import('../client/LoginGraphic.vue');

const CurdWindow1 = () => import(/* webpackChunkName: "component-2" */ '../window1/CurdWindow.vue');
const TabFormEdit1 = () => import(/* webpackChunkName: "component-4" */ '../window1/tabFormEdit/TabFormEdit.vue');
const TabFormEditModal = () => import(/* webpackChunkName: "component-4" */ '../window1/tabFormEdit/TabFormEditModal.vue');
const TabFormView1 = () => import(/* webpackChunkName: "component-5" */ '../window1/tabFormView/TabFormView.vue');

;
const SheetWindow = () => import(/* webpackChunkName: "component-3" */ '../sheetWindow/SheetWindow.vue');
const AttributeEditPanel = () => import(/* webpackChunkName: "component-6" */ '../window1/attribute/AttributeEditPanel.vue');
const TabAudit = () => import(/* webpackChunkName: "component-8" */ '../window1/tabView/TabAudit.vue');
const Approve = () => import(/* webpackChunkName: "component-9" */ '../workflow/Approve.vue');
const RoleCurdField = () => import(/* webpackChunkName: "component-18" */ '../role/RoleCurdField.vue');
const RoleCurdFieldTab = () => import(/* webpackChunkName: "component-19" */ '../role/RoleCurdFieldTab.vue');
const TabDataSort = () => import(/* webpackChunkName: "component-21" */ '../customer/TabDataSort.vue');
const WorkflowEdit = () => import(/* webpackChunkName: "component-22" */ '../workflow/WorkflowEdit.vue');
const DataImportPanel = () => import(/* webpackChunkName: "component-23" */ '../customer/DataImportPanel.vue');
const Notification = () => import(/* webpackChunkName: "component-25" */ '../client/Notification.vue');
const SingleNotification = () => import(/* webpackChunkName: "component-26" */ '../client/SingleNotification.vue');
const GenerateDocumentTool = () => import(/* webpackChunkName: "component-27" */ '../customer/GenerateDocumentTool.vue');
const UserParameters = () => import(/* webpackChunkName: "component-28" */ '../client/UserParameters.vue');
const OrganizationEditPanel = () => import(/* webpackChunkName: "component-29" */ '../client/OrganizationEditPanel.vue');
const BarCodeEdit = () => import(/* webpackChunkName: "component-30" */ '../customer/BarCodeEdit.vue');
const Archive = () => import(/* webpackChunkName: "component-31" */ '../client/Archive.vue');
const UserSearch = () => import(/* webpackChunkName: "component-34" */ '../customer/UserSearch.vue');
const Monitor = () => import(/* webpackChunkName: "component-35" */ '../customer/Monitor.vue');
const BatchUpdateField = () => import(/* webpackChunkName: "component-36" */ '../customer/BatchUpdateField.vue');
const ActivitiAdmin = () => import(/* webpackChunkName: "component-38" */ '../workflow/ActivitiAdmin.vue');
const DocManagement = () => import(/* webpackChunkName: "component-39" */ '../workflow/DocManagement.vue');
const PrintPage = () => import(/* webpackChunkName: "component-49" */ '../customer/PrintPage.vue');
const NotFound = () => import(/* webpackChunkName: "component-50" */ '../client/NotFound.vue');

const Camera = () => import(/* webpackChunkName: "component-51" */ '../widget/Camera.vue');
const Cropper = () => import(/* webpackChunkName: "component-52" */ '../widget/Cropper.vue');
const WebSocketCapture = () => import(/* webpackChunkName: "component-53" */ '../widget/WebSocketCapture.vue');
const WebRtcCapture = () => import(/* webpackChunkName: "component-54" */ '../widget/WebRtcCapture.vue');
const InfoWindowPage = () => import(/* webpackChunkName: "component-57" */ '../info/InfoWindowPage.vue');
const TaskProcessManagement = () => import(/* webpackChunkName: "component-58" */ '../workflow/TaskProcessManagement.vue');
const ExecutionList = () => import(/* webpackChunkName: "component-59" */ '../workflow/ExecutionList.vue');
const NoRole = () => import(/* webpackChunkName: "component-60" */ '../role/NoRole.vue');
const PrivacyStatement = () => import(/* webpackChunkName: "component-test-62" */ '../confirm/privacy-statement.vue');
const StudyVideo = () => import(/* webpackChunkName: "component-test-63" */ '../confirm/StudyVideo.vue');
const ResetPassword = () => import(/* webpackChunkName: "component-test-64" */ '../confirm/ResetPassword.vue');
const PdfPrint = () => import(/* webpackChunkName: "component-test-66" */ '../confirm/PdfPrint.vue');
const RetrievePassword = () => import(/* webpackChunkName: "component-test-67" */ '../client/RetrievePassword.vue');
const KnowledgeTrain1 = () => import(/* webpackChunkName: "component-test-68" */ '../confirm/KnowledgeTrain1.vue');
const KnowledgeTrainAnswer = () => import(/* webpackChunkName: "component-test-69" */ '../confirm/KnowledgeTrainAnswer.vue');
const ReportApprove = () => import(/* webpackChunkName: "component-71" */ '../workflow/ReportApprove.vue');
const LaunchApproval = () => import(/* webpackChunkName: "component-75" */ '../workflow/LaunchApproval.vue');
const FormManage = () => import(/* webpackChunkName: "component-76" */ '../workflow/FormManage.vue');
const FormCenter = () => import(/* webpackChunkName: "component-77" */ '../workflow/FormCenter.vue');
const ExcelReport = () => import(/* webpackChunkName: "component-72" */ '../client/ExcelReport.vue');
const DateExcelReport = () => import(/* webpackChunkName: "component-73" */ '../client/DateExcelReport.vue');
const DelegationReport = () => import(/* webpackChunkName: "component-74" */ '../client/DelegationReport.vue');

const ContainerLayout = () => import(/* webpackChunkName: "component-test-1" */ '../../test/ContainerLayout.vue');
const DynamicImport = () => import(/* webpackChunkName: "component-test-2" */ '../../test/DynamicImport.vue');
const Test = () => import(/* webpackChunkName: "component-test-4" */ '../../test/Test.vue');
const Training = () => import(/* webpackChunkName: "component-test-5" */ '../../test/Training.vue');
const TabFormEditModalTest = () => import(/* webpackChunkName: "component-test-5" */ '../../test/window1/TabFormEditModalTest.vue');
const DataArchive = () => import('../archive/DataArchive.vue');
const ArchivalRecord = () => import('../archive/ArchivalRecord.vue');
const ExcelImport = () => import('../customer/ExcelImport.vue');
const IdentityManager = () => import('../identity/IdentityManager.vue');
const CreateIdentity = () => import('../identity/CreateIdentity.vue');
const SamlLogin = () => import('../client/SamlLogin.vue');
const CasLogin = () => import('../client/CasLogin.vue');
const PrinterConfiguration = () => import('../printer/PrinterConfiguration.vue');
const ShortcutMenu = () => import('../dashboard/ShortcutMenu.vue');
const FlowChart = () => import('../dashboard/FlowChart.vue');
const DeviceManagement = () => import('../device/DeviceManagement.vue');
const DeviceTimingSwitcher = () => import('../device/DeviceTimingSwitcher.vue');
const OperationLog = () => import('../operationLog/OperationLog.vue');
const ViewEdit = () => import('../window1/ViewEdit.vue');
const TestPc = () => import('../widget/AudioField.vue');

const UseEditorTest = () => import('../widget/UseEditorTest.vue');

import { ProcessReport } from 'pc-component-v3';

export default [
  { path: '/', redirect: '/login' },
  {
    path: '/login',
    component: Login,
    meta: {
      loginRequired: false,
    },
  },
  {
    path: '/samlLogin',
    component: SamlLogin,
    meta: {
      loginRequired: false,
    },
  },
  {
    path: '/casLogin',
    component: CasLogin,
    meta: {
      loginRequired: false,
    },
  },
  {
    path: '/desktop', component: Desktop,
    children: [
      //仪表盘
      {
        path: 'dashboard',
        component: Dashboard,
        meta: {
          loginRequired: false,
          functionAccessArray: [
            {
              functionNo: '资产仪表盘',
              itemNo: ['公司资产统计', '部门资产统计'],
            },
            {
              functionNo: '仓库仪表盘',
              itemNo: '出入库统计',
            },
          ],
        },
      },
      // Web电子表格 窗口
      { path: 'sheetWindow/:windowNo', component: SheetWindow },

      // 快捷菜单
      { path: 'shortcutMenu', name: 'ShortcutMenu', component: ShortcutMenu },
      { path: 'assetFlowChart', component: FlowChart },

      // 属性编辑窗口
      {
        path: 'attribute-edit/:uuid', component: AttributeEditPanel,
        'meta': {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220321_212846',
              'itemNo': '1',
            },
          ],
        },
      },
      // 审计数据窗口
      { path: 'window/window-audit/:uuid', component: TabAudit },
      // 查询窗口
      { path: 'info/:infoWindowNo', component: InfoWindowPage },


      // 窗口
      { path: 'window1/:windowNo', component: CurdWindow1 },

      // CRUD编辑窗口
      // eslint-disable-next-line
      { path: 'window1/TabFormEditModal', component: TabFormEditModal },


      // eslint-disable-next-line
      { path: 'window1/window-edit/:type/:uuid', component: TabFormEdit1 },
      // eslint-disable-next-line
      { path: 'window1/window-edit/:type/:windowNo/:tabIndex', component: TabFormEdit1 },
      // eslint-disable-next-line
      { path: 'window1/window-edit/:type/:windowNo/:tabIndex/:recordId', component: TabFormEdit1 },

      // CRUD不可编辑窗口
      // eslint-disable-next-line
      { path: 'window1/window-read/:type/:uuid', component: TabFormView1 },
      // eslint-disable-next-line
      { path: 'window1/window-read/:type/:windowNo/:tabIndex/:recordId', component: TabFormView1 },



      // 流程和报口
      { path: 'process-report/:no', component: ProcessReport },
      // 审批
      { path: 'approve', component: Approve },
      // 无权限访问界面
      { path: 'no-role', component: NoRole },
      //角色CURD访问权限（父页签）
      {
        path: 'roleCurdField',
        component: RoleCurdField,
        meta: {
          loginRequired: true,
          functionAccessArray: [
            {
              functionNo: 'xxx',
              itemNo: ['x1', 'x2'],
            },
            {
              functionNo: 'yyy',
              itemNo: 'y1',
            },
          ],
        },
      },

      //角色CURD访问权限（子页签）
      {
        path: 'roleCurdFieldTab', component: RoleCurdFieldTab,
        'meta': {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220321_212846',
              'itemNo': '1',
            },
          ],
        },
      },

      // 页签字段排序
      { path: 'tab-data-sort/:uuid', component: TabDataSort },
      // 工作流编辑
      {
        path: 'workflow-edit', component: WorkflowEdit,
        meta: {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220424_144806',
              'itemNo': '1',
            },
          ],
        },
      },
      // 数据导入
      {
        path: 'data-import-panel', component: DataImportPanel,
        meta: {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220328_093317',
              'itemNo': '2',
            },
            {
              'functionNo': '20220712_133418',
              'itemNo': '1',
            },
          ],
        },

      },
      // 数据导入
      { path: 'data-import-panel/:uuid', component: DataImportPanel },
      // 通知
      { path: 'notification', component: Notification },
      // 单条通知
      // eslint-disable-next-line
      { path: 'single-notification/:messageId', component: SingleNotification },
      // 生单
      // eslint-disable-next-line
      { path: 'generate-document/:type/:infoWindowNo/:uuid', component: GenerateDocumentTool },
      // 用户参数
      { path: 'userParameters', component: UserParameters },
      // 部门编辑
      {
        path: 'OrganizationEditPanel', component: OrganizationEditPanel,
        meta: {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220314_103037',
              'itemNo': '2',
            },
          ],
        },
      },
      // 归档
      { path: 'archive', component: Archive },

      //用户搜索
      { path: 'userSearch', component: UserSearch },
      //抓拍
      { path: 'monitor', component: Monitor },
      //批量修改字段
      {
        path: 'batchUpdateField/:uuid', component: BatchUpdateField,
        'meta': {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220322_095822',
              'itemNo': '1',
            },
          ],
        },
      },
      // 工作流管理员2019
      { path: 'activitiAdmin', component: ActivitiAdmin },
      // 工作流管理员2019
      {
        path: 'DocManagement', component: DocManagement,
        'meta': {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220424_144806',
              'itemNo': '1',
            },
          ],
        },
      },




      // 任务流程管理
      {
        path: 'taskProcessManagement', component: TaskProcessManagement,
        meta: {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220424_144806',
              'itemNo': '1',
            },
          ],
        },
      },

      // 执行列表
      {
        path: 'executionList', component: ExecutionList,
        meta: {
          'loginRequired': true,
          'functionAccessArray': [
            {
              'functionNo': '20220424_144806',
              'itemNo': '1',
            },
          ],
        },
      },


      { path: 'pdf-print', component: PdfPrint },

      { path: 'report-approve', component: ReportApprove },

      // 打印页面
      { path: '/single/PrintPage', component: PrintPage },

      { path: '/test', component: Test },
      { path: '/TabFormEditModalTest', component: TabFormEditModalTest },




      { path: '/webrt', component: WebRtcCapture },
      { path: '/WebSocketCapture', component: WebSocketCapture },
      { path: '/cropper', component: Cropper },
      { path: '/camera', component: Camera },
      { path: '/containerLayout', component: ContainerLayout },
      { path: '/DynamicImport', component: DynamicImport },

      { path: '/notFound', component: NotFound },
      { path: '/privacy-statement', component: PrivacyStatement },
      { path: '/studyVideo', component: StudyVideo },
      { path: '/resetPassword', component: ResetPassword },

      { path: '/retrievePassword', component: RetrievePassword },
      { path: '/knowledgeTrain', component: KnowledgeTrain1 },
      { path: '/knowledgeTrainAnswer', component: KnowledgeTrainAnswer },
      { path: '/excelReport/:processReportNo', component: ExcelReport },
      { path: '/dateExcelReport/:processReportNo', component: DateExcelReport },
      { path: '/desktop/delegationReport', component: DelegationReport },
      { path: '/desktop/dataArchive', component: DataArchive },//数据归档
      { path: '/desktop/archivalRecord', component: ArchivalRecord },//数据归档记录下载
      { path: '/desktop/excelImport', component: ExcelImport },
      { path: '/desktop/identityManager', component: IdentityManager }, // 身份源管理
      { path: '/desktop/createIdentity', name: 'createIdentity', component: CreateIdentity }, // 身份源管理
      { path: '/desktop/printerConfiguration', component: PrinterConfiguration },
      { path: '/desktop/deviceManagement', component: DeviceManagement },
      { path: '/desktop/deviceTimingSwitcher', component: DeviceTimingSwitcher },
      { path: '/desktop/operationLog', component: OperationLog },
      { path: '/desktop/viewEdit', component: ViewEdit },
      { path: '/loginNode', component: LoginNode },
      { path: '/loginGraphic', component: LoginGraphic },
      { path: '/desktop/testPc', component: TestPc },
      { path: '/desktop/useEditorTest', component: UseEditorTest },
      // 发起审批（动态表单）
      { path: '/desktop/launch', component: LaunchApproval },
      // 表单管理
      { path: '/desktop/formManage', component: FormManage },
      // 表单中心
      { path: '/desktop/formCenter', component: FormCenter },

    ],
  },
];