fix: clinic doc update
This commit is contained in:
parent
24c600ac32
commit
fbcdf3fccc
|
|
@ -481,12 +481,6 @@ const CustomFileUpload = forwardRef(function CustomFileUpload(
|
|||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Grid container>
|
||||
<Grid item md={12} className={classes.previewFileTitle}>
|
||||
<Typography color="white">{imageName}</Typography>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Grid xs={12} className={classes.previewImageGrid}>
|
||||
{!oldUploadedFileUrl ? (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -49,6 +49,16 @@ export const updateClinicStatus = (data) => {
|
|||
});
|
||||
};
|
||||
|
||||
export const getClinicDocs = (id) => {
|
||||
const url = `/clinics/verified-files/${id}`;
|
||||
return new Promise((resolve, reject) => {
|
||||
axiosInstance
|
||||
.get(url)
|
||||
.then((response) => resolve(response))
|
||||
.catch((err) => reject(err));
|
||||
});
|
||||
};
|
||||
|
||||
export const updateClinicDocs = (id, data) => {
|
||||
const url = `/clinics/${id}`;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ const GeneralInformation = ({ clinicData, clinicAdminData }) => {
|
|||
<Box>
|
||||
<Typography className={classes.companyUserDetailsTitle}>
|
||||
{clinicAdminData?.designation
|
||||
? clinicAdminData?.designation.toUpperCase()
|
||||
? clinicAdminData?.designation?.toUpperCase()?.replace(/_/g, ' ')
|
||||
: NOT_AVAILABLE_TEXT}
|
||||
</Typography>
|
||||
<Typography className={classes.companyUserDetailsSubTitle}>
|
||||
|
|
|
|||
|
|
@ -5,34 +5,64 @@ import CustomFileUpload from "../../components/CustomFileUpload";
|
|||
import { useFormik } from "formik";
|
||||
import * as Yup from "yup";
|
||||
import { MAX_FILE_SIZE_IN_MB, MAX_FILES } from "../../constants";
|
||||
import { updateClinicDocs } from "../../services/clinics.service";
|
||||
import {
|
||||
getClinicDocs,
|
||||
updateClinicDocs,
|
||||
} from "../../services/clinics.service";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useSelector } from "react-redux";
|
||||
|
||||
const ClinicDocUpdater = () => {
|
||||
const navigate = useNavigate();
|
||||
const user = useSelector((state) => state.login.user);
|
||||
// Use state instead of ref for initial form data
|
||||
const [initialFormData, setInitialFormData] = useState({
|
||||
companyABNImage: "",
|
||||
contract: "",
|
||||
logo: "",
|
||||
clinicId: "",
|
||||
isABNVerified: false,
|
||||
isContractVerified: false,
|
||||
isLogoVerified: false,
|
||||
});
|
||||
|
||||
// Track if data is loaded
|
||||
const [isDataLoaded, setIsDataLoaded] = useState(false);
|
||||
|
||||
const _getClinicDocs = async () => {
|
||||
try {
|
||||
const response = await getClinicDocs(user.created_clinics[0].id);
|
||||
const files = response?.data?.data?.clinic_files;
|
||||
const clinic = response?.data?.data?.clinic;
|
||||
setInitialFormData({
|
||||
...initialFormData,
|
||||
clinicId: user.created_clinics[0].id,
|
||||
companyABNImage: clinic?.abn_doc,
|
||||
contract: clinic?.contract_doc,
|
||||
logo: clinic?.logo,
|
||||
isABNVerified: files?.abn_doc_is_verified ?? false,
|
||||
isContractVerified: files?.contract_doc_is_verified ?? false,
|
||||
isLogoVerified: files?.logo_is_verified ?? false,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Error getting clinic docs:", error);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
// Load user data from localStorage
|
||||
try {
|
||||
const user = JSON.parse(localStorage.getItem("user"));
|
||||
|
||||
if (user && user.created_clinics ) {
|
||||
if (user && user.created_clinics) {
|
||||
setInitialFormData({
|
||||
companyABNImage: user.created_clinics.abn_doc || "",
|
||||
contract: user.created_clinics.contract_doc || "",
|
||||
logo: user.created_clinics.logo || "",
|
||||
clinicId: user.created_clinics.id || "",
|
||||
});
|
||||
} else {
|
||||
_getClinicDocs();
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error loading user data:", error);
|
||||
|
|
@ -48,12 +78,11 @@ const ClinicDocUpdater = () => {
|
|||
});
|
||||
|
||||
const handleFormSubmit = async () => {
|
||||
console.log("Form values:", formik.values);
|
||||
const payload = {
|
||||
abn_doc: formik.values.companyABNImage,
|
||||
contract_doc: formik.values.contract,
|
||||
logo: formik.values.logo,
|
||||
}
|
||||
};
|
||||
|
||||
const resp = await updateClinicDocs(formik.values.clinicId, payload);
|
||||
console.log(resp);
|
||||
|
|
@ -78,13 +107,8 @@ const ClinicDocUpdater = () => {
|
|||
|
||||
// Set uploaded file URL
|
||||
const setUploadedFileUrl = (documentName, fileUrl) => {
|
||||
console.log("Document Name:", documentName);
|
||||
console.log("File URL:", fileUrl);
|
||||
console.log("File URL Type:", typeof fileUrl);
|
||||
|
||||
if (documentName && fileUrl !== undefined) {
|
||||
formik.setFieldValue(documentName, fileUrl);
|
||||
console.log("After setting value:", formik.values[documentName]);
|
||||
} else {
|
||||
console.error("Invalid parameters for setUploadedFileUrl:", {
|
||||
documentName,
|
||||
|
|
@ -106,83 +130,83 @@ const ClinicDocUpdater = () => {
|
|||
}}
|
||||
>
|
||||
<Typography variant="h6" component="div">
|
||||
Clinic Docs
|
||||
Clinic Documents
|
||||
</Typography>
|
||||
</Box>
|
||||
{isDataLoaded ? (
|
||||
<form onSubmit={formik.handleSubmit}>
|
||||
<Box
|
||||
sx={{
|
||||
p: 2,
|
||||
display: "flex",
|
||||
gap: 2,
|
||||
flexWrap: "wrap",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<Grid
|
||||
container
|
||||
spacing={5}
|
||||
// padding={`0 ${theme.spacing(3.2)}`}
|
||||
// className={classes.formRoot}
|
||||
// sx={{ display: "flex" }}
|
||||
<form onSubmit={formik.handleSubmit}>
|
||||
<Box
|
||||
sx={{
|
||||
p: 2,
|
||||
display: "flex",
|
||||
gap: 2,
|
||||
flexWrap: "wrap",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<Grid item md={4} sm={12} xs={12}>
|
||||
<CustomFileUpload
|
||||
label="Add ABN/ACN Image*"
|
||||
documentName="companyABNImage"
|
||||
onUploadDone={setUploadedFileUrl}
|
||||
maxFileSizeInMb={MAX_FILE_SIZE_IN_MB}
|
||||
maxFiles={MAX_FILES}
|
||||
uploadedFileUrl={formik.values.companyABNImage}
|
||||
errorMessage={
|
||||
formik.errors.companyABNImage &&
|
||||
formik.touched.companyABNImage
|
||||
? formik.errors.companyABNImage
|
||||
: ""
|
||||
}
|
||||
/>
|
||||
<Grid
|
||||
container
|
||||
spacing={5}
|
||||
>
|
||||
<Grid item md={4} sm={12} xs={12}>
|
||||
<CustomFileUpload
|
||||
label="Add ABN/ACN Image*"
|
||||
documentName="companyABNImage"
|
||||
onUploadDone={setUploadedFileUrl}
|
||||
maxFileSizeInMb={MAX_FILE_SIZE_IN_MB}
|
||||
maxFiles={MAX_FILES}
|
||||
uploadedFileUrl={formik.values.companyABNImage}
|
||||
errorMessage={
|
||||
formik.errors.companyABNImage &&
|
||||
formik.touched.companyABNImage
|
||||
? formik.errors.companyABNImage
|
||||
: ""
|
||||
}
|
||||
isDisabled={formik.values.isABNVerified}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item md={4} sm={12} xs={12}>
|
||||
<CustomFileUpload
|
||||
label="Add Contract*"
|
||||
documentName="contract"
|
||||
onUploadDone={setUploadedFileUrl}
|
||||
maxFileSizeInMb={MAX_FILE_SIZE_IN_MB}
|
||||
maxFiles={MAX_FILES}
|
||||
uploadedFileUrl={formik.values.contract}
|
||||
errorMessage={
|
||||
formik.errors.contract && formik.touched.contract
|
||||
? formik.errors.contract
|
||||
: ""
|
||||
}
|
||||
isDisabled={formik.values.isContractVerified}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item md={4} sm={12} xs={12}>
|
||||
<CustomFileUpload
|
||||
label="Add Logo*"
|
||||
documentName="logo"
|
||||
onUploadDone={setUploadedFileUrl}
|
||||
maxFileSizeInMb={MAX_FILE_SIZE_IN_MB}
|
||||
maxFiles={MAX_FILES}
|
||||
uploadedFileUrl={formik.values.logo}
|
||||
errorMessage={
|
||||
formik.errors.logo && formik.touched.logo
|
||||
? formik.errors.logo
|
||||
: ""
|
||||
}
|
||||
isDisabled={formik.values.isLogoVerified}
|
||||
/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid item md={4} sm={12} xs={12}>
|
||||
<CustomFileUpload
|
||||
label="Add Contract*"
|
||||
documentName="contract"
|
||||
onUploadDone={setUploadedFileUrl}
|
||||
maxFileSizeInMb={MAX_FILE_SIZE_IN_MB}
|
||||
maxFiles={MAX_FILES}
|
||||
uploadedFileUrl={formik.values.contract}
|
||||
errorMessage={
|
||||
formik.errors.contract && formik.touched.contract
|
||||
? formik.errors.contract
|
||||
: ""
|
||||
}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item md={4} sm={12} xs={12}>
|
||||
<CustomFileUpload
|
||||
label="Add Logo*"
|
||||
documentName="logo"
|
||||
onUploadDone={setUploadedFileUrl}
|
||||
maxFileSizeInMb={MAX_FILE_SIZE_IN_MB}
|
||||
maxFiles={MAX_FILES}
|
||||
uploadedFileUrl={formik.values.logo}
|
||||
errorMessage={
|
||||
formik.errors.logo && formik.touched.logo
|
||||
? formik.errors.logo
|
||||
: ""
|
||||
}
|
||||
/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Button
|
||||
onClick={handleSubmit}
|
||||
variant="contained"
|
||||
color="primary"
|
||||
>
|
||||
Submit
|
||||
</Button>
|
||||
</Box>
|
||||
</form>
|
||||
<Button
|
||||
onClick={handleSubmit}
|
||||
variant="contained"
|
||||
color="primary"
|
||||
>
|
||||
Submit
|
||||
</Button>
|
||||
</Box>
|
||||
</form>
|
||||
) : (
|
||||
<Box sx={{ p: 2 }}>
|
||||
<Typography>Loading clinic documents...</Typography>
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ const PaymentManagement = () => {
|
|||
showFilters: true,
|
||||
}}
|
||||
showAction={true}
|
||||
searchText="Staff"
|
||||
searchText="Payments"
|
||||
showSearchBox={true}
|
||||
actions={[
|
||||
{
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ function YourDetailsForm() {
|
|||
};
|
||||
|
||||
const handleFormSubmit = async () => {
|
||||
dispatch(updateFormDetails(formik.values));
|
||||
// dispatch(updateFormDetails(formik.values));
|
||||
|
||||
if (!otpField) {
|
||||
pushNotification("Please Request OTP first", NOTIFICATION.ERROR);
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ const updateFormDetails = (state, payload) => ({
|
|||
...payload,
|
||||
});
|
||||
const resetFormData = (state) => ({
|
||||
...state,
|
||||
...initialState,
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ const ThankYou = ({ canClose = true, setShowPopup }) => {
|
|||
</Typography>
|
||||
</Grid>
|
||||
</Grid>
|
||||
{faqData.map((faq, index) => (
|
||||
{/* {faqData.map((faq, index) => (
|
||||
<Accordion key={index}>
|
||||
<AccordionSummary
|
||||
expandIcon={<ExpandMoreIcon />}
|
||||
|
|
@ -120,7 +120,7 @@ const ThankYou = ({ canClose = true, setShowPopup }) => {
|
|||
</Typography>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
))}
|
||||
))} */}
|
||||
</Box>
|
||||
) : (
|
||||
<Box className={classes.thankYouTitle}>
|
||||
|
|
@ -143,13 +143,13 @@ const ThankYou = ({ canClose = true, setShowPopup }) => {
|
|||
Please wait while 24x7 AIHR team is verifying your details.
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box>
|
||||
{/*<Box>
|
||||
<Typography className={classes.description}>
|
||||
After verification we will send you a link on your
|
||||
registered Email Address.
|
||||
</Typography>
|
||||
</Box>
|
||||
<LoadingButton
|
||||
</Box>*/}
|
||||
{/* <LoadingButton
|
||||
className={classes.faqButton}
|
||||
size="small"
|
||||
type="submit"
|
||||
|
|
@ -157,7 +157,7 @@ const ThankYou = ({ canClose = true, setShowPopup }) => {
|
|||
onClick={() => setShowFqaSection(true)}
|
||||
>
|
||||
FAQs
|
||||
</LoadingButton>
|
||||
</LoadingButton> */}
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
|
|
|
|||
Loading…
Reference in New Issue