202501-Wms-Kate-Wuxi/dev_wms_client/src/utils/formatter.js
liang 2a7eba72c5 1. 格式改动
2. 增加了一些报表界面
2025-03-20 08:52:10 +08:00

163 lines
4.4 KiB
JavaScript

import moment from "moment";
import { revertSeconds } from '@/utils/dateUtils'
// 时间格式化
export const timeFormatter = (date) => {
if (date === null || date === undefined) {
return ''
}
return moment(date).format('yyyy-MM-DD HH:mm:ss');
}
// 日期格式化
export const dateFormatter = (date) => {
if (date === null || date === undefined) {
return ''
}
return moment(date).format('yyyy-MM-DD');
}
// 运行时长格式化
export const dueFormatter = (date) => {
if (date === null || date === undefined) {
return ''
}
return revertSeconds(moment(new Date().getTime()).diff(moment(date), 'seconds'));
}
// 库位格式化
export const locationFormatter = (locationId) => {
if (locationId === null || locationId == undefined) {
return ''
}
const locationArray = locationId.split('-')
if (locationArray.length == 3) {
return locationArray[0] + '排' + locationArray[1] + '列' + locationArray[2] + '层'
} else if (locationArray.length == 4) {
return locationArray[0] + '排' + locationArray[1] + '列' + locationArray[2] + '层' + locationArray[3] + '深度'
} else {
return ''
}
}
// 配置类型格式化
export const configTypeFormatter = (value) => {
switch (value) {
case '1':
return '输入框'
case '2':
return '下拉多选'
case '3':
return '开关'
default:
return '任务类型异常'
}
}
// 文件大小格式化
export const sizeFormatter = (value) => {
if (typeof value != 'number') {
return 'error'
}
const oneByte = 1
const oneKB = oneByte * 1024
const oneMB = oneKB * 1024
const oneGB = oneMB * 1024
const oneTB = oneGB * 1024
const onePB = oneTB * 1024
const oneEB = onePB * 1024
const oneZB = oneEB * 1024
const oneYB = oneZB * 1024
if (value < oneKB) {
return value + 'B'
} else if (value < oneMB) {
return (value / oneKB).toFixed(2) + 'KB'
} else if (value < oneGB) {
return (value / oneMB).toFixed(2) + 'MB'
} else if (value < oneTB) {
return (value / oneGB).toFixed(2) + 'GB'
} else if (value < onePB) {
return (value / oneTB).toFixed(2) + 'TB'
} else if (value < oneEB) {
return (value / onePB).toFixed(2) + 'PB'
} else if (value < oneZB) {
return (value / oneEB).toFixed(2) + 'EB'
} else if (value < oneYB) {
return (value / oneZB).toFixed(2) + 'ZB'
} else {
return (value / oneYB).toFixed(2) + 'YB'
}
}
// json格式化
export const jsonFormatter = (value) => {
if (value == null) {
return ""
}
if (typeof value == 'string') {
try {
return JSON.stringify(JSON.parse(value), null, 4)
} catch (e) {
return "error"
}
} else {
return JSON.stringify(value, null, 4)
}
}
// 去除英文和数字之外的字符
export const replaceEnglishAndNumberIGAI = (value) => {
return value.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, '')
}
// 是否格式化
export const yesOrNoFormatter = (value) => {
return value == 1 ? '是' : '否'
}
// 反转是否格式化
export const converseYesOrNoFormatter = (value) => {
return value == 0 ? '是' : '否'
}
// 任务类型格式化
export const wmsTaskTypeFormatter = (value) => {
switch (value) {
case 1:
return '入库'
case 2:
return '出库'
case 3:
return '盘点'
default:
return '未知类型'
}
}
// wms任务状态格式化
export const wmsTaskStatusFormatter = (value) => {
switch (value) {
case -1:
return '暂存'
case 0:
return '初始化'
case 1:
return '已解析'
case 2:
return '已下发'
case 3:
return '正在执行'
case 4:
return '执行完成'
case 98:
return '已取消'
case 99:
return '执行异常'
default:
return '未知状态'
}
}
// 料箱状态
export const vehicleStatusFormatter = (value) => {
switch (value) {
case 1:
return '入库中'
case 2:
return '在库中'
case 3:
return '出库中'
case 9:
return '锁定中'
default:
return '未知状态'
}
}