import { getBusinesstypeByCode } from '@/api/request2.js'; import { getDirectoryItemArray, } from '@/common/directory.js'; import { calc } from '@/common/calc' import { Decimal } from 'decimal.js';//引入 import { deepCopyData } from '@/common/basic.js'; export function createItemInfo(balance, pack) { let item = { itemCode: pack.itemCode, itemName: pack.itemName, stdPackQty: pack.stdPackQty, stdPackUnit: pack.stdPackUnit, qty: new Decimal(balance.qty).toNumber(), handleQty:new Decimal(0).toNumber(), uom: pack.uom, subList: [] } return item; } export function createDetailInfo(balance, pack) { balance.scaned = true; // data.toInventoryStatus = this.toInventoryStatus == "" ? data.inventoryStatus : this.toInventoryStatus; // data.inventoryStatus = data.inventoryStatus; let detail = deepCopyData(balance); detail.balanceQty = new Decimal(detail.qty).toNumber() detail.qty = new Decimal(detail.qty).toNumber(); detail.stdPackQty = new Decimal(pack.stdPackQty).toNumber() detail.stdPackUnit = pack.stdPackUnit detail.handleQty = new Decimal(detail.qty).toNumber() ; detail.package = pack; return detail; } //计算实际数量 export function calcHandleQty(detailSource) { for (let item of detailSource) { item.handleQty = new Decimal(0).toNumber(); for (let detail of item.subList) { if (detail != undefined && detail.scaned) { item.handleQty = calc.add(item.handleQty,detail.handleQty); } } } } export function getBusinessType(typeCode, callback) { let result = { success: true, businessType: '', fromlocationTypeList: '', tolocationTypeList: '', itemCodeTypeList:"", useOnTheWay:"FALSE", fromInventoryStatuses: '', toInventoryStatuses: '', message: '' }; getBusinesstypeByCode(typeCode).then(res => { if (res.data.total > 0) { result.businessType = res.data.list[0]; result.fromlocationTypeList = getDirectoryItemArray(res.data.list[0].outLocationTypes) result.tolocationTypeList = getDirectoryItemArray(res.data.list[0].inLocationTypes) result.itemCodeTypeList = getDirectoryItemArray(res.data.list[0].itemTypes) result.fromInventoryStatuses = res.data.list[0].outInventoryStatuses; result.toInventoryStatuses = res.data.list[0].inInventoryStatuses; result.useOnTheWay =res.data.list[0].useOnTheWay callback(result) } else { result.success = false; result.message = '业务类型[' + typeCode + ']获取失败'; callback(result) } }).catch(error => { result.success = false; result.message = error; callback(result) }) }