diff --git a/src/pages.json b/src/pages.json index f4983fe..ab62c3a 100644 --- a/src/pages.json +++ b/src/pages.json @@ -487,6 +487,30 @@ "navigationStyle": "custom", "navigationBarTextStyle": "white" } + }, + { + "path": "pages/wms/product/SalesReturn/index", + "style": { + "navigationBarTitleText": "成品销售退货", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, + { + "path": "pages/wms/product/SalesReturn/detail", + "style": { + "navigationBarTitleText": "成品销售退货托盘箱码关系", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, + { + "path": "pages/wms/product/TransferWarehouse/index", + "style": { + "navigationBarTitleText": "成品调拨出库", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } } diff --git a/src/pages/wms/product/OfflineStorage/detail.vue b/src/pages/wms/product/OfflineStorage/detail.vue index 3aa17cc..0819459 100644 --- a/src/pages/wms/product/OfflineStorage/detail.vue +++ b/src/pages/wms/product/OfflineStorage/detail.vue @@ -2,7 +2,7 @@ - + 托盘箱码关系 @@ -37,7 +37,7 @@ - 返回 + 返回 @@ -74,6 +74,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/salesreturn'; @Component({ components: { jPicker, @@ -142,6 +143,13 @@ export default class OfflineStoragedetail extends BasePage { return; } } + returntrue() { + const cacheData = usedata.salesreturndata; + const list = cacheData?.list; + list[cacheData?.index].number = this.list.length; + usedata.cacheData({ list: list, index: cacheData?.index, kuwei: cacheData.kuwei }); + uni.navigateBack({}); + } } diff --git a/src/pages/wms/product/SalesReturn/index.vue b/src/pages/wms/product/SalesReturn/index.vue new file mode 100644 index 0000000..b26959e --- /dev/null +++ b/src/pages/wms/product/SalesReturn/index.vue @@ -0,0 +1,756 @@ + + + diff --git a/src/pages/wms/product/SalesReturn/model.ts b/src/pages/wms/product/SalesReturn/model.ts new file mode 100644 index 0000000..cb95c64 --- /dev/null +++ b/src/pages/wms/product/SalesReturn/model.ts @@ -0,0 +1,96 @@ +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.product.SalesReturn', +}) +// http.defaults.headers.common['poolName'] = session.PoolName; +export class SalesReturn extends VuexModule { + WlList = []; + orderNoItemList: any = []; + @MutationAction + async queryOrderNo(orderNo: any) { + const result: any = await http.post(url.lanjuwms.product.SalesReturn.FinishedProductSalesReturn, { + productOrder: orderNo, + factoryCode: session.FactoryCode, + }); + const orderNoItemList = result.data; + return { orderNoItemList }; + } + productCodeList: any = []; + @MutationAction + async list(orderNo: any) { + const result: any = await http.get(url.lanjuwms.product.OfflineStorage.list + '/' + orderNo, {}); + const productCodeList = result.data; + return { productCodeList }; + } + SubmitCode: any = ''; + @MutationAction + async insertTary(params: any) { + const result: any = await http.post(url.lanjuwms.product.OfflineStorage.insertTary, params); + const SubmitCode = result.code; + return { SubmitCode }; + } + @MutationAction + async deleteTray(item: any) { + console.log(item); + const result: any = await http.delete(url.lanjuwms.product.OfflineStorage.deleteTray + '/' + item.sn + '/' + item.orderNo); + const SubmitCode = result.code; + return { SubmitCode }; + } + @MutationAction + async handPut(params: any) { + const result: any = await http.post(url.lanjuwms.product.SalesReturn.FinishedProductSalesReturnConfirm, 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 }; + } + 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(SalesReturn); diff --git a/src/pages/wms/product/TransferWarehouse/index.vue b/src/pages/wms/product/TransferWarehouse/index.vue new file mode 100644 index 0000000..8e59353 --- /dev/null +++ b/src/pages/wms/product/TransferWarehouse/index.vue @@ -0,0 +1,722 @@ + + + diff --git a/src/pages/wms/product/TransferWarehouse/model.ts b/src/pages/wms/product/TransferWarehouse/model.ts new file mode 100644 index 0000000..05b05ed --- /dev/null +++ b/src/pages/wms/product/TransferWarehouse/model.ts @@ -0,0 +1,71 @@ +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.product.TransferWarehouse', +}) +export class TransferWarehouse extends VuexModule { + orderNoItemList: any = []; + @MutationAction + async showProduceCode(orderNo: any) { + const result: any = await http.post(url.lanjuwms.product.TransferWarehouse.selectFinishedProductTransferAndOutbound, { + deliveryOrder: orderNo, + factoryCode: session.FactoryCode, + }); + const orderNoItemList = result.data; + return { orderNoItemList }; + } + + SubmitCode: any = ''; + @MutationAction + async selloutconntray(params: any) { + const result: any = await http.post(url.lanjuwms.product.SaleOutWH.selloutconntray, params); + const SubmitCode = result.code; + return { SubmitCode }; + } + @MutationAction + async out(params: any) { + const result: any = await http.post(url.lanjuwms.product.TransferWarehouse.confirmFinishedProductTransferAndOutbound, params); + const SubmitCode = result.code; + return { SubmitCode }; + } + scanCode: any = ''; + scandatalist: any = []; + scandata: any = {}; + //整托 + @MutationAction + async ScanCodeWholePallet(params: any) { + const result: any = await http.post(url.lanjuwms.product.SaleOutWH.ScanCodeWholePallet, params); + const scanCode = result.code; + const scandatalist = result.data; + return { scanCode, scandatalist }; + } + //单箱 + @MutationAction + async ScanCodeSingleBox(params: any) { + const result: any = await http.post(url.lanjuwms.product.SaleOutWH.ScanCodeSingleBox, params); + const scanCode = result.code; + const scandata = result.data; + return { scanCode, scandata }; + } + 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(TransferWarehouse); diff --git a/src/store/use/salesreturn.ts b/src/store/use/salesreturn.ts new file mode 100644 index 0000000..4a6eff2 --- /dev/null +++ b/src/store/use/salesreturn.ts @@ -0,0 +1,28 @@ +import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators'; +import store from '@/store'; + +export interface salesreturn { + kuwei?: string; + list?: any[]; + index?: string; + //rowitem?: string; +} +@Module({ + dynamic: true, + store, + namespaced: true, + name: 'data', +}) +class usedataService extends VuexModule { + salesreturndata: salesreturn | null = null; + @Mutation + salesreturn(data: salesreturn) { + this.salesreturndata = data; + } + + @Action + cacheData(data: salesreturn) { + this.context.commit('salesreturn', data); + } +} +export const usedata = getModule(usedataService); diff --git a/src/utils/page.ts b/src/utils/page.ts index ced89c4..e7f85b6 100644 --- a/src/utils/page.ts +++ b/src/utils/page.ts @@ -39,5 +39,8 @@ export const page = { WhiteOutstorage: '/pages/wms/WhiteManagement/WhiteOutstorage/index', TransferInlibrary: '/pages/wms/WhiteManagement/TransferInlibrary/index', WhiteReturn: '/pages/wms/WhiteManagement/WhiteReturn/index', + SalesReturn: '/pages/wms/product/SalesReturn/index', + SalesReturndetail: '/pages/wms/product/SalesReturn/detail', + TransferWarehouse: '/pages/wms/product/TransferWarehouse/index', }, }; diff --git a/src/utils/url.ts b/src/utils/url.ts index 25d58b3..6932e2a 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -74,6 +74,14 @@ export const url = { //销售出库确认 confirmFinishedProductSales: qianzhuione + '/wms/WmsToWCSmission/confirmFinishedProductSales', }, + SalesReturn: { + FinishedProductSalesReturn: qianzhuione + '/wms/WmsToWCSmission/FinishedProductSalesReturn', + FinishedProductSalesReturnConfirm: qianzhuione + '/wms/WmsToWCSmission/FinishedProductSalesReturnConfirm', + }, + TransferWarehouse: { + selectFinishedProductTransferAndOutbound: qianzhuione + '/wms/WmsToWCSmission/selectFinishedProductTransferAndOutbound', + confirmFinishedProductTransferAndOutbound: qianzhuione + '/wms/WmsToWCSmission/confirmFinishedProductTransferAndOutbound', + }, }, raw: { ReceivePO: {