Files
frontend/src/components/dashboard/inquiryPrivacy/technical-deputy/TechnicalDeputyList.jsx

191 lines
6.6 KiB
JavaScript

"use client";
import DataTableWithAuth from "@/core/components/DataTableWithAuth";
import { GET_INQUIRY_PRIVACY_TABLE_LIST } from "@/core/utils/routes";
import { Box, Stack } from "@mui/material";
import moment from "jalali-moment";
import { useMemo } from "react";
import RowActions from "./RowActions";
import ShowPrimaryArea from "./ShowPrimaryArea";
const TechnicalDeputyList = () => {
const columns = useMemo(
() => [
{
accessorKey: "id",
header: "کد یکتا",
id: "id",
enableColumnFilter: false,
datatype: "text",
filterMode: "notEquals",
size: 100,
},
{
accessorKey: "panjare_vahed_id",
header: "کدرهگیری پنجره واحد",
id: "panjare_vahed_id",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 150,
},
{
accessorKey: "national_id",
header: "کد ملی",
id: "national_id",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
size: 120,
},
{
accessorKey: "phone_number",
header: "تلفن",
id: "phone_number",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
size: 120,
},
{
accessorKey: "state_name",
header: "وضعیت درخواست",
id: "state_name",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
},
{
accessorKey: "payment_amount",
header: "مبلغ پرداختی",
id: "payment_amount",
enableColumnFilter: true,
datatype: "text",
filterMode: "between",
Cell: ({ row }) => <>{row.original.payment_amount || "-"}</>,
},
{
accessorKey: "requested_organization",
header: "دستگاه صادر کننده",
id: "requested_organization",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
},
{
accessorKey: "province_name",
header: "استان",
id: "province_name",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
},
{
accessorKey: "city_name",
header: "شهر",
id: "city_name",
enableColumnFilter: false,
datatype: "text",
filterMode: "equals",
},
{
accessorKey: "plan_group",
header: "گروه طرح",
id: "plan_group",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
},
{
accessorKey: "plan_title",
header: "عنوان طرح",
id: "plan_title",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
},
{
accessorKey: "primary_area",
header: "نمایش محدوده طرح",
id: "primary_area",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
grow: false,
size: 100,
Cell: ({ row }) =>
row.original.primary_area ? (
<Stack alignItems={"center"} justifyContent={"center"}>
<ShowPrimaryArea primaryArea={row.original.primary_area} />
</Stack>
) : (
"-"
),
},
{
accessorKey: "worksheet_id",
header: "شناسه کاربرگ",
id: "worksheet_id",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
},
{
accessorKey: "isic",
header: "کد آیسیک",
id: "isic",
enableColumnFilter: true,
datatype: "text",
filterMode: "equals",
sortDescFirst: false,
columnFilterModeOptions: ["equals", "contains"],
},
{
accessorFn: (row) => moment(row.request_date).locale("fa").format("YYYY/MM/DD"),
header: "تاریخ درخواست",
id: "request_date",
enableColumnFilter: true,
datatype: "date",
filterMode: "between",
grow: false,
size: 120,
},
],
[]
);
return (
<>
<Box sx={{ p: 1, border: 1, borderColor: "divider", borderRadius: 1 }}>
<DataTableWithAuth
need_filter={true}
columns={columns}
sorting={[{ id: "id", desc: true }]}
table_url={GET_INQUIRY_PRIVACY_TABLE_LIST}
page_name={"technicalDeputy"}
table_name={"technicalDeputyList"}
enableRowActions
positionActionsColumn={"first"}
RowActions={RowActions}
/>
</Box>
</>
);
};
export default TechnicalDeputyList;