/**
 * @author https://vue-admin-beautiful.com (不想保留author可删除)
 * @description router全局配置,如有必要可分文件抽离,其中asyncRoutes只有在intelligence模式下才会用到,vip文档中已提供路由的基础图标与小清新图标的配置方案,请仔细阅读
 */

import Vue from 'vue'
import VueRouter from 'vue-router'
import Layout from '@/layouts'
import EmptyLayout from '@/layouts/EmptyLayout'
import { publicPath, routerMode } from '@/config'

Vue.use(VueRouter)
export const constantRoutes = [
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true,
  },
  {
    path: '/register',
    component: () => import('@/views/register/index'),
    hidden: true,
  },
  {
    path: '/401',
    name: '401',
    component: () => import('@/views/401'),
    hidden: true,
  },
  {
    path: '/404',
    name: '404',
    component: () => import('@/views/404'),
    hidden: true,
  },
]

export const asyncRoutes = [
  {
    path: '/',
    component: Layout,
    redirect: '/index',
    children: [
      {
        path: 'index',
        name: 'Index',
        component: () => import('@/views/index/index'),
        meta: {
          title: '首页',
          icon: 'home',
          affix: true,
        },
      },
    ],
  },
  /* {
	  path: "/test",
	  component: Layout,
	  redirect: "noRedirect",
	  children: [
	    {
	      path: "test",
	      name: "Test",
	      component: () => import("@/views/test/index"),
	      meta: {
	        title: "test",
	        icon: "marker",
	        permissions: ["admin"],
	      },
	    },
	  ],
	}, */

  {
    path: '/vab',
    component: Layout,
    redirect: 'noRedirect',
    name: 'Vab',
    alwaysShow: true,
    meta: {
      title: '用户中心',
      icon: 'star',
    },
    children: [
      {
        path: 'accountProtection',
        name: 'accountProtection',
        component: () => import('@/views/vab/accountProtection/index'),
        meta: {
          title: '供应商子账号维护',
          icon: 'user',
        },
      },
      {
        path: 'payRecord',
        name: 'payRecord',
        component: () => import('@/views/vab/payRecord/index'),
        meta: {
          title: '支付记录',
          icon: 'yen-sign',
        },
      },
      // {
      //   path: 'icon',
      //   component: EmptyLayout,
      //   redirect: 'noRedirect',
      //   name: 'Icon',
      //   meta: {
      //     title: '图标',
      //     permissions: ['admin'],
      //   },
      //   children: [
      //     {
      //       path: 'awesomeIcon',
      //       name: 'AwesomeIcon',
      //       component: () => import('@/views/vab/icon/index'),
      //       meta: { title: '常规图标' },
      //     },
      //     {
      //       path: 'colorfulIcon',
      //       name: 'ColorfulIcon',
      //       component: () => import('@/views/vab/icon/colorfulIcon'),
      //       meta: { title: '多彩图标' },
      //     },
      //   ],
      // },
      // {
      //   path: 'table',
      //   component: () => import('@/views/vab/table/index'),
      //   name: 'Table',
      //   meta: {
      //     title: '表格',
      //     permissions: ['admin'],
      //   },
      // },
      // {
      //   path: 'map',
      //   component: () => import('@/views/vab/map/index'),
      //   name: 'Map',
      //   meta: {
      //     title: '地图',
      //     permissions: ['admin'],
      //   },
      // },

      // {
      //   path: 'webSocket',
      //   name: 'WebSocket',
      //   component: () => import('@/views/vab/webSocket/index'),
      //   meta: { title: 'webSocket', permissions: ['admin'] },
      // },
      // {
      //   path: 'form',
      //   name: 'Form',
      //   component: () => import('@/views/vab/form/index'),
      //   meta: { title: '表单', permissions: ['admin'] },
      // },
      // {
      //   path: 'element',
      //   name: 'Element',
      //   component: () => import('@/views/vab/element/index'),
      //   meta: { title: '常用组件', permissions: ['admin'] },
      // },
      // {
      //   path: 'tree',
      //   name: 'Tree',
      //   component: () => import('@/views/vab/tree/index'),
      //   meta: { title: '树', permissions: ['admin'] },
      // },
      // {
      //   path: 'verify',
      //   name: 'Verify',
      //   component: () => import('@/views/vab/verify/index'),
      //   meta: { title: '验证码', permissions: ['admin'] },
      // },
      // {
      //   path: 'menu1',
      //   component: () => import('@/views/vab/nested/menu1/index'),
      //   name: 'Menu1',
      //   alwaysShow: true,
      //   meta: {
      //     title: '嵌套路由 1',
      //     permissions: ['admin'],
      //   },
      //   children: [
      //     {
      //       path: 'menu1-1',
      //       name: 'Menu1-1',
      //       alwaysShow: true,
      //       meta: { title: '嵌套路由 1-1' },
      //       component: () => import('@/views/vab/nested/menu1/menu1-1/index'),

      //       children: [
      //         {
      //           path: 'menu1-1-1',
      //           name: 'Menu1-1-1',
      //           meta: { title: '嵌套路由 1-1-1' },
      //           component: () =>
      //             import('@/views/vab/nested/menu1/menu1-1/menu1-1-1/index'),
      //         },
      //       ],
      //     },
      //   ],
      // },
      // {
      //   path: 'magnifier',
      //   name: 'Magnifier',
      //   component: () => import('@/views/vab/magnifier/index'),
      //   meta: { title: '放大镜', permissions: ['admin'] },
      // },
      // {
      //   path: 'loading',
      //   name: 'Loading',
      //   component: () => import('@/views/vab/loading/index'),
      //   meta: { title: 'loading', permissions: ['admin'] },
      // },
      // {
      //   path: 'player',
      //   name: 'Player',
      //   component: () => import('@/views/vab/player/index'),
      //   meta: { title: '视频播放器', permissions: ['admin'] },
      // },
      // {
      //   path: 'markdownEditor',
      //   name: 'MarkdownEditor',
      //   component: () => import('@/views/vab/markdownEditor/index'),
      //   meta: { title: 'markdown编辑器', permissions: ['admin'] },
      // },
      // {
      //   path: 'editor',
      //   name: 'Editor',
      //   component: () => import('@/views/vab/editor/index'),
      //   meta: {
      //     title: '富文本编辑器',
      //     permissions: ['admin'],
      //     badge: 'New',
      //   },
      // },
      // {
      //   path: 'backToTop',
      //   name: 'BackToTop',
      //   component: () => import('@/views/vab/backToTop/index'),
      //   meta: { title: '返回顶部', permissions: ['admin'] },
      // },
      // {
      //   path: 'lodash',
      //   name: 'Lodash',
      //   component: () => import('@/views/vab/lodash/index'),
      //   meta: { title: 'lodash', permissions: ['admin'] },
      // },
      // {
      //   path: 'smallComponents',
      //   name: 'SmallComponents',
      //   component: () => import('@/views/vab/smallComponents/index'),
      //   meta: { title: '小组件', permissions: ['admin'] },
      // },

      // {
      //   path: 'upload',
      //   name: 'Upload',
      //   component: () => import('@/views/vab/upload/index'),
      //   meta: { title: '上传', permissions: ['admin'] },
      // },
      // {
      //   path: 'log',
      //   name: 'Log',
      //   component: () => import('@/views/vab/errorLog/index'),
      //   meta: { title: '错误日志模拟', permissions: ['admin'] },
      // },
      // {
      //   path: 'https://github.com/chuzhixin/vue-admin-beautiful?utm_source=gold_browser_extension',
      //   name: 'ExternalLink',
      //   meta: {
      //     title: '外链',
      //     target: '_blank',
      //     permissions: ['admin', 'editor'],
      //     badge: 'New',
      //   },
      // },
      // {
      //   path: 'more',
      //   name: 'More',
      //   component: () => import('@/views/vab/more/index'),
      //   meta: { title: '关于', permissions: ['admin'] },
      // },
    ],
  },
  {
    path: '/layout',
    component: Layout,
    redirect: 'noRedirect',
    name: 'layout',
    alwaysShow: true,
    meta: {
      title: '采购订单获取',
      icon: 'box-open',
    },
    children: [
      {
        path: 'directOrder',
        name: 'directOrder',
        component: () => import('@/views/vab/directOrder/index'),
        meta: {
          title: '直送订单',
          icon: 'book-open',
        },
      },
      {
        path: 'payRecord',
        name: 'payRecord',
        component: () => import('@/views/vab/getOrder/index'),
        meta: {
          title: '订单获取',
          icon: 'dot-circle',
        },
      },
      {
        path: 'orderProgress',
        name: 'orderProgress',
        component: () => import('@/views/vab/orderProgress/index'),
        meta: {
          title: '订单进度跟踪',
          icon: 'file-signature',
        },
      },
      {
        path: 'orderDownload',
        name: 'orderDownload',
        component: () => import('@/views/vab/orderDownload/index'),
        meta: {
          title: '订单批量下载',
          icon: 'file-download',
        },
      },
    ],
  },
  {
    path: '/personnelManagement',
    component: Layout,
    redirect: 'noRedirect',
    name: 'personnelManagement',
    alwaysShow: true,
    meta: {
      title: '供应商对账',
      icon: 'box-open',
    },
    children: [
      {
        path: 'profitQuery',
        name: 'profitQuery',
        component: () => import('@/views/vab/profitQuery/index'),
        meta: {
          title: '返利汇总查询',
          icon: 'search',
        },
      },
      {
        path: 'profitDetailsQuery',
        name: 'profitDetailsQuery',
        component: () => import('@/views/vab/profitDetailsQuery/index'),
        meta: {
          title: '返利明细直询',
          icon: 'search',
        },
      },
      {
        path: 'billQuery',
        name: 'billQuery',
        component: () => import('@/views/vab/billQuery/index'),
        meta: {
          title: '对账单直询',
          icon: 'search',
        },
      },
      {
        path: 'billDetailsQuery',
        name: 'billDetailsQuery',
        component: () => import('@/views/vab/billDetailsQuery/index'),
        meta: {
          title: '对账单明细查询',
          icon: 'search',
        },
      },
      {
        path: 'supplierInvoicing',
        name: 'supplierInvoicing',
        component: () => import('@/views/vab/supplierInvoicing/index'),
        meta: {
          title: '供应商开票申请',
          icon: 'paper-plane',
        },
      },
      {
        path: 'supplierInvoicingQuery',
        name: 'supplierInvoicingQuery',
        component: () => import('@/views/vab/supplierInvoicingQuery/index'),
        meta: {
          title: '供应商发票查询',
          icon: 'search',
        },
      },
      {
        path: 'accountInfoConfirm',
        name: 'accountInfoConfirm',
        component: () => import('@/views/vab/accountInfoConfirm/index'),
        meta: {
          title: '供应商账务信息确认',
          icon: 'search',
        },
      },
    ],
  },
  // {
  //   path: '/personnelManagement',
  //   component: Layout,
  //   redirect: 'noRedirect',
  //   name: 'PersonnelManagement',
  //   meta: { title: '配置', icon: 'users-cog', permissions: ['admin'] },
  //   children: [
  //     {
  //       path: 'userManagement',
  //       name: 'UserManagement',
  //       component: () =>
  //         import('@/views/personnelManagement/userManagement/index'),
  //       meta: { title: '用户管理' },
  //     },
  //     {
  //       path: 'roleManagement',
  //       name: 'RoleManagement',
  //       component: () =>
  //         import('@/views/personnelManagement/roleManagement/index'),
  //       meta: { title: '角色管理' },
  //     },
  //     {
  //       path: 'menuManagement',
  //       name: 'MenuManagement',
  //       component: () =>
  //         import('@/views/personnelManagement/menuManagement/index'),
  //       meta: { title: '菜单管理', badge: 'New' },
  //     },
  //   ],
  // },
  // {
  //   path: '/mall',
  //   component: Layout,
  //   redirect: 'noRedirect',
  //   name: 'Mall',
  //   meta: {
  //     title: '商城',
  //     icon: 'shopping-cart',
  //     permissions: ['admin'],
  //   },

  //   children: [
  //     {
  //       path: 'pay',
  //       name: 'Pay',
  //       component: () => import('@/views/mall/pay/index'),
  //       meta: {
  //         title: '支付',
  //         noKeepAlive: true,
  //       },
  //       children: null,
  //     },
  //     {
  //       path: 'goodsList',
  //       name: 'GoodsList',
  //       component: () => import('@/views/mall/goodsList/index'),
  //       meta: {
  //         title: '商品列表',
  //       },
  //     },
  //   ],
  // },
  // {
  //   path: '/error',
  //   component: EmptyLayout,
  //   redirect: 'noRedirect',
  //   name: 'Error',
  //   meta: { title: '错误页', icon: 'bug' },
  //   children: [
  //     {
  //       path: '401',
  //       name: 'Error401',
  //       component: () => import('@/views/401'),
  //       meta: { title: '401' },
  //     },
  //     {
  //       path: '404',
  //       name: 'Error404',
  //       component: () => import('@/views/404'),
  //       meta: { title: '404' },
  //     },
  //   ],
  // },
  // {
  //   path: '*',
  //   redirect: '/404',
  //   hidden: true,
  // },
]

const router = new VueRouter({
  base: publicPath,
  mode: routerMode,
  scrollBehavior: () => ({
    y: 0,
  }),
  routes: constantRoutes,
})

export function resetRouter() {
  location.reload()
}

export default router