From fec9f42e00f2df68a2a20cbf132b17bdeed8e63a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 25 八月 2025 09:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 north-glass-erp/northglass-erp/src/router/index.js |  363 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 301 insertions(+), 62 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index 8a9a1b8..3fdcb5d 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -84,6 +84,61 @@
           ]
         },
 
+        {
+          path:'glassPrice',
+          name: 'glassPrice',
+          component: () => import('../views/sd/glassPrice/GlassPrice.vue'),
+          children:[
+            {
+              path: 'producePriceCompute',
+              name: 'producePriceCompute',
+              component: () => import('../views/sd/glassPrice/ProducePriceCompute.vue')
+            },
+            {
+              path: 'glassPriceSet',
+              name: 'glassPriceSet',
+              component: () => import('../views/sd/glassPrice/GlassPriceSet.vue')
+            },
+            {
+              path: 'glassPriceList',
+              name: 'glassPriceList',
+              component: () => import('../views/sd/glassPrice/GlassPriceList.vue')
+            },
+            {
+              name: 'GlassPrice1',
+              path: '',
+              redirect:'/main/glassPrice/producePriceCompute'
+            }
+          ]
+        },
+          //bom妯″潡
+        {
+          path:'bom',
+          name: 'bom',
+          component: () => import('../views/sd/bom/BOM.vue'),
+          children:[
+            {
+              path: 'materialBOM',
+              name: 'materialBOM',
+              component: () => import('../views/sd/bom/MaterialBOM.vue')
+            },
+            {
+              path: 'productBOM',
+              name: 'productBOM',
+              component: () => import('../views/sd/bom/ProductBOM.vue')
+            },
+            {
+              path: 'orderBOM',
+              name: 'orderBOM',
+              component: () => import('../views/sd/bom/OrderBOM.vue')
+            },
+            {
+              name: 'bom1',
+              path: '',
+              redirect:'/main/bom/orderBOM'
+            }
+          ]
+        },
 
           //sd妯″潡
         {
@@ -160,6 +215,11 @@
               path: 'createOrder',
               name: 'createOrder',
               component: () => import('../views/sd/order/CreateOrder.vue'),
+            },
+            {
+              path: 'createOrder2',
+              name: 'createOrder2',
+              component: () => import('../views/sd/order/CreateOrder2.vue'),
             },
             {
               path: 'updateOrderCraft',
@@ -293,6 +353,53 @@
 
           //pp妯″潡
         {
+          //鐜荤拑浼樺寲
+          path: 'glassOptimize',
+          name: 'glassOptimize',
+          component: () => import('../views/pp/glassOptimize/Optimize.vue'),
+          children:[
+            {
+              path: 'optimizeProject',
+              name: 'optimizeProject',
+              component: () => import('../views/pp/glassOptimize/OptimizeProject.vue'),
+            },
+            {
+              path: 'optimizePrint',
+              name: 'optimizePrint',
+              component: () => import('../views/pp/glassOptimize/OptimizePrint.vue'),
+            },
+            {
+              path: 'OptimizationRectPrint',
+              name: 'OptimizationRectPrint',
+              component: () => import('../views/pp/glassOptimize/OptimizationRectPrint.vue'),
+            },
+            {
+              path: 'OptimizeControl',
+              name: 'OptimizeControl',
+              component: () => import('../views/pp/glassOptimize/OptimizeControl.vue'),
+            },
+            {
+              path: 'Optimization',
+              name: 'Optimization',
+              component: () => import('../views/pp/glassOptimize/Optimization.vue'),
+            },
+            {
+              path: 'optimizeparms',
+              name: 'optimizeparms',
+              component: () => import('../views/pp/glassOptimize/OptimizeParms.vue'),
+            },
+            {
+              path: '/optimizeProject/:projectNo/:thickNess/:model/:quantity/:area/:optimizeState',
+              name: 'optimizeInfo',
+              component: () => import('../views/pp/glassOptimize/OptimizeProject.vue')
+            },
+            {
+              path: '',
+              redirect:'/main/glassOptimize/optimizeProject'
+            }
+          ]
+        },
+        {
           //宸ュ崟绠$悊
           path: 'workOrder',
           name: 'workOrder',
@@ -321,7 +428,7 @@
             },
             {
               path: '',
-              redirect:'/main/workOrder/SelectWorkOrder'
+              redirect:'/main/workOrder/selectWorkOrder'
             }
           ]
 
@@ -429,8 +536,33 @@
               component: () => import('../components/pp/SelectSortDetailProcessCard.vue'),
             },
             {
+              path: 'printFlowCardDetails',
+              name: 'printFlowCardDetails',
+              component: () => import('../views/pp/processCard/PrintFlowCardDetails.vue'),
+            },
+            {
+              path: 'printCustomLabelDetails',
+              name: 'printCustomLabelDetails',
+              component: () => import('../components/pp/PrintCustomLabelDetails.vue'),
+            },
+            {
+              path: 'selectSortTable',
+              name: 'selectSortTable',
+              component: () => import('../components/pp/SelectSortTable.vue'),
+            },
+            {
+              path: 'printProjectDetails',
+              name: 'printProjectDetails',
+              component: () => import('../views/pp/processCard/PrintProjectDetails.vue'),
+            },
+            {
+              path: 'TagStyleDesigner',
+              name: 'TagStyleDesigner',
+              component: () => import('../components/pp/TagStyleDesigner.vue'),
+            },
+            {
               path: '',
-              redirect:'/main/processCard/SelectProcessCard'
+              redirect:'/main/processCard/selectProcessCard'
             }
           ]
 
@@ -470,7 +602,7 @@
             },
             {
               path: '',
-              redirect:'/main/reportingWorks/AddReportingWork'
+              redirect:'/main/reportingWorks/addReportingWork'
             }
           ]
         },
@@ -478,33 +610,33 @@
           //琛ョ墖绠$悊
           path: 'replenish',
           name: 'replenish',
-          component: () => import('../views/pp/Replenish/Replenish.vue'),
+          component: () => import('../views/pp/replenish/Replenish.vue'),
           children:[
 
             {
               path: 'addReplenish',
               name: 'addReplenish',
-              component: () => import('../views/pp/Replenish/AddReplenish.vue'),
+              component: () => import('../views/pp/replenish/AddReplenish.vue'),
             },
             {
               path: 'printReplenishFlowCard',
               name: 'printReplenishFlowCard',
-              component: () => import('../views/pp/Replenish/PrintReplenishFlowCard.vue'),
+              component: () => import('../views/pp/replenish/PrintReplenishFlowCard.vue'),
             },
             {
               path: 'selectReplenish',
               name: 'selectReplenish',
-              component: () => import('../views/pp/Replenish/SelectReplenish.vue'),
+              component: () => import('../views/pp/replenish/SelectReplenish.vue'),
             },
             {
               path: 'printRepairProcess',
               name: 'printRepairProcess',
-              component: () => import('../views/pp/Replenish/PrintRepairProcess.vue'),
+              component: () => import('../views/pp/replenish/PrintRepairProcess.vue'),
             },
             {
               path: 'printReplenishFlowCard',
               name: 'printReplenishFlowCard',
-              component: () => import('../views/pp/Replenish/PrintReplenishFlowCard.vue'),
+              component: () => import('../views/pp/replenish/PrintReplenishFlowCard.vue'),
             },
             {
               path: 'printRepairCustomLabelSemi',
@@ -518,7 +650,7 @@
             },
             {
               path: '',
-              redirect:'/main/Replenish/SelectReplenish'
+              redirect:'/main/replenish/selectReplenish'
             }
           ]
         },
@@ -556,11 +688,11 @@
             },
             {
               path: '',
-              redirect:'/main/Rework/SelectRework'
+              redirect:'/main/rework/selectRework'
             }
           ]
         },
-        {
+        /*{
           //BOM绠$悊
           path: 'BOM',
           name: 'BOM',
@@ -601,7 +733,7 @@
               redirect:'/main/BOM/SelectBOM'
             }
           ]
-        },
+        },*/
         {
           //璁惧绠$悊
           path: 'machine',
@@ -630,7 +762,7 @@
             },
             {
               path: '',
-              redirect:'/main/machine/SelectMachine'
+              redirect:'/main/machine/selectMachine'
             }
           ]
         },
@@ -657,6 +789,12 @@
               path: 'orderPlanDecomposition',
               name: 'orderPlanDecomposition',
               component: () => import('../views/pp/report/OrderPlanDecomposition.vue'),
+            },
+            {
+              //璁㈠崟鎶ュ伐
+              path: 'orderReportingWorks',
+              name: 'orderReportingWorks',
+              component: () => import('../views/pp/report/OrderReportingWorks.vue'),
             },
             {
               //宸ュ簭寰呭畬鎴�
@@ -711,6 +849,12 @@
               path: 'workInProgress',
               name: 'workInProgress',
               component: () => import('../views/pp/report/WorkInProgress.vue'),
+            },
+            {
+              //鍦ㄥ埗鍝佹眹鎬绘姤琛�
+              path: 'workInProgressCombination',
+              name: 'workInProgressCombination',
+              component: () => import('../views/pp/report/WorkInProgressCombination.vue'),
             },
             {
               //鎴愬搧鐜囨姤琛�
@@ -770,7 +914,7 @@
             },
             {
               path: '',
-              redirect:'/main/productionBasicData/SelectProductionBasicData'
+              redirect:'/main/productionBasicData/selectProductionBasicData'
             }
           ]
         },
@@ -781,78 +925,84 @@
         {
           path: 'productStock',
           name: 'productStock',
-          component: () => import('../views/mm/mainProductStock/ProductStock.vue'),
+          component: () => import('../views/mm/productStock/ProductStock.vue'),
           children:[
             {
               // 鎴愬搧搴撳瓨
               path: 'productStockList',
               name: 'productStockList',
-              component: () => import('../views/mm/mainProductStock/ProductStockList.vue'),
+              component: () => import('../views/mm/productStock/ProductStockList.vue'),
             },
             {
               // 鎴愬搧鍏ュ簱
               path: 'createProductStock',
               name: 'createProductStock',
-              component:()=>   import('../views/mm/mainProductStock/CreateProductStock.vue'),
+              component:()=>   import('../views/mm/productStock/CreateProductStock.vue'),
             },
             {
               // 鎴愬搧鍑哄簱
               path: 'finishedProductOut',
               name: 'finishedProductOut',
-              component:()=>import('../views/mm/mainProductStock/FinishedProductOut.vue')
+              component:()=>import('../views/mm/productStock/FinishedProductOut.vue')
             },
             {
               // 鎴愬搧鍑哄簱
               path: 'finishedProductReturn',
               name: 'finishedProductReturn',
-              component:()=>import('../views/mm/mainProductStock/FinishedProductReturn.vue')
+              component:()=>import('../views/mm/productStock/FinishedProductReturn.vue')
             },
             {
               // 璁㈠崟璋冩嫧
               path: 'orderAllocation',
               name: 'orderAllocation',
-              component:()=>import('../views/mm/mainProductStock/OrderAllocation.vue'),
+              component:()=>import('../views/mm/productStock/OrderAllocation.vue'),
             },
             {
               // 鎴愬搧棰嗗嚭
               path: 'finishedGoodsIssue',
               name: 'finishedGoodsIssue',
-              component:()=>import('../views/mm/mainProductStock/FinishedGoodsIssue.vue'),
+              component:()=>import('../views/mm/productStock/FinishedGoodsIssue.vue'),
             },
             {
               // 鎴愬搧杩斿伐
               path: 'finishedProductRework',
               name: 'finishedProductRework',
-              component:()=>import('../views/mm/mainProductStock/FinishedProductRework.vue'),
+              component:()=>import('../views/mm/productStock/FinishedProductRework.vue'),
             },
             {
               // 璋冩嫧璁板綍
               path: 'transferRecord',
               name: 'transferRecord',
-              component:()=>import('../views/mm/mainProductStock/TransferRecord.vue'),
+              component:()=>import('../views/mm/productStock/TransferRecord.vue'),
             },
             {
               // 棰嗗嚭璁板綍
               path: 'takeOutRecord',
               name: 'takeOutRecord',
-              component:()=>import('../views/mm/mainProductStock/TakeOutRecord.vue'),
+              component:()=>import('../views/mm/productStock/TakeOutRecord.vue'),
             },
             {
               // 杩斿伐璁板綍
               path: 'reworkRecord',
               name: 'reworkRecord',
-              component:()=>import('../views/mm/mainProductStock/ReworkRecord.vue'),
+              component:()=>import('../views/mm/productStock/ReworkRecord.vue'),
             },
             {
               // 鍑哄叆搴撹褰�
               path: 'storageRecord',
               name: 'storageRecord',
-              component:()=>import('../views/mm/mainProductStock/StorageRecord.vue'),
+              component:()=>import('../views/mm/productStock/StorageRecord.vue'),
+            },
+            {
+              // 瑁呯鎵撳嵃
+              path: 'storageRecordPint',
+              name: 'storageRecordPint',
+              component:()=>import('../views/mm/productStock/StorageRecordPint.vue'),
             },
 
             {
               path: '',
-              redirect:'/main/productStock/ProductStockList'
+              redirect:'/main/productStock/productStockList'
             }
           ]
         },
@@ -865,21 +1015,21 @@
           // 鐗╂枡璧勬枡
           path:'ingredients',
           name:'ingredients',
-          component: () => import('../views/mm/mainIngredient/Ingredients.vue'),
+          component: () => import('../views/mm/ingredient/Ingredients.vue'),
           children:[
             {
               path: 'selectIngredients',
               name: 'selectIngredients',
-              component:()=>import('../views/mm/mainIngredient/SelectIngredients.vue')
+              component:()=>import('../views/mm/ingredient/SelectIngredients.vue')
             },
             {
               path: 'createIngredients',
               name: 'createIngredients',
-              component:()=>import('../views/mm/mainIngredient/CreateIngredients.vue')
+              component:()=>import('../views/mm/ingredient/CreateIngredients.vue')
             },
             {
               path: '',
-              redirect:'/main/ingredients/SelectIngredients'
+              redirect:'/main/ingredients/selectIngredients'
             }
           ]
         },
@@ -891,56 +1041,62 @@
           // 鐗╂枡搴撳瓨
           path:'ingredientsStock',
           name:'ingredientsStock',
-          component: () => import('../views/mm/mainIngredientStock/IngredientsStock.vue'),
+          component: () => import('../views/mm/ingredientStock/IngredientsStock.vue'),
           children:[
             {
               path: 'selectIngredientsStock',
               name: 'selectIngredientsStock',
-              component:()=>import('../views/mm/mainIngredientStock/SelectIngredientsStock.vue')
+              component:()=>import('../views/mm/ingredientStock/SelectIngredientsStock.vue')
             },
             {
               path: 'selectSurplusMaterials',
               name: 'selectSurplusMaterials',
-              component:()=>import('../views/mm/mainIngredientStock/SelectSurplusMaterials.vue')
+              component:()=>import('../views/mm/ingredientStock/SelectSurplusMaterials.vue')
             },
             {
               path: 'accessoriesMonthlySettlement',
               name: 'accessoriesMonthlySettlement',
-              component:()=>import('../views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue')
+              component:()=>import('../views/mm/ingredientStock/AccessoriesMonthlySettlement.vue')
             },
             {
               path: 'originalMonthlySettlement',
               name: 'originalMonthlySettlement',
-              component:()=>import('../views/mm/mainIngredientStock/OriginalMonthlySettlement.vue')
+              component:()=>import('../views/mm/ingredientStock/OriginalMonthlySettlement.vue')
             },
             //   鐗╂枡鍑哄簱
             {
               path: 'materialOutbound',
               name: 'materialOutbound',
-              component:()=>import('../views/mm/mainIngredientStock/MaterialOutbound.vue')
+              component:()=>import('../views/mm/ingredientStock/MaterialOutbound.vue')
             },
               //鍑哄簱鏂板
             {
               path:'createOutBound',
               name:'createOutBound',
-              component:()=>import('../views/mm/mainIngredientStock/CreateOutBound.vue')
+              component:()=>import('../views/mm/ingredientStock/CreateOutBound.vue')
             },
             //杩斿簱
             {
               path:'returnToStorage',
               name:'returnToStorage',
-              component:()=>import('../views/mm/mainIngredientStock/ReturnToStorage.vue')
+              component:()=>import('../views/mm/ingredientStock/ReturnToStorage.vue')
             },
 
             //杩斿簱鏂板
             {
               path:'returnToStorageCreate',
               name:'returnToStorageCreate',
-              component:()=>import('../views/mm/mainIngredientStock/ReturnToStorageCreate.vue')
+              component:()=>import('../views/mm/ingredientStock/ReturnToStorageCreate.vue')
+            },
+            //鐗╂枡鏂板
+            {
+              path:'materialAdditionRecord',
+              name:'materialAdditionRecord',
+              component:()=>import('../views/mm/ingredientStock/MaterialAdditionRecord.vue')
             },
             {
               path: '',
-              redirect:'/main/ingredientsStock/SelectIngredientsStock'
+              redirect:'/main/ingredientsStock/selectIngredientsStock'
             }
           ]
         },
@@ -953,17 +1109,17 @@
           // 渚涘簲鍟嗙鐞嗭紒锛侊紒
           path:'trader',
           name:'trader',
-          component: () => import('../views/mm/mainTrader/Trader.vue'),
+          component: () => import('../views/mm/trader/Trader.vue'),
           children:[
             {
               path: 'selectTrader',
               name: 'selectTrader',
-              component:()=>import('../views/mm/mainTrader/SelectTrader.vue')
+              component:()=>import('../views/mm/trader/SelectTrader.vue')
             },
             {
               path: 'createTrader',
               name: 'createTrader',
-              component:()=>import('../views/mm/mainTrader/CreateTrader.vue')
+              component:()=>import('../views/mm/trader/CreateTrader.vue')
             },
             {
               path: '',
@@ -978,27 +1134,48 @@
           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: 'finishedProductDeliveryReport',
+              name: 'finishedProductDeliveryReport',
+              component: () => import('../views/mm/stockReport/FinishedProductDeliveryReport.vue'),
+            },
+            {
+              path: 'finishedProductInventoryReport',
+              name: 'finishedProductInventoryReport',
+              component: () => import('../views/mm/stockReport/FinishedProductInventoryReport.vue'),
+            },
+            {
+              path: 'finishedProductOutboundReport',
+              name: 'finishedProductOutboundReport',
+              component: () => import('../views/mm/stockReport/FinishedProductOutboundReport.vue'),
+            },
+            {
+              path: 'finishedProductTransferReport',
+              name: 'finishedProductTransferReport',
+              component: () => import('../views/mm/stockReport/FinishedProductTransferReport.vue'),
+            },{
+              path: 'materialAdditionReport',
+              name: 'materialAdditionReport',
+              component: () => import('../views/mm/stockReport/MaterialAdditionReport.vue'),
+            },
+            {
+              path: 'materialOutboundReport',
+              name: 'materialOutboundReport',
+              component: () => import('../views/mm/stockReport/MaterialOutboundReport.vue'),
+            },
+            {
+              path: 'optimizeOutboundReport',
+              name: 'optimizeOutboundReport',
+              component: () => import('../views/mm/stockReport/OptimizeOutboundReport.vue'),
+            },
+            {
+              path: 'materialReturnReport',
+              name: 'materialReturnReport',
+              component: () => import('../views/mm/stockReport/MaterialReturnReport.vue'),
             }, {
               path: '',
-              redirect: '/main/stockReport/WarehouseReport'
+              redirect: '/main/stockReport/finishedProductInventoryReport'
             }
           ]
         },
@@ -1092,11 +1269,63 @@
               component: () => import('../views/mm/basicData/WarehouseCreateBasicData.vue'),
             },
             {
+              path: 'canvas',
+              name: 'canvas',
+              component: () => import('../views/mm/basicData/canvas.vue'),
+            },
+            {
               path: '',
               redirect: '/main/warehouseBasicData/warehouseSearchBasicData'
             }
           ]
         },
+        /*{
+          //绗笁鏂圭幓鐠冧紭鍖�
+          path: 'glassOptimizeThirdParty',
+          name: 'glassOptimizeThirdParty',
+          component: () => import('../views/pp/glassOptimizeThirdParty/Optimize.vue'),
+          children:[
+            {
+              path: 'optimizeProject1',
+              name: 'optimizeProject1',
+              component: () => import('../views/pp/glassOptimizeThirdParty/OptimizeProject.vue'),
+            },
+            {
+              path: 'optimizePrint',
+              name: 'optimizePrint',
+              component: () => import('../views/pp/glassOptimizeThirdParty/OptimizePrint.vue'),
+            },
+            {
+              path: 'OptimizationRectPrint',
+              name: 'OptimizationRectPrint',
+              component: () => import('../views/pp/glassOptimizeThirdParty/OptimizationRectPrint.vue'),
+            },
+            {
+              path: 'OptimizeControl',
+              name: 'OptimizeControl',
+              component: () => import('../views/pp/glassOptimizeThirdParty/OptimizeControl.vue'),
+            },
+            {
+              path: 'Optimization',
+              name: 'Optimization',
+              component: () => import('../views/pp/glassOptimizeThirdParty/Optimization.vue'),
+            },
+            {
+              path: 'optimizeparms',
+              name: 'optimizeparms',
+              component: () => import('../views/pp/glassOptimizeThirdParty/OptimizeParms.vue'),
+            },
+            {
+              path: '/optimizeProject/:projectNo/:thickNess/:model',
+              name: 'optimizeInfo',
+              component: () => import('../views/pp/glassOptimizeThirdParty/OptimizeProject.vue')
+            },
+            {
+              path: '',
+              redirect:'/main/glassOptimizeThirdParty/optimizeProject1'
+            }
+          ]
+        },*/
         {
           path: '',
           redirect:'/main/order'
@@ -1107,6 +1336,16 @@
       path: '/register',
       name: 'register',
       component: () => import('../views/RegisterView.vue')
+    },
+    {
+      path: '/app',
+      name: 'app',
+      component: () => import('../views/system/app/appDownload.vue')
+    },
+    {
+      path: '/productionScheduleCollect',
+      name: 'productionScheduleCollect',
+      component: () => import('../views/pp/report/WorkInProgressCombination.vue'),
     }
     
   ]

--
Gitblit v1.8.0