From 71910b0894c8c6af371aa797e8510138fef641a0 Mon Sep 17 00:00:00 2001 From: xiangxy Date: Fri, 9 Jan 2026 16:56:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=BD=E5=85=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/hdyy/ccgl/kn-hepan.vue | 67 +++++++++++++++++++++++++++++--- pages/hdyy/ccgl/zj-instore.vue | 35 +++++++++++++++-- pages/hdyy/ccgl/zj-outstore.vue | 56 +++++++++++++++++++------- pages/hdyy/scgl/tp-callmater.vue | 16 +++++--- utils/getData3.js | 4 +- 5 files changed, 149 insertions(+), 29 deletions(-) diff --git a/pages/hdyy/ccgl/kn-hepan.vue b/pages/hdyy/ccgl/kn-hepan.vue index 422d27e..a3d2a92 100644 --- a/pages/hdyy/ccgl/kn-hepan.vue +++ b/pages/hdyy/ccgl/kn-hepan.vue @@ -69,13 +69,13 @@ - + {{i+1}} {{e.bag_code}} {{e.material_code}} {{e.material_name}} {{e.pcsn}} - {{e.canuse_qty}} + {{e.qty_unit_name}} {{e.supp_name}} {{e.class_name}} @@ -111,6 +111,8 @@ val1: '', val2: '', bagCode: '', + pkId: '', + pkObj: {}, dataList: [], // dataList: [{material_code: 'm001', qty: 100, checked: false, initialQty: 100}, {material_code: 'm002', qty: 200, checked: false, initialQty: 200}], disabled: false @@ -120,16 +122,39 @@ this.title = options.title }, methods: { + handleBlur (e) { + if (e.canuse_qty) { + if (e.canuse_qty < 0) { + e.canuse_qty = 0 + } else { + e.canuse_qty = e.canuse_qty.replace(/[^0-9]/g, '') + e.canuse_qty = e.canuse_qty.replace(/^0+/, '') || '0' + if (e.canuse_qty > e.initialQty) { + e.canuse_qty = e.initialQty + } + this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) + } + } else { + // uni.showToast({ + // title: '数量必填', + // icon: 'none' + // }) + } + }, toScanAdd () { if (this.bagCode) { - this._insideCodeInsert(this.bagCode) + this._insideCodeInsert2(this.bagCode) } }, toDel () { if (!this.pkId) { return } - this.dataList = this.dataList.filter(item => item.mid !== this.pkObj.mid) + this.dataList = this.dataList.filter(item => item.bag_code !== this.pkObj.bag_code) + }, + toCheck (e) { + this.pkId = this.pkId === e.bag_code ? '' : e.bag_code + this.pkObj = this.pkId === e.bag_code ? e : {} }, toEmpty () { this.val1 = '' @@ -142,7 +167,39 @@ try { let res = await insideCodeInsert(e) if (res) { - this.dataList = [...this.dataList, ...res.data] + this.dataList.push(res.data) + this.dataList.forEach(e => { + e.initialQty = e.canuse_qty + }) + this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) + } else { + this.dataList = [] + } + } catch (e) { + this.dataList = [] + } + }, + async _insideCodeInsert2 (e) { + try { + let res = await insideCodeInsert(e) + if (res) { + if (this.dataList.length === 0) { + this.dataList.push(res.data) + } else { + const existingItem = this.dataList.find(item => item.bag_code === res.data.bag_code) + if (!existingItem) { + this.dataList.push(res.data) + } else { + uni.showToast({ + title: '袋码已存在,不能重复插入', + icon: 'none' + }) + } + } + this.dataList.forEach(e => { + e.initialQty = e.canuse_qty + }) + this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) } else { this.dataList = [] } diff --git a/pages/hdyy/ccgl/zj-instore.vue b/pages/hdyy/ccgl/zj-instore.vue index 00499ca..1e79fef 100644 --- a/pages/hdyy/ccgl/zj-instore.vue +++ b/pages/hdyy/ccgl/zj-instore.vue @@ -56,7 +56,7 @@ - + {{i+1}} {{e.bag_code}} {{e.material_code}} @@ -96,6 +96,8 @@ num: null, val1: '', bagCode: '', + pkId: '', + pkObj: {}, dataList: [], // dataList: [{material_code: 'm001', qty: 100, checked: false, initialQty: 100}, {material_code: 'm002', qty: 200, checked: false, initialQty: 200}], disabled: false @@ -107,7 +109,7 @@ methods: { toScanAdd () { if (this.bagCode) { - this._getPalletAssembly(this.bagCode) + this._getPalletAssembly2(this.bagCode) } // uni.scanCode({ // success: (res) => { @@ -127,7 +129,11 @@ if (!this.pkId) { return } - this.dataList = this.dataList.filter(item => item.mid !== this.pkObj.mid) + this.dataList = this.dataList.filter(item => item.bag_code !== this.pkObj.bag_code) + }, + toCheck (e) { + this.pkId = this.pkId === e.bag_code ? '' : e.bag_code + this.pkObj = this.pkId === e.bag_code ? e : {} }, toEmpty () { this.val1 = '' @@ -138,7 +144,28 @@ try { let res = await getPalletAssembly(e) if (res) { - this.dataList = [...this.dataList, ...res.data] + this.dataList = [...res.data] + this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) + } else { + this.dataList = [] + } + } catch (e) { + this.dataList = [] + } + }, + async _getPalletAssembly2 (e) { + try { + let res = await getPalletAssembly(this.bagCode) + if (res) { + const existingItem = this.dataList.find(item => item.bag_code === res.data.bag_code) + if (!existingItem) { + this.dataList.push(res.data) + } else { + uni.showToast({ + title: '袋码已存在,不能重复插入', + icon: 'none' + }) + } this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) } else { this.dataList = [] diff --git a/pages/hdyy/ccgl/zj-outstore.vue b/pages/hdyy/ccgl/zj-outstore.vue index 80017b0..1a4feb5 100644 --- a/pages/hdyy/ccgl/zj-outstore.vue +++ b/pages/hdyy/ccgl/zj-outstore.vue @@ -47,13 +47,13 @@ - + {{i+1}} {{e.bag_code}} {{e.material_code}} {{e.material_name}} {{e.pcsn}} - + {{e.qty_unit_name}} {{e.supp_name}} {{e.material_type_id}} @@ -89,6 +89,8 @@ bagCode: '', num: null, index: '', + pkId: '', + pkObj: {}, dataList: [], // dataList: [{material_code: 'm001', qty: 100, checked: false, initialQty: 100}, {material_code: 'm002', qty: 200, checked: false, initialQty: 200}], disabled: false @@ -96,18 +98,18 @@ }, onLoad (options) { this.title = options.title - this._queryPointInDownload() + // this._queryPointInDownload() }, methods: { handleBlur (e) { - if (e.qty) { - if (e.qty < 0) { - e.qty = 0 + if (e.canuse_qty) { + if (e.canuse_qty < 0) { + e.canuse_qty = 0 } else { - e.qty = e.qty.replace(/[^0-9]/g, '') - e.qty = e.qty.replace(/^0+/, '') || '0' - if (e.qty > e.initialQty) { - e.qty = e.initialQty + e.canuse_qty = e.canuse_qty.replace(/[^0-9]/g, '') + e.canuse_qty = e.canuse_qty.replace(/^0+/, '') || '0' + if (e.canuse_qty > e.initialQty) { + e.canuse_qty = e.initialQty } this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) } @@ -120,14 +122,18 @@ }, toScanAdd () { if (this.bagCode) { - this._directlyOutCodeInsert(this.bagCode) + this._directlyOutCodeInsert2(this.bagCode) } }, toDel () { if (!this.pkId) { return } - this.dataList = this.dataList.filter(item => item.mid !== this.pkObj.mid) + this.dataList = this.dataList.filter(item => item.bag_code !== this.pkObj.bag_code) + }, + toCheck (e) { + this.pkId = this.pkId === e.bag_code ? '' : e.bag_code + this.pkObj = this.pkId === e.bag_code ? e : {} }, toEmpty () { this.val1 = '' @@ -155,7 +161,31 @@ if (res) { this.dataList = [...this.dataList, ...res.data] this.dataList.forEach(e => { - e.initialQty = e.qty + e.initialQty = e.canuse_qty + }) + this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) + } else { + this.dataList = [] + } + } catch (e) { + this.dataList = [] + } + }, + async _directlyOutCodeInsert2 (e) { + try { + let res = await directlyOutCodeInsert(this.bagCode) + if (res) { + const existingItem = this.dataList.find(item => item.bag_code === res.data.bag_code) + if (!existingItem) { + this.dataList.push(res.data) + } else { + uni.showToast({ + title: '袋码已存在,不能重复插入', + icon: 'none' + }) + } + this.dataList.forEach(e => { + e.initialQty = e.canuse_qty }) this.num = this.dataList.reduce((sum, item) => sum + Number(item.qty), 0) } else { diff --git a/pages/hdyy/scgl/tp-callmater.vue b/pages/hdyy/scgl/tp-callmater.vue index 6e415a0..f9c3357 100644 --- a/pages/hdyy/scgl/tp-callmater.vue +++ b/pages/hdyy/scgl/tp-callmater.vue @@ -55,7 +55,7 @@ - + {{i+1}} {{e.struct_code}} {{e.material_code}} @@ -76,7 +76,7 @@ - + @@ -99,8 +99,10 @@ val1: '', val2: '', materialData: {}, + pkId: '', + pkObj: {}, dataList: [], - dataList: [{material_code: 'm001', qty: 100, checked: false, initialQty: 100}, {material_code: 'm002', qty: 200, checked: false, initialQty: 200}], + // dataList: [{material_code: 'm001', qty: 100, checked: false, initialQty: 100}, {material_code: 'm002', qty: 200, checked: false, initialQty: 200}], disabled: false }; }, @@ -115,6 +117,10 @@ } }, methods: { + toCheck (e) { + this.pkId = this.pkId === e.material_code ? '' : e.material_code + this.pkObj = this.pkId === e.material_code ? e : {} + }, toJump (name) { uni.navigateTo({ url: `/pages/hdyy/wbc/${name}` @@ -157,12 +163,12 @@ }, async _confirmCallMaterial () { this.disabled = true - if (!this.val2 || !this.dataList.length) { + if (!this.val2 || !this.pkId) { this.disabled = false return } try { - let res = await confirmCallMaterial(this.val2, '', this.dataList) + let res = await confirmCallMaterial(this.val2, '', this.pkObj) if (res) { uni.showToast({ title: res.message, diff --git a/utils/getData3.js b/utils/getData3.js index eafc8d2..40b4bf3 100644 --- a/utils/getData3.js +++ b/utils/getData3.js @@ -232,9 +232,9 @@ export const getStockGroupInfo = (scode, mid, pcsn) => request({ data: {sect_code: scode, material_id: mid, pcsn: pcsn} }) // 确认叫料 -export const confirmCallMaterial = (pcode, scode, rows) => request({ +export const confirmCallMaterial = (pcode, row) => request({ url:'api/pdaProduction/confirmCallMaterial', - data: {point_code: pcode, sect_code: scode, rows: rows} + data: {point_code: pcode, row: row} }) // 点位取货