fix type
This commit is contained in:
@@ -11,10 +11,10 @@ import { extractErrorMessage } from '@/config/func'
|
|||||||
const FormBuilderValues: FC = () => {
|
const FormBuilderValues: FC = () => {
|
||||||
|
|
||||||
const { id } = useParams()
|
const { id } = useParams()
|
||||||
const { data, refetch } = useGetFieldValues(Number(id))
|
const { data, refetch } = useGetFieldValues(id!)
|
||||||
const { mutate: deleteValue, isPending } = useDeleteFieldValue()
|
const { mutate: deleteValue, isPending } = useDeleteFieldValue()
|
||||||
|
|
||||||
const handleDelete = (id: number) => {
|
const handleDelete = (id: string) => {
|
||||||
deleteValue(id, {
|
deleteValue(id, {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
refetch()
|
refetch()
|
||||||
@@ -31,7 +31,7 @@ const FormBuilderValues: FC = () => {
|
|||||||
<h1 className='text-lg font-light'>مقادیر</h1>
|
<h1 className='text-lg font-light'>مقادیر</h1>
|
||||||
|
|
||||||
<CreateValue
|
<CreateValue
|
||||||
id={Number(id)}
|
id={id!}
|
||||||
refetch={refetch}
|
refetch={refetch}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ const FormBuilderCreate: FC = () => {
|
|||||||
name: Yup.string().required('این فیلد اجباری می باشد')
|
name: Yup.string().required('این فیلد اجباری می باشد')
|
||||||
}),
|
}),
|
||||||
onSubmit: (values) => {
|
onSubmit: (values) => {
|
||||||
createField({ id: Number(id), params: values }, {
|
createField({ id: id!, params: values }, {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
toast.success('با موفقیت ذخیره شد')
|
toast.success('با موفقیت ذخیره شد')
|
||||||
navigate(Paths.formBuilder.list + `${id}/${type} `)
|
navigate(Paths.formBuilder.list + `${id}/${type} `)
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ const FormBuilderList: FC = () => {
|
|||||||
|
|
||||||
const { id, type } = useParams()
|
const { id, type } = useParams()
|
||||||
const { mutate: deleteField, isPending } = useDeleteField()
|
const { mutate: deleteField, isPending } = useDeleteField()
|
||||||
const { data, refetch } = useGetFields(Number(id))
|
const { data, refetch } = useGetFields(id ?? '')
|
||||||
|
|
||||||
const handleDelete = (id: number) => {
|
const handleDelete = (id: string) => {
|
||||||
deleteField(id, {
|
deleteField(id, {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
refetch()
|
refetch()
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const FormBuilderUpdate: FC = () => {
|
|||||||
|
|
||||||
const { id } = useParams()
|
const { id } = useParams()
|
||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
const { data, refetch } = useGetFieldDetail(Number(id))
|
const { data, refetch } = useGetFieldDetail(id!)
|
||||||
const { mutate: createField, isPending } = useUpdateField()
|
const { mutate: createField, isPending } = useUpdateField()
|
||||||
|
|
||||||
const formik = useFormik<CreateFieldType>({
|
const formik = useFormik<CreateFieldType>({
|
||||||
@@ -33,7 +33,7 @@ const FormBuilderUpdate: FC = () => {
|
|||||||
name: Yup.string().required('این فیلد اجباری می باشد')
|
name: Yup.string().required('این فیلد اجباری می باشد')
|
||||||
}),
|
}),
|
||||||
onSubmit: (values) => {
|
onSubmit: (values) => {
|
||||||
createField({ id: Number(id), params: values }, {
|
createField({ id: id!, params: values }, {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
toast.success('با موفقیت ذخیره شد')
|
toast.success('با موفقیت ذخیره شد')
|
||||||
refetch()
|
refetch()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { extractErrorMessage } from '@/config/func'
|
|||||||
import { toast } from 'react-toastify'
|
import { toast } from 'react-toastify'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
id: number,
|
id: string,
|
||||||
refetch: () => void,
|
refetch: () => void,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { extractErrorMessage } from '@/config/func'
|
|||||||
import { toast } from 'react-toastify'
|
import { toast } from 'react-toastify'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
id: number,
|
id: string,
|
||||||
refetch: () => void,
|
refetch: () => void,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export const useCreateField = () => {
|
|||||||
const queryClient = new QueryClient();
|
const queryClient = new QueryClient();
|
||||||
|
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: ({ id, params }: { id: number; params: CreateFieldType }) =>
|
mutationFn: ({ id, params }: { id: string; params: CreateFieldType }) =>
|
||||||
api.createField(id, params),
|
api.createField(id, params),
|
||||||
onSuccess: (_, params) => {
|
onSuccess: (_, params) => {
|
||||||
queryClient.refetchQueries({
|
queryClient.refetchQueries({
|
||||||
@@ -16,7 +16,7 @@ export const useCreateField = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useGetFields = (id: number) => {
|
export const useGetFields = (id: string) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ["product-Fields", id],
|
queryKey: ["product-Fields", id],
|
||||||
queryFn: () => api.getFields(id),
|
queryFn: () => api.getFields(id),
|
||||||
@@ -24,7 +24,7 @@ export const useGetFields = (id: number) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useGetFieldDetail = (id: number) => {
|
export const useGetFieldDetail = (id: string) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ["product-Field", id],
|
queryKey: ["product-Field", id],
|
||||||
queryFn: () => api.getFieldDetail(id),
|
queryFn: () => api.getFieldDetail(id),
|
||||||
@@ -35,7 +35,7 @@ export const useGetFieldDetail = (id: number) => {
|
|||||||
export const useUpdateField = () => {
|
export const useUpdateField = () => {
|
||||||
const queryClient = new QueryClient();
|
const queryClient = new QueryClient();
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: ({ id, params }: { id: number; params: CreateFieldType }) =>
|
mutationFn: ({ id, params }: { id: string; params: CreateFieldType }) =>
|
||||||
api.updateField(id, params),
|
api.updateField(id, params),
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
@@ -47,11 +47,11 @@ export const useUpdateField = () => {
|
|||||||
|
|
||||||
export const useDeleteField = () => {
|
export const useDeleteField = () => {
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: (id: number) => api.deleteFields(id),
|
mutationFn: (id: string) => api.deleteFields(id),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useGetFieldValues = (id: number) => {
|
export const useGetFieldValues = (id: string) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ["attrbute-values", id],
|
queryKey: ["attrbute-values", id],
|
||||||
queryFn: () => api.getFieldValues(id),
|
queryFn: () => api.getFieldValues(id),
|
||||||
@@ -65,7 +65,7 @@ export const useCreateFieldValue = () => {
|
|||||||
id,
|
id,
|
||||||
params,
|
params,
|
||||||
}: {
|
}: {
|
||||||
id: number;
|
id: string;
|
||||||
params: CreateFieldValueType;
|
params: CreateFieldValueType;
|
||||||
}) => api.createFieldValues(id, params),
|
}) => api.createFieldValues(id, params),
|
||||||
});
|
});
|
||||||
@@ -77,13 +77,13 @@ export const useUpdateFieldValue = () => {
|
|||||||
id,
|
id,
|
||||||
params,
|
params,
|
||||||
}: {
|
}: {
|
||||||
id: number;
|
id: string;
|
||||||
params: CreateFieldValueType;
|
params: CreateFieldValueType;
|
||||||
}) => api.updateFieldValues(id, params),
|
}) => api.updateFieldValues(id, params),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useGetFieldValueDetail = (id: number, enabled: boolean) => {
|
export const useGetFieldValueDetail = (id: string, enabled: boolean) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ["attrbute-values-detail", id],
|
queryKey: ["attrbute-values-detail", id],
|
||||||
queryFn: () => api.getFieldValueDetail(id),
|
queryFn: () => api.getFieldValueDetail(id),
|
||||||
@@ -93,11 +93,11 @@ export const useGetFieldValueDetail = (id: number, enabled: boolean) => {
|
|||||||
|
|
||||||
export const useDeleteFieldValue = () => {
|
export const useDeleteFieldValue = () => {
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: (id: number) => api.deleteFieldValue(id),
|
mutationFn: (id: string) => api.deleteFieldValue(id),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useGetEntityField = (entityId: number) => {
|
export const useGetEntityField = (entityId: string) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ["entity-field", entityId],
|
queryKey: ["entity-field", entityId],
|
||||||
queryFn: () => api.getEntityField(entityId),
|
queryFn: () => api.getEntityField(entityId),
|
||||||
|
|||||||
@@ -9,76 +9,76 @@ import type {
|
|||||||
GetEnitityFieldResponseType,
|
GetEnitityFieldResponseType,
|
||||||
} from "../types/Types";
|
} from "../types/Types";
|
||||||
|
|
||||||
export const createField = async (id: number, params: CreateFieldType) => {
|
export const createField = async (id: string, params: CreateFieldType) => {
|
||||||
const { data } = await axios.post(`/admin/entity/${id}/field`, params);
|
const { data } = await axios.post(`/admin/entity/${id}/field`, params);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getFields = async (id: number) => {
|
export const getFields = async (id: string) => {
|
||||||
const { data } = await axios.get<FieldResponseType>(
|
const { data } = await axios.get<FieldResponseType>(
|
||||||
`/admin/entity/${id}/field`
|
`/admin/entity/${id}/field`,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getFieldDetail = async (id: number) => {
|
export const getFieldDetail = async (id: string) => {
|
||||||
const { data } = await axios.get<FieldDetailResponseType>(
|
const { data } = await axios.get<FieldDetailResponseType>(
|
||||||
`/admin/entity/field/${id}`
|
`/admin/entity/field/${id}`,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const updateField = async (id: number, params: CreateFieldType) => {
|
export const updateField = async (id: string, params: CreateFieldType) => {
|
||||||
const { data } = await axios.patch(`/admin/entity/field/${id}`, params);
|
const { data } = await axios.patch(`/admin/entity/field/${id}`, params);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const deleteFields = async (id: number) => {
|
export const deleteFields = async (id: string) => {
|
||||||
const { data } = await axios.delete(`/admin/entity/field/${id}`);
|
const { data } = await axios.delete(`/admin/entity/field/${id}`);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getFieldValues = async (id: number) => {
|
export const getFieldValues = async (id: string) => {
|
||||||
const { data } = await axios.get<FieldValuesResponseType>(
|
const { data } = await axios.get<FieldValuesResponseType>(
|
||||||
`/admin/entity/field/${id}/option`
|
`/admin/entity/field/${id}/option`,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const createFieldValues = async (
|
export const createFieldValues = async (
|
||||||
id: number,
|
id: string,
|
||||||
params: CreateFieldValueType
|
params: CreateFieldValueType,
|
||||||
) => {
|
) => {
|
||||||
const { data } = await axios.post(`/admin/entity/field/${id}/option`, params);
|
const { data } = await axios.post(`/admin/entity/field/${id}/option`, params);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const updateFieldValues = async (
|
export const updateFieldValues = async (
|
||||||
id: number,
|
id: string,
|
||||||
params: CreateFieldValueType
|
params: CreateFieldValueType,
|
||||||
) => {
|
) => {
|
||||||
const { data } = await axios.patch(
|
const { data } = await axios.patch(
|
||||||
`/admin/entity/field/option/${id}`,
|
`/admin/entity/field/option/${id}`,
|
||||||
params
|
params,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getFieldValueDetail = async (id: number) => {
|
export const getFieldValueDetail = async (id: string) => {
|
||||||
const { data } = await axios.get<FieldValueDetailResponseType>(
|
const { data } = await axios.get<FieldValueDetailResponseType>(
|
||||||
`/admin/entity/field/option/${id}`
|
`/admin/entity/field/option/${id}`,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const deleteFieldValue = async (id: number) => {
|
export const deleteFieldValue = async (id: string) => {
|
||||||
const { data } = await axios.delete(`/admin/entity/field/option/${id}`);
|
const { data } = await axios.delete(`/admin/entity/field/option/${id}`);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getEntityField = async (entityId: number) => {
|
export const getEntityField = async (entityId: string) => {
|
||||||
const { data } = await axios.get<GetEnitityFieldResponseType>(
|
const { data } = await axios.get<GetEnitityFieldResponseType>(
|
||||||
`/admin/entity/${entityId}/field`
|
`/admin/entity/${entityId}/field`,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ export type CreateFieldType = {
|
|||||||
|
|
||||||
export interface FieldType extends RowDataType {
|
export interface FieldType extends RowDataType {
|
||||||
createdAt: string,
|
createdAt: string,
|
||||||
id: number,
|
id: string,
|
||||||
isRequired: boolean,
|
isRequired: boolean,
|
||||||
name: string,
|
name: string,
|
||||||
order: number,
|
order: number,
|
||||||
product: number,
|
product: string,
|
||||||
type: FieldTypeEnum,
|
type: FieldTypeEnum,
|
||||||
multiple: boolean,
|
multiple: boolean,
|
||||||
entityType:string, // 'product' | 'print'
|
entityType:string, // 'product' | 'print'
|
||||||
@@ -33,7 +33,7 @@ export type CreateFieldValueType = {
|
|||||||
|
|
||||||
export type FieldValueType = {
|
export type FieldValueType = {
|
||||||
createdAt: string,
|
createdAt: string,
|
||||||
id: number,
|
id: string,
|
||||||
order: number,
|
order: number,
|
||||||
value: string,
|
value: string,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ type Props = {
|
|||||||
const OrderItem: FC<Props> = ({ item, estimatedDays }) => {
|
const OrderItem: FC<Props> = ({ item, estimatedDays }) => {
|
||||||
|
|
||||||
const { id } = useParams()
|
const { id } = useParams()
|
||||||
const { data: fields } = useGetEntityField(item.product?.id)
|
const { data: fields } = useGetEntityField(String(item.product?.id ?? ''))
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -67,7 +67,7 @@ const OrderItem: FC<Props> = ({ item, estimatedDays }) => {
|
|||||||
</div>
|
</div>
|
||||||
{
|
{
|
||||||
fields?.data?.map((field) => {
|
fields?.data?.map((field) => {
|
||||||
const value = item.attributes?.find((o => Number(o.attributeId) === Number(field.id)))
|
const value = item.attributes?.find((o) => String(o.attributeId) === String(field.id))
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ export const useGetAttributes = (id?: number) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useGetOrderItem = (id?: number) => {
|
export const useGetOrderItem = (id?: string) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ["order-item", id],
|
queryKey: ["order-item", id],
|
||||||
queryFn: () => api.getOrderItem(id),
|
queryFn: () => api.getOrderItem(id),
|
||||||
|
|||||||
@@ -26,7 +26,9 @@ export const getOrdersInvoiced = async (page: number = 1) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getRequests = async () => {
|
export const getRequests = async () => {
|
||||||
const { data } = await axios.get<OrderListResponseType>(`/admin/orders/request`);
|
const { data } = await axios.get<OrderListResponseType>(
|
||||||
|
`/admin/orders/request`,
|
||||||
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -77,7 +79,7 @@ export const getAttributes = async (productId?: number) => {
|
|||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getOrderItem = async (itemId?: number) => {
|
export const getOrderItem = async (itemId?: string) => {
|
||||||
const { data } = await axios.get<OrderItemResponseType>(
|
const { data } = await axios.get<OrderItemResponseType>(
|
||||||
`/admin/orders/item/${itemId}`,
|
`/admin/orders/item/${itemId}`,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export interface OrderItem {
|
|||||||
printAttachments: null;
|
printAttachments: null;
|
||||||
printAttributes?: {
|
printAttributes?: {
|
||||||
value: string;
|
value: string;
|
||||||
fieldId: number;
|
fieldId: string;
|
||||||
}[];
|
}[];
|
||||||
confirmedAt: string | null;
|
confirmedAt: string | null;
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
@@ -166,7 +166,7 @@ export type OrderItemType = {
|
|||||||
discount: number;
|
discount: number;
|
||||||
printAttributes?: {
|
printAttributes?: {
|
||||||
value: string;
|
value: string;
|
||||||
fieldId: number;
|
fieldId: string;
|
||||||
}[];
|
}[];
|
||||||
};
|
};
|
||||||
export type TicketsResponseType = BaseResponse<TicketType[]>;
|
export type TicketsResponseType = BaseResponse<TicketType[]>;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const PrintForm: FC = () => {
|
|||||||
|
|
||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
const { itemId, orderId } = useParams()
|
const { itemId, orderId } = useParams()
|
||||||
const { data: item } = useGetOrderItem(+itemId!)
|
const { data: item } = useGetOrderItem(itemId!)
|
||||||
const { isPending, mutate } = useCreatePrintForm()
|
const { isPending, mutate } = useCreatePrintForm()
|
||||||
const { data } = useGetSections()
|
const { data } = useGetSections()
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ const PrintForm: FC = () => {
|
|||||||
printAttributes: []
|
printAttributes: []
|
||||||
},
|
},
|
||||||
onSubmit: (values) => {
|
onSubmit: (values) => {
|
||||||
mutate({ itemId: +itemId!, orderId: orderId!, params: values }, {
|
mutate({ itemId: itemId!, orderId: orderId!, params: values }, {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
toast('با موفقیت ذخیره شد', 'success')
|
toast('با موفقیت ذخیره شد', 'success')
|
||||||
navigate(-1)
|
navigate(-1)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ const ManageForms: FC<Props> = (props) => {
|
|||||||
|
|
||||||
const { attributes, formik } = props
|
const { attributes, formik } = props
|
||||||
|
|
||||||
const handleChange = (attributeId: number, value: string) => {
|
const handleChange = (attributeId: string, value: string) => {
|
||||||
const attribute = formik.values.printAttributes
|
const attribute = formik.values.printAttributes
|
||||||
const index: number = attribute.findIndex(o => o.fieldId === attributeId)
|
const index: number = attribute.findIndex(o => o.fieldId === attributeId)
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
@@ -28,7 +28,7 @@ const ManageForms: FC<Props> = (props) => {
|
|||||||
} else {
|
} else {
|
||||||
attribute.push({ fieldId: attributeId, value: value })
|
attribute.push({ fieldId: attributeId, value: value })
|
||||||
}
|
}
|
||||||
formik.setFieldValue('attributes', attribute)
|
formik.setFieldValue('printAttributes', attribute)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ export const useCreatePrintForm = () => {
|
|||||||
params,
|
params,
|
||||||
}: {
|
}: {
|
||||||
orderId: string;
|
orderId: string;
|
||||||
itemId: number;
|
itemId: string;
|
||||||
params: CreatePrintFormType;
|
params: CreatePrintFormType;
|
||||||
}) => api.createPrintForm(orderId, itemId, params),
|
}) => api.createPrintForm(orderId, itemId, params),
|
||||||
// onSuccess: (_, params) => {
|
// onSuccess: (_, params) => {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const updateSection = async (id: number, params: CreateSectionType) => {
|
|||||||
|
|
||||||
export const getSectionDetail = async (id: number) => {
|
export const getSectionDetail = async (id: number) => {
|
||||||
const { data } = await axios.get<SectionDetailResponseType>(
|
const { data } = await axios.get<SectionDetailResponseType>(
|
||||||
`/admin/section/${id}`
|
`/admin/section/${id}`,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
@@ -35,12 +35,12 @@ export const deleteSection = async (id: number) => {
|
|||||||
|
|
||||||
export const createPrintForm = async (
|
export const createPrintForm = async (
|
||||||
orderId: string,
|
orderId: string,
|
||||||
itemId: number,
|
itemId: string,
|
||||||
params: CreatePrintFormType
|
params: CreatePrintFormType,
|
||||||
) => {
|
) => {
|
||||||
const { data } = await axios.patch(
|
const { data } = await axios.patch(
|
||||||
`/admin/orders/${orderId}/item/${itemId}/print`,
|
`/admin/orders/${orderId}/item/${itemId}/print`,
|
||||||
params
|
params,
|
||||||
);
|
);
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export type SectionsResponseType = BaseResponse<SectionItemType[]>;
|
|||||||
export type SectionDetailResponseType = BaseResponse<SectionItemType>;
|
export type SectionDetailResponseType = BaseResponse<SectionItemType>;
|
||||||
|
|
||||||
export type PrintAttributesType = {
|
export type PrintAttributesType = {
|
||||||
fieldId: number;
|
fieldId: string;
|
||||||
value: string;
|
value: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ type Props = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const RequestItem: FC<Props> = ({ item }) => {
|
const RequestItem: FC<Props> = ({ item }) => {
|
||||||
const { data: fields } = useGetEntityField(Number(item.product?.id))
|
const { data: fields } = useGetEntityField(String(item.product?.id ?? ''))
|
||||||
|
|
||||||
const handleOpenAttachment = (url: string) => {
|
const handleOpenAttachment = (url: string) => {
|
||||||
window.open(url, '_blank')
|
window.open(url, '_blank')
|
||||||
@@ -58,7 +58,7 @@ const RequestItem: FC<Props> = ({ item }) => {
|
|||||||
<div className='font-bold mb-5 mt-7'>ویژگی ها</div>
|
<div className='font-bold mb-5 mt-7'>ویژگی ها</div>
|
||||||
{
|
{
|
||||||
fields.data.map((field) => {
|
fields.data.map((field) => {
|
||||||
const value = item.attributes?.find((o) => Number(o.attributeId) === Number(field.id))
|
const value = item.attributes?.find((o) => String(o.attributeId) === String(field.id))
|
||||||
return (
|
return (
|
||||||
<div className='flex gap-3 items-center mt-3' key={field.id}>
|
<div className='flex gap-3 items-center mt-3' key={field.id}>
|
||||||
<div className='text-sm text-gray-500'>{field.name}:</div>
|
<div className='text-sm text-gray-500'>{field.name}:</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user