UNPKG

procurement-vuex

Version:
128 lines (126 loc) 4.7 kB
import humps from 'lodash-humps'; import paymentService from './payment.service'; const { doFetchList, doPaymentLookupList, doGetPaymentReport } = paymentService export default { namespaced: true, state: { list: [], selected: [], recordsCount: 0, inProgress: false, error: null, pendingCount: 0, paidCount: 0, pendingPaymentList: [], paidPaymentList: [] }, 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; }, setListCount(state, number) { state.recordsCount = number; }, setPaymentList(state, response){ if(response.items){ state.paidPaymentList = [] state.pendingPaymentList = [] response.items.filter((item)=>{ if(item.paid) state.paidPaymentList.push(item) else state.pendingPaymentList.push(item) }) state.pendingCount = response.pendingCount; state.paidCount = response.paidCount; }else{ state.paidPaymentList = [] state.pendingPaymentList = [] state.pendingCount = 0; state.paidCount = 0; } } }, actions: { fetchList: async ({ commit}, { appId, giverId,pageNumber, limit }) => { commit('inProgress', true); try { let offset = (pageNumber - 1) * limit; const response = await doFetchList({ appId, giverId, limit, offset }); if (response.range != null) { let 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) } }, // paymentLookupList: async ({ commit}, { filter }) => { // commit('inProgress', true); // try { // const response = await doPaymentLookupList({ filter}); // commit('setPaymentList', humps(response)); // commit('setList', humps((response.items ? response.items : []))); // commit('setListCount', Number(response.items? response.items.length : 0)); // commit('inProgress', false); // return humps((response.items)) // } // // eslint-disable-next-line no-useless-catch // catch (err) { // throw err // } // finally { // commit('inProgress', false) // } // }, fetchPaymentReportList: async ({ commit}, { purchaseOrderId }) => { commit('inProgress', true); try { // debugger // let offset = (pageNumber - 1) * limit; const response = await doGetPaymentReport({ purchaseOrderId, specs: {} }); if (response.range != null) { // debugger let 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) } }, } }