claimdetails[non-medical]
// import { Grid, Option } from "@ebh/capsule";
// import Autocomplete from "../../../../../components/autocomplete";
// import Select from "../../../../../components/select";
// import TextInput from "../../../../../components/text-input";
// import TextArea from "../../../../../components/text-area";
// import {
// background,
// margin,
// padding,
// radius,
// flex,
// gap,
// } from "@ebh/capsule/theme";
// import { Text } from "@ebh/capsule";
// import {
// Control,
// FieldErrors,
// FieldValues,
// Path,
// PathValue,
// UseFormClearErrors,
// UseFormGetValues,
// UseFormSetError,
// UseFormSetValue,
// UseFormStateReturn,
// UseFormWatch,
// } from "react-hook-form";
// import {
// useClaimCategoryList,
// useClaimDates,
// useFamilyMembers,
// useMasterData,
// } from "../../../../../api/hooks/ipd-reimbursement-hooks";
// import { IFamilyMembers } from "../../../../../interfaces";
// import { useEffect, useState } from "react";
// import {
// IPolicyConfig,
// ISelectedUserDetails,
// } from "../../../../../interfaces/context-interface";
// import cookiesManager from "../../../../../utils/cookies-manager";
// import { BR_TAG_REGEX } from "../../../../../components/constants/regex";
// import { useConsultationDateError } from "../../../../claims/ipd-reimbursement/claim-details/hooks/use-consultation-date-error";
// import {
// OPD_CLAIM_TYPES,
// TWO_LAKHS,
// } from "../../../../../components/constants";
// import { startCaseCustom } from "../../../../../utils/start-case";
// import { POLICY_DATA } from "../../../../../constants";
// import { InfoIcon } from "@ebh/capsule/icons";
// import DatePickerInput from "../../../../../components/date-input";
// import { getStartAndExitDates } from "../../../../../utils/get-start-end-dates";
// import { usePreFillSomeFields } from "../../../../claims/ipd-reimbursement/claim-details/hooks/use-pre-filled-details";
// interface ClaimDetailsProps<TFormData extends FieldValues = FieldValues> {
// control: Control<TFormData>;
// errors: FieldErrors<TFormData>;
// watch?: UseFormWatch<TFormData>;
// isFormDisabled?: boolean;
// decryptedData?: ISelectedUserDetails;
// setValue: UseFormSetValue<TFormData>;
// setError?: UseFormSetError<TFormData>;
// clearErrors?: UseFormClearErrors<TFormData>;
// getValues: UseFormGetValues<TFormData>;
// formState?: UseFormStateReturn<TFormData>;
// policyConfigData?: IPolicyConfig;
// showCategoryType?: boolean;
// isOpdClaim?: boolean;
// }
// function ClaimDetails<TFormData extends FieldValues = FieldValues>({
// control,
// errors,
// isFormDisabled,
// decryptedData,
// setError,
// clearErrors,
// isOpdClaim = false,
// // showCategoryType,
// policyConfigData,
// setValue,
// getValues,
// watch,
// }: ClaimDetailsProps<TFormData>) {
// const isRequired = { required: true };
// // const { effectiveFromDate, effectiveToDate, dateOfExit, dateOfInception } =
// // decryptedData || {};
// // const { startDate, exitDate } = getStartAndExitDates(
// // effectiveFromDate,
// // effectiveToDate,
// // dateOfExit,
// // dateOfInception
// // );
// const policyGrpSeqId =
// cookiesManager.get(POLICY_DATA.POLICY_GROUP_SEQ_ID) || "";
// const policySource = cookiesManager.get(POLICY_DATA.POLICY_SOURCE);
// const [showClaimAmountWarning, setClaimAmountWarning] =
// useState<boolean>(false);
// // const rawAddress = policyConfigData?.corporateSubmissionAddress;
// // const hardCopySubmissionAddress = rawAddress?.replace(BR_TAG_REGEX, "");
// const showCorporateHardCopySubmission =
// policyConfigData?.showCorporateHardCopySubmission || false;
// const [filledClaimAmount, selectedMember, consultationDate] =
// watch?.([
// "claimDetails.claimAmount",
// "claimDetails.nameOrRelationship",
// "claimDetails.consultationDate",
// ] as Path<TFormData>[]) || [];
// const balancedSuminsured = decryptedData?.balancedSuminsured;
// const sumInsured = decryptedData?.sumInsured;
// const balanceOpd = decryptedData?.balanceOpd;
// const opdLimit = decryptedData?.opdLimit;
// const { data: claimDates } = useClaimDates(
// selectedMember as string,
// isOpdClaim,
// policySource
// );
// useConsultationDateError<TFormData>({
// consultationDate,
// claimDates,
// setError,
// clearErrors,
// });
// const claimDetailsErrors = errors.claimDetails as FieldErrors<any>;
// const [fetchState, setFetchState] = useState({
// familyMembers: false,
// categories: false,
// offices: true,
// });
// const { data: familyRelationsList } = useFamilyMembers(policyGrpSeqId, {
// enabled: fetchState.familyMembers,
// staleTime: Infinity,
// gcTime: Infinity,
// });
// const { data: categoryList } = useClaimCategoryList(
// decryptedData?.policySeqId?.toString() || "",
// decryptedData?.groupId || "",
// {
// enabled: fetchState.categories,
// staleTime: Infinity,
// gcTime: Infinity,
// }
// );
// // const { data: officesData } = useMasterData("offices", {
// // enabled: fetchState.offices,
// // staleTime: Infinity,
// // gcTime: Infinity,
// // });
// useEffect(() => {
// if (familyRelationsList) {
// setFetchState((prev) => ({ ...prev, familyMembers: false }));
// }
// if (categoryList) {
// setFetchState((prev) => ({ ...prev, categories: false }));
// }
// if (officesData) {
// setFetchState((prev) => ({ ...prev, offices: false }));
// }
// }, [familyRelationsList, categoryList, officesData]);
// // const handleDropdownClick = () => {
// // if (!fetchState.familyMembers) {
// // setFetchState((prev) => ({ ...prev, familyMembers: true }));
// // }
// // };
// // const cityListOptions =
// // officesData?.offices?.map((city) => ({
// // label: startCaseCustom(city.value ?? ""),
// // value: city.id,
// // })) || [];
// // const handleCategoryDropdownClick = () => {
// // if (!fetchState.categories) {
// // setFetchState((prev) => ({ ...prev, categories: true }));
// // }
// // };
// usePreFillSomeFields<TFormData>({
// decryptedData,
// setValue,
// getValues,
// });
// // useEffect(() => {
// // if (
// // showCorporateHardCopySubmission &&
// // Number(filledClaimAmount ?? 0) >= TWO_LAKHS &&
// // !isOpdClaim
// // ) {
// // setValue?.(
// // "hardCopySubmissionAddress" as Path<TFormData>,
// // hardCopySubmissionAddress as PathValue<TFormData, Path<TFormData>>
// // );
// // }
// // if (!isOpdClaim && balancedSuminsured) {
// // if (Number(filledClaimAmount) > balancedSuminsured)
// // setClaimAmountWarning(true);
// // else setClaimAmountWarning(false);
// // }
// // if (isOpdClaim && balanceOpd) {
// // if (Number(filledClaimAmount) > balanceOpd) setClaimAmountWarning(true);
// // else setClaimAmountWarning(false);
// // }
// // }, [filledClaimAmount]);
// return (
// <div>
// {showClaimAmountWarning && (
// <div
// color="caution-600"
// css={[
// background("caution-100"),
// flex("row", "items-center"),
// gap(2),
// padding(2, 4, 2, 4),
// radius(2),
// margin(6, "bottom"),
// ]}
// >
// <InfoIcon color="caution-600" />
// <Text color="caution-600">
// {isOpdClaim
// ? `Your OPD balance is ${balanceOpd} and OPD limit is ${opdLimit}`
// : `Your Balanced Sum Insured is ${balancedSuminsured} and Sum Insured is ${sumInsured}`}
// </Text>
// </div>
// )}
// <Grid cols={1} sm={2} md={3} lg={4} gap={5}>
// <TextInput
// control={control}
// label="Name"
// placeholder="Enter Name"
// data-joyride-id="name"
// name="claimDetails.name"
// error={claimDetailsErrors?.name?.message}
// disabled={isFormDisabled}
// rules={isRequired}
// />
// <TextInput
// control={control}
// label="Phone Number"
// placeholder="Enter Number"
// name="claimDetails.mobileNumber"
// error={claimDetailsErrors?.mobileNumber?.message}
// disabled={isFormDisabled}
// rules={isRequired}
// />
// <TextInput
// control={control}
// label="Email ID"
// placeholder="Enter Email"
// name="claimDetails.email"
// error={claimDetailsErrors?.email?.message}
// disabled={isFormDisabled || !!decryptedData?.emailId}
// rules={isRequired}
// />
// {/* <Select
// label="Select Name / Relationship"
// placeholder="Select"
// name="claimDetails.nameOrRelationship"
// control={control}
// error={claimDetailsErrors?.nameOrRelationship?.message}
// onClick={handleDropdownClick}
// rules={isRequired}
// >
// {familyRelationsList?.map((member: IFamilyMembers) => (
// <Option key={member.memberSeqId} value={member.memberSeqId}>
// {startCaseCustom(member.memberName)}
// </Option>
// ))}
// </Select> */}
// {isOpdClaim && (
// <Select
// label="Select Claim Type"
// placeholder="Select"
// name="claimDetails.claimType"
// control={control}
// error={claimDetailsErrors?.claimType?.message}
// rules={isRequired}
// disabled={isFormDisabled}
// >
// {OPD_CLAIM_TYPES?.map((claim: string) => (
// <Option key={claim} value={claim}>
// {claim}
// </Option>
// ))}
// </Select>
// )}
// <TextInput
// control={control}
// label="Odometer Reading"
// placeholder="Odometer Reading"
// name="claimDetails.odometerReading"
// error={claimDetailsErrors?.policyNumber?.message}
// disabled={isFormDisabled || !!decryptedData?.policyNumber}
// rules={isRequired}
// />
// <TextInput
// control={control}
// label="Claim Amount"
// placeholder="Amount"
// name="claimDetails.claimAmount"
// error={claimDetailsErrors?.claimAmount?.message}
// disabled={isFormDisabled}
// rules={isRequired}
// />
// {/* {isOpdClaim && (
// <DatePickerInput
// control={control}
// label="Consultation Date"
// placeholder="dd/mm/yy"
// name={"claimDetails.consultationDate" as Path<TFormData>}
// disabled={isFormDisabled}
// rules={isRequired}
// minDate={startDate}
// maxDate={exitDate}
// />
// )} */}
// {/* <TextInput
// control={control}
// label="ABHA ID"
// placeholder="Enter ID"
// name="claimDetails.abhaId"
// error={claimDetailsErrors?.abhaId?.message}
// disabled={isFormDisabled}
// /> */}
// {/* <TextInput
// control={control}
// label="ABHA Address"
// placeholder="Enter Address"
// name="claimDetails.abhaAddress"
// error={claimDetailsErrors?.abhaAddress?.message}
// disabled={isFormDisabled}
// /> */}
// {/* <Autocomplete
// control={control}
// name="claimDetails.cities"
// label="Select Nearest City"
// placeholder="Select City"
// disabled={isFormDisabled}
// rules={isRequired}
// options={cityListOptions}
// error={claimDetailsErrors?.cities?.message}
// /> */}
// {/* {showCategoryType && (
// <Select
// label="Select Category"
// placeholder="Select"
// name="claimDetails.categories"
// control={control}
// error={claimDetailsErrors?.categories?.message}
// disabled={isFormDisabled}
// rules={isRequired}
// onClick={handleCategoryDropdownClick}
// >
// {[
// ...new Map(
// (categoryList || []).map((item) => [item.description, item])
// ).values(),
// ].map((val, idx) => (
// <Option key={idx} value={val.generalTypeId}>
// {val.description}
// </Option>
// ))}
// </Select>
// )}
// {showCorporateHardCopySubmission &&
// Number(filledClaimAmount ?? 0) > TWO_LAKHS &&
// !isOpdClaim && (
// <TextArea
// label="Hard Copy Submission Address"
// control={control}
// disabled={hardCopySubmissionAddress !== ""}
// name="hardCopySubmissionAddress"
// />
// )} */}
// </Grid>
// </div>
// );
// }
// export default ClaimDetails;
Comments
Post a Comment