procurement-vuex
Version:
Commerce vuex module
49 lines (48 loc) • 2.15 kB
JavaScript
import humps from 'lodash-humps';
import purchaseOrderSnapshotService from './purchase_order_snapshot.service';
const { doFetchList } = purchaseOrderSnapshotService
export default {
namespaced: true,
state: {
list: [],
recordsCount: 0,
inProgress: false,
},
mutations: {
inProgress(state, yesOrNo) {
state.inProgress = yesOrNo
},
setList(state, list) {
state.list = list;
},
setListCount(state, number) {
state.recordsCount = number;
},
},
actions: {
fetchList: async ({ commit}, { appId, poNumberLike,purchaserBusinessEntityId, filterByStatus,filterByBrand, filterBySeason,filterByRetailteam, sortByDate, sortByFieldName, pageNumber, limit, filterByCurrency, filterBySalesagentBusinessEntityId, filterByProviderBusinessEntityId,seasonType,filterByOrdersProcessingState }) => {
commit('inProgress', true);
try {
let response = await doFetchList({ appId, poNumberLike,purchaserBusinessEntityId, filterByStatus,filterByBrand, filterBySeason,filterByRetailteam, sortByDate, sortByFieldName, pageNumber, limit, filterByCurrency, filterBySalesagentBusinessEntityId, filterByProviderBusinessEntityId,seasonType,filterByOrdersProcessingState });
if (response.range != null) {
let recordsCount = response.range.split("/");
commit('setListCount', Number(recordsCount[1]));
const list = await response.data;
if (list) {
let orderList=list.map((item)=>item.details)
commit('inProgress', false)
commit('setList', humps((orderList)));
return humps(orderList)
}
} else
commit('setList', []);
commit('inProgress', false)
} catch (err) {
throw 'error'
}
finally {
commit('inProgress', false);
}
},
}
}