Merge pull request 'Issues_Expense_2W Changes of Expense, Payment Request and Recurring Expense.' (#505) from Issues_Expense_2W into upgrade_Expense
Reviewed-on: #505 Merged
This commit is contained in:
commit
4cbac98986
@ -35,7 +35,7 @@ const ExpenseByProject = () => {
|
|||||||
|
|
||||||
const getSelectedTypeName = () => {
|
const getSelectedTypeName = () => {
|
||||||
if (!selectedType) return "All Types";
|
if (!selectedType) return "All Types";
|
||||||
const found = ExpenseTypes.find((t) => t.id === selectedType);
|
const found = ExpenseCategories.find((t) => t.id === selectedType);
|
||||||
return found ? found.name : "All Types";
|
return found ? found.name : "All Types";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -69,8 +69,8 @@ const ExpenseByProject = () => {
|
|||||||
|
|
||||||
|
|
||||||
const ExpenseCategoryType = [
|
const ExpenseCategoryType = [
|
||||||
{id:1,category:"Category",label:"Category"},
|
{ id: 1, category: "Category", label: "Category" },
|
||||||
{id:2,category:"Project",label:"Project"}
|
{ id: 2, category: "Project", label: "Project" }
|
||||||
]
|
]
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -92,7 +92,7 @@ const ExpenseByProject = () => {
|
|||||||
{viewMode}
|
{viewMode}
|
||||||
</button>
|
</button>
|
||||||
<ul className="dropdown-menu dropdown-menu-end ">
|
<ul className="dropdown-menu dropdown-menu-end ">
|
||||||
{ExpenseCategoryType.map((cat)=>(
|
{ExpenseCategoryType.map((cat) => (
|
||||||
<li>
|
<li>
|
||||||
<button
|
<button
|
||||||
className="dropdown-item"
|
className="dropdown-item"
|
||||||
|
|||||||
@ -19,6 +19,12 @@ const DocumentFilterPanel = forwardRef(
|
|||||||
const { data, isError, isLoading, error } =
|
const { data, isError, isLoading, error } =
|
||||||
useDocumentFilterEntities(entityTypeId);
|
useDocumentFilterEntities(entityTypeId);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
return () => {
|
||||||
|
closePanel();
|
||||||
|
};
|
||||||
|
}, []);
|
||||||
|
|
||||||
//changes
|
//changes
|
||||||
|
|
||||||
const dynamicDocumentFilterDefaultValues = useMemo(() => {
|
const dynamicDocumentFilterDefaultValues = useMemo(() => {
|
||||||
@ -237,6 +243,6 @@ const DocumentFilterPanel = forwardRef(
|
|||||||
</form>
|
</form>
|
||||||
</FormProvider>
|
</FormProvider>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
export default DocumentFilterPanel;
|
export default DocumentFilterPanel;
|
||||||
|
|||||||
@ -519,7 +519,7 @@ function ManagePaymentRequest({ closeModal, requestToEdit = null }) {
|
|||||||
? "Please Wait..."
|
? "Please Wait..."
|
||||||
: requestToEdit
|
: requestToEdit
|
||||||
? "Update"
|
? "Update"
|
||||||
: "Save as Draft"}
|
: "Submit"}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -43,8 +43,7 @@ const PaymentRequestList = ({ filters, groupBy = "submittedBy", search }) => {
|
|||||||
displayField = "Status";
|
displayField = "Status";
|
||||||
break;
|
break;
|
||||||
case "submittedBy":
|
case "submittedBy":
|
||||||
key = `${item?.createdBy?.firstName ?? ""} ${
|
key = `${item?.createdBy?.firstName ?? ""} ${item.createdBy?.lastName ?? ""
|
||||||
item.createdBy?.lastName ?? ""
|
|
||||||
}`.trim();
|
}`.trim();
|
||||||
displayField = "Submitted By";
|
displayField = "Submitted By";
|
||||||
break;
|
break;
|
||||||
@ -98,8 +97,7 @@ const PaymentRequestList = ({ filters, groupBy = "submittedBy", search }) => {
|
|||||||
label: "Submitted By",
|
label: "Submitted By",
|
||||||
align: "text-start",
|
align: "text-start",
|
||||||
getValue: (e) =>
|
getValue: (e) =>
|
||||||
`${e.createdBy?.firstName ?? ""} ${
|
`${e.createdBy?.firstName ?? ""} ${e.createdBy?.lastName ?? ""
|
||||||
e.createdBy?.lastName ?? ""
|
|
||||||
}`.trim() || "N/A",
|
}`.trim() || "N/A",
|
||||||
customRender: (e) => (
|
customRender: (e) => (
|
||||||
<div
|
<div
|
||||||
@ -113,8 +111,7 @@ const PaymentRequestList = ({ filters, groupBy = "submittedBy", search }) => {
|
|||||||
lastName={e.createdBy?.lastName}
|
lastName={e.createdBy?.lastName}
|
||||||
/>
|
/>
|
||||||
<span className="text-truncate">
|
<span className="text-truncate">
|
||||||
{`${e.createdBy?.firstName ?? ""} ${
|
{`${e.createdBy?.firstName ?? ""} ${e.createdBy?.lastName ?? ""
|
||||||
e.createdBy?.lastName ?? ""
|
|
||||||
}`.trim() || "N/A"}
|
}`.trim() || "N/A"}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -128,15 +125,12 @@ const PaymentRequestList = ({ filters, groupBy = "submittedBy", search }) => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "amount",
|
key: "amount",
|
||||||
label: " Amount",
|
label: "Amount",
|
||||||
align: "text-start",
|
align: "text-end",
|
||||||
getValue: (e) => (
|
getValue: (e) =>
|
||||||
<>
|
e?.amount
|
||||||
{formatCurrency(e?.amount)} {e.currency.currencyCode}
|
? `${e?.currency?.symbol ? e.currency.symbol + " " : ""}${e.amount.toLocaleString()}`
|
||||||
</>
|
: "N/A",
|
||||||
),
|
|
||||||
|
|
||||||
align: "text-end px-3",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: "expenseStatus",
|
key: "expenseStatus",
|
||||||
@ -144,8 +138,7 @@ const PaymentRequestList = ({ filters, groupBy = "submittedBy", search }) => {
|
|||||||
align: "text-center",
|
align: "text-center",
|
||||||
getValue: (e) => (
|
getValue: (e) => (
|
||||||
<span
|
<span
|
||||||
className={`badge bg-label-${
|
className={`badge bg-label-${getColorNameFromHex(e?.expenseStatus?.color) || "secondary"
|
||||||
getColorNameFromHex(e?.expenseStatus?.color) || "secondary"
|
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
{e?.expenseStatus?.name || "Unknown"}
|
{e?.expenseStatus?.name || "Unknown"}
|
||||||
@ -181,8 +174,13 @@ const PaymentRequestList = ({ filters, groupBy = "submittedBy", search }) => {
|
|||||||
if (isLoading) return <ExpenseTableSkeleton headers={header} />;
|
if (isLoading) return <ExpenseTableSkeleton headers={header} />;
|
||||||
|
|
||||||
const grouped = groupBy
|
const grouped = groupBy
|
||||||
? groupByField(data?.data ?? [], groupBy)
|
? Object.fromEntries(
|
||||||
|
Object.entries(groupByField(data?.data ?? [], groupBy)).sort(([keyA], [keyB]) =>
|
||||||
|
keyA.localeCompare(keyB)
|
||||||
|
)
|
||||||
|
)
|
||||||
: { All: data?.data ?? [] };
|
: { All: data?.data ?? [] };
|
||||||
|
|
||||||
const IsGroupedByDate = [
|
const IsGroupedByDate = [
|
||||||
{ key: "transactionDate", displayField: "Transaction Date" },
|
{ key: "transactionDate", displayField: "Transaction Date" },
|
||||||
{ key: "createdAt", displayField: "created Date" },
|
{ key: "createdAt", displayField: "created Date" },
|
||||||
|
|||||||
@ -68,7 +68,7 @@ const RecurringExpenseList = ({ search, filterStatuses }) => {
|
|||||||
align: "text-end",
|
align: "text-end",
|
||||||
getValue: (e) =>
|
getValue: (e) =>
|
||||||
e?.amount
|
e?.amount
|
||||||
? `${e?.currency?.symbol || ""}${e.amount.toLocaleString()}`
|
? `${e?.currency?.symbol ? e.currency.symbol + " " : ""}${e.amount.toLocaleString()}`
|
||||||
: "N/A",
|
: "N/A",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user