From dded0d06002833f1b76ea6d038931775406b87c9 Mon Sep 17 00:00:00 2001 From: guoshuang Date: Wed, 7 Aug 2024 09:57:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=94=B6=E8=8E=B7srm,?= =?UTF-8?q?=E6=88=90=E5=93=81=E7=94=9F=E6=88=90=E8=AE=B0=E5=BD=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/login/login/index.vue | 2 +- src/pages/wms/Raw/ReceivePO/index.vue | 65 +- src/pages/wms/Raw/ReceiveSRM/detail.vue | 49 +- src/pages/wms/Raw/ReceiveSRM/index.vue | 728 +++++++++++++++--- src/pages/wms/Raw/ReceiveSRM/model.ts | 119 ++- .../wms/product/BatchOfflineStorage/index.vue | 2 +- .../wms/product/ProductionRecord/index.vue | 16 + 7 files changed, 777 insertions(+), 204 deletions(-) diff --git a/src/pages/login/login/index.vue b/src/pages/login/login/index.vue index 75fc672..10bd200 100644 --- a/src/pages/login/login/index.vue +++ b/src/pages/login/login/index.vue @@ -142,7 +142,7 @@ export default class LoginPage extends BasePage { // console.log('Version////', this.Version); } ///********版本号修改区域********** - version = '0.0.86'; //正式版本号 + version = '0.0.87'; //正式版本号 //version = '0.0.5'; //测试版本号 //***************标志修改区域:是否是测试标志: false 正式版本; true 测试版本**************** //isTest = true; diff --git a/src/pages/wms/Raw/ReceivePO/index.vue b/src/pages/wms/Raw/ReceivePO/index.vue index f60f3ad..ae44f41 100644 --- a/src/pages/wms/Raw/ReceivePO/index.vue +++ b/src/pages/wms/Raw/ReceivePO/index.vue @@ -8,16 +8,6 @@ - - - - 送货单号: - - - - 提单 - - @@ -50,10 +40,6 @@ 采购单号: {{ item.procureCode }} - - 送货单号: - {{ item.userDefined5 }} - 行项目: {{ item.userDefined3 }} @@ -94,10 +80,6 @@ 采购单号: {{ item.procureCode }} - - 送货单号: - {{ item.userDefined5 }} - 行项目: {{ item.userDefined3 }} @@ -141,8 +123,9 @@ - 批次号: - + 标识码: + + 数量: @@ -290,7 +273,6 @@ export default class receivePO extends BasePage { // this.remove = e.pickerName; // } procureCode: any = ''; - userDefined5: any = ''; materialCode: any = ''; border = true; height = 100; @@ -344,13 +326,13 @@ export default class receivePO extends BasePage { //点击收货按钮,录入批次(或系统自动生成)、数量、托盘码进行收货。 async onOk() { console.log(this.form3); - if (this.form3.incomeBatchNo == '' || this.form3.incomeBatchNo == undefined) { - (this.$refs.uToast as any).show({ - title: '批次号不能为空', - type: 'default', - }); - return; - } + // if (this.form3.userDefined6 == '' || this.form3.userDefined6 == undefined) { + // (this.$refs.uToast as any).show({ + // title: '标志码不能为空', + // type: 'default', + // }); + // return; + // } if (this.form3.planNumber == '' || this.form3.planNumber == undefined) { (this.$refs.uToast as any).show({ title: '数量不能为空', @@ -391,7 +373,7 @@ export default class receivePO extends BasePage { query.planNumber = this.form3.planNumber; query.whCode = this.productCodeTypeList.warehouseCode; query.factoryCode = session.FactoryCode; - query.incomeBatchNo = this.form3.incomeBatchNo; + query.userDefined6 = this.form3.userDefined6; query.receiptNoCode = this.receiptNoCode; query.poLine = this.clickitem.userDefined3; await this.model.PurchaseOrderdeliPda(query); @@ -435,7 +417,6 @@ export default class receivePO extends BasePage { let query = { procureCode: this.procureCode, materialCode: this.aimWl.value ? this.aimWl.value : '', - userDefined5: this.userDefined5, //this.materialCode, factoryCode: session.FactoryCode, }; @@ -514,35 +495,11 @@ export default class receivePO extends BasePage { this.query(); } } - //送货单提单 - async tidandelivery() { - if (this.userDefined5 == '' || this.userDefined5.length == 0) { - (this.$refs.uToast as any).show({ - title: '请输入送货单', - type: 'default', - }); - return; - } - let item = { - userDefined5: this.userDefined5, - factoryCode: session.FactoryCode, - createBy: session.loginName, - }; - await this.model.getDeliveryNoteDetail(item); - if (model.deliverycode == '200') { - (this.$refs.uToast as any).show({ - title: '提单成功', - type: 'success', - }); - this.query(); - } - } //查询所有已经收货的信息 async ProcureOrderAlready() { let item = { procureCode: this.procureCode, factoryCode: session.FactoryCode, - userDefined5: this.userDefined5, }; await this.model.selectOdsProcureOrderAlready(item); if (model.Alreadycode == '200') { diff --git a/src/pages/wms/Raw/ReceiveSRM/detail.vue b/src/pages/wms/Raw/ReceiveSRM/detail.vue index 43fec5e..025ecfd 100644 --- a/src/pages/wms/Raw/ReceiveSRM/detail.vue +++ b/src/pages/wms/Raw/ReceiveSRM/detail.vue @@ -9,30 +9,30 @@ - + 物资编码: - 4500331750 + {{ item.materialCode }} - 物资名称: - 40000006954 + 物料描述: + {{ item.materialDesc }} - 收货数量: - 100 + 数量: + {{ item.amount }} 单位: - + {{ item.userDefined4 }} 托盘号: - 1000/0(PC) + {{ item.sn }} @@ -51,7 +51,7 @@ import model from './model'; jPicker, }, }) -export default class receivesrm extends BasePage { +export default class receiveSRM extends BasePage { model = model; list: any = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }]; form3: any = {}; @@ -79,18 +79,29 @@ export default class receivesrm extends BasePage { value: '0', }, ]; - + detailsinfo: any = ''; + orderNoItemListdes: any = ''; productCodeList: any = {}; - async query() { - if (this.orderNo == '' || this.orderNo.length == 0) { - this.customToast('请输入nficl'); - return; - } - await this.model.queryOrderNo(this.orderNo); - this.productCodeList = this.model.productCodeList[0]; - this.histroyItem = this.model.orderNoItemList[0]; - } histroyItem: any = {}; + async onLoad(options) { + let str = decodeURIComponent(options.listitem); + if (str) { + this.detailsinfo = JSON.parse(str); + let query = { + id: this.detailsinfo.id, + factoryCode: this.session.FactoryCode, + }; + await this.model.PurchaseOrderdetailPda(query); + this.orderNoItemListdes = this.model.orderNoItemListdes; + } + } + selectProductCode(e: any) { + this.model.orderNoItemList.forEach((item: any) => { + if (item.productCode == e.pickerName.value) { + this.histroyItem = item; + } + }); + } barcode: any = ''; } diff --git a/src/pages/wms/Raw/ReceiveSRM/index.vue b/src/pages/wms/Raw/ReceiveSRM/index.vue index 2f31770..eebdc91 100644 --- a/src/pages/wms/Raw/ReceiveSRM/index.vue +++ b/src/pages/wms/Raw/ReceiveSRM/index.vue @@ -8,55 +8,61 @@ - + 送货单号: - + - 提单 + 提单 + + + + - - - - - - - 收货仓库: - 0001-小榄物料仓 - - - 工厂: - 1000 - + + + + + 生成收货单号 + + - - + - 待收货 + + {{ item.orderStatus == 0 ? '未收货' : item.orderStatus == 1 ? '正在收货' : '收货完成' }} + + + 送货单号: + {{ item.userDefined5 }} - 采购单号: - 4500331750 + 行项目: + {{ item.userDefined3 }} 物料编码: - 40000006954 + {{ item.handlematerialCode }} - 物料名称: - 纸箱 + 物料描述: + {{ item.materialDesc }} + + + 工厂号: + {{ item.siteCode }} 应收/已收: - 1000/0(PC) + {{ item.planNumber }}/{{ item.realityNumber }} 收货 @@ -65,49 +71,129 @@ + + + + + + + + 已收货 + + + 送货单号: + {{ item.userDefined5 }} + + + 行项目: + {{ item.userDefined3 }} + + + 物料编码: + {{ item.materialCode }} + + + 物料描述: + {{ item.materialDesc }} + + + 工厂号: + {{ item.siteCode }} + + + 应收/已收: + {{ item.planNumber }}/{{ item.realityNumber }} + + + + + + + + 到货登记 + 确定 - - 返回 - - + - 批次号: - + 标识码: + 数量: - + - 托盘号: - + 收货方式: + + + + + + 物料号: + + + + 托盘号: + + + + + + 收货仓库: + - - - - - 确定 - - - - 取消 - - + +
+ 确定 +
+
+ 取消 +
+ + + + + + 已登记数量: + + + + 未登记数量: + + + + 登记数量: + + + +
+ 确定 +
+
+ 取消 +
+
+
+
+ +
@@ -266,7 +717,7 @@ export default class receivesrm extends BasePage { .form { background-color: #fff; - padding: 40rpx; + padding: 20rpx; border-radius: 10rpx; box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2); @@ -315,15 +766,78 @@ export default class receivesrm extends BasePage { justify-content: space-around; flex: 1; } + .creatshow { + display: flex; + margin-top: 5px; + .buttonshow { + flex: 1; + } + .inputshow { + flex: 4; + //border: 1px solid #9f9a9a8f; + border-radius: 5px; + margin-left: 4px; + } + } } - .scroll { + .matshow { // margin-top: 120rpx; // padding-left: 30rpx; // padding-right: 16rpx; // margin-bottom: 20rpx; // overflow: scroll; // padding-top: 20rpx; + .form2 { + background-color: #fff; + padding: 0rpx 25rpx 25rpx; + border-radius: 10rpx; + box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2); + color: #292c32; + + .row-list { + display: flex; + flex-direction: row; + justify-content: space-between; + } + + .righttitle { + display: flex; + justify-content: flex-end; + + .boder-icon-rigth { + border: 1rpx solid #fa3534; + width: 130rpx; + text-align: center; + background: #fa3534; + color: #ffffff; + margin-top: 10px; + } + + .zhuangtai { + background: #a7a0a04a; + width: 224rpx; + margin-right: -25rpx; + border: 2rpx solid #a7a0a04a; + border-radius: 12rpx; + text-align: center; + margin-bottom: 10rpx; + } + + .zhuangtai[data-state='1'] { + color: green; + } + + .zhuangtai[data-state='0'] { + color: blue; + } + } + } + } + .scroll { + height: 590rpx; + overflow: scroll; + // padding-top: 20rpx; .form2 { background-color: #fff; padding: 0rpx 25rpx 25rpx; @@ -353,7 +867,7 @@ export default class receivesrm extends BasePage { .zhuangtai { background: #a7a0a04a; width: 224rpx; - margin-right: -27rpx; + margin-right: -25rpx; border: 2rpx solid #a7a0a04a; border-radius: 12rpx; text-align: center; @@ -472,16 +986,36 @@ export default class receivesrm extends BasePage { justify-content: space-around; margin: 20rpx; .pouptitle { - width: 25%; + min-width: 30%; + white-space: nowrap; } .poupcontent { border: 1px solid rgba(128, 128, 128, 0.2); } } } + .form4 { + padding: 20rpx; + //border-radius: 10rpx; + //box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2); + .poupitem { + display: flex; + flex-direction: row; + justify-content: space-around; + margin: 20rpx; + .pouptitle { + width: 40%; + white-space: nowrap; + } + .poupcontent { + border: 1px solid rgba(128, 128, 128, 0.2); + } + } + } + .poupbutton { display: flex; - justify-content: center; + justify-content: space-around; } .mask { position: fixed; diff --git a/src/pages/wms/Raw/ReceiveSRM/model.ts b/src/pages/wms/Raw/ReceiveSRM/model.ts index e83ae2d..38b2385 100644 --- a/src/pages/wms/Raw/ReceiveSRM/model.ts +++ b/src/pages/wms/Raw/ReceiveSRM/model.ts @@ -1,55 +1,110 @@ import { getModule, Module, MutationAction, VuexModule } from 'vuex-module-decorators'; import store from '@/store'; import http from '@/utils/request'; -//import { url } from '@/utils/url'; +import { url } from '@/utils/url'; import { session } from '@/store/modules/session'; @Module({ namespaced: true, dynamic: true, store, - name: 'page.raw.receivesrm', + name: 'page.raw.receiveSRM', }) export class receiveSRM extends VuexModule { WlList = []; - @MutationAction - async queryLocation() { - const result: any = await http.post('', { - // factoryCode: session.factoryCode, - loginName: session.loginName, - }); - const WlList = result.data.map((_: any) => ({ - label: _.locationCode, - value: _.locationCode, - })); - return { WlList }; - } orderNoItemList: any = []; - productCodeList: any = []; + orderNoItemListdes: any = []; @MutationAction - async queryOrderNo(orderNo: any) { - const result: any = await http.post('', { - // factoryCode: session.factoryCode, - loginName: session.loginName, - orderNo, - }); - const orderNoItemList = result.data; - // const productCodeList = result.data.map((_: any) => ({ - // label: _.productCode, - // value: _.productCode, - // })); + async PurchaseOrderPda(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.PurchaseOrderPda, data); + let orderNoItemList: any = []; + if (result.data.length) { + orderNoItemList = result.data.map((item: any) => ({ + label: item.materialDesc, + value: item.materialCode, + ...item, + })); + } else { + orderNoItemList = []; + } return { orderNoItemList }; } + Alreadycode: any = ''; + ProcureOrderAlreadylist: any = ''; + @MutationAction + async selectOdsProcureOrderAlready(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.selectOdsProcureOrderAlready, data); + const Alreadycode = result.code; + const ProcureOrderAlreadylist = result.data; + return { Alreadycode, ProcureOrderAlreadylist }; + } + sapPurchasecode: any = ''; + @MutationAction + async sapPurchaseOrderSync(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.sapPurchaseOrderSync, data); + const sapPurchasecode = result.code; + return { sapPurchasecode }; + } + deliverycode: any = ''; + @MutationAction + async getDeliveryNoteDetail(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.getDeliveryNoteDetail, data); + const deliverycode = result.code; + return { deliverycode }; + } SubmitCode: any = ''; @MutationAction - async OnSubmit(params: any) { - const result: any = await http.post('', params); - const SubmitCode = result.code; + async PurchaseOrderdeliPda(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.PurchaseOrderdeliPda, data); + const SubmitCode: [] = result; return { SubmitCode }; } + @MutationAction - async empty() { - const productCodeList = []; - return { productCodeList }; + async PurchaseOrderdetailPda(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.PurchaseOrderdetailPda, data); + const orderNoItemListdes = result.data; + return { orderNoItemListdes }; + } + DictTypeList: any = []; + @MutationAction + async Stashlist() { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.list, { + factoryCode: session.FactoryCode, + }); + const DictTypeListoild: [] = result.data; + const DictTypeList = DictTypeListoild.map((item: any) => ({ + label: item.warehouseName, + value: item.warehouseCode, + ...item, + })); + return { DictTypeList }; + } + submitcode: any = ''; + @MutationAction + async OnSubmit(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.PurchaseOrderdeliPdaConfirm, data); + const submitcode = result.code; + return { + submitcode, + }; + } + Arrivalcode: any = ''; + @MutationAction + async ArrivalRegistration(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.ArrivalRegistration, data); + const Arrivalcode = result.code; + return { + Arrivalcode, + }; + } + singcode: any = ''; + singobj: any = {}; + @MutationAction + async selectArrivalRegistration(data: any) { + const result: any = await http.post(url.lanjuwms.raw.ReceivePO.selectArrivalRegistration, data); + const singcode = result.code; + const singobj = result.data; + return { singcode, singobj }; } } diff --git a/src/pages/wms/product/BatchOfflineStorage/index.vue b/src/pages/wms/product/BatchOfflineStorage/index.vue index 9bf18cd..150fa5c 100644 --- a/src/pages/wms/product/BatchOfflineStorage/index.vue +++ b/src/pages/wms/product/BatchOfflineStorage/index.vue @@ -57,7 +57,7 @@
- 出库仓库: + 入库仓库: + + + 标识码: + + +
@@ -81,6 +87,7 @@ export default class ProductionRecord extends BasePage { border = true; production: any = {}; quantity = ''; + attr1 = ''; async onReady() { await this.model.getlistBaseEquipment(); @@ -177,6 +184,12 @@ export default class ProductionRecord extends BasePage { }); return; } + if (this.attr1 == '') { + (this.$refs.uToast as any).show({ + title: '请输入标识码', + }); + return; + } let params = { factoryCode: session.FactoryCode, createBy: session.loginName, @@ -188,6 +201,7 @@ export default class ProductionRecord extends BasePage { prodLineName: this.aimWl.label, sn: this.orderNo, quantity: this.quantity, + attr1: this.attr1, }; //console.log('参数',params); await this.model.getwarehouselist(params); @@ -198,6 +212,7 @@ export default class ProductionRecord extends BasePage { }); this.quantity = ''; this.orderNo = ''; + this.attr1 = ''; } else { (this.$refs.uToast as any).show({ title: '失败', @@ -275,6 +290,7 @@ export default class ProductionRecord extends BasePage { width: 100%; height: 60rpx; display: flex; + margin-top: 10rpx; .single-left { width: 80%;