wholesale-vuex
Version:
Commerce vuex module
121 lines (114 loc) • 4.09 kB
JavaScript
import humps from 'lodash-humps';
import wholesaleOrderItemService from './wholesale_order_item.service';
const { doFetchList ,doFetchStyleRefItems} = wholesaleOrderItemService
export default {
namespaced: true,
state: {
list: [],
dateWiseiList: [],
selected: [],
recordsCount: 0,
inProgress: false,
error: null,
styleRefList:[],
styleRefListItems:[]
},
mutations: {
inProgress(state, yesOrNo) {
state.inProgress = yesOrNo
},
setList(state, list) {
/*state.selected = [];
for (let i in state.list) {
state.selected.push(false);
state.selected[i] = false;
}*/
state.list = list;
/* let newData=[...list];
state.dateWiseiList=[];
for(var i=0 ; i < newData.length ;i++)
{
var newObj={};
newObj['shipmentStartDate']=newData[i].shipmentStartDate;
newObj['shipmentCancelDate']=newData[i].shipmentCancelDate;
newObj['list']=[];
(newObj.list).push(newData[i]);
state.dateWiseiList.push(newObj);
for(var j= i+1 ; j < newData.length ;j++)
{
if(state.dateWiseiList[i].shipmentStartDate === newData[j].shipmentStartDate && state.dateWiseiList[i].shipmentCancelDate ===newData[j].shipmentCancelDate)
{
(state.dateWiseiList[i].list).push(newData[j]);
newData.splice(j, 1);
}
}
}*/
},
setListCount(state, number) {
state.recordsCount = number;
},
setStyleRefItems(state, list) {
if(list.length > 0)
{
let arrayMap= list.map( (obj) => obj.variantsRefCode).filter( (obj) => obj);
state.styleRefListItems =[...new Set(arrayMap)];
}
else
{
state.styleRefListItems=[]
}
},
},
actions: {
fetchList: async({ commit }, { nameLike,wholesaleOrderId, appId, pageNumber, limit,date, styleRef }) => {
commit('inProgress', true)
try {
const offset = (pageNumber - 1) * limit
const response = await doFetchList({ nameLike,wholesaleOrderId, appId, limit, offset,date, styleRef })
if (response.range !== null) {
const recordsCount = response.range.split('/')
commit('setListCount', Number(recordsCount[1]))
const list = await response.data
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)
}
},
fetchStyleRefItems: async({ commit }, { nameLike,wholesaleOrderId, appId, styleRefItems}) => {
commit('inProgress', true)
try {
const response = await doFetchStyleRefItems({ nameLike,wholesaleOrderId, appId,styleRefItems })
if (response) {
const list = await response.data
if (list) {
commit('setStyleRefItems', humps((list)))
commit('inProgress', false)
return (humps(list))
} else
commit('setStyleRefItems', [])
commit('inProgress', false)
return []
}
}
// eslint-disable-next-line no-useless-catch
catch (err) {
throw err
}
finally {
commit('inProgress', false)
}
},
}
}