add new report
This commit is contained in:
@@ -710,6 +710,7 @@
|
||||
"province": "استان",
|
||||
"all_provinces": "تمامی استان ها",
|
||||
"excel_export_reports": "خروجی به اکسل گزارش عملکرد",
|
||||
"excel_export_reports_status": "خروجی به اکسل گزارش وضعیت وام های کشور",
|
||||
"year": "سال",
|
||||
"years": "سال های",
|
||||
"text_field_loading_provinces_list": "درحال دریافت استان ها",
|
||||
|
||||
@@ -2,24 +2,23 @@ import {Accordion, AccordionSummary, Box, Button, CircularProgress, Stack, Typog
|
||||
import AssignmentIcon from '@mui/icons-material/Assignment';
|
||||
import BackupIcon from '@mui/icons-material/Backup';
|
||||
import {useTranslations} from "next-intl";
|
||||
import {GET_EXCEL_EXPORT} from "@/core/data/apiRoutes";
|
||||
import moment from "jalali-moment";
|
||||
import FileSaver from 'file-saver';
|
||||
import useRequest from "@/lib/app/hooks/useRequest";
|
||||
import {useState} from "react";
|
||||
|
||||
const ExcelExport = () => {
|
||||
const ExcelExport = ({filenameStr, url, title}) => {
|
||||
const t = useTranslations();
|
||||
const requestServer = useRequest();
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
const clickHandler = () => {
|
||||
setLoading(true)
|
||||
requestServer(GET_EXCEL_EXPORT, 'get', {
|
||||
requestServer(url, 'get', {
|
||||
auth: true,
|
||||
requestOptions: {responseType: 'blob'}
|
||||
}).then((response) => {
|
||||
const filename = `گزارش عملکرد_${moment().format('jDD_jMM_jYYYY')}.xlsx`;
|
||||
const filename = `${filenameStr}_${moment().format('jDD_jMM_jYYYY')}.xlsx`;
|
||||
FileSaver.saveAs(response.data, filename);
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
@@ -41,7 +40,7 @@ const ExcelExport = () => {
|
||||
<Box sx={{display: "flex", alignItems: "center", gap: 0.5}}>
|
||||
<AssignmentIcon sx={{color: "primary.main"}}/>
|
||||
<Typography sx={{fontWeight: 500, color: "primary.main"}}>
|
||||
{t("filters.excel_export_reports")}
|
||||
{title}
|
||||
</Typography>
|
||||
</Box>
|
||||
<Button onClick={clickHandler} variant="contained"
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
import LoanDetails from "@/components/dashboard/reports/LoanDetails";
|
||||
import ExcelExport from "@/components/dashboard/reports/ExcelExport";
|
||||
import {GET_EXCEL_EXPORT, GET_EXCEL_EXPORT_status} from "@/core/data/apiRoutes";
|
||||
import {useTranslations} from "next-intl";
|
||||
|
||||
const DashboardReportsComponent = (props) => {
|
||||
const t = useTranslations();
|
||||
|
||||
return (
|
||||
<>
|
||||
<ExcelExport/>
|
||||
<ExcelExport url={GET_EXCEL_EXPORT} title={t("filters.excel_export_reports")} filenameStr={'گزارش عملکرد'}/>
|
||||
<ExcelExport url={GET_EXCEL_EXPORT_status} title={t("filters.excel_export_reports_status")}
|
||||
filenameStr={'گزارش وضعیت وام های کشور'}/>
|
||||
<LoanDetails/>
|
||||
</>
|
||||
)
|
||||
|
||||
@@ -235,6 +235,7 @@ export const GET_PERMISSIONS_LIST =
|
||||
// reports
|
||||
export const GET_EXPORT = BASE_URL + "/dashboard/exports/navgan"
|
||||
export const GET_EXCEL_EXPORT = BASE_URL + "/dashboard/exports/navgan/expert_progress"
|
||||
export const GET_EXCEL_EXPORT_status = BASE_URL + "/dashboard/exports/navgan/loans_state"
|
||||
export const GET_PROVINCE_PROGRESS = BASE_URL + "/dashboard/reports/navgan/province_progress"
|
||||
export const GET_LOAN_DISTRIBUTION = BASE_URL + "/dashboard/reports/navgan/loan_distribution"
|
||||
export const GET_LOAN_EXPERTPROGRESS = BASE_URL + "/dashboard/reports/navgan/expert_progress"
|
||||
|
||||
Reference in New Issue
Block a user