procurement-vuex
Version:
Commerce vuex module
78 lines (76 loc) • 2.27 kB
JavaScript
import humps from "lodash-humps";
import paymentRecordsService from "./purchase_order_payment_record.service";
const { doFetchList, doPaymentRecordLookupList } =
paymentRecordsService;
export default {
namespaced: true,
state: {
list: [],
selected: [],
recordsCount: 0,
inProgress: false,
error: null,
},
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;
},
},
actions: {
fetchList: async ({ commit }, { appId, businessId, pageNumber, limit }) => {
// debugger
// commit("inProgress", true);
// try {
// let offset = (pageNumber - 1) * limit;
// const response = await doFetchList({ appId, businessId, 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);
// }
// } catch (err) {
// // eslint-disable-next-line no-useless-catch
// throw err;
// } finally {
// commit("inProgress", false);
// }
// },
},
paymentRecordLookupList: async ({ commit }, { filter }) => {
commit("inProgress", true);
try {
const response = await doPaymentRecordLookupList({ 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);
} catch (err) {
// eslint-disable-next-line no-useless-catch
throw err;
} finally {
commit("inProgress", false);
}
},
},
};