From 834c19b9fb3cdbcc754ee8387eb919a8ea111016 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=BF=97=E5=9B=BD?= <854933521@qq.com>
Date: Mon, 4 Nov 2024 14:03:30 +0800
Subject: [PATCH] =?UTF-8?q?page/repleinsh/record=20=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E8=BF=81=E7=A7=BB=208/8-10/25?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../record/directRepleinshRecord.vue | 156 +++++-
.../record/directRepleinshRecord1.vue | 514 ++++++++++++++++++
.../repleinsh/record/repleinshRecord.vue | 4 +-
.../repleinsh/record/repleinshRecordV1.vue | 2 +-
4 files changed, 659 insertions(+), 17 deletions(-)
create mode 100644 src/pages/repleinsh/record/directRepleinshRecord1.vue
diff --git a/src/pages/repleinsh/record/directRepleinshRecord.vue b/src/pages/repleinsh/record/directRepleinshRecord.vue
index 3f93c318..32fed8e9 100644
--- a/src/pages/repleinsh/record/directRepleinshRecord.vue
+++ b/src/pages/repleinsh/record/directRepleinshRecord.vue
@@ -38,6 +38,7 @@
+
@@ -66,6 +67,7 @@ import winScanPackAndLocation from '@/mycomponents/scan/winScanPackAndLocation.v
import recordComDetailCard from '@/mycomponents/record/recordComDetailCard.vue'
import recordDetailCard from '@/mycomponents/record/recordDetailCard.vue'
import balanceSelect from '@/mycomponents/balance/balanceSelect.vue'
+import balanceQuery from '@/mycomponents/query/balanceQuery.vue'
import winComScanBalance from '@/mycomponents/scan/winComScanBalance.vue'
import { useCountStore } from '@/store'
// 获取自定义的store
@@ -91,6 +93,7 @@ const itemCode = ref('')
const balanceSelectRef = ref({})
const managementList = ref([])
+const managementType= ref('')
// const positionList = ref([])
// const show = ref(false)
// const positionInfo = ref('请选择生产线')
@@ -98,6 +101,7 @@ const comMessageRef = ref()
const show = ref(false)
const scanPopup = ref()
const scanLocationCode = ref()
+const refBalanceQuery = ref(null)
onLoad((option) => {
uni.setNavigationBarTitle({
title: option.title
@@ -109,6 +113,9 @@ onLoad((option) => {
onNavigationBarButtonTap((e) => {
if (e.index === 0) {
goHome()
+ }else if (e.index == 1) {
+ refBalanceQuery.value.showDrawer();
+ closeScanPopup();
}
})
const getBusinessType = () => {
@@ -176,12 +183,12 @@ const getBalance = (label, packageInfo, callback) => {
const getScanResult = (result) => {
setData(result)
}
-const setData = (result) => {
+const setData = async (result) => {
const { balance } = result
const { label } = result
const pack = result.package
if (fromLocationCode.value && fromLocationCode.value != balance.locationCode) {
- showErrorMessage(`箱码[${balance.packingNumber}批次[${balance.batch}]在库位[${fromLocationCode.value}]没有库存余额`)
+ showErrorMessage(`批次[${balance.batch}]在库位[${fromLocationCode.value}]没有库存余额`)
return
}
@@ -210,31 +217,152 @@ const setData = (result) => {
itemp.subList.push(newDetail)
detailSource.value.push(itemp)
itemCode.value = balance.itemCode
- fromLocationCode.value = balance.locationCode.scanPopupGetFocus()
+ fromLocationCode.value = balance.locationCode
+ await getToLocationBalance(this.toLocationCode,result)
} else {
const detail = item.subList.find((r) => {
- if (r.packingNumber == pack.number && r.batch == balance.batch && r.locationCode == balance.locationCode && r.inventoryStatus == balance.inventoryStatus) {
+ if (r.batch == balance.batch && r.locationCode == balance.locationCode && r.inventoryStatus == balance.inventoryStatus) {
return r
}
})
if (detail == undefined) {
- const newDetail = createDetailInfo(balance, pack)
- newDetail.parentNumber = pack.parentNumber
- newDetail.packingNumber = pack.number
- newDetail.packUnit = pack.packUnit
- newDetail.packQty = pack.packQty
- if (balance.lableQty) {
- newDetail.handleQty = balance.lableQty
+ //如果最开始扫父,在扫子,提示已经扫描父包装
+ //如果扫子在扫父,提示扫描的是父包装,是否移除子包装,是移除子包装,显示父包装
+ //扫描的是子包装,
+ if (pack.parentNumber) {
+ let checkData = item.subList.find(r => {
+ if (r.packingNumber == pack.parentNumber &&
+ r.batch == balance.batch) {
+ return r;
+ }
+ })
+ if (checkData) {
+ //提示已经扫描
+ showErrorMessage("箱码[" + pack.number + "]批次[" + balance.batch +
+ "]的父包装已经扫描")
+ } else {
+ const newDetail = createDetailInfo(balance, pack)
+ newDetail.parentNumber = pack.parentNumber
+ newDetail.packingNumber = pack.number
+ newDetail.packUnit = pack.packUnit
+ newDetail.packQty = pack.packQty
+ if (balance.lableQty) {
+ newDetail.handleQty = balance.lableQty
+ }
+ item.subList.push(newDetail)
+ }
+ }else {
+ //扫描的是父包装
+ let checkData = item.subList.find(r => {
+ if (r.parentNumber == pack.number &&
+ r.batch == balance.batch) {
+ return r;
+ }
+ })
+ if (checkData) {
+ //是否移除
+ comMessageRef.value.showQuestionMessage("扫描箱码[" + checkData.parentNumber + "]" + "批次[" + balance
+ .batch + "]是父包装,是否移除子包装", res => {
+ if (res) {
+ item.subList = [];
+ const newDetail = createDetailInfo(balance, pack)
+ newDetail.parentNumber = pack.parentNumber
+ newDetail.packingNumber = pack.number
+ newDetail.packUnit = pack.packUnit
+ newDetail.packQty = pack.packQty
+ if (balance.lableQty) {
+ newDetail.handleQty = balance.lableQty
+ }
+ item.subList.push(newDetail)
+ }
+ })
+ console.log("扫描的是父包装,是否移除子包装")
+ } else {
+ const newDetail = createDetailInfo(balance, pack)
+ newDetail.parentNumber = pack.parentNumber
+ newDetail.packingNumber = pack.number
+ newDetail.packUnit = pack.packUnit
+ newDetail.packQty = pack.packQty
+ if (balance.lableQty) {
+ newDetail.handleQty = balance.lableQty
+ }
+ item.subList.push(newDetail)
+ }
}
- item.subList.push(newDetail)
scanPopupGetFocus()
} else if (detail.scaned == true) {
- showErrorMessage(`箱码[${detail.packingNumber}批次[${balance.batch}]已经在列表中`)
+ detail.handleQty = calc.add(detail.handleQty, result.label.qty)
+ // showErrorMessage(`箱码[${detail.packingNumber}批次[${balance.batch}]已经在列表中`)
}
}
calcHandleQty(detailSource.value)
}
+//查询到目标库位的库存余额
+const getToLocationBalance = async (toLocationCode, result)=> {
+ uni.showLoading({
+ title: '查询中',
+ mask: true
+ })
+ let filters = []
+ if (result.package.parentNumber) {
+ let packingNumber = result.package.parentNumber + "," + result.package.number;
+ filters.push({
+ column: "packingNumber",
+ action: "in",
+ value: packingNumber
+ })
+ } else {
+ filters.push({
+ column: "packingNumber",
+ action: "==",
+ value: result.package.number
+ })
+ }
+
+ filters.push({
+ column: "itemCode",
+ action: "==",
+ value: result.package.itemCode
+ })
+ filters.push({
+ column: "batch",
+ action: "==",
+ value: result.package.batch
+ })
+ filters.push({
+ column: "areaType",
+ action: "in",
+ value: toLocationAreaTypeList.value.join(',')
+ })
+
+
+ const params = {
+ filters: filters,
+ pageNo: 1,
+ pageSize: 100,
+ }
+ await getManagementPrecisions([result.package.itemCode], toLocationCode, async res => {
+ if (res.success) {
+ managementList.value = res.list;
+ managementType.value = managementList.value.some(item => item.ManagementPrecision == 'BY_BATCH') ?
+ 'BY_BATCH' : ''
+ if (managementType.value == 'BY_BATCH') {
+ uni.hideLoading()
+ } else {
+ await getBalanceByFilter(params).then(res => {
+ uni.hideLoading()
+ if (res.data.list.length > 0) {
+ showErrorMessage("包装在库位【" + res.data.list[0].locationCode + "】已有库存余额");
+ }
+ // callback(res.data)
+ }).catch(err => {
+ showErrorMessage(err.message);
+ })
+ }
+ }
+ })
+}
const updateData = () => {
calcHandleQty(detailSource.value)
for (let i = 0; i < detailSource.value.length; i++) {
@@ -309,7 +437,7 @@ const commit = () => {
.then((res) => {
uni.hideLoading()
if (res.data) {
- showCommitSuccessMessage(`提交成功
生成直接补料记录
${res.data}`)
+ showCommitSuccessMessage(`提交成功\n生成直接补料记录\n${res.data}`)
} else {
showErrorMessage(`提交失败[${res.msg}]`)
}
diff --git a/src/pages/repleinsh/record/directRepleinshRecord1.vue b/src/pages/repleinsh/record/directRepleinshRecord1.vue
new file mode 100644
index 00000000..567ed63c
--- /dev/null
+++ b/src/pages/repleinsh/record/directRepleinshRecord1.vue
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/repleinsh/record/repleinshRecord.vue b/src/pages/repleinsh/record/repleinshRecord.vue
index ab2b63e3..539ac1ac 100644
--- a/src/pages/repleinsh/record/repleinshRecord.vue
+++ b/src/pages/repleinsh/record/repleinshRecord.vue
@@ -304,7 +304,7 @@ export default {
item.subList.push(newDetail)
this.scanPopupGetFocus()
} else if (detail.scaned == true) {
- this.showErrorMessage(`箱码[${detail.packingNumber}批次[${balance.batch}]已经在列表中`)
+ this.showErrorMessage(`箱码[${detail.packingNumber}批次[${balance.batch}]重复扫描`)
}
}
calcHandleQty(this.detailSource)
@@ -404,7 +404,7 @@ export default {
.then((res) => {
uni.hideLoading()
if (res.data) {
- this.showCommitSuccessMessage(`提交成功
生成直接补料记录
${res.data}`)
+ this.showCommitSuccessMessage(`提交成功\n生成直接补料记录\n${res.data}`)
} else {
this.showErrorMessage(`提交失败[${res.msg}]`)
}
diff --git a/src/pages/repleinsh/record/repleinshRecordV1.vue b/src/pages/repleinsh/record/repleinshRecordV1.vue
index 8cae0661..9c305a20 100644
--- a/src/pages/repleinsh/record/repleinshRecordV1.vue
+++ b/src/pages/repleinsh/record/repleinshRecordV1.vue
@@ -294,7 +294,7 @@ const submitJob = () => {
.then((res) => {
uni.hideLoading()
if (res.data) {
- showCommitSuccessMessage(`提交成功
生成补料记录
${res.data}`)
+ showCommitSuccessMessage(`提交成功\n生成补料记录\n${res.data}`)
} else {
showErrorMessage(`提交失败[${res.msg}]`)
}