logwire-wms-pda-ui
Version:
运匠科技wms-PDA基础组件库
355 lines (317 loc) • 9.62 kB
JavaScript
/*
* 菜单
* @author: 张文
* @date 2022-04-29
* */
import {DeepCopy} from "../utils/DeepCopy";
import {at, set, unset} from "lodash/object";
const menuList = {
// 任务
task: {
src: require('./../assets/img/menu/task.png'),
title: '任务',
titleKey: 'wms_project.pda.menu.task',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwTask'],
path: '/lwTask',
},
// 消息
msg: {
src: require('./../assets/img/menu/message.png'),
title: '消息',
titleKey: 'wms_project.pda.menu.msg',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwMsg'],
path: '/lwMsg',
},
// 收货
receive: {
src: require('./../assets/img/menu/receive.png'),
title: '收货',
titleKey: 'wms_project.pda.menu.receive',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwReceiveBox'],
children: {
// 收货
skuReceive: {
src: require('./../assets/img/menu/receive-sku.png'),
title: '收货',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex'],
path: '/inbound/receive/lwIndex',
},
// 整托收货
lpnReceive: {
src: require('./../assets/img/menu/receive-lpn.png'),
title: '整托收货',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/lpn'],
path: '/inbound/receive/lwIndex?type=lpn',
},
// 整箱收货
caseReceive: {
src: require('./../assets/img/menu/receive-case.png'),
title: '整箱收货',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inbound/receive/lwIndex/case'],
path: '/inbound/receive/lwIndex?type=case',
},
quality: {
src: require('./../assets/img/menu/quality.png'),
title: '品检',
tip: 0,
hidden: false,
// permissions: ['/wms/pda/inbound/quality/task/list'],
path: '/inbound/quality/task',
},
// 收货回单
receipt: {
src: require('./../assets/img/menu/receipt.png'),
title: '收货回单',
titleKey: 'wms_project.pda.menu.receipt',
tip: 0,
hidden: false,
permissions: ['/wms/pda/receive/receipt/lwIndex'],
path: '/receive/receipt/lwIndex',
},
// 入库上架
putaway: {
src: require('./../assets/img/menu/shelf.png'),
title: '入库上架',
titleKey: 'wms_project.pda.menu.receivePutaway',
tip: 0,
hidden: false,
permissions: ['/wms/pda/receive/putaway/lwIndex'],
path: '/receive/putaway/lwIndex',
},
// 收货异常
abnormal: {
src: require('./../assets/img/menu/receiveAbnormal.png'),
title: '收货异常',
titleKey: 'wms_project.pda.menu.receiveAbnormal',
tip: 0,
hidden: false,
permissions: ['/wms/pda/receive/abnormal/lwIndex'],
path: '/receive/abnormal/lwIndex',
},
}
},
// 在库
inner: {
src: require('../assets/img/menu/inner.png'),
title: '在库',
titleKey: 'wms_project.pda.menu.inner',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwInnerBox'],
children: {
// 随机移动
randomMove: {
src: require('./../assets/img/menu/randomMove.png'),
title: '随机移动',
titleKey: 'wms_project.pda.menu.randomMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/randomMove/lwIndex'],
path: '/inner/randomMove/lwIndex',
},
// 随机移动 - 整托盘
lpnMove: {
src: require('./../assets/img/menu/moveAll.png'),
title: '随机移动<br/>整托盘',
titleKey: 'wms_project.pda.menu.lpnMove',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/lpnMove/lwIndex'],
path: '/inner/lpnMove/lwIndex',
},
// 移动上架
movePutAway: {
src: require('./../assets/img/menu/shelf.png'),
title: '移动上架',
titleKey: 'wms_project.pda.menu.movePutAway',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/movePutAway/lwIndex'],
path: '/inner/movePutAway/lwIndex',
},
// 盘点
count: {
src: require('./../assets/img/menu/count.png'),
title: '盘点',
tip: 0,
hidden: process.env.NODE_ENV === 'production',
permissions: ['/wms/pda/inner/count/lwIndex'],
path: '/inner/count/lwIndex',
},
// 包材领用
materialApply: {
src: require('./../assets/img/menu/materialApply.png'),
title: '包材领用',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/materialApply/generate/lwIndex'],
path: '/inner/materialApply/generate/lwIndex',
},
// 在库异常
reportAbnormal: {
src: require('./../assets/img/menu/reportAbnormal.png'),
title: '在库异常上报',
titleKey: 'wms_project.pda.menu.reportAbnormal',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/reportAbnormal/lwIndex'],
path: '/inner/reportAbnormal/lwIndex',
},
// 异常处理 TODO 多语言key
disposeAbnormal: {
src: require('./../assets/img/menu/reportAbnormal.png'),
title: '异常处理',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/inner/disposeAbnormal/lwIndex'],
path: '/inner/disposeAbnormal/lwIndex',
},
}
},
// 出库
outbound: {
src: require('./../assets/img/menu/outbound.png'),
title: '出库',
titleKey: 'wms_project.pda.menu.outbound',
tip: 0,
hidden: false,
permissions: ['/wms/pda/lwOutboundBox'],
children: {
// 拣选 TODO 多语言key
pick: {
src: require('./../assets/img/menu/pick.png'),
title: '拣选',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/pick/lwIndex'],
path: '/outbound/pick/lwIndex',
},
// 分区拣选集合 TODO 多语言key
pickMerge: {
src: require('./../assets/img/menu/pickMerge.png'),
title: '分区拣选集合',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/pickMerge/lwIndex'],
path: '/outbound/pickMerge/lwIndex',
},
// 播种分拣 TODO 多语言key
sow: {
src: require('./../assets/img/menu/sow.png'),
title: '播种分拣',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/sow/lwIndex'],
path: '/outbound/sow/lwIndex',
},
// 复核捆包 TODO 多语言key
bale: {
src: require('./../assets/img/menu/bale.png'),
title: '复核捆包',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/bale/lwIndex'],
path: '/outbound/bale/lwIndex',
},
// 独立捆包 TODO 多语言key
aloneBale: {
src: require('./../assets/img/menu/aloneBale.png'),
title: '独立捆包',
titleKey: '',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/aloneBale/lwIndex'],
path: '/outbound/aloneBale/lwIndex',
},
// 集货 - 按托盘
summaryLpn: {
src: require('./../assets/img/menu/summaryLpn.png'),
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: require('./../assets/img/menu/summaryBox.png'),
title: '集货 - 按箱',
titleKey: 'wms_project.pda.menu.summaryBox',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/summary/box/lwIndex'],
path: '/outbound/summary/box/lwIndex',
},
// 装车发运
delivery: {
src: require('./../assets/img/menu/delivery.png'),
title: '装车发运',
titleKey: 'wms_project.pda.menu.delivery',
tip: 0,
hidden: false,
permissions: ['/wms/pda/outbound/delivery/lwIndex'],
path: '/outbound/delivery/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)
}
}