mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 14:50:32 +00:00
feat: payment receive and made form.
This commit is contained in:
@@ -109,17 +109,30 @@ export const fetchPaymentMade = ({ id }) => {
|
||||
paymentMade: response.data.bill_payment,
|
||||
},
|
||||
});
|
||||
dispatch({
|
||||
type: t.BILLS_ITEMS_SET,
|
||||
payload: {
|
||||
bills: response.data.payable_bills,
|
||||
},
|
||||
});
|
||||
dispatch({
|
||||
type: t.BILLS_PAYABLE_BY_PAYMENT_ID,
|
||||
payload: {
|
||||
billPaymentId: id,
|
||||
bills: response.data.bill_payment.payable_bills,
|
||||
billPaymentId: response.data.bill_payment.id,
|
||||
bills: response.data.payable_bills,
|
||||
},
|
||||
});
|
||||
dispatch({
|
||||
type: t.BILLS_ITEMS_SET,
|
||||
payload: {
|
||||
bills: response.data.bill_payment.payable_bills,
|
||||
bills: response.data.payment_bills,
|
||||
},
|
||||
});
|
||||
dispatch({
|
||||
type: t.BILLS_BY_PAYMENT_ID,
|
||||
payload: {
|
||||
billPaymentId: response.data.bill_payment.id,
|
||||
bills: response.data.payment_bills,
|
||||
},
|
||||
});
|
||||
resovle(response);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { createSelector } from '@reduxjs/toolkit';
|
||||
import { pickItemsFromIds, paginationLocationQuery } from 'store/selectors';
|
||||
|
||||
|
||||
import { transformToObject } from 'utils';
|
||||
|
||||
const paymentMadeTableQuery = (state) => state.paymentMades.tableQuery;
|
||||
|
||||
@@ -10,21 +9,19 @@ const paymentMadesPageSelector = (state, props, query) => {
|
||||
return state.paymentMades.views?.[viewId]?.pages?.[query.page];
|
||||
};
|
||||
|
||||
const paymentMadesItemsSelector = (state) => {
|
||||
return state.paymentMades.items;
|
||||
};
|
||||
const paymentMadesItemsSelector = (state) => state.paymentMades.items;
|
||||
|
||||
const PaymentMadePaginationSelector = (state, props) => {
|
||||
const viewId = state.paymentMades.currentViewId;
|
||||
return state.paymentMades.views?.[viewId];
|
||||
};
|
||||
|
||||
const paymentMadesIds = (state, props) => {
|
||||
return state.paymentMades.items[props.paymentMadeId];
|
||||
};
|
||||
const paymentMadeById = (state, props) => state.paymentMades.items[props.paymentMadeId];
|
||||
|
||||
const paymentMadeEntries = (state, props) => props.paymentMadeEntries;
|
||||
const billsItemsSelector = (state, props) => state.bills.items;
|
||||
const billsPayableByPaymentMadeSelector = (state, props) => state.bills.payable.byBillPayamentId[props.paymentMadeId];
|
||||
const paymentMadeBillsSelector = (state, props) => state.bills.byBillPayamentId[props.paymentMadeId];
|
||||
|
||||
export const getPaymentMadeCurrentPageFactory = () =>
|
||||
createSelector(
|
||||
@@ -54,7 +51,7 @@ export const getPaymentMadePaginationMetaFactory = () =>
|
||||
});
|
||||
|
||||
export const getPaymentMadeByIdFactory = () =>
|
||||
createSelector(paymentMadesIds, (payment_Made) => {
|
||||
createSelector(paymentMadeById, (payment_Made) => {
|
||||
return payment_Made;
|
||||
});
|
||||
|
||||
@@ -68,4 +65,37 @@ export const getPaymentMadeEntriesDataFactory = () =>
|
||||
...entry, ...(billsItems[entry.bill_id] || {}),
|
||||
})) : [];
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
export const getPaymentMadeEntriesFactory = () =>
|
||||
createSelector(
|
||||
billsItemsSelector,
|
||||
billsPayableByPaymentMadeSelector,
|
||||
paymentMadeBillsSelector,
|
||||
paymentMadeById,
|
||||
(
|
||||
billsItems,
|
||||
paymentPayableBillsIds,
|
||||
paymentMadeBillsIds,
|
||||
paymentMade,
|
||||
) => {
|
||||
const billsIds = [
|
||||
...(paymentPayableBillsIds || []),
|
||||
...(paymentMadeBillsIds || []),
|
||||
];
|
||||
const bills = pickItemsFromIds(billsItems, billsIds);
|
||||
const billEntries = transformToObject((paymentMade?.entries || []), 'bill_id');
|
||||
|
||||
return bills.map((bill) => {
|
||||
const paymentMadeEntry = (billEntries?.[bill.id] || {});
|
||||
|
||||
return {
|
||||
...bill,
|
||||
bill_id: bill.id,
|
||||
total_payment_amount: bill.payment_amount,
|
||||
id: paymentMadeEntry?.id,
|
||||
payment_amount: paymentMadeEntry?.payment_amount,
|
||||
};
|
||||
});
|
||||
},
|
||||
);
|
||||
Reference in New Issue
Block a user