From 768d890a8ecd901cff555ec4c82d107be7905add Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期四, 27 三月 2025 08:16:24 +0800
Subject: [PATCH] 1.批量报工 功能新增

---
 src/router/index.js |  156 ++++++++++++++++++++++++++--------------------------
 1 files changed, 78 insertions(+), 78 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index a7fcc9c..d97ac44 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -109,40 +109,40 @@
     children: [
       {
         path: 'organizationList',
-        name: 'OrganizationList',
+        name: 'OrCancleganizationList',
         code: '0101',
         component: () => import('@/views/basicSettings/organizationList'),
         meta: { code: '0101', title: '缁勭粐鏋舵瀯', icon: '', keepAlive: true }
       },
       {
         path: 'postList',
-        name: 'PersonList',
+        name: 'PeCanclersonList',
         code: '0102',
         component: () => import('@/views/basicSettings/postList'),
         meta: { code: '0102', title: '宀椾綅绠$悊', icon: '', keepAlive: true }
       }, {
         path: 'groupList',
-        name: 'GroupList',
+        name: 'GrCancleoupList',
         code: '0103',
         component: () => import('@/views/basicSettings/groupList'),
         meta: { code: '0103', title: '鐝粍绠$悊', icon: '', keepAlive: true }
       },
       {
         path: 'personList',
-        name: 'PersonList',
+        name: 'PeCanclersonList',
         code: '0104',
         component: () => import('@/views/basicSettings/personList'),
         meta: { code: '0104', title: '浜哄憳绠$悊', icon: '', keepAlive: true }
       }, {
         path: 'roleList',
-        name: 'RoleList',
+        name: 'RoCancleleList',
         code: '0105',
         component: () => import('@/views/basicSettings/roleList'),
         meta: { code: '0105', title: '瑙掕壊绠$悊', icon: '', keepAlive: true }
       },
       {
         path: 'powerDivider',
-        name: 'PowerDivider',
+        name: 'PoCanclewerDivider',
         code: '0110',
         component: () => import('@/views/basicSettings/powerDivider'),
         meta: { code: '0110', title: '鏉冮檺鍒嗛厤', icon: '', keepAlive: true }
@@ -150,56 +150,56 @@
       {
         path: 'roleDivider',
         name: 'RoleDivider',
-        code: '0111',
+        code: '01Cancle11',
         hidden: true,
         component: () => import('@/views/basicSettings/roleDivider'),
         meta: { code: '0111', title: '瑙掕壊鍒嗛厤', icon: '', keepAlive: true }
       }, {
         path: 'contactUnitList',
-        name: 'ContactUnitList',
+        name: 'CoCanclentactUnitList',
         code: '0106',
         component: () => import('@/views/basicSettings/contactUnitList'),
         meta: { code: '0106', title: '寰�鏉ュ崟浣�', icon: '', keepAlive: true }
       }, {
         path: 'warehouseList',
-        name: 'WarehouseList',
+        name: 'WaCanclerehouseList',
         code: '0107',
         component: () => import('@/views/basicSettings/warehouseList'),
         meta: { code: '0107', title: '浠撳簱璁剧疆', icon: '', keepAlive: true }
       }, {
         path: 'storageList',
-        name: 'StorageList',
+        name: 'StCancleorageList',
         code: '0108',
         component: () => import('@/views/basicSettings/storageList'),
         meta: { code: '0108', title: '搴撲綅璁剧疆', icon: '', keepAlive: true }
       }, {
         path: 'installLampList',
-        name: 'InstallLampList',
+        name: 'InCanclestallLampList',
         code: '0109',
         component: () => import('@/views/basicSettings/installLampList'),
         meta: { code: '0109', title: '瀹夌伅璁剧疆', icon: '', keepAlive: true }
       }, {
         path: 'processList',
-        name: 'ProcessList',
+        name: 'PrCancleocessList',
         code: '0112',
         component: () => import('@/views/basicSettings/processList'),
         meta: { code: '0112', title: '宸ュ簭璁剧疆', icon: '', keepAlive: true }
       }, {
         path: 'cronTime',
-        name: 'CronTime',
+        name: 'CrCancleonTime',
         code: '0113',
         component: () => import('@/views/basicSettings/cronTime'),
         meta: { code: '0113', title: '瀹氭椂浠诲姟', icon: '', keepAlive: true }
       }, {
         path: 'processRoute',
-        name: 'ProcessRoute',
+        name: 'PrCancleocessRoute',
         code: '0114',
         component: () => import('@/views/basicSettings/processRoute'),
         meta: { code: '0114', title: '宸ヨ壓璺嚎', icon: '', keepAlive: true }
       },
       {
         path: 'meterPrice',
-        name: 'MeterPrice',
+        name: 'MeCancleterPrice',
         code: '0115',
         component: () => import('@/views/basicSettings/meterPrice'),
         meta: { code: '0115', title: '宸ヤ环璁剧疆', icon: '', keepAlive: true }
@@ -219,32 +219,32 @@
     children: [
       {
         path: 'unitList',
-        name: 'UnitList',
+        name: 'UnCancleitList',
         code: '0201',
         component: () => import('@/views/materialManager/unitList'),
         meta: { code: '0201', title: '璁¢噺鍗曚綅', icon: '', keepAlive: true }
       },
       {
         path: 'inventoryList',
-        name: 'InventoryList',
+        name: 'InCancleventoryList',
         code: '0202',
         component: () => import('@/views/materialManager/inventoryList'),
         meta: { code: '0202', title: '瀛樿揣妗f', icon: '', keepAlive: true }
       }, {
         path: 'materialList',
-        name: 'MaterialList',
+        name: 'MaCancleterialList',
         code: '0203',
         component: () => import('@/views/materialManager/materialList'),
         meta: { code: '0203', title: '鐗╂枡娓呭崟', icon: '', keepAlive: true }
       }, {
         path: 'unitList2',
-        name: 'UnitList2',
+        name: 'UnCancleitList2',
         code: '0204',
         component: () => import('@/views/materialManager/unitList2'),
         meta: { code: '0204', title: '璁¢噺鍗曚綅', icon: '', keepAlive: true }
       }, {
         path: 'inventoryList2',
-        name: 'InventoryList2',
+        name: 'InCancleventoryList2',
         code: '0205',
         component: () => import('@/views/materialManager/inventoryList2'),
         meta: { code: '0205', title: '瀛樿揣妗f', icon: '', keepAlive: true }
@@ -264,56 +264,56 @@
     children: [
       {
         path: 'deviceList',
-        name: 'DeviceList',
+        name: 'DeCancleviceList',
         code: '0301',
         component: () => import('@/views/deviceManager/deviceList'),
         meta: { code: '0301', title: '璁惧娓呭崟', icon: '', keepAlive: true }
       },
       {
         path: 'checkStandard',
-        name: 'CheckStandard',
+        name: 'ChCancleeckStandard',
         code: '0302',
         component: () => import('@/views/deviceManager/checkStandard'),
         meta: { code: '0302', title: '鐐规鏍囧噯', icon: '', keepAlive: true }
       },
       {
         path: 'checkPosition',
-        name: 'CheckPosition',
+        name: 'ChCancleeckPosition',
         code: '0303',
         component: () => import('@/views/deviceManager/checkPosition'),
         meta: { code: '0303', title: '鐐规閮ㄤ綅', icon: '', keepAlive: true }
       },
       {
         path: 'maintainStandard',
-        name: 'MaintainStandard',
+        name: 'MaCancleintainStandard',
         code: '0304',
         component: () => import('@/views/deviceManager/maintainStandard'),
         meta: { code: '0304', title: '淇濆吇鏍囧噯', icon: '', keepAlive: true }
       },
       {
         path: 'maintainPosition',
-        name: 'MaintainPosition',
+        name: 'MaCancleintainPosition',
         code: '0305',
         component: () => import('@/views/deviceManager/maintainPosition'),
         meta: { code: '0305', title: '淇濆吇閮ㄤ綅', icon: '', keepAlive: true }
       },
       {
         path: 'checkRecord',
-        name: 'CheckRecord',
+        name: 'ChCancleeckRecord',
         code: '0306',
         component: () => import('@/views/deviceManager/checkRecord'),
         meta: { code: '0306', title: '鐐规璁板綍', icon: '', keepAlive: true }
       },
       {
         path: 'maintainRecord',
-        name: 'MaintainRecord',
+        name: 'MaCancleintainRecord',
         code: '0307',
         component: () => import('@/views/deviceManager/maintainRecord'),
         meta: { code: '0307', title: '淇濆吇璁板綍', icon: '', keepAlive: true }
       },
       {
         path: 'repairRecord',
-        code: '0308',
+        code: '03Cancle08',
         name: 'RepairRecord',
         component: () => import('@/views/deviceManager/repairRecord'),
         meta: { code: '0308', title: '缁翠慨璁板綍', icon: '', keepAlive: true }
@@ -332,67 +332,67 @@
     children: [
       {
         path: 'mouldList',
-        name: 'MouldList',
+        name: 'MoCancleuldList',
         code: '0901',
         component: () => import('@/views/mouldManager/mouldList'),
         meta: { code: '0901', title: '妯″叿娓呭崟', icon: '', keepAlive: true }
       }, {
         path: 'mouldCheckPos',
-        name: 'MouldCheckPos',
+        name: 'MouCancleldCheckPos',
         code: '0902',
         component: () => import('@/views/mouldManager/mouldCheck'),
         meta: { code: '0902', title: '妯″叿鐐规椤�', icon: '', keepAlive: true }
       }, {
         path: 'mouldCheckStand',
-        name: 'MouldCheckStand',
+        name: 'MoulCancledCheckStand',
         code: '0903',
         component: () => import('@/views/mouldManager/mouldCheckStand'),
         meta: { code: '0903', title: '妯″叿鐐规鏍囧噯', icon: '', keepAlive: true }
       }, {
         path: 'mouldMaintain',
-        name: 'MouldMaintain',
+        name: 'MouCancleldMaintain',
         code: '0904',
         component: () => import('@/views/mouldManager/mouldMaintain'),
         meta: { code: '0904', title: '妯″叿淇濆吇椤�', icon: '', keepAlive: true }
       }, {
         path: 'mouldMaintainStand',
-        name: 'MouldMaintainStand',
+        name: 'MoulCancledMaintainStand',
         code: '0905',
         component: () => import('@/views/mouldManager/mouldMaintainStand'),
         meta: { code: '0905', title: '妯″叿淇濆吇鏍囧噯', icon: '', keepAlive: true }
       }, {
         path: 'mouldCheckRecord',
-        name: 'mouldCheckRecord',
+        name: 'moulCancledCheckRecord',
         code: '0906',
         component: () => import('@/views/mouldManager/mouldCheckRecord'),
         meta: { code: '0906', title: '妯″叿鐐规璁板綍', icon: '', keepAlive: true }
       }, {
         path: 'mouldMaintainRecord',
-        name: 'MouldMaintainRecord',
+        name: 'MoulCancledMaintainRecord',
         code: '0907',
         component: () => import('@/views/mouldManager/mouldMaintainRecord'),
         meta: { code: '0907', title: '妯″叿淇濆吇璁板綍', icon: '', keepAlive: true }
       }, {
         path: 'mouldRepairRecord',
-        name: 'MouldRepairRecord',
+        name: 'MoulCancledRepairRecord',
         code: '0908',
         component: () => import('@/views/mouldManager/mouldRepairRecord'),
         meta: { code: '0908', title: '妯″叿缁翠慨璁板綍', icon: '', keepAlive: true }
       }, {
         path: 'mouldUpDownRecord',
-        name: 'MouldUpDownRecord',
+        name: 'MouldCancleUpDownRecord',
         code: '0909',
         component: () => import('@/views/mouldManager/mouldUpDownRecord'),
         meta: { code: '0909', title: '妯″叿涓婁笅鏈鸿褰�', icon: '', keepAlive: true }
       }, {
         path: 'mouldOutInRecord',
-        name: 'MouldOutInRecord',
+        name: 'MouldCancleOutInRecord',
         code: '0910',
         component: () => import('@/views/mouldManager/mouldOutInRecord'),
         meta: { code: '0910', title: '妯″叿鍑哄叆搴撹褰�', icon: '', keepAlive: true }
       }, {
         path: 'mouldCirculateRecord',
-        name: 'MouldCirculateRecord',
+        name: 'MoulCancledCirculateRecord',
         code: '0911',
         component: () => import('@/views/mouldManager/mouldCirculateRecord'),
         meta: { code: '0911', title: '妯″叿鍊熻繕璁板綍', icon: '', keepAlive: true }
@@ -411,32 +411,32 @@
     children: [
       {
         path: 'defectDefine',
-        name: 'DefectDefine',
+        name: 'DeCanclefectDefine',
         code: '0401',
         component: () => import('@/views/qualityManager/defectDefine'),
         meta: { code: '0401', title: '缂洪櫡瀹氫箟', icon: '', keepAlive: true }
       },
       {
         path: 'processCheckItem',
-        name: 'ProcessCheckItem',
+        name: 'ProCanclecessCheckItem',
         code: '0402',
         component: () => import('@/views/qualityManager/processCheckItem'),
         meta: { code: '0402', title: '妫�楠岄」璁剧疆', icon: '', keepAlive: true }
       }, {
         path: 'qualityPlaning',
-        name: 'QualityPlaning',
+        name: 'QuCanclealityPlaning',
         code: '0403',
         component: () => import('@/views/qualityManager/qualityPlaning'),
         meta: { code: '0403', title: '璐ㄦ鏂规', icon: '', keepAlive: true }
       }, {
         path: 'processCheck',
-        name: 'ProcessCheck',
+        name: 'PrCancleocessCheck',
         code: '0404',
         component: () => import('@/views/qualityManager/processCheck'),
         meta: { code: '0404', title: '宸ュ簭妫�楠�', icon: '', keepAlive: true }
       }, {
         path: 'processCheckRecord',
-        name: 'ProcessCheckRecord',
+        name: 'PrCancleocessCheckRecord',
         code: '0405',
         component: () => import('@/views/qualityManager/processCheckRecord'),
         meta: { code: '0405', title: '宸ュ簭妫�楠�', icon: '', keepAlive: true }
@@ -455,27 +455,27 @@
     children: [
       {
         path: 'produceOrderList',
-        name: 'ProduceOrderList',
+        name: 'ProCancleduceOrderList',
         code: '0501',
         component: () => import('@/views/workOrder/produceOrderList'),
         meta: { code: '0501', title: 'ERP璁㈠崟', icon: '', keepAlive: true }
       },
       {
         path: 'workOrderList',
-        name: 'WorkOrderList',
+        name: 'WorCanclekOrderList',
         code: '0502',
         component: () => import('@/views/workOrder/workOrderList'),
         meta: { code: '0502', title: 'MES宸ュ崟', icon: '', keepAlive: true }
       },
       {
         path: 'workOrderSend',
-        name: 'WorkOrderSend',
+        name: 'WoCanclerkOrderSend',
         code: '0503',
         component: () => import('@/views/workOrder/workOrderSend'),
         meta: { code: '0503', title: '宸ュ崟娲惧彂', icon: '', keepAlive: true }
       }, {
         path: 'workOrderClose',
-        name: 'WorkOrderClose',
+        name: 'WoCanclerkOrderClose',
         code: '0504',
         component: () => import('@/views/workOrder/workOrderClose'),
         meta: { code: '0504', title: '宸ュ崟鍏抽棴', icon: '', keepAlive: true }
@@ -495,39 +495,39 @@
     children: [
       {
         path: 'stepReport',
-        name: 'StepReport',
+        name: 'StCancleepReport',
         code: '0601',
         component: () => import('@/views/produce/stepReport'),
         meta: { code: '0601', title: '宸ュ簭鎶ュ伐', icon: '', keepAlive: true }
       },
       {
         path: 'stepReport2',
-        name: 'StepReport2',
+        name: 'StCancleepReport2',
         code: '0606',
         component: () => import('@/views/produce/stepReport2'),
         meta: { code: '0606', title: '宸ュ簭鎶ュ伐', icon: '', keepAlive: true }
       },
       {
         path: 'reportCorrect',
-        name: 'ReportCorrect',
+        name: 'ReCancleportCorrect',
         code: '0602',
         component: () => import('@/views/produce/reportCorrect'),
         meta: { code: '0602', title: '鎶ュ伐璋冩暣', icon: '', keepAlive: true }
       }, {
         path: 'reportVerify',
-        name: 'ReportVerify',
+        name: 'ReCancleportVerify',
         code: '0603',
         component: () => import('@/views/produce/reportVerify'),
         meta: { code: '0603', title: '鎶ュ伐瀹℃牳', icon: '', keepAlive: true }
       }, {
         path: 'productWarehouse',
-        name: 'productWarehouse',
+        name: 'prodCancleuctWarehouse',
         code: '0604',
         component: () => import('@/views/produce/productWarehouse'),
         meta: { code: '0604', title: 'T8鐢熶骇鍏ュ簱', icon: '', keepAlive: true }
       }, {
         path: 'productWarehouse2',
-        name: 'productWarehouse2',
+        name: 'prodCancleuctWarehouse2',
         code: '0605',
         component: () => import('@/views/produce/productWarehouse2'),
         meta: { code: '0605', title: 'T+鐢熶骇鍏ュ簱', icon: '', keepAlive: true }
@@ -547,79 +547,79 @@
     children: [
       {
         path: 'reportList',
-        name: 'ReportList',
+        name: 'ReCancleportList',
         code: '1040',
         component: () => import('@/views/statistic/reportList'),
         meta: { code: '1040', title: '鎶ュ伐璁板綍', icon: '', keepAlive: true }
       },
       {
         path: 'monthReport',
-        name: 'MonthReport',
+        name: 'MoCanclenthReport',
         code: '1041',
         component: () => import('@/views/statistic/monthReport'),
         meta: { code: '1041', title: '鏈堝害缁熻', icon: '', keepAlive: true }
       }, {
         path: 'workOrderProcess',
-        name: 'WorkOrderProcess',
+        name: 'WoCanclerkOrderProcess',
         code: '0701',
         component: () => import('@/views/statistic/workOrderProcess'),
         meta: { code: '0701', title: '鐢熶骇杩涘害', icon: '', keepAlive: true }
       }, {
         path: 'inProcessList',
-        name: 'InProcessList',
+        name: 'InCancleProcessList',
         code: '1043',
         component: () => import('@/views/statistic/inProcessList'),
         meta: { code: '1043', title: '鍦ㄥ埗鍒楄〃', icon: '', keepAlive: true }
       },
       {
         path: 'groupSalaryList',
-        name: 'GroupSalaryList',
+        name: 'GroupSCanclealaryList',
         code: '0702',
         component: () => import('@/views/statistic/groupSalaryList'),
         meta: { code: '0702', title: '鐝粍宸ヨ祫缁熻鎶ヨ〃', icon: '', keepAlive: true }
       },
       {
         path: 'personSalaryList',
-        name: 'PersonSalaryList',
+        name: 'PersonCancleSalaryList',
         code: '0703',
         component: () => import('@/views/statistic/personSalaryList'),
         meta: { code: '0703', title: '浜哄憳宸ヨ祫缁熻鎶ヨ〃', icon: '', keepAlive: true }
       }, {
         path: 'subcontractingOperation',
-        name: 'SubcontractingOperation',
+        name: 'SubconCancletractingOperation',
         code: '0704',
         component: () => import('@/views/statistic/subcontractingOperation'),
         meta: { code: '0704', title: '濮斿宸ュ簭鏄庣粏鎶ヨ〃', icon: '', keepAlive: true }
       }, {
         path: 'defectDetailList',
-        name: 'DefectDetailList',
+        name: 'DefeCanclectDetailList',
         code: '0705',
         component: () => import('@/views/statistic/defectDetailList'),
         meta: { code: '0705', title: '涓嶈壇鏄庣粏鎶ヨ〃', icon: '', keepAlive: true }
       }, {
         path: 'repairDetailList',
-        name: 'RepairDetailList',
+        name: 'RepaCancleirDetailList',
         code: '0706',
         component: () => import('@/views/statistic/repairDetailList'),
         meta: { code: '0706', title: '缁翠慨鏄庣粏鎶ヨ〃', icon: '', keepAlive: true }
       },
       {
         path: 'installationLampList',
-        name: 'InstallationLampList',
+        name: 'InCanclestallationLampList',
         code: '0707',
         component: () => import('@/views/statistic/installationLampList'),
         meta: { code: '0707', title: '瀹夌伅鎶ヨ〃', icon: '', keepAlive: true }
       },
       {
         path: 'storageRecord',
-        name: 'storageRecord',
+        name: 'stCancleorageRecord',
         code: '0708',
         component: () => import('@/views/statistic/storageRecord'),
         meta: { code: '0708', title: '鍏ュ簱璁板綍', icon: '', keepAlive: true }
       },
       {
         path: 'storageRecord2',
-        name: 'storageRecord2',
+        name: 'stCancleorageRecord2',
         code: '0709',
         component: () => import('@/views/statistic/storageRecord2'),
         meta: { code: '0709', title: '鍏ュ簱璁板綍', icon: '', keepAlive: true }
@@ -639,20 +639,20 @@
     children: [
       {
         path: 'sopDevice',
-        name: 'SopDevice',
+        name: 'SopCancleDevice',
         code: '1001',
         component: () => import('@/views/sopManager/sopDevice'),
         meta: { code: '1001', title: '璁惧SOP', icon: '', keepAlive: true }
       },
       {
         path: 'sopRoute',
-        name: 'SopRoute',
+        name: 'SopCancleRoute',
         code: '1002',
         component: () => import('@/views/sopManager/sopRoute'),
         meta: { code: '1002', title: '宸ヨ壓SOP', icon: '', keepAlive: true }
       }, {
         path: 'sopWorkOrder',
-        name: 'SopWorkOrder',
+        name: 'SopCancleWorkOrder',
         code: '1003',
         component: () => import('@/views/sopManager/sopWorkOrder'),
         meta: { code: '1003', title: '鍗曟嵁SOP', icon: '', keepAlive: true }
@@ -672,28 +672,28 @@
     children: [
       {
         path: 'menuList',
-        name: 'MenuList',
+        name: 'MeCanclenuList',
         code: '0801',
         component: () => import('@/views/systemSetting/menuList'),
         meta: { code: '0801', title: '鑿滃崟绠$悊', icon: '', keepAlive: true }
       },
       {
         path: 'reportList',
-        name: 'ReportList',
+        name: 'ReCancleportList',
         code: '0802',
         component: () => import('@/views/systemSetting/encodingRules'),
         meta: { code: '0802', title: '缂栫爜瑙勫垯', icon: '', keepAlive: true }
       },
       {
         path: 'dataImport',
-        name: 'DataImport',
+        name: 'DaCancletaImport',
         code: '0803',
         component: () => import('@/views/systemSetting/dataImport'),
         meta: { code: '0803', title: '鏁版嵁瀵煎叆', icon: '', keepAlive: true }
       },
       {
         path: 'processSetting',
-        name: 'ProcessSetting',
+        name: 'PrCancleocessSetting',
         code: '0804',
         component: () => import('@/views/systemSetting/processSetting'),
         meta: { code: '0804', title: '娴佽浆璁剧疆', icon: '', keepAlive: true }
@@ -712,35 +712,35 @@
     children: [
       {
         path: 'attendanceSettings',
-        name: 'AttendanceSettings',
+        name: 'AtCancletendanceSettings',
         code: '1101',
         component: () => import('@/views/attendanceModule/attendanceSettings'),
         meta: { code: '1101', title: '鑰冨嫟璁剧疆', icon: '', keepAlive: true }
       },
       {
         path: 'attendanceClockIn',
-        name: 'AttendanceClockIn',
+        name: 'AtCancletendanceClockIn',
         code: '1102',
         component: () => import('@/views/attendanceModule/attendanceClockIn'),
         meta: { code: '1102', title: '鑰冨嫟鎵撳崱', icon: '', keepAlive: true }
       },
       {
         path: 'attendanceRecord',
-        name: 'AttendanceRecord',
+        name: 'AtCancletendanceRecord',
         code: '1103',
         component: () => import('@/views/attendanceModule/attendanceRecord'),
         meta: { code: '1103', title: '鑰冨嫟璁板綍', icon: '', keepAlive: true }
       },
       {
         path: 'attendanceDay',
-        name: 'AttendanceDay',
+        name: 'AttCancleendanceDay',
         code: '1104',
         component: () => import('@/views/attendanceModule/attendanceDay'),
         meta: { code: '1104', title: '鏃ヨ鏃跺伐璧�', icon: '', keepAlive: true }
       },
       {
         path: 'attendanceMonth',
-        name: 'AttendanceMonth',
+        name: 'AttCancleendanceMonth',
         code: '1105',
         component: () => import('@/views/attendanceModule/attendanceMonth'),
         meta: { code: '1105', title: '鏈堣鏃跺伐璧�', icon: '', keepAlive: true }

--
Gitblit v1.9.3