廖井涛
2024-01-22 2ad00b6623beac3b504105beba9cb56143f7db13
north-glass-erp/northglass-erp/src/router/index.js
New file
@@ -0,0 +1,840 @@
import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      //component: HomeView
      component: () => import('../views/LoginView.vue')
    },
    {
      path: '/login',
      name: 'login',
      component: () => import('../views/LoginView.vue')
    },
    {
      path: '/main',
      name: 'main',
      component: () => import('../layout/MainErpView.vue'),
      children:[
          //sd模块
        {
          path: 'product',//产品
          name: 'product',
          component: () => import('../views/sd/product/Product.vue'),
          children:[
            {
              path: 'createProduct',
              name: 'createProduct',
              component: () => import('../views/sd/product/CreateProduct.vue')
            },
            {
              path: 'selectProduct',
              name: 'selectProduct',
              component: () => import('../views/sd/product/SelectProduct.vue')
            },
            {
              path: 'test',
              name: 'test',
              component: () => import('../views/sd/product/Test.vue')
            },
            {
              path: 'test1',
              name: 'test1',
              component: () => import('../views/sd/product/Test11.vue')
            },
            {
              path: 'testSort',
              name: 'testSort',
              component: () => import('../views/sd/product/testSort.vue')
            },
            {
              path: '',
              redirect:'/main/product/selectProduct'
            }
          ]
        },
        {
          path: 'order',//订单
          name: 'order',
          component: () => import('../views/sd/order/Order.vue'),
          children:[
            {
              path: 'selectOrder',
              name: 'selectOrder',
              component: () => import('../views/sd/order/SelectOrder.vue'),
            },
            {
              path: 'createOrder',
              name: 'createOrder',
              component: () => import('../views/sd/order/CreateOrder.vue'),
            },
            {
              path: 'updateOrderCraft',
              name: 'updateOrderCraft',
              component: () => import('../views/sd/order/UpdateOrderCraft.vue'),
            },
            {
              path: 'orderReport',
              name: 'orderReport',
              component: () => import('../views/sd/order/OrderReport.vue'),
            },
            {
              path: '',
              redirect:'/main/order/SelectOrder'
            }
          ]
        },
        {
          path: 'delivery',//发货
          name: 'delivery',
          component: () => import('../views/sd/delivery/Delivery.vue'),
          children: [
            {
              path: 'selectDelivery',
              name: 'selectDelivery',
              component: () => import('../views/sd/delivery/SelectDelivery.vue'),
            },
            {
              path: 'selectOrderList',
              name: 'selectOrderList',
              component: () => import('../views/sd/delivery/SelectOrderList.vue'),
            },
            {
              path: 'deliveryReport',
              name: 'deliveryReport',
              component: () => import('../views/sd/delivery/DeliveryReport.vue'),
            },
            {
              path: 'createDelivery',
              name: 'createDelivery',
              component: () => import('../views/sd/delivery/CreateDelivery.vue'),
            },
            {
              path: '',
              redirect:'/main/delivery/selectDelivery'
            }
          ]
        },
        {
          path: 'returns',//退货
          name: 'returns',
          component: () => import('../views/sd/returns/Returns.vue'),
          children: [
            {
              path: '',
              redirect:'/main/returns/selectReturns'
            },
            {
              path: 'selectReturns',
              name: 'selectReturns',
              component: () => import('../views/sd/returns/SelectReturns.vue'),
            },
            {
              path: 'createReturns',
              name: 'createReturns',
              component: () => import('../views/sd/returns/CreateReturns.vue'),
            },
            {
              path: 'selectDeliveryList',
              name: 'selectDeliveryList',
              component: () => import('../views/sd/returns/SelectDeliveryList.vue'),
            },
            {
              path: 'returnsReport',
              name: 'returnsReport',
              component: () => import('../views/sd/returns/ReturnsReport.vue'),
            }
          ]
        },
        {
          path: 'customer',//客户
          name: 'customer',
          component: () => import('../views/sd/customer/Customer.vue'),
          children: [
            {
              path: '',
              redirect:'/main/customer/selectCustomer'
            },
            {
              path: 'selectCustomer',
              name: 'selectCustomer',
              component: () => import('../views/sd/customer/SelectCustomer.vue'),
            },
            {
              path: 'createCustomer',
              name: 'createCustomer',
              component: () => import('../views/sd/customer/CreateCustomer.vue'),
            }
          ]
        },
          //pp模块
        {
          //工单管理
          path: 'workOrder',
          name: 'workOrder',
          component: () => import('../views/pp/workOrder/WorkOrder.vue'),
          children:[
            {
              path: 'selectAddWorkOrder',
              name: 'selectAddWorkOrder',
              component: () => import('../views/pp/workOrder/SelectAddWorkOrder.vue'),
            },
            {
              path: 'releaseWorkOrder',
              name: 'releaseWorkOrder',
              component: () => import('../views/pp/workOrder/ReleaseWorkOrder.vue'),
            },
            {
              path: 'addWorkOrder',
              name: 'addWorkOrder',
              component: () => import('../views/pp/workOrder/AddWorkOrder.vue'),
            },
            {
              path: 'selectWorkOrder',
              name: 'selectWorkOrder',
              component: () => import('../views/pp/workOrder/SelectWorkOrder.vue'),
            },
            {
              path: '',
              redirect:'/main/workOrder/SelectWorkOrder'
            }
          ]
        },
        {
          //流程卡管理
          path: 'processCard',
          name: 'processCard',
          component: () => import('../views/pp/processCard/ProcessCard.vue'),
          children:[
            {
              path: 'addProcessCard',
              name: 'addProcessCard',
              component: () => import('../views/pp/processCard/AddProcessCard.vue'),
            },
            {
              path: 'printFlowCard',
              name: 'printFlowCard',
              component: () => import('../views/pp/processCard/PrintFlowCard.vue'),
            },
            {
              path: 'selectAddProcess',
              name: 'selectAddProcess',
              component: () => import('../views/pp/processCard/SelectAddProcess.vue'),
            },
            {
              path: 'selectPrintFlowCard',
              name: 'selectPrintFlowCard',
              component: () => import('../views/pp/processCard/SelectPrintFlowCard.vue'),
            },
            {
              path: 'selectProcessCard',
              name: 'selectProcessCard',
              component: () => import('../views/pp/processCard/SelectProcessCard.vue'),
            },
            {
              path: 'processCardDetails',
              name: 'processCardDetails',
              component: () => import('../views/pp/processCard/ProcessCardDetails.vue'),
            },
            {
              path: 'splittingDetails',
              name: 'splittingDetails',
              component: () => import('../views/pp/processCard/SplittingDetails.vue'),
            },
            {
              path: 'printProcess',
              name: 'printProcess',
              component: () => import('../views/pp/processCard/PrintProcess.vue'),
            },
            {
              path: 'productionScheduling',
              name: 'productionScheduling',
              component: () => import('../views/pp/processCard/ProductionScheduling.vue'),
            },
            {
              path: '',
              redirect:'/main/processCard/SelectProcessCard'
            }
          ]
        },
        {
          //报工管理
          path: 'reportingWorks',
          name: 'reportingWorks',
          component: () => import('../views/pp/reportingWorks/ReportingWorks.vue'),
          children:[
            {
              path: 'selectReportingWorks',
              name: 'selectReportingWorks',
              component: () => import('../views/pp/reportingWorks/SelectReportingWorks.vue'),
            },
            {
              path: 'addReportingWork',
              name: 'addReportingWork',
              component: () => import('../views/pp/reportingWorks/AddReportingWork.vue'),
            },
            {
              path: 'qualityInspectionReview',
              name: 'qualityInspectionReview',
              component: () => import('../views/pp/reportingWorks/QualityInspectionReview.vue'),
            },
            {
              path: 'reportingWorkDetail',
              name: 'reportingWorkDetail',
              component: () => import('../views/pp/reportingWorks/ReportingWorkDetail.vue'),
            },
            {
              path: 'qualityInReviewDetail',
              name: 'qualityInReviewDetail',
              component: () => import('../views/pp/reportingWorks/QualityInReviewDetail.vue'),
            },
            {
              path: '',
              redirect:'/main/reportingWorks/SelectReportingWorks'
            }
          ]
        },
        {
          //补片管理
          path: 'replenish',
          name: 'replenish',
          component: () => import('../views/pp/Replenish/Replenish.vue'),
          children:[
            {
              path: 'addReplenish',
              name: 'addReplenish',
              component: () => import('../views/pp/Replenish/AddReplenish.vue'),
            },
            {
              path: 'printReplenishFlowCard',
              name: 'printReplenishFlowCard',
              component: () => import('../views/pp/Replenish/PrintReplenishFlowCard.vue'),
            },
            {
              path: 'selectReplenish',
              name: 'selectReplenish',
              component: () => import('../views/pp/Replenish/SelectReplenish.vue'),
            },
            {
              path: '',
              redirect:'/main/Replenish/SelectReplenish'
            }
          ]
        },
        {
          //返工管理
          path: 'rework',
          name: 'rework',
          component: () => import('../views/pp/Rework/Rework.vue'),
          children:[
            {
              path: 'addRework',
              name: 'addRework',
              component: () => import('../views/pp/Rework/AddRework.vue'),
            },
            {
              path: 'selectRework',
              name: 'selectRework',
              component: () => import('../views/pp/Rework/SelectRework.vue'),
            },
            {
              path: '',
              redirect:'/main/Rework/SelectRework'
            }
          ]
        },
        {
          //BOM管理
          path: 'BOM',
          name: 'BOM',
          component: () => import('../views/pp/BOM/BOM.vue'),
          children:[
            {
              path: 'benchmarkBOM',
              name: 'benchmarkBOM',
              component: () => import('../views/pp/BOM/BenchmarkBOM.vue'),
            },
            {
              path: 'standardBOM',
              name: 'standardBOM',
              component: () => import('../views/pp/BOM/StandardBOM.vue'),
            },
            {
              path: 'orderBOM',
              name: 'orderBOM',
              component: () => import('../views/pp/BOM/OrderBOM.vue'),
            },
            {
              path: 'selectBOM',
              name: 'selectBOM',
              component: () => import('../views/pp/BOM/SelectBOM.vue'),
            },
            {
              path: 'orderBOMDetails',
              name: 'orderBOMDetails',
              component: () => import('../views/pp/BOM/OrderBOMDetails.vue'),
            },
            {
              path: 'standardBOMDetail',
              name: 'standardBOMDetail',
              component: () => import('../views/pp/BOM/StandardBOMDetail.vue'),
            },
            {
              path: '',
              redirect:'/main/BOM/SelectBOM'
            }
          ]
        },
        {
          //设备管理
          path: 'machine',
          name: 'machine',
          component: () => import('../views/pp/machine/Machine.vue'),
          children:[
            {
              path: 'selectMachine',
              name: 'selectMachine',
              component: () => import('../views/pp/machine/SelectMachine.vue'),
            },
            {
              path: 'addMachine',
              name: 'addMachine',
              component: () => import('../views/pp/machine/AddMachine.vue'),
            },
            {
              path: 'maintenanceAndRepair',
              name: 'maintenanceAndRepair',
              component: () => import('../views/pp/machine/MaintenanceAndRepair.vue'),
            },
            {
              path: 'addMaintenanceAndRepair',
              name: 'addMaintenanceAndRepair',
              component: () => import('../views/pp/machine/AddMaintenanceAndRepair.vue'),
            },
            {
              path: '',
              redirect:'/main/machine/SelectMachine'
            }
          ]
        },
        {
          //报表管理
          path: 'report',
          name: 'report',
          component: () => import('../views/pp/report/Report.vue'),
          children:[
            {
              //设备产量
              path: 'equipmentOutput',
              name: 'equipmentOutput',
              component: () => import('../views/pp/report/EquipmentOutput.vue'),
            },
            {
              //订单BOM
              path: 'orderBOMOutside',
              name: 'orderBOMOutside',
              component: () => import('../views/pp/report/OrderBOMOutside.vue'),
            },
            {
              //订单计划分解
              path: 'orderPlanDecomposition',
              name: 'orderPlanDecomposition',
              component: () => import('../views/pp/report/OrderPlanDecomposition.vue'),
            },
            {
              //工序待完成
              path: 'processToBeCompleted',
              name: 'processToBeCompleted',
              component: () => import('../views/pp/report/ProcessToBeCompleted.vue'),
            },
            {
              //生产进度
              path: 'productionSchedule',
              name: 'productionSchedule',
              component: () => import('../views/pp/report/ProductionSchedule.vue'),
            },
            {
              //流程卡进度
              path: 'processCardProgress',
              name: 'processCardProgress',
              component: () => import('../views/pp/report/ProcessCardProgress.vue'),
            },
            {
              //品质报表
              path: 'qualityReport',
              name: 'qualityReport',
              component: () => import('../views/pp/report/QualityReport.vue'),
            },
            {
              //原片领料报表
              path: 'rawMaterialRequisition',
              name: 'rawMaterialRequisition',
              component: () => import('../views/pp/report/RawMaterialRequisition.vue'),
            },
            {
              //分架明细
              path: 'splittingDetailsOutside',
              name: 'splittingDetailsOutside',
              component: () => import('../views/pp/report/SplittingDetailsOutside.vue'),
            },
            {
              //任务完成情况
              path: 'taskCompletionStatus',
              name: 'taskCompletionStatus',
              component: () => import('../views/pp/report/TaskCompletionStatus.vue'),
            },
            {
              //班组产量
              path: 'teamOutput',
              name: 'teamOutput',
              component: () => import('../views/pp/report/TeamOutput.vue'),
            },
            {
              //在制品报表
              path: 'workInProgress',
              name: 'workInProgress',
              component: () => import('../views/pp/report/WorkInProgress.vue'),
            },
            {
              //成品率报表
              path: 'yield',
              name: 'yield',
              component: () => import('../views/pp/report/Yield.vue'),
            },
            {
              //次破报表
              path: 'damageReport',
              name: 'damageReport',
              component: () => import('../views/pp/report/DamageReport.vue'),
            },
            // {
            //   path: '',
            //   redirect:'/main/report/ProductionSchedule'
            // }
          ]
        },
          //mm模块
        {
          path: 'productStock',
          name: 'productStock',
          component: () => import('../views/mm/mainProductStock/ProductStock.vue'),
          children:[
            {
              // 成品库存
              path: 'productStockList',
              name: 'productStockList',
              component: () => import('../views/mm/mainProductStock/ProductStockList.vue'),
            },
            {
              // 成品入库
              path: 'createProductStock',
              name: 'createProductStock',
              component:()=>   import('../views/mm/mainProductStock/CreateProductStock.vue'),
            },
            {
              // 成品出库
              path: 'finishedProductOut',
              name: 'finishedProductOut',
              component:()=>import('../views/mm/mainProductStock/FinishedProductOut.vue')
            },
            {
              // 成品出库
              path: 'finishedProductReturn',
              name: 'finishedProductReturn',
              component:()=>import('../views/mm/mainProductStock/FinishedProductReturn.vue')
            },
            {
              // 订单调拨
              path: 'orderAllocation',
              name: 'orderAllocation',
              component:()=>import('../views/mm/mainProductStock/OrderAllocation.vue'),
            },
            {
              // 成品领出
              path: 'finishedGoodsIssue',
              name: 'finishedGoodsIssue',
              component:()=>import('../views/mm/mainProductStock/FinishedGoodsIssue.vue'),
            },
            {
              // 成品返工
              path: 'finishedProductRework',
              name: 'finishedProductRework',
              component:()=>import('../views/mm/mainProductStock/FinishedProductRework.vue'),
            },
            {
              // 调拨记录
              path: 'transferRecord',
              name: 'transferRecord',
              component:()=>import('../views/mm/mainProductStock/TransferRecord.vue'),
            },
            {
              // 领出记录
              path: 'takeOutRecord',
              name: 'takeOutRecord',
              component:()=>import('../views/mm/mainProductStock/TakeOutRecord.vue'),
            },
            {
              // 返工记录
              path: 'reworkRecord',
              name: 'reworkRecord',
              component:()=>import('../views/mm/mainProductStock/ReworkRecord.vue'),
            },
            {
              path: '',
              redirect:'/main/productStock/ProductStockList'
            }
          ]
        },
        {
          // 物料资料
          path:'ingredients',
          name:'ingredients',
          component: () => import('../views/mm/mainIngredient/Ingredients.vue'),
          children:[
            {
              path: 'selectIngredients',
              name: 'selectIngredients',
              component:()=>import('../views/mm/mainIngredient/SelectIngredients.vue')
            },
            {
              path: 'createIngredients',
              name: 'createIngredients',
              component:()=>import('../views/mm/mainIngredient/CreateIngredients.vue')
            },
            {
              path: '',
              redirect:'/main/ingredients/SelectIngredients'
            }
          ]
        },
        {
          // 物料库存
          path:'ingredientsStock',
          name:'ingredientsStock',
          component: () => import('../views/mm/mainIngredientStock/IngredientsStock.vue'),
          children:[
            {
              path: 'selectIngredientsStock',
              name: 'selectIngredientsStock',
              component:()=>import('../views/mm/mainIngredientStock/SelectIngredientsStock.vue')
            },
            {
              path: 'accessoriesMonthlySettlement',
              name: 'accessoriesMonthlySettlement',
              component:()=>import('../views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue')
            },
            {
              path: 'originalMonthlySettlement',
              name: 'originalMonthlySettlement',
              component:()=>import('../views/mm/mainIngredientStock/OriginalMonthlySettlement.vue')
            },
            //   物料出库
            {
              path: 'materialOutbound',
              name: 'materialOutbound',
              component:()=>import('../views/mm/mainIngredientStock/MaterialOutbound.vue')
            },
              //出库新增
            {
              path:'createOutBound',
              name:'createOutBound',
              component:()=>import('../views/mm/mainIngredientStock/CreateOutBound.vue')
            },
            //返库
            {
              path:'returnToStorage',
              name:'returnToStorage',
              component:()=>import('../views/mm/mainIngredientStock/ReturnToStorage.vue')
            },
            //返库新增
            {
              path:'returnToStorageCreate',
              name:'returnToStorageCreate',
              component:()=>import('../views/mm/mainIngredientStock/ReturnToStorageCreate.vue')
            },
            {
              path: '',
              redirect:'/main/ingredientsStock/SelectIngredientsStock'
            }
          ]
        },
        {
          // 供应商管理!!!
          path:'trader',
          name:'trader',
          component: () => import('../views/mm/mainTrader/Trader.vue'),
          children:[
            {
              path: 'selectTrader',
              name: 'selectTrader',
              component:()=>import('../views/mm/mainTrader/SelectTrader.vue')
            },
            {
              path: 'createTrader',
              name: 'createTrader',
              component:()=>import('../views/mm/mainTrader/CreateTrader.vue')
            },
            {
              path: '',
              redirect:'/main/trader/SelectTrader'
            }
          ]
        },
        /*------------- sunshiqiang Add --*/
        {
          /*----------- 仓储报表 ----------------*/
          path: 'stockReport',
          name: 'stockReport',
          component: () => import('../views/mm/stockReport/stockReport.vue'),
          children:[
            {
              path: 'WarehouseReport',
              name: 'WarehouseReport',
              component: () => import('../views/mm/stockReport/WarehouseReport.vue'),
            }, {
              path: 'StockMonthReport',
              name: 'StockMonthReport',
              component: () => import('../views/mm/stockReport/StockMonthReport.vue'),
            }, {
              path: 'SubsidiaryMonthReport',
              name: 'SubsidiaryMonthReport',
              component: () => import('../views/mm/stockReport/SubsidiaryMonthReport.vue'),
            },
            /*----------- 新增 ----------------*/
            {
              path: 'StockWarehouseReport',
              name: 'StockWarehouseReport',
              component: () => import('../views/mm/stockReport/StockWarehouseReport.vue'),
            }, {
              path: '',
              redirect: '/main/stockReport/WarehouseReport'
            }
          ]
        },
        {
          /*----------- 采购订单 ----------------*/
          path: 'purchaseOrder',
          name: 'purchaseOrder',
          component: () => import('../views/mm/purchaseOrder/PurchaseOrder.vue'),
          children: [
            {
              path: 'SelectPurchaseOrder',
              name: 'SelectPurchaseOrder',
              component: () => import('../views/mm/purchaseOrder/Select.vue'),
            }, {
              path: 'CreatePurchaseOrder',
              name: 'CreatePurchaseOrder',
              component: () => import('../views/mm/purchaseOrder/Create.vue')
            },
            /*----------- 新增 ----------------*/
            {
              path: 'PaymentPurchaseOrder',
              name: 'PaymentPurchaseOrder',
              component: () => import('../views/mm/purchaseOrder/Payment.vue')
            },
            /*----------- 退货 ----------------*/
            {
              path: 'ReturnPurchaseOrder',
              name: 'ReturnPurchaseOrder',
              component: () => import('../views/mm/purchaseOrder/Return.vue')
            },
            /*----------- 入库 ----------------*/
            {
              path: 'StoragePurchaseOrder',
              name: 'StoragePurchaseOrder',
              component: () => import('../views/mm/purchaseOrder/Storage.vue')
            },
            {
              path: '',
              redirect: '/main/purchaseOrder/SelectPurchaseOrder'
            }
          ]
        },
        {
          /*----------- 采购入库 ----------------*/
          path: 'purchaseStorage',
          name: 'purchaseStorage',
          component: () => import('../views/mm/purchaseStorage/PurchaseStorage.vue'),
          children: [
            {
              path: 'SelectPurchaseStorage',
              name: 'SelectPurchaseStorage',
              component: () => import('../views/mm/purchaseStorage/Select.vue'),
            },
            {
              path: '',
              redirect: '/main/purchaseStorage/SelectPurchaseStorage'
            }
          ]
        },
        {
          /*----------- 采购退货 ----------------*/
          path: 'purchaseReturn',
          name: 'purchaseReturn',
          component: () => import('../views/mm/purchaseReturn/PurchaseReturn.vue'),
          children: [
            {
              path: 'SelectPurchaseReturn',
              name: 'SelectPurchaseReturn',
              component: () => import('../views/mm/purchaseReturn/Select.vue'),
            },
            {
              path: '',
              redirect: '/main/purchaseReturn/SelectPurchaseReturn'
            }
          ]
        },
        {
          path: '',
          redirect:'/main/order'
        }
      ]
    },
    {
      path: '/register',
      name: 'register',
      component: () => import('../views/RegisterView.vue')
    }
  ]
})
export default router