logwire-wms-ui-test
Version:
运匠科技wms-PDA基础组件库
842 lines (769 loc) • 24.8 kB
JavaScript
/*
* 菜单
* @author: 张文
* @date 2022-04-29
* */
import {DeepCopy} from "../utils/DeepCopy";
import {at, set, unset} from "lodash/object";
import {Language} from "../utils/Language";
import taskImg from './../assets/img/menu/task.png'
import messageImg from './../assets/img/menu/message.png'
import mainDataImg from './../assets/img/menu/mainData.png'
import newConfigImg from './../assets/img/menu/newConfig.png'
import mainLocImg from './../assets/img/menu/mainLoc.png'
import mainLocSearchImg from './../assets/img/menu/mainLocSearch.png'
import receiveImg from './../assets/img/menu/receive.png'
import receiveSkuImg from '../assets/img/menu/receive-sku.png'
import receiveLpnImg from './../assets/img/menu/receive-lpn.png'
import lpnBatchReceive from './../assets/img/menu/lpnBatchReceive.png'
import receiveCaseImg from './../assets/img/menu/receive-case.png'
import allotReceiveImg from './../assets/img/menu/allotReceive.png'
import receive_randomImg from './../assets/img/menu/receive_random.png'
import qualityImg from './../assets/img/menu/quality.png'
import receiptImg from './../assets/img/menu/receipt.png'
import shelfImg from './../assets/img/menu/shelf.png'
import receiveAbnormalImg from './../assets/img/menu/receiveAbnormal.png'
import innerImg from '../assets/img/menu/inner.png'
import randomMoveImg from './../assets/img/menu/randomMove.png'
import moveAllImg from './../assets/img/menu/moveAll.png'
import caseQuickMove from './../assets/img/menu/caseQuickMove.png'
import fragQuickMove from './../assets/img/menu/fragQuickMove.png'
import replenish from './../assets/img/menu/replenish.png'
import moveUpImg from './../assets/img/menu/moveUp.png'
import movePutAway from './../assets/img/menu/movePutAway.png'
import countImg from './../assets/img/menu/count.png'
import materialApplyImg from './../assets/img/menu/materialApply.png'
import borrowPickImg from './../assets/img/menu/borrowPick.png'
import reportAbnormalImg from './../assets/img/menu/reportAbnormal.png'
import disposeAbnormalImg from './../assets/img/menu/disposeAbnormal.png'
import stockSearchImg from './../assets/img/menu/stockSearch.png'
import deadPutawayImg from './../assets/img/menu/deadPutaway.png'
import processImg from './../assets/img/menu/process.png'
import processTableImg from './../assets/img/menu/processTable.png'
import packScreen from './../assets/img/menu/packScreen.png'
import outboundImg from './../assets/img/menu/outbound.png'
import pickImg from './../assets/img/menu/pick.png'
import pickMergeImg from './../assets/img/menu/pickMerge.png'
import sowImg from './../assets/img/menu/sow.png'
import baleImg from './../assets/img/menu/bale.png'
import aloneBaleImg from './../assets/img/menu/aloneBale.png'
import baleChangeImg from './../assets/img/menu/baleChange.png'
import summaryLpnImg from './../assets/img/menu/summaryLpn.png'
import summaryBoxImg from './../assets/img/menu/summaryBox.png'
import lpnPackImg from './../assets/img/menu/lpnPack.png'
import handoverImg from './../assets/img/menu/handover.png'
import deliveryImg from './../assets/img/menu/delivery.png'
import pickContainerImg from './../assets/img/menu/pickContainer.png'
import boxTransferImg from './../assets/img/menu/boxTransfer.png'
import outboundBlockImg from './../assets/img/menu/outboundBlock.png'
import confirmStockOutImg from './../assets/img/menu/confirmStockOut.png'
import outboundReprintImg from './../assets/img/menu/outboundReprint.png'
import sortingImg from './../assets/img/menu/sorting.png'
import unload from './../assets/img/menu/unload.png'
import packCollect from "./../assets/img/menu/packCollect.png";
import sowCollect from "./../assets/img/menu/sowCollect.png";
import container from "../assets/img/menu/container/container.png";
import containerBack from "../assets/img/menu/container/containerBack.png";
import repairRegister from "./../assets/img/menu/container/repairRegister.png";
import repairBack from "./../assets/img/menu/container/repairBack.png";
import rentBack from "./../assets/img/menu/container/rentBack.png";
import scrapRecord from "./../assets/img/menu/container/scrapRecord.png";
const menuList = {
// 任务
task: {
src: taskImg,
title: '任务',
titleKey: 'wms_project.pda.menu.task',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwTask'],
path: '/lwTask',
},
// 消息
msg: {
src: messageImg,
title: '消息',
titleKey: 'wms_project.pda.menu.msg',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwMsg'],
path: '/lwMsg',
},
// 配置
config: {
src: mainDataImg,
title: '配置',
titleKey: 'wms_project.pda.menu.config',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwConfigBox'],
children: {
// 商品配置
newProject: {
src: newConfigImg,
title: '商品配置',
titleKey: 'wms_project.pda.menu.newProject',
tip: 0,
hidden: false,
permissions: ['/wms/pda/config/newProject/lwIndex'],
path: '/config/newProject/lwIndex',
},
// 库位分配
masterLocationConfig: {
src: mainLocImg,
title: '库位分配',
titleKey: 'wms_project.pda.menu.mainLoc',
tip: 0,
hidden: false,
permissions: ['/wms/pda/config/masterLocation/masterLocationConfig/lwIndex'],
path: '/config/masterLocation/masterLocationConfig/lwIndex',
},
// 主库位查询
masterLocationQuery: {
src: mainLocSearchImg,
title: '主库位查询',
titleKey: 'wms_project.pda.menu.mainLocSearch',
tip: 0,
hidden: false,
permissions: ['/wms/pda/config/masterLocation/masterLocationQuery/lwIndex'],
path: '/config/masterLocation/masterLocationQuery/lwIndex',
},
}
},
// 收货
receive: {
src: receiveImg,
title: '收货',
titleKey: 'wms_project.pda.menu.receive',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwReceiveBox'],
children: {
// 收货
skuReceive: {
src: receiveSkuImg,
title: '收货',
titleKey: 'wms_project.pda.menu.receive',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex'],
path: '/inbound/receive/lwIndex',
},
// 整托收货
lpnReceive: {
src: receiveLpnImg,
title: '整托收货',
titleKey: 'wms_project.pda.menu.receiveLpn',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/lpn'],
path: '/inbound/receive/lwIndex?type=lpn',
},
// 整托批量收货
lpnBatchReceive: {
src: lpnBatchReceive,
title: '整托批量收货',
titleKey: 'wms_project.pda.menu.receiveLpnBatch',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/lpnBatch'],
path: '/inbound/receive/lwIndex?type=lpnBatch',
},
// 整箱收货
caseReceive: {
src: receiveCaseImg,
title: '整箱收货',
titleKey: 'wms_project.pda.menu.receiveCase',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/case'],
path: '/inbound/receive/lwIndex?type=case',
},
// 调拨收货
alloc: {
src: allotReceiveImg,
title: '调拨收货',
titleKey: 'wms_project.pda.menu.receiveAlloc',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/alloc'],
path: '/inbound/receive/lwIndex?type=alloc',
},
// 无单收货
random: {
src: receive_randomImg,
title: '无单收货',
titleKey: 'wms_project.pda.menu.receiveRandom',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/random'],
path: '/inbound/receive/random/scan',
},
// 品检
quality: {
src: qualityImg,
title: '品检',
titleKey: 'wms_project.pda.menu.quality',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/quality/task/list'],
path: '/inbound/quality/task',
},
// 收货回单
receipt: {
src: receiptImg,
title: '收货回单',
titleKey: 'wms_project.pda.menu.receipt',
tip: 0,
hidden: false,
permissions: ['/wms/pda/receive/receipt/lwIndex'],
path: '/receive/receipt/lwIndex',
},
// 入库上架
putaway: {
src: shelfImg,
title: '入库上架',
titleKey: 'wms_project.pda.menu.receivePutaway',
tip: 0,
hidden: false,
permissions: ['/wms/pda/receive/putaway/lwIndex'],
path: '/receive/putaway/lwIndex',
},
// 收货异常
abnormal: {
src: receiveAbnormalImg,
title: '收货异常',
titleKey: 'wms_project.pda.menu.receiveAbnormal',
tip: 0,
hidden: false,
permissions: ['/wms/pda/receive/abnormal/lwIndex'],
path: '/receive/abnormal/lwIndex',
},
// 商品配置
newProject: {
src: receiveAbnormalImg,
title: '商品配置',
titleKey: 'wms_project.pda.menu.newProject',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/newProject/lwIndex'],
path: '/inbound/newProject/lwIndex',
},
// 分拣
sorting: {
src: sortingImg,
title: '商品分拣',
titleKey: 'wms_project.pda.menu.sorting',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/sorting/lwIndex'],
path: '/inbound/sorting/lwIndex',
},
// 分拣 TODO
unload: {
src: unload,
title: '卸货',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/inbound/unload/lwIndex',
},
}
},
// 在库
inner: {
src: innerImg,
title: '在库',
titleKey: 'wms_project.pda.menu.inner',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwInnerBox'],
children: {
// 随机移动
randomMove: {
src: randomMoveImg,
title: '随机移动',
titleKey: 'wms_project.pda.menu.randomMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/randomMove/lwIndex'],
path: '/inner/randomMove/lwIndex',
},
// 随机移动 - 整托盘
lpnMove: {
src: moveAllImg,
title: '随机移动<br/>整托盘',
titleKey: 'wms_project.pda.menu.lpnMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/lpnMove/lwIndex'],
path: '/inner/lpnMove/lwIndex',
},
// 随机移动 - 整箱
caseMove: {
src: moveUpImg,
title: '随机整箱移动',
titleKey: 'wms_project.pda.menu.caseMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/lwTaskMove/random/whole-case'],
path: '/inner/lwTaskMove/random/whole-case',
},
// 移动上架
movePutAway: {
src: movePutAway,
title: '移动上架',
titleKey: 'wms_project.pda.menu.movePutAway',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/movePutAway/lwIndex'],
path: '/inner/movePutAway/lwIndex',
},
/*// 盘点
count: {
src: countImg,
title: '盘点',
titleKey: 'wms_project.pda.menu.count',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/count/lwIndex'],
path: '/inner/count/lwIndex',
},*/
// 盘点控制台
count: {
src: countImg,
title: '盘点控制台',
titleKey: 'wms_project.pda.menu.count',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/count/lwIndex'],
path: '/inner/count/lwConsole',
},
// 领用
materialApply: {
src: materialApplyImg,
title: '领用',
titleKey: 'wms_project.pda.menu.materialApply',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/materialApply/generate/lwIndex'],
path: '/inner/materialApply/generate/lwIndex',
},
// 借件拣选
borrow: {
src: borrowPickImg,
title: '借件拣选',
titleKey: 'wms_project.pda.menu.borrowPick',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/borrow/lwIndex'],
path: '/inner/borrow/lwIndex',
},
// 在库异常
reportAbnormal: {
src: reportAbnormalImg,
title: '在库异常上报',
titleKey: 'wms_project.pda.menu.reportAbnormal',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/reportAbnormal/lwIndex'],
path: '/inner/reportAbnormal/lwIndex',
},
// 异常处理
disposeAbnormal: {
src: disposeAbnormalImg,
title: '异常处理',
titleKey: 'wms_project.pda.menu.disposeAbnormal',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/disposeAbnormal/lwIndex'],
path: '/inner/disposeAbnormal/lwIndex',
},
// 库存查询
queryInventory: {
src: stockSearchImg,
title: '库存查询',
titleKey: 'wms_project.pda.menu.queryInventory',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inventory/queryInventory/lwIndex'],
path: '/inventory/queryInventory/lwIndex',
},
// 呆滞品 - 上架
deadPutaway: {
src: deadPutawayImg,
title: '呆滞品 - 上架',
titleKey: 'wms_project.pda.menu.deadPutaway',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/dead/putaway/lwIndex'],
path: '/inner/dead/putaway/lwIndex',
},
// 呆滞品查询
queryDullAdjust: {
src: stockSearchImg,
title: '呆滞品查询',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/dead/query/lwIndex'],
path: '/inner/dead/query/lwIndex',
},
// 随机快速移动 - 整箱
caseQuickMove: {
src: caseQuickMove,
title: '随机快速移动 - 整箱',
titleKey: 'wms_project.pda.menu.caseQuickMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/randomQuickMove/case'],
path: '/inner/caseQuickMove/lwIndex',
},
// 随机快速移动 - 零散
fragQuickMove: {
src: fragQuickMove,
title: '随机快速移动 - 零散',
titleKey: 'wms_project.pda.menu.fragQuickMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/randomQuickMove/frag'],
path: '/inner/fragQuickMove/lwIndex',
},
// 补货
replenish: {
src: replenish,
title: '补货',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: `/lwTaskConsole?lwTitle=${Language.get('','补货')}&lwType=REPLENISH&lwFixedStatusTab=1`,
},
}
},
// 加工
process:{
src: processImg,
title: '加工',
titleKey: 'wms_project.pda.menu.process',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwProcess'],
children: {
// 加工台
newProject: {
src: processTableImg,
title: '加工台',
titleKey: 'wms_project.pda.menu.process.table',
tip: 0,
hidden: false,
permissions: ['/wms/pda/process/action/lwIndex'],
path: '/process/action/lwIndex',
},
// 加工台PAD大屏
workTableProcessScreen: {
src: packScreen,
title: '加工台PAD大屏',
titleKey: 'wms_project.pda.menu.process.padScreen',
tip: 0,
hidden: false,
permissions: ['/wms/pda/process/screen/lwIndex'],
path: '/process/screen/lwIndex',
},
}
},
// 出库
outbound: {
src: outboundImg,
title: '出库',
titleKey: 'wms_project.pda.menu.outbound',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwOutboundBox'],
children: {
// 拣选
pick: {
src: pickImg,
title: '拣选',
titleKey: 'wms_project.pda.menu.pick',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/pick/lwIndex'],
path: '/outbound/pick/lwIndex',
},
// 分区拣选集合
pickMerge: {
src: pickMergeImg,
title: '分区拣选集合',
titleKey: 'wms_project.pda.menu.pickMerge',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/pickMerge/lwIndex'],
path: '/outbound/pickMerge/lwIndex',
},
// 播种集货
sowCollect: {
src: sowCollect,
title: '播种集货',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/outbound/sowCollect/lwIndex',
},
// 播种分拣
sow: {
src: sowImg,
title: '播种分拣',
titleKey: 'wms_project.pda.menu.sow',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/sow/lwIndex'],
path: '/outbound/sow/lwIndex',
},
// 捆包集货
packCollect: {
src: packCollect,
title: '捆包集货',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/outbound/packCollect/lwIndex',
},
// 复核捆包
bale: {
src: baleImg,
title: '复核捆包',
titleKey: 'wms_project.pda.menu.bale',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/bale/lwIndex'],
path: '/outbound/bale/lwIndex',
},
// 独立捆包
aloneBale: {
src: aloneBaleImg,
title: '独立捆包',
titleKey: 'wms_project.pda.menu.aloneBale',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/aloneBale/lwIndex'],
path: '/outbound/aloneBale/lwIndex',
},
// 捆包箱调整
baleChange: {
src: baleChangeImg,
title: '捆包箱调整',
titleKey: 'wms_project.pda.menu.baleChange',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/baleChange/lwIndex'],
path: '/outbound/baleChange/lwIndex',
},
// 集货 - 按托盘
summaryLpn: {
src: summaryLpnImg,
title: '集货 - 按托盘',
titleKey: 'wms_project.pda.menu.summaryLpn',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/summary/lpn/lwIndex'],
path: '/outbound/summary/lpn/lwIndex',
},
// 集货 - 按箱
summaryBox: {
src: summaryBoxImg,
title: '集货 - 按箱',
titleKey: 'wms_project.pda.menu.summaryBox',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/summary/box/lwIndex'],
path: '/outbound/summary/box/lwIndex',
},
// 打托
lpnPack: {
src: lpnPackImg,
title: '打托',
titleKey: 'wms_project.pda.menu.lpnPack',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/lpnPack/lwIndex'],
path: '/outbound/lpnPack/lwIndex',
},
// 出库交接
handover: {
src: handoverImg,
title: '出库交接',
titleKey: 'wms_project.pda.menu.handover',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/handover/lwIndex'],
path: '/outbound/handover/lwIndex',
},
// 装车发运
delivery: {
src: deliveryImg,
title: '装车发运',
titleKey: 'wms_project.pda.menu.delivery',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/delivery/lwIndex'],
path: '/outbound/delivery/lwIndex',
},
// 拣选容器查询
pickContainer: {
src: pickContainerImg,
title: '拣选容器查询',
titleKey: 'wms_project.pda.menu.pickContainer',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/pickContainerSearch/lwIndex'],
path: '/outbound/pickContainerSearch/lwIndex',
},
// 滞留箱转存
boxTransfer: {
src: boxTransferImg,
title: '滞留箱转存',
titleKey: 'wms_project.pda.menu.boxTransfer',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/boxTransfer/lwIndex'],
path: '/outbound/boxTransfer/lwIndex',
},
// 出库订单拦截箱列表
blockBoxList: {
src: outboundBlockImg,
title: '订单拦截',
titleKey: 'wms_project.pda.menu.outboundBlock',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/block/box-list'],
path: '/outbound/block/box-list',
},
// 出库确认缺货列表
stockoutList: {
src: confirmStockOutImg,
title: '确认缺货',
titleKey: 'wms_project.pda.menu.confirmStockOut',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/stockout/list'],
path: '/outbound/stockout/list',
},
// 出库箱票补打
reprintBoxList: {
src: outboundReprintImg,
title: '出库箱票补打',
titleKey: 'wms_project.pda.menu.outboundReprint',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/reprint-box/list'],
path: '/outbound/reprint-box/list',
},
},
},
// 容器管理 TODO 国际化、权限
container:{
src: container,
title: '容器管理',
titleKey: 'wms_project.pda.menu.container',
tip: 0,
hidden: false,
permissions: [],
children:{
// 容器归还
containerBack:{
src: containerBack,
title: '容器归还',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/container/containerBack/lwIndex',
},
// 报修登记
repairRegister:{
src: repairRegister,
title: '报修登记',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/container/repairRegister/lwIndex',
},
// 维修归还
repairBack:{
src: repairBack,
title: '维修归还',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/container/repairBack/lwIndex',
},
// 租赁归还
rentBack:{
src: rentBack,
title: '租赁归还',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/container/rentBack/lwIndex',
},
// 报废登记
scrapRecord:{
src: scrapRecord,
title: '报废登记',
titleKey: '',
tip: 0,
hidden: false,
permissions: [],
path: '/container/scrapRecord/lwIndex',
},
}
}
}
// 修改菜单初始数据的值
function changMenu(obj) {
if (typeof obj !== "object") {
console.error('设置菜单传入参数应当为对象', obj)
return
}
for (const i in obj) {
set(menuList, i, obj[i])
}
}
// 提供给项目使用的编辑菜单入口
export const lwMenu = {
// 获取值
get(key) {
if (key) {
const menu = at(menuList, key)
return DeepCopy(menu ? menu[0] : {})
}
return DeepCopy(menuList)
},
// 设置值
change(obj) {
changMenu(obj)
},
// 增加
add(obj) {
changMenu(obj)
},
// 删除值
del(key) {
unset(menuList, key)
},
// 隐藏
hidden(arr) {
const obj = {}
arr.forEach(item => {
obj[item + '.hidden'] = true
})
changMenu(obj)
}
}