diff --git a/src/pages/issue/coms/comScanIssuePack.vue b/src/pages/issue/coms/comScanIssuePack.vue
index 9cd06df1..86d9fc8d 100644
--- a/src/pages/issue/coms/comScanIssuePack.vue
+++ b/src/pages/issue/coms/comScanIssuePack.vue
@@ -47,6 +47,8 @@
+
+
@@ -93,6 +95,7 @@ const fromInventoryStatuses = ref('')
const packageInfo = ref({})
const label = ref({})
const toLocationCombox = ref()
+const comscansimulate = ref()
const comMessageRef = ref()
const detailOptions = ref([])
const comscan = ref()
@@ -102,10 +105,26 @@ onMounted(() => {
detailOptions.value = getDetailOption()
scanOptions.value = getDetailEditRemoveOption()
})
-const openScanPopup = (content, jobcontent) => {
+const openScanPopupForJobSimulate = (content, jobcontentParams) => {
issueRecord.value = []
dataContent.value = content
- jobContent.value = jobcontent
+ jobContent.value = jobcontentParams
+ initData()
+ if (comscansimulate.value.vlaue != undefined) {
+ comscansimulate.value.vlaue.getfocus()
+ }
+ const timer = setTimeout((res) => {
+ if (timer) {
+ clearTimeout(timer)
+ }
+ comscansimulate.value.vlaue.setItemCodeSimulate(item.copyContent)
+ comscansimulate.value.vlaue.clickScanMsg()
+ }, 500)
+}
+const openScanPopup = (content, jobcontentParams) => {
+ issueRecord.value = []
+ dataContent.value = content
+ jobContent.value = jobcontentParams
initData()
// this.positionInfo = this.jobContent.workShopCode + "-" + this.jobContent.subList[0].productionLineCode +
// "-" + this.jobContent.subList[0].workStationCode
diff --git a/src/pages/issue/job/issueDetail.vue b/src/pages/issue/job/issueDetail.vue
index 8c04b90a..ea82231b 100644
--- a/src/pages/issue/job/issueDetail.vue
+++ b/src/pages/issue/job/issueDetail.vue
@@ -64,6 +64,7 @@ const detailSource = ref([]) // 绑定在页面上的数据源
const detailOptions = ref([])
const scanOptions = ref([])
const jobStatus = ref('')
+const scanedPackingNumber = ref('')
const scanPopup = ref()
const comScanIssuePackRef = ref()
const comMessageRef = ref()
@@ -72,6 +73,7 @@ const managementList = ref([])
const comIssueDetailCardRef = ref()
onLoad((option) => {
id.value = option.id
+ scanedPackingNumber.value = option.scaned
if (id.value != undefined) {
// 新建的任务自动接收
if (option.status == '1') {
@@ -158,11 +160,6 @@ const closeScan = () => {
resizeCollapse()
}
const submit = () => {
- const params = setParams()
- if (!params.subList || params.subList.length == 0) {
- showErrorMessage('请扫描您需要提交的发料任务')
- return
- }
proxy.$modal.loading('提交中....')
// 目前任务只到一个库位
@@ -174,21 +171,16 @@ const submit = () => {
})
})
- // 使用在途库,不查询管理模式
- if (jobContent.value.useOnTheWayLocation == 'TRUE') {
- submitJob()
- } else {
- // 获取管理模式,封装参数
- getManagementPrecisions(itemCodes, locationCode, (res) => {
- if (res.success) {
- managementList.value = res.list
- submitJob()
- } else {
- uni.hideLoading()
- showErrorMessage(res.message)
- }
- })
- }
+ // 获取管理模式,封装参数
+ getManagementPrecisions(itemCodes, locationCode, (res) => {
+ if (res.success) {
+ managementList.value = res.list
+ submitJob()
+ } else {
+ uni.hideLoading()
+ showErrorMessage(res.message)
+ }
+ })
}
const submitJob = () => {
@@ -244,7 +236,7 @@ const setParams = () => {
record.amount = single_price * r.qty
// 使用在途库不改变管理模式
- if (jobContent.value.useOnTheWayLocation == 'TRUE') {
+ if (item.onTheWayLocationCode) {
record.toPackingNumber = r.packingNumber
record.toBatch = r.batch
} else {
diff --git a/src/pages/issue/job/issueJob.vue b/src/pages/issue/job/issueJob.vue
index 567d235b..247f9f84 100644
--- a/src/pages/issue/job/issueJob.vue
+++ b/src/pages/issue/job/issueJob.vue
@@ -12,6 +12,9 @@
+
+
+
@@ -30,6 +33,10 @@ import comIssueJobCard from '@/pages/issue/coms/comIssueJobCard.vue'
import jobListPopup from '@/pages/issue/coms/jobListPopup.vue'
import jobInfoPopup from '@/pages/issue/coms/jobInfoPopup.vue'
+import winScanButton from '@/mycomponents/scan/winScanButton.vue'
+import winScanPackJob from '@/mycomponents/scan/winScanPackJob.vue'
+import jobList from '@/mycomponents/jobList/jobList.vue'
+
const { proxy } = getCurrentInstance()
const jobList = ref([])
const pageNo = ref(1)
@@ -46,6 +53,8 @@ const filter = ref()
const comMessageRef = ref()
const jobInfoPopupRef = ref()
const jobListPopupRef = ref()
+const scanPopup = ref()
+const jobListRef = ref()
onShow(() => {
nextTick(() => {
getList('refresh')
@@ -157,12 +166,16 @@ const getList = (type, fromLocationCode = '', productionLineCode = '') => {
})
}
-const openJobDetail = (item) => {
- proxy.$tab.navigateTo(`./issueDetail?id=${item.masterId}&status=${item.status}`)
+const openJobDetail = (item, packingNumber = '') => {
+ proxy.$tab.navigateTo(`./issueDetail?id=${item.masterId}&status=${item.status}&scaned=${packingNumber}`)
}
const selectedItem = (item) => {
openJobDetail(item)
}
+const selectItem = (item) => {
+ scanPopup.value.closeScanPopup()
+ openJobDetail(item, item.packingNumber)
+}
const swipeClick = (index, index1) => {
// var text = clearTirmAndWrap(requestList.value[index].options[index].text)
let text = ''
@@ -258,9 +271,7 @@ const getDataListByType = (code) => {
const params = {
filters,
pageNo: 1,
- pageSize: 100,
- sort: 'fromLocationCode',
- by: 'asc'
+ pageSize: 100
}
getIssueJobList(params)
.then((res) => {
@@ -282,6 +293,64 @@ const showMessage = (message) => {
}
})
}
+const openScanPopup = () => {
+ scanPopup.value.openScanPopup()
+}
+const getScanResult = (result) => {
+ try {
+ const filters = [
+ {
+ column: 'status',
+ action: 'in',
+ value: '1,2'
+ },
+ {
+ column: 'batch',
+ action: '==',
+ value: result.label.batch
+ },
+ {
+ column: 'itemCode',
+ action: '==',
+ value: result.label.itemCode
+ }
+ ]
+ getIssueJobList({
+ filters,
+ pageNo: 1,
+ pageSize: 100,
+ sort: 'createTime',
+ by: 'asc'
+ })
+ .then((res) => {
+ const resultList = res.data.list
+ if (resultList.length > 0) {
+ resultList.forEach((item) => {
+ item.title = item.number
+ item.selected = false
+ })
+ const list = []
+ resultList.forEach((item) => {
+ if (!list.find((subItem) => subItem.title == item.title)) {
+ list.push(item)
+ }
+ })
+ if (list.length > 1) {
+ jobListRef.value.openList(list)
+ } else {
+ selectItem(list[0])
+ }
+ } else {
+ showMessage('未查找到任务')
+ }
+ })
+ .catch((error) => {
+ showMessage(error)
+ })
+ } catch (e) {
+ showMessage(e.message)
+ }
+}
diff --git a/src/pages/issue/js/issue.js b/src/pages/issue/js/issue.js
index 696ff895..97b8b8b5 100644
--- a/src/pages/issue/js/issue.js
+++ b/src/pages/issue/js/issue.js
@@ -53,6 +53,7 @@ export function createItemInfo(detail) {
let item = {
itemCode: detail.itemCode,
itemName: detail.itemName,
+ onTheWayLocationCode:detail.onTheWayLocationCode,
productionLineCode: detail.productionLineCode,
workStationCode: detail.workStationCode,
packQty: detail.packQty,
diff --git a/src/pages/package/job/overPackageJobDetail.vue b/src/pages/package/job/overPackageJobDetail.vue
index 68e4cdb9..053a014e 100644
--- a/src/pages/package/job/overPackageJobDetail.vue
+++ b/src/pages/package/job/overPackageJobDetail.vue
@@ -177,22 +177,22 @@ const submit = () => {
itemCodes.push(item.itemCode)
})
})
-
- // 使用在途库,不查询管理模式
- if (jobContent.value.useOnTheWayLocation == 'TRUE') {
- checkSubmit()
- } else {
- // 获取管理模式,封装参数
- getManagementPrecisions(itemCodes, locationCode, (res) => {
- if (res.success) {
- managementList.value = res.list
- checkSubmit()
- } else {
- uni.hideLoading()
- showErrorMessage(res.message)
- }
- })
- }
+ checkSubmit()
+ // // 使用在途库,不查询管理模式
+ // if (jobContent.value.useOnTheWayLocation == 'TRUE') {
+ // checkSubmit()
+ // } else {
+ // // 获取管理模式,封装参数
+ // getManagementPrecisions(itemCodes, locationCode, (res) => {
+ // if (res.success) {
+ // managementList.value = res.list
+ // checkSubmit()
+ // } else {
+ // uni.hideLoading()
+ // showErrorMessage(res.message)
+ // }
+ // })
+ // }
}
const checkSubmit = () => {
const tempHandleQty = detailSource.value[0].Items[0].Locations[0].Batchs[0].handleQty
diff --git a/src/pages/productPutaway/job/productPutawayJob.vue b/src/pages/productPutaway/job/productPutawayJob.vue
index d8f288f2..5730d4d9 100644
--- a/src/pages/productPutaway/job/productPutawayJob.vue
+++ b/src/pages/productPutaway/job/productPutawayJob.vue
@@ -287,6 +287,11 @@ const getScanResult = (result) => {
column: 'type',
action: '==',
value: props.type
+ },
+ {
+ column: 'status',
+ action: 'in',
+ value: '1,2'
}
// {
// column: 'fromLocationCode',
diff --git a/src/pages/productReceipt/job/productReceiptJob.vue b/src/pages/productReceipt/job/productReceiptJob.vue
index b9649d46..672e0595 100644
--- a/src/pages/productReceipt/job/productReceiptJob.vue
+++ b/src/pages/productReceipt/job/productReceiptJob.vue
@@ -306,6 +306,11 @@ const getScanResult = (result) => {
column: 'type',
action: '==',
value: props.type
+ },
+ {
+ column: 'status',
+ action: 'in',
+ value: '1,2'
}
// {
// column: 'fromLocationCode',
diff --git a/src/pages/productionReceipt/job/productionReceiptDetail.vue b/src/pages/productionReceipt/job/productionReceiptDetail.vue
index d2f7d020..681776bf 100644
--- a/src/pages/productionReceipt/job/productionReceiptDetail.vue
+++ b/src/pages/productionReceipt/job/productionReceiptDetail.vue
@@ -75,6 +75,7 @@ const toLocationAreaTypeList = ref([])
const jobStatus = ref('')
const jobToLocationCode = ref('')
const isCheckLocation = ref(false)
+const scanedPackingNumber = ref('')
const scanPopup = ref()
const comScanIssuePackRef = ref()
const detailInfoPopupRef = ref()
@@ -82,6 +83,7 @@ const comMessageRef = ref()
const comScanLocation = ref()
onLoad((option) => {
id.value = option.id
+ scanedPackingNumber.value = option.scaned
if (id.value != undefined) {
// 新建的任务自动接收
if (option.status == '1') {
@@ -151,7 +153,17 @@ const getDetail = () => {
} else {
toLocationCode.value = jobToLocationCode.value
}
- uni.hideLoading()
+ detailSource.value.forEach((r) => {
+ r.subList.forEach((s) => {
+ if (scanedPackingNumber.value && scanedPackingNumber.value == s.packingNumber) {
+ s.scaned = true
+ s.cancleScanedHiht = true
+ // 模拟扫描功能
+ openScanPopupSimulate(s)
+ scanedPackingNumber.value = ''
+ }
+ })
+ })
} else {
showMessage('列表数据为0')
}
@@ -203,6 +215,28 @@ const openScanPopup = () => {
const closeScanPopup = () => {
scanPopup.value.closeScanPopup()
}
+// 模拟扫描功能
+const openScanPopupSimulate = (item) => {
+ let fromlocationCode = ''
+ const fromlocationList = []
+ for (let i = 0; i < detailSource.value.length; i++) {
+ const item = detailSource.value[i]
+ item.subList.forEach((l) => {
+ // 重复的库位不往里面插入
+ const location = fromlocationList.find((res) => res == l.fromLocationCode)
+ if (location == undefined) {
+ fromlocationList.push(l.fromLocationCode)
+ }
+ // 来源库位赋默认值
+ if (fromlocationCode == '') {
+ if (!l.scaned) {
+ fromlocationCode = l.fromLocationCode
+ }
+ }
+ })
+ }
+ scanPopup.value.openScanPopupForJobSimulate(fromlocationCode, fromlocationList, jobContent.value, item)
+}
const getScanResult = (result) => {
try {
// var supplierCode = result.label.supplierCode;
@@ -226,7 +260,7 @@ const getScanResult = (result) => {
})
if (itemDetail == undefined) {
showErrorMessage(`箱码[${packingNumber}]` + `批次[${batch}]库位[${locationCode}]不在列表中`)
- } else if (itemDetail.scaned) {
+ } else if (!itemDetail.cancleScanedHiht && itemDetail.scaned) {
showErrorMessage(`箱码[${packingNumber}]` + `批次[${batch}]库位[${locationCode}]已经扫描`)
} else {
const balanceStatus = getInventoryStatusName(result.balance.inventoryStatus)
diff --git a/src/pages/productionReceipt/job/productionReceiptJob.vue b/src/pages/productionReceipt/job/productionReceiptJob.vue
index 7ed0c3c0..4ee391bf 100644
--- a/src/pages/productionReceipt/job/productionReceiptJob.vue
+++ b/src/pages/productionReceipt/job/productionReceiptJob.vue
@@ -12,6 +12,9 @@
+
+
+
@@ -31,6 +34,9 @@ import jobFilter from '@/mycomponents/job/jobFilter.vue'
import comProductionJobCard from '@/pages/productionReceipt/coms/comProductionJobCard.vue'
import jobListPopup from '@/pages/productionReceipt/coms/jobListPopup.vue'
import jobInfoPopup from '@/pages/productionReceipt/coms/jobInfoPopup.vue'
+import winScanButton from '@/mycomponents/scan/winScanButton.vue'
+import winScanPackJob from '@/mycomponents/scan/winScanPackJob.vue'
+import jobList from '@/mycomponents/jobList/jobList.vue'
const { proxy } = getCurrentInstance()
const jobList = ref([])
@@ -48,6 +54,7 @@ const filter = ref()
const comMessageRef = ref()
const jobInfoPopupRef = ref()
const jobListPopupRef = ref()
+const jobListRef = ref()
onShow(() => {
nextTick(() => {
getList('refresh')
@@ -139,8 +146,8 @@ const getList = (type) => {
showErrorMessage(error)
})
}
-const openJobDetail = (item) => {
- proxy.$tab.navigateTo(`./productionReceiptDetail?id=${item.masterId}&status=${item.status}`)
+const openJobDetail = (item, packingNumber = '') => {
+ proxy.$tab.navigateTo(`./productionReceiptDetail?id=${item.masterId}&status=${item.status}&scaned=${packingNumber}`)
}
const selectedItem = (item) => {
openJobDetail(item)
@@ -239,6 +246,69 @@ const showMessage = (message) => {
}
})
}
+
+const openScanPopup = () => {
+ scanPopup.value.openScanPopup()
+}
+
+const selectItem = (item) => {
+ scanPopup.value.closeScanPopup()
+ openJobDetail(item, item.packingNumber)
+}
+
+const getScanResult = (result) => {
+ try {
+ const filters = [
+ {
+ column: 'packingNumber',
+ action: '==',
+ value: result.label.packingNumber
+ },
+ {
+ column: 'batch',
+ action: '==',
+ value: result.label.batch
+ },
+ {
+ column: 'itemCode',
+ action: '==',
+ value: result.label.itemCode
+ }
+ ]
+ getProductionReceiptJobList({
+ filters,
+ pageNo: 1,
+ pageSize: 100
+ })
+ .then((res) => {
+ const resultList = res.data.list
+ if (resultList.length > 0) {
+ resultList.forEach((item) => {
+ item.title = item.number
+ item.selected = false
+ })
+ const list = []
+ resultList.forEach((item) => {
+ if (!list.find((subItem) => subItem.title == item.title)) {
+ list.push(item)
+ }
+ })
+ if (list.length > 1) {
+ jobListRef.value.openList(list)
+ } else {
+ selectItem(list[0])
+ }
+ } else {
+ showMessage('未查找到任务')
+ }
+ })
+ .catch((error) => {
+ showMessage(error)
+ })
+ } catch (e) {
+ showMessage(e.message)
+ }
+}
diff --git a/src/pages/purchaseReceipt/job/receiptJob.vue b/src/pages/purchaseReceipt/job/receiptJob.vue
index d0bd3e3d..3d84fbe6 100644
--- a/src/pages/purchaseReceipt/job/receiptJob.vue
+++ b/src/pages/purchaseReceipt/job/receiptJob.vue
@@ -307,6 +307,11 @@ const getScanResult = (result) => {
column: 'itemCode',
action: '==',
value: result.label.itemCode
+ },
+ {
+ column: 'status',
+ action: 'in',
+ value: '1,2'
}
// {
// column: 'fromLocationCode',
diff --git a/src/pages/putaway/job/putawayJob.vue b/src/pages/putaway/job/putawayJob.vue
index 5506707c..1a5be3d4 100644
--- a/src/pages/putaway/job/putawayJob.vue
+++ b/src/pages/putaway/job/putawayJob.vue
@@ -282,6 +282,11 @@ const getScanResult = (result) => {
column: 'itemCode',
action: '==',
value: result.label.itemCode
+ },
+ {
+ column: 'status',
+ action: 'in',
+ value: '1,2'
}
// {
// column: 'fromLocationCode',
diff --git a/src/pages/repleinsh/job/repleinshDetail.vue b/src/pages/repleinsh/job/repleinshDetail.vue
index c7f08e9b..6148b721 100644
--- a/src/pages/repleinsh/job/repleinshDetail.vue
+++ b/src/pages/repleinsh/job/repleinshDetail.vue
@@ -216,22 +216,22 @@ const setSubmitParamsAndSubmit = () => {
itemCodes.push(item.itemCode)
})
})
-
- // 使用在途库,不查询管理模式
- if (jobContent.value.useOnTheWayLocation == 'TRUE') {
- submitJob()
- } else {
- // 获取管理模式,封装参数
- getManagementPrecisions(itemCodes, locationCode, (res) => {
- if (res.success) {
- managementList.value = res.list
- submitJob()
- } else {
- uni.hideLoading()
- showErrorMessage(res.message)
- }
- })
- }
+ submitJob()
+ // // 使用在途库,不查询管理模式
+ // if (jobContent.value.useOnTheWayLocation == 'TRUE') {
+ // submitJob()
+ // } else {
+ // // 获取管理模式,封装参数
+ // getManagementPrecisions(itemCodes, locationCode, (res) => {
+ // if (res.success) {
+ // managementList.value = res.list
+ // submitJob()
+ // } else {
+ // uni.hideLoading()
+ // showErrorMessage(res.message)
+ // }
+ // })
+ // }
}
const submitJob = () => {