diff --git a/.env.development b/.env.development index a4608106..a216fad1 100644 --- a/.env.development +++ b/.env.development @@ -1,11 +1,11 @@ -#VITE_BASE_URL=http://dev.ccwin-in.com:25300/api/admin-api -#VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:25300/api/admin-api - -VITE_BASE_URL=http://172.21.32.14:81/api/admin-api VITE_BASE_URL_IMAGE=http://172.21.32.14:81/admin-api - # 租户配置 VITE_TENANT='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]' +VITE_BASE_URL=http://172.21.32.14:81/api/admin-api +VITE_BASE_URL_IMAGE=http://172.21.32.14:81/admin-api + +# 租户配置 +VITE_TENANT='[{"text":"长春1379","value":1}]' # 是否是测试环境 VITE_isDevelopment=true # 积木报表请求路径 -VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25310' +VITE_JMREPORT_BASE_URL='http://172.21.32.14:90' diff --git a/.env.hella13 b/.env.hella13 index 996ada60..9a603299 100644 --- a/.env.hella13 +++ b/.env.hella13 @@ -5,7 +5,7 @@ VITE_BASE_URL_IMAGE=http://172.21.32.13:81/admin-api VITE_TENANT='[{"text":"长春1379","value":1}]' # 是否是测试环境 -VITE_isDevelopment=true +VITE_isDevelopment=false # 积木报表请求路径 VITE_JMREPORT_BASE_URL='http://172.21.32.13:90' diff --git a/.env.hella14 b/.env.hella14 index d98ea7b5..91cea3ff 100644 --- a/.env.hella14 +++ b/.env.hella14 @@ -5,7 +5,7 @@ VITE_BASE_URL_IMAGE=http://172.21.32.14:81/admin-api VITE_TENANT='[{"text":"长春1379","value":1}]' # 是否是测试环境 -VITE_isDevelopment=false +VITE_isDevelopment=true # 积木报表请求路径 VITE_JMREPORT_BASE_URL='http://172.21.32.14:90' diff --git a/.env.hella8 b/.env.hella8 index b7e0f7c8..f6803774 100644 --- a/.env.hella8 +++ b/.env.hella8 @@ -5,7 +5,7 @@ VITE_BASE_URL_IMAGE=http://172.22.32.8:81/admin-api VITE_TENANT='[{"text":"成都1397","value":2},{"text":"长春2379","value":3}]' # 是否是测试环境 -VITE_isDevelopment=true +VITE_isDevelopment=false # 积木报表请求路径 diff --git a/.env.hella9 b/.env.hella9 index 1f71bb53..fc674a67 100644 --- a/.env.hella9 +++ b/.env.hella9 @@ -5,7 +5,7 @@ VITE_BASE_URL_IMAGE=http://172.22.32.9:81/admin-api VITE_TENANT='[{"text":"成都1397","value":2},{"text":"长春2379","value":3}]' # 是否是测试环境 -VITE_isDevelopment=false +VITE_isDevelopment=true # 积木报表请求路径 VITE_JMREPORT_BASE_URL='http://172.22.32.9:90' diff --git a/src/common/detail.js b/src/common/detail.js index f9d6fe8a..b6ed44a3 100644 --- a/src/common/detail.js +++ b/src/common/detail.js @@ -34,8 +34,9 @@ export function getTreeDataSource(dataList) { items.forEach(r => r.subList.forEach(s => { s.packList = childList.filter(c => c.parentPackingNumber == s.packingNumber) - s.packList.forEach(pac=>{ - pac.scaned=false; + s.packList.forEach(pac => { + pac.scaned = false; + pac.scanDate = new Date(); }) }) ) @@ -45,23 +46,23 @@ export function getTreeDataSource(dataList) { } 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; - } + 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 = { @@ -79,6 +80,7 @@ export function createItemInfo(detail) { export function createDetailInfo(data) { data.scaned = false; + data.scanDate = new Date(); let detail = data; detail.packList = []; return detail; @@ -104,8 +106,8 @@ export function calcHandleQty(detailSource) { item.handleQty = new Decimal(0).toNumber(); item.qty = new Decimal(0).toNumber(); for (let detail of item.subList) { - if (detail != undefined ) { - if(detail.scaned){ + if (detail != undefined) { + if (detail.scaned) { item.handleQty = calc.add(item.handleQty, detail.handleQty); } item.qty = calc.add(item.qty, detail.qty); @@ -117,14 +119,14 @@ 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) { - if(detail.packList.length>0){ + if (detail.packList.length > 0) { 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); + for (let pack of detail.packList) { + if (pack != undefined && pack.scaned) { + detail.handleQty = calc.add(detail.handleQty, pack.handleQty); } } } diff --git a/src/manifest.json b/src/manifest.json index 56fe8079..eb25cc47 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,8 +2,8 @@ "name" : "wms", "appid" : "__UNI__C9CF4BF", "description" : "", - "versionName" : "1.0.28", - "versionCode" : 28, + "versionName" : "1.0.37", + "versionCode" : 37, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/src/mycomponents/package/packageList.vue b/src/mycomponents/package/packageList.vue index 30cad4ee..fa822d9e 100644 --- a/src/mycomponents/package/packageList.vue +++ b/src/mycomponents/package/packageList.vue @@ -4,14 +4,23 @@ - + @@ -104,13 +113,36 @@ }, methods: { - swipeClick(e, item) { + swipeClick(e, item, type) { if (e.content.text == "编辑") { this.edit(item) } else if (e.content.text == "移除") { - this.remove(item) + if (type == 'parent') { + this.removeParent(item); + } else { + this.remove(item) + } } }, + removeParent(item) { + this.$refs.comMessage.showQuestionMessage("确定移除扫描信息?", + res => { + if (res) { + item.scaned = false + item.handleQty = null; + item.packList.forEach(subItem => { + subItem.scaned = false + subItem.handleQty = null; + }) + + this.$emit('updateData') + this.$forceUpdate() + } + }); + }, + + + remove(item) { this.$refs.comMessage.showQuestionMessage("确定移除扫描信息?", res => { diff --git a/src/pages/fg/coms/comNoReceiptPopup.vue b/src/pages/fg/coms/comNoReceiptPopup.vue new file mode 100644 index 00000000..af3997f1 --- /dev/null +++ b/src/pages/fg/coms/comNoReceiptPopup.vue @@ -0,0 +1,483 @@ + + + + + \ No newline at end of file diff --git a/src/pages/fg/receiptNoPlan.vue b/src/pages/fg/receiptNoPlan.vue index a1d60e90..21f978b4 100644 --- a/src/pages/fg/receiptNoPlan.vue +++ b/src/pages/fg/receiptNoPlan.vue @@ -1,37 +1,542 @@ - \ No newline at end of file diff --git a/src/pages/issue/record/issueRecord.vue b/src/pages/issue/record/issueRecord.vue index f59e58a0..9236e084 100644 --- a/src/pages/issue/record/issueRecord.vue +++ b/src/pages/issue/record/issueRecord.vue @@ -115,7 +115,7 @@ import recordComDetailCard from '@/mycomponents/record/recordComDetailCard.vue' import recordDetailCard from '@/mycomponents/record/recordDetailCard.vue' import winComScanBalance from '@/mycomponents/scan/winComScanBalance.vue' - + import balance from '@/mycomponents/balance/balance.vue' export default { components: { winScanButton, @@ -124,7 +124,8 @@ comBlankView, recordComDetailCard, recordDetailCard, - winComScanBalance + winComScanBalance, + balance }, data() { return { @@ -137,7 +138,7 @@ toLocationAreaTypeList: [], inInventoryStatus: "", //目标入库库存状态 outInventoryStatus: "", //来源出库库存状态 - businessType: {}, + businessType: null, showToLoaction: true, recommendLocationList: [], //推荐库位列表 fromWarehouseCode: '', //来源仓库 @@ -513,18 +514,11 @@ closeScanMessage() { this.scanPopupGetFocus(); }, - getLocation(location, code) { - this.getFromLocationCode(location, code) - }, - getFromLocationCode(location, code) { - this.fromLocationInfo = location; - this.fromLocationCode = code; - this.openScanPopup(); - }, showCommitSuccessMessage(hint) { this.$refs.comMessage.showSuccessMessage(hint, res => { this.clearData(); + this.openScanPopup(); }) }, diff --git a/src/pages/purchaseReceipt/coms/comReceiptDetailCard.vue b/src/pages/purchaseReceipt/coms/comReceiptDetailCard.vue index 7906aa22..6f69f982 100644 --- a/src/pages/purchaseReceipt/coms/comReceiptDetailCard.vue +++ b/src/pages/purchaseReceipt/coms/comReceiptDetailCard.vue @@ -3,10 +3,17 @@ - + @@ -32,11 +39,12 @@ import { getDetailOption, - getPurchaseReceiptOption + getPurchaseReceiptOption, + getRemoveOption } from '@/common/array.js'; export default { - + components: { itemCompareQty, recommend, @@ -77,7 +85,9 @@ }, locatonItem: {}, detailOptions: [], - scanOptions: [] + scanOptions: [], + options: [], + removeOptions: [], } }, @@ -89,21 +99,23 @@ this.scanOptions = getPurchaseReceiptOption(this.settingParam.allowModifyQty, this.settingParam .allowModifyLocation) } - + if (this.removeOptions.length == 0) { + this.removeOptions = getRemoveOption(); + } }, updated() { console.log('updated') }, - methods: { - collapseChange(){ + methods: { + collapseChange() { setTimeout(() => { this.resizeCollapse(); }, 500) }, - + resizeCollapse() { this.$nextTick(r => { this.$refs.collapse.resize() @@ -132,7 +144,7 @@ } else if (e.content.text == "库位") { this.showLocation(item) } else if (e.content.text == "移除") { - this.remove(item) + this.removeScan(item) } }, edit(item) { @@ -153,22 +165,42 @@ this.showItem = item; this.$refs.jobDetailPopup.openPopup(item) }, - remove(item) { - this.$refs.message.showQuestionMessage("确定移除扫描信息?", + + removeScan(item) { + this.$refs.message.showQuestionMessage("确定移除物料的所有扫描信息?", res => { if (res) { - item.scaned = false item.handleQty = null - this.$forceUpdate() - this.$emit('remove', item) + item.subList.forEach(lst => { + lst.scaned = false; + lst.handleQty = null; + lst.packList.forEach(pack => { + pack.scaned = false; + pack.handleQty = null; + }) + }) + // this.$forceUpdate() + // this.$emit('remove', item) } }); }, + + // remove(item) { + // this.$refs.message.showQuestionMessage("确定移除扫描信息?", + // res => { + // if (res) { + // item.scaned = false + // item.handleQty = null + // this.$forceUpdate() + // this.$emit('remove', item) + // } + // }); + // }, confirm(qty) { this.editItem.handleQty = qty; this.$emit('updateData') }, - updateData(){ + updateData() { this.$emit('updateData') } } diff --git a/src/pages/purchaseReceipt/job/receiptDetail.vue b/src/pages/purchaseReceipt/job/receiptDetail.vue index 85b1ce64..b662dc70 100644 --- a/src/pages/purchaseReceipt/job/receiptDetail.vue +++ b/src/pages/purchaseReceipt/job/receiptDetail.vue @@ -14,9 +14,9 @@ @change="switchChange"> - + - + @@ -44,8 +44,7 @@ + @getLocation='scanLocationCode' :locationAreaTypeList="toLocationAreaTypeList"> @@ -79,7 +78,7 @@ goHome, getCurrDateTime, getPackingNumberAndBatch, - compareAsc, + compareDesc, navigateBack, getSwitchInfoByCode } from '@/common/basic.js'; @@ -143,8 +142,8 @@ operation: '', scanMessage: '', status: '', - switchCode:"", - isCheckLocation: 'purchaseReceiptLocationCodeValidate',//校验收货库位 + switchCode: "", + isCheckLocation: 'purchaseReceiptLocationCodeValidate', //校验收货库位 reasonText: "", }; }, @@ -155,7 +154,7 @@ this.scanMessage = option.scanMessage; this.operation = option.operation; this.status = option.status; - this.switchCode = "purchasereceiptPrintPDA"//pda打印 + this.switchCode = "purchasereceiptPrintPDA" //pda打印 }, @@ -249,10 +248,10 @@ } that.isAllReceived = false; //如果箱码扫描自动扫描,ASN不自动扫描 - if(this.scanMessage){ + if (this.scanMessage) { this.$refs.scanPopup.simulateScan(this.scanMessage); } - + } else { that.showMessage('列表数据为0'); } @@ -265,7 +264,6 @@ getScanResult(result) { - try { var itemCode = result.label.itemCode; var detail = this.detailSource.find(r => r.itemCode == itemCode); @@ -284,17 +282,19 @@ } else { itemDetail.forEach(item => { item.scaned = true; + itemDetail.scanDate = new Date(); item.handleQty = item.qty; item.toLocationCode = this.toLocationCode; }) - this.detailSource[0].subList.sort(compareAsc('scaned')); //按扫描信息排序 calcHandleQty(this.detailSource); + this.detailSource[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 this.continueScan() this.$forceUpdate() } } } else if (result.label.labelType == "PurchaseLabel") { - var packingNumber = result.label.packingNumber; + var packingNumber = result.package.number; + var parentpackingNumber = result.package.parentNumber; var batch = result.label.batch; var qty = result.label.qty; var detail = this.detailSource.find(r => r.itemCode == itemCode); @@ -305,39 +305,35 @@ var itemDetail = detail.subList.find(r => r.packingNumber == packingNumber && r.batch == batch); if (itemDetail == undefined) { - 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 - } - } + itemDetail = detail.subList.find(r => r.packingNumber == parentpackingNumber && r.batch == + batch); - if (isExit == undefined) { + if (itemDetail == undefined) { this.showMessage("箱码【" + packingNumber + "】、批次【" + batch + "】不在列表中") } else { - if ( isExit.scaned) { - this.showMessage("箱码【" + packingNumber + "】已经扫描") + var pack = itemDetail.packList.find(p => p.packingNumber == packingNumber && + p.batch == batch) + if (pack == undefined) { + this.showMessage("箱码【" + packingNumber + "】、批次【" + batch + "】不在列表中") } else { - isExit.scaned = true - isExit.handleQty = Number(result.label.qty); - isExit.toLocationCode = this.toLocationCode; - isExit.labelQty = Number(result.label.qty); + if (pack.scaned) { + pack.scanDate = new Date(); + this.showMessage("箱码【" + packingNumber + "】已经扫描"); + } else { + pack.scaned = true + pack.scanDate = new Date(); + pack.handleQty = Number(result.label.qty); + pack.toLocationCode = this.toLocationCode; + pack.labelQty = Number(result.label.qty); + } } + calcTreeHandleQty(this.detailSource); + itemDetail.packList.sort(compareDesc('scanDate')); //按扫描信息排序 + this.$forceUpdate() } - calcTreeHandleQty(this.detailSource); - this.$forceUpdate() + } else { + //扫描的是外包装,将包装集合全部扫描 var scanedLength = 0; itemDetail.packList.forEach(res => { if (res.scaned) { @@ -346,21 +342,23 @@ }) if (itemDetail.scaned && scanedLength == itemDetail .packList.length) { + isExit.scanDate = new Date(); this.showMessage("箱码【" + packingNumber + "】已经扫描") } else { itemDetail.scaned = true; - this.detailSource[0].subList.sort(compareAsc('scaned')); //按扫描信息排序 + itemDetail.scanDate = new Date(); itemDetail.handleQty = Number(result.label.qty); itemDetail.toLocationCode = this.toLocationCode; itemDetail.labelQty = Number(result.label.qty); itemDetail.packList.forEach(pac => { pac.scaned = true + pac.scanDate = new Date(); pac.handleQty = Number(pac.qty); pac.toLocationCode = this.toLocationCode; }) calcTreeHandleQty(this.detailSource); - var test = this.detailSource + this.detailSource[0].subList.sort(compareDesc('scanDate')); //按扫描信息排序 this.continueScan() this.$forceUpdate() } @@ -445,7 +443,7 @@ }, reject() { - if(!this.reasonText){ + if (!this.reasonText) { this.showMessage("请输入拒收原因") return; } diff --git a/src/pages/repleinsh/record/repleinshRecord.vue b/src/pages/repleinsh/record/repleinshRecord.vue index 1b850b09..7cd3b6c2 100644 --- a/src/pages/repleinsh/record/repleinshRecord.vue +++ b/src/pages/repleinsh/record/repleinshRecord.vue @@ -9,7 +9,7 @@ @@ -542,6 +542,7 @@ showCommitSuccessMessage(hint) { this.$refs.comMessage.showSuccessMessage(hint, res => { this.clear(); + this.openScanPopup(); }) }, @@ -552,6 +553,7 @@ this.detailSource = []; this.toLocationCode = ""; this.itemCode = "" + this.recommendList = []; } } }