按钮级别的新版本,多级别的组织架构
loulijun2021
2023-07-28 1f4f6a79e749b89751108c79e069689032eb2e99
1.删除冗余文件
已修改4个文件
已删除96个文件
73651 ■■■■■ 文件已修改
src/api/ErpSyncMes.js 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basicInfo.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basicSettings.js 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/deviceManager.js 341 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/makeModel.js 346 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/materialManager.js 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/produceManager.js 460 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/purchasesManager.js 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/qualityManager.js 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/reportManager.js 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/systemSettings.js 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/user.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/utils.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 1227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index_back.js 698 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/global.js 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/contactUnitList.vue 697 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/installationLampSetting.vue 716 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/organizationList.vue 764 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/roleList.vue 2053 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicSettings/userList.vue 1870 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/checkPosition.vue 732 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/checkRecord.vue 764 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/checkStandard.vue 1365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/deviceGroup.vue 2538 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/deviceList.vue 1480 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/deviceType.vue 2490 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/maintainPosition.vue 642 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/maintainRecord.vue 776 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/maintainStandard.vue 1311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/repairRecord.vue 876 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/deviceManager/repairRequestRecord.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gantt_back/gantt_all_back.vue 1854 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gantt_back/gantt_back.vue 1783 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gantt_back/zdpc2.vue 2281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/bybw.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/bybz.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/byjl.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/ckrk.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/djbw.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/djbz.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/djjl.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/gzlx.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/gzqd.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/gzwx.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/sjxj.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gzgl/wkrk.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/InventoryList.vue 1695 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/materialList.vue 1353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/materialType.vue 502 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/meterPrice.vue 1266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/processDefine.vue 1368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/makeModel/processRoute.vue 1238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/containerList.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/containerType.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/inOutboundRecord.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/inventoryQuery.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/locationDefine.vue 645 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/materialManager/storehouseDefine.vue 599 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/AutoScheduling.vue 1731 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/AutoScheduling_back.vue 1731 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/AutoScheduling_back2.vue 2075 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/capacityPlanning.vue 1111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/produceOrder.vue 972 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/produceStartOrder.vue 2826 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/produceStartOrder_autoPrint_back.vue 1578 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/productWarehouse.vue 1405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/workOrder.vue 3461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/workOrderBatchClose.vue 694 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/workOrderDispatch.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/produceManager/workOrder_autoPrint_back.vue 1216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/purchasesManager/InventoryLedgerList.vue 760 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/purchasesManager/arrivalNoticeList.vue 874 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/purchasesManager/goodsStatisticsList.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/purchasesManager/purchasesList.vue 877 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/purchasesManager/salesStatisticsList.vue 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/defectDefine.vue 505 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/defectStatistics.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/logisticsCheck.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/processCheck.vue 805 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/processCheckItem.vue 531 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/processCheckRecord.vue 851 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/processCheckStandard.vue 785 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/processCheck_back.vue 885 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/qualityPlaning.vue 1472 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManager/qualityStandard.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/abnormalQualityList.vue 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/defectDetailList.vue 624 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/groupSalaryList.vue 963 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/installationLampList.vue 960 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/logisticsCheck.vue 780 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/personSalaryList.vue 930 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/produceSchedule.vue 565 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/repairDetailList.vue 631 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportManager/subcontractingOperation.vue 664 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSettings/codingRules.vue 548 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSettings/passwordEdit.vue 618 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSettings/shopNotice.vue 620 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSettings/sopUpload.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSettings/systemLog.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ErpSyncMes.js
ÎļþÒÑɾ³ý
src/api/basicInfo.js
ÎļþÒÑɾ³ý
src/api/basicSettings.js
@@ -1,314 +1,37 @@
import request from '@/utils/request'
// ç»„织架构查询
export function OrganizationSearch(data) {
// è§’色权限查询角色
export function RolePermissionSearchRole(data) {
  return request({
    url: 'BasicSetting/OrganizationSearch',
    url: 'BasicSetting/RolePermissionSearchRole',
    method: 'get',
    params: data
  })
}
// ç»„织架构查询
export function PrentOrganization(data) {
// è§’色权限角色编码、操作端编码查询菜单及按钮
export function RolePermissionSearchRoleMenu(data) {
  return request({
    url: 'BasicSetting/PrentOrganization',
    url: 'BasicSetting/RolePermissionSearchRoleMenu',
    method: 'get',
    params: data
  })
}
// è§’色权限,根据菜单编号、查询按钮权限及数据权限
export function RolePermissionSearchRoleMenuButton(data) {
  return request({
    url: 'BasicSetting/RolePermissionSearchRoleMenuButton',
    method: 'get',
    params: data
  })
}
// ç»„织架构新增编辑
export function AddUpdateOrganization(data) {
  return request({
    url: 'BasicSetting/AddUpdateOrganization',
    method: 'post',
    data
  })
}
// ç»„织架构删除
export function DeleteOrganization(data) {
  return request({
    url: 'BasicSetting/DeleteOrganization',
    method: 'post',
    params: data
  })
}
// ç”¨æˆ·æ¸…单查询
export function UserSearch(data) {
  return request({
    url: 'BasicSetting/UserSearch',
    method: 'get',
    params: data
  })
}
// ç”¨æˆ·æ‰€å±žç»„织查询
export function UserOrganization(data) {
  return request({
    url: 'BasicSetting/UserOrganization',
    method: 'get',
    params: data
  })
}
// ç”¨æˆ·æ¸…单新增编辑
export function AddUpdateUser(data) {
  return request({
    url: 'BasicSetting/AddUpdateUser',
    method: 'post',
    data
  })
}
// ç”¨æˆ·åˆ é™¤
export function DeleteUser(data) {
  return request({
    url: 'BasicSetting/DeleteUser',
    method: 'post',
    params: data
  })
}
// ç”¨æˆ·æ¸…单关联角色查询
export function UserAssociationRole(data) {
  return request({
    url: 'BasicSetting/UserAssociationRole',
    method: 'get',
    params: data
  })
}
// ç”¨æˆ·æ¸…单关联角色保存
export function SaveUserAssoctRole(data, usercode, stu_torgcode, description) {
  return request({
    url: 'BasicSetting/SaveUserAssoctRole?usercode=' + usercode + '&stu_torgcode=' + stu_torgcode + '&description=' + description,
    method: 'post',
    data
  })
}
// è§’色类型查询
export function RoleTypeSearch(data) {
  return request({
    url: 'BasicSetting/RoleTypeSearch',
    method: 'get',
    params: data
  })
}
// è§’色类型新增
export function RoleTypeAdd(data) {
  return request({
    url: 'BasicSetting/RoleTypeAdd',
    method: 'post',
    data
  })
}
// è§’色类型删除
export function RoleTypeDelete(data) {
  return request({
    url: 'BasicSetting/RoleTypeDelete',
    method: 'post',
    params: data
  })
}
// è§’色清单查询
export function RoleSearch(data) {
  return request({
    url: 'BasicSetting/RoleSearch',
    method: 'get',
    params: data
  })
}
// è§’色清单新增编辑
export function AddUpdateRole(data) {
  return request({
    url: 'BasicSetting/AddUpdateRole',
    method: 'post',
    data
  })
}
// è§’色清单删除
export function DeleteRole(data) {
  return request({
    url: 'BasicSetting/DeleteRole',
    method: 'post',
    params: data
  })
}
// è§’色清单关联用户查询
export function RoleAssociationUser(data) {
  return request({
    url: 'BasicSetting/RoleAssociationUser',
    method: 'get',
    params: data
  })
}
// è§’色清单关联用户保存
export function SaveRoleAssoctUser(data, rolecode) {
  return request({
    url: 'BasicSetting/SaveRoleAssoctUser?rolecode=' + rolecode,
    method: 'post',
    data
  })
}
// ç”¨æˆ·æ¸…单关联功能查询
export function RoleAssociationRight(data) {
  return request({
    url: 'BasicSetting/RoleAssociationRight',
    method: 'get',
    params: data
  })
}
// è§’色清单关联功能保存
export function SaveUserAssoctRight(data, rolecode, usercode) {
  return request({
    url: 'BasicSetting/SaveUserAssoctRight?rolecode=' + rolecode + '&usercode=' + usercode,
    method: 'post',
    data
  })
}
// å¾€æ¥å•位查询
export function CurrentUnitSearch(data) {
  return request({
    url: 'BasicSetting/CurrentUnitSearch',
    method: 'get',
    params: data
  })
}
// å¾€æ¥å•位新增编辑
export function AddUpdateCurrentUnit(data) {
  return request({
    url: 'BasicSetting/AddUpdateCurrentUnit',
    method: 'post',
    data
  })
}
// å¾€æ¥å•位删除
export function DeleteCurrentUnit(data) {
  return request({
    url: 'BasicSetting/DeleteCurrentUnit',
    method: 'post',
    params: data
  })
}
// è§’色类型下拉接口
export function RoleTypeSelect() {
  return request({
    url: 'BasicSetting/RoleTypeSelect',
    method: 'get'
  })
}
// ç”¨æˆ·æ‰€å±žç­ç»„
export function UserGroup() {
  return request({
    url: 'BasicSetting/UserGroup',
    method: 'get'
  })
}
// ç”¨æˆ·ç»„列表查询
export function UserGroupSearch(data) {
  return request({
    url: 'BasicSetting/UserGroupSearch',
    method: 'get',
    params: data
  })
}
// ç”¨æˆ·ç»„新增
export function UserGroupAdd(data) {
  return request({
    url: 'BasicSetting/UserGroupAdd',
    method: 'post',
    data
  })
}
// ç”¨æˆ·ç»„删除
export function UserGroupDelete(data) {
  return request({
    url: 'BasicSetting/UserGroupDelete',
    method: 'post',
    params: data
  })
}
// å®‰ç¯ç³»ç»Ÿ/自定义安灯呼叫类型查询
export function AnDengTypeSearch() {
  return request({
    url: 'BasicSetting/AnDengTypeSearch',
    method: 'get'
  })
}
// å®‰ç¯ç³»ç»Ÿ/自定义安灯呼叫类型新增
export function AddUpdateAnDengType(data) {
  return request({
    url: 'BasicSetting/AddUpdateAnDengType',
    method: 'post',
    data
  })
}
// å®‰ç¯ç³»ç»Ÿ/自定义安灯呼叫类型删除
export function DeleteAnDengType(data) {
  return request({
    url: 'BasicSetting/DeleteAnDengType',
    method: 'post',
    params: data
  })
}
// å®‰ç¯ç³»ç»Ÿ/查询绑定的响应人员
export function AnDengResponUserSearch(data) {
  return request({
    url: 'BasicSetting/AnDengResponUserSearch',
    method: 'get',
    params: data
  })
}
// å®‰ç¯ç³»ç»Ÿ/新增响应人员查询已绑定的响应人员
export function AnDengDigoResponUserSearch(data) {
  return request({
    url: 'BasicSetting/AnDengDigoResponUserSearch',
    method: 'get',
    params: data
  })
}
// å®‰ç¯ç³»ç»Ÿ/新增响应人员提交
export function AnDengDigoResponUserSeave(wkshopcode, calltypecode, enable, data) {
  return request({
    url: 'BasicSetting/AnDengDigoResponUserSeave?wkshopcode=' + wkshopcode + '&calltypecode=' + calltypecode + '&enable=' + enable,
    method: 'post',
    data
  })
}
// å®‰ç¯ç³»ç»Ÿ/响应人员允许关闭
export function AnDengResponUserCloseSeave(data) {
  return request({
    url: 'BasicSetting/AnDengResponUserCloseSeave',
    method: 'post',
    params: data
  })
}
// å®‰ç¯ç³»ç»Ÿ/响应人员删除
export function AnDengResponUserDeleteSeave(data) {
  return request({
    url: 'BasicSetting/AnDengResponUserDeleteSeave',
    method: 'post',
    params: data
  })
}
// é€šè¿‡è½¦é—´ç¼–码查找设备信息
export function WhkspIsEqpSearch(data) {
  return request({
    url: 'BasicSetting/WhkspIsEqpSearch',
    method: 'get',
    params: data
  })
}
export function AnDengShopSearch(data) {
  return request({
    url: 'BasicSetting/AnDengShopSearch',
    method: 'get',
    params: data
  })
}
// export function AddUpdateOrganization(data) {
//   return request({
//     url: 'BasicSetting/AddUpdateOrganization',
//     method: 'post',
//     data
//   })
// }
src/api/deviceManager.js
ÎļþÒÑɾ³ý
src/api/makeModel.js
ÎļþÒÑɾ³ý
src/api/materialManager.js
ÎļþÒÑɾ³ý
src/api/produceManager.js
ÎļþÒÑɾ³ý
src/api/purchasesManager.js
ÎļþÒÑɾ³ý
src/api/qualityManager.js
ÎļþÒÑɾ³ý
src/api/reportManager.js
ÎļþÒÑɾ³ý
src/api/systemSettings.js
ÎļþÒÑɾ³ý
src/api/user.js
@@ -15,21 +15,13 @@
  })
}
export function LoginMenuCloud(data) {
  return request({
    url: 'http://182.61.13.206/prod-api/enterprise/user/getModulesByEnterpriseUserName',
    method: 'get',
    params: data
  })
}
export function getInfo(token) {
  return request({
    url: '/vue-admin-template/user/info',
    method: 'get',
    params: { token }
  })
}
// export function getInfo(token) {
//   return request({
//     url: '/vue-admin-template/user/info',
//     method: 'get',
//     params: { token }
//   })
// }
export function logout(data) {
  return request({
src/api/utils.js
ÎļþÒÑɾ³ý
src/router/index.js
@@ -85,30 +85,7 @@
  // { path: '*', redirect: '/404', hidden: true }
]
// æœªä¸Šäº‘模块
export const asyncRoutes = [
  // {
  //   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: 'zdpc2',
  //     name: 'YYQDCancel',
  //     code: '1012',
  //     component: () => import('@/views/gantt_back/zdpc2'),
  //     meta: { code: '1012', title: '自动排程2', icon: '', keepAlive: true }
  //   }]
  // },
  {
    path: '/basicSettings',
    component: Layout,
@@ -119,1219 +96,15 @@
    alwaysShow: true, // å½“children只有一个时,也显示父菜单
    children: [
      {
        path: 'organizationList',
        name: 'organizationListCancel',
        code: '1010',
        component: () => import('@/views/basicSettings/organizationList'),
        meta: { code: '1010', title: '组织架构', icon: '', keepAlive: true }
      }, {
        path: 'userList',
        name: 'userListCancel',
        code: '1011',
        component: () => import('@/views/basicSettings/userList'),
        meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
      }, {
        path: 'roleList',
        name: 'roleListCancel',
        code: '1012',
        component: () => import('@/views/basicSettings/roleList'),
        meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true }
      }, {
        path: 'contactUnitList',
        name: 'contactUnitListCancel',
        code: '1013',
        component: () => import('@/views/basicSettings/contactUnitList'),
        meta: { code: '1013', title: '往来单位', icon: '', keepAlive: true }
      }, {
        path: 'rolePermission',
        name: 'rolePermissionCancel',
        code: '1014',
        component: () => import('@/views/basicSettings/rolePermission'),
        meta: { code: '1014', title: '安灯设置', icon: '', keepAlive: true }
      }
      // {
      //   path: 'installationLampSetting',
      //   name: 'installationLampSettingCancel',
      //   code: '1014',
      //   component: () => import('@/views/basicSettings/installationLampSetting'),
      //   meta: { code: '1014', title: '安灯设置', icon: '', keepAlive: true }
      // }
    ]
  },
  {
    path: '/deviceManager',
    component: Layout,
    redirect: '/deviceManager/deviceType',
    name: '设备管理',
    code: '1002',
    meta: { code: '1002', title: '设备管理', icon: 'example' },
    alwaysShow: true,
    children: [
      {
        path: 'deviceType',
        name: 'deviceTypeCancel',
        code: '1020',
        component: () => import('@/views/deviceManager/deviceType'),
        meta: { code: '1020', title: '设备类型', icon: '', keepAlive: true }
      },
      {
        path: 'deviceGroup',
        name: 'deviceGroupCancel',
        code: '1021',
        component: () => import('@/views/deviceManager/deviceGroup'),
        meta: { code: '1021', title: '设备组', icon: '', keepAlive: true }
      }, {
        path: 'deviceList',
        name: 'deviceListCancel',
        code: '1022',
        component: () => import('@/views/deviceManager/deviceList'),
        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 }
      },
      {
        path: 'repairRequestRecord',
        name: 'repairRequestRecordCancel',
        code: '1019',
        component: () => import('@/views/deviceManager/repairRequestRecord'),
        meta: { code: '1019', title: '设备申请维修记录', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/gzgl',
    component: Layout,
    redirect: '/gzgl/gzlx',
    name: '工装管理',
    code: '1003',
    meta: { code: '1003', title: '工装管理', icon: 'component' },
    alwaysShow: true,
    children: [
      {
        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: '/materialManager',
    component: Layout,
    redirect: '/materialManager/storehouseDefine',
    name: '物料管理',
    code: '1004',
    meta: { code: '1004', title: '物料管理', icon: 'table' },
    alwaysShow: true,
    children: [
      {
        path: 'storehouseDefine',
        name: 'storehouseDefineCancel',
        code: '1050',
        component: () => import('@/views/materialManager/storehouseDefine'),
        meta: { code: '1050', title: '仓库定义', icon: '', keepAlive: true }
      },
      {
        path: 'locationDefine',
        name: 'locationDefineCancel',
        code: '1051',
        component: () => import('@/views/materialManager/locationDefine'),
        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: '/makeModel',
    component: Layout,
    redirect: '/makeModel/InventoryList',
    name: '制造模型',
    code: '1005',
    meta: { code: '1005', title: '制造模型', icon: 'icu' },
    alwaysShow: true,
    children: [
      {
        path: 'materialType',
        name: 'materialTypeCancel',
        code: '1060',
        component: () => import('@/views/makeModel/materialType'),
        meta: { code: '1060', title: '物料类型', icon: '', keepAlive: true }
      },
      {
        path: 'InventoryList',
        name: 'InventoryListCancel',
        code: '1061',
        component: () => import('@/views/makeModel/InventoryList'),
        meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true }
      }, {
        path: 'materialList',
        name: 'materialListCancel',
        code: '1062',
        component: () => import('@/views/makeModel/materialList'),
        meta: { code: '1062', title: '物料清单', icon: '', keepAlive: true }
      },
      {
        path: 'processRoute',
        name: 'processRouteCancel',
        code: '1063',
        component: () => import('@/views/makeModel/processRoute'),
        meta: { code: '1063', title: '工艺路线', icon: '', keepAlive: true }
      }, {
        path: 'processDefine',
        name: 'processDefineCancel',
        code: '1064',
        component: () => import('@/views/makeModel/processDefine'),
        meta: { code: '1064', title: '工序定义', icon: '', keepAlive: true }
      },
      {
        path: 'meterPrice',
        name: 'meterPriceCancel',
        code: '1065',
        component: () => import('@/views/makeModel/meterPrice'),
        meta: { code: '1065', title: '节拍工价', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/produceManager',
    component: Layout,
    redirect: '/produceManager/produceOrder',
    name: '生产管理',
    code: '1006',
    meta: { code: '1006', title: '生产管理', icon: 'production' },
    alwaysShow: true,
    children: [
      {
        path: 'produceOrder',
        name: 'produceOrderCancel',
        code: '1070',
        component: () => import('@/views/produceManager/produceOrder'),
        meta: { code: '1070', title: '生产订单', icon: '', keepAlive: true }
      }, {
        path: 'workOrder',
        name: 'workOrderCancel',
        code: '1071',
        component: () => import('@/views/produceManager/workOrder'),
        meta: { code: '1071', title: '工单', icon: '', keepAlive: true }
      }, {
        path: 'workOrderDispatch',
        name: 'workOrderDispatchCancel',
        code: '1072',
        component: () => import('@/views/produceManager/workOrderDispatch'),
        meta: { code: '1072', title: '工单派工', icon: '', keepAlive: true }
      }, {
        path: 'produceStartOrder',
        name: 'produceStartOrderCancel',
        code: '1073',
        component: () => import('@/views/produceManager/produceStartOrder'),
        meta: { code: '1073', title: '生产开报工', icon: '', keepAlive: true }
      }, {
        path: 'workOrderBatchClose',
        name: 'workOrderBatchCloseCancel',
        code: '1074',
        component: () => import('@/views/produceManager/workOrderBatchClose'),
        meta: { code: '1074', title: '工单批量关闭', icon: '', keepAlive: true }
      }, {
        path: 'capacityPlanning',
        name: 'capacityPlanningCancel',
        code: '1075',
        component: () => import('@/views/produceManager/capacityPlanning'),
        meta: { code: '1075', title: '产能规划', icon: '', keepAlive: true }
      }, {
        path: 'AutoScheduling',
        name: 'AutoSchedulingCancel',
        code: '1076',
        component: () => import('@/views/produceManager/AutoScheduling'),
        meta: { code: '1076', title: '自动排程', icon: '', keepAlive: true }
      }, {
        path: 'productWarehouse',
        name: 'productWarehouseCancel',
        code: '1077',
        component: () => import('@/views/produceManager/productWarehouse'),
        meta: { code: '1077', title: '生产入库', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/qualityManager',
    component: Layout,
    redirect: '/qualityManager/defectDefine',
    name: '质量管理',
    code: '1007',
    meta: { code: '1007', title: '质量管理', icon: 'quality' },
    alwaysShow: true,
    children: [
      {
        path: 'qualityStandard',
        name: 'qualityStandardCancel',
        code: '1080',
        component: () => import('@/views/qualityManager/qualityStandard'),
        meta: { code: '1080', title: '质检标准', icon: '', keepAlive: true }
      }, {
        path: 'defectDefine',
        name: 'defectDefineCancel',
        code: '1081',
        component: () => import('@/views/qualityManager/defectDefine'),
        meta: { code: '1081', title: '缺陷定义', icon: '', keepAlive: true }
      }, {
        path: 'processCheck',
        name: 'processCheckCancel',
        code: '1082',
        component: () => import('@/views/qualityManager/processCheck'),
        meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true }
      }, {
        path: 'logisticsCheck',
        name: 'logisticsCheckCancel',
        code: '1083',
        component: () => import('@/views/qualityManager/logisticsCheck'),
        meta: { code: '1083', title: '物流检验', icon: '', keepAlive: true }
      }, {
        path: 'defectStatistics',
        name: 'defectStatisticsCancel',
        code: '1084',
        component: () => import('@/views/qualityManager/defectStatistics'),
        meta: { code: '1084', title: '缺陷统计', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckStandard',
        name: 'processCheckStandardCancel',
        code: '1085',
        component: () => import('@/views/qualityManager/processCheckStandard'),
        meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckItem',
        name: 'processCheckItemCancel',
        code: '1086',
        component: () => import('@/views/qualityManager/processCheckItem'),
        meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true }
      }, {
        path: 'processCheckRecord',
        name: 'processCheckRecordCancel',
        code: '1087',
        component: () => import('@/views/qualityManager/processCheckRecord'),
        meta: { code: '1087', title: '工序检验记录', icon: '', keepAlive: true }
      }, {
        path: 'qualityPlaning',
        name: 'ZJFACancel',
        code: '1088',
        component: () => import('@/views/qualityManager/qualityPlaning'),
        meta: { code: '1088', title: '质检方案', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/reportManager',
    component: Layout,
    redirect: '/reportManager/groupSalaryList',
    name: '报表管理',
    code: '1008',
    meta: { code: '1008', title: '报表管理', icon: 'bbgl' },
    alwaysShow: true,
    children: [
      {
        path: 'produceSchedule',
        name: 'produceScheduleCancel',
        code: '1098',
        component: () => import('@/views/reportManager/produceSchedule'),
        meta: { code: '1098', title: '生产进度报表', icon: '', keepAlive: true }
      }, {
        path: 'groupSalaryList',
        name: 'groupSalaryListCancel',
        code: '1090',
        component: () => import('@/views/reportManager/groupSalaryList'),
        meta: { code: '1090', title: '班组工资统计', icon: '', keepAlive: true }
      }, {
        path: 'personSalaryList',
        name: 'personSalaryListCancel',
        code: '1091',
        component: () => import('@/views/reportManager/personSalaryList'),
        meta: { code: '1091', title: '人员工资', icon: '', keepAlive: true }
      }, {
        path: 'subcontractingOperation',
        name: 'subcontractingOperationCancel',
        code: '1092',
        component: () => import('@/views/reportManager/subcontractingOperation'),
        meta: { code: '1092', title: '委外工序', icon: '', keepAlive: true }
      }, {
        path: 'defectDetailList',
        name: 'defectDetailListCancel',
        code: '1093',
        component: () => import('@/views/reportManager/defectDetailList'),
        meta: { code: '1093', title: '不良明细', icon: '', keepAlive: true }
      }, {
        path: 'abnormalQualityList',
        name: 'abnormalQualityListCancel',
        code: '1094',
        component: () => import('@/views/reportManager/abnormalQualityList'),
        meta: { code: '1094', title: '品质异常', icon: '', keepAlive: true }
      }, {
        path: 'repairDetailList',
        name: 'repairDetailListCancel',
        code: '1095',
        component: () => import('@/views/reportManager/repairDetailList'),
        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 }
      }, {
        path: 'logisticsCheck',
        name: 'logisticsCheckCancel',
        code: '1097',
        component: () => import('@/views/reportManager/logisticsCheck'),
        meta: { code: '1097', 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 }
      }
    ]
  },
  {
    path: '/purchasesManager',
    component: Layout,
    redirect: '/purchasesManager/purchasesList',
    name: '采购管理',
    code: '1000',
    meta: { code: '1000', 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 }
      }, {
        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 }
      }, {
        path: 'InventoryLedgerList',
        name: 'InventoryLedgerListCancel',
        code: '1205',
        component: () => import('@/views/purchasesManager/InventoryLedgerList'),
        meta: { code: '1205', title: '库存台账', icon: '', keepAlive: true }
      }
    ]
  }
]
// ä¸Šäº‘模块
export const asyncRoutesCloud = [
  // 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/basicSettings/organizationList'),
        meta: { code: '1010', title: '组织架构', icon: '', keepAlive: true }
      }, {
        path: 'roleList',
        name: 'roleListCancel',
        code: '1012',
        component: () => import('@/views/basicSettings/roleList'),
        meta: { code: '1012', title: '角色清单', icon: '', keepAlive: true }
      },
      {
        path: 'installationLampSetting',
        name: 'installationLampSettingCancel',
        code: '1014',
        component: () => import('@/views/basicSettings/installationLampSetting'),
        meta: { code: '1014', 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/basicSettings/userList'),
        meta: { code: '1011', title: '用户清单', icon: '', keepAlive: true }
      }, {
        path: 'contactUnitList',
        name: 'contactUnitListCancel',
        code: '1013',
        component: () => import('@/views/basicSettings/contactUnitList'),
        meta: { code: '1013', title: '往来单位', icon: '', keepAlive: true }
      }
    ]
  },
  // 3.数据采集管理   sop上传 çµç¿”项目的看下
  // 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/produceManager/produceOrder'),
        meta: { code: '1070', title: '生产订单', 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/makeModel/materialList'),
        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/qualityManager/defectDefine'),
        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/qualityManager/processCheck'),
        meta: { code: '1082', title: '工序检验', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckStandard',
        name: 'processCheckStandardCancel',
        code: '1085',
        component: () => import('@/views/qualityManager/processCheckStandard'),
        meta: { code: '1085', title: '工序检验标准', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckItem',
        name: 'processCheckItemCancel',
        code: '1086',
        component: () => import('@/views/qualityManager/processCheckItem'),
        meta: { code: '1086', title: '工序检验项目', icon: '', keepAlive: true }
      },
      {
        path: 'processCheckRecord',
        name: 'processCheckRecordCancel',
        code: '1087',
        component: () => import('@/views/qualityManager/processCheckRecord'),
        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/reportManager/groupSalaryList'),
        meta: { code: '1090', title: '班组工资统计报表', icon: '', keepAlive: true }
      },
      {
        path: 'personSalaryList',
        name: 'personSalaryListCancel',
        code: '1091',
        component: () => import('@/views/reportManager/personSalaryList'),
        meta: { code: '1091', title: '人员工资明细报表', icon: '', keepAlive: true }
      },
      {
        path: 'subcontractingOperation',
        name: 'subcontractingOperationCancel',
        code: '1092',
        component: () => import('@/views/reportManager/subcontractingOperation'),
        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/reportManager/defectDetailList'),
        meta: { code: '1093', title: '不良明细报表', icon: '', keepAlive: true }
      }, {
        path: 'abnormalQualityList',
        name: 'abnormalQualityListCancel',
        code: '1094',
        component: () => import('@/views/reportManager/abnormalQualityList'),
        meta: { code: '1094', title: '品质异常排行报表', icon: '', keepAlive: true }
      }, {
        path: 'repairDetailList',
        name: 'repairDetailListCancel',
        code: '1095',
        component: () => import('@/views/reportManager/repairDetailList'),
        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 }
      },
      {
        path: 'produceSchedule',
        name: 'produceScheduleCancel',
        code: '1098',
        component: () => import('@/views/reportManager/produceSchedule'),
        meta: { code: '1098', 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/materialManager/storehouseDefine'),
        meta: { code: '1050', title: '仓库定义', icon: '', keepAlive: true }
      },
      {
        path: 'locationDefine',
        name: 'locationDefineCancel',
        code: '1051',
        component: () => import('@/views/materialManager/locationDefine'),
        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/produceManager/workOrder'),
        meta: { code: '1071', title: '工单', icon: '', keepAlive: true }
      },
      {
        path: 'workOrderBatchClose',
        name: 'workOrderBatchCloseCancel',
        code: '1074',
        component: () => import('@/views/produceManager/workOrderBatchClose'),
        meta: { code: '1074', 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/produceManager/produceStartOrder'),
        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/makeModel/processRoute'),
        meta: { code: '1063', title: '工艺路线', icon: '', keepAlive: true }
      }, {
        path: 'processDefine',
        name: 'processDefineCancel',
        code: '1064',
        component: () => import('@/views/makeModel/processDefine'),
        meta: { code: '1064', title: '工序定义', icon: '', keepAlive: true }
      },
      {
        path: 'meterPrice',
        name: 'meterPriceCancel',
        code: '1065',
        component: () => import('@/views/makeModel/meterPrice'),
        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/deviceManager/deviceList'),
        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.其它集成
  {
    path: '/otherErp',
    component: Layout,
    redirect: '/otherErp/InventoryList',
    name: '其他产品集成',
    code: '2018',
    meta: { code: '2018', title: '其他产品集成', icon: 'erpjc' },
    alwaysShow: true,
    children: [
      {
        path: 'InventoryList',
        name: 'InventoryListCancel',
        code: '1061',
        component: () => import('@/views/makeModel/InventoryList'),
        meta: { code: '1061', title: '存货档案', icon: '', keepAlive: true }
      }
    ]
  },
  {
    path: '/kanbanManager',
    component: Layout,
    redirect: '/kanbanManager/zhkb',
    name: '智慧看板',
    code: '2023',
    meta: { title: '智慧看板', icon: 'zhkb' },
    alwaysShow: true,
    children: [
      {
        path: 'zhkb',
        name: 'ZHKBCancel',
        component: () => import('@/views/kanbanManager/zhkb'),
        meta: { title: '综合看板', icon: '', keepAlive: true }
      }, {
        path: 'cgdd',
        name: 'cgddCancel',
        component: () => import('@/views/kanbanManager/cgdd'),
        meta: { title: '采购订单', icon: '', keepAlive: true }
      },
      {
        path: 'ckgl',
        name: 'ckglCancel',
        component: () => import('@/views/kanbanManager/ckgl'),
        meta: { 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({
src/router/index_back.js
ÎļþÒÑɾ³ý
src/utils/global.js
@@ -1,8 +1,3 @@
import { NewEncodingRules } from '@/api/systemSettings'
import { AppTicketSelect } from '@/api/basicInfo'
import axios from 'axios'
import Vue from 'vue'
// å…¨å±€ä¸»è¦é¢œè‰²
export function getGlobalColor() {
  return { globalColor: `#42b983` }
@@ -62,14 +57,6 @@
  return `${hh}:${mm}`
}
// èŽ·å–è§„åˆ™ç”Ÿæˆçš„ç¼–ç 
export async function getNewEncodingRules(encode) {
  const res = await NewEncodingRules({ rightcode: encode })
  if (res.code === '200') {
    return { RightCode: res.data[0], numvalue: res.data[1] }
  }
}
// é€’归清除数组每个元素下的children为空的数组
const clearAllChildren = (items, childrenName = 'children') => {
  for (let i = 0; i < items.length; i++) {
@@ -101,25 +88,4 @@
      callback()
    }
  }
}
// èŽ·å–token ç”¨äºŽè¯·æ±‚畅捷通接口
export async function getTPlusToken() {
  const r1 = await AppTicketSelect()
  const r2 = r1.data[0]
  Vue.prototype.$AppKey = r2.appKey
  Vue.prototype.$AppSecret = r2.appSecret
  const data = {
    appTicket: r2.AppTicket,
    certificate: r2.certificate
  }
  const r3 = await axios.post(Vue.prototype.$chanjetBaseUrl + '/v1/common/auth/selfBuiltApp/generateToken',
    data, {
      headers: {
        'appKey': Vue.prototype.$AppKey,
        'appSecret': Vue.prototype.$AppSecret,
        'Content-Type': 'application/json'
      }
    })
  return r3.data.value.accessToken
}
src/views/basicSettings/contactUnitList.vue
ÎļþÒÑɾ³ý
src/views/basicSettings/installationLampSetting.vue
ÎļþÒÑɾ³ý
src/views/basicSettings/organizationList.vue
ÎļþÒÑɾ³ý
src/views/basicSettings/roleList.vue
ÎļþÒÑɾ³ý
src/views/basicSettings/userList.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/checkPosition.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/checkRecord.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/checkStandard.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/deviceGroup.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/deviceList.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/deviceType.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/maintainPosition.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/maintainRecord.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/maintainStandard.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/repairRecord.vue
ÎļþÒÑɾ³ý
src/views/deviceManager/repairRequestRecord.vue
ÎļþÒÑɾ³ý
src/views/gantt_back/gantt_all_back.vue
ÎļþÒÑɾ³ý
src/views/gantt_back/gantt_back.vue
ÎļþÒÑɾ³ý
src/views/gantt_back/zdpc2.vue
ÎļþÒÑɾ³ý
src/views/gzgl/bybw.vue
ÎļþÒÑɾ³ý
src/views/gzgl/bybz.vue
ÎļþÒÑɾ³ý
src/views/gzgl/byjl.vue
ÎļþÒÑɾ³ý
src/views/gzgl/ckrk.vue
ÎļþÒÑɾ³ý
src/views/gzgl/djbw.vue
ÎļþÒÑɾ³ý
src/views/gzgl/djbz.vue
ÎļþÒÑɾ³ý
src/views/gzgl/djjl.vue
ÎļþÒÑɾ³ý
src/views/gzgl/gzlx.vue
ÎļþÒÑɾ³ý
src/views/gzgl/gzqd.vue
ÎļþÒÑɾ³ý
src/views/gzgl/gzwx.vue
ÎļþÒÑɾ³ý
src/views/gzgl/sjxj.vue
ÎļþÒÑɾ³ý
src/views/gzgl/wkrk.vue
ÎļþÒÑɾ³ý
src/views/makeModel/InventoryList.vue
ÎļþÒÑɾ³ý
src/views/makeModel/materialList.vue
ÎļþÒÑɾ³ý
src/views/makeModel/materialType.vue
ÎļþÒÑɾ³ý
src/views/makeModel/meterPrice.vue
ÎļþÒÑɾ³ý
src/views/makeModel/processDefine.vue
ÎļþÒÑɾ³ý
src/views/makeModel/processRoute.vue
ÎļþÒÑɾ³ý
src/views/materialManager/containerList.vue
ÎļþÒÑɾ³ý
src/views/materialManager/containerType.vue
ÎļþÒÑɾ³ý
src/views/materialManager/inOutboundRecord.vue
src/views/materialManager/inventoryQuery.vue
ÎļþÒÑɾ³ý
src/views/materialManager/locationDefine.vue
ÎļþÒÑɾ³ý
src/views/materialManager/storehouseDefine.vue
ÎļþÒÑɾ³ý
src/views/produceManager/AutoScheduling.vue
ÎļþÒÑɾ³ý
src/views/produceManager/AutoScheduling_back.vue
ÎļþÒÑɾ³ý
src/views/produceManager/AutoScheduling_back2.vue
ÎļþÒÑɾ³ý
src/views/produceManager/capacityPlanning.vue
ÎļþÒÑɾ³ý
src/views/produceManager/produceOrder.vue
ÎļþÒÑɾ³ý
src/views/produceManager/produceStartOrder.vue
ÎļþÒÑɾ³ý
src/views/produceManager/produceStartOrder_autoPrint_back.vue
ÎļþÒÑɾ³ý
src/views/produceManager/productWarehouse.vue
ÎļþÒÑɾ³ý
src/views/produceManager/workOrder.vue
ÎļþÒÑɾ³ý
src/views/produceManager/workOrderBatchClose.vue
ÎļþÒÑɾ³ý
src/views/produceManager/workOrderDispatch.vue
ÎļþÒÑɾ³ý
src/views/produceManager/workOrder_autoPrint_back.vue
ÎļþÒÑɾ³ý
src/views/purchasesManager/InventoryLedgerList.vue
ÎļþÒÑɾ³ý
src/views/purchasesManager/arrivalNoticeList.vue
ÎļþÒÑɾ³ý
src/views/purchasesManager/goodsStatisticsList.vue
ÎļþÒÑɾ³ý
src/views/purchasesManager/purchasesList.vue
ÎļþÒÑɾ³ý
src/views/purchasesManager/salesStatisticsList.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/defectDefine.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/defectStatistics.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/logisticsCheck.vue
src/views/qualityManager/processCheck.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/processCheckItem.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/processCheckRecord.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/processCheckStandard.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/processCheck_back.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/qualityPlaning.vue
ÎļþÒÑɾ³ý
src/views/qualityManager/qualityStandard.vue
src/views/reportManager/abnormalQualityList.vue
ÎļþÒÑɾ³ý
src/views/reportManager/defectDetailList.vue
ÎļþÒÑɾ³ý
src/views/reportManager/groupSalaryList.vue
ÎļþÒÑɾ³ý
src/views/reportManager/installationLampList.vue
ÎļþÒÑɾ³ý
src/views/reportManager/logisticsCheck.vue
ÎļþÒÑɾ³ý
src/views/reportManager/personSalaryList.vue
ÎļþÒÑɾ³ý
src/views/reportManager/produceSchedule.vue
ÎļþÒÑɾ³ý
src/views/reportManager/repairDetailList.vue
ÎļþÒÑɾ³ý
src/views/reportManager/subcontractingOperation.vue
ÎļþÒÑɾ³ý
src/views/systemSettings/codingRules.vue
ÎļþÒÑɾ³ý
src/views/systemSettings/passwordEdit.vue
ÎļþÒÑɾ³ý
src/views/systemSettings/shopNotice.vue
ÎļþÒÑɾ³ý
src/views/systemSettings/sopUpload.vue
ÎļþÒÑɾ³ý
src/views/systemSettings/systemLog.vue
ÎļþÒÑɾ³ý