finance.ts 4.62 KB
import type { AppRouteModule } from '/@/router/types';

import { LAYOUT } from '/@/router/constant';
import { t } from '/@/hooks/web/useI18n';
import { RoleEnum } from '/@/enums/roleEnum';

const finance: AppRouteModule = {
  path: '/finance',
  name: 'Finance',
  component: LAYOUT,
  redirect: '/finance/financeList',
  meta: {
    hideChildrenInMenu: false,
    orderNo: 3,
    icon: 'ant-design:pay-circle-outlined',
    title: '财务管理',
    roles: [
      RoleEnum.ADMIN,
      RoleEnum.FINANCE,
      RoleEnum.TRACKER,
      RoleEnum.BUSINESS,
      RoleEnum.PRODUCE,
    ],
  },
  children: [
    //   {
    //     path: '',
    //     name: 'Receive',
    //     meta: {
    //       title: '财务管理',
    //       roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
    //       ignoreKeepAlive: false,
    //     },
    //     // component: () => import('/@/views/project/finance/index.vue'),
    //   },
    {
      path: 'financeList',
      name: 'financeList',
      meta: {
        title: '应收款应付款管理',
        roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
        ignoreKeepAlive: false,
      },
      component: () => import('/@/views/project/finance/financeList/index.vue'),
    },
    {
      path: 'financeProfit',
      name: 'FinanceProfit',
      meta: {
        title: '净利润分析',
        ignoreKeepAlive: true,
        roles: [
          RoleEnum.ADMIN,
          RoleEnum.FINANCE,
          // RoleEnum.TRACKER,
          // RoleEnum.BUSINESS,
          // RoleEnum.PRODUCE,
          // RoleEnum.DATA_REPORT_USER,
        ],
      },
      children: [
        //   {
        //     path: '',
        //     name: 'Receive',
        //     meta: {
        //       title: '财务管理',
        //       roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
        //       ignoreKeepAlive: false,
        //     },
        //     // component: () => import('/@/views/project/finance/index.vue'),
        //   },
        {
          path: 'serviceProfit',
          name: 'ServiceProfit',
          meta: {
            title: '业务研发净利润分析',
            roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
            ignoreKeepAlive: false,
          },
          children: [
            {
              path: 'ServiceProfit',
              name: 'ServiceProfit',
              meta: {
                title: '业务研发净利润分析表',
                roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
                ignoreKeepAlive: false,
              },
              component: () =>
                import(
                  '/@/views/project/finance/financeProfit/ServiceProfit/ServiceProfit/index.vue'
                ),
            },
            {
              path: 'PackageProfit',
              name: 'PackageProfit',
              meta: {
                title: '包装费用明细表',
                roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
                ignoreKeepAlive: false,
              },
              component: () =>
                import(
                  '/@/views/project/finance/financeProfit/ServiceProfit/PackageProfit/index.vue'
                ),
            },
          ],
        },
        {
          path: 'ProductProfit',
          name: 'ProductProfit',
          meta: {
            title: '内部生产净利润分析',
            roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
            ignoreKeepAlive: false,
          },
          children: [
            {
              path: 'InnerData',
              name: 'InnerData',
              meta: {
                title: '内部生产净利润分析表',
                roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
                ignoreKeepAlive: false,
              },
              component: () =>
                import(
                  '/@/views/project/finance/financeProfit/ProductProfit/InnerProduce/index.vue'
                ),
            },
            {
              path: 'InnerProduce',
              name: 'InnerProduce',
              meta: {
                title: '内部生产明细表',
                roles: [RoleEnum.ADMIN, RoleEnum.FINANCE, RoleEnum.TRACKER, RoleEnum.BUSINESS],
                ignoreKeepAlive: false,
              },
              component: () =>
                import('/@/views/project/finance/financeProfit/ProductProfit/InnerData/index.vue'),
            },
          ],
        },
      ],
    },
  ],
};

export default finance;