| @@ -246,6 +246,7 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData | |||||
| {...register("status")} | {...register("status")} | ||||
| id="status" | id="status" | ||||
| size="small" | size="small" | ||||
| disableClearable | |||||
| options={ComboData.denmandNoteStatus_Public} | options={ComboData.denmandNoteStatus_Public} | ||||
| getOptionLabel={(option) => option?.i18nLabel ? intl.formatMessage({ id: option.i18nLabel }) : ""} | getOptionLabel={(option) => option?.i18nLabel ? intl.formatMessage({ id: option.i18nLabel }) : ""} | ||||
| inputValue={selectedStatus?.i18nLabel ? intl.formatMessage({ id: selectedStatus.i18nLabel }) : ""} | inputValue={selectedStatus?.i18nLabel ? intl.formatMessage({ id: selectedStatus.i18nLabel }) : ""} | ||||
| @@ -181,6 +181,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
| disablePortal={false} | disablePortal={false} | ||||
| id="status" | id="status" | ||||
| size="small" | size="small" | ||||
| disableClearable | |||||
| filterOptions={(options) => options} | filterOptions={(options) => options} | ||||
| options={ComboData.paymentStatus} | options={ComboData.paymentStatus} | ||||
| value={status} | value={status} | ||||
| @@ -314,6 +314,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData | |||||
| disablePortal={false} | disablePortal={false} | ||||
| size="small" | size="small" | ||||
| id="status" | id="status" | ||||
| disableClearable | |||||
| filterOptions={(options) => options} | filterOptions={(options) => options} | ||||
| options={ComboData.proofStatusFull} | options={ComboData.proofStatusFull} | ||||
| value={status} | value={status} | ||||
| @@ -196,6 +196,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
| {...register("status")} | {...register("status")} | ||||
| id="status" | id="status" | ||||
| size="small" | size="small" | ||||
| disableClearable | |||||
| // filterOptions={(options)=>options} | // filterOptions={(options)=>options} | ||||
| options={ | options={ | ||||
| localStorage.getItem('userData').creditor ? | localStorage.getItem('userData').creditor ? | ||||
| @@ -191,7 +191,7 @@ const ManageOrgUserPage = () => { | |||||
| width: isMdOrLg ? 'auto' : 160, | width: isMdOrLg ? 'auto' : 160, | ||||
| flex: isMdOrLg ? 1 : undefined, | flex: isMdOrLg ? 1 : undefined, | ||||
| renderCell: (params) => { | renderCell: (params) => { | ||||
| console.log(params); | |||||
| // console.log(params); | |||||
| return ( | return ( | ||||
| <> | <> | ||||
| {params.row.id == userId ? | {params.row.id == userId ? | ||||
| @@ -52,7 +52,7 @@ const Index = () => { | |||||
| const intl = useIntl(); | const intl = useIntl(); | ||||
| React.useEffect(() => { | React.useEffect(() => { | ||||
| console.log(params); | |||||
| // console.log(params); | |||||
| setEnterUseEffect(true) | setEnterUseEffect(true) | ||||
| }, []); | }, []); | ||||
| @@ -63,7 +63,7 @@ const Index = () => { | |||||
| }, [enterUseEffect]) | }, [enterUseEffect]) | ||||
| const handleVerify = async () => { | const handleVerify = async () => { | ||||
| console.log(params); | |||||
| // console.log(params); | |||||
| await axios.get(UrlUtils.GET_FORGOT_PASSWORD_VERIFY_USER_ACCOUNT, { | await axios.get(UrlUtils.GET_FORGOT_PASSWORD_VERIFY_USER_ACCOUNT, { | ||||
| params: { | params: { | ||||
| email: decodeURIComponent(params.email), | email: decodeURIComponent(params.email), | ||||
| @@ -55,7 +55,7 @@ const Index = () => { | |||||
| const intl = useIntl(); | const intl = useIntl(); | ||||
| React.useEffect(() => { | React.useEffect(() => { | ||||
| console.log(params); | |||||
| // console.log(params); | |||||
| setEnterUseEffect(true) | setEnterUseEffect(true) | ||||
| }, []); | }, []); | ||||
| @@ -67,7 +67,7 @@ const Index = () => { | |||||
| }, [enterUseEffect]) | }, [enterUseEffect]) | ||||
| const handleVerify = async () => { | const handleVerify = async () => { | ||||
| console.log(params); | |||||
| // console.log(params); | |||||
| await axios.get(UrlUtils.GET_FORGOT_PASSWORD_VERIFY_USER_ACCOUNT, { | await axios.get(UrlUtils.GET_FORGOT_PASSWORD_VERIFY_USER_ACCOUNT, { | ||||
| params: { | params: { | ||||
| email: decodeURIComponent(params.email), | email: decodeURIComponent(params.email), | ||||
| @@ -113,6 +113,7 @@ const CustomFormWizard = (props) => { | |||||
| const [checkIdDocHKIDNumberBlur, setCheckIdDocHKIDNumberBlur] = useState(false) | const [checkIdDocHKIDNumberBlur, setCheckIdDocHKIDNumberBlur] = useState(false) | ||||
| const [checkDigit, setCheckDigit] = useState(document.getElementById("checkDigit-login")) | const [checkDigit, setCheckDigit] = useState(document.getElementById("checkDigit-login")) | ||||
| const [checkCheckDigitBlur, setCheckCheckDigitBlur] = useState(false) | const [checkCheckDigitBlur, setCheckCheckDigitBlur] = useState(false) | ||||
| const [checkHKIdDocWithCheckDigit, setCheckHKIdDocWithCheckDigit] = useState(false) | |||||
| const email = document.getElementById("email-login") | const email = document.getElementById("email-login") | ||||
| const [checkEmail, setCheckEmail] = useState(false) | const [checkEmail, setCheckEmail] = useState(false) | ||||
| const [checkEmailBlur, setCheckEmailBlur] = useState(false) | const [checkEmailBlur, setCheckEmailBlur] = useState(false) | ||||
| @@ -553,7 +554,12 @@ const CustomFormWizard = (props) => { | |||||
| // } | // } | ||||
| switch (selectedIdDocType) { | switch (selectedIdDocType) { | ||||
| case "HKID": | case "HKID": | ||||
| if (checkDigit === "") return false | |||||
| if (checkDigit === ""){ | |||||
| setCheckHKIdDocWithCheckDigit(true) | |||||
| return false | |||||
| } else{ | |||||
| setCheckHKIdDocWithCheckDigit(false) | |||||
| } | |||||
| if (idNo.match(pattern_HKIDv1)) { | if (idNo.match(pattern_HKIDv1)) { | ||||
| return true | return true | ||||
| } else if (idNo.match(pattern_HKIDv2)) { | } else if (idNo.match(pattern_HKIDv2)) { | ||||
| @@ -701,7 +707,7 @@ const CustomFormWizard = (props) => { | |||||
| idNo: yup.string().required(getRequiredErrStr('number')) | idNo: yup.string().required(getRequiredErrStr('number')) | ||||
| .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpecialCharacter' })}`) }) | .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpecialCharacter' })}`) }) | ||||
| .matches(/^\S*$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpace' })}`) }) | .matches(/^\S*$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpace' })}`) }) | ||||
| .test('checkIDCardFormat', displayErrorMsg(`${intl.formatMessage({ id: 'requiredValid' })}${selectedIdDocInputType}${intl.formatMessage({ id: 'number' })}`), function (value) { | |||||
| .test('checkIDCardFormat', displayErrorMsg(`${intl.formatMessage({ id: 'requiredValid' })}${selectedIdDocInputType==undefined?"":selectedIdDocInputType}${intl.formatMessage({ id: 'number' })}`), function (value) { | |||||
| const idDocType = selectedIdDocType.type; | const idDocType = selectedIdDocType.type; | ||||
| var pattern_HKIDv1 = /^[A-Z]{1}[0-9]{6}$/; | var pattern_HKIDv1 = /^[A-Z]{1}[0-9]{6}$/; | ||||
| var pattern_HKIDv2 = /^[A-Z]{2}[0-9]{6}$/; | var pattern_HKIDv2 = /^[A-Z]{2}[0-9]{6}$/; | ||||
| @@ -1085,7 +1091,7 @@ const CustomFormWizard = (props) => { | |||||
| placeholder={intl.formatMessage({ id: 'idDocNumber' })} | placeholder={intl.formatMessage({ id: 'idDocNumber' })} | ||||
| fullWidth | fullWidth | ||||
| sx={{ mr: 1 }} | sx={{ mr: 1 }} | ||||
| error={Boolean(formik.touched.idNo && formik.errors.idNo && checkIdDocNumber)} | |||||
| error={Boolean(formik.touched.idNo && formik.errors.idNo && checkIdDocNumber && checkHKIdDocWithCheckDigit)} | |||||
| onBlur={formik.handleBlur} | onBlur={formik.handleBlur} | ||||
| inputProps={{ | inputProps={{ | ||||
| maxLength: selectedIdDocType.type === 'HKID' ? 8 : 18, | maxLength: selectedIdDocType.type === 'HKID' ? 8 : 18, | ||||
| @@ -1109,7 +1115,12 @@ const CustomFormWizard = (props) => { | |||||
| )} | )} | ||||
| {checkIdDocNumber && ( | {checkIdDocNumber && ( | ||||
| <FormHelperText error id="helper-text-idNo-signup"> | <FormHelperText error id="helper-text-idNo-signup"> | ||||
| <FormattedMessage id="usernameTaken" /> | |||||
| <FormattedMessage id="idNoTaken" /> | |||||
| </FormHelperText> | |||||
| )} | |||||
| {checkHKIdDocWithCheckDigit && ( | |||||
| <FormHelperText error id="helper-text-idNo-checkdigit-signup"> | |||||
| <FormattedMessage id="requiredNumberInQuote" /> | |||||
| </FormHelperText> | </FormHelperText> | ||||
| )} | )} | ||||
| </Stack> | </Stack> | ||||
| @@ -1188,7 +1199,7 @@ const CustomFormWizard = (props) => { | |||||
| )} | )} | ||||
| {checkIdDocNumber && ( | {checkIdDocNumber && ( | ||||
| <FormHelperText error id="helper-text-idNo-signup"> | <FormHelperText error id="helper-text-idNo-signup"> | ||||
| <FormattedMessage id="usernameTaken" /> | |||||
| <FormattedMessage id="idNoTaken" /> | |||||
| </FormHelperText> | </FormHelperText> | ||||
| )} | )} | ||||
| </Stack> | </Stack> | ||||
| @@ -31,10 +31,10 @@ const SearchDemandNoteForm = (props) => { | |||||
| if(listData == []) return; | if(listData == []) return; | ||||
| listData.map((item) => { | listData.map((item) => { | ||||
| list.push( | list.push( | ||||
| <Stack direction="column" > | |||||
| <Stack direction="column"> | |||||
| <Typography variant='h4' align="justify"><b>{locale === 'en' ?item.subjectEng:locale === 'zh-HK' ?item.subjectCht:item.subjectChs}</b></Typography> | <Typography variant='h4' align="justify"><b>{locale === 'en' ?item.subjectEng:locale === 'zh-HK' ?item.subjectCht:item.subjectChs}</b></Typography> | ||||
| <Typography align="justify">{DateUtils.dateValue(item.announceDate)}</Typography> | <Typography align="justify">{DateUtils.dateValue(item.announceDate)}</Typography> | ||||
| <Typography align="justify"sx={{ pt: 1 }}>{locale === 'en' ?item.contentEng:locale === 'zh-HK' ?item.contentCht:item.contentChs}</Typography> | |||||
| <Typography sx={{pt: 1}} align="justify">{locale === 'en' ?item.contentEng:locale === 'zh-HK' ?item.contentCht:item.contentChs}</Typography> | |||||
| <Divider fullWidth sx={{ pt: 1 }}></Divider> | <Divider fullWidth sx={{ pt: 1 }}></Divider> | ||||
| </Stack> | </Stack> | ||||
| ) | ) | ||||
| @@ -51,10 +51,10 @@ const SearchDemandNoteForm = (props) => { | |||||
| return ( | return ( | ||||
| <MainCard xs={12} md={12} lg={12} | |||||
| <MainCard | |||||
| border={false} | border={false} | ||||
| content={false} | content={false} | ||||
| sx={{ backgroundColor: '#fff' }} | |||||
| sx={{ backgroundColor: '#fff', }} | |||||
| > | > | ||||
| <Stack direction="column" spacing={4}> | <Stack direction="column" spacing={4}> | ||||
| {itemList} | {itemList} | ||||
| @@ -198,7 +198,7 @@ | |||||
| "createOrReActivate": "Create account", | "createOrReActivate": "Create account", | ||||
| "usernameTaken": "This user login name has been registered, please use another user login name", | "usernameTaken": "This user login name has been registered, please use another user login name", | ||||
| "userRegistered": "This user has already registered. Please return to the login page and log in.", | "userRegistered": "This user has already registered. Please return to the login page and log in.", | ||||
| "idNoTaken": "This user login name has been registered, please use another user login name", | |||||
| "idNoTaken": "This identification number has been registered", | |||||
| "user": "User", | "user": "User", | ||||
| "personalUser": "Personal User", | "personalUser": "Personal User", | ||||
| @@ -233,6 +233,7 @@ | |||||
| "createOrReActivate": "建立帐户", | "createOrReActivate": "建立帐户", | ||||
| "usernameTaken": "此用户登入名称已被注册,请使用其他用户登入名称。", | "usernameTaken": "此用户登入名称已被注册,请使用其他用户登入名称。", | ||||
| "userRegistered": "此用户已注册,请返回登入页面登入。", | "userRegistered": "此用户已注册,请返回登入页面登入。", | ||||
| "idNoTaken": "此证件已被注册。", | |||||
| "user": "用戶", | "user": "用戶", | ||||
| "personalUser": "個人用戶", | "personalUser": "個人用戶", | ||||
| @@ -234,6 +234,7 @@ | |||||
| "createOrReActivate": "建立帳戶", | "createOrReActivate": "建立帳戶", | ||||
| "usernameTaken": "此用戶登入名稱已被註冊,請使用其他用戶登入名稱", | "usernameTaken": "此用戶登入名稱已被註冊,請使用其他用戶登入名稱", | ||||
| "userRegistered": "此用戶已註冊,請返回登入頁面登入。", | "userRegistered": "此用戶已註冊,請返回登入頁面登入。", | ||||
| "idNoTaken": "此證件已被註冊。", | |||||
| "user": "用戶", | "user": "用戶", | ||||
| "personalUser": "個人用戶", | "personalUser": "個人用戶", | ||||
| @@ -15,6 +15,7 @@ export default function Combo ({valueName, disabled, form, dataList, filterOptio | |||||
| id={valueName} | id={valueName} | ||||
| name={valueName} | name={valueName} | ||||
| disabled={disabled} | disabled={disabled} | ||||
| disableClearable | |||||
| value={value} | value={value} | ||||
| inputValue={inputValue} | inputValue={inputValue} | ||||
| filterOptions={filterOptions} | filterOptions={filterOptions} | ||||