@@ -15,7 +15,7 @@ import { | |||
Button, | |||
} from '@mui/material'; | |||
import VisibilityIcon from '@mui/icons-material/Visibility'; | |||
import { GET_USERNAME } from "utils/ApiPathConst"; | |||
import { GET_ID } from "utils/ApiPathConst"; | |||
// project import | |||
import Loadable from 'components/Loadable'; | |||
@@ -55,7 +55,7 @@ const Register = () => { | |||
const [activeStep, setActiveStep] = useState(0); | |||
const [completed, setCompleted] = useState([false]); | |||
const [updateValid, setUpdateValid] = useState(false); | |||
const [username, setUsername] = useState(""); | |||
const [idNo, setIdNo] = useState(""); | |||
const totalSteps = () => { | |||
return steps.length; | |||
@@ -73,19 +73,19 @@ const Register = () => { | |||
return completedSteps() === totalSteps(); | |||
}; | |||
const handleCheckUsername = async () => { | |||
const response = await axios.get(`${GET_USERNAME}`, { | |||
const handleCheckID = async () => { | |||
const response = await axios.get(`${GET_ID}`, { | |||
params: { | |||
username: username, | |||
idNo: idNo, | |||
} | |||
}) | |||
return Number(response.data[0]) === 1 | |||
} | |||
const handleNext = async () => { | |||
const test = await handleCheckUsername() | |||
const test = await handleCheckID() | |||
if (test) { | |||
notifyActionError("此用戶登入名稱已被注冊,請使用其他用戶登入名稱") | |||
notifyActionError("此用戶已注冊,請返回登入頁面並進行登入流程。") | |||
} else { | |||
const newActiveStep = | |||
isLastStep() && !allStepsCompleted() | |||
@@ -150,7 +150,7 @@ const Register = () => { | |||
) : ( | |||
<React.Fragment> | |||
<AuthWrapper> | |||
<CustomFormWizard setUpdateValid={setUpdateValid} step={activeStep} setUsername={setUsername}/> | |||
<CustomFormWizard setUpdateValid={setUpdateValid} step={activeStep} setIdNo={setIdNo}/> | |||
{/* <CustomFormWizard step={activeStep} /> */} | |||
</AuthWrapper> | |||
<Stack direction="row" sx={{ pb: 2 }}> | |||
@@ -21,7 +21,7 @@ import { useFormik, FormikProvider } from 'formik'; | |||
import * as yup from 'yup'; | |||
import axios from "axios"; | |||
import { POST_PUBLIC_USER_REGISTER, POST_CAPTCHA, GET_USER_EMAIL } from "utils/ApiPathConst"; | |||
import { POST_IAMSMART_USER_REGISTER, POST_CAPTCHA, GET_USER_EMAIL } from "utils/ApiPathConst"; | |||
import * as ComboData from "utils/ComboData"; | |||
@@ -177,6 +177,20 @@ const CustomFormWizard = (props) => { | |||
} | |||
}, [checkEmailBlur]) | |||
useEffect(() => { | |||
if (iAmSmartData) { | |||
formik.setFieldValue("enName", iAmSmartData.enName??""); | |||
formik.setFieldValue("cnName", iAmSmartData.cnName??""); | |||
formik.setFieldValue("idNo", iAmSmartData.idNo??""); | |||
formik.setFieldValue("checkDigit", iAmSmartData.checkDigit??""); | |||
formik.setFieldValue("email", iAmSmartData.email??""); | |||
formik.setFieldValue("phone", iAmSmartData.phone??""); | |||
formik.setFieldValue("phoneCountryCode", iAmSmartData.phoneCountryCode??""); | |||
formik.setFieldValue("address1", iAmSmartData.address1??""); | |||
props.setIdNo(iAmSmartData.idNo??""); | |||
} | |||
}, [iAmSmartData]) | |||
const onCaptchaChange = () => { | |||
HttpUtils.post({ | |||
url: POST_CAPTCHA, | |||
@@ -274,12 +288,12 @@ const CustomFormWizard = (props) => { | |||
} | |||
const user = { | |||
enName: values.enName, | |||
chName: values.chName, | |||
enName: iAmSmartData.enName, | |||
chName: iAmSmartData.chName, | |||
emailAddress: values.email, | |||
idDocType: values.idDocType, | |||
identification: values.idNo, | |||
checkDigit: values.checkDigit, | |||
idDocType: "HKID", | |||
identification: iAmSmartData.idNo, | |||
checkDigit: iAmSmartData.checkDigit, | |||
tncFlag: tncFlag, | |||
type: "IND", | |||
}; | |||
@@ -293,7 +307,7 @@ const CustomFormWizard = (props) => { | |||
formData.append("userAddress", JSON.stringify(userAddress)); | |||
if (isValid) { | |||
axios.post(POST_PUBLIC_USER_REGISTER, formData, { | |||
axios.post(POST_IAMSMART_USER_REGISTER, formData, { | |||
headers: { | |||
"Content-Type": "multipart/form-data" | |||
} | |||
@@ -339,13 +353,13 @@ const CustomFormWizard = (props) => { | |||
const formik = useFormik({ | |||
initialValues: ({ | |||
email: '', | |||
emailConfirm: '', | |||
address1: '', | |||
email: iAmSmartData.email??"", | |||
emailConfirm: iAmSmartData.email??"", | |||
address1: iAmSmartData.address1??"", | |||
address2: '', | |||
address3: '', | |||
phone: '', | |||
phoneCountryCode: '852', | |||
phone: iAmSmartData.phone??"", | |||
phoneCountryCode: iAmSmartData.phoneCountryCode??"852", | |||
submit: null, | |||
fax: '', | |||
faxCountryCode: '852', | |||
@@ -43,10 +43,13 @@ export const POST_CAPTCHA = apiPath+'/captcha'; | |||
//register | |||
export const POST_PUBLIC_USER_REGISTER = apiPath+'/user/register'; | |||
export const POST_IAMSMART_USER_REGISTER = apiPath+'/user/smart/register'; | |||
export const GET_USERNAME = apiPath+'/user/username'; | |||
export const GET_USER_EMAIL = apiPath+'/user/email'; | |||
export const GET_ID = apiPath+'/user/verifyID'; | |||
export const GET_VERIFY_USER_ACCOUNT = apiPath+'/user/verifyEmail'; | |||
//Public | |||
export const GET_PUBLIC_ORG_USER_LIST = apiPath+'/user/listOrg'; | |||
export const GET_SET_PRIMARY_USER = apiPath+'/user/primary'; | |||