fix: ionspection add users and infractions
This commit is contained in:
@@ -93,30 +93,28 @@ const MainSubmitInspection: React.FC<MainSubmitInspectionProps> = ({
|
||||
{ key: "عمده فروش", value: "عمده فروش" },
|
||||
];
|
||||
|
||||
const usersList = Array.isArray(usersData)
|
||||
? usersData
|
||||
: ((usersData as any)?.data ?? []);
|
||||
|
||||
const inspectorOptions = useMemo(() => {
|
||||
if (!usersData?.data) return [];
|
||||
return usersData.data
|
||||
.filter(
|
||||
(user: any) =>
|
||||
user.province === profile?.province &&
|
||||
!user?.permissions?.includes("admin")
|
||||
)
|
||||
if (!usersList?.length) return [];
|
||||
return usersList
|
||||
.filter((user: any) => user.province === profile?.province)
|
||||
.map((user: any) => ({
|
||||
key: `${user.fullname} / ${user.mobile}`,
|
||||
value: `${user.fullname} / ${user.mobile}`,
|
||||
}));
|
||||
}, [usersData, profile]);
|
||||
}, [usersList, profile]);
|
||||
|
||||
const defaultInspectorKeys = useMemo(() => {
|
||||
if (!isEdit || !item?.inspectors) return [];
|
||||
return item.inspectors.map((insp: any) => {
|
||||
if (typeof insp === "string") return insp;
|
||||
const user = usersData?.data?.find(
|
||||
(u: any) => u.fullname === insp.fullname
|
||||
);
|
||||
const user = usersList?.find((u: any) => u.fullname === insp.fullname);
|
||||
return user ? `${insp.fullname} / ${user.mobile}` : insp.fullname;
|
||||
});
|
||||
}, [item, isEdit, usersData]);
|
||||
}, [item, isEdit, usersList]);
|
||||
|
||||
const {
|
||||
control,
|
||||
@@ -150,17 +148,15 @@ const MainSubmitInspection: React.FC<MainSubmitInspectionProps> = ({
|
||||
const watchedInfractions = watch("infractions");
|
||||
|
||||
useEffect(() => {
|
||||
if (isEdit && item?.inspectors && usersData?.data) {
|
||||
if (isEdit && item?.inspectors && usersList?.length) {
|
||||
const inspectorStrings = item.inspectors.map((insp: any) => {
|
||||
if (typeof insp === "string") return insp;
|
||||
const user = usersData.data.find(
|
||||
(u: any) => u.fullname === insp.fullname
|
||||
);
|
||||
const user = usersList.find((u: any) => u.fullname === insp.fullname);
|
||||
return user ? `${insp.fullname} / ${user.mobile}` : insp.fullname;
|
||||
});
|
||||
setValue("inspectors", inspectorStrings);
|
||||
}
|
||||
}, [item, isEdit, usersData, setValue]);
|
||||
}, [item, isEdit, usersList, setValue]);
|
||||
|
||||
const submitInspectionMutation = useApiMutation({
|
||||
api: "inspections",
|
||||
@@ -226,8 +222,8 @@ const MainSubmitInspection: React.FC<MainSubmitInspectionProps> = ({
|
||||
(Array.isArray(field.value)
|
||||
? field.value
|
||||
: field.value
|
||||
? [field.value]
|
||||
: []) as (string | number)[]
|
||||
? [field.value]
|
||||
: []) as (string | number)[]
|
||||
}
|
||||
onChange={(keys) => setValue("license_type", keys as any)}
|
||||
title="نوع پروانه کسب"
|
||||
@@ -307,8 +303,8 @@ const MainSubmitInspection: React.FC<MainSubmitInspectionProps> = ({
|
||||
(Array.isArray(field.value)
|
||||
? field.value
|
||||
: field.value
|
||||
? [field.value]
|
||||
: []) as (string | number)[]
|
||||
? [field.value]
|
||||
: []) as (string | number)[]
|
||||
}
|
||||
onChange={(keys) => setValue("ownership_type", keys as any)}
|
||||
title="نوع مالکیت"
|
||||
@@ -328,8 +324,8 @@ const MainSubmitInspection: React.FC<MainSubmitInspectionProps> = ({
|
||||
(Array.isArray(field.value)
|
||||
? field.value
|
||||
: field.value
|
||||
? [field.value]
|
||||
: []) as (string | number)[]
|
||||
? [field.value]
|
||||
: []) as (string | number)[]
|
||||
}
|
||||
onChange={(keys) => setValue("unit_type", keys as any)}
|
||||
title="نوع واحد"
|
||||
|
||||
Reference in New Issue
Block a user