change style
This commit is contained in:
@@ -36,243 +36,253 @@ const OperatorList = () => {
|
|||||||
size: 100,
|
size: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "item",
|
header: "اطلاعات فعالیت",
|
||||||
header: "آیتم فعالیت",
|
id: "info",
|
||||||
id: "item",
|
|
||||||
enableColumnFilter: true,
|
|
||||||
datatype: "numeric",
|
|
||||||
filterMode: "equals",
|
|
||||||
grow: false,
|
|
||||||
size: 100,
|
|
||||||
ColumnSelectComponent: (props) => {
|
|
||||||
const { itemsList, loadingItemsList, errorItemsList } = useRoadItemGetItems();
|
|
||||||
|
|
||||||
const getColumnSelectOptions = useMemo(() => {
|
|
||||||
if (loadingItemsList) {
|
|
||||||
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
|
||||||
}
|
|
||||||
if (errorItemsList) {
|
|
||||||
return [{ value: "error", label: "خطا در بارگذاری" }];
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
{ value: "", label: "همه آیتم ها" },
|
|
||||||
...itemsList.map((item) => ({
|
|
||||||
value: item.id,
|
|
||||||
label: item.name,
|
|
||||||
})),
|
|
||||||
];
|
|
||||||
}, [itemsList, loadingItemsList, errorItemsList]);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<CustomSelectByDependency
|
|
||||||
{...props}
|
|
||||||
value={loadingItemsList ? "loading" : props.filterParameters.value}
|
|
||||||
columnSelectOption={getColumnSelectOptions}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
Cell: ({ row }) => {
|
|
||||||
return row.original.item_fa;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "sub_item",
|
|
||||||
header: "اقدام انجام شده",
|
|
||||||
id: "sub_item",
|
|
||||||
enableColumnFilter: true,
|
|
||||||
datatype: "numeric",
|
|
||||||
filterMode: "equals",
|
|
||||||
dependencyId: "item",
|
|
||||||
ColumnSelectComponent: (props) => {
|
|
||||||
const { subItemsList, loadingSubItemsList, errorSubItemsList } = useRoadItemGetSubItems(
|
|
||||||
props.dependencyFieldValue.value
|
|
||||||
);
|
|
||||||
const [prevDependency, setPrevDependency] = useState(props.dependencyFieldValue.value);
|
|
||||||
|
|
||||||
const getColumnSelectOptions = useMemo(() => {
|
|
||||||
if (props.dependencyFieldValue.value === "") {
|
|
||||||
return [{ value: "empty", label: "ابتدا آیتم فعالیت را انتخاب کنید" }];
|
|
||||||
}
|
|
||||||
if (loadingSubItemsList) {
|
|
||||||
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
|
||||||
}
|
|
||||||
if (errorSubItemsList) {
|
|
||||||
return [{ value: "error", label: "خطا در بارگذاری" }];
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
{ value: "", label: "همه اقدام ها" },
|
|
||||||
...subItemsList.map((item) => ({
|
|
||||||
value: item.sub_item,
|
|
||||||
label: item.name,
|
|
||||||
})),
|
|
||||||
];
|
|
||||||
}, [subItemsList, loadingSubItemsList, errorSubItemsList]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (prevDependency === props.dependencyFieldValue.value) return;
|
|
||||||
props.handleChange({ ...props.filterParameters, value: "" });
|
|
||||||
setPrevDependency(props.dependencyFieldValue.value);
|
|
||||||
}, [props.dependencyFieldValue.value]);
|
|
||||||
return (
|
|
||||||
<CustomSelectByDependency
|
|
||||||
{...props}
|
|
||||||
value={
|
|
||||||
props.dependencyFieldValue.value === ""
|
|
||||||
? "empty"
|
|
||||||
: loadingSubItemsList
|
|
||||||
? "loading"
|
|
||||||
: props.filterParameters.value
|
|
||||||
}
|
|
||||||
columnSelectOption={getColumnSelectOptions}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
Cell: ({ row }) => {
|
|
||||||
return row.original.sub_item_fa;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "value",
|
|
||||||
header: "مقدار", // Value
|
|
||||||
id: "value",
|
|
||||||
enableColumnFilter: false,
|
enableColumnFilter: false,
|
||||||
enableSorting: false,
|
enableSorting: false,
|
||||||
datatype: "text",
|
|
||||||
filterMode: "equals",
|
|
||||||
columnFilterModeOptions: ["equals", "contains"],
|
|
||||||
grow: false,
|
grow: false,
|
||||||
size: 120,
|
size: 50,
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
columns: [
|
||||||
return (
|
{
|
||||||
<Stack direction="row" alignItems="center" spacing={0.5}>
|
accessorKey: "item",
|
||||||
<Typography sx={{ margin: 1 }} component="span">
|
header: "آیتم فعالیت",
|
||||||
{(row.original.sub_item_data / 1).toLocaleString()}
|
id: "item",
|
||||||
</Typography>
|
enableColumnFilter: true,
|
||||||
<Typography component="span" variant="caption">
|
datatype: "numeric",
|
||||||
{`(${row.original.unit_fa})`}
|
filterMode: "equals",
|
||||||
</Typography>
|
grow: false,
|
||||||
</Stack>
|
size: 100,
|
||||||
);
|
ColumnSelectComponent: (props) => {
|
||||||
},
|
const { itemsList, loadingItemsList, errorItemsList } = useRoadItemGetItems();
|
||||||
},
|
|
||||||
{
|
const getColumnSelectOptions = useMemo(() => {
|
||||||
header: "تصاویر",
|
if (loadingItemsList) {
|
||||||
id: "images",
|
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
||||||
enableColumnFilter: false,
|
}
|
||||||
enableSorting: false,
|
if (errorItemsList) {
|
||||||
datatype: "array",
|
return [{ value: "error", label: "خطا در بارگذاری" }];
|
||||||
grow: false,
|
}
|
||||||
size: 100,
|
return [
|
||||||
muiTableBodyCellProps: {
|
{ value: "", label: "همه آیتم ها" },
|
||||||
sx: {
|
...itemsList.map((item) => ({
|
||||||
borderLeft: "1px solid #e1e1e1",
|
value: item.id,
|
||||||
py: 0,
|
label: item.name,
|
||||||
"&:first-of-type": {
|
})),
|
||||||
borderLeft: "unset",
|
];
|
||||||
|
}, [itemsList, loadingItemsList, errorItemsList]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<CustomSelectByDependency
|
||||||
|
{...props}
|
||||||
|
value={loadingItemsList ? "loading" : props.filterParameters.value}
|
||||||
|
columnSelectOption={getColumnSelectOptions}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
Cell: ({ row }) => {
|
||||||
|
return row.original.item_fa;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
accessorKey: "sub_item",
|
||||||
return (
|
header: "اقدام انجام شده",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
id: "sub_item",
|
||||||
<ImageDialog rowId={row.getValue("id")} />
|
enableColumnFilter: true,
|
||||||
</Stack>
|
datatype: "numeric",
|
||||||
);
|
filterMode: "equals",
|
||||||
},
|
dependencyId: "item",
|
||||||
},
|
ColumnSelectComponent: (props) => {
|
||||||
{
|
const { subItemsList, loadingSubItemsList, errorSubItemsList } = useRoadItemGetSubItems(
|
||||||
header: "موقعیت", // Location
|
props.dependencyFieldValue.value
|
||||||
id: "location",
|
);
|
||||||
enableColumnFilter: false,
|
const [prevDependency, setPrevDependency] = useState(props.dependencyFieldValue.value);
|
||||||
enableSorting: false,
|
|
||||||
datatype: "array",
|
const getColumnSelectOptions = useMemo(() => {
|
||||||
grow: false,
|
if (props.dependencyFieldValue.value === "") {
|
||||||
size: 100,
|
return [{ value: "empty", label: "ابتدا آیتم فعالیت را انتخاب کنید" }];
|
||||||
muiTableBodyCellProps: {
|
}
|
||||||
sx: {
|
if (loadingSubItemsList) {
|
||||||
borderLeft: "1px solid #e1e1e1",
|
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
||||||
py: 0,
|
}
|
||||||
"&:first-of-type": {
|
if (errorSubItemsList) {
|
||||||
borderLeft: "unset",
|
return [{ value: "error", label: "خطا در بارگذاری" }];
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
{ value: "", label: "همه اقدام ها" },
|
||||||
|
...subItemsList.map((item) => ({
|
||||||
|
value: item.sub_item,
|
||||||
|
label: item.name,
|
||||||
|
})),
|
||||||
|
];
|
||||||
|
}, [subItemsList, loadingSubItemsList, errorSubItemsList]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (prevDependency === props.dependencyFieldValue.value) return;
|
||||||
|
props.handleChange({ ...props.filterParameters, value: "" });
|
||||||
|
setPrevDependency(props.dependencyFieldValue.value);
|
||||||
|
}, [props.dependencyFieldValue.value]);
|
||||||
|
return (
|
||||||
|
<CustomSelectByDependency
|
||||||
|
{...props}
|
||||||
|
value={
|
||||||
|
props.dependencyFieldValue.value === ""
|
||||||
|
? "empty"
|
||||||
|
: loadingSubItemsList
|
||||||
|
? "loading"
|
||||||
|
: props.filterParameters.value
|
||||||
|
}
|
||||||
|
columnSelectOption={getColumnSelectOptions}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
Cell: ({ row }) => {
|
||||||
|
return row.original.sub_item_fa;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
accessorKey: "value",
|
||||||
return (
|
header: "مقدار", // Value
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
id: "value",
|
||||||
<LocationForm
|
enableColumnFilter: false,
|
||||||
start_lat={row.original.start_lat}
|
enableSorting: false,
|
||||||
start_lng={row.original.start_lng}
|
datatype: "text",
|
||||||
end_lat={row.original.end_lat}
|
filterMode: "equals",
|
||||||
end_lng={row.original.end_lng}
|
columnFilterModeOptions: ["equals", "contains"],
|
||||||
/>
|
grow: false,
|
||||||
</Stack>
|
size: 120,
|
||||||
);
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
},
|
return (
|
||||||
},
|
<Stack direction="row" alignItems="center" spacing={0.5}>
|
||||||
{
|
<Typography sx={{ margin: 1 }} component="span">
|
||||||
header: "خودرو ها",
|
{(row.original.sub_item_data / 1).toLocaleString()}
|
||||||
id: "cmmsMachines__machine_code",
|
</Typography>
|
||||||
enableColumnFilter: true,
|
<Typography component="span" variant="caption">
|
||||||
datatype: "text",
|
{`(${row.original.unit_fa})`}
|
||||||
filterMode: "contains",
|
</Typography>
|
||||||
enableSorting: false,
|
</Stack>
|
||||||
columnFilterModeOptions: ["equals", "contains"],
|
);
|
||||||
grow: false,
|
|
||||||
size: 100,
|
|
||||||
muiTableBodyCellProps: {
|
|
||||||
sx: {
|
|
||||||
borderLeft: "1px solid #e1e1e1",
|
|
||||||
py: 0,
|
|
||||||
"&:first-of-type": {
|
|
||||||
borderLeft: "unset",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
header: "تصاویر",
|
||||||
return (
|
id: "images",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
enableColumnFilter: false,
|
||||||
<MachinesCodeDialog rowId={row.getValue("id")} />
|
enableSorting: false,
|
||||||
</Stack>
|
datatype: "array",
|
||||||
);
|
grow: false,
|
||||||
},
|
size: 100,
|
||||||
},
|
muiTableBodyCellProps: {
|
||||||
{
|
sx: {
|
||||||
header: "راهداران",
|
borderLeft: "1px solid #e1e1e1",
|
||||||
id: "rahdaran__code",
|
py: 0,
|
||||||
enableColumnFilter: true,
|
"&:first-of-type": {
|
||||||
enableSorting: false,
|
borderLeft: "unset",
|
||||||
datatype: "text",
|
},
|
||||||
filterMode: "contains",
|
},
|
||||||
columnFilterModeOptions: ["equals", "contains"],
|
},
|
||||||
grow: false,
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
size: 100,
|
return (
|
||||||
muiTableBodyCellProps: {
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
sx: {
|
<ImageDialog rowId={row.getValue("id")} />
|
||||||
borderLeft: "1px solid #e1e1e1",
|
</Stack>
|
||||||
py: 0,
|
);
|
||||||
"&:first-of-type": {
|
|
||||||
borderLeft: "unset",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
header: "موقعیت", // Location
|
||||||
return (
|
id: "location",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
enableColumnFilter: false,
|
||||||
<RahdaranDialog rowId={row.getValue("id")} />
|
enableSorting: false,
|
||||||
</Stack>
|
datatype: "array",
|
||||||
);
|
grow: false,
|
||||||
},
|
size: 100,
|
||||||
},
|
muiTableBodyCellProps: {
|
||||||
{
|
sx: {
|
||||||
accessorFn: (row) => moment(row.activity_date_time).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
borderLeft: "1px solid #e1e1e1",
|
||||||
header: "تاریخ فعالیت", // Start Date
|
py: 0,
|
||||||
id: "activity_date_time",
|
"&:first-of-type": {
|
||||||
enableColumnFilter: true,
|
borderLeft: "unset",
|
||||||
datatype: "date",
|
},
|
||||||
filterMode: "between",
|
},
|
||||||
grow: false,
|
},
|
||||||
size: 100,
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
|
return (
|
||||||
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
|
<LocationForm
|
||||||
|
start_lat={row.original.start_lat}
|
||||||
|
start_lng={row.original.start_lng}
|
||||||
|
end_lat={row.original.end_lat}
|
||||||
|
end_lng={row.original.end_lng}
|
||||||
|
/>
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: "خودرو ها",
|
||||||
|
id: "cmmsMachines__machine_code",
|
||||||
|
enableColumnFilter: true,
|
||||||
|
datatype: "text",
|
||||||
|
filterMode: "contains",
|
||||||
|
enableSorting: false,
|
||||||
|
columnFilterModeOptions: ["equals", "contains"],
|
||||||
|
grow: false,
|
||||||
|
size: 100,
|
||||||
|
muiTableBodyCellProps: {
|
||||||
|
sx: {
|
||||||
|
borderLeft: "1px solid #e1e1e1",
|
||||||
|
py: 0,
|
||||||
|
"&:first-of-type": {
|
||||||
|
borderLeft: "unset",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
|
return (
|
||||||
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
|
<MachinesCodeDialog rowId={row.getValue("id")} />
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: "راهداران",
|
||||||
|
id: "rahdaran__code",
|
||||||
|
enableColumnFilter: true,
|
||||||
|
enableSorting: false,
|
||||||
|
datatype: "text",
|
||||||
|
filterMode: "contains",
|
||||||
|
columnFilterModeOptions: ["equals", "contains"],
|
||||||
|
grow: false,
|
||||||
|
size: 100,
|
||||||
|
muiTableBodyCellProps: {
|
||||||
|
sx: {
|
||||||
|
borderLeft: "1px solid #e1e1e1",
|
||||||
|
py: 0,
|
||||||
|
"&:first-of-type": {
|
||||||
|
borderLeft: "unset",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
|
return (
|
||||||
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
|
<RahdaranDialog rowId={row.getValue("id")} />
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessorFn: (row) => moment(row.activity_date_time).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
||||||
|
header: "تاریخ فعالیت", // Start Date
|
||||||
|
id: "activity_date_time",
|
||||||
|
enableColumnFilter: true,
|
||||||
|
datatype: "date",
|
||||||
|
filterMode: "between",
|
||||||
|
grow: false,
|
||||||
|
size: 100,
|
||||||
|
},
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorFn: (row) => moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
accessorFn: (row) => moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
||||||
|
|||||||
@@ -125,8 +125,8 @@ const SupervisorList = () => {
|
|||||||
props.dependencyFieldValue?.value === ""
|
props.dependencyFieldValue?.value === ""
|
||||||
? "empty"
|
? "empty"
|
||||||
: loadingEdaratList
|
: loadingEdaratList
|
||||||
? "loading"
|
? "loading"
|
||||||
: props.filterParameters.value
|
: props.filterParameters.value
|
||||||
}
|
}
|
||||||
columnSelectOption={getColumnSelectOptions}
|
columnSelectOption={getColumnSelectOptions}
|
||||||
/>
|
/>
|
||||||
@@ -135,240 +135,250 @@ const SupervisorList = () => {
|
|||||||
Cell: ({ renderedCellValue, row }) => <>{row.original.edarat_name}</>,
|
Cell: ({ renderedCellValue, row }) => <>{row.original.edarat_name}</>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "آیتم فعالیت",
|
header: "اطلاعات فعالیت",
|
||||||
id: "item",
|
id: "info",
|
||||||
enableColumnFilter: true,
|
|
||||||
datatype: "numeric",
|
|
||||||
filterMode: "equals",
|
|
||||||
grow: false,
|
|
||||||
size: 100,
|
|
||||||
ColumnSelectComponent: (props) => {
|
|
||||||
const { itemsList, loadingItemsList, errorItemsList } = useRoadItemGetItems();
|
|
||||||
|
|
||||||
const getColumnSelectOptions = useMemo(() => {
|
|
||||||
if (loadingItemsList) {
|
|
||||||
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
|
||||||
}
|
|
||||||
if (errorItemsList) {
|
|
||||||
return [{ value: "error", label: "خطا در بارگذاری" }];
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
{ value: "", label: "همه آیتم ها" },
|
|
||||||
...itemsList.map((item) => ({
|
|
||||||
value: item.id,
|
|
||||||
label: item.name,
|
|
||||||
})),
|
|
||||||
];
|
|
||||||
}, [itemsList, loadingItemsList, errorItemsList]);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<CustomSelectByDependency
|
|
||||||
{...props}
|
|
||||||
value={loadingItemsList ? "loading" : props.filterParameters.value}
|
|
||||||
columnSelectOption={getColumnSelectOptions}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
Cell: ({ row }) => {
|
|
||||||
return row.original.item_fa;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: "اقدام انجام شده",
|
|
||||||
id: "sub_item",
|
|
||||||
enableColumnFilter: true,
|
|
||||||
datatype: "numeric",
|
|
||||||
filterMode: "equals",
|
|
||||||
dependencyId: "item",
|
|
||||||
ColumnSelectComponent: (props) => {
|
|
||||||
const { subItemsList, loadingSubItemsList, errorSubItemsList } = useRoadItemGetSubItems(
|
|
||||||
props.dependencyFieldValue.value
|
|
||||||
);
|
|
||||||
const [prevDependency, setPrevDependency] = useState(props.dependencyFieldValue.value);
|
|
||||||
|
|
||||||
const getColumnSelectOptions = useMemo(() => {
|
|
||||||
if (props.dependencyFieldValue.value === "") {
|
|
||||||
return [{ value: "empty", label: "ابتدا آیتم فعالیت را انتخاب کنید" }];
|
|
||||||
}
|
|
||||||
if (loadingSubItemsList) {
|
|
||||||
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
|
||||||
}
|
|
||||||
if (errorSubItemsList) {
|
|
||||||
return [{ value: "error", label: "خطا در بارگذاری" }];
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
{ value: "", label: "همه اقدام ها" },
|
|
||||||
...subItemsList.map((item) => ({
|
|
||||||
value: item.sub_item,
|
|
||||||
label: item.name,
|
|
||||||
})),
|
|
||||||
];
|
|
||||||
}, [subItemsList, loadingSubItemsList, errorSubItemsList]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (prevDependency === props.dependencyFieldValue.value) return;
|
|
||||||
props.handleChange({ ...props.filterParameters, value: "" });
|
|
||||||
setPrevDependency(props.dependencyFieldValue.value);
|
|
||||||
}, [props.dependencyFieldValue.value]);
|
|
||||||
return (
|
|
||||||
<CustomSelectByDependency
|
|
||||||
{...props}
|
|
||||||
value={
|
|
||||||
props.dependencyFieldValue.value === ""
|
|
||||||
? "empty"
|
|
||||||
: loadingSubItemsList
|
|
||||||
? "loading"
|
|
||||||
: props.filterParameters.value
|
|
||||||
}
|
|
||||||
columnSelectOption={getColumnSelectOptions}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
Cell: ({ row }) => {
|
|
||||||
return row.original.sub_item_fa;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: "مقدار", // Value
|
|
||||||
id: "value",
|
|
||||||
enableColumnFilter: false,
|
enableColumnFilter: false,
|
||||||
enableSorting: false,
|
enableSorting: false,
|
||||||
datatype: "text",
|
|
||||||
filterMode: "equals",
|
|
||||||
grow: false,
|
grow: false,
|
||||||
size: 120,
|
size: 50,
|
||||||
columnFilterModeOptions: ["equals", "contains"],
|
columns: [
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
{
|
||||||
return (
|
header: "آیتم فعالیت",
|
||||||
<Stack direction="row" alignItems="center" spacing={0.5}>
|
id: "item",
|
||||||
<Typography sx={{ margin: 1 }} component="span">
|
enableColumnFilter: true,
|
||||||
{(row.original.sub_item_data / 1).toLocaleString()}
|
datatype: "numeric",
|
||||||
</Typography>
|
filterMode: "equals",
|
||||||
<Typography component="span" variant="caption">
|
grow: false,
|
||||||
{`(${row.original.unit_fa})`}
|
size: 100,
|
||||||
</Typography>
|
ColumnSelectComponent: (props) => {
|
||||||
</Stack>
|
const { itemsList, loadingItemsList, errorItemsList } = useRoadItemGetItems();
|
||||||
);
|
|
||||||
},
|
const getColumnSelectOptions = useMemo(() => {
|
||||||
},
|
if (loadingItemsList) {
|
||||||
{
|
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
||||||
header: "تصاویر",
|
}
|
||||||
id: "images",
|
if (errorItemsList) {
|
||||||
enableColumnFilter: false,
|
return [{ value: "error", label: "خطا در بارگذاری" }];
|
||||||
enableSorting: false,
|
}
|
||||||
datatype: "array",
|
return [
|
||||||
grow: false,
|
{ value: "", label: "همه آیتم ها" },
|
||||||
size: 100,
|
...itemsList.map((item) => ({
|
||||||
muiTableBodyCellProps: {
|
value: item.id,
|
||||||
sx: {
|
label: item.name,
|
||||||
borderLeft: "1px solid #e1e1e1",
|
})),
|
||||||
py: 0,
|
];
|
||||||
"&:first-of-type": {
|
}, [itemsList, loadingItemsList, errorItemsList]);
|
||||||
borderLeft: "unset",
|
|
||||||
|
return (
|
||||||
|
<CustomSelectByDependency
|
||||||
|
{...props}
|
||||||
|
value={loadingItemsList ? "loading" : props.filterParameters.value}
|
||||||
|
columnSelectOption={getColumnSelectOptions}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
Cell: ({ row }) => {
|
||||||
|
return row.original.item_fa;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
header: "اقدام انجام شده",
|
||||||
return (
|
id: "sub_item",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
enableColumnFilter: true,
|
||||||
<ImageDialog rowId={row.getValue("id")} />
|
datatype: "numeric",
|
||||||
</Stack>
|
filterMode: "equals",
|
||||||
);
|
dependencyId: "item",
|
||||||
},
|
ColumnSelectComponent: (props) => {
|
||||||
},
|
const { subItemsList, loadingSubItemsList, errorSubItemsList } = useRoadItemGetSubItems(
|
||||||
{
|
props.dependencyFieldValue.value
|
||||||
header: "موقعیت", // Location
|
);
|
||||||
id: "location",
|
const [prevDependency, setPrevDependency] = useState(props.dependencyFieldValue.value);
|
||||||
enableColumnFilter: false,
|
|
||||||
enableSorting: false,
|
const getColumnSelectOptions = useMemo(() => {
|
||||||
datatype: "array",
|
if (props.dependencyFieldValue.value === "") {
|
||||||
grow: false,
|
return [{ value: "empty", label: "ابتدا آیتم فعالیت را انتخاب کنید" }];
|
||||||
size: 100,
|
}
|
||||||
muiTableBodyCellProps: {
|
if (loadingSubItemsList) {
|
||||||
sx: {
|
return [{ value: "loading", label: "در حال بارگذاری..." }];
|
||||||
borderLeft: "1px solid #e1e1e1",
|
}
|
||||||
py: 0,
|
if (errorSubItemsList) {
|
||||||
"&:first-of-type": {
|
return [{ value: "error", label: "خطا در بارگذاری" }];
|
||||||
borderLeft: "unset",
|
}
|
||||||
|
return [
|
||||||
|
{ value: "", label: "همه اقدام ها" },
|
||||||
|
...subItemsList.map((item) => ({
|
||||||
|
value: item.sub_item,
|
||||||
|
label: item.name,
|
||||||
|
})),
|
||||||
|
];
|
||||||
|
}, [subItemsList, loadingSubItemsList, errorSubItemsList]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (prevDependency === props.dependencyFieldValue.value) return;
|
||||||
|
props.handleChange({ ...props.filterParameters, value: "" });
|
||||||
|
setPrevDependency(props.dependencyFieldValue.value);
|
||||||
|
}, [props.dependencyFieldValue.value]);
|
||||||
|
return (
|
||||||
|
<CustomSelectByDependency
|
||||||
|
{...props}
|
||||||
|
value={
|
||||||
|
props.dependencyFieldValue.value === ""
|
||||||
|
? "empty"
|
||||||
|
: loadingSubItemsList
|
||||||
|
? "loading"
|
||||||
|
: props.filterParameters.value
|
||||||
|
}
|
||||||
|
columnSelectOption={getColumnSelectOptions}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
Cell: ({ row }) => {
|
||||||
|
return row.original.sub_item_fa;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
header: "مقدار", // Value
|
||||||
return (
|
id: "value",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
enableColumnFilter: false,
|
||||||
<LocationForm
|
enableSorting: false,
|
||||||
start_lat={row.original.start_lat}
|
datatype: "text",
|
||||||
start_lng={row.original.start_lng}
|
filterMode: "equals",
|
||||||
end_lat={row.original.end_lat}
|
grow: false,
|
||||||
end_lng={row.original.end_lng}
|
size: 120,
|
||||||
/>
|
columnFilterModeOptions: ["equals", "contains"],
|
||||||
</Stack>
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
);
|
return (
|
||||||
},
|
<Stack direction="row" alignItems="center" spacing={0.5}>
|
||||||
},
|
<Typography sx={{ margin: 1 }} component="span">
|
||||||
{
|
{(row.original.sub_item_data / 1).toLocaleString()}
|
||||||
header: "خودرو ها",
|
</Typography>
|
||||||
id: "cmmsMachines__machine_code",
|
<Typography component="span" variant="caption">
|
||||||
enableColumnFilter: true,
|
{`(${row.original.unit_fa})`}
|
||||||
datatype: "text",
|
</Typography>
|
||||||
filterMode: "contains",
|
</Stack>
|
||||||
enableSorting: false,
|
);
|
||||||
columnFilterModeOptions: ["equals", "contains"],
|
|
||||||
grow: false,
|
|
||||||
size: 100,
|
|
||||||
muiTableBodyCellProps: {
|
|
||||||
sx: {
|
|
||||||
borderLeft: "1px solid #e1e1e1",
|
|
||||||
py: 0,
|
|
||||||
"&:first-of-type": {
|
|
||||||
borderLeft: "unset",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
header: "تصاویر",
|
||||||
return (
|
id: "images",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
enableColumnFilter: false,
|
||||||
<MachinesCodeDialog rowId={row.getValue("id")} />
|
enableSorting: false,
|
||||||
</Stack>
|
datatype: "array",
|
||||||
);
|
grow: false,
|
||||||
},
|
size: 100,
|
||||||
},
|
muiTableBodyCellProps: {
|
||||||
{
|
sx: {
|
||||||
header: "راهداران",
|
borderLeft: "1px solid #e1e1e1",
|
||||||
id: "rahdaran__code",
|
py: 0,
|
||||||
enableColumnFilter: true,
|
"&:first-of-type": {
|
||||||
enableSorting: false,
|
borderLeft: "unset",
|
||||||
datatype: "text",
|
},
|
||||||
filterMode: "contains",
|
},
|
||||||
columnFilterModeOptions: ["equals", "contains"],
|
},
|
||||||
grow: false,
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
size: 100,
|
return (
|
||||||
muiTableBodyCellProps: {
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
sx: {
|
<ImageDialog rowId={row.getValue("id")} />
|
||||||
borderLeft: "1px solid #e1e1e1",
|
</Stack>
|
||||||
py: 0,
|
);
|
||||||
"&:first-of-type": {
|
|
||||||
borderLeft: "unset",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
Cell: ({ renderedCellValue, row }) => {
|
header: "موقعیت", // Location
|
||||||
return (
|
id: "location",
|
||||||
<Stack alignItems={"center"} justifyContent={"center"}>
|
enableColumnFilter: false,
|
||||||
<RahdaranDialog rowId={row.getValue("id")} />
|
enableSorting: false,
|
||||||
</Stack>
|
datatype: "array",
|
||||||
);
|
grow: false,
|
||||||
},
|
size: 100,
|
||||||
},
|
muiTableBodyCellProps: {
|
||||||
{
|
sx: {
|
||||||
accessorFn: (row) => moment(row.activity_date_time).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
borderLeft: "1px solid #e1e1e1",
|
||||||
header: "تاریخ فعالیت", // Start Date
|
py: 0,
|
||||||
id: "activity_date_time",
|
"&:first-of-type": {
|
||||||
enableColumnFilter: true,
|
borderLeft: "unset",
|
||||||
datatype: "date",
|
},
|
||||||
filterMode: "between",
|
},
|
||||||
grow: false,
|
},
|
||||||
size: 100,
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
|
return (
|
||||||
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
|
<LocationForm
|
||||||
|
start_lat={row.original.start_lat}
|
||||||
|
start_lng={row.original.start_lng}
|
||||||
|
end_lat={row.original.end_lat}
|
||||||
|
end_lng={row.original.end_lng}
|
||||||
|
/>
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: "خودرو ها",
|
||||||
|
id: "cmmsMachines__machine_code",
|
||||||
|
enableColumnFilter: true,
|
||||||
|
datatype: "text",
|
||||||
|
filterMode: "contains",
|
||||||
|
enableSorting: false,
|
||||||
|
columnFilterModeOptions: ["equals", "contains"],
|
||||||
|
grow: false,
|
||||||
|
size: 100,
|
||||||
|
muiTableBodyCellProps: {
|
||||||
|
sx: {
|
||||||
|
borderLeft: "1px solid #e1e1e1",
|
||||||
|
py: 0,
|
||||||
|
"&:first-of-type": {
|
||||||
|
borderLeft: "unset",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
|
return (
|
||||||
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
|
<MachinesCodeDialog rowId={row.getValue("id")} />
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: "راهداران",
|
||||||
|
id: "rahdaran__code",
|
||||||
|
enableColumnFilter: true,
|
||||||
|
enableSorting: false,
|
||||||
|
datatype: "text",
|
||||||
|
filterMode: "contains",
|
||||||
|
columnFilterModeOptions: ["equals", "contains"],
|
||||||
|
grow: false,
|
||||||
|
size: 100,
|
||||||
|
muiTableBodyCellProps: {
|
||||||
|
sx: {
|
||||||
|
borderLeft: "1px solid #e1e1e1",
|
||||||
|
py: 0,
|
||||||
|
"&:first-of-type": {
|
||||||
|
borderLeft: "unset",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Cell: ({ renderedCellValue, row }) => {
|
||||||
|
return (
|
||||||
|
<Stack alignItems={"center"} justifyContent={"center"}>
|
||||||
|
<RahdaranDialog rowId={row.getValue("id")} />
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessorFn: (row) => moment(row.activity_date_time).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
||||||
|
header: "تاریخ فعالیت", // Start Date
|
||||||
|
id: "activity_date_time",
|
||||||
|
enableColumnFilter: true,
|
||||||
|
datatype: "date",
|
||||||
|
filterMode: "between",
|
||||||
|
grow: false,
|
||||||
|
size: 100,
|
||||||
|
},
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorFn: (row) => moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
accessorFn: (row) => moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"),
|
||||||
|
|||||||
Reference in New Issue
Block a user