201 lines
6.9 KiB
JavaScript
201 lines
6.9 KiB
JavaScript
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>
|
||
</>
|
||
);
|
||
}
|