feat(Sales & Purchases ): add branch & warehouse.

This commit is contained in:
elforjani13
2022-02-20 13:54:31 +02:00
parent 3ed2393cf1
commit b46c3f4843
35 changed files with 1184 additions and 28 deletions

View File

@@ -5,6 +5,8 @@ import {
useAccounts,
useSettingsReceipts,
useCustomers,
useWarehouses,
useBranches,
useItems,
useCreateReceipt,
useEditReceipt,
@@ -17,12 +19,9 @@ const ReceiptFormContext = createContext();
*/
function ReceiptFormProvider({ receiptId, ...props }) {
// Fetch sale receipt details.
const { data: receipt, isLoading: isReceiptLoading } = useReceipt(
receiptId,
{
enabled: !!receiptId,
},
);
const { data: receipt, isLoading: isReceiptLoading } = useReceipt(receiptId, {
enabled: !!receiptId,
});
// Fetch accounts list.
const { data: accounts, isLoading: isAccountsLoading } = useAccounts();
@@ -32,12 +31,38 @@ function ReceiptFormProvider({ receiptId, ...props }) {
isLoading: isCustomersLoading,
} = useCustomers({ page_size: 10000 });
// Fetch warehouses list.
const {
data: warehouses,
isLoading: isWarehouesLoading,
isSuccess: isWarehousesSuccess,
} = useWarehouses();
// Fetches the branches list.
const {
data: branches,
isLoading: isBranchesLoading,
isSuccess: isBranchesSuccess,
} = useBranches();
// Filter all sellable items only.
const stringifiedFilterRoles = React.useMemo(
() =>
JSON.stringify([
{ index: 1, fieldKey: 'sellable', value: true, condition: '&&', comparator: 'equals', },
{ index: 2, fieldKey: 'active', value: true, condition: '&&', comparator: 'equals' },
{
index: 1,
fieldKey: 'sellable',
value: true,
condition: '&&',
comparator: 'equals',
},
{
index: 2,
fieldKey: 'active',
value: true,
condition: '&&',
comparator: 'equals',
},
]),
[],
);
@@ -61,12 +86,16 @@ function ReceiptFormProvider({ receiptId, ...props }) {
const isNewMode = !receiptId;
const isFeatureLoading = isWarehouesLoading || isBranchesLoading;
const provider = {
receiptId,
receipt,
accounts,
customers,
items,
branches,
warehouses,
submitPayload,
isNewMode,
@@ -74,7 +103,12 @@ function ReceiptFormProvider({ receiptId, ...props }) {
isAccountsLoading,
isCustomersLoading,
isItemsLoading,
isWarehouesLoading,
isBranchesLoading,
isFeatureLoading,
isSettingLoading,
isBranchesSuccess,
isWarehousesSuccess,
createReceiptMutate,
editReceiptMutate,