From 349714f27c8975ea4e20991807b059817a5a3030 Mon Sep 17 00:00:00 2001 From: guoshuang Date: Tue, 12 Mar 2024 16:55:09 +0800 Subject: [PATCH 1/4] =?UTF-8?q?wms=E7=99=BD=E8=83=9A=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 8 + .../wms/WhiteManagement/WhiteReturn/index.vue | 508 ++++++++++++++++++ .../wms/WhiteManagement/WhiteReturn/model.ts | 46 ++ src/pages/wms/index.vue | 13 +- src/utils/page.ts | 1 + src/utils/url.ts | 4 + 6 files changed, 579 insertions(+), 1 deletion(-) create mode 100644 src/pages/wms/WhiteManagement/WhiteReturn/index.vue create mode 100644 src/pages/wms/WhiteManagement/WhiteReturn/model.ts diff --git a/src/pages.json b/src/pages.json index 96acbbc..2b649f9 100644 --- a/src/pages.json +++ b/src/pages.json @@ -464,6 +464,14 @@ "navigationBarTextStyle": "white" } }, + { + "path": "pages/wms/WhiteManagement/WhiteReturn/index", + "style": { + "navigationBarTitleText": "白胚退货入库", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, { "path": "pages/wms/WhiteManagement/TransferInlibrary/index", "style": { diff --git a/src/pages/wms/WhiteManagement/WhiteReturn/index.vue b/src/pages/wms/WhiteManagement/WhiteReturn/index.vue new file mode 100644 index 0000000..8a1ce36 --- /dev/null +++ b/src/pages/wms/WhiteManagement/WhiteReturn/index.vue @@ -0,0 +1,508 @@ + + + diff --git a/src/pages/wms/WhiteManagement/WhiteReturn/model.ts b/src/pages/wms/WhiteManagement/WhiteReturn/model.ts new file mode 100644 index 0000000..5e1b49e --- /dev/null +++ b/src/pages/wms/WhiteManagement/WhiteReturn/model.ts @@ -0,0 +1,46 @@ +import { getModule, Module, MutationAction, VuexModule } from 'vuex-module-decorators'; +import store from '@/store'; +import http from '@/utils/request'; +import { url } from '@/utils/url'; +import { session } from '@/store/modules/session'; +@Module({ + namespaced: true, + dynamic: true, + store, + name: 'page.WhiteManagement.WhiteReturn', +}) +export class WhiteReturn extends VuexModule { + orderNoItemList: any = {}; + @MutationAction + async showProduceCode(materialCode: any) { + const result: any = await http.post(url.lanjuwms.WhiteManagement.WhiteReturn.queryMaterialInfor, { + materialCode: materialCode, + factoryCode: session.FactoryCode, + }); + // http.defaults.headers.common['Accept-Language'] = session.PoolName; + const orderNoItemList = result.data; + return { orderNoItemList }; + } + SubmitCode: any = ''; + @MutationAction + async into(params: any) { + const result: any = await http.post(url.lanjuwms.WhiteManagement.WhiteReturn.WhiteBilletReturnConfir, params); + const SubmitCode = result.code; + return { SubmitCode }; + } + warehouselist: any = []; + @MutationAction + async getwarehouselist() { + const result = await http.post(url.lanjuwms.raw.ProductionREQ.warehouselist, { + factoryCode: session.FactoryCode, + }); + const warehouselist = result.data.map((element: any) => ({ + label: element.warehouseName, + value: element.warehouseCode, + ...element, + })); + return { warehouselist }; + } +} + +export default getModule(WhiteReturn); diff --git a/src/pages/wms/index.vue b/src/pages/wms/index.vue index 9b8f6a4..9786cd7 100644 --- a/src/pages/wms/index.vue +++ b/src/pages/wms/index.vue @@ -150,9 +150,20 @@ :label="item.menuName" label-pos="bottom" size="80" - :name="item.menuName == '白胚入库' ? '../../static/icons/icon-54.png' : item.menuName == '白胚出库' ? '../../static/icons/icon-55.png' : '../../static/icons/icon-56.png'" + :name="item.menuName == '白胚入库' || '退货入库' ? '../../static/icons/icon-54.png' : item.menuName == '白胚出库' ? '../../static/icons/icon-55.png' : '../../static/icons/icon-56.png'" > + diff --git a/src/utils/page.ts b/src/utils/page.ts index 3a448f6..ab4797a 100644 --- a/src/utils/page.ts +++ b/src/utils/page.ts @@ -37,5 +37,6 @@ export const page = { WhiteInstorage: '/pages/wms/WhiteManagement/WhiteInstorage/index', WhiteOutstorage: '/pages/wms/WhiteManagement/WhiteOutstorage/index', TransferInlibrary: '/pages/wms/WhiteManagement/TransferInlibrary/index', + WhiteReturn: '/pages/wms/WhiteManagement/WhiteReturn/index', }, }; diff --git a/src/utils/url.ts b/src/utils/url.ts index 22d9cca..e29761c 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -115,6 +115,10 @@ export const url = { TransferInlibrary: { WhiteWarehouseDump: qianzhuione + '/wms/WmsToWCSmission/WhiteWarehouseDump', }, + WhiteReturn: { + queryMaterialInfor: qianzhuione + '/wms/WmsToWCSmission/queryMaterialInfor', + WhiteBilletReturnConfir: qianzhuione + '/wms/WmsToWCSmission/WhiteBilletReturnConfir', + }, }, }, // 设备管理 From 768e657eb4b8ee4d01beaa398e434060d49a5e58 Mon Sep 17 00:00:00 2001 From: guoshuang Date: Tue, 12 Mar 2024 16:57:10 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E4=B8=BA0.46?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/shouye/me.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/shouye/me.vue b/src/pages/shouye/me.vue index d786214..894708b 100644 --- a/src/pages/shouye/me.vue +++ b/src/pages/shouye/me.vue @@ -66,7 +66,7 @@ export default class RawHome extends BasePage { model = model; src: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg'; today = dayjs().format('YYYY-MM-DD dddd'); - version = '0.0.45'; + version = '0.0.46'; checkversion: any = {}; sessiondata: any = ''; onLoad() { From 7c1907d07c9fd466437dbc90194538df37118833 Mon Sep 17 00:00:00 2001 From: guoshuang Date: Tue, 12 Mar 2024 17:15:56 +0800 Subject: [PATCH 3/4] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/wms/WhiteManagement/WhiteReturn/index.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/wms/WhiteManagement/WhiteReturn/index.vue b/src/pages/wms/WhiteManagement/WhiteReturn/index.vue index 8a1ce36..7aa26f5 100644 --- a/src/pages/wms/WhiteManagement/WhiteReturn/index.vue +++ b/src/pages/wms/WhiteManagement/WhiteReturn/index.vue @@ -102,7 +102,7 @@ export default class WhiteReturn extends BasePage { orderNoItemList: any = []; warehouselist = []; materialCode: any = ''; - amount = 0; + amount: any = ''; wlCode: any = ''; async onLoad() { @@ -137,7 +137,7 @@ export default class WhiteReturn extends BasePage { }); return; } - if (this.amount == '' || this.amount <= 0) { + if (this.amount == '') { (this.$refs.uToast as any).show({ title: '请输入退货数量', // url: '/pages/user/index' @@ -164,7 +164,7 @@ export default class WhiteReturn extends BasePage { this.orderNo = ''; this.materialCode = ''; this.orderNoItemList = {}; - this.amount = 0; + this.amount = ''; this.wlCode = ''; } else { (this.$refs.uToast as any).show({ From c4b9de65a026f2550ccc4c06f15287b6a77b79bd Mon Sep 17 00:00:00 2001 From: guoshuang Date: Thu, 14 Mar 2024 17:32:32 +0800 Subject: [PATCH 4/4] =?UTF-8?q?wms=E6=88=90=E5=93=81=E4=B8=8B=E7=BA=BF?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages.json | 8 + .../wms/product/OfflineStorage/detail.vue | 367 ++++++++++++++++++ .../wms/product/OfflineStorage/index.vue | 121 +++--- src/pages/wms/product/OfflineStorage/model.ts | 29 ++ src/store/use/data.ts | 30 ++ src/utils/page.ts | 1 + src/utils/url.ts | 3 + 7 files changed, 499 insertions(+), 60 deletions(-) create mode 100644 src/pages/wms/product/OfflineStorage/detail.vue create mode 100644 src/store/use/data.ts 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/订单号/产品编码