UNPKG

wholesale-vuex

Version:
286 lines (272 loc) 11.5 kB
import { snakeCase } from 'lodash' import humps from 'lodash-humps' import createHumps from 'lodash-humps/lib/createHumps' import { getField, updateField } from 'vuex-map-fields' import wholesalePackingListService from './wholesale_packing_list.service' const { doPostPackingBoxes, doFetchPackingBoxList, doDeleteSelectedPackingListBoxes } = wholesalePackingListService const snakes = createHumps(snakeCase) export default { namespaced: true, state: { // one: null, inProgress: true, itemsPacked: 'box', // itemsPackedTypeList: [], // selectedItemId : null, // packingBoxList: [], // new ui changes list: [], oneObj: null, isBoxBtnActive: false, isPalletBtnActive: false, itemsPackedInBoxes: [], itemsPackedInPallet: [] }, getters: { getField, }, mutations: { updateField, // setOne(state, one) { // state.one = one; // }, inProgress(state, yesOrNo) { state.inProgress = yesOrNo }, // removeBusinessEntity(state) { // if (state.one.businessEntity) // delete state.one.businessEntity // }, // setList(state, list) { // state.packingBoxList = list; // }, // setItemsTypeList(state, list) { // state.itemsPackedTypeList = list; // }, // setItemsPacked(state, data){ // state.itemsPacked = data.packedType // state.itemsPackedTypeList = [] // }, // addNewPackedTypeItem(state){ // let newitem = { // dimLength: state.one.dimLength, // dimWidth : state.one.dimWidth, // dimHeight : state.one.dimHeight, // dimUnit: state.one.dimUnit, // weightNet: state.one.weightNet, // weightUnit: state.one.weightUnit, // weightGross: state.one.weightGross // } // if(state.itemsPackedTypeList.length == 0) // newitem.id = 1 // else // newitem.id = state.itemsPackedTypeList.length + 1 // state.itemsPackedTypeList.push(newitem) // //setting to default for box / pallet properties // state.one.dimLength = '', // state.one.dimWidth = '', // state.one.dimHeight = '', // state.one.dimUnit = '' // state.one.weightNet = '' // state.one.weightUnit = '' // state.one.weightGross = '' // }, // editPackedItemType (state, data){ // //setting to ONE for box / pallet properties edit operation // state.selectedItemId = data.selectedItem.id // state.one.dimLength = data.selectedItem.dimLength, // state.one.dimWidth = data.selectedItem.dimWidth, // state.one.dimHeight = data.selectedItem.dimHeight, // state.one.dimUnit = data.selectedItem.dimUnit // state.one.weightNet = data.selectedItem.weightNet // state.one.weightUnit = data.selectedItem.weightUnit // state.one.weightGross = data.selectedItem.weightGross // }, // updatePackedItemType (state){ // let newitem = { // id: state.selectedItemId, // dimLength: state.one.dimLength, // dimWidth : state.one.dimWidth, // dimHeight : state.one.dimHeight, // dimUnit: state.one.dimUnit, // weightNet: state.one.weightNet, // weightUnit: state.one.weightUnit, // weightGross: state.one.weightGross // } // // box / pallet properties update operation // let oldList = state.itemsPackedTypeList; // oldList[state.selectedItemId-1] = newitem // //to refresh a list in ui // state.itemsPackedTypeList = [] // state.itemsPackedTypeList = oldList // //setting to default for box / pallet properties // state.one.dimLength = '', // state.one.dimWidth = '', // state.one.dimHeight = '', // state.one.dimUnit = '' // state.one.weightNet = '' // state.one.weightUnit = '' // state.one.weightGross = '' // state.selectedItemId = null // }, // modifyPackingListBox(state, data){ // if(state.itemsPackedTypeList && state.itemsPackedTypeList.length && data.packingList.id){ // let newBoxes = [] // // modifying a itemsPackedTypeList as per API requirement // state.itemsPackedTypeList.filter((box)=>{ // newBoxes.push({ // appId: data.packingList.appId, // providerBusinessEntityId : data.packingList.providerBusinessEntityId, // salesteamServiceId: data.packingList.salesteamServiceId, // purchaserBusinessEntityId: data.packingList.purchaserBusinessEntityId, // packingListId : data.packingList.id, // number : 0, // dimUnit: box.dimUnit, // dimLength: box.dimLength, // dimWidth: box.dimWidth, // dimHeight: box.dimHeight, // weightUnit: box.weightUnit, // weightNet: box.weightNet, // weightGross: box.weightGross // }) // }) // state.itemsPackedTypeList = [] // state.itemsPackedTypeList = newBoxes // } // }, // new ui changes setOneObj(state, oneObj) { state.oneObj = oneObj; }, setList(state, boxList) { state.list = boxList } }, actions: { savePackingBoxAndPallet : async ({ commit, state }, { packingList }) => { // commit('modifyPackingListBox', { packingList }); if(packingList && state.itemsPackedInBoxes.length) { for (let i = 0; i < state.itemsPackedInBoxes.length; i++) { state.itemsPackedInBoxes[i] ={ ...state.itemsPackedInBoxes[i], appId: packingList.appId, providerBusinessEntityId : packingList.providerBusinessEntityId, purchaserBusinessEntityId: packingList.purchaserBusinessEntityId, packingListId : packingList.id, shippingAddress : packingList.shippingAddress, billingAddress : packingList.billingAddress, number : 0, metadata: { type: state.itemsPacked} } } let packingBoxList = await doPostPackingBoxes(snakes(state.itemsPackedInBoxes)) commit('inProgress', false) return ({ new: true, packingBoxList: packingBoxList }) } else if(packingList && state.itemsPackedInPallet.length) { for (let i = 0; i < state.itemsPackedInPallet.length; i++) { state.itemsPackedInPallet[i] ={ ...state.itemsPackedInPallet[i], appId: packingList.appId, providerBusinessEntityId : packingList.providerBusinessEntityId, purchaserBusinessEntityId: packingList.purchaserBusinessEntityId, packingListId : packingList.id, shippingAddress : packingList.shippingAddress, billingAddress : packingList.billingAddress, number : 0, metadata: { type: state.itemsPacked} } } let packingBoxList = await doPostPackingBoxes(snakes(state.itemsPackedInPallet)) commit('inProgress', false) return ({ new: true, packingBoxList: packingBoxList }) } else { commit('inProgress', false) return ({ new: false, packingBoxList: [] }) } }, fetchList: async ({ commit}, { appId, packingListId }) => { commit('inProgress', true); try { const list = await doFetchPackingBoxList({ appId, packingListId }); if (list) { commit('setList', humps((list))); commit('inProgress', false); return humps(list) } else { commit('setList', []); commit('inProgress', false); } } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } }, // new({ commit }, { salesOrderOne }) { // commit('inProgress', false); // commit('setOneObj', { // appId: salesOrderOne.appId, // providerBusinessEntityId : salesOrderOne.providerBusinessEntityId, // purchaserBusinessEntityId: salesOrderOne.purchaserBusinessEntityId, // salesteamServiceId: salesOrderOne.salesteamServiceId, // packingListId : '', // number : '', // dimUnit: '', // dimLength: '', // dimWidth: '', // dimHeight: '', // weightUnit: '', // weightNet: '', // weightGross: '' // }); // commit('setItemsTypeList', []); // }, // savePackingBoxes : async ({ commit, state }, { packingList }) => { // commit('modifyPackingListBox', { packingList }); // if(state.itemsPackedTypeList.length) // { // let packingBoxList = await doPostPackingBoxes(snakes(state.itemsPackedTypeList)) // commit('inProgress', false) // return ({ new: true, packingBoxList: packingBoxList }) // } // }, // setItemsPacked: async ({ commit }, { packedType }) => { // commit('setItemsPacked', { packedType }); // }, // addNewPackedTypeItem: async ({ commit }) => { // commit('addNewPackedTypeItem'); // }, // editPackedItemType: async ({ commit }, { selectedItem }) => { // commit('editPackedItemType', { selectedItem }); // }, // updatePackedItemType: async ({ commit }) => { // commit('updatePackedItemType'); // }, // saveEditedItem: async ({ commit }, { editedColumn, item }) => { // // commit('updatePackedItemType'); // }, // deletePackingListBox: async ({ commit }, { packingListId }) => { // commit('inProgress', true); // try { // await doDeleteSelectedPackingListBoxes({ packingListId }); // commit('setItemsTypeList', []); // return ({ deleteSelected: true }) // } catch (err) { // return ({ deleteSelected: false }) // } // finally { // commit('inProgress', false); // } // }, // new ui changes // updateBoxList : async ({ commit }, { boxList }) => { // commit('setOneObj', { boxList }); // }, }, }