loulijun2021
2023-04-26 886190e340964bb409bd15d62644f33fdb08f98e
1.提交
已修改6个文件
1775 ■■■■■ 文件已修改
src/router/index.js 1673 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/permission.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/jcsz/jsqd.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/kb/ckgl.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/kb/zhkb.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js
@@ -95,616 +95,520 @@
  // { path: '*', redirect: '/404', hidden: true }
]
export const asyncRoutes = [
  // 1.系统管理(基础设置类)
  // {
  //   path: '/gtt',
  //   component: Layout,
  //   redirect: '/gtt/back',
  //   name: '基础设置',
  //   code: '1001',
  //   meta: { code: '1001', title: '基础设置', icon: 'tree' },
  //   alwaysShow: true, // 当children只有一个时,也显示父菜单
  //   children: [{
  //     path: 'back',
  //     name: 'YYQDCancel',
  //     code: '1011',
  //     component: () => import('@/views/gantt_back/gantt_back'),
  //     meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
  //   }]
  // },
  {
    path: '/systemSetting',
    path: '/jcsz',
    component: Layout,
    redirect: '/systemSetting/organizationList',
    name: '系统管理',
    code: '2001',
    meta: { code: '2001', title: '系统管理', icon: 'xtsz' },
    redirect: '/jcsz/zzjg',
    name: '基础设置',
    code: '1001',
    meta: { code: '1001', title: '基础设置', icon: 'tree' },
    alwaysShow: true, // 当children只有一个时,也显示父菜单
    children: [
      {
        path: 'organizationList',
        name: 'organizationListCancel',
        path: 'zzjg',
        name: 'ZZJGCancel',
        code: '1010',
        component: () => import('@/views/jcsz/zzjg'),
        meta: { code: '1010', title: '组织架构', icon: '', keepAlive: true }
      }, {
        path: 'roleList',
        name: 'roleListCancel',
        code: '1012',
        component: () => import('@/views/jcsz/jsqd'),
        meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true }
      }
    ]
  },
  // 2.客户管理
  {
    path: '/basicSettings',
    component: Layout,
    redirect: '/basicSettings/userList',
    name: '客户管理',
    code: '2002',
    meta: { code: '2002', title: '客户管理', icon: 'khgl' },
    alwaysShow: true, // 当children只有一个时,也显示父菜单
    children: [
      {
        path: 'userList',
        name: 'userListCancel',
        path: 'yhqd',
        name: 'YYQDCancel',
        code: '1011',
        component: () => import('@/views/jcsz/yhqd'),
        meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
      }, {
        path: 'contactUnitList',
        name: 'contactUnitListCancel',
        path: 'jsqd',
        name: 'JSQDCancel',
        code: '1012',
        component: () => import('@/views/jcsz/jsqd'),
        meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true }
      }, {
        path: 'wldw',
        name: 'WLDWCancel',
        code: '1013',
        component: () => import('@/views/jcsz/wldw'),
        meta: { code: '1013', title: '往来单位', icon: '', keepAlive: true }
      }
    ]
  },
  // 3.数据采集管理   sop上传 灵翔项目的看下
  // {
  //   path: '/dataCollect',
  //   component: Layout,
  //   redirect: '/dataCollect/purchasesList',
  //   name: '数据采集管理',
  //   code: '2003',
  //   meta: { code: '2003', title: '数据采集管理', icon: 'cggl' },
  //   alwaysShow: true,
  //   children: [
  //     {
  //       path: 'purchasesList',
  //       name: 'CGDDCancel',
  //       code: '1104',
  //       component: () => import('@/views/xtsz/sc'),
  //       meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true }
  //     }
  //   ]
  // },
  // 4.订单管理
  {
    path: '/orderManager',
    component: Layout,
    redirect: '/orderManager/erpProduceOrder',
    name: '生产管理',
    code: '2004',
    meta: { code: '2004', title: '生产管理', icon: 'production' },
    alwaysShow: true,
    children: [
      {
        path: 'erpProduceOrder',
        name: 'produceOrderCancel',
        code: '1070',
        component: () => import('@/views/scgl/scdd'),
        meta: { code: '1070', title: 'ERP生产订单', icon: '', keepAlive: true }
      }
    ]
  },
  // 5.物料计划管理
  // {
  //   path: '/materialPlanManager',
  //   component: Layout,
  //   redirect: '/materialPlanManager/materialList',
  //   name: '物料计划管理',
  //   code: '2005',
  //   meta: { code: '2005', title: '物料计划管理', icon: 'icu' },
  //   alwaysShow: true,
  //   children: [
  //     {
  //       path: 'materialList',
  //       name: 'materialListCancel',
  //       code: '1062',
  //       component: () => import('@/views/zzmx/wlqd'),
  //       meta: { code: '1062', title: '物料清单', icon: '', keepAlive: true }
  //     }
  //   ]
  // },
  // 6.质量管理
  {
    path: '/qualityManager',
    component: Layout,
    redirect: '/qualityManager/defectDefine',
    name: '质量管理',
    code: '2006',
    meta: { code: '2006', title: '质量管理', icon: 'quality' },
    alwaysShow: true,
    children: [
      {
        path: 'defectDefine',
        name: 'defectDefineCancel',
        code: '1081',
        component: () => import('@/views/zlgl/qxdy'),
        meta: { code: '1081', title: '缺陷定义', icon: '', keepAlive: true }
      }
      // {
      //   path: 'qualityPlaning',
      //   name: 'ZJFACancel',
      //   code: '1088',
      //   component: () => import('@/views/qualityManager/qualityPlaning'),
      //   meta: { code: '1088', title: '质检方案', icon: '', keepAlive: true }
      // }
    ]
  },
  // 7.工序管理
  {
    path: '/processManager',
    component: Layout,
    redirect: '/processManager/processCheck',
    name: '工序管理',
    code: '2007',
    meta: { code: '2007', title: '工序管理', icon: 'gxgl' },
    alwaysShow: true,
    children: [
      {
        path: 'processCheck',
        name: 'processCheckCancel',
        code: '1082',
        component: () => import('@/views/zlgl/gxjy'),
        meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckStandard',
        name: 'processCheckStandardCancel',
        code: '1085',
        component: () => import('@/views/zlgl/gxjybz'),
        meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckItem',
        name: 'processCheckItemCancel',
        code: '1086',
        component: () => import('@/views/zlgl/gxjyxm'),
        meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckRecord',
        name: 'processCheckRecordCancel',
        code: '1087',
        component: () => import('@/views/zlgl/gxjyjl'),
        meta: { code: '1087', title: '工序检验记录', icon: '', keepAlive: true }
        path: 'adsz',
        name: 'ADZZCancel',
        code: '1014',
        component: () => import('@/views/jcsz/adsz'),
        meta: { code: '1014', title: '安灯设置', icon: '', keepAlive: true }
      }
    ]
  },
  // 8.人力资源管理
  {
    path: '/resourcesManager',
    path: '/sbgl',
    component: Layout,
    redirect: '/resourcesManager/groupSalaryList',
    name: '人力资源管理',
    code: '2008',
    meta: { code: '1008', title: '人力资源管理', icon: 'rlzy' },
    redirect: '/sbgl/sblx',
    name: '设备管理',
    code: '1002',
    meta: { code: '1002', title: '设备管理', icon: 'example' },
    alwaysShow: true,
    children: [
      {
        path: 'groupSalaryList',
        name: 'groupSalaryListCancel',
        code: '1090',
        component: () => import('@/views/bbgl/bzgz'),
        meta: { code: '1090', title: '班组工资统计报表', icon: '', keepAlive: true }
        path: 'sblx',
        name: 'SBLXCancel',
        code: '1020',
        component: () => import('@/views/sbgl/sblx'),
        meta: { code: '1020', title: '设备类型', icon: '', keepAlive: true }
      },
      // {
      //   path: 'personSalaryList',
      //   name: 'personSalaryListCancel',
      //   code: '1091',
      //   component: () => import('@/views/bbgl/rygz'),
      //   meta: { code: '1091', title: '人员工资明细报表', icon: '', keepAlive: true }
      // },
      {
        path: 'subcontractingOperation',
        name: 'subcontractingOperationCancel',
        code: '1092',
        component: () => import('@/views/bbgl/wwgx'),
        meta: { code: '1092', title: '委外工序明细报表', icon: '', keepAlive: true }
      }
    ]
  },
  // 9.智能报表
  {
    path: '/reportManager',
    component: Layout,
    redirect: '/reportManager/defectDetailList',
    name: '智能报表',
    code: '2009',
    meta: { code: '2009', title: '智能报表', icon: 'bbgl' },
    alwaysShow: true,
    children: [
      {
        path: 'defectDetailList',
        name: 'defectDetailListCancel',
        code: '1093',
        component: () => import('@/views/bbgl/blmx'),
        meta: { code: '1093', title: '不良明细报表', icon: '', keepAlive: true }
        path: 'wxjl',
        code: '1029Cancel',
        name: 'WXJL',
        component: () => import('@/views/sbgl/wxjl'),
        meta: { code: '1029', title: '维修记录', icon: '', keepAlive: true }
      }, {
        path: 'abnormalQualityList',
        name: 'abnormalQualityListCancel',
        code: '1094',
        component: () => import('@/views/bbgl/pzyc'),
        meta: { code: '1094', title: '品质异常排行报表', icon: '', keepAlive: true }
      }, {
        path: 'repairDetailList',
        name: 'repairDetailListCancel',
        code: '1095',
        component: () => import('@/views/bbgl/wxmx'),
        meta: { code: '1095', title: '维修明细报表', icon: '', keepAlive: true }
        path: 'sbz',
        name: 'SBZCancel',
        code: '1021',
        component: () => import('@/views/sbgl/sbz'),
        meta: { code: '1021', title: '设备组', icon: '', keepAlive: true }
      },
      {
        path: 'sbqd',
        name: 'sbqdCancel',
        code: '1022',
        component: () => import('@/views/sbgl/sbqd'),
        meta: { code: '1022', title: '设备清单', icon: '', keepAlive: true }
      },
      {
        path: 'djbz',
        name: 'DJBZCancel',
        code: '1023',
        component: () => import('@/views/sbgl/djbz'),
        meta: { code: '1023', title: '点检标准', icon: '', keepAlive: true }
      },
      {
        path: 'djbw',
        name: 'DJBWCancel',
        code: '1024',
        component: () => import('@/views/sbgl/djbw'),
        meta: { code: '1024', title: '点检部位', icon: '', keepAlive: true }
      },
      {
        path: 'bybz',
        name: 'BYBZCancel',
        code: '1025',
        component: () => import('@/views/sbgl/bybz'),
        meta: { code: '1025', title: '保养标准', icon: '', keepAlive: true }
      },
      {
        path: 'bybw',
        name: 'BYBWCancel',
        code: '1026',
        component: () => import('@/views/sbgl/bybw'),
        meta: { code: '1026', title: '保养部位', icon: '', keepAlive: true }
      },
      {
        path: 'djjl',
        name: 'DJJLCancel',
        code: '1027',
        component: () => import('@/views/sbgl/djjl'),
        meta: { code: '1027', title: '点检记录', icon: '', keepAlive: true }
      },
      {
        path: 'byjl',
        name: 'BYJLCancel',
        code: '1028',
        component: () => import('@/views/sbgl/byjl'),
        meta: { code: '1028', title: '保养记录', icon: '', keepAlive: true }
      }
      // {
      //   path: 'installationLampList',
      //   name: 'installationLampListCancel',
      //   code: '1096',
      //   component: () => import('@/views/reportManager/installationLampList'),
      //   meta: { code: '1096', title: '安灯报表', icon: '', keepAlive: true }
      // }
    ]
  },
  // 10.库存管理
  {
    path: '/inventoryManager',
    path: '/gzgl',
    component: Layout,
    redirect: '/inventoryManager/storehouseDefine',
    name: '库存管理',
    code: '2010',
    meta: { code: '2010', title: '库存管理', icon: 'table' },
    redirect: '/gzgl/gzlx',
    name: '工装管理',
    code: '1003',
    meta: { code: '1003', title: '工装管理', icon: 'component' },
    alwaysShow: true,
    children: [
      {
        path: 'storehouseDefine',
        name: 'storehouseDefineCancel',
        path: 'gzlx',
        name: 'GZLXCancel',
        code: '1030',
        component: () => import('@/views/gzgl/gzlx'),
        meta: { code: '1030', title: '工装类型', icon: '', keepAlive: true }
      }, {
        path: 'sjxj',
        name: 'SJXJCancel',
        code: '1039',
        component: () => import('@/views/gzgl/sjxj'),
        meta: { code: '1039', title: '上机下机', icon: '', keepAlive: true }
      }, {
        path: 'ckrk',
        name: 'CKRKCancel',
        code: '1040',
        component: () => import('@/views/gzgl/ckrk'),
        meta: { code: '1040', title: '出库入库', icon: '', keepAlive: true }
      }, {
        path: 'gzqd',
        name: 'GZQDCancel',
        code: '1031',
        component: () => import('@/views/gzgl/gzqd'),
        meta: { code: '1031', title: '工装清单', icon: '', keepAlive: true }
      }, {
        path: 'djbz',
        name: 'DJBZCancel',
        code: '1032',
        component: () => import('@/views/gzgl/djbz'),
        meta: { code: '1032', title: '点检标准', icon: '', keepAlive: true }
      }, {
        path: 'djbw',
        name: 'DJBWCancel',
        code: '1033',
        component: () => import('@/views/gzgl/djbw'),
        meta: { code: '1033', title: '点检部位', icon: '', keepAlive: true }
      }, {
        path: 'bybz',
        name: 'BYBZCancel',
        code: '1034',
        component: () => import('@/views/gzgl/bybz'),
        meta: { code: '1034', title: '保养标准', icon: '', keepAlive: true }
      }, {
        path: 'bybw',
        name: 'BYBWCancel',
        code: '1035',
        component: () => import('@/views/gzgl/bybw'),
        meta: { code: '1035', title: '保养部位', icon: '', keepAlive: true }
      }, {
        path: 'djjl',
        name: 'DJJLCancel',
        code: '1036',
        component: () => import('@/views/gzgl/djjl'),
        meta: { code: '1036', title: '点检记录', icon: '', keepAlive: true }
      }, {
        path: 'byjl',
        name: 'BYJLCancel',
        code: '1037',
        component: () => import('@/views/gzgl/byjl'),
        meta: { code: '1037', title: '保养记录', icon: '', keepAlive: true }
      }, {
        path: 'gzwx',
        name: 'GZWXCancel',
        code: '1038',
        component: () => import('@/views/gzgl/gzwx'),
        meta: { code: '1038', title: '工装维修', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/wlgl',
    component: Layout,
    redirect: '/wlgl/ckdy',
    name: '物料管理',
    code: '1004',
    meta: { code: '1004', title: '物料管理', icon: 'table' },
    alwaysShow: true,
    children: [
      {
        path: 'ckdy',
        name: 'CKDYCancel',
        code: '1050',
        component: () => import('@/views/wlgl/ckdy'),
        meta: { code: '1050', title: '仓库定义', icon: '', keepAlive: true }
      },
      {
        path: 'locationDefine',
        name: 'locationDefineCancel',
        path: 'kwdy',
        name: 'KWDYCancel',
        code: '1051',
        component: () => import('@/views/wlgl/kwdy'),
        meta: { code: '1051', title: '库位定义', icon: '', keepAlive: true }
      }, {
        path: 'rqlx',
        name: 'RYLXCancel',
        code: '1052',
        component: () => import('@/views/wlgl/rqlx'),
        meta: { code: '1052', title: '容器类型', icon: '', keepAlive: true }
      }, {
        path: 'rqqd',
        name: 'RQQDCancel',
        code: '1053',
        component: () => import('@/views/wlgl/rqqd'),
        meta: { code: '1053', title: '容器清单', icon: '', keepAlive: true }
      }, {
        path: 'crkjl',
        name: 'CRKJLCancel',
        code: '1054',
        component: () => import('@/views/wlgl/crkjl'),
        meta: { code: '1054', title: '出入库记录', icon: '', keepAlive: true }
      }, {
        path: 'kccx',
        name: 'KCCXCancel',
        code: '1055',
        component: () => import('@/views/wlgl/kccx'),
        meta: { code: '1055', title: '库存查询', icon: '', keepAlive: true }
      }
      // {
      //   path: 'containerType',
      //   name: 'containerTypeCancel',
      //   code: '1052',
      //   component: () => import('@/views/materialManager/containerType'),
      //   meta: { code: '1052', title: '容器类型', icon: '', keepAlive: true }
      // }, {
      //   path: 'containerList',
      //   name: 'containerListCancel',
      //   code: '1053',
      //   component: () => import('@/views/materialManager/containerList'),
      //   meta: { code: '1053', title: '容器清单', icon: '', keepAlive: true }
      // }, {
      //   path: 'inOutboundRecord',
      //   name: 'inOutboundRecordCancel',
      //   code: '1054',
      //   component: () => import('@/views/materialManager/inOutboundRecord'),
      //   meta: { code: '1054', title: '出入库记录', icon: '', keepAlive: true }
      // }, {
      //   path: 'inventoryQuery',
      //   name: 'inventoryQueryCancel',
      //   code: '1055',
      //   component: () => import('@/views/materialManager/inventoryQuery'),
      //   meta: { code: '1055', title: '库存查询', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'InventoryLedgerList',
      //   name: 'InventoryLedgerListCancel',
      //   code: '1205',
      //   component: () => import('@/views/purchasesManager/InventoryLedgerList'),
      //   meta: { code: '1205', title: '库存台账', icon: '', keepAlive: true }
      // }
    ]
  },
  // 11.采购管理
  // {
  //   path: '/purchasesManager',
  //   component: Layout,
  //   redirect: '/purchasesManager/purchasesList',
  //   name: '采购管理',
  //   code: '2011',
  //   meta: { code: '2011', title: '采购管理', icon: 'cggl' },
  //   alwaysShow: true,
  //   children: [
  //     {
  //       path: 'purchasesList',
  //       name: 'CGDDCancel',
  //       code: '1201',
  //       component: () => import('@/views/purchasesManager/purchasesList'),
  //       meta: { code: '1201', title: '采购订单', icon: '', keepAlive: true }
  //     }, {
  //       path: 'arrivalNoticeList',
  //       name: 'arrivalNoticeListCancel',
  //       code: '1202',
  //       component: () => import('@/views/purchasesManager/arrivalNoticeList'),
  //       meta: { code: '1202', title: '采购收货单', icon: '', keepAlive: true }
  //     }
  //   ]
  // },
  // 12.销售管理
  // {
  //   path: '/sale',
  //   component: Layout,
  //   redirect: '/sale/salesStatisticsList',
  //   name: '销售管理',
  //   code: '2012',
  //   meta: { code: '2012', title: '销售管理', icon: 'xsgl' },
  //   alwaysShow: true,
  //   children: [
  //     {
  //       path: 'salesStatisticsList',
  //       name: 'salesStatisticsCancel',
  //       code: '1203',
  //       component: () => import('@/views/purchasesManager/salesStatisticsList'),
  //       meta: { code: '1203', title: '销售订单', icon: '', keepAlive: true }
  //     }, {
  //       path: 'goodsStatisticsList',
  //       name: 'goodsStatisticsListCancel',
  //       code: '1204',
  //       component: () => import('@/views/purchasesManager/goodsStatisticsList'),
  //       meta: { code: '1204', title: '销货单', icon: '', keepAlive: true }
  //     }
  //   ]
  // },
  // 13.工单管理
  {
    path: '/work',
    path: '/zzmx',
    component: Layout,
    redirect: '/work/workOrder',
    name: '工单管理',
    code: '2013',
    meta: { code: '2013', title: '工单管理', icon: 'gzgl' },
    redirect: '/zzmx/gylx',
    name: '制造模型',
    code: '1005',
    meta: { code: '1005', title: '制造模型', icon: 'icu' },
    alwaysShow: true,
    children: [
      {
        path: 'workOrder',
        name: 'workOrderCancel',
        code: '1071',
        component: () => import('@/views/scgl/gd'),
        meta: { code: '1071', title: 'MES工单', icon: '', keepAlive: true }
        path: 'wllx',
        name: 'WLLXCancel',
        code: '1060',
        component: () => import('@/views/zzmx/wllx'),
        meta: { code: '1060', title: '物料类型', icon: '', keepAlive: true }
      },
      {
        path: 'workOrderBatchClose',
        name: 'workOrderBatchCloseCancel',
        code: '1074',
        component: () => import('@/views/scgl/gdplgb'),
        meta: { code: '1074', title: 'MES工单批量关闭', icon: '', keepAlive: true }
      }
      // {
      //   path: 'updateWorkOrder',
      //   name: 'XGBGCancel',
      //   code: '1077',
      //   component: () => import('@/views/scgl/xgbg'),
      //   meta: { code: '1077', title: '修改报工', icon: '', keepAlive: true }
      // }
    ]
  },
  // 14.工单排产
  // {
  //   path: '/produceManager',
  //   component: Layout,
  //   redirect: '/produceManager/produceOrder',
  //   name: '工单排产',
  //   code: '2014',
  //   meta: { code: '2014', title: '工单排产', icon: 'scgl' },
  //   alwaysShow: true,
  //   children: [
  //     {
  //       path: 'AutoScheduling',
  //       name: 'AutoSchedulingCancel',
  //       code: '1076',
  //       component: () => import('@/views/produceManager/AutoScheduling'),
  //       meta: { code: '1076', title: '自动排程', icon: '', keepAlive: true }
  //     }
  //   ]
  // },
  // 15.生产管理
  {
    path: '/extendedModule',
    component: Layout,
    redirect: '/extendedModule/produceStartOrder',
    name: '生产管理',
    code: '2015',
    meta: { code: '2015', title: '生产管理', icon: 'tree2' },
    alwaysShow: true, // 当children只有一个时,也显示父菜单
    children: [
        path: 'chda',
        name: 'CHDACancel',
        code: '1061',
        component: () => import('@/views/zzmx/chda'),
        meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true }
      },
      {
        path: 'produceStartOrder',
        name: 'produceStartOrderCancel',
        code: '1073',
        component: () => import('@/views/scgl/sckbg'),
        meta: { code: '1073', title: '生产开报工', icon: '', keepAlive: true }
      }
      // {
      //   path: 'capacityPlanning',
      //   name: 'capacityPlanningCancel',
      //   code: '1075',
      //   component: () => import('@/views/produceManager/capacityPlanning'),
      //   meta: { code: '1075', title: '产能规划', icon: '', keepAlive: true }
      // }
    ]
  },
  // 16.工艺管理
  {
    path: '/makeModel',
    component: Layout,
    redirect: '/makeModel/processRoute',
    name: '车间管理',
    code: '2016',
    meta: { code: '2016', title: '车间管理', icon: 'cjgl' },
    alwaysShow: true,
    children: [
        path: 'wlqd',
        name: 'WLQDCancel',
        code: '1062',
        component: () => import('@/views/zzmx/wlqd'),
        meta: { code: '1062', title: '物料清单', icon: '', keepAlive: true }
      },
      {
        path: 'processRoute',
        name: 'processRouteCancel',
        path: 'gylx',
        name: 'GYLXCancel',
        code: '1063',
        component: () => import('@/views/zzmx/gylx'),
        meta: { code: '1063', title: '工艺路线', icon: '', keepAlive: true }
      }, {
        path: 'processDefine',
        name: 'processDefineCancel',
        path: 'gxdy',
        name: 'GXDYCancel',
        code: '1064',
        component: () => import('@/views/zzmx/gxdy'),
        meta: { code: '1064', title: '工序定义', icon: '', keepAlive: true }
      },
      {
        path: 'meterPrice',
        name: 'meterPriceCancel',
        path: 'jpgj',
        name: 'JPGJCancel',
        code: '1065',
        component: () => import('@/views/zzmx/jpgj'),
        meta: { code: '1065', title: '节拍工价', icon: '', keepAlive: true }
      }
    ]
  },
  // 17.设备管理
  {
    path: '/deviceManager',
    path: '/scgl',
    component: Layout,
    redirect: '/deviceManager/deviceList',
    name: '设备管理',
    code: '2017',
    meta: { code: '2017', title: '设备管理', icon: 'example' },
    redirect: '/scgl/scdd',
    name: '生产管理',
    code: '1006',
    meta: { code: '1006', title: '生产管理', icon: 'production' },
    alwaysShow: true,
    children: [
      {
        path: 'deviceList',
        name: 'deviceListCancel',
        code: '1022',
        component: () => import('@/views/sbgl/sbqd'),
        meta: { code: '1022', title: '设备清单', icon: '', keepAlive: true }
        path: 'scdd',
        name: 'SCDDCancel',
        code: '1070',
        component: () => import('@/views/scgl/scdd'),
        meta: { code: '1070', title: 'ERP生产订单', icon: '', keepAlive: true }
      }, {
        path: 'gd',
        name: 'GDCancel',
        code: '1071',
        component: () => import('@/views/scgl/gd'),
        meta: { code: '1071', title: 'MES工单', icon: '', keepAlive: true }
      }, {
        path: 'gdpg',
        name: 'GDPDCancel',
        code: '1072',
        component: () => import('@/views/scgl/gdpg'),
        meta: { code: '1072', title: '工单派工', icon: '', keepAlive: true }
      }, {
        path: 'sckbg',
        name: 'SCKBGCancel',
        code: '1073',
        component: () => import('@/views/scgl/sckbg'),
        meta: { code: '1073', title: '生产开报工', icon: '', keepAlive: true }
      }, {
        path: 'gdplgb',
        name: 'GDPLGBCancel',
        code: '1074',
        component: () => import('@/views/scgl/gdplgb'),
        meta: { code: '1074', title: 'MES工单批量关闭', icon: '', keepAlive: true }
      }
      // {
      //   path: 'checkStandard',
      //   name: 'checkStandardCancel',
      //   code: '1023',
      //   component: () => import('@/views/deviceManager/checkStandard'),
      //   meta: { code: '1023', title: '设备点检标准', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'checkPosition',
      //   name: 'checkPositionCancel',
      //   code: '1024',
      //   component: () => import('@/views/deviceManager/checkPosition'),
      //   meta: { code: '1024', title: '设备点检部位', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'maintainStandard',
      //   name: 'maintainStandardCancel',
      //   code: '1025',
      //   component: () => import('@/views/deviceManager/maintainStandard'),
      //   meta: { code: '1025', title: '设备保养标准', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'maintainPosition',
      //   name: 'maintainPositionCancel',
      //   code: '1026',
      //   component: () => import('@/views/deviceManager/maintainPosition'),
      //   meta: { code: '1026', title: '设备保养部位', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'checkRecord',
      //   name: 'checkRecordCancel',
      //   code: '1027',
      //   component: () => import('@/views/deviceManager/checkRecord'),
      //   meta: { code: '1027', title: '设备点检记录', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'maintainRecord',
      //   name: 'maintainRecordCancel',
      //   code: '1028',
      //   component: () => import('@/views/deviceManager/maintainRecord'),
      //   meta: { code: '1028', title: '设备保养记录', icon: '', keepAlive: true }
      // },
      // {
      //   path: 'repairRecord',
      //   code: '1029',
      //   name: 'repairRecordCancel',
      //   component: () => import('@/views/deviceManager/repairRecord'),
      //   meta: { code: '1029', title: '设备维修记录', icon: '', keepAlive: true }
      // }
    ]
  },
  // 18.其它ERP集成
  {
    path: '/otherErp',
    path: '/zlgl',
    component: Layout,
    redirect: '/otherErp/InventoryList',
    name: '其它ERP集成',
    code: '2018',
    meta: { code: '2018', title: '其它ERP集成', icon: 'erpjc' },
    redirect: '/zlgl/zjbz',
    name: '质量管理',
    code: '1007',
    meta: { code: '1007', title: '质量管理', icon: 'quality' },
    alwaysShow: true,
    children: [
      {
        path: 'InventoryList',
        name: 'InventoryListCancel',
        code: '1061',
        component: () => import('@/views/zzmx/chda'),
        meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true }
        path: 'zjbz',
        name: 'ZJBZCancel',
        code: '1080',
        component: () => import('@/views/zlgl/zjbz'),
        meta: { code: '1080', title: '质检标准', icon: '', keepAlive: true }
      }, {
        path: 'qxdy',
        name: 'QXDYCancel',
        code: '1081',
        component: () => import('@/views/zlgl/qxdy'),
        meta: { code: '1081', title: '缺陷定义', icon: '', keepAlive: true }
      }, {
        path: 'gxjy',
        name: 'GXDYCancel',
        code: '1082',
        component: () => import('@/views/zlgl/gxjy'),
        meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true }
      }, {
        path: 'wljy',
        name: 'WLJYCancel',
        code: '1083',
        component: () => import('@/views/zlgl/wljy'),
        meta: { code: '1083', title: '物流检验', icon: '', keepAlive: true }
      }, {
        path: 'qxsj',
        name: 'QXSJCancel',
        code: '1084',
        component: () => import('@/views/zlgl/qxsj'),
        meta: { code: '1084', title: '缺陷统计', icon: '', keepAlive: true }
      },
      {
        path: 'gxjybz',
        name: 'QXJYBZCancel',
        code: '1085',
        component: () => import('@/views/zlgl/gxjybz'),
        meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true }
      },
      {
        path: 'gxjyxm',
        name: 'GXJYXMCancel',
        code: '1086',
        component: () => import('@/views/zlgl/gxjyxm'),
        meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true }
      }, {
        path: 'gxjyjl',
        name: 'GXJYJLCancel',
        code: '1087',
        component: () => import('@/views/zlgl/gxjyjl'),
        meta: { code: '1087', title: '工序检验记录', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/bbgl',
    component: Layout,
    redirect: '/bbgl/sczxbb',
    name: '报表管理',
    code: '1008',
    meta: { code: '1008', title: '报表管理', icon: 'bbgl' },
    alwaysShow: true,
    children: [
      {
        path: 'bzgztj',
        name: 'BZGZTJCancel',
        code: '1090',
        component: () => import('@/views/bbgl/bzgz'),
        meta: { code: '1090', title: '班组工资统计', icon: '', keepAlive: true }
      }, {
        path: 'rygz',
        name: 'RYGZCancel',
        code: '1091',
        component: () => import('@/views/bbgl/rygz'),
        meta: { code: '1091', title: '人员工资', icon: '', keepAlive: true }
      }, {
        path: 'wwgx',
        name: 'WWGXCancel',
        code: '1092',
        component: () => import('@/views/bbgl/wwgx'),
        meta: { code: '1092', title: '委外工序', icon: '', keepAlive: true }
      }, {
        path: 'blmx',
        name: 'BLMXJCancel',
        code: '1093',
        component: () => import('@/views/bbgl/blmx'),
        meta: { code: '1093', title: '不良明细', icon: '', keepAlive: true }
      }, {
        path: 'pzyc',
        name: 'PZYCJCancel',
        code: '1094',
        component: () => import('@/views/bbgl/pzyc'),
        meta: { code: '1094', title: '品质异常', icon: '', keepAlive: true }
      }, {
        path: 'wxmx',
        name: 'WXMXJCancel',
        code: '1095',
        component: () => import('@/views/bbgl/wxmx'),
        meta: { code: '1095', title: '维修明细', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/xtsz',
    component: Layout,
    redirect: '/xtsz/bmgz',
    name: '系统设置',
    code: '1009',
    meta: { code: '1009', title: '系统设置', icon: 'xtsz' },
    alwaysShow: true,
    children: [
      {
        path: 'bmgz',
        name: 'BMGZCancel',
        code: '1101',
        component: () => import('@/views/xtsz/bmgz'),
        meta: { code: '1101', title: '编码规则', icon: '', keepAlive: true }
      },
      {
        path: 'mmxg',
        name: 'MMXGCancel',
        code: '1102',
        component: () => import('@/views/xtsz/mmxg'),
        meta: { code: '1102', title: '密码修改', icon: '', keepAlive: true }
      },
      {
        path: 'xtrz',
        name: 'XTRZCancel',
        code: '1103',
        component: () => import('@/views/xtsz/xtrz'),
        meta: { code: '1103', title: '系统日志', icon: '', keepAlive: true }
      }, {
        path: 'sc',
        name: 'SCCancel',
        code: '1104',
        component: () => import('@/views/xtsz/sc'),
        meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true }
      }, {
        path: 'cjgg',
        name: 'CJGGancel',
        code: '1105',
        component: () => import('@/views/xtsz/cjgg'),
        meta: { code: '1105', title: '车间公告', icon: '', keepAlive: true }
      }
    ]
  }
  // {
  //   path: '/systemSettings',
  //   component: Layout,
  //   redirect: '/systemSettings/bmgz',
  //   name: '系统设置',
  //   code: '1009',
  //   meta: { code: '1009', title: '系统设置', icon: 'xtsz' },
  //   alwaysShow: true,
  //   children: [
  //     {
  //       path: 'codingRules',
  //       name: 'codingRulesCancel',
  //       code: '1101',
  //       component: () => import('@/views/systemSettings/codingRules'),
  //       meta: { code: '1101', title: '编码规则', icon: '', keepAlive: true }
  //     }, {
  //       path: 'passwordEdit',
  //       name: 'passwordEditCancel',
  //       code: '1102',
  //       component: () => import('@/views/systemSettings/passwordEdit'),
  //       meta: { code: '1102', title: '密码修改', icon: '', keepAlive: true }
  //     }, {
  //       path: 'systemLog',
  //       name: 'systemLogCancel',
  //       code: '1103',
  //       component: () => import('@/views/systemSettings/systemLog'),
  //       meta: { code: '1103', title: '系统日志', icon: '', keepAlive: true }
  //     }, {
  //       path: 'sopUpload',
  //       name: 'sopUploadCancel',
  //       code: '1104',
  //       component: () => import('@/views/systemSettings/sopUpload'),
  //       meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true }
  //     }, {
  //       path: 'shopNotice',
  //       name: 'shopNoticeCancel',
  //       code: '1105',
  //       component: () => import('@/views/systemSettings/shopNotice'),
  //       meta: { code: '1105', title: '车间公告', icon: '', keepAlive: true }
  //     }
  //   ]
  // }
]
const createRouter = () => new Router({
@@ -722,3 +626,728 @@
}
export default router
// import Vue from 'vue'
// import Router from 'vue-router'
//
// Vue.use(Router)
//
// /* Layout */
// import Layout from '@/layout'
//
// /**
//  * Note: sub-menu only appear when route children.length >= 1
//  * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
//  *
//  * hidden: true                   if set true, item will not show in the sidebar(default is false)
//  * alwaysShow: true               if set true, will always show the root menu
//  *                                if not set alwaysShow, when item has more than one children route,
//  *                                it will becomes nested mode, otherwise not show the root menu
//  * redirect: noRedirect           if set noRedirect will no redirect in the breadcrumb
//  * name:'router-name'             the name is used by <keep-alive> (must set!!!)
//  * meta : {
//     roles: ['admin','editor']    control the page roles (you can set multiple roles)
//     title: 'title'               the name show in sidebar and breadcrumb (recommend set)
//     icon: 'svg-name'/'el-icon-x' the icon show in the sidebar
//     breadcrumb: false            if set false, the item will hidden in breadcrumb(default is true)
//     activeMenu: '/example/list'  if set path, the sidebar will highlight the path you set
//   }
//  */
//
// /**
//  * constantRoutes
//  * a base page that does not have permission requirements
//  * all roles can be accessed
//  */
// export const commonRoutes = [
//   /*
//   * 看板部分路由
//   * */
//   {
//     path: '/cjzl',
//     component: () => import('@/views/kb/cjzl'),
//     hidden: true
//   },
//   {
//     path: '/zhkb',
//     component: () => import('@/views/kb/zhkb'),
//     hidden: true
//   },
//   {
//     path: '/cjsc',
//     component: () => import('@/views/kb/cjsc'),
//     hidden: true
//   },
//   {
//     path: '/ckgl',
//     component: () => import('@/views/kb/ckgl'),
//     hidden: true
//   },
//   {
//     path: '/cgdd',
//     component: () => import('@/views/kb/cgdd'),
//     hidden: true
//   },
//   {
//     path: '/login',
//     component: () => import('@/views/login/index'),
//     hidden: true
//   },
//   {
//     path: '/404',
//     component: () => import('@/views/404'),
//     hidden: true
//   },
//   {
//     path: '/redirect',
//     component: Layout,
//     hidden: true,
//     children: [
//       {
//         path: '/redirect/:path(.*)',
//         component: () => import('@/views/redirect/index')
//       }
//     ]
//   },
//   {
//     path: '/',
//     component: Layout,
//     redirect: '/index',
//     name: '系统首页',
//     children: [{
//       path: 'index',
//       name: 'index',
//       component: () => import('@/views/xtsy/index'),
//       meta: { title: '系统首页', icon: 'home', affix: true }
//     }]
//   }
//   // { path: '*', redirect: '/404', hidden: true }
// ]
// export const asyncRoutes = [
//   // 1.系统管理(基础设置类)
//   {
//     path: '/systemSetting',
//     component: Layout,
//     redirect: '/systemSetting/organizationList',
//     name: '系统管理',
//     code: '2001',
//     meta: { code: '2001', title: '系统管理', icon: 'xtsz' },
//     alwaysShow: true, // 当children只有一个时,也显示父菜单
//     children: [
//       {
//         path: 'organizationList',
//         name: 'organizationListCancel',
//         code: '1010',
//         component: () => import('@/views/jcsz/zzjg'),
//         meta: { code: '1010', title: '组织架构', icon: '', keepAlive: true }
//       }, {
//         path: 'roleList',
//         name: 'roleListCancel',
//         code: '1012',
//         component: () => import('@/views/jcsz/jsqd'),
//         meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true }
//       }
//
//     ]
//   },
//   // 2.客户管理
//   {
//     path: '/basicSettings',
//     component: Layout,
//     redirect: '/basicSettings/userList',
//     name: '客户管理',
//     code: '2002',
//     meta: { code: '2002', title: '客户管理', icon: 'khgl' },
//     alwaysShow: true, // 当children只有一个时,也显示父菜单
//     children: [
//       {
//         path: 'userList',
//         name: 'userListCancel',
//         code: '1011',
//         component: () => import('@/views/jcsz/yhqd'),
//         meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
//       }, {
//         path: 'contactUnitList',
//         name: 'contactUnitListCancel',
//         code: '1013',
//         component: () => import('@/views/jcsz/wldw'),
//         meta: { code: '1013', title: '往来单位', icon: '', keepAlive: true }
//       }
//     ]
//   },
//   // 3.数据采集管理   sop上传 灵翔项目的看下
//   // {
//   //   path: '/dataCollect',
//   //   component: Layout,
//   //   redirect: '/dataCollect/purchasesList',
//   //   name: '数据采集管理',
//   //   code: '2003',
//   //   meta: { code: '2003', title: '数据采集管理', icon: 'cggl' },
//   //   alwaysShow: true,
//   //   children: [
//   //     {
//   //       path: 'purchasesList',
//   //       name: 'CGDDCancel',
//   //       code: '1104',
//   //       component: () => import('@/views/xtsz/sc'),
//   //       meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true }
//   //     }
//   //   ]
//   // },
//
//   // 4.订单管理
//   {
//     path: '/orderManager',
//     component: Layout,
//     redirect: '/orderManager/erpProduceOrder',
//     name: '生产管理',
//     code: '2004',
//     meta: { code: '2004', title: '生产管理', icon: 'production' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'erpProduceOrder',
//         name: 'produceOrderCancel',
//         code: '1070',
//         component: () => import('@/views/scgl/scdd'),
//         meta: { code: '1070', title: 'ERP生产订单', icon: '', keepAlive: true }
//       }
//     ]
//   },
//
//   // 5.物料计划管理
//   // {
//   //   path: '/materialPlanManager',
//   //   component: Layout,
//   //   redirect: '/materialPlanManager/materialList',
//   //   name: '物料计划管理',
//   //   code: '2005',
//   //   meta: { code: '2005', title: '物料计划管理', icon: 'icu' },
//   //   alwaysShow: true,
//   //   children: [
//   //     {
//   //       path: 'materialList',
//   //       name: 'materialListCancel',
//   //       code: '1062',
//   //       component: () => import('@/views/zzmx/wlqd'),
//   //       meta: { code: '1062', title: '物料清单', icon: '', keepAlive: true }
//   //     }
//   //   ]
//   // },
//
//   // 6.质量管理
//   {
//     path: '/qualityManager',
//     component: Layout,
//     redirect: '/qualityManager/defectDefine',
//     name: '质量管理',
//     code: '2006',
//     meta: { code: '2006', title: '质量管理', icon: 'quality' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'defectDefine',
//         name: 'defectDefineCancel',
//         code: '1081',
//         component: () => import('@/views/zlgl/qxdy'),
//         meta: { code: '1081', title: '缺陷定义', icon: '', keepAlive: true }
//       }
//       // {
//       //   path: 'qualityPlaning',
//       //   name: 'ZJFACancel',
//       //   code: '1088',
//       //   component: () => import('@/views/qualityManager/qualityPlaning'),
//       //   meta: { code: '1088', title: '质检方案', icon: '', keepAlive: true }
//       // }
//     ]
//   },
//
//   // 7.工序管理
//   {
//     path: '/processManager',
//     component: Layout,
//     redirect: '/processManager/processCheck',
//     name: '工序管理',
//     code: '2007',
//     meta: { code: '2007', title: '工序管理', icon: 'gxgl' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'processCheck',
//         name: 'processCheckCancel',
//         code: '1082',
//         component: () => import('@/views/zlgl/gxjy'),
//         meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true }
//       },
//       {
//         path: 'processCheckStandard',
//         name: 'processCheckStandardCancel',
//         code: '1085',
//         component: () => import('@/views/zlgl/gxjybz'),
//         meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true }
//       },
//       {
//         path: 'processCheckItem',
//         name: 'processCheckItemCancel',
//         code: '1086',
//         component: () => import('@/views/zlgl/gxjyxm'),
//         meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true }
//       },
//       {
//         path: 'processCheckRecord',
//         name: 'processCheckRecordCancel',
//         code: '1087',
//         component: () => import('@/views/zlgl/gxjyjl'),
//         meta: { code: '1087', title: '工序检验记录', icon: '', keepAlive: true }
//       }
//     ]
//   },
//
//   // 8.人力资源管理
//   {
//     path: '/resourcesManager',
//     component: Layout,
//     redirect: '/resourcesManager/groupSalaryList',
//     name: '人力资源管理',
//     code: '2008',
//     meta: { code: '1008', title: '人力资源管理', icon: 'rlzy' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'groupSalaryList',
//         name: 'groupSalaryListCancel',
//         code: '1090',
//         component: () => import('@/views/bbgl/bzgz'),
//         meta: { code: '1090', title: '班组工资统计报表', icon: '', keepAlive: true }
//       },
//       // {
//       //   path: 'personSalaryList',
//       //   name: 'personSalaryListCancel',
//       //   code: '1091',
//       //   component: () => import('@/views/bbgl/rygz'),
//       //   meta: { code: '1091', title: '人员工资明细报表', icon: '', keepAlive: true }
//       // },
//       {
//         path: 'subcontractingOperation',
//         name: 'subcontractingOperationCancel',
//         code: '1092',
//         component: () => import('@/views/bbgl/wwgx'),
//         meta: { code: '1092', title: '委外工序明细报表', icon: '', keepAlive: true }
//       }
//     ]
//   },
//
//   // 9.智能报表
//   {
//     path: '/reportManager',
//     component: Layout,
//     redirect: '/reportManager/defectDetailList',
//     name: '智能报表',
//     code: '2009',
//     meta: { code: '2009', title: '智能报表', icon: 'bbgl' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'defectDetailList',
//         name: 'defectDetailListCancel',
//         code: '1093',
//         component: () => import('@/views/bbgl/blmx'),
//         meta: { code: '1093', title: '不良明细报表', icon: '', keepAlive: true }
//       }, {
//         path: 'abnormalQualityList',
//         name: 'abnormalQualityListCancel',
//         code: '1094',
//         component: () => import('@/views/bbgl/pzyc'),
//         meta: { code: '1094', title: '品质异常排行报表', icon: '', keepAlive: true }
//       }, {
//         path: 'repairDetailList',
//         name: 'repairDetailListCancel',
//         code: '1095',
//         component: () => import('@/views/bbgl/wxmx'),
//         meta: { code: '1095', title: '维修明细报表', icon: '', keepAlive: true }
//       }
//       // {
//       //   path: 'installationLampList',
//       //   name: 'installationLampListCancel',
//       //   code: '1096',
//       //   component: () => import('@/views/reportManager/installationLampList'),
//       //   meta: { code: '1096', title: '安灯报表', icon: '', keepAlive: true }
//       // }
//     ]
//   },
//
//   // 10.库存管理
//   {
//     path: '/inventoryManager',
//     component: Layout,
//     redirect: '/inventoryManager/storehouseDefine',
//     name: '库存管理',
//     code: '2010',
//     meta: { code: '2010', title: '库存管理', icon: 'table' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'storehouseDefine',
//         name: 'storehouseDefineCancel',
//         code: '1050',
//         component: () => import('@/views/wlgl/ckdy'),
//         meta: { code: '1050', title: '仓库定义', icon: '', keepAlive: true }
//       },
//       {
//         path: 'locationDefine',
//         name: 'locationDefineCancel',
//         code: '1051',
//         component: () => import('@/views/wlgl/kwdy'),
//         meta: { code: '1051', title: '库位定义', icon: '', keepAlive: true }
//       }
//       // {
//       //   path: 'containerType',
//       //   name: 'containerTypeCancel',
//       //   code: '1052',
//       //   component: () => import('@/views/materialManager/containerType'),
//       //   meta: { code: '1052', title: '容器类型', icon: '', keepAlive: true }
//       // }, {
//       //   path: 'containerList',
//       //   name: 'containerListCancel',
//       //   code: '1053',
//       //   component: () => import('@/views/materialManager/containerList'),
//       //   meta: { code: '1053', title: '容器清单', icon: '', keepAlive: true }
//       // }, {
//       //   path: 'inOutboundRecord',
//       //   name: 'inOutboundRecordCancel',
//       //   code: '1054',
//       //   component: () => import('@/views/materialManager/inOutboundRecord'),
//       //   meta: { code: '1054', title: '出入库记录', icon: '', keepAlive: true }
//       // }, {
//       //   path: 'inventoryQuery',
//       //   name: 'inventoryQueryCancel',
//       //   code: '1055',
//       //   component: () => import('@/views/materialManager/inventoryQuery'),
//       //   meta: { code: '1055', title: '库存查询', icon: '', keepAlive: true }
//       // },
//
//       // {
//       //   path: 'InventoryLedgerList',
//       //   name: 'InventoryLedgerListCancel',
//       //   code: '1205',
//       //   component: () => import('@/views/purchasesManager/InventoryLedgerList'),
//       //   meta: { code: '1205', title: '库存台账', icon: '', keepAlive: true }
//       // }
//     ]
//   },
//
//   // 11.采购管理
//   // {
//   //   path: '/purchasesManager',
//   //   component: Layout,
//   //   redirect: '/purchasesManager/purchasesList',
//   //   name: '采购管理',
//   //   code: '2011',
//   //   meta: { code: '2011', title: '采购管理', icon: 'cggl' },
//   //   alwaysShow: true,
//   //   children: [
//   //     {
//   //       path: 'purchasesList',
//   //       name: 'CGDDCancel',
//   //       code: '1201',
//   //       component: () => import('@/views/purchasesManager/purchasesList'),
//   //       meta: { code: '1201', title: '采购订单', icon: '', keepAlive: true }
//   //     }, {
//   //       path: 'arrivalNoticeList',
//   //       name: 'arrivalNoticeListCancel',
//   //       code: '1202',
//   //       component: () => import('@/views/purchasesManager/arrivalNoticeList'),
//   //       meta: { code: '1202', title: '采购收货单', icon: '', keepAlive: true }
//   //     }
//   //   ]
//   // },
//
//   // 12.销售管理
//   // {
//   //   path: '/sale',
//   //   component: Layout,
//   //   redirect: '/sale/salesStatisticsList',
//   //   name: '销售管理',
//   //   code: '2012',
//   //   meta: { code: '2012', title: '销售管理', icon: 'xsgl' },
//   //   alwaysShow: true,
//   //   children: [
//   //     {
//   //       path: 'salesStatisticsList',
//   //       name: 'salesStatisticsCancel',
//   //       code: '1203',
//   //       component: () => import('@/views/purchasesManager/salesStatisticsList'),
//   //       meta: { code: '1203', title: '销售订单', icon: '', keepAlive: true }
//   //     }, {
//   //       path: 'goodsStatisticsList',
//   //       name: 'goodsStatisticsListCancel',
//   //       code: '1204',
//   //       component: () => import('@/views/purchasesManager/goodsStatisticsList'),
//   //       meta: { code: '1204', title: '销货单', icon: '', keepAlive: true }
//   //     }
//   //   ]
//   // },
//
//   // 13.工单管理
//   {
//     path: '/work',
//     component: Layout,
//     redirect: '/work/workOrder',
//     name: '工单管理',
//     code: '2013',
//     meta: { code: '2013', title: '工单管理', icon: 'gzgl' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'workOrder',
//         name: 'workOrderCancel',
//         code: '1071',
//         component: () => import('@/views/scgl/gd'),
//         meta: { code: '1071', title: 'MES工单', icon: '', keepAlive: true }
//       },
//       {
//         path: 'workOrderBatchClose',
//         name: 'workOrderBatchCloseCancel',
//         code: '1074',
//         component: () => import('@/views/scgl/gdplgb'),
//         meta: { code: '1074', title: 'MES工单批量关闭', icon: '', keepAlive: true }
//       }
//       // {
//       //   path: 'updateWorkOrder',
//       //   name: 'XGBGCancel',
//       //   code: '1077',
//       //   component: () => import('@/views/scgl/xgbg'),
//       //   meta: { code: '1077', title: '修改报工', icon: '', keepAlive: true }
//       // }
//     ]
//   },
//
//   // 14.工单排产
//   // {
//   //   path: '/produceManager',
//   //   component: Layout,
//   //   redirect: '/produceManager/produceOrder',
//   //   name: '工单排产',
//   //   code: '2014',
//   //   meta: { code: '2014', title: '工单排产', icon: 'scgl' },
//   //   alwaysShow: true,
//   //   children: [
//   //     {
//   //       path: 'AutoScheduling',
//   //       name: 'AutoSchedulingCancel',
//   //       code: '1076',
//   //       component: () => import('@/views/produceManager/AutoScheduling'),
//   //       meta: { code: '1076', title: '自动排程', icon: '', keepAlive: true }
//   //     }
//   //   ]
//   // },
//
//   // 15.生产管理
//   {
//     path: '/extendedModule',
//     component: Layout,
//     redirect: '/extendedModule/produceStartOrder',
//     name: '生产管理',
//     code: '2015',
//     meta: { code: '2015', title: '生产管理', icon: 'tree2' },
//     alwaysShow: true, // 当children只有一个时,也显示父菜单
//     children: [
//       {
//         path: 'produceStartOrder',
//         name: 'produceStartOrderCancel',
//         code: '1073',
//         component: () => import('@/views/scgl/sckbg'),
//         meta: { code: '1073', title: '生产开报工', icon: '', keepAlive: true }
//       }
//       // {
//       //   path: 'capacityPlanning',
//       //   name: 'capacityPlanningCancel',
//       //   code: '1075',
//       //   component: () => import('@/views/produceManager/capacityPlanning'),
//       //   meta: { code: '1075', title: '产能规划', icon: '', keepAlive: true }
//       // }
//     ]
//   },
//
//   // 16.工艺管理
//   {
//     path: '/makeModel',
//     component: Layout,
//     redirect: '/makeModel/processRoute',
//     name: '车间管理',
//     code: '2016',
//     meta: { code: '2016', title: '车间管理', icon: 'cjgl' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'processRoute',
//         name: 'processRouteCancel',
//         code: '1063',
//         component: () => import('@/views/zzmx/gylx'),
//         meta: { code: '1063', title: '工艺路线', icon: '', keepAlive: true }
//       }, {
//         path: 'processDefine',
//         name: 'processDefineCancel',
//         code: '1064',
//         component: () => import('@/views/zzmx/gxdy'),
//         meta: { code: '1064', title: '工序定义', icon: '', keepAlive: true }
//       },
//       {
//         path: 'meterPrice',
//         name: 'meterPriceCancel',
//         code: '1065',
//         component: () => import('@/views/zzmx/jpgj'),
//         meta: { code: '1065', title: '节拍工价', icon: '', keepAlive: true }
//       }
//     ]
//   },
//
//   // 17.设备管理
//   {
//     path: '/deviceManager',
//     component: Layout,
//     redirect: '/deviceManager/deviceList',
//     name: '设备管理',
//     code: '2017',
//     meta: { code: '2017', title: '设备管理', icon: 'example' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'deviceList',
//         name: 'deviceListCancel',
//         code: '1022',
//         component: () => import('@/views/sbgl/sbqd'),
//         meta: { code: '1022', title: '设备清单', icon: '', keepAlive: true }
//       }
//       // {
//       //   path: 'checkStandard',
//       //   name: 'checkStandardCancel',
//       //   code: '1023',
//       //   component: () => import('@/views/deviceManager/checkStandard'),
//       //   meta: { code: '1023', title: '设备点检标准', icon: '', keepAlive: true }
//       // },
//       // {
//       //   path: 'checkPosition',
//       //   name: 'checkPositionCancel',
//       //   code: '1024',
//       //   component: () => import('@/views/deviceManager/checkPosition'),
//       //   meta: { code: '1024', title: '设备点检部位', icon: '', keepAlive: true }
//       // },
//       // {
//       //   path: 'maintainStandard',
//       //   name: 'maintainStandardCancel',
//       //   code: '1025',
//       //   component: () => import('@/views/deviceManager/maintainStandard'),
//       //   meta: { code: '1025', title: '设备保养标准', icon: '', keepAlive: true }
//       // },
//       // {
//       //   path: 'maintainPosition',
//       //   name: 'maintainPositionCancel',
//       //   code: '1026',
//       //   component: () => import('@/views/deviceManager/maintainPosition'),
//       //   meta: { code: '1026', title: '设备保养部位', icon: '', keepAlive: true }
//       // },
//       // {
//       //   path: 'checkRecord',
//       //   name: 'checkRecordCancel',
//       //   code: '1027',
//       //   component: () => import('@/views/deviceManager/checkRecord'),
//       //   meta: { code: '1027', title: '设备点检记录', icon: '', keepAlive: true }
//       // },
//       // {
//       //   path: 'maintainRecord',
//       //   name: 'maintainRecordCancel',
//       //   code: '1028',
//       //   component: () => import('@/views/deviceManager/maintainRecord'),
//       //   meta: { code: '1028', title: '设备保养记录', icon: '', keepAlive: true }
//       // },
//       // {
//       //   path: 'repairRecord',
//       //   code: '1029',
//       //   name: 'repairRecordCancel',
//       //   component: () => import('@/views/deviceManager/repairRecord'),
//       //   meta: { code: '1029', title: '设备维修记录', icon: '', keepAlive: true }
//       // }
//     ]
//   },
//
//   // 18.其它ERP集成
//   {
//     path: '/otherErp',
//     component: Layout,
//     redirect: '/otherErp/InventoryList',
//     name: '其它ERP集成',
//     code: '2018',
//     meta: { code: '2018', title: '其它ERP集成', icon: 'erpjc' },
//     alwaysShow: true,
//     children: [
//       {
//         path: 'InventoryList',
//         name: 'InventoryListCancel',
//         code: '1061',
//         component: () => import('@/views/zzmx/chda'),
//         meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true }
//       }
//     ]
//   }
//
//   // {
//   //   path: '/systemSettings',
//   //   component: Layout,
//   //   redirect: '/systemSettings/bmgz',
//   //   name: '系统设置',
//   //   code: '1009',
//   //   meta: { code: '1009', title: '系统设置', icon: 'xtsz' },
//   //   alwaysShow: true,
//   //   children: [
//   //     {
//   //       path: 'codingRules',
//   //       name: 'codingRulesCancel',
//   //       code: '1101',
//   //       component: () => import('@/views/systemSettings/codingRules'),
//   //       meta: { code: '1101', title: '编码规则', icon: '', keepAlive: true }
//   //     }, {
//   //       path: 'passwordEdit',
//   //       name: 'passwordEditCancel',
//   //       code: '1102',
//   //       component: () => import('@/views/systemSettings/passwordEdit'),
//   //       meta: { code: '1102', title: '密码修改', icon: '', keepAlive: true }
//   //     }, {
//   //       path: 'systemLog',
//   //       name: 'systemLogCancel',
//   //       code: '1103',
//   //       component: () => import('@/views/systemSettings/systemLog'),
//   //       meta: { code: '1103', title: '系统日志', icon: '', keepAlive: true }
//   //     }, {
//   //       path: 'sopUpload',
//   //       name: 'sopUploadCancel',
//   //       code: '1104',
//   //       component: () => import('@/views/systemSettings/sopUpload'),
//   //       meta: { code: '1104', title: 'SOP上传', icon: '', keepAlive: true }
//   //     }, {
//   //       path: 'shopNotice',
//   //       name: 'shopNoticeCancel',
//   //       code: '1105',
//   //       component: () => import('@/views/systemSettings/shopNotice'),
//   //       meta: { code: '1105', title: '车间公告', icon: '', keepAlive: true }
//   //     }
//   //   ]
//   // }
//
// ]
//
// const createRouter = () => new Router({
//   // mode: 'history', // require service support
//   scrollBehavior: () => ({ y: 0 }),
//   routes: commonRoutes
// })
//
// const router = createRouter()
//
// // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
// export function resetRouter() {
//   const newRouter = createRouter()
//   router.matcher = newRouter.matcher // reset router
// }
//
// export default router
src/store/modules/permission.js
@@ -108,6 +108,7 @@
            return i
          }
        })
        newRoutes.push({ path: '*', redirect: '/404', hidden: true })
      } else {
        newRoutes = getAsyncRoutes(asyncRoutes, menu)
      }
src/views/jcsz/jsqd.vue
@@ -410,7 +410,7 @@
        </el-button>
      </div>
      <el-table
        ref="multipleTable"
        ref="multipleTableRef"
        :data="dialogFormUserTable"
        border
        :row-class-name="tableRowClassName"
@@ -981,7 +981,7 @@
    },
    /* 关联用户模块*/
    async  userClick(row) {
    userClick(row) {
      if (row.role_code === 'S001') {
        return this.$message.info('此角色无法操作!')
      }
@@ -995,29 +995,31 @@
      this.userForm.roleName = row.role_name
      this.dialogFormUser.rolecode = row.role_code
      const res = await this.getRoleAssociationUser()
      if (res.code === '200') {
        setTimeout(() => {
          loading.close()
          this.userDialogVisible = true
          this.$nextTick(() => {
            this.$refs.multipleTable.doLayout()
      this.getRoleAssociationUser().then(res => {
        if (res.code === '200') {
          setTimeout(() => {
            loading.close()
            this.$nextTick(() => {
              this.$refs.multipleTableRef.doLayout()
            })
          })
        }, 1000)
      } else {
        loading.close()
      }
        } else {
          loading.close()
        }
      })
    },
    // 获取角色清单关联用户
    async getRoleAssociationUser() {
      const res = await RoleAssociationUser(this.dialogFormUser)
      this.dialogFormUserTable = res.data
      this.dialogFormUserTableLength = res.count
      this.userDialogVisible = true
      this.$nextTick(() => {
        this.dialogFormUserTable.forEach((item, index) => {
          if (item.flag === 'Y') {
            this.$refs.multipleTable.toggleRowSelection(this.dialogFormUserTable[index], true)
            this.$refs.multipleTableRef.toggleRowSelection(this.dialogFormUserTable[index], true)
          }
        })
      })
@@ -1064,7 +1066,7 @@
      this.dialogFormUser.orgcode = ''
      this.dialogFormUser.isrole = ''
      this.$refs.dialogCascaderUser.checkedValue = ''
      this.$refs.multipleTable.clearSelection()
      this.$refs.multipleTableRef.clearSelection()
    },
    // 关联用户对话框关闭
    userDialogVisibleCancel() {
src/views/kb/ckgl.vue
@@ -122,7 +122,7 @@
                >
                  <template slot-scope="{row}">
                    <!--                    <div v-if="row.totalStockInQuantity">{{ row.totalStockInQuantity }}</div>-->
                    <div v-if="row.quantity">{{ row.quantity*0.8 }}</div>
                    <div v-if="row.quantity">{{ Math.round(row.quantity*0.8) }}</div>
                    <div v-else>0</div>
                  </template>
                </el-table-column>
@@ -258,7 +258,7 @@
                >
                  <template slot-scope="{row}">
                    <!--                    <div v-if="row.saleOutQuantity" class="ellipsis">{{ row.saleOutQuantity }}</div>-->
                    <div v-if="row.quantity" class="ellipsis">{{ row.quantity*0.8 }}</div>
                    <div v-if="row.quantity" class="ellipsis">{{ Math.round(row.quantity*0.8) }}</div>
                    <div v-else>0</div>
                  </template>
                </el-table-column>
src/views/kb/zhkb.vue
@@ -151,7 +151,7 @@
                <el-table-column
                  prop="wo_code"
                  label="加工单号"
                  width="190"
                  width="194"
                />
                <el-table-column
                  prop="partname"
@@ -420,26 +420,51 @@
    },
    // 产线加工任务  左下数据
    getLeftBottomData() {
      let startValue = 0 // 初始值
      const scale = 10// 刻度
      // let startValue = 0 // 初始值
      // const scale = 10// 刻度
      //
      // LineSearchBottomLeftData({ shopcode: this.ShopArr.join(',') }).then(res => {
      //   this.tableDataLeftBottomTemp = res.data
      //   this.tableDataLeftBottom = this.tableDataLeftBottomTemp.slice(startValue, startValue + scale)
      //
      //   const loop = Math.floor(this.tableDataLeftBottomTemp.length / scale)// 需要循环的次数
      //   let nowLoop = 0// 当前循环的次数
      //
      //   const timer = setInterval(() => {
      //     startValue = startValue + scale
      //     this.tableDataLeftBottom = this.tableDataLeftBottomTemp.slice(startValue, startValue + scale)
      //     if (nowLoop === loop) {
      //       clearInterval(timer)
      //       this.getLeftBottomData()
      //     }
      //
      //     nowLoop++
      //   }, 1000 * 10)
      // })
      LineSearchBottomLeftData({ shopcode: this.ShopArr.join(',') }).then(res => {
        this.tableDataLeftBottomTemp = res.data
        this.tableDataLeftBottom = this.tableDataLeftBottomTemp.slice(startValue, startValue + scale)
        this.tableDataLeftBottom = res.data
        const loop = Math.floor(this.tableDataLeftBottomTemp.length / scale)// 需要循环的次数
        let nowLoop = 0// 当前循环的次数
        const divData = this.$refs.tableDataLeftBottomRef.bodyWrapper
        // 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果(此配置为每100毫秒移动1像素)
        const aaa = setInterval(() => {
          // 元素自增距离顶部1像素
          divData.scrollTop += 1
          // divData.scrollTop += divData.scrollHeight / this.tableData.length
          // 判断元素是否滚动到底部(可视高度+距离顶部=整个高度)
          if (divData.clientHeight + divData.scrollTop === divData.scrollHeight) {
            // 重置table距离顶部距离
            divData.scrollTop = 0
            LineSearchBottomLeftData({ shopcode: this.ShopArr.join(',') }).then(res => {
              this.tableDataLeftBottom = res.data
        const timer = setInterval(() => {
          startValue = startValue + scale
          this.tableDataLeftBottom = this.tableDataLeftBottomTemp.slice(startValue, startValue + scale)
          if (nowLoop === loop) {
            clearInterval(timer)
            this.getLeftBottomData()
              if (this.tableDataLeftBottom.length > 10) {
                clearInterval(aaa)
                this.getLeftBottomData()
              }
            })
          }
          nowLoop++
        }, 1000 * 10)
        }, this.tableDataLeftBottom.length <= 10 ? 1000 * 5 : 100)
      })
    },
@@ -622,6 +647,10 @@
  border-radius: 50%;
}
::v-deep .el-table__body-wrapper{
  overflow: hidden !important;
}
</style>
<!--星空-->
vue.config.js
@@ -51,8 +51,8 @@
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        // target: 'http://121.196.36.24:8007', // 请求的第三⽅接⼝地址      本地服务器(富尔达)
        // target: 'http://192.168.16.246:8001', // 请求的第三⽅接⼝地址      客户服务器(富尔达)  (未上云)
        target: 'http://rz5qwd.natappfree.cc', // 请求的第三⽅接⼝地址      客户服务器(富尔达)  (上云)
        target: 'http://192.168.16.246:8001', // 请求的第三⽅接⼝地址      客户服务器(富尔达)  (未上云)
        // target: 'http://rz5qwd.natappfree.cc', // 请求的第三⽅接⼝地址      客户服务器(富尔达)  (上云)
        changeOrigin: true, // 请求跨域时,需 配置此项
        pathRewrite: { // 路径重写,替换target中的请求地址