diff --git a/src/pages.json b/src/pages.json index 2b649f9..f4983fe 100644 --- a/src/pages.json +++ b/src/pages.json @@ -392,6 +392,14 @@ "navigationBarTextStyle": "white" } }, + { + "path": "pages/wms/product/OfflineStorage/detail", + "style": { + "navigationBarTitleText": "下线入库托盘箱码关系", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, { "path": "pages/mes/PalletChange/index", "style": { diff --git a/src/pages/wms/product/OfflineStorage/detail.vue b/src/pages/wms/product/OfflineStorage/detail.vue new file mode 100644 index 0000000..3aa17cc --- /dev/null +++ b/src/pages/wms/product/OfflineStorage/detail.vue @@ -0,0 +1,367 @@ + + + diff --git a/src/pages/wms/product/OfflineStorage/index.vue b/src/pages/wms/product/OfflineStorage/index.vue index 2f46873..68426e5 100644 --- a/src/pages/wms/product/OfflineStorage/index.vue +++ b/src/pages/wms/product/OfflineStorage/index.vue @@ -73,7 +73,7 @@ - + @@ -130,10 +130,10 @@ 入库库位: - + @@ -154,6 +154,7 @@ import { BasePage } from '@/components/base/page'; import jPicker from '@/components/J-Picker/jPicker.vue'; import model from './model'; import { session } from '@/store/modules/session'; +import { usedata } from '@/store/use/data'; interface OptionType { label: string; value: string; @@ -174,7 +175,7 @@ export default class OfflineStorage extends BasePage { itemdetail: any = ''; showmodal = false; content: any = ''; - number1: number; + number1: any = ''; border = true; delindex = -1; cimWl = {} as OptionType; @@ -191,6 +192,9 @@ export default class OfflineStorage extends BasePage { histroyItem: any = {}; barcode: any = ''; productCodeList: any = {}; + biaojiindex = ''; + biaojisn = ''; + number = ''; async onReady() { await this.model.getwarehouselist(); this.warehouselist = model.warehouselist; @@ -201,6 +205,29 @@ export default class OfflineStorage extends BasePage { this.cimWl = this.warehouselist[0]; } } + // 在页面A中 + onUnload() { + // 清空缓存数据 + usedata.cacheData(null); + } + async onShow() { + const cacheData = usedata.OfflineStoragedata; + console.log('cacheData执行了', cacheData); + if (cacheData) { + console.log('cacheData执行了', cacheData); + this.orderNo = cacheData?.orderNo; + this.list = cacheData?.list; + this.cimWl.value = cacheData?.kuwei; + this.biaojiindex = cacheData?.index; + this.biaojisn = cacheData?.sn; + this.number = cacheData?.number; + await this.query(); + await this.model.selectSnCorrelationBarcode(this.biaojisn); + if (model.selectcode) { + this.list[this.biaojiindex].number = model.selectdata.length; + } + } + } //列表删除按钮 async onPassdelet(item, index) { console.log('1234567', item); @@ -216,20 +243,6 @@ export default class OfflineStorage extends BasePage { this.itemdetail.orderNo = this.orderNo; console.log(this.itemdetail, this.orderNo); this.list.splice(this.delindex, 1); - // await this.model.deleteTray(this.itemdetail); - // if (this.model.SubmitCode == '200') { - // (this.$refs.uToast as any).show({ - // title: '删除成功', - // type: 'success', - // }); - // this.getlist(); - // } else { - // (this.$refs.uToast as any).show({ - // title: '删除失败', - // type: 'error', - // }); - // this.getlist(); - // } } //选择出库仓库 warehouseChange(e: any) { @@ -252,11 +265,10 @@ export default class OfflineStorage extends BasePage { await this.model.queryOrderNo(this.orderNo); if (model.orderNoItemList) { this.orderNoItemList = model.orderNoItemList; - this.number1 = this.orderNoItemList.attr3; + this.number1 = this.number ? this.number : this.orderNoItemList.attr3; } else { this.orderNoItemList = {}; } - //this.getlist(); } //入库确认按钮 async onSubmit() { @@ -280,7 +292,7 @@ export default class OfflineStorage extends BasePage { insertTarynumber = insertTarynumber + parseInt(item.number); }); //console.log(insertTarynumber, model.orderNoItemList.putQuantity, insertTarynumber == model.orderNoItemList.putQuantity); - if (insertTarynumber <= this.number1) { + if (insertTarynumber <= parseFloat(this.number1)) { let params = { workOrder: this.orderNoItemList.workOrder, factoryCode: session.FactoryCode, @@ -289,7 +301,7 @@ export default class OfflineStorage extends BasePage { productCode: this.orderNoItemList.productCode, planQuantity: this.orderNoItemList.planQuantity, putQuantity: this.number1, - batchNumber: this.orderNoItemList.batchNumbe, //――批次 + batchNumber: this.orderNoItemList.batchNumber, //――批次 createBy: session.loginName, unitOfMeasure: this.orderNoItemList.unitOfMeasure, productOrder: this.orderNoItemList.productOrder, //――单位 @@ -305,14 +317,12 @@ export default class OfflineStorage extends BasePage { this.show = false; this.list = []; this.query(); - //this.getlist(); } else { (this.$refs.uToast as any).show({ title: '失败', type: 'error', }); this.show = false; - //this.getlist(); } } else { (this.$refs.uToast as any).show({ @@ -321,15 +331,7 @@ export default class OfflineStorage extends BasePage { }); } } - async getlist() { - await (this.model as any).list(this.orderNo); - if (model.productCodeList.length > 0) { - this.list = model.productCodeList; - } else { - this.list = []; - } - console.log(model.productCodeList); - } + async rukubutn() { this.form5 = {}; if (this.orderNo == '' || this.orderNo.length == 0) { @@ -344,7 +346,7 @@ export default class OfflineStorage extends BasePage { this.list.forEach((item) => { insertTarynumber = insertTarynumber + parseInt(item.number); }); - let ordernumber = this.number1 || 0; + let ordernumber = parseFloat(this.number1) || 0; if (insertTarynumber >= ordernumber) { (this.$refs.uToast as any).show({ title: '实际入库数量不能大于入库数量,请先删除再入库', @@ -360,39 +362,38 @@ export default class OfflineStorage extends BasePage { //弹窗入库按钮 async onOk() { console.log(this.form5); - if (this.form5.sn == '' || this.form5.wlCode == '' || this.form5.number == '') { + if (this.form5.sn == '' || this.form5.wlCode == '') { (this.$refs.uToast as any).show({ title: '不能为空', // url: '/pages/user/index' }); return; } - this.list.push({ - number: this.form5.number, - wlCode: this.form5.wlCode, - sn: this.form5.sn, - //batchNumber: this.orderNoItemList.batchNumber, + // this.list.push({ + // number: 0, + // wlCode: this.form5.wlCode, + // sn: this.form5.sn, + // //batchNumber: this.orderNoItemList.batchNumber, + // }); + // this.show = false; + await this.model.selectSnCorrelationBarcode(this.form5.sn); + if (model.selectcode) { + this.list.push({ + number: model.selectdata.length || 0, + wlCode: this.form5.wlCode, + sn: this.form5.sn, + //batchNumber: this.orderNoItemList.batchNumber, + }); + this.show = false; + } + } + async onFormDoubleClick(item, index) { + console.log('双击', item); + //await this.model.OnSubmit(item.id); + usedata.cacheData({ orderNo: this.orderNo, number: this.number1, kuwei: this.cimWl.value, list: this.list, index: index, sn: item.sn }); + this.uni.navigateTo({ + url: this.page.wms.OfflineStoragedetail + '?sn=' + item.sn, }); - this.show = false; - // await this.model.insertTary(this.form5); - // if (this.model.SubmitCode == '200') { - // (this.$refs.uToast as any).show({ - // title: '成功', - // type: 'success', - // }); - // this.show = false; - // this.getlist(); - // } else { - // (this.$refs.uToast as any).show({ - // title: '失败', - // type: 'error', - // }); - // this.show = false; - // this.getlist(); - // } - // //入库后的查询下面列表的接口 - // await this.model.queryOrderNo(this.form5); - // this.list = model.orderNoItemList; } } diff --git a/src/pages/wms/product/OfflineStorage/model.ts b/src/pages/wms/product/OfflineStorage/model.ts index 314d9f5..000cb14 100644 --- a/src/pages/wms/product/OfflineStorage/model.ts +++ b/src/pages/wms/product/OfflineStorage/model.ts @@ -66,6 +66,35 @@ export class OfflineStorage extends VuexModule { })); return { warehouselist }; } + selectdata: any = []; + selectcode: any = ''; + @MutationAction + async selectSnCorrelationBarcode(sn: string) { + const result: any = await http.post(url.lanjuwms.product.OfflineStorage.selectSnCorrelationBarcode, { + siteCode: session.FactoryCode, + sn: sn, + }); + const selectdata = result.data; + const selectcode = result.code; + return { selectdata, selectcode }; + } + addsncode: any = ''; + @MutationAction + async addSnCorrelationBarcode(params: any) { + const result: any = await http.post(url.lanjuwms.product.OfflineStorage.addSnCorrelationBarcode, params); + const addsncode = result.code; + return { addsncode }; + } + delsncode: any = ''; + @MutationAction + async deletSnCorrelationBarcode(params: any) { + const result: any = await http.post(url.lanjuwms.product.OfflineStorage.deletSnCorrelationBarcode, { + siteCode: session.FactoryCode, + storageId: params, + }); + const delsncode = result.code; + return { delsncode }; + } } export default getModule(OfflineStorage); diff --git a/src/store/use/data.ts b/src/store/use/data.ts new file mode 100644 index 0000000..43acae6 --- /dev/null +++ b/src/store/use/data.ts @@ -0,0 +1,30 @@ +import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators'; +import store from '@/store'; + +export interface OfflineStoragedata { + orderNo?: string; + number?: string; + kuwei?: string; + list?: any[]; + index?: string; + sn?: string; +} +@Module({ + dynamic: true, + store, + namespaced: true, + name: 'data', +}) +class usedataService extends VuexModule { + OfflineStoragedata: OfflineStoragedata | null = null; + @Mutation + setOfflineStoragedata(data: OfflineStoragedata) { + this.OfflineStoragedata = data; + } + + @Action + cacheData(data: OfflineStoragedata) { + this.context.commit('setOfflineStoragedata', data); + } +} +export const usedata = getModule(usedataService); diff --git a/src/utils/page.ts b/src/utils/page.ts index ab4797a..ced89c4 100644 --- a/src/utils/page.ts +++ b/src/utils/page.ts @@ -30,6 +30,7 @@ export const page = { Requisition: '/pages/wms/Raw/Requisition/index', SaleOutWH: '/pages/wms/product/SaleOutWH/index', OfflineStorage: '/pages/wms/product/OfflineStorage/index', + OfflineStoragedetail: '/pages/wms/product/OfflineStorage/detail', ProductionREQ: '/pages/wms/Raw/ProductionREQ/index', TrayStatusUpdate: '/pages/wms/Raw/TrayStatusUpdate/index', SpecifyPalletOut: '/pages/wms/Raw/SpecifyPalletOut/index', diff --git a/src/utils/url.ts b/src/utils/url.ts index e29761c..850856c 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -47,6 +47,9 @@ export const url = { handPut: qianzhuione + '/wms/tray/wms/handPut', list: qianzhuione + '/wms/tray/listTary', WmsProductPutByWorkOrderConfirm: qianzhuione + '/wms/WmsToWCSmission/WmsProductPutByWorkOrderConfirm', + selectSnCorrelationBarcode: qianzhuione + '/wms/WmsToWCSmission/selectSnCorrelationBarcode', + addSnCorrelationBarcode: qianzhuione + '/wms/WmsToWCSmission/addSnCorrelationBarcode', + deletSnCorrelationBarcode: qianzhuione + '/wms/WmsToWCSmission/deletSnCorrelationBarcode', }, // 销售出库/sellout/showProduceCode/ /sellout/s/订单号/产品编码