Merge branch 'release/v1.4.2'
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
HOST="rms.witel.ir"
|
||||
NEXT_PUBLIC_VERSION="1.4.0"
|
||||
NEXT_PUBLIC_VERSION="1.4.2"
|
||||
NEXT_PUBLIC_API_URL="https://rms.witel.ir"
|
||||
NEXT_PUBLIC_MAPTILE_ENDPOINT="https://rmsmap.rmto.ir/141map"
|
||||
@@ -1,4 +1,5 @@
|
||||
import ControlPage from "@/components/dashboard/roadMissions/control";
|
||||
import WithPermission from "@/core/middlewares/withPermission";
|
||||
|
||||
export const metadata = {
|
||||
title: "کارتابل کنترل",
|
||||
@@ -6,10 +7,10 @@ export const metadata = {
|
||||
const Page = () => {
|
||||
return (
|
||||
<>
|
||||
{/* <WithPermission permission_name={["create-road-item"]}> */}
|
||||
<ControlPage />
|
||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||
{/* </WithPermission> */}
|
||||
<WithPermission permission_name={["manage-control-unit"]}>
|
||||
<ControlPage />
|
||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||
</WithPermission>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -7,10 +7,10 @@ export const metadata = {
|
||||
const Page = () => {
|
||||
return (
|
||||
<>
|
||||
{/* <WithPermission permission_name={["create-road-item"]}> */}
|
||||
<OperatorPage />
|
||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||
{/* </WithPermission> */}
|
||||
<WithPermission permission_name={["manage-request-portal-country", "manage-request-portal-province", "manage-request-portal-city"]}>
|
||||
<OperatorPage />
|
||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||
</WithPermission>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import TransportationPage from "@/components/dashboard/roadMissions/transportation";
|
||||
import WithPermission from "@/core/middlewares/withPermission";
|
||||
|
||||
export const metadata = {
|
||||
title: "کارتابل نقلیه",
|
||||
@@ -6,10 +7,10 @@ export const metadata = {
|
||||
const Page = () => {
|
||||
return (
|
||||
<>
|
||||
{/* <WithPermission permission_name={["create-road-item"]}> */}
|
||||
<TransportationPage />
|
||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||
{/* </WithPermission> */}
|
||||
<WithPermission permission_name={["manage-transportation-unit"]}>
|
||||
<TransportationPage />
|
||||
{/* <ActivityCodeLog activity_code={1152} /> */}
|
||||
</WithPermission>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@ const MissionDates = ({ control }) => {
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
{type == 2 && (
|
||||
{type == 1 && (
|
||||
<Grid item xs={12} sm={6}>
|
||||
<Controller
|
||||
control={control}
|
||||
@@ -66,7 +66,7 @@ const MissionDates = ({ control }) => {
|
||||
}}
|
||||
/>
|
||||
</Grid>
|
||||
{type == 2 && (
|
||||
{type == 1 && (
|
||||
<Grid item xs={12} sm={6}>
|
||||
<Controller
|
||||
control={control}
|
||||
|
||||
@@ -13,13 +13,13 @@ const validationSchema = object({
|
||||
type: string().required("نوع ماموریت را مشخص کنید!"),
|
||||
start_date: string().required("تاریخ شروع ماموریت را مشخص کنید!"),
|
||||
start_time: string().when("type", {
|
||||
is: "2",
|
||||
is: "1",
|
||||
then: (schema) => schema.required("زمان شروع ماموریت را مشخص کنید!"),
|
||||
otherwise: (schema) => schema.notRequired(),
|
||||
}),
|
||||
end_date: string().required("تاریخ پایان ماموریت را مشخص کنید!"),
|
||||
end_time: string().when("type", {
|
||||
is: "2",
|
||||
is: "1",
|
||||
then: (schema) => schema.required("زمان شروع ماموریت را مشخص کنید!"),
|
||||
otherwise: (schema) => schema.notRequired(),
|
||||
}),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import RahdarCode from "@/core/components/RahdarCode";
|
||||
import StyledForm from "@/core/components/StyledForm";
|
||||
import { yupResolver } from "@hookform/resolvers/yup";
|
||||
import { Add } from "@mui/icons-material";
|
||||
import { Button, Stack } from "@mui/material";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { object } from "yup";
|
||||
@@ -53,6 +54,7 @@ const RahdaranForm = ({ setRahdaran }) => {
|
||||
type="submit"
|
||||
sx={{ textWrap: "nowrap", px: 3 }}
|
||||
disabled={isSubmitting || !isValid}
|
||||
startIcon={<Add />}
|
||||
>
|
||||
افزودن راهدار
|
||||
</Button>
|
||||
|
||||
@@ -54,7 +54,7 @@ const RequestMachinesForm = ({ requests, setRequests }) => {
|
||||
)}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item xs={12} sm={5}>
|
||||
<Grid item xs={12} sm={4}>
|
||||
<Controller
|
||||
control={control}
|
||||
name={"count"}
|
||||
@@ -76,9 +76,9 @@ const RequestMachinesForm = ({ requests, setRequests }) => {
|
||||
)}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item xs={12} sm={2}>
|
||||
<Grid item xs={12} sm={3}>
|
||||
<Button variant="outlined" type="submit" fullWidth startIcon={<Add />}>
|
||||
افزودن
|
||||
افزودن خودرو
|
||||
</Button>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
@@ -42,7 +42,7 @@ const Verify = ({ types, regions, allData, handlePrev, submitForm, submitting })
|
||||
<Stack direction={"row"} alignItems={"center"} spacing={1}>
|
||||
<Typography variant="body2">تاریخ شروع ماموریت</Typography>
|
||||
<Divider sx={{ flex: 1 }} />
|
||||
{allData.type == 2 ? (
|
||||
{allData.type == 1 ? (
|
||||
<Chip
|
||||
size="small"
|
||||
label={`${moment(allData.start_time).format("HH:mm")} | ${moment(allData.start_date).locale("fa").format("YYYY/MM/DD")}`}
|
||||
@@ -57,7 +57,7 @@ const Verify = ({ types, regions, allData, handlePrev, submitForm, submitting })
|
||||
<Stack direction={"row"} alignItems={"center"} spacing={1}>
|
||||
<Typography variant="body2">تاریخ پایان ماموریت</Typography>
|
||||
<Divider sx={{ flex: 1 }} />
|
||||
{allData.type == 2 ? (
|
||||
{allData.type == 1 ? (
|
||||
<Chip
|
||||
size="small"
|
||||
label={`${moment(allData.end_time).format("HH:mm")} | ${moment(allData.end_date).locale("fa").format("YYYY/MM/DD")}`}
|
||||
|
||||
@@ -8,8 +8,8 @@ import Area from "./Area";
|
||||
import Verify from "./Verify";
|
||||
|
||||
const types = [
|
||||
{ id: 1, name_fa: "روزانه" },
|
||||
{ id: 2, name_fa: "ساعتی" },
|
||||
{ id: 1, name_fa: "ساعتی" },
|
||||
{ id: 2, name_fa: "روزانه" },
|
||||
];
|
||||
|
||||
const regions = [
|
||||
|
||||
@@ -30,15 +30,15 @@ const Create = ({ mutate }) => {
|
||||
type: result.type,
|
||||
zone: result.region,
|
||||
end_point: result.end_point,
|
||||
...(result.type == 2
|
||||
...(result.type == 1
|
||||
? {
|
||||
start_date: `${result.start_date} ${moment(result.start_time).format("HH:mm")}`,
|
||||
end_date: `${result.end_date} ${moment(result.end_time).format("HH:mm")}`,
|
||||
}
|
||||
start_date: `${result.start_date} ${moment(result.start_time).format("HH:mm")}`,
|
||||
end_date: `${result.end_date} ${moment(result.end_time).format("HH:mm")}`,
|
||||
}
|
||||
: {
|
||||
start_date: result.start_date,
|
||||
end_date: result.end_date,
|
||||
}),
|
||||
start_date: result.start_date,
|
||||
end_date: result.end_date,
|
||||
}),
|
||||
},
|
||||
hasSidebarUpdate: true,
|
||||
})
|
||||
@@ -46,7 +46,7 @@ const Create = ({ mutate }) => {
|
||||
mutate();
|
||||
setOpen(false);
|
||||
})
|
||||
.catch((error) => {})
|
||||
.catch((error) => { })
|
||||
.finally(() => {
|
||||
setSubmitting(false);
|
||||
});
|
||||
|
||||
@@ -38,15 +38,15 @@ const EditController = ({ row, mutate, openEditDialog, setOpenEditDialog }) => {
|
||||
type: result.type,
|
||||
zone: result.region,
|
||||
end_point: result.end_point,
|
||||
...(result.type == 2
|
||||
...(result.type == 1
|
||||
? {
|
||||
start_date: `${result.start_date} ${moment(result.start_time).format("HH:mm")}`,
|
||||
end_date: `${result.end_date} ${moment(result.end_time).format("HH:mm")}`,
|
||||
}
|
||||
start_date: `${result.start_date} ${moment(result.start_time).format("HH:mm")}`,
|
||||
end_date: `${result.end_date} ${moment(result.end_time).format("HH:mm")}`,
|
||||
}
|
||||
: {
|
||||
start_date: result.start_date,
|
||||
end_date: result.end_date,
|
||||
}),
|
||||
start_date: result.start_date,
|
||||
end_date: result.end_date,
|
||||
}),
|
||||
},
|
||||
hasSidebarUpdate: true,
|
||||
notificationSuccess: true,
|
||||
@@ -55,7 +55,7 @@ const EditController = ({ row, mutate, openEditDialog, setOpenEditDialog }) => {
|
||||
mutate();
|
||||
setOpenEditDialog(false);
|
||||
})
|
||||
.catch((error) => {})
|
||||
.catch((error) => { })
|
||||
.finally(() => {
|
||||
setSubmitting(false);
|
||||
});
|
||||
|
||||
@@ -38,6 +38,7 @@ const MachinesList = ({ request, dispatch, setOpenMachinesDialog }) => {
|
||||
<Box sx={{ mt: 3, p: 1 }}>
|
||||
<DataTableWithAuth
|
||||
need_filter={true}
|
||||
table_title="لیست خودرو ها"
|
||||
columns={columns}
|
||||
sorting={[{ id: "id", desc: true }]}
|
||||
table_url={GET_MACHINES_TABLE_LIST}
|
||||
|
||||
@@ -7,10 +7,27 @@ import { toast } from "react-toastify";
|
||||
import useTableSetting from "@/lib/hooks/useTableSetting";
|
||||
import { flattenObjectOfObjects } from "@/core/utils/flattenObjectOfObjects";
|
||||
|
||||
function filterFalseValues(obj) {
|
||||
const result = {};
|
||||
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
if (value === false) {
|
||||
result[key] = false;
|
||||
} else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
||||
const nested = filterFalseValues(value);
|
||||
if (Object.keys(nested).length > 0) {
|
||||
result[key] = nested;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function AskForKeepData({ filterData, sortData, hideData, user_id, page_name, table_name, columns }) {
|
||||
const { filterAction, sortAction, hideAction } = useTableSetting();
|
||||
|
||||
const filteredHideData = Object.fromEntries(Object.entries(hideData).filter(([key, value]) => value === false));
|
||||
const filteredHideData = filterFalseValues(hideData);
|
||||
|
||||
const flattenHideData = flattenObjectOfObjects(filteredHideData);
|
||||
|
||||
|
||||
@@ -102,21 +102,21 @@ export const pageMenuDev = [
|
||||
label: "کارتابل",
|
||||
type: "page",
|
||||
route: "/dashboard/road-missions/operator",
|
||||
permissions: ["all"],
|
||||
permissions: ["manage-request-portal-country", "manage-request-portal-province", "manage-request-portal-city"],
|
||||
},
|
||||
{
|
||||
id: "roadMissionsManagemnetNaqlie",
|
||||
label: "نقلیه",
|
||||
type: "page",
|
||||
route: "/dashboard/road-missions/transportation",
|
||||
permissions: ["all"],
|
||||
permissions: ["manage-transportation-unit"],
|
||||
},
|
||||
{
|
||||
id: "roadMissionsManagemnetControl",
|
||||
label: "کنترل",
|
||||
type: "page",
|
||||
route: "/dashboard/road-missions/control",
|
||||
permissions: ["all"],
|
||||
permissions: ["manage-control-unit"],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -85,7 +85,7 @@ const DataTableProvider = ({ children, user_id, page_name, table_name, columns,
|
||||
} else {
|
||||
acc[column.id] = {
|
||||
id: column.id,
|
||||
value: storeFilter?.value || "",
|
||||
value: storeFilter?.value ?? "",
|
||||
filterMode: storeFilter?.filterMode || column.filterMode,
|
||||
datatype: column.datatype,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user