diff --git a/src/i18n/lang/cn.ts b/src/i18n/lang/cn.ts index 95cd9d1..6305fc8 100644 --- a/src/i18n/lang/cn.ts +++ b/src/i18n/lang/cn.ts @@ -99,6 +99,7 @@ export default { dn_Tip: "实际收货数量不能大于需求数量", dn_Tip2: "实际退货数量不能大于需求数量", dn_Tip3: "实际收货数量小于需求数量", + Line: "行项目", //交接菜单页 Handover: "交接", Picking: "拣配", @@ -114,6 +115,7 @@ export default { Pi_materielNo: "物料号", Pi_order: "订单查询", Query: "查询", + time: "请先选择时间", Pi_InputMrp: "请输入MRP", Pi_InputFactory: "请输入工厂代码", Pi_OrderNoNotSelected: "未选中订单号", @@ -161,6 +163,7 @@ export default { Summary_Number: "数量", Summary_Receiver: "接收人", Summary_Password: "口令", + screen: "筛选", Summary_PleaseInputNumber: "请输入数量", Summary_PleaseInputReceiver: "请输入接收人", Summary_PleaseInputPassword: "请输入口令", @@ -244,9 +247,9 @@ export default { Warehouse_OriginalLocation: "原库位", Warehouse_TargetLocation: "目标库位", Warehouse_Tip: "请输入移库单号", - transfer_barcode:'移库批次', - Product_code:'产品编码', - Access_type:'出入类型', + transfer_barcode: "移库批次", + Product_code: "产品编码", + Access_type: "出入类型", //报废 Scrap_ScrapNo: "报废单号", @@ -270,6 +273,7 @@ export default { DumpListFHMX: "转储单发货明细", DumpListSH: "转储单收货", DumpListSHMX: "转储单收货明细", + deliver: "DN发货", //成品入库主菜单 product_item1: "成品下线", diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts index d1b380a..8d1437a 100644 --- a/src/i18n/lang/en.ts +++ b/src/i18n/lang/en.ts @@ -282,6 +282,10 @@ export default { DumpListFHMX: "SFG delivery detail", DumpListSH: "SFG receive", DumpListSHMX: "SFG receive detail", + deliver: "DN deliver goods", + Line: "rowItem", + screen: "screen", + time: "Please select the time first", //成品入库主菜单 product_item1: "FG inward", product_item2: "Transfer vehicle offline", diff --git a/src/pages.json b/src/pages.json index 01fb4ce..6f35ab7 100644 --- a/src/pages.json +++ b/src/pages.json @@ -481,6 +481,14 @@ "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 } }, + { + "path": "pages/raw/handover/returning/Time-filter", + "style": { + "navigationBarTitleText": "筛选", + "navigationStyle": "custom", // 隐藏系统导航栏 + "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 + } + }, { "path": "pages/raw/appointment/checkin/list", "style": { diff --git a/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue b/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue index a0e1a39..100fffa 100644 --- a/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue +++ b/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue @@ -7,7 +7,7 @@ - {{ $t("message.dn_ReceivingGoods") }} + {{ $t("message.deliver") }} - + - + - + + + + - + - + - + {{ $t("message.product_PickingDetails") }}{{ $t("message.detailed") }} @@ -168,7 +168,7 @@ export default class stoOutboundDom extends BasePage { orderAmount: "", productCode: "", // 物料类型name productDescZh: "", - scanAmount: "", + scanAmount: 0, barCode: "", }; materialList: any = []; //物料列表 @@ -216,12 +216,22 @@ export default class stoOutboundDom extends BasePage { materialConfirm(v: any) { console.log("v[0].value", v[0]); // this.form.productCode = v[0].value; + // this.model.materielList.forEach((item: any) => { + // if (v[0].value == item.stoItem) { + // this.form.productCode = item.materialCode; + // this.form.productDescZh = item.materialDesc; + // this.form.orderAmount = item.orderAmount; + // this.form.scanAmount = item.scanAmount; + // return; + // } + // }); this.model.materielList.forEach((item: any) => { - if (v[0].value == item.stoItem) { + if (v[0].label == item.materialCode) { this.form.productCode = item.materialCode; this.form.productDescZh = item.materialDesc; this.form.orderAmount = item.orderAmount; - this.form.scanAmount = item.scanAmount; + this.form.scanAmount = parseFloat(item.scanAmount); + return; } }); console.log("this.form", this.form); @@ -246,36 +256,43 @@ export default class stoOutboundDom extends BasePage { onSubmit() { this.$form.validate(async (valid: boolean) => { - if (this.form.productCode.slice(0, 9) != this.form.barCode.slice(0, 9)) { - uni.showToast({ - icon: "none", - title: this.$t("message.product_Tip5") as string, - }); - return; - } - if (parseInt(this.form.orderAmount) <= parseInt(this.form.scanAmount)) { + // if (this.form.productCode.slice(0, 9) != this.form.barCode.slice(0, 9)) { + // uni.showToast({ + // icon: "none", + // title: this.$t("message.product_Tip5") as string, + // }); + // return; + // } + if (parseInt(this.form.orderAmount) <= this.form.scanAmount) { uni.showToast({ icon: "none", title: this.$t("message.product_Tip6") as string, }); return; } - let list = [ - { - order3: this.form.orderNo, - productCode: this.form.productCode, - productDescZh: this.form.productDescZh, - barCode: this.form.barCode, - dockCode: this.form.dockCode, - dockName: this.form.dockName, - orderType: 3, - type: 0, - keepBy: session.loginName as string, - loginName: session.loginName as string, - }, - ]; + // let list = [ + // { + // order3: this.form.orderNo, + // productCode: this.form.productCode, + // productDescZh: this.form.productDescZh, + // barCode: this.form.barCode, + // dockCode: this.form.dockCode, + // dockName: this.form.dockName, + // // orderType: 3, + // orderType: 4, + // type: 0, + // keepBy: session.loginName as string, + // loginName: session.loginName as string, + // }, + // ]; if (valid) { - const res = await this.model.tluSubmit(list); + let list: any = { + productCode: this.form.productCode, + barcode: this.form.barCode, + loginName: session.loginName, + factoryCode: session.factoryCode, + }; + const res = await this.model.getMaterialByCode(list); console.log("fanhui ", res); // if (res.barcode) { // // this.materialList.push(res); @@ -332,7 +349,8 @@ export default class stoOutboundDom extends BasePage { keepBy: session.loginName, loginName: session.loginName, order3: this.form.orderNo, - orderType: 3, + // orderType: 3, + orderType: 4, type: 0, productCode: item.productCode, productDescZh: item.productDescZh, @@ -343,7 +361,7 @@ export default class stoOutboundDom extends BasePage { regionCode: item.regionCode, }; }); - await this.model.confirm(selctlist); + await this.model.confirmMove(selctlist); // this.$form.resetFields(); // // this.form.barCode = ''; // this.selectMaterielList = []; @@ -358,7 +376,7 @@ export default class stoOutboundDom extends BasePage { this.form.barCode = ""; this.form.productCode = ""; // this.form.orderNo = null; - this.form.scanAmount = ""; + this.form.scanAmount = 0; this.form.orderAmount = ""; this.form.productDescZh = ""; this.selectMaterielList = []; @@ -428,7 +446,7 @@ export default class stoOutboundDom extends BasePage { padding: 20rpx; } - .button-bar { - } + // .button-bar { + // } } diff --git a/src/pages/product/outbound/stoOutbound/model.ts b/src/pages/product/outbound/stoOutbound/model.ts index f8d0098..bf35924 100644 --- a/src/pages/product/outbound/stoOutbound/model.ts +++ b/src/pages/product/outbound/stoOutbound/model.ts @@ -1,8 +1,14 @@ -import { Action, 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'; +import { + Action, + 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"; // import vm from '@/main'; class OrderInInfo { @@ -17,7 +23,7 @@ class OrderInInfo { namespaced: true, dynamic: true, store, - name: 'product.outbound.stoOutbound', + name: "product.outbound.stoOutbound", }) export class ReturningModule extends VuexModule { /** @@ -36,7 +42,7 @@ export class ReturningModule extends VuexModule { */ orderInInfo: OrderInInfo = new OrderInInfo(); //记账按钮的code码 - code = ''; + code = ""; /** * 查询月台列表 */ @@ -59,9 +65,9 @@ export class ReturningModule extends VuexModule { * @param orderNo */ @MutationAction - async queryOrderInInfo(stoNo: string) { + async queryOrderInInfo(nxOutCode: string) { const result = await http.post(url.outbound.stoOutbound.info, { - stoNo, + nxOutCode, deleteFlag: 2, finalState: 3, loginName: session.loginName, @@ -75,13 +81,40 @@ export class ReturningModule extends VuexModule { value: item.stoItem, ...item, })); - console.log('materielList', materielList); + console.log("materielList", materielList); if (result.data.records[0]) { result.data.records[0].stoAmount = stoAmount; } const orderInInfo = result.data.records[0] || {}; return { orderInInfo, materielList }; } + /** + * 查询订单号 + * @param nxOutCode + */ + @MutationAction + async findProdInfoByDN(nxOutCode: string) { + const result = await http.post(url.outbound.stoOutbound.findProdInfoByDN, { + nxOutCode, + loginName: session.loginName, + factoryCode: session.factoryCode, + }); + let stoAmount = 0; + result.data.forEach((item: any) => { + stoAmount += item.orderAmount; + }); + const materielList = result.data.map((item: any) => ({ + label: item.materialCode, + value: item.stoItem, + ...item, + })); + console.log("materielList", materielList); + if (result.data[0]) { + result.data[0].stoAmount = stoAmount; + } + const orderInInfo = result.data[0] || {}; + return { orderInInfo, materielList }; + } /** * 扫条码 @@ -93,12 +126,28 @@ export class ReturningModule extends VuexModule { loginName: session.loginName, }; let oneMaterielDetail: any = {}; - const { data }: any = await http.post(url.outbound.stoOutbound.checkScan, obj); - console.log('shneme a ', data.records); + const { data }: any = await http.post( + url.outbound.stoOutbound.checkScan, + obj + ); + console.log("shneme a ", data.records); oneMaterielDetail = data.records[0]; data.records[0].materialCode = list[0].productCode; data.records[0].materialDesc = list[0].productDescZh; - console.log('aaaaa', oneMaterielDetail); + console.log("aaaaa", oneMaterielDetail); + return oneMaterielDetail; + } + /** + * 扫条码 + */ + @Action + async getMaterialByCode(list: any = {}) { + let oneMaterielDetail: any = {}; + const { data }: any = await http.post( + url.outbound.stoOutbound.getMaterialByCode, + list + ); + oneMaterielDetail = data.records[0]; return oneMaterielDetail; } /** @@ -107,8 +156,30 @@ export class ReturningModule extends VuexModule { */ @MutationAction async confirm(list: any[]) { - const { code, data } = await http.post(url.outbound.stoOutbound.Bookkeeping, list); - console.log('res数据', data, code); + const { code, data } = await http.post( + url.outbound.stoOutbound.Bookkeeping, + list + ); + console.log("res数据", data, code); + // if (code == '1') { + // uni.showToast({ icon: 'success', title: msg }); + // } else { + // uni.showToast({ icon: 'none', title: msg }); + // } + const materielList: any = []; + return { code, materielList }; + } + /** + * 确认按钮 + * @param orderNo + */ + @MutationAction + async confirmMove(list: any[]) { + const { code, data } = await http.post( + url.outbound.stoOutbound.Bookkeeping, + list + ); + console.log("res数据", data, code); // if (code == '1') { // uni.showToast({ icon: 'success', title: msg }); // } else { diff --git a/src/pages/product/warehouse/wholeLnventory/index.vue b/src/pages/product/warehouse/wholeLnventory/index.vue index 4714dd3..8e45dc3 100644 --- a/src/pages/product/warehouse/wholeLnventory/index.vue +++ b/src/pages/product/warehouse/wholeLnventory/index.vue @@ -1,14 +1,21 @@ + diff --git a/src/pages/raw/handover/returning/config.ts b/src/pages/raw/handover/returning/config.ts new file mode 100644 index 0000000..1d45ca0 --- /dev/null +++ b/src/pages/raw/handover/returning/config.ts @@ -0,0 +1,21 @@ +/** + * 看单明细表格列 + */ +import vm from '@/main'; +export const headers = [ + { + label: vm.$t('message.product_barCode'), + key: 'barcode', + width: 300, + }, + { + label: vm.$t('message.product_FGCode'), + key: 'materialCode', + width: 300, + }, + { + label: vm.$t('message.product_FGDes'), + key: 'materialDesc', + width: 300, + }, +]; diff --git a/src/pages/raw/handover/returning/index.vue b/src/pages/raw/handover/returning/index.vue index 1930dc2..6b2b91a 100644 --- a/src/pages/raw/handover/returning/index.vue +++ b/src/pages/raw/handover/returning/index.vue @@ -34,6 +34,13 @@ @search="model.queryOrderInInfo" :show-action="false" > + 筛选