Profile Employment Details Fields required Validation
This commit is contained in:
parent
0fa0510849
commit
998f6b6b94
@ -11,5 +11,5 @@ ReactDOM.createRoot(document.getElementById('root')).render(
|
|||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<App />
|
<App />
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
</React.StrictMode>,
|
</React.StrictMode>
|
||||||
)
|
)
|
||||||
@ -711,6 +711,12 @@ const CompanyProfile = () => {
|
|||||||
{ field: 'products', label: 'Products' },
|
{ field: 'products', label: 'Products' },
|
||||||
],
|
],
|
||||||
4: [
|
4: [
|
||||||
|
{ field: 'employmentEmiratiMale', label: 'Number of Emirati Male' },
|
||||||
|
{ field: 'employmentNonEmiratiMale', label: 'Number of Non-Emirati Male' },
|
||||||
|
{ field: 'employmentEmiratiFemale', label: 'Number of Emirati Female' },
|
||||||
|
{ field: 'employmentNonEmiratiFemale', label: 'Number of Non-Emirati Female' },
|
||||||
|
{ field: 'employmentTotalEmployees', label: 'Total Employees' },
|
||||||
|
{ field: 'employmentTotalEmirati', label: 'Total Emirati' },
|
||||||
// Employment fields are not required
|
// Employment fields are not required
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
@ -1271,6 +1277,7 @@ const CompanyProfile = () => {
|
|||||||
type="number"
|
type="number"
|
||||||
error={fieldErrors.employmentEmiratiMale}
|
error={fieldErrors.employmentEmiratiMale}
|
||||||
readOnly={modalMode === 'view'}
|
readOnly={modalMode === 'view'}
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
label="Number of Non-Emirati Male"
|
label="Number of Non-Emirati Male"
|
||||||
@ -1281,6 +1288,7 @@ const CompanyProfile = () => {
|
|||||||
type="number"
|
type="number"
|
||||||
error={fieldErrors.employmentNonEmiratiMale}
|
error={fieldErrors.employmentNonEmiratiMale}
|
||||||
readOnly={modalMode === 'view'}
|
readOnly={modalMode === 'view'}
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
label="Number of Emirati Female"
|
label="Number of Emirati Female"
|
||||||
@ -1291,6 +1299,7 @@ const CompanyProfile = () => {
|
|||||||
type="number"
|
type="number"
|
||||||
error={fieldErrors.employmentEmiratiFemale}
|
error={fieldErrors.employmentEmiratiFemale}
|
||||||
readOnly={modalMode === 'view'}
|
readOnly={modalMode === 'view'}
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
label="Number of Non-Emirati Female"
|
label="Number of Non-Emirati Female"
|
||||||
@ -1299,6 +1308,7 @@ const CompanyProfile = () => {
|
|||||||
placeholder="Enter Count"
|
placeholder="Enter Count"
|
||||||
width="100%"
|
width="100%"
|
||||||
type="number"
|
type="number"
|
||||||
|
required
|
||||||
error={fieldErrors.employmentNonEmiratiFemale}
|
error={fieldErrors.employmentNonEmiratiFemale}
|
||||||
readOnly={modalMode === 'view'}
|
readOnly={modalMode === 'view'}
|
||||||
/>
|
/>
|
||||||
@ -1309,6 +1319,7 @@ const CompanyProfile = () => {
|
|||||||
width="100%"
|
width="100%"
|
||||||
type="number"
|
type="number"
|
||||||
readOnly
|
readOnly
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
label="Total Emirati"
|
label="Total Emirati"
|
||||||
@ -1317,6 +1328,7 @@ const CompanyProfile = () => {
|
|||||||
width="100%"
|
width="100%"
|
||||||
type="number"
|
type="number"
|
||||||
readOnly
|
readOnly
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -2612,7 +2624,13 @@ const handleView = async (id) => {
|
|||||||
{ field: 'corporateName', label: 'Corporate Name' },
|
{ field: 'corporateName', label: 'Corporate Name' },
|
||||||
{ field: 'corporateAddress', label: 'Corporate Address' },
|
{ field: 'corporateAddress', label: 'Corporate Address' },
|
||||||
{ field: 'corporateEmirate', label: 'Corporate Emirate' },
|
{ field: 'corporateEmirate', label: 'Corporate Emirate' },
|
||||||
{ field: 'corporateMobileNumber', label: 'Corporate Mobile Number' }
|
{ field: 'corporateMobileNumber', label: 'Corporate Mobile Number' },
|
||||||
|
{ field: 'employmentEmiratiMale', label: 'Emirati Male' },
|
||||||
|
{ field: 'employmentEmiratiFemale', label: 'Emirati Female' },
|
||||||
|
{ field: 'employmentNonEmiratiMale', label: 'Non-Emirati Male' },
|
||||||
|
{ field: 'employmentNonEmiratiFemale', label: 'Non-Emirati Female' },
|
||||||
|
{ field: 'employmentTotalEmirati', label: 'Total Emirati' },
|
||||||
|
{ field: 'employmentTotalEmployees', label: 'Total Employees' }
|
||||||
];
|
];
|
||||||
|
|
||||||
const handleDeleteConfirm = async () => {
|
const handleDeleteConfirm = async () => {
|
||||||
@ -2900,12 +2918,12 @@ const handleView = async (id) => {
|
|||||||
corporate_mobile_number: form.corporateMobileNumber || '',
|
corporate_mobile_number: form.corporateMobileNumber || '',
|
||||||
corporate_email: form.corporateEmail || '',
|
corporate_email: form.corporateEmail || '',
|
||||||
corporate_website: form.corporateWebsite || '',
|
corporate_website: form.corporateWebsite || '',
|
||||||
emirati_male: Number(form.employmentEmiratiMale) || 0,
|
emirati_male: Number(form.employmentEmiratiMale) || '',
|
||||||
emirati_female: Number(form.employmentEmiratiFemale) || 0,
|
emirati_female: Number(form.employmentEmiratiFemale) || '',
|
||||||
non_emirati_male: Number(form.employmentNonEmiratiMale) || 0,
|
non_emirati_male: Number(form.employmentNonEmiratiMale) || '',
|
||||||
non_emirati_female: Number(form.employmentNonEmiratiFemale) || 0,
|
non_emirati_female: Number(form.employmentNonEmiratiFemale) || '',
|
||||||
total_emirati: Number(totalEmirati) || 0,
|
total_emirati: Number(totalEmirati) || '',
|
||||||
total_employees: Number(employmentTotals) || 0,
|
total_employees: Number(employmentTotals) || '',
|
||||||
created_by: currentUserId?.id,
|
created_by: currentUserId?.id,
|
||||||
created_by_name: currentUserId?.name,
|
created_by_name: currentUserId?.name,
|
||||||
establishment_user: {
|
establishment_user: {
|
||||||
@ -2928,10 +2946,11 @@ const handleView = async (id) => {
|
|||||||
const createdRecord = apiResponse?.data;
|
const createdRecord = apiResponse?.data;
|
||||||
createdRecordId = createdRecord?.id ?? createdRecord?.establishment?.id ?? null;
|
createdRecordId = createdRecord?.id ?? createdRecord?.establishment?.id ?? null;
|
||||||
apiResultData = createdRecord;
|
apiResultData = createdRecord;
|
||||||
|
console.log('API Payload for creation:', apiPayload);
|
||||||
setIsRefreshing(true);
|
setIsRefreshing(true);
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
window.location.reload();
|
// window.location.reload();
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
} catch (apiError) {
|
} catch (apiError) {
|
||||||
const apiMessage = apiError?.response?.data?.message || apiError?.message || '';
|
const apiMessage = apiError?.response?.data?.message || apiError?.message || '';
|
||||||
if (apiMessage.includes("Field 'gender' doesn't have a default value")) {
|
if (apiMessage.includes("Field 'gender' doesn't have a default value")) {
|
||||||
@ -3011,12 +3030,12 @@ const handleView = async (id) => {
|
|||||||
corporate_mobile_number: form.corporateMobileNumber || '',
|
corporate_mobile_number: form.corporateMobileNumber || '',
|
||||||
corporate_email: form.corporateEmail || '',
|
corporate_email: form.corporateEmail || '',
|
||||||
corporate_website: form.corporateWebsite || '',
|
corporate_website: form.corporateWebsite || '',
|
||||||
emirati_male: Number(form.employmentEmiratiMale) || 0,
|
emirati_male: Number(form.employmentEmiratiMale) || '',
|
||||||
emirati_female: Number(form.employmentEmiratiFemale) || 0,
|
emirati_female: Number(form.employmentEmiratiFemale) || 'null',
|
||||||
non_emirati_male: Number(form.employmentNonEmiratiMale) || 0,
|
non_emirati_male: Number(form.employmentNonEmiratiMale) || '',
|
||||||
non_emirati_female: Number(form.employmentNonEmiratiFemale) || 0,
|
non_emirati_female: Number(form.employmentNonEmiratiFemale) || '',
|
||||||
total_emirati: (Number(form.employmentEmiratiMale) || 0) + (Number(form.employmentEmiratiFemale) || 0),
|
total_emirati: (Number(form.employmentEmiratiMale) || '') + (Number(form.employmentEmiratiFemale) || ''),
|
||||||
total_employees: Number(form.employmentTotalEmployees) || 0,
|
total_employees: Number(form.employmentTotalEmployees) || '',
|
||||||
updated_by: 1,
|
updated_by: 1,
|
||||||
updated_at: getCurrentISODate(),
|
updated_at: getCurrentISODate(),
|
||||||
// Enhanced product handling for updates - only send product IDs that exist
|
// Enhanced product handling for updates - only send product IDs that exist
|
||||||
|
|||||||
@ -828,10 +828,10 @@ const EditCompanyProfile = () => {
|
|||||||
establishment_mobile_number: form.contactMobileNumber || "",
|
establishment_mobile_number: form.contactMobileNumber || "",
|
||||||
establishment_contact_email: form.contactEmail || "",
|
establishment_contact_email: form.contactEmail || "",
|
||||||
establishment_website: form.contactWebsite || "",
|
establishment_website: form.contactWebsite || "",
|
||||||
emirati_male: Number(form.employmentEmiratiMale) || 0,
|
emirati_male: Number(form.employmentEmiratiMale) || '',
|
||||||
emirati_female: Number(form.employmentEmiratiFemale) || 0,
|
emirati_female: Number(form.employmentEmiratiFemale) || '',
|
||||||
non_emirati_male: Number(form.employmentNonEmiratiMale) || 0,
|
non_emirati_male: Number(form.employmentNonEmiratiMale) || '',
|
||||||
non_emirati_female: Number(form.employmentNonEmiratiFemale) || 0,
|
non_emirati_female: Number(form.employmentNonEmiratiFemale) || '',
|
||||||
total_emirati:
|
total_emirati:
|
||||||
(Number(form.employmentEmiratiMale) || 0) +
|
(Number(form.employmentEmiratiMale) || 0) +
|
||||||
(Number(form.employmentEmiratiFemale) || 0),
|
(Number(form.employmentEmiratiFemale) || 0),
|
||||||
@ -1438,6 +1438,7 @@ const EditCompanyProfile = () => {
|
|||||||
placeholder="Enter Count"
|
placeholder="Enter Count"
|
||||||
width="100%"
|
width="100%"
|
||||||
type="text"
|
type="text"
|
||||||
|
required
|
||||||
inputMode="numeric"
|
inputMode="numeric"
|
||||||
pattern="[0-9]*"
|
pattern="[0-9]*"
|
||||||
error={fieldErrors.employmentEmiratiMale}
|
error={fieldErrors.employmentEmiratiMale}
|
||||||
@ -1455,6 +1456,7 @@ const EditCompanyProfile = () => {
|
|||||||
type="text"
|
type="text"
|
||||||
inputMode="numeric"
|
inputMode="numeric"
|
||||||
pattern="[0-9]*"
|
pattern="[0-9]*"
|
||||||
|
required
|
||||||
error={fieldErrors.employmentNonEmiratiMale}
|
error={fieldErrors.employmentNonEmiratiMale}
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
@ -1470,6 +1472,7 @@ const EditCompanyProfile = () => {
|
|||||||
type="text"
|
type="text"
|
||||||
inputMode="numeric"
|
inputMode="numeric"
|
||||||
pattern="[0-9]*"
|
pattern="[0-9]*"
|
||||||
|
required
|
||||||
error={fieldErrors.employmentEmiratiFemale}
|
error={fieldErrors.employmentEmiratiFemale}
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
@ -1485,6 +1488,7 @@ const EditCompanyProfile = () => {
|
|||||||
type="text"
|
type="text"
|
||||||
inputMode="numeric"
|
inputMode="numeric"
|
||||||
pattern="[0-9]*"
|
pattern="[0-9]*"
|
||||||
|
required
|
||||||
error={fieldErrors.employmentNonEmiratiFemale}
|
error={fieldErrors.employmentNonEmiratiFemale}
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
@ -1494,6 +1498,7 @@ const EditCompanyProfile = () => {
|
|||||||
width="100%"
|
width="100%"
|
||||||
type="number"
|
type="number"
|
||||||
readOnly
|
readOnly
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
<TextField
|
<TextField
|
||||||
label="Total Emirati"
|
label="Total Emirati"
|
||||||
@ -1502,6 +1507,7 @@ const EditCompanyProfile = () => {
|
|||||||
width="100%"
|
width="100%"
|
||||||
type="number"
|
type="number"
|
||||||
readOnly
|
readOnly
|
||||||
|
required
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user