LFFE-26 report toolbar passenger boss
This commit is contained in:
@@ -214,7 +214,8 @@
|
||||
"upload_file_unit": "فایل بارگذاری شده باید حداکثر 2Mb باشد",
|
||||
"upload_file_format": "فرمت قابل قبول : png,jpg,pdf",
|
||||
"print_final_credit_amount": "چاپ صورت جلسه تعیین مبلغ نهایی",
|
||||
"max_amount": "حداکثر مبلغ تصویب شده {value} میلیون ریال می باشد"
|
||||
"max_amount": "حداکثر مبلغ تصویب شده {value} میلیون ریال می باشد",
|
||||
"excel_report": "گزارش اکسل"
|
||||
},
|
||||
"RefahiProvinceManager": {
|
||||
"name": "نام",
|
||||
|
||||
@@ -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_PASSENGER_BOSS} 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_PASSENGER_BOSS}?${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 (
|
||||
<Button
|
||||
color="primary"
|
||||
variant="contained"
|
||||
size="small"
|
||||
disabled={loading}
|
||||
sx={{textTransform: "unset", alignSelf: "center"}}
|
||||
startIcon={loading ? <CircularProgress size={18} color="inherit"/> : <DescriptionIcon/>}
|
||||
onClick={clickHandler}
|
||||
>
|
||||
{t("PassengerBoss.excel_report")}
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
|
||||
export default PrintExcel
|
||||
@@ -1,10 +1,12 @@
|
||||
import {Stack} from "@mui/material";
|
||||
import PrintFinalCreditAmount from "@/components/dashboard/passenger-boss/Buttons/printFinalCreditAmount";
|
||||
import PrintExcel from "@/components/dashboard/passenger-boss/Buttons/printExcel";
|
||||
|
||||
const TableToolbar = () => {
|
||||
const TableToolbar = ({table}) => {
|
||||
return (
|
||||
<Stack direction={"row"} spacing={2}>
|
||||
<PrintFinalCreditAmount/>
|
||||
<PrintExcel table={table}/>
|
||||
</Stack>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import moment from "jalali-moment";
|
||||
import FileSaver from 'file-saver';
|
||||
import DescriptionIcon from '@mui/icons-material/Description';
|
||||
|
||||
const PrintReport = ({table}) => {
|
||||
const PrintExcel = ({table}) => {
|
||||
const t = useTranslations();
|
||||
const [loading, setLoading] = useState(false)
|
||||
const requestServer = useRequest({auth: true, pending: false, success: {notification: {show: false}}})
|
||||
@@ -65,4 +65,4 @@ const PrintReport = ({table}) => {
|
||||
)
|
||||
}
|
||||
|
||||
export default PrintReport
|
||||
export default PrintExcel
|
||||
@@ -1,11 +1,11 @@
|
||||
import {Stack} from "@mui/material";
|
||||
import PrintReport from "@/components/dashboard/passenger-office/Buttons/printReport";
|
||||
import PrintExcel from "@/components/dashboard/passenger-office/Buttons/printExcel";
|
||||
|
||||
const TableToolbar = ({table}) => {
|
||||
|
||||
return (
|
||||
<Stack direction={"row"} spacing={2}>
|
||||
<PrintReport table={table}/>
|
||||
<PrintExcel table={table}/>
|
||||
</Stack>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import moment from "jalali-moment";
|
||||
import FileSaver from 'file-saver';
|
||||
import DescriptionIcon from '@mui/icons-material/Description';
|
||||
|
||||
const PrintReport = ({table}) => {
|
||||
const PrintExcel = ({table}) => {
|
||||
const t = useTranslations();
|
||||
const [loading, setLoading] = useState(false)
|
||||
const requestServer = useRequest({auth: true, pending: false, success: {notification: {show: false}}})
|
||||
@@ -65,4 +65,4 @@ const PrintReport = ({table}) => {
|
||||
)
|
||||
}
|
||||
|
||||
export default PrintReport
|
||||
export default PrintExcel
|
||||
@@ -1,11 +1,11 @@
|
||||
import {Stack} from "@mui/material";
|
||||
import PrintReport from "@/components/dashboard/transportation-assistance/Buttons/printReport";
|
||||
import PrintExcel from "@/components/dashboard/transportation-assistance/Buttons/printExcel";
|
||||
|
||||
const TableToolbar = ({table}) => {
|
||||
|
||||
return (
|
||||
<Stack direction={"row"} spacing={2}>
|
||||
<PrintReport table={table}/>
|
||||
<PrintExcel table={table}/>
|
||||
</Stack>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ export const CONFIRM_PASSENGER_BOSS =
|
||||
|
||||
export const REJECT_PASSENGER_BOSS =
|
||||
BASE_URL + "/dashboard/province_working_group/reject";
|
||||
export const EXPORT_PASSENGER_BOSS =
|
||||
BASE_URL + "/dashboard/province_working_group/export";
|
||||
//passenger boss
|
||||
|
||||
//transportation assistance
|
||||
|
||||
Reference in New Issue
Block a user