Files
Frontend/src/components/dashboard/provinceReports/ProvinceCumulativeCallsReport/DataTable.jsx

201 lines
6.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import DataTableWithAuth from "@/core/components/DataTableWithAuth";
import { GET_PROVINCE_CUMULATIVE_CALLS_DAILY_REPORT } from "@/core/utils/routes";
import { Box } from "@mui/material";
import moment from "jalali-moment";
import { useMemo } from "react";
export default function DataTable() {
const columns = useMemo(() => [
{
header: "تاریخ",
id: "date",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
Cell: ({ row }) => (row.original.d ? moment(row.original.d).locale("fa").format("yyyy/MM/DD") : <>-</>),
},
{
accessorKey: "total",
header: "تمامی تماس ها",
id: "total",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
grow: false,
size: 100,
},
{
header: "تماس با تهران",
id: "call_to_tehran",
enableColumnFilter: false,
enableSorting: false,
grow: false,
size: 50,
columns: [
{
accessorKey: "teh4",
header: "کلید 4",
id: "teh4",
enableColumnFilter: true,
datatype: "integer",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "teh5",
header: "کلید 5",
id: "teh5",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
],
},
{
header: "تماس با اپراتور استانی",
id: "call_to_ostan",
enableColumnFilter: false,
enableSorting: false,
grow: false,
size: 50,
columns: [
{
accessorKey: "ok",
header: "موفق",
id: "ok",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "fail",
header: "جواب داده نشده",
id: "fail",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "nok",
header: "نا موفق",
id: "nok",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "os4",
header: "کلید 4",
id: "os4",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "os5",
header: "کلید 5",
id: "os5",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "dnd",
header: "dnd",
id: "dnd",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "trans",
header: "انتقال تماس",
id: "trans",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
],
},
{
accessorKey: "b10",
header: "تماس بالای 10 ثانیه",
id: "b10",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
},
{
accessorKey: "avg",
header: "میانگین تماس ها",
id: "avg",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
Cell: ({ row }) => <>{row.original.avg ? row.original.avg : <>-</>}</>,
},
]);
return (
<>
<Box sx={{ p: 1, border: 1, borderColor: "divider", borderRadius: 1 }}>
<DataTableWithAuth
need_filter={true}
columns={columns}
table_url={GET_PROVINCE_CUMULATIVE_CALLS_DAILY_REPORT}
page_name={"provinceCumulativeCallsReportPage"}
table_name={"provinceCumulativeCallsReportList"}
positionActionsColumn={"last"}
/>
</Box>
</>
);
}