fixed bug

This commit is contained in:
AmirHossein Mahmoodi
2025-04-15 16:41:08 +03:30
parent 586cd3712c
commit f3a8fec84f
2 changed files with 22 additions and 22 deletions

View File

@@ -1,41 +1,39 @@
"use client";
import { Button, CircularProgress, IconButton, useMediaQuery } from "@mui/material";
import { useMemo, useState } from "react";
import moment from "jalali-moment";
import FileSaver from "file-saver";
import DescriptionIcon from "@mui/icons-material/Description";
import DataTableFilterDataStructure from "@/core/utils/DataTableFilterDataStructure";
import isArrayEmpty from "@/core/utils/isArrayEmpty";
import { EXPORT_COUNTRY_ROAD_SAFETY_REPORT, EXPORT_PROVINCE_ROAD_SAFETY_REPORT } from "@/core/utils/routes";
import useRequest from "@/lib/hooks/useRequest";
import { useTheme } from "@emotion/react";
import { EXPORT_COUNTRY_ROAD_PATROL_REPORTS, EXPORT_PROVINCE_ROAD_PATROL_REPORTS } from "@/core/utils/routes";
import isArrayEmpty from "@/core/utils/isArrayEmpty";
import DataTableFilterDataStructure from "@/core/utils/DataTableFilterDataStructure";
import DescriptionIcon from "@mui/icons-material/Description";
import { Button, CircularProgress, IconButton, useMediaQuery } from "@mui/material";
import FileSaver from "file-saver";
import moment from "jalali-moment";
import { useState } from "react";
const PrintExcel = ({ table, filterData }) => {
const theme = useTheme();
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
const [loading, setLoading] = useState(false);
const requestServer = useRequest({ notificationSuccess: true });
const activeFilters = DataTableFilterDataStructure(filterData, isArrayEmpty);
const filterParams = useMemo(() => {
const params = new URLSearchParams();
activeFilters.length > 0 &&
activeFilters.map((filter, index) => {
params.set(`${filter.id}`, filter.value);
});
return params;
}, [activeFilters]);
const clickHandler = () => {
setLoading(true);
const CountryOrProvince = activeFilters.find((item) => item.id === "province_id");
const requestUrl =
CountryOrProvince.value === "" ? EXPORT_COUNTRY_ROAD_PATROL_REPORTS : EXPORT_PROVINCE_ROAD_PATROL_REPORTS;
const filters = DataTableFilterDataStructure(filterData, isArrayEmpty);
const filterParams = new URLSearchParams();
let requestUrl;
filterParams.set("filters", JSON.stringify(filters || []));
if (filterData.province_id.value === "") {
requestUrl = EXPORT_COUNTRY_ROAD_SAFETY_REPORT;
} else {
filterParams.set("province_id", filterData.province_id.value);
requestUrl = EXPORT_PROVINCE_ROAD_SAFETY_REPORT;
}
requestServer(`${requestUrl}?${filterParams}`, "get", {
requestOptions: { responseType: "blob" },
})
.then((response) => {
const filename = `خروجی کارتابل گزارشات گشت راهداری تاریخ_${moment().format("jYYYY_jMM_jDD")}.xlsx`;
const filename = `خروجی کارتابل نگهداری حریم راه تاریخ_${moment().format("jYYYY_jMM_jDD")}.xlsx`;
FileSaver.saveAs(response.data, filename);
})
.catch(() => {})

View File

@@ -142,6 +142,8 @@ export const GET_ROAD_SAFETY_PROVINCE_ACTIVITY_REPORT = api + "/api/v3/safety_an
export const GET_ROAD_SAFETY_CITY_ACTIVITY_REPORT = api + "/api/v3/safety_and_privacy_report/province_activity";
export const GET_ROAD_SAFETY_REPORT_MAP = api + "/api/v3/safety_and_privacy/map";
export const GET_ROAD_SAFETY_DETAILS = api + "/api/v3/safety_and_privacy";
export const EXPORT_COUNTRY_ROAD_SAFETY_REPORT = api + "/api/v3/safety_and_privacy_report/country_excel_activity";
export const EXPORT_PROVINCE_ROAD_SAFETY_REPORT = api + "/api/v3/safety_and_privacy_report/province_excel_activity";
// permission table
export const GET_PERMISSION_TABLE_LIST = api + "/api/v3/permissions";