You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.4 KiB
84 lines
2.4 KiB
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: '',
|
|
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;
|
|
callback(result)
|
|
} else {
|
|
result.success = false;
|
|
result.message = '业务类型[' + typeCode + ']获取失败';
|
|
callback(result)
|
|
}
|
|
}).catch(error => {
|
|
result.success = false;
|
|
result.message = error;
|
|
callback(result)
|
|
})
|
|
}
|
|
|