diff --git a/example.env.local b/example.env.local
index 2528164..b99bf62 100644
--- a/example.env.local
+++ b/example.env.local
@@ -1,5 +1,5 @@
NEXT_PUBLIC_API_NAME = "Loan Facilities Dashboard"
-NEXT_PUBLIC_API_VERSION = "1.31.6"
+NEXT_PUBLIC_API_VERSION = "1.32.0"
NEXT_PUBLIC_DEFAULT_LANGUAGE = "fa"
NEXT_PUBLIC_DEFAULT_DIRECTION = "rtl"
diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index 9208e6a..e86110a 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -64,7 +64,7 @@
"edit-profile": "ویرایش پروفایل",
"loan-history": "کارتابل نظارت",
"loan-history-province": "کارتابل نظارت استانی",
- "reserve-loan" : "وام های رزرو"
+ "reserve-loan": "وام های رزرو"
},
"secondary": {
"passenger-office": "توزیع درخواست",
@@ -416,7 +416,7 @@
"print_report": "چاپ گزارش کارشناسی",
"max_amount": "حداکثر مبلغ پیشنهادی {value} میلیون ریال می باشد",
"excel_report": "گزارش اکسل",
- "reserve-loan-title" : "رزرو وام",
+ "reserve-loan-title": "رزرو وام",
"description-reserve-loan-first": "آیا از رزرو وام به کد یکتا",
"description-reserve-loan-second": "اطمینان دارید؟",
"button-reserve-cancel": "بستن",
@@ -440,7 +440,8 @@
"national_id": "کد ملی",
"proposed_amount": "مبلغ پیشنهادی",
"bank_loan_amount": "مبلغ وام بانک",
- "navgan_id": "کد ناوگان"
+ "navgan_id": "کد ناوگان",
+ "excel_report": "گزارش اکسل"
},
"UserManagement": {
"name": "نام",
diff --git a/src/components/dashboard/bank-management/Buttons/printExcel.jsx b/src/components/dashboard/bank-management/Buttons/printExcel.jsx
new file mode 100644
index 0000000..bf2f09f
--- /dev/null
+++ b/src/components/dashboard/bank-management/Buttons/printExcel.jsx
@@ -0,0 +1,68 @@
+import {Button, CircularProgress} from "@mui/material";
+import {useTranslations} from "next-intl";
+import {useMemo, useState} from "react";
+import useRequest from "@/lib/app/hooks/useRequest";
+import {EXPORT_BANK_MANAGEMENT} from "@/core/data/apiRoutes";
+import moment from "jalali-moment";
+import FileSaver from 'file-saver';
+import DescriptionIcon from '@mui/icons-material/Description';
+
+const PrintExcel = ({table}) => {
+ const t = useTranslations();
+ const [loading, setLoading] = useState(false)
+ const requestServer = useRequest({auth: true, pending: false, success: {notification: {show: false}}})
+ const {columnFilters, columnFilterFns, sorting} = table.getState()
+ const columns = table.getAllColumns()
+
+ const filterParams = useMemo(() => {
+ const params = new URLSearchParams();
+ const filters = columnFilters.map((filter) => {
+ let datatype;
+ for (const i in columns) {
+ if (columns[i].id == filter.id) {
+ datatype = columns[i].columnDef.datatype;
+ }
+ }
+ return {
+ ...filter, fn: columnFilterFns[filter.id], datatype: datatype,
+ };
+ });
+ params.set("start", '0');
+ params.set("filters", JSON.stringify(filters ?? []));
+ params.set("sorting", JSON.stringify(sorting ?? []));
+ return params;
+ }, [columnFilters, columnFilterFns, sorting, columns,]);
+
+
+ const clickHandler = () => {
+ setLoading(true)
+ requestServer(`${EXPORT_BANK_MANAGEMENT}?${filterParams}`, 'get', {
+ auth: true,
+ notification: false,
+ requestOptions: {responseType: 'blob'}
+ }).then((response) => {
+ const filename = `گزارش کارتابل نظارت بانک تاریخ_${moment().format('jYYYY_jMM_jDD')}.xlsx`;
+ FileSaver.saveAs(response.data, filename);
+ }).catch(() => {
+ }).finally(() => {
+ setLoading(false)
+ })
+ }
+
+
+ return (
+ : }
+ onClick={clickHandler}
+ >
+ {t("BankManagement.excel_report")}
+
+ )
+}
+
+export default PrintExcel
\ No newline at end of file
diff --git a/src/components/dashboard/bank-management/TableToobar.jsx b/src/components/dashboard/bank-management/TableToobar.jsx
new file mode 100644
index 0000000..8de0761
--- /dev/null
+++ b/src/components/dashboard/bank-management/TableToobar.jsx
@@ -0,0 +1,13 @@
+import {Stack} from "@mui/material";
+import PrintExcel from "@/components/dashboard/bank-management/Buttons/printExcel";
+
+const TableToolbar = ({table}) => {
+
+ return (
+
+
+
+ )
+}
+
+export default TableToolbar
\ No newline at end of file
diff --git a/src/components/dashboard/bank-management/index.jsx b/src/components/dashboard/bank-management/index.jsx
index 94fa758..137dc43 100644
--- a/src/components/dashboard/bank-management/index.jsx
+++ b/src/components/dashboard/bank-management/index.jsx
@@ -5,6 +5,7 @@ import moment from "jalali-moment";
import DataTable from "@/core/components/DataTable";
import TableRowActions from "@/components/dashboard/bank-management/TableRowActions";
import {GET_BANK_STATEMENT} from "@/core/data/apiRoutes";
+import TableToolbar from "@/components/dashboard/bank-management/TableToobar";
function DashboardBankManagementComponent() {
const t = useTranslations();
@@ -183,8 +184,8 @@ function DashboardBankManagementComponent() {
tableUrl={GET_BANK_STATEMENT}
columns={columns}
selectableRow={false}
- // enableCustomToolbar={true}
- // CustomToolbar={TableToolbar}
+ enableCustomToolbar={true}
+ CustomToolbar={TableToolbar}
enableLastUpdate={true}
sorting={[{
id: 'score', desc: false
diff --git a/src/core/data/apiRoutes.js b/src/core/data/apiRoutes.js
index 3c3adb3..315e775 100644
--- a/src/core/data/apiRoutes.js
+++ b/src/core/data/apiRoutes.js
@@ -255,6 +255,7 @@ export const DELETE_ADMIN_SETTING = BASE_URL + "/dashboard/settings/delete"
//bank statement
export const GET_BANK_STATEMENT = BASE_URL + "/dashboard/bank_referred_loans"
export const RESEND_BANK_STATEMENT = BASE_URL + "/dashboard/bank_referred_loans/send"
+export const EXPORT_BANK_MANAGEMENT = BASE_URL + "/dashboard/bank_referred_loans/export"
// loan statistics
export const GET_LOAN_STATISTICS = BASE_URL + "/dashboard/reports/navgan/statistics"