From 7e03f8332df797a97fa985bd1e7f591b59c91ac7 Mon Sep 17 00:00:00 2001 From: guoshuang Date: Tue, 25 Oct 2022 11:45:43 +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=E4=B8=8D=E8=89=AF=E5=93=81=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/lang/cn.ts | 4 +- src/i18n/lang/en.ts | 4 +- src/i18n/lang/ru.ts | 4 +- src/pages.json | 8 + .../raw/LineSide/rejectsOffline/index.vue | 255 ++++++++++++++++++ .../raw/LineSide/rejectsOffline/model.ts | 202 ++++++++++++++ src/utils/url.ts | 2 + 7 files changed, 476 insertions(+), 3 deletions(-) create mode 100644 src/pages/raw/LineSide/rejectsOffline/index.vue create mode 100644 src/pages/raw/LineSide/rejectsOffline/model.ts diff --git a/src/i18n/lang/cn.ts b/src/i18n/lang/cn.ts index d4a1d7c..4ba1eed 100644 --- a/src/i18n/lang/cn.ts +++ b/src/i18n/lang/cn.ts @@ -507,6 +507,8 @@ export default { CausesOfDefects: '不良原因', PleaseOne: '请输入责任人', PleaseTwo: '请输入不良原因', - ManualOffline: '半成品手动下线', + rejectsOffline: '不良品下线', + ResponsibleProcess: '责任工序', + PleaseThere: '请输入责任工序', }, }; diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts index a39a1bd..b381f0b 100644 --- a/src/i18n/lang/en.ts +++ b/src/i18n/lang/en.ts @@ -507,6 +507,8 @@ export default { CausesOfDefects: 'Causes of defects', PleaseOne: 'Please enter the responsible person', PleaseTwo: 'Please enter the cause of the defect', - ManualOffline: 'Manual offline of semi-finished products', + rejectsOffline: 'Defective products offline', + ResponsibleProcess: 'Responsible process', + PleaseThere: 'Please enter the responsible operation', }, }; diff --git a/src/i18n/lang/ru.ts b/src/i18n/lang/ru.ts index a5b4371..f1e1a42 100644 --- a/src/i18n/lang/ru.ts +++ b/src/i18n/lang/ru.ts @@ -507,6 +507,8 @@ export default { CausesOfDefects: 'нежелательная причина', PleaseOne: 'Введите ответственное лицо', PleaseTwo: 'Введите причину неисправности', - ManualOffline: 'ручной спуск полуфабриката', + rejectsOffline: 'нижняя линия дефекта', + ResponsibleProcess: 'ответственная операция', + PleaseThere: 'Введите ответственную операцию', }, }; diff --git a/src/pages.json b/src/pages.json index f3a60fb..c29b941 100644 --- a/src/pages.json +++ b/src/pages.json @@ -1242,6 +1242,14 @@ "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 } }, + { + "path": "pages/raw/LineSide/rejectsOffline/index", + "style": { + "navigationBarTitleText": "不良品下线", + "navigationStyle": "custom", // 隐藏系统导航栏 + "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一 + } + }, { "path": "pages/product/STO-Outbound/index", "style": { diff --git a/src/pages/raw/LineSide/rejectsOffline/index.vue b/src/pages/raw/LineSide/rejectsOffline/index.vue new file mode 100644 index 0000000..092a2b8 --- /dev/null +++ b/src/pages/raw/LineSide/rejectsOffline/index.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/src/pages/raw/LineSide/rejectsOffline/model.ts b/src/pages/raw/LineSide/rejectsOffline/model.ts new file mode 100644 index 0000000..07911f9 --- /dev/null +++ b/src/pages/raw/LineSide/rejectsOffline/model.ts @@ -0,0 +1,202 @@ +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 { page } from '@/utils/page'; + +class OrderInInfo { + productDescZh?: string; + qty?: string; + custCode?: string; + custCodeName?: string; + productCode?: string; + locCode?: string; + barcode?: string; + costCenter?: string; +} + +@Module({ + namespaced: true, + dynamic: true, + store, + name: 'raw.LineSide.rejectsOffline', +}) +export class wholeScrap extends VuexModule { + /** + * 库位地点列表 + */ + WlList = []; + code: any = ''; + delCode: any = ''; + recordsList: any = []; + choiceCodeList: any = []; + materielList: any = []; + /** + * 物料型号类型 + */ + // modelType = [ + // { label: '内销', value: '0' }, + // { label: '外销', value: '1' }, + // { label: '样机', value: '2' }, + // { label: '半成品', value: '4' }, + // ]; + /** + * 隐藏看单号 + */ + dnNo = ''; + /** + * 看单号查询结果 + */ + orderInInfo: OrderInInfo = new OrderInInfo(); + + // /** + // * 更新看单明细库位 + // * @param kw 库位 + // */ + // @Mutation + // updateOrderInInfoListKw(kw: string) { + // this.orderInInfoList = this.orderInInfoList.map((item) => { + // item.kw = kw; + // return item; + // }); + // } + + /** + * 查询库位列表 + */ + @MutationAction + async queryLocation() { + const result: any = await http.get(url.warehouse.wholeTransfer.list, { + params: { + // factoryCode: '1999', + factoryCode: session.factoryCode, + loginName: session.loginName, + // loginName: '1999', + }, + }); + // console.log('库位数据',result) + const WlList = result.data.map((_: any) => ({ + label: _.locationCode, + value: _.locationCode, + })); + return { WlList }; + } + + /** + * 查询单号 + * 查询DN单号 + * @param dnNo + */ + resdata: any = {}; + @MutationAction + async getInfoByDoorBarcode(params: any) { + const res: any = await http.post(url.warehouse.wholeTransfer.getInfoByDoorBarcode, params); + const resdata = res.data; + const code = res.code; + return { code, resdata }; + } + //确认 + @MutationAction + async scrapSfgOfflineConfirm(params: any) { + const res: any = await http.post(url.warehouse.wholeTransfer.scrapSfgOfflineConfirm, params); + const code = res.code; + return { code }; + } + @MutationAction + async onTakeoutConfirm(list: any) { + const records: any = await http.post(url.warehouse.rowTransfer.commit, list); + const code = records.code; + return { code }; + } + /** + * 查询明细 + * 查询DN单号 + * @param dnNo + */ + @MutationAction + async queryDetailed(proMoveCode: any) { + const { code, data } = await http.post(url.warehouse.rowTransfer.queryListByMoveCode, { + proMoveCode, + factoryCode: session.factoryCode as string, + loginName: session.loginName as string, + }); + const materielList = data; + return { materielList, code }; + } + /** + * 关单 + * 查询DN单号 + * @param dnNo + */ + @MutationAction + async close(proMoveCode: any) { + const { code } = await http.post(url.warehouse.rowTransfer.close, { + factoryCode: session.factoryCode as string, + loginName: session.loginName as string, + proMoveCode, + }); + //const materielList = data; + return { code }; + } + + @MutationAction + async queryScrapList(param: any) { + const res: any = await http.post(url.warehouse.rowTransfer.list, param); + const code = res.code; + console.log('res', res); + const recordsList = res.data.records; + const choiceCodeList = []; + recordsList.forEach((item: any) => { + const arr: any = {}; + arr.label = item.productCode; + arr.value = item.productCode; + choiceCodeList.push(arr); + }); + console.log('choiceCodeList', choiceCodeList); + return { code, recordsList, choiceCodeList }; + } + // /** + // * 提交看单明细 + // */ + // @MutationAction + // async submitOrderInEnter() { + // const list = (this.state as any).orderInInfoList.map((item: any) => { + // item.orderStatus = item.checked ? '2' : '1'; + // item.requestAmount = item.checked ? item.y : '0'; + // return item; + // }); + // const result: any = await http.post(url.material.DNorderin.enter, { + // dnNo: this.dnNo, + // factoryCode: '1999', + // loginName: '1999', + // list, + // }); + // uni.showToast({ + // icon: 'none', + // title: result.msg, + // }); + // const orderInInfoList = result.list.sort( + // (a: any, b: any) => Number(a.accountingStatus) - Number(b.accountingStatus), + // ); + // return { orderInInfoList }; + // } + + /** + * 修改库位 + */ + @Action({ commit: 'updateCheckedOrderInInfoListKw' }) + async changeOrderInLocation(kw: string) { + await http.post('/wmspda/material/orderin/enter', { + loginName: session.loginName, + // loginName: '1999', + warehouseCode: '', + factoryCode: session.factoryCode, + // factoryCode: '1999', + locationCode: kw, + }); + return kw; + } +} + +export default getModule(wholeScrap); diff --git a/src/utils/url.ts b/src/utils/url.ts index 3f37282..60d1fd7 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -289,6 +289,8 @@ export const url = { scanBox: '/wmspda/sparePart/scanBox', saleScan: '/wmspda/fg/sparepart/sale/scan', querySpareListInfoByDnNo: '/wmspda/fg/querySpareListInfoByDnNo', + getInfoByDoorBarcode: '/wmspda/fg/getInfoByDoorBarcode', + scrapSfgOfflineConfirm: '/wmspda/fg/scrapSfgOfflineConfirm', }, wholeLnventory: { content: '/wmspda/fg/findMaterialByPddNo',