Merge branch 'release/v1.3.7'

This commit is contained in:
AmirHossein Mahmoodi
2025-06-01 08:53:05 +03:30
10 changed files with 56 additions and 48 deletions

View File

@@ -1,4 +1,4 @@
HOST="rms.witel.ir"
NEXT_PUBLIC_VERSION="1.3.6"
NEXT_PUBLIC_VERSION="1.3.7"
NEXT_PUBLIC_API_URL="https://rms.witel.ir"
NEXT_PUBLIC_MAPTILE_ENDPOINT="https://rmsmap.rmto.ir/141map"

View File

@@ -32,47 +32,49 @@ const validationSchema = object({
province_id: number().required("لطفا استان را وارد کنید!!!"),
city_id: number().required("لطفا شهرستان را وارد کنید!!!"),
axis_name: string().required("لطفا نام محور را وارد کنید!!!"),
driver_name: string().when('isForeign', {
driver_name: string().when("isForeign", {
is: "0",
then: (schema) => schema.required("لطفا نام و نام خانوادگی را وارد کنید!!!"),
}),
phone_number: string()
.when('isForeign', {
is: "0",
then: (schema) => schema.matches(/^09\d{9}$/, "شماره موبایل باید با 09 شروع شده و 11 رقم باشد")
.required("لطفا تلفن همراه را وارد کنید!!!"),
}),
national_code: mixed().when('isForeign', {
phone_number: string().when("isForeign", {
is: "0",
then: (schema) => schema.test("max", "کد ملی باید شامل 10 رقم باشد", (value) => value.toString().length === 10)
.test("validation", "کد ملی صحیح نمی باشد", (value) => validateNationalCode(value))
.required("لطفا کد ملی را وارد کنید!!!"),
then: (schema) =>
schema
.matches(/^09\d{9}$/, "شماره موبایل باید با 09 شروع شده و 11 رقم باشد")
.required("لطفا تلفن همراه را وارد کنید!!!"),
}),
national_code: mixed().when("isForeign", {
is: "0",
then: (schema) =>
schema
.test("max", "کد ملی باید شامل 10 رقم باشد", (value) => value.toString().length === 10)
.test("validation", "کد ملی صحیح نمی باشد", (value) => validateNationalCode(value))
.required("لطفا کد ملی را وارد کنید!!!"),
}),
start_point: mixed()
.test("start-point-required", "لطفاً نقطه تصادف را مشخص کنید!", function (value) {
return !!value;
})
.required("لطفاً نقطه تصادف را مشخص کنید!"),
plate_part1: mixed()
.when('isForeign', {
is: "0",
then: (schema) => schema.test("max", "2رقم", (value) => value.toString().length === 2)
.required("plate_part1 الزامیست"),
}),
plate_part2: mixed().when('isForeign', {
plate_part1: mixed().when("isForeign", {
is: "0",
then: (schema) =>
schema.test("max", "2رقم", (value) => value.toString().length === 2).required("plate_part1 الزامیست"),
}),
plate_part2: mixed().when("isForeign", {
is: "0",
then: (schema) => schema.required("plate_part2 الزامیست"),
}),
plate_part3: mixed().when('isForeign', {
plate_part3: mixed().when("isForeign", {
is: "0",
then: (schema) => schema.test("max", "3رقم", (value) => value.toString().length === 3)
.required("plate_part3الزامیست"),
then: (schema) =>
schema.test("max", "3رقم", (value) => value.toString().length === 3).required("plate_part3الزامیست"),
}),
plate_part4: mixed().when('isForeign', {
plate_part4: mixed().when("isForeign", {
is: "0",
then: (schema) => schema.test("max", "2رقم", (value) => value.toString().length === 2)
.required("plate_part4الزامیست"),
then: (schema) =>
schema.test("max", "2رقم", (value) => value.toString().length === 2).required("plate_part4الزامیست"),
}),
damage_picture1: mixed().nullable().required("لطفا عکس تصادف را بارگذاری کنید!"),
damage_picture2: mixed().nullable().required("لطفا عکس تصادف را بارگذاری کنید!"),

View File

@@ -16,7 +16,7 @@ const DamageInfo = ({ control, setValue, errors }) => {
return (
<Stack>
<LogesticController control={control} />
<Stack sx={{ mt: 2 }} alignItems={'center'} justifyContent={'center'}>
<Stack sx={{ mt: 2 }} alignItems={"center"} justifyContent={"center"}>
<Controller
name="isForeign"
control={control}
@@ -26,12 +26,8 @@ const DamageInfo = ({ control, setValue, errors }) => {
exclusive
onChange={(event, newAlignment) => field.onChange(newAlignment)}
>
<ToggleButton value="0">
ناوگان داخلی
</ToggleButton>
<ToggleButton value="1">
ناوگان خارجی
</ToggleButton>
<ToggleButton value="0">ناوگان داخلی</ToggleButton>
<ToggleButton value="1">ناوگان خارجی</ToggleButton>
</ToggleButtonGroup>
)}
/>

View File

@@ -23,7 +23,7 @@ const OperatorCreateForm = ({ open, setOpen, mutate }) => {
formData.append("city_id", result.city_id);
formData.append("axis_name", result.axis_name);
formData.append("is_foreign", result.isForeign);
if (result.isForeign == '0') {
if (result.isForeign == "0") {
formData.append("driver_name", result.driver_name);
formData.append("driver_phone_number", result.phone_number);
formData.append("driver_national_code", result.national_code);
@@ -54,7 +54,7 @@ const OperatorCreateForm = ({ open, setOpen, mutate }) => {
mutate();
setOpen(false);
})
.catch(() => { });
.catch(() => {});
};
const defaultData = {
isForeign: "0",

View File

@@ -151,7 +151,7 @@ const CreateFactorContent = ({ row, mutate, rowId, setOpenCreateFactorDialog })
<Grid item xs={12}>
<Stack spacing={1}>
<Alert severity="warning">
بعد از صدور فاکتور، ویرایش اطلاعات کاربر و مبالغ امکانپذیر نخواهد بود.
پس از صدور فاکتور، امکان ویرایش مبالغ بیمه و داغی وجود نخواهد داشت
</Alert>
<Alert severity="info">
لینک پرداخت فاکتور به شماره {row.original?.driver_phone_number} ارسال می شود.

View File

@@ -29,9 +29,9 @@ const EditController = ({ rowId, mutate, setOpenEditDialog }) => {
}, [rowId]);
const today = new Date().toISOString().split("T")[0];
const plaqueNumber = damageItemDetails?.plaque.split("-") || [];
const plaqueNumber = damageItemDetails?.is_foreign == 0 ? damageItemDetails?.plaque.split("-") || [] : [];
const defaultData = {
isForeign: damageItemDetails?.is_foreign,
isForeign: String(damageItemDetails?.is_foreign),
damage_picture1: damageItemDetails?.damage_picture1 || null,
damage_picture2: damageItemDetails?.damage_picture2 || null,
accident_date: new Date(damageItemDetails?.accident_date) || "",
@@ -70,7 +70,7 @@ const EditController = ({ rowId, mutate, setOpenEditDialog }) => {
formData.append("city_id", result.city_id);
formData.append("axis_name", result.axis_name);
formData.append("is_foreign", result.isForeign);
if (result.isForeign == '0') {
if (result.isForeign == "0") {
formData.append("driver_name", result.driver_name);
formData.append("driver_phone_number", result.phone_number);
formData.append("driver_national_code", result.national_code);
@@ -103,7 +103,7 @@ const EditController = ({ rowId, mutate, setOpenEditDialog }) => {
mutate();
setOpenEditDialog(false);
})
.catch(() => { });
.catch(() => {});
};
return (
<>

View File

@@ -162,8 +162,8 @@ const OperatorList = () => {
props.dependencyFieldValue?.value === ""
? "empty"
: loadingCityList
? "loading"
: props.filterParameters.value
? "loading"
: props.filterParameters.value
}
columnSelectOption={getColumnSelectOptions}
/>
@@ -199,7 +199,11 @@ const OperatorList = () => {
}));
},
Cell: ({ row }) => {
return <Typography variant={"body2"}>{row.original.is_foreign == "0" ? "داخلی" : "خارجی"}</Typography>;
return (
<Typography variant={"body2"}>
{row.original.is_foreign == "0" ? "داخلی" : "خارجی"}
</Typography>
);
},
},
{
@@ -248,7 +252,8 @@ const OperatorList = () => {
enableSorting: false,
grow: false,
size: 100,
Cell: ({ row, renderedCellValue }) => row.original.is_foreign == "0" ? <ShowPlate plate={renderedCellValue} /> : '',
Cell: ({ row, renderedCellValue }) =>
row.original.is_foreign == "0" ? <ShowPlate plate={renderedCellValue} /> : "",
},
{
accessorKey: "accident_type",

View File

@@ -1,4 +1,4 @@
import { Button, DialogActions, DialogContent, Stack, Typography } from "@mui/material";
import { Alert, Button, DialogActions, DialogContent, Stack, Typography } from "@mui/material";
import React, { useState } from "react";
import useRequest from "@/lib/hooks/useRequest";
import { GET_INSURANCE, GET_INSURANCE_PAGE } from "@/core/utils/routes";
@@ -24,6 +24,9 @@ const SendToInsuranceContent = ({ setOpenSendInsuranceDialog, rowId, mutate }) =
<DialogContent>
<Stack spacing={2}>
<Typography mt={2}>آیا از صدور نامه بیمه اطمینان دارید؟</Typography>
<Alert color="warning" icon={false}>
در صورت صدور نامه بیمه، اطلاعات قابل ویرایش یا حذف نخواهند بود
</Alert>
</Stack>
</DialogContent>
<DialogActions>

View File

@@ -26,7 +26,9 @@ const RowActions = ({ row, mutate }) => {
{hasEditPermission && [0].includes(row.original?.status) && (
<EditForm row={row} mutate={mutate} rowId={row.getValue("id")} />
)}
{(hasDeletePermission && [0].includes(row.original?.status)) && <DeleteDialog mutate={mutate} rowId={row.getValue("id")} />}
{hasDeletePermission && [0].includes(row.original?.status) && (
<DeleteDialog mutate={mutate} rowId={row.getValue("id")} />
)}
</Box>
);
};

View File

@@ -19,7 +19,7 @@ const ReportLists = ({ data, specialFilter }) => {
},
{
header: "تعداد خسارات ثبت شده",
id: 'countAll',
id: "countAll",
enableColumnFilter: false,
enableSorting: false,
datatype: "text",
@@ -118,11 +118,11 @@ const ReportLists = ({ data, specialFilter }) => {
return (renderedCellValue / 1).toLocaleString();
},
},
]
],
},
{
header: "تعداد نحوه شناسایی خسارت",
id: 'police_rah_All',
id: "police_rah_All",
enableColumnFilter: false,
enableSorting: false,
datatype: "text",