• element ui 的 el-tab 当使用 router-view 时 mounted 执行了多次


    之前参照很多文章修改试图修正这个问题,结果都徒劳,终于让我找到 参考

    我做了如下修改,主页面 main.vue

    1. if="tabbar.tabs.length > 0" style="margin:5px;height:99%"
    2. v-model="tabbar.active" type="border-card" closable @tab-remove="removeTab"
    3. ref='rootTabs'
    4. @tab-click="onClickTabsItem">
    5. <el-tab-pane v-for="item in tabbar.tabs"
    6. :key="item.menu_id"
    7. :label="item.menu_name"
    8. :name="item.menu_name" style="position: relative;">
    9. <span v-if="item.menu_name!=='首页' && item.window_maximize === windowMaximize.允许" slot="label">{{item.menu_name}}
    10. <i class="el-icon-full-screen" @click="fullScreen">i>
    11. span>
    12. <span slot="label" v-if="item.menu_name!=='首页' && tabbar.tabs && Array.isArray(tabbar.tabs) && tabbar.tabs.length > 2">{{item.menu_name}}
    13. <el-tooltip
    14. content="关闭所有窗口"
    15. placement="top"
    16. effect="light">
    17. <div slot="content" style="font-size:15px">
    18. <svg t="1667882396181" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1814" width="18" height="18"><path d="M352 800H272A48 48 0 0 1 224 752V672H144A48 48 0 0 1 96 624v-480A48 48 0 0 1 144 96h480A48 48 0 0 1 672 144V224h80A48 48 0 0 1 800 272V352h80a48 48 0 0 1 48 48v480a48 48 0 0 1-48 48h-480a48 48 0 0 1-48-48V800z" fill="#FFFFFF" p-id="1815">path><path d="M192 640v32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v64h-32V128H128v512h64z" fill="#B7BEC8" p-id="1816">path><path d="M320 768v32H256a32 32 0 0 1-32-32V256a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v64h-32V256H256v512h64z" fill="#808FA1" p-id="1817">path><path d="M608 896v32h-224a32 32 0 0 1-32-32V384a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v224h-32v-224H384v512h224z" fill="#5D6D7E" p-id="1818">path><path d="M704 672h224a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32h-224a32 32 0 0 1-32-32v-224a32 32 0 0 1 32-32z m162.272 149.024l67.872-67.872-45.248-45.28-67.872 67.904-67.872-67.904-45.28 45.28 67.904 67.84-67.904 67.904 45.28 45.248 67.84-67.84 67.904 67.84 45.248-45.248-67.84-67.872z" fill="#EF633F" p-id="1819">path>svg>
    19. 关闭其他所有选项卡
    20. div>
    21. <i @click.stop="removeOtherTabs(item)">
    22. <svg t="1667882396181" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1814" width="14" height="14"><path d="M352 800H272A48 48 0 0 1 224 752V672H144A48 48 0 0 1 96 624v-480A48 48 0 0 1 144 96h480A48 48 0 0 1 672 144V224h80A48 48 0 0 1 800 272V352h80a48 48 0 0 1 48 48v480a48 48 0 0 1-48 48h-480a48 48 0 0 1-48-48V800z" fill="#FFFFFF" p-id="1815">path><path d="M192 640v32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v64h-32V128H128v512h64z" fill="#B7BEC8" p-id="1816">path><path d="M320 768v32H256a32 32 0 0 1-32-32V256a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v64h-32V256H256v512h64z" fill="#808FA1" p-id="1817">path><path d="M608 896v32h-224a32 32 0 0 1-32-32V384a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v224h-32v-224H384v512h224z" fill="#5D6D7E" p-id="1818">path><path d="M704 672h224a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32h-224a32 32 0 0 1-32-32v-224a32 32 0 0 1 32-32z m162.272 149.024l67.872-67.872-45.248-45.28-67.872 67.904-67.872-67.904-45.28 45.28 67.904 67.84-67.904 67.904 45.28 45.248 67.84-67.84 67.904 67.84 45.248-45.248-67.84-67.872z" fill="#EF633F" p-id="1819">path>svg>
    23. i>
    24. el-tooltip>
    25. span>
    26. <keep-alive>
    27. <router-view :name="item.menu_component" :ref="item.menu_component">router-view>
    28. keep-alive>
    29. el-tab-pane>

    之前参考某文章把 router-view 放在 el-tab-pane 外面都不起作用,问题根本不是出在 el-tab-pane,而是v-for 里面有多个route-view , keep-alive 时 tab 并未销毁掉,而是缓存隐藏了起来。需要把 router-view 的 name 与路由的 index.js 名称对应起来

    1. import Vue from 'vue';
    2. import Router from 'vue-router';
    3. Vue.use(Router);
    4. // 组件存放的路径使用按需加载,webpack 打包时会分隔成单独的js文件,不会全部打包到 app.js 文件下面
    5. export default new Router({
    6. mode: 'history',
    7. base: process.env.BASE_URL,
    8. routes: [
    9. {
    10. path: '/',
    11. name: 'Login',
    12. component: resolve => require(['@/pages/LoginV2'], resolve)
    13. },
    14. {
    15. path: '/Main',
    16. name: 'Main',
    17. component: resolve => require(['@/pages/main'], resolve),
    18. children:[
    19. {
    20. name:'Home',
    21. path:'Home',
    22. components: {Home:() => import('@/pages/Home')}
    23. },
    24. {
    25. path: 'Driver',
    26. name: 'Driver',
    27. components: {Driver:() => import('@/pages/Driver')}
    28. },
    29. {
    30. path: 'ItemOther',
    31. name: 'ItemOther',
    32. components: {ItemOther:() => import('@/pages/ItemOther')}
    33. },
    34. {
    35. path: 'Role',
    36. name: 'Role',
    37. components: {Role:() => import('@/pages/Role')}
    38. },
    39. {
    40. path: 'Supplier',
    41. name: 'Supplier',
    42. components: {Supplier:() => import('@/pages/Supplier')}
    43. },
    44. {
    45. path: 'User',
    46. name: 'User',
    47. components: {User:() => import('@/pages/User')}
    48. },
    49. {
    50. path: 'Button',
    51. name: 'Button',
    52. components: {Button:() => import('@/pages/Button')}
    53. },
    54. {
    55. path: 'Menu',
    56. name: 'Menu',
    57. components: {Menu:() => import('@/pages/Menu')}
    58. },
    59. {
    60. path: 'SiloWatchTimeOption', //筒仓排班时间信息设置
    61. name: 'SiloWatchTimeOption',
    62. components: {SiloWatchTimeOption:() => import('@/pages/SiloWatchTimeOption')}
    63. },
    64. {
    65. path: 'SiloMonitorReport', //筒仓日报表
    66. name: 'SiloMonitorReport',
    67. components: {SiloMonitorReport:() => import('@/pages/SiloMonitorReport')}
    68. },
    69. {
    70. path: 'GlobalParameters',
    71. name: 'GlobalParameters',
    72. components: {GlobalParameters:() => import('@/pages/GlobalParameters')}
    73. },
    74. {
    75. path: 'PurchaseOrder',
    76. name: 'PurchaseOrder',
    77. components: {PurchaseOrder:() => import('@/pages/PurchaseOrder')}
    78. },
    79. {
    80. path: 'Vehicle',
    81. name: 'Vehicle',
    82. components: {Vehicle:() => import('@/pages/Vehicle')}
    83. },
    84. {
    85. path: 'PurchaseReport',
    86. name: 'PurchaseReport',
    87. components: {PurchaseReport:() => import('@/pages/PurchaseReport')}
    88. },
    89. {
    90. path: 'OperationKanBan',
    91. name: 'OperationKanBan',
    92. components: {OperationKanBan:() => import('@/pages/kanban/OperationKanBan1')}
    93. },
    94. {
    95. path: 'TankDataKanBan',
    96. name: 'TankDataKanBan',
    97. components: {TankDataKanBan:() => import('@/pages/kanban/TankDataKanBan')}
    98. },
    99. {
    100. path: 'StoveTowerKanBan', //烘干塔看板
    101. name: 'StoveTowerKanBan',
    102. components: {StoveTowerKanBan:() => import('@/pages/kanban/StoveTowerKanBan')}
    103. },
    104. {
    105. path: 'SaleReport',
    106. name: 'SaleReport',
    107. components: {SaleReport:() => import('@/pages/SaleReport')}
    108. },
    109. {
    110. path: 'SaleOrder',
    111. name: 'SaleOrder',
    112. components: {SaleReport:() => import('@/pages/SaleOrder')}
    113. },
    114. {
    115. path: 'Equipment', // 设备台账
    116. name: 'Equipment',
    117. components: {Equipment:() => import('@/pages/equipment/Equipment')}
    118. },
    119. {
    120. path: 'EquipmentCharts', // 设备统计图表
    121. name: 'EquipmentCharts',
    122. components: {EquipmentCharts:() => import('@/pages/equipment/report/EquipmentCharts')}
    123. },
    124. {
    125. path: 'EquipmentMaintenanceCharts', // 设备维保统计图表
    126. name: 'EquipmentMaintenanceCharts',
    127. components: {EquipmentMaintenanceCharts:() => import('@/pages/equipment/report/EquipmentMaintenanceCharts')}
    128. },
    129. {
    130. path: 'EquipmentInfoClass', // 设备信息分类
    131. name: 'EquipmentInfoClass',
    132. components: {EquipmentInfoClass:() => import('@/pages/equipment/EquipmentInfoClass')}
    133. },
    134. {
    135. path: 'EquipmentClass', // 设备类型
    136. name: 'EquipmentClass',
    137. components: {EquipmentClass:() => import('@/pages/BasicData/EquipmentClass')}
    138. },
    139. {
    140. path: 'EquipmentLocationClass', // 设备位置
    141. name: 'EquipmentLocationClass',
    142. components: {EquipmentLocationClass:() => import('@/pages/BasicData/EquipmentLocationClass')}
    143. },
    144. {
    145. path: 'EquipmentLocationShift', // 设备位置值班排班表
    146. name: 'EquipmentLocationShift',
    147. components: {EquipmentLocationShift:() => import('@/pages/BasicData/EquipmentLocationShift')}
    148. },
    149. {
    150. path: 'SpareParts',
    151. name: 'SpareParts', // 备品备件台账
    152. components: {SpareParts:() => import('@/pages/equipment/SpareParts')}
    153. },
    154. {
    155. path: 'EquipMaintenanceCommonParam',
    156. name: 'EquipMaintenanceCommonParam', // 设备维修常用参数
    157. components: {EquipMaintenanceCommonParam:() => import('@/pages/equipment/EquipMaintenanceCommonParam')}
    158. },
    159. {
    160. path: 'EquipRepair',
    161. name: 'EquipRepair', // 设备报修
    162. components: {EquipRepair:() => import('@/pages/equipment/repair/EquipRepair')}
    163. },
    164. {
    165. path: 'EquipRepairBill',
    166. name: 'EquipRepairBill', // 设备维修单
    167. components: {EquipRepairBill:() => import('@/pages/equipment/repair/EquipRepairBill')}
    168. },
    169. {
    170. path: 'ComprehensiveRepair',
    171. name: 'ComprehensiveRepair', // 综合事务报修
    172. components: {ComprehensiveRepair:() => import('@/pages/equipment/repair/ComprehensiveRepair')}
    173. },
    174. {
    175. path: 'ComprehensiveRepairBill',
    176. name: 'ComprehensiveRepairBill', // 综合事务工单
    177. components: {ComprehensiveRepairBill:() => import('@/pages/equipment/repair/ComprehensiveRepairBill')}
    178. },
    179. {
    180. path: 'EquipRepairPlan',
    181. name: 'EquipRepairPlan', // 设备维修计划
    182. components: {EquipRepairPlan:() => import('@/pages/equipment/repair/EquipRepairPlan')}
    183. },
    184. {
    185. path: 'RepairList',
    186. name: 'RepairList', // 设备维修记录
    187. components: {RepairList:() => import('@/pages/equipment/repair/RepairList')}
    188. },
    189. {
    190. path: 'ComprehensiveRepairList',
    191. name: 'ComprehensiveRepairList', // 综合事务维修记录
    192. components: {ComprehensiveRepairList:() => import('@/pages/equipment/repair/ComprehensiveRepairList')}
    193. },
    194. {
    195. path: 'EquipMaintenanceStandard',
    196. name: 'EquipMaintenanceStandard', //设备保养标准
    197. components: {EquipMaintenanceStandard:() => import('@/pages/equipment/maintenance/EquipMaintenanceStandard')}
    198. },
    199. {
    200. path: 'EquipBYPlan',
    201. name: 'EquipBYPlan', //设备保养计划
    202. components: {EquipBYPlan:() => import('@/pages/equipment/maintenance/EquipBYPlan')}
    203. },
    204. {
    205. path: 'BYBill',
    206. name: 'BYBill', //设备保养工单
    207. components: {BYBill:() => import('@/pages/equipment/maintenance/BYBill')}
    208. },
    209. {
    210. path: 'MyBYBill',
    211. name: 'MyBYBill', //我的设备保养工单
    212. components: {MyBYBill:() => import('@/pages/equipment/maintenance/MyBYBill')}
    213. },
    214. {
    215. path: 'BYList',
    216. name: 'BYList', //设备保养记录
    217. components: {BYList:() => import('@/pages/equipment/maintenance/BYList')}
    218. },
    219. {
    220. path: 'MyEquipRepairBill',
    221. name: 'MyEquipRepairBill', //设备维修---我维修
    222. components: {MyEquipRepairBill:() => import('@/pages/equipment/repair/MyEquipRepairBill')}
    223. },
    224. {
    225. path: 'MyComprehensiveRepairBill',
    226. name: 'MyComprehensiveRepairBill', //综合事务维修---我维修
    227. components: {MyComprehensiveRepairBill:() => import('@/pages/equipment/repair/MyComprehensiveRepairBill')}
    228. },
    229. {
    230. path: 'MyComprehensiveRepair',
    231. name: 'MyComprehensiveRepair', //综合事务维修---我报修
    232. components: {MyComprehensiveRepair:() => import('@/pages/equipment/repair/MyComprehensiveRepair')}
    233. },
    234. {
    235. path: 'MyEquipRepair',
    236. name: 'MyEquipRepair', //设备维修---我报修
    237. components: {MyEquipRepair:() => import('@/pages/equipment/repair/MyEquipRepair')}
    238. },
    239. {
    240. path: 'PurchaseReceipt',
    241. name: 'PurchaseReceipt',
    242. components: {PurchaseReceipt:() => import('@/pages/PurchaseReceipt')}
    243. },
    244. {
    245. path: 'MixOilRecipe',
    246. name: 'MixOilRecipe',
    247. components: {MixOilRecipe:() => import('@/pages/MixOilRecipe')}
    248. },
    249. {
    250. path: 'WorkShopSection',
    251. name: 'WorkShopSection',
    252. components: {WorkShopSection:() => import('@/pages/WorkShopSection')}
    253. },
    254. {
    255. path: 'ProducePick',
    256. name: 'ProducePick',
    257. components: {ProducePick:() => import('@/pages/ProducePick')}
    258. },
    259. {
    260. path: 'ItemInOutBook',
    261. name: 'ItemInOutBook',
    262. components: {ItemInOutBook:() => import('@/pages/ItemInOutBook')}
    263. },
    264. {
    265. path: 'TechnologyParameter',
    266. name: 'TechnologyParameter',
    267. components: {TechnologyParameter:() => import('@/pages/TechnologyParameter')}
    268. },
    269. {
    270. path: 'TechnologyScheme',
    271. name: 'TechnologyScheme',
    272. components: {TechnologyScheme:() => import('@/pages/TechnologyScheme')}
    273. },
    274. {
    275. path: 'Rapeseed',
    276. name: 'Rapeseed',
    277. components: {Rapeseed:() => import('@/pages/oil/Rapeseed')}
    278. },
    279. {
    280. path: 'OilsManage',
    281. name: 'OilsManage',
    282. components: {OilsManage:() => import('@/pages/oil/OilsManage')}
    283. },
    284. {
    285. path: 'OilProductPackage',
    286. name: 'OilProductPackage',
    287. components: {OilProductPackage:() => import('@/pages/oil/OilProductPackage')}
    288. },
    289. {
    290. path: 'PurchaseSuggest',
    291. name: 'PurchaseSuggest',
    292. components: {PurchaseSuggest:() => import('@/pages/PurchaseSuggest')}
    293. },
    294. {
    295. path: 'DataPermissionCategory',
    296. name: 'DataPermissionCategory',
    297. components: {DataPermissionCategory:() => import('@/pages/datapermisson/DataPermissionCategory')}
    298. },
    299. {
    300. path: 'WarehouseQuery',
    301. name: 'WarehouseQuery',
    302. components: {WarehouseQuery:() => import('@/pages/Warehouse/WarehouseQuery')}
    303. },
    304. {
    305. path: 'RoleDataPermission',
    306. name: 'RoleDataPermission',
    307. components: {RoleDataPermission:() => import('@/pages/datapermisson/RoleDataPermission')}
    308. },
    309. {
    310. path: 'ItemClass',
    311. name: 'ItemClass',
    312. components: {ItemClass:() => import('@/pages/ItemClass')}
    313. },
    314. {
    315. path: 'OtherPick',
    316. name: 'OtherPick',
    317. components: {OtherPick:() => import('@/pages/OtherPick')}
    318. },
    319. {
    320. path: 'OrganizationMgr',
    321. name: 'OrganizationMgr',
    322. components: {OrganizationMgr:() => import('@/pages/organization/OrganizationMgr')}
    323. },
    324. {
    325. path: 'AnnualMain',
    326. name: 'AnnualMain',
    327. components: {AnnualMain:() => import('@/pages/productionplan/annual/AnnualMain')}
    328. },
    329. {
    330. path: 'Apply',
    331. name: 'Apply',
    332. components: {Apply:() => import('@/pages/Apply')}
    333. },
    334. {
    335. path: 'OtherReceiving',
    336. name: 'OtherReceiving',
    337. components: {OtherReceiving:() => import('@/pages/OtherReceiving')}
    338. },
    339. {
    340. path: 'Unit',
    341. name: 'Unit',
    342. components: {Unit:() => import('@/pages/Unit')}
    343. },
    344. {
    345. // 入库
    346. path: 'Stockin',
    347. name: 'Stockin',
    348. components: {Stockin:() => import('@/pages/Stockin')}
    349. },
    350. {
    351. // 出库
    352. path: 'Stockout',
    353. name: 'Stockout',
    354. components: {Stockout:() => import('@/pages/Stockout')}
    355. },
    356. {
    357. // 物料存放规则
    358. path: 'MaterialRule',
    359. name: 'MaterialRule',
    360. components: {MaterialRule:() => import('@/pages/MaterialRule')}
    361. },
    362. {
    363. // 物料存放规则
    364. path: 'ProductReturn',
    365. name: 'ProductReturn',
    366. components: {ProductReturn:() => import('@/pages/ProductReturn')}
    367. },
    368. {
    369. path: 'TakeGoods',
    370. name: 'TakeGoods',
    371. components: {TakeGoods:() => import('@/pages/TakeGoods')}
    372. },
    373. {
    374. path: 'MonthlyMain',
    375. name: 'MonthlyMain',
    376. components: {MonthlyMain:() => import('@/pages/productionplan/monthly/MonthlyMain')}
    377. },
    378. {
    379. path: 'WeeklyMain',
    380. name: 'WeeklyMain',
    381. components: {WeeklyMain:() => import('@/pages/productionplan/weekly/WeeklyMain')},
    382. // meta: { keepAlive: false }
    383. // 如果isBack是false,表明需要获取新数据,否则就不再请求,直接使用缓存的数据
    384. meta: { isBack: false }
    385. },
    386. {
    387. path: 'WeeklyPlan',
    388. name: 'WeeklyPlan',
    389. components: {WeeklyPlan:() => import('@/pages/productionplan/weekly/WeeklyPlan')},
    390. // meta: { keepAlive: false }
    391. // 如果isBack是false,表明需要获取新数据,否则就不再请求,直接使用缓存的数据
    392. meta: { isBack: false }
    393. },
    394. {
    395. path: 'TaskMain',
    396. name: 'TaskMain',
    397. components: {TaskMain:() => import('@/pages/productiontask/TaskMain')},
    398. },
    399. {
    400. path: 'TaskDispatch',
    401. name: 'TaskDispatch',
    402. components: {TaskDispatch:() => import('@/pages/productiontask/TaskDispatch')},
    403. },
    404. {
    405. path: 'PrintTemplate',
    406. name: 'PrintTemplate',
    407. components: {PrintTemplate:() => import('@/pages/print/PrintTemplate')},
    408. },
    409. {
    410. path: 'UnloadLocation',
    411. name: 'UnloadLocation',
    412. components: {UnloadLocation:() => import('@/pages/BasicData/UnloadLocation')},
    413. },
    414. {
    415. path: 'TankInfo',
    416. name: 'TankInfo',
    417. components: {TankInfo:() => import('@/pages/tank/TankInfo')},
    418. },
    419. {
    420. path: 'TankFarmRuler',
    421. name: 'TankFarmRuler',
    422. components: {TankFarmRuler:() => import('@/pages/tank/TankFarmRuler')},
    423. },
    424. {
    425. path: 'TankDailyReport',
    426. name: 'TankDailyReport',
    427. components: {TankDailyReport:() => import('@/pages/tank/TankDailyReport')},
    428. },
    429. {
    430. path: 'TankInspection',
    431. name: 'TankInspection',
    432. components: {TankInspection:() => import('@/pages/tank/TankInspection')},
    433. },
    434. {
    435. // 托盘管理
    436. path: 'PalletInfo',
    437. name: 'PalletInfo',
    438. // component: resolve => require(['@/pages/PalletManage'], resolve)
    439. components: {PalletInfo:() => import('@/pages/Storage/PalletInfoManage')},
    440. },
    441. {
    442. // 库区类型
    443. path: 'StorageSort',
    444. name: 'StorageSort',
    445. // component: resolve => require(['@/pages/PalletManage'], resolve)
    446. components: {StorageSort:() => import('@/pages/Storage/StorageSortManage')},
    447. },
    448. {
    449. path: 'BusinessConfig',
    450. name: 'BusinessConfig',
    451. components: {BusinessConfig:() => import('@/pages/BusinessConfig')},
    452. },
    453. {
    454. //收发油
    455. path: 'ReceiveOutOil',
    456. name: 'ReceiveOutOil',
    457. components: {ReceiveOutOil:() => import('@/pages/ReceiveOutOil')},
    458. },
    459. {
    460. //采购收货管理
    461. path: 'PurchaseReceiptManage',
    462. name: 'PurchaseReceiptManage',
    463. components: {PurchaseReceiptManage:() => import('@/pages/PurchaseReceiptManage')},
    464. },
    465. {
    466. //成品油规格管理
    467. path: 'OilSpecManage',
    468. name: 'OilSpecManage',
    469. components: {OilSpecManage:() => import('@/pages/OilSpecManage')},
    470. },
    471. {
    472. //初始化规则
    473. path: 'SystemRestore',
    474. name: 'SystemRestore',
    475. components: {SystemRestore:() => import('@/pages/SYS/SystemRestore')},
    476. },
    477. {
    478. // 仓库
    479. path: 'WarehouseInfo',
    480. name: 'WarehouseInfo',
    481. components: {WarehouseInfo:() => import('@/pages/Storage/WarehouseInfoManage')},
    482. },
    483. {
    484. // 称重录入
    485. path: 'WeighInput',
    486. name: 'WeighInput',
    487. components: {WeighInput:() => import('@/pages/weighRecords/WeighInput')},
    488. },
    489. {
    490. // 菜籽收购(临时)
    491. path: 'RapeseedBuyTemp',
    492. name: 'RapeseedBuyTemp',
    493. components: {RapeseedBuyTemp:() => import('@/pages/rapeseedBuyTemps/RapeseedBuyTemp')},
    494. },
    495. {
    496. // 项目
    497. path: 'Project',
    498. name: 'Project',
    499. components: {Project:() => import('@/pages/BasicData/Project')},
    500. },
    501. {
    502. // 项目分类
    503. path: 'ProjectClass',
    504. name: 'ProjectClass',
    505. components: {ProjectClass:() => import('@/pages/BasicData/ProjectClass')},
    506. },
    507. {
    508. // 存货分类
    509. path: 'InventoryClass',
    510. name: 'InventoryClass',
    511. components: {InventoryClass:() => import('@/pages/BasicData/InventoryClass')},
    512. },
    513. {
    514. // 部门
    515. path: 'Department',
    516. name: 'Department',
    517. components: {Department:() => import('@/pages/BasicData/Department')},
    518. },
    519. {
    520. // 员工资料
    521. path: 'Employee',
    522. name: 'Employee',
    523. components: {Employee:() => import('@/pages/BasicData/Employee')},
    524. },
    525. {
    526. // 往来单位分类
    527. path: 'PartnerClass',
    528. name: 'PartnerClass',
    529. components: {PartnerClass:() => import('@/pages/BasicData/PartnerClass')}
    530. },
    531. {
    532. // 地区资料
    533. path: 'District',
    534. name: 'District',
    535. components: {District:() => import('@/pages/BasicData/District')}
    536. },
    537. {
    538. // 往来单位
    539. path: 'Partner',
    540. name: 'Partner',
    541. components: {Partner:() => import('@/pages/BasicData/Partner')}
    542. },
    543. {
    544. // 品牌
    545. path: 'Product',
    546. name: 'Product',
    547. components: {Product:() => import('@/pages/BasicData/Product')}
    548. },
    549. {
    550. // 计量单位
    551. path: 'UnitInfo',
    552. name: 'UnitInfo',
    553. components: {UnitInfo:() => import('@/pages/BasicData/UnitInfo')}
    554. },
    555. {
    556. // 存货信息
    557. path: 'InventoryInfo',
    558. name: 'InventoryInfo',
    559. components: {InventoryInfo:() => import('@/pages/BasicData/InventoryInfo')}
    560. },
    561. {
    562. // 币种
    563. path: 'Currency',
    564. name: 'Currency',
    565. components: {Currency:() => import('@/pages/BasicData/Currency')}
    566. },
    567. {
    568. // 出入库类别
    569. path: 'RDStyle',
    570. name: 'RDStyle',
    571. components: {RDStyle:() => import('@/pages/BasicData/RDStyle')}
    572. },
    573. {
    574. // 业务分类
    575. path: 'BusiType',
    576. name: 'BusiType',
    577. components: {BusiType:() => import('@/pages/BasicData/BusiType')}
    578. },
    579. {
    580. //单据分类
    581. path: 'BillType',
    582. name: 'BillType',
    583. components: {BillType:() => import('@/pages/BasicData/BillType')}
    584. },
    585. {
    586. // 调配订单
    587. path: 'MixOilOrder',
    588. name: 'MixOilOrder',
    589. components: {MixOilOrder:() => import('@/pages/MixOil/MixOilOrder')}
    590. },
    591. {
    592. // 调配订单调配过程
    593. path: 'MixOilOrderDetail',
    594. name: 'MixOilOrderDetail',
    595. components: {MixOilOrderDetail:() => import('@/pages/MixOil/MixOilOrderDetail')}
    596. },
    597. {
    598. // 调配订单明细浏览
    599. path: 'MixOilOrderDetailView',
    600. name: 'MixOilOrderDetailView',
    601. components: {MixOilOrderDetailView:() => import('@/pages/MixOil/MixOilOrderDetailView')}
    602. },
    603. {
    604. // 行驶证
    605. path: 'VehiceInfo',
    606. name: 'VehiceInfo',
    607. components: {VehiceInfo:() => import('@/pages/BasicData/VehiceInfo')}
    608. },
    609. {
    610. // 司机信息
    611. path: 'DriverInfo',
    612. name: 'DriverInfo',
    613. components: {DriverInfo:() => import('@/pages/BasicData/DriverInfo')}
    614. },
    615. {
    616. // 叫号入厂
    617. path: 'CallFactory',
    618. name: 'CallFactory',
    619. components: {CallFactory:() => import('@/pages/PreInStore/CallFactory')}
    620. },
    621. {
    622. // 菜籽入库
    623. path: 'PreInStoreExtend',
    624. name: 'PreInStoreExtend',
    625. components: {PreInStoreExtend:() => import('@/pages/PreInStore/PreInStoreExtend')}
    626. },
    627. {
    628. // 出厂还卡
    629. path: 'FactoryCardReturn',
    630. name: 'FactoryCardReturn',
    631. components: {FactoryCardReturn:() => import('@/pages/PreInStore/CardReturnAudit')}
    632. },
    633. {
    634. // 审核入库
    635. path: 'AuditWarehouse',
    636. name: 'AuditWarehouse',
    637. components: {AuditWarehouse:() => import('@/pages/PreInStore/CardReturnAudit')}
    638. },
    639. {
    640. // 质检模板
    641. path: 'QTTemplate',
    642. name: 'QTTemplate',
    643. components: {QTTemplate:() => import('@/pages/BasicData/QTTemplate')}
    644. },
    645. {
    646. // 产成品入库
    647. path: 'ProductReceiveIn',
    648. name: 'ProductReceiveIn',
    649. components: {ProductReceiveIn:() => import('@/pages/StoreBill/ProductReceive')}
    650. },
    651. {
    652. // 产成品出库
    653. path: 'ProductReceiveOut',
    654. name: 'ProductReceiveOut',
    655. components: {ProductReceiveOut:() => import('@/pages/StoreBill/ProductReceive')}
    656. },
    657. {
    658. // 产成品出入库-添加修改
    659. path: 'ProductReceiveAddUpdateIn',
    660. name: 'ProductReceiveAddUpdateIn',
    661. components: {ProductReceiveAddUpdateIn:() => import('@/pages/StoreBill/ProductReceiveAddUpdate')}
    662. },
    663. {
    664. // 产成品出入库-添加修改
    665. path: 'ProductReceiveAddUpdateOut',
    666. name: 'ProductReceiveAddUpdateOut',
    667. components: {ProductReceiveAddUpdateOut:() => import('@/pages/StoreBill/ProductReceiveAddUpdate')}
    668. },
    669. {
    670. //进厂质检
    671. path: 'InQualityTest',
    672. name: 'InQualityTest',
    673. components: {InQualityTest:() => import('@/pages/PreInStore/InQualityTest')}
    674. },
    675. {
    676. //出入厂初检
    677. path: 'PreInStorePreQT1',
    678. name: 'PreInStorePreQT1',
    679. components: {PreInStorePreQT1:() => import('@/pages/PreInStore/PreInStoreQT')}
    680. },
    681. {
    682. //出入厂复检
    683. path: 'PreInStoreQT1',
    684. name: 'PreInStoreQT1',
    685. components: {PreInStoreQT1:() => import('@/pages/PreInStore/PreInStoreQT')}
    686. },
    687. {
    688. //出入厂初检
    689. path: 'PreInStorePreQT0',
    690. name: 'PreInStorePreQT0',
    691. components: {PreInStorePreQT0:() => import('@/pages/PreInStore/PreInStoreQT')}
    692. },
    693. {
    694. //出入厂复检
    695. path: 'PreInStoreQT0',
    696. name: 'PreInStoreQT0',
    697. components: {PreInStoreQT0:() => import('@/pages/PreInStore/PreInStoreQT')}
    698. },
    699. {
    700. //出入厂毛重
    701. path: 'PreInStoreGross',
    702. name: 'PreInStoreGross',
    703. components: {PreInStoreGross:() => import('@/pages/PreInStore/PreInStoreScale')}
    704. },
    705. {
    706. //出入厂皮重
    707. path: 'PreInStoreUnladen',
    708. name: 'PreInStoreUnladen',
    709. components: {PreInStoreUnladen:() => import('@/pages/PreInStore/PreInStoreScale')}
    710. },
    711. {
    712. //出入厂装卸
    713. path: 'PreInStoreLoad',
    714. name: 'PreInStoreLoad',
    715. components: {PreInStoreLoad:() => import('@/pages/PreInStore/PreInStoreLoad')}
    716. },
    717. {
    718. //系统枚举
    719. path: 'SysEnum',
    720. name: 'SysEnum',
    721. components: {SysEnum:() => import('@/pages/BasicData/SysEnum')}
    722. },
    723. {
    724. //入厂登记
    725. path: 'FactoryEntryRegister',
    726. name: 'FactoryEntryRegister',
    727. components: {FactoryEntryRegister:() => import('@/pages/PreInStore/FactoryEntryRegister')}
    728. },
    729. {
    730. //预约录入
    731. path: 'ReservationEntry',
    732. name: 'ReservationEntry',
    733. components: {ReservationEntry:() => import('@/pages/PreInStore/ReservationEntry')}
    734. },
    735. {
    736. //货位
    737. path: 'InvLocation',
    738. name: 'InvLocation',
    739. components: {InvLocation:() => import('@/pages/BasicData/InvLocation')}
    740. },
    741. {
    742. //采购入库单
    743. path: 'PurchaseWarehousing',
    744. name: 'PurchaseWarehousing',
    745. components: {PurchaseWarehousing:() => import('@/pages/PrevRDFactory/PrevRDFactoryBill')}
    746. },
    747. {
    748. //采购退货单
    749. path: 'PurchaseReturnGoods',
    750. name: 'PurchaseReturnGoods',
    751. components: {PurchaseReturnGoods:() => import('@/pages/PrevRDFactory/PrevRDFactoryBill')}
    752. },
    753. {
    754. //销售出库单
    755. path: 'SaleIssue',
    756. name: 'SaleIssue',
    757. components: {SaleIssue:() => import('@/pages/PrevRDFactory/PrevRDFactoryBill')}
    758. },
    759. {
    760. //销售退货单
    761. path: 'SaleReturnGoods',
    762. name: 'SaleReturnGoods',
    763. components: {SaleReturnGoods:() => import('@/pages/PrevRDFactory/PrevRDFactoryBill')}
    764. },
    765. {
    766. //材料出库单
    767. path: 'MaterialDispatchBillIn',
    768. name: 'MaterialDispatchBillIn',
    769. components: {MaterialDispatchBillIn:() => import('@/pages/StoreBill/MaterialDispatchBill')}
    770. },
    771. {
    772. //材料出库退货单
    773. path: 'MaterialDispatchBillOut',
    774. name: 'MaterialDispatchBillOut',
    775. components: {MaterialDispatchBillOut:() => import('@/pages/StoreBill/MaterialDispatchBill')}
    776. },
    777. {
    778. //材料出库单-添加修改
    779. path: 'MaterialDispatchBillAddUpdateIn',
    780. name: 'MaterialDispatchBillAddUpdateIn',
    781. components: {MaterialDispatchBillAddUpdateIn:() => import('@/pages/StoreBill/MaterialDispatchBillAddUpdate')}
    782. },
    783. {
    784. //材料出库单-添加修改
    785. path: 'MaterialDispatchBillAddUpdateOut',
    786. name: 'MaterialDispatchBillAddUpdateOut',
    787. components: {MaterialDispatchBillAddUpdateOut:() => import('@/pages/StoreBill/MaterialDispatchBillAddUpdate')}
    788. },
    789. {
    790. //粕库报表
    791. path: 'MealWarehouse',
    792. name: 'MealWarehouse',
    793. components: {MealWarehouse:() => import('@/pages/Report/MealWarehouse')}
    794. },
    795. {
    796. //包装油BOM清单
    797. path: 'PackagingOilBom',
    798. name: 'PackagingOilBom',
    799. components: {PackagingOilBom:() => import('@/pages/BasicData/PackagingOilBom')}
    800. },
    801. {
    802. //用电量报表
    803. path: 'PowerReport',
    804. name: 'PowerReport',
    805. components: {PowerReport:() => import('@/pages/Energy/PowerReport')}
    806. },
    807. {
    808. //用水量报表
    809. path: 'WaterReport',
    810. name: 'WaterReport',
    811. components: {WaterReport:() => import('@/pages/Energy/WaterReport')}
    812. },
    813. {
    814. //用蒸汽量报表
    815. path: 'SteamReport',
    816. name: 'SteamReport',
    817. components: {SteamReport:() => import('@/pages/Energy/SteamReport')}
    818. },
    819. {
    820. //生产报备
    821. path: 'TaskEvent',
    822. name: 'TaskEvent',
    823. components: {TaskEvent:() => import('@/pages/productiontask/TaskEvent')}
    824. },
    825. {
    826. //质检点位
    827. path: 'QTLocation',
    828. name: 'QTLocation',
    829. components: {QTLocation:() => import('@/pages/BasicData/QTLocation')}
    830. },
    831. {
    832. //存货质检设置
    833. path: 'InventoryQTSet',
    834. name: 'InventoryQTSet',
    835. components: {InventoryQTSet:() => import('@/pages/BasicData/InventoryQTSet')}
    836. },
    837. {
    838. //精炼生产订单明细
    839. path: 'RefineDetail',
    840. name: 'RefineDetail',
    841. components: {RefineDetail:() => import('@/pages/Refine/RefineDetail')}
    842. },
    843. {
    844. //浏览精炼生产订单明细
    845. path: 'RefineDetailView',
    846. name: 'RefineDetailView',
    847. components: {RefineDetailView:() => import('@/pages/Refine/RefineDetailView')}
    848. },
    849. {
    850. //过程质检-烘干
    851. path: 'Dry',
    852. name: 'Dry',
    853. components: {Dry:() => import('@/pages/QTs/ProcessQT')}
    854. },
    855. {
    856. //过程质检-清理
    857. path: 'Clear',
    858. name: 'Clear',
    859. components: {Clear:() => import('@/pages/QTs/ProcessQT')}
    860. },
    861. {
    862. //过程质检-预产
    863. path: 'PreProduction',
    864. name: 'PreProduction',
    865. components: {PreProduction:() => import('@/pages/QTs/ProcessQT')}
    866. },
    867. {
    868. //过程质检-预榨炒料
    869. path: 'PrePressedFriedMaterials',
    870. name: 'PrePressedFriedMaterials',
    871. components: {PrePressedFriedMaterials:() => import('@/pages/QTs/ProcessQT')}
    872. },
    873. {
    874. //过程质检-预榨产出
    875. path: 'PrePressedOutput',
    876. name: 'PrePressedOutput',
    877. components: {PrePressedOutput:() => import('@/pages/QTs/ProcessQT')}
    878. },
    879. {
    880. //过程质检-浸出
    881. path: 'Leach',
    882. name: 'Leach',
    883. components: {Leach:() => import('@/pages/QTs/ProcessQT')}
    884. },
    885. {
    886. //过程质检-精炼
    887. path: 'Refine',
    888. name: 'Refine',
    889. components: {Refine:() => import('@/pages/QTs/ProcessQT')}
    890. },
    891. {
    892. //过程质检-调和
    893. path: 'Reconcile',
    894. name: 'Reconcile',
    895. components: {Reconcile:() => import('@/pages/QTs/ProcessQT')}
    896. },
    897. {
    898. //过程质检-包装
    899. path: 'Packing',
    900. name: 'Packing',
    901. components: {Packing:() => import('@/pages/QTs/ProcessQT')}
    902. },
    903. {
    904. //设备预警信息看板
    905. path: 'EquipmentAlarmKanban',
    906. name: 'EquipmentAlarmKanban',
    907. components: {EquipmentAlarmKanban:() => import('@/pages/kanban/EquipmentAlarmKanban')}
    908. },
    909. {
    910. //能源消耗情况看板
    911. path: 'EnergyStatusKanBan',
    912. name: 'EnergyStatusKanBan',
    913. components: {EnergyStatusKanBan:() => import('@/pages/kanban/EnergyStatusKanBan')}
    914. },
    915. {
    916. //成本效益分析看板
    917. path: 'CostBenefitKanban',
    918. name: 'CostBenefitKanban',
    919. components: {CostBenefitKanban:() => import('@/pages/kanban/CostBenefitKanban')}
    920. },
    921. {
    922. //其他质检-污水处理
    923. path: 'Sewerage',
    924. name: 'Sewerage',
    925. components: {Sewerage:() => import('@/pages/QTs/OtherQT')}
    926. },
    927. {
    928. //仓库质检-筒仓
    929. path: 'Silo',
    930. name: 'Silo',
    931. components: {Silo:() => import('@/pages/QTs/WarehouseQT')}
    932. },
    933. {
    934. //仓库质检-压榨毛油罐
    935. path: 'PressCrudeOilTank',
    936. name: 'PressCrudeOilTank',
    937. components: {PressCrudeOilTank:() => import('@/pages/QTs/WarehouseQT')}
    938. },
    939. {
    940. //仓库质检-浸出毛油罐
    941. path: 'LeachingCrudeOilTank',
    942. name: 'LeachingCrudeOilTank',
    943. components: {LeachingCrudeOilTank:() => import('@/pages/QTs/WarehouseQT')}
    944. },
    945. {
    946. //仓库质检-精炼成品油罐
    947. path: 'RefinedProductCrudeOilTank',
    948. name: 'RefinedProductCrudeOilTank',
    949. components: {RefinedProductCrudeOilTank:() => import('@/pages/QTs/WarehouseQT')}
    950. },
    951. {
    952. //仓库质检-小包装仓库
    953. path: 'SmallPackagingWarehouse',
    954. name: 'SmallPackagingWarehouse',
    955. components: {SmallPackagingWarehouse:() => import('@/pages/QTs/WarehouseQT')}
    956. },
    957. {
    958. //仓库质检-粕库
    959. path: 'MealStorehouse',
    960. name: 'MealStorehouse',
    961. components: {MealStorehouse:() => import('@/pages/QTs/WarehouseQT')}
    962. },
    963. {
    964. //包装车间生产看板
    965. path: "PackagingWorkshopKanban",
    966. name: 'PackagingWorkshopKanban',
    967. components: {PackagingWorkshopKanban:() => import('@/pages/kanban/PackagingWorkshopKanban')}
    968. },
    969. {
    970. //精炼车间1号离心机
    971. path: "JLWorkshopLXJ01Kanban",
    972. name: 'JLWorkshopLXJ01Kanban',
    973. components: {JLWorkshopLXJ01Kanban:() => import('@/pages/kanban/JLWorkshopLXJ01Kanban')}
    974. },
    975. {
    976. //精炼车间2号离心机
    977. path: "JLWorkshopLXJ02Kanban",
    978. name: 'JLWorkshopLXJ02Kanban',
    979. components: {JLWorkshopLXJ02Kanban:() => import('@/pages/kanban/JLWorkshopLXJ02Kanban')}
    980. },
    981. {
    982. //自控变量配置-调配单
    983. path: "TagConfigMixOilOrder",
    984. name: "TagConfigMixOilOrder",
    985. components: {TagConfigMixOilOrder:() => import('@/pages/TagConfig/TagConfigMixOilOrder')}
    986. },
    987. {
    988. //财务报表-收入报表
    989. path: "Revenue",
    990. name: "Revenue",
    991. components: {Revenue:() => import('@/pages/FinancialStatements/RevenueExpenditure')}
    992. },
    993. {
    994. //财务报表-支出报表
    995. path: "Expenditure",
    996. name: "Expenditure",
    997. components: {Expenditure:() => import('@/pages/FinancialStatements/RevenueExpenditure')}
    998. },
    999. {
    1000. //财务报表-年度预算
    1001. path: "Budget",
    1002. name: "Budget",
    1003. components: {Budget:() => import('@/pages/FinancialStatements/BudgetBalance')}
    1004. },
    1005. {
    1006. //财务报表-预算结余
    1007. path: "Balance",
    1008. name: "Balance",
    1009. components: {Balance:() => import('@/pages/FinancialStatements/BudgetBalance')}
    1010. },
    1011. ]
    1012. }
    1013. ]
    1014. });

  • 相关阅读:
    LeetCode --- 1979. Find Greatest Common Divisor of Array 解题报告
    JavaScript中 Generator 函数详解
    Pytorch中的广播机制
    普通人下场全球贸易,新一轮结构性机会浮出水面
    Node.js的多版本管理工具之nvm
    PAN++学习笔记
    web:[RoarCTF 2019]Easy Calc
    【Golang】grpc环境踩的坑
    Java项目硅谷课堂学习笔记-P4前端基础知识2
    适配器模式
  • 原文地址:https://blog.csdn.net/lee576/article/details/127937929