From 39a15ee2886c6eed0d14cbb5ea9024416974c1a4 Mon Sep 17 00:00:00 2001 From: hou <1601990943@qq.com> Date: Wed, 29 Jun 2022 17:45:54 +0800 Subject: [PATCH] =?UTF-8?q?cosmoim-852=20fix=20=E4=BF=84=E7=BD=97=E6=96=AF?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=8A=E6=88=90=E5=93=81SO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/lang/cn.ts | 2 + src/i18n/lang/en.ts | 2 + src/pages.json | 24 + .../outbound/stoOutbound/DN-delivergoods.vue | 10 +- .../Semi-finished/Semi-finished-SO/config.ts | 78 +++ .../Semi-finished/Semi-finished-SO/detail.vue | 73 +++ .../Semi-finished/Semi-finished-SO/index.vue | 552 ++++++++++++++++++ .../Semi-finished/Semi-finished-SO/model.ts | 211 +++++++ src/pages/raw/Semi-finished/index.vue | 129 ++++ src/utils/page.ts | 6 + src/utils/url.ts | 2 + 11 files changed, 1088 insertions(+), 1 deletion(-) create mode 100644 src/pages/raw/Semi-finished/Semi-finished-SO/config.ts create mode 100644 src/pages/raw/Semi-finished/Semi-finished-SO/detail.vue create mode 100644 src/pages/raw/Semi-finished/Semi-finished-SO/index.vue create mode 100644 src/pages/raw/Semi-finished/Semi-finished-SO/model.ts create mode 100644 src/pages/raw/Semi-finished/index.vue diff --git a/src/i18n/lang/cn.ts b/src/i18n/lang/cn.ts index 64126fb..3c465de 100644 --- a/src/i18n/lang/cn.ts +++ b/src/i18n/lang/cn.ts @@ -494,5 +494,7 @@ export default { Quantity: '需求数量', scanningContainer: '请先扫描容器码', Pi_tipqty: '请确保等于需求数量', + SemiFinished: '半成品', + SemiFinished_SO: '半成品SO', }, }; diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts index db82384..6272bc9 100644 --- a/src/i18n/lang/en.ts +++ b/src/i18n/lang/en.ts @@ -501,5 +501,7 @@ export default { Quantity: 'Request', scanningContainer: 'Please scan the container code first', Pi_tipqty: 'Please make sure it is equal to the required quantity', + SemiFinished: 'Semi-finished', + SemiFinished_SO: 'Semi-finished SO', }, }; diff --git a/src/pages.json b/src/pages.json index f7a5abf..ec59fb2 100644 --- a/src/pages.json +++ b/src/pages.json @@ -938,6 +938,30 @@ "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 } }, + { + "path": "pages/raw/Semi-finished/index", + "style": { + "navigationBarTitleText": "半成品", + "navigationStyle": "custom", // 隐藏系统导航栏 + "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 + } + }, + { + "path": "pages/raw/Semi-finished/Semi-finished-SO/index", + "style": { + "navigationBarTitleText": "半成品SO", + "navigationStyle": "custom", // 隐藏系统导航栏 + "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 + } + }, + { + "path": "pages/raw/Semi-finished/Semi-finished-SO/detail", + "style": { + "navigationBarTitleText": "半成品SO明细", + "navigationStyle": "custom", // 隐藏系统导航栏 + "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 + } + }, { "path": "pages/raw/ingoods/SpareInbound/Inbound/index", "style": { diff --git a/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue b/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue index 084f1f4..112be4f 100644 --- a/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue +++ b/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue @@ -294,12 +294,20 @@ export default class stoOutboundDom extends BasePage { this.customToast(this.$t('message.barcode') as string); return; } + let order3: any = ''; + this.model.materielList.forEach((item: any) => { + if (this.form.rowItem == item.materialCode) { + order3 = item.nxOutCode; + return; + } + }); const selctlist = { barcode: this.form.barCode, loginName: session.loginName, factoryCode: session.factoryCode, keepBy: session.loginName, - order3: this.form.orderNo, + // order3: this.form.orderNo, + order3: order3, orderItem: this.form.row, type: 0, orderType: 4, diff --git a/src/pages/raw/Semi-finished/Semi-finished-SO/config.ts b/src/pages/raw/Semi-finished/Semi-finished-SO/config.ts new file mode 100644 index 0000000..e878c23 --- /dev/null +++ b/src/pages/raw/Semi-finished/Semi-finished-SO/config.ts @@ -0,0 +1,78 @@ +/* + * @Author: zhou lei + * @Date: 2021-11-11 11:09:57 + * @LastEditTime: 2021-12-14 10:13:18 + * @LastEditors: zhou lei + * @Description: + * @FilePath: /wms_haiwai_app/src/pages/raw/commission/goOut/config.ts + * 联系方式:910592680@qq.com 18669792120 科海达信息技术有限公司 + */ +/** + * 看单明细表格列 + */ +import vm from '@/main'; +export const headers = [ + { + label: vm.$t('message.Pi_OrderNo'), + key: 'order1', + width: 200, + }, + { + label: vm.$t('message.Line'), + key: 'order2', + width: 200, + }, + { + label: vm.$t('message.matcode'), + key: 'productCode', + width: 300, + }, + { + label: vm.$t('message.po_MaterielDes'), + key: 'productDescZh', + width: 430, + }, + { + label: vm.$t('message.product_barCode'), + key: 'barcode', + width: 260, + }, + { + label: vm.$t('message.CommissionedLocation'), + key: 'locCode', + width: 200, + }, + { + label: vm.$t('message.Operation'), + key: 'createdBy', + width: 200, + }, + { + label: vm.$t('message.operatingTime'), + key: 'createdDate', + width: 470, + }, +]; + +export const detailHeader = [ + { + label: vm.$t('message.po_MaterielNo'), + key: 'materialCode', + width: 301, + }, + { + label: vm.$t('message.CommissionedLocation'), + key: 'locCode', + width: 186, + }, + { + label: vm.$t('message.product_Number'), + key: 'qty', + width: 186, + }, + { + label: vm.$t('message.product_barCode'), + key: 'barcode', + width: 300, + }, +]; diff --git a/src/pages/raw/Semi-finished/Semi-finished-SO/detail.vue b/src/pages/raw/Semi-finished/Semi-finished-SO/detail.vue new file mode 100644 index 0000000..5d28ef7 --- /dev/null +++ b/src/pages/raw/Semi-finished/Semi-finished-SO/detail.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/pages/raw/Semi-finished/Semi-finished-SO/index.vue b/src/pages/raw/Semi-finished/Semi-finished-SO/index.vue new file mode 100644 index 0000000..d2cc281 --- /dev/null +++ b/src/pages/raw/Semi-finished/Semi-finished-SO/index.vue @@ -0,0 +1,552 @@ + + + diff --git a/src/pages/raw/Semi-finished/Semi-finished-SO/model.ts b/src/pages/raw/Semi-finished/Semi-finished-SO/model.ts new file mode 100644 index 0000000..1c22c49 --- /dev/null +++ b/src/pages/raw/Semi-finished/Semi-finished-SO/model.ts @@ -0,0 +1,211 @@ +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 { + stoAmount?: 0; + stoNo?: string; //STO采购单号 + orderAmount?: string; //单据总数 + Allocated?: string; //已分配 + Unallocated?: string; //未分配 +} + +@Module({ + namespaced: true, + dynamic: true, + store, + name: 'product.outbound.Semi-finished-SO', +}) +export class ReturningModule extends VuexModule { + /** + * 月台列表 + */ + returningTypeList: any[] = []; + detailedList: any; + /** + * 物料列表 + */ + materielList: any[] = []; + locationCodeList: any[] = []; + LocList: any[] = []; + //条码扫描的返回的结果 + oneMaterielDetail: any = {}; + /** + * 订单号查询结果 + */ + orderInInfo: OrderInInfo = new OrderInInfo(); + //记账按钮的code码 + code = ''; + /** + * 委外出库单号查询 + * @param orderNo + */ + @Action + async queryOrder(form: any) { + const result = await http.post(url.material.commission.goOut.queryOrder, { + ...form, + loginName: session.loginName, + factoryCode: session.factoryCode, + }); + const orderInInfo = result.data.records[0] || {}; + return { orderInInfo }; + } + /** + * 库位 + */ + // @MutationAction + // async queryByFactoryCodeAndWorkAreaCode() { + // const list: [] = await http.post(url.material.commission.goOut.queryByFactoryCodeAndWorkAreaCode, { + // factoryCode: session.factoryCode, + // whCode: session.warehouseCode, + // loginName: session.loginName, + // }); + // const locationCodeList = list.map((item: any) => ({ + // label: item.locationCode, + // value: item.locationCode, + // })); + // return { locationCodeList }; + // } + /** + * 获取物料 + * + * @returns + * @memberof ReturningModule + */ + @MutationAction + async outInfo(poNo: string) { + const list: [] = await http.post(url.material.commission.goOut.outInfo, { + factoryCode: session.factoryCode, + poNo: poNo, + loginName: session.loginName, + }); + const locationCodeList = list.map((item: any) => ({ + label: item.locationCode, + value: item.locationCode, + })); + return { locationCodeList }; + } + + /** + * 提交 + */ + @Action + async materialComplete(form: any) { + const res = await http.post(url.material.commission.goOut.materialComplete, { + factoryCode: session.factoryCode, + loginName: session.loginName, + ...form, + }); + console.log(res, '>>>>>res'); + } + + /** + * 扫条码 + */ + @Action + async tluSubmit(list: any[]) { + const obj = { + barcode: list[0].barCode, + loginName: session.loginName, + }; + let oneMaterielDetail: any = {}; + 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); + return oneMaterielDetail; + } + /** + * 确认按钮 + * @param orderNo + */ + @MutationAction + async confirm(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 { + // uni.showToast({ icon: 'none', title: msg }); + // } + const materielList: any = []; + return { code, materielList }; + } + //委外出库 关闭订单 + @MutationAction + async closeCode(poNo: any) { + const res: any = await http.post(url.outbound.stoOutbound.close, { + poNo, + loginName: session.loginName, + factoryCode: session.factoryCode, + }); + const code: any = res.code; + return { code }; + } + + //委外出库 初始化获取库位 + // @Action({ commit: 'updateCheckedOrderInInfoListKw' }) + @MutationAction + async queryCodeAndWorkAreaCode(content: any) { + const res: any = await http.post('/wmspda/fg/queryByFactoryCodeAndWorkAreaCode', content); + console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', res); + const LocList = res; + console.log('LocList', LocList); + return { LocList }; + } + @MutationAction + async queryItemLoc(params: any = {}) { + const res: any = await http.post(url.sortscan.save.queryWlByMat, params); + const LocList = []; + res.forEach((item: any) => { + const arr: any = { + label: item.locationCode, + value: item.locationCode + '(' + item.sendSpot + ')' + '(' + item.amount + ')', + }; + LocList.push(arr); + }); + return { LocList }; + } + @Action + async queryOutsourcing(nxOutCode: any) { + const res = await http.post(url.outbound.stoOutbound.findSfgInfoByDN, { + nxOutCode, + loginName: session.loginName, + factoryCode: session.factoryCode, + }); + return res; + } + + @Action + async submitOutsourcing(upload: any) { + const res = await http.post(url.outbound.stoOutbound.confirmSfgDeliver, upload); + return res; + } + //查询明细 + @Action({ commit: 'updateCheckedOrderInInfoListKw' }) + async querydetaildlist(content: any) { + const res: any = await http.post('/wmspda/fg/querySfgListInfoByDnNo/russia', content); + console.log('明细》》》》》》》》》', res.list); + this.detailedList = res.data; + return res; + } + ContainerCode: any = ''; + @MutationAction + async searchBarcode(params: any) { + const res: any = await http.post(url.auth.query.barcode, { + factoryCode: session.factoryCode, + loginName: session.loginName, + barcode: params.barcode, + productCode: params.productCode, + }); + const ContainerCode = res.data; + return { ContainerCode }; + } +} + +export default getModule(ReturningModule); diff --git a/src/pages/raw/Semi-finished/index.vue b/src/pages/raw/Semi-finished/index.vue new file mode 100644 index 0000000..a373897 --- /dev/null +++ b/src/pages/raw/Semi-finished/index.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/src/utils/page.ts b/src/utils/page.ts index 6bbeda7..c487945 100644 --- a/src/utils/page.ts +++ b/src/utils/page.ts @@ -190,6 +190,12 @@ export const page = { detail: '/pages/raw/commission/goOut/detail', }, }, + SemiFinished: { + SemiFinishedSO: { + index: '/pages/raw/Semi-finished/Semi-finished-SO/index', + detail: '/pages/raw/Semi-finished/Semi-finished-SO/detail', + }, + }, }, SemiProduct: { index: '/pages/SemiProduct/index', diff --git a/src/utils/url.ts b/src/utils/url.ts index e1888cd..c1ba866 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -147,7 +147,9 @@ export const url = { submit: '/wmspda/material/outsourcing/into/materialComplete', materialComplete: '/wmspda/material/outsourcing/materialComplete', materialCompleteRussia: '/wmspda/material/outsourcing/materialComplete/russia', + confirmSfgDeliver: '/wmspda/fg/confirmSfgDeliver/russia', outsourcingQueryOrder: '/wmspda/material/outsourcing/queryOrder', + findSfgInfoByDN: '/wmspda/fg/findSfgInfoByDN/russia', getDetailByorderNo: '/wmspda/fg/queryListInfoByDnNo', scanBarcodeDN: '/wmspda/fg/scanBarcodeDN/del', queryAmount: '/wmspda/fg/queryAmountByDn',