diff --git a/src/common/detail.js b/src/common/detail.js
index 13a3a8b6..993f2fb8 100644
--- a/src/common/detail.js
+++ b/src/common/detail.js
@@ -5,7 +5,10 @@ import {
import {
Decimal
} from 'decimal.js'; //引入
-export function getDataSource(dataList) {
+
+
+
+export function getTreeDataSource(dataList) {
let items = [];
let parentList = dataList.filter(r => r.parentPackingNumber == null || r
@@ -31,14 +34,35 @@ export function getDataSource(dataList) {
items.forEach(r =>
r.subList.forEach(s => {
s.packList = childList.filter(c => c.parentPackingNumber == s.packingNumber)
+ s.packList.forEach(pac=>{
+ pac.scaned=false;
+ })
})
-
)
}
return items;
}
+export function getDataSource(subList) {
+ let items = [];
+ subList.forEach(detail => {
+ var item = items.find(r =>
+ r.itemCode == detail.itemCode)
+ if (item == undefined) {
+ item = createItemInfo(detail);
+ let newDetail = createDetailInfo(detail); //
+ item.subList.push(newDetail);
+ items.push(item)
+ } else {
+ item.qty = calc.add(item.qty, detail.qty)
+ let newDetail = createDetailInfo(detail); //
+ item.subList.push(newDetail);
+ }
+ })
+ return items;
+ }
+
export function createItemInfo(detail) {
let item = {
itemCode: detail.itemCode,
@@ -88,6 +112,27 @@ export function calcHandleQty(detailSource) {
}
}
+export function calcTreeHandleQty(detailSource) {
+ for (let item of detailSource) {
+ item.handleQty = new Decimal(0).toNumber();
+
+ for (let detail of item.subList) {
+ if (detail != undefined && detail.scaned) {
+ detail.handleQty = new Decimal(0).toNumber();
+ for (let pack of detail.packList){
+ if(pack!=undefined&&pack.scaned){
+ detail.handleQty = calc.add(detail.handleQty, pack.handleQty);
+ }
+ }
+ item.handleQty = calc.add(item.handleQty, detail.handleQty);
+ }
+ }
+ }
+}
+
+
+
+
export function getScanCount(subList) {
let items = subList.filter(r => {
diff --git a/src/mycomponents/item/itemCompareQty.vue b/src/mycomponents/item/itemCompareQty.vue
index bce3ab2e..6d46301b 100644
--- a/src/mycomponents/item/itemCompareQty.vue
+++ b/src/mycomponents/item/itemCompareQty.vue
@@ -4,7 +4,7 @@
-
+
diff --git a/src/mycomponents/package/packageList.vue b/src/mycomponents/package/packageList.vue
index f27035ae..82abcf13 100644
--- a/src/mycomponents/package/packageList.vue
+++ b/src/mycomponents/package/packageList.vue
@@ -20,7 +20,7 @@
import config from '@/static/config.js'
import packageCard from '@/mycomponents/package/packageCard.vue'
export default {
- emits: ["refreshUI"],
+ emits: ["collapseChange"],
components: {
packageCard
},
diff --git a/src/mycomponents/scan/winScanPack.vue b/src/mycomponents/scan/winScanPack.vue
index 07d50872..c23e40d7 100644
--- a/src/mycomponents/scan/winScanPack.vue
+++ b/src/mycomponents/scan/winScanPack.vue
@@ -58,7 +58,7 @@
openScanPopup() {
setTimeout(res => {
this.$refs.popup.open('bottom')
- }, 500)
+ }, 200)
},
closeScanPopup() {
diff --git a/src/pages/purchaseReceipt/job/receiptDetail.vue b/src/pages/purchaseReceipt/job/receiptDetail.vue
index c83545cd..2d2f02e0 100644
--- a/src/pages/purchaseReceipt/job/receiptDetail.vue
+++ b/src/pages/purchaseReceipt/job/receiptDetail.vue
@@ -79,10 +79,11 @@
} from '@/common/balance.js';
import {
- getDataSource,
+ getTreeDataSource,
createRecordInfo,
calcHandleQty,
- getScanCount
+ getScanCount,
+ calcTreeHandleQty
} from '@/common/detail.js';
@@ -200,10 +201,9 @@
that.toLocationTypeList = getDirectoryItemArray(that.jobContent.toLocationTypes);
// that.jobContent.toLocationTypeList = that.toLocationTypeList;
that.subList = res.data.subList;
- that.subList[0].containerNumber = "CN-00000001";
that.jobStatus = res.data.status
that.jobToLocationCode = that.subList[0].toLocationCode
- that.detailSource = getDataSource( that.subList)
+ that.detailSource = getTreeDataSource(that.subList)
console.log(JSON.stringify(this.detailSource))
} else {
that.showMessage('列表数据为0');
@@ -219,7 +219,6 @@
getScanResult(result) {
try {
-
var itemCode = result.label.itemCode;
var detail = this.detailSource.find(r => r.itemCode == itemCode);
if (detail == undefined) {
@@ -254,12 +253,51 @@
if (detail == undefined) {
this.showMessage("物料号【" + itemCode + "】不在列表中")
} else {
+ //物料在列表中
+
var itemDetail = detail.subList.find(r => r.packingNumber == packingNumber && r.batch ==
batch);
if (itemDetail == undefined) {
- this.showMessage("箱码【" + packingNumber + "】、批次【" + batch + "】不在列表中")
+ var isExit;
+ for (let subItem of detail.subList) {
+ var item;
+ for (let pack of subItem.packList) {
+ if (pack.packingNumber == packingNumber &&
+ pack.batch == batch) {
+ item = pack;
+ isExit = pack;
+ break;
+ }
+ }
+ if (item != undefined) {
+ subItem.scaned = true
+ subItem.handleQty = 0;
+ item=undefined
+ }
+ }
+
+ if (isExit == undefined) {
+ this.showMessage("箱码【" + packingNumber + "】、批次【" + batch + "】不在列表中")
+ } else {
+ if (isExit.scaned) {
+ this.showMessage("箱码【" + packingNumber + "】已经扫描")
+ } else {
+ isExit.scaned = true
+ isExit.handleQty = Number(result.label.qty);
+ isExit.toLocationCode = this.toLocationCode;
+ isExit.labelQty = Number(result.label.qty);
+ }
+ }
+ calcTreeHandleQty(this.detailSource);
+ this.$forceUpdate()
} else {
- if (itemDetail.scaned) {
+ var scanedLength =0;
+ itemDetail.packList.forEach(res=>{
+ if(res.scaned){
+ scanedLength++;
+ }
+ })
+ if (itemDetail.scaned&&scanedLength==itemDetail.packList.length) {
this.showMessage("箱码【" + packingNumber + "】已经扫描")
} else {
itemDetail.scaned = true;
@@ -267,7 +305,13 @@
itemDetail.handleQty = Number(result.label.qty);
itemDetail.toLocationCode = this.toLocationCode;
itemDetail.labelQty = Number(result.label.qty);
- calcHandleQty(this.detailSource);
+ itemDetail.packList.forEach(pac => {
+ pac.scaned = true
+ pac.handleQty = Number(pac.qty);
+ pac.toLocationCode = this.toLocationCode;
+ })
+
+ calcTreeHandleQty(this.detailSource);
this.continueScan()
this.$forceUpdate()
}
@@ -280,7 +324,6 @@
}
},
-
//继续扫描
continueScan() {
this.scanCount = getScanCount(this.subList);
diff --git a/src/static/config.js b/src/static/config.js
index 76734df7..3f42814d 100644
--- a/src/static/config.js
+++ b/src/static/config.js
@@ -1,7 +1,7 @@
-// let request_url = "http://dev.ccwin-in.com:25300/api/admin-api"
-let request_url = "http://192.168.0.211:12080/admin-api"
+let request_url = "http://dev.ccwin-in.com:25300/api/admin-api"
+// let request_url = "http://192.168.0.211:12080/admin-api"
-let isDevelopment = false
+let isDevelopment = true
export default {
request_url,