Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

850 wiersze
42 KiB

  1. // material-ui
  2. import {
  3. Grid, TextField, Typography, Button, Autocomplete, Stack, FormHelperText, OutlinedInput
  4. } from '@mui/material';
  5. import MainCard from "../../components/MainCard";
  6. import * as React from "react";
  7. import {useForm} from "react-hook-form";
  8. import {useEffect, useState} from "react";
  9. import * as yup from 'yup';
  10. //import Checkbox from "@mui/material/Checkbox";
  11. //import LoadingComponent from "../extra-pages/LoadingComponent";
  12. import { useFormik,FormikProvider } from 'formik';
  13. import * as DateUtils from '../../utils/DateUtils';
  14. import * as HttpUtils from '../../utils/HttpUtils';
  15. import * as UrlUtils from "../../utils/ApiPathConst";
  16. import * as ComboData from "../../utils/ComboData";
  17. //import axios from 'axios';
  18. //import {useParams} from "react-router-dom";
  19. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  20. const UserInformationCard_Individual = ({userData,userFile, loadDataFun}) => {
  21. const [currentUserData, setCurrentUserData] = useState(userData);
  22. const [editMode, setEditMode] = useState(false);
  23. const [locked, setLocked] = useState(false);
  24. const [idDocType, setIdDocType] = useState(null);
  25. const [district, setDistrict] = useState(null);
  26. const [country, setCountry] = useState(ComboData.country[0]);
  27. const from = useForm({defaultValues: userData});
  28. const {register,reset, handleSubmit} = from;
  29. const formik = useFormik({
  30. initialValues:(currentUserData),
  31. validationSchema:yup.object().shape({
  32. enName: yup.string().max(255).required('請輸入英文姓名'),
  33. chName: yup.string().max(255).required('請輸入中文姓名'),
  34. addressLine1: yup.string().max(255).required('請輸入第一行地址'),
  35. addressLine2: yup.string().max(255).required('請輸入第二行地址'),
  36. addressLine3: yup.string().max(255).required('請輸入第三行地址'),
  37. emailAddress: yup.string().email('請輸入電郵格式').max(255).required('請輸入電郵'),
  38. identification: yup.string().min(7,"請輸入證件號碼").required('請輸入證件號碼'),
  39. checkDigit:yup.string().max(1).required('請輸入括號內的數字或字母'),
  40. idDocType: yup.string().max(255).required('請輸入證件類別'),
  41. tel_countryCode: yup.string().min(3,'請輸入3位數字').required('請輸入國際區號'),
  42. fax_countryCode: yup.string().min(3,'請輸入3位數字'),
  43. phoneNumber: yup.string().min(8,'請輸入8位數字').required('請輸入聯絡電話'),
  44. faxNumber: yup.string().min(8,'請輸入8位數字'),
  45. }),
  46. });
  47. useEffect(() => {
  48. let createDate = DateUtils.datetimeStr(userData.created);
  49. let modifiedBy = DateUtils.datetimeStr(userData.modified)+", "+userData.modifiedBy;
  50. userData["createDate"] = createDate;
  51. userData["modifieDate"] = modifiedBy;
  52. userData["verifiedStatus"] = userData.verifiedBy? DateUtils.datetimeStr(userData.verifiedDate)+", "+userData.verifiedByName: "Not verify yet";
  53. userData["country"] = userData.address?.country;
  54. userData["district"] = userData.address?.district;
  55. userData["addressLine1"] = userData.address?.addressLine1;
  56. userData["addressLine2"] = userData.address?.addressLine2;
  57. userData["addressLine3"] = userData.address?.addressLine3;
  58. userData["phoneNumber"] = userData.contactTel?.phoneNumber;
  59. userData["tel_countryCode"] = userData.contactTel?.countryCode;
  60. userData["faxNumber"] = userData.faxNo?.faxNumber;
  61. userData["fax_countryCode"] = userData.faxNo?.countryCode;
  62. userData["lastLoginDate"] = userData.lastLogin?DateUtils.datetimeStr(userData.lastLogin):"";
  63. setIdDocType(userData.idDocType);
  64. setDistrict(userData.district);
  65. setCountry(userData.country);
  66. setCurrentUserData(userData);
  67. }, [userData]);
  68. useEffect(() => {
  69. reset(currentUserData);
  70. setLocked(currentUserData.locked);
  71. }, [currentUserData]);
  72. function onSubmitForm(_data) {
  73. HttpUtils.post({
  74. url: UrlUtils.POST_IND_USER+"/"+userData.id,
  75. params: {
  76. prefix: _data.prefix,
  77. enName: formik.values.enName,
  78. chName: _data.chName,
  79. idDocType: idDocType,
  80. contactTel: {
  81. countryCode: _data.tel_countryCode,
  82. phoneNumber: _data.phoneNumber
  83. },
  84. identification: formik.values.identification,
  85. checkDigit: formik.values.checkDigit,
  86. faxNo:{
  87. countryCode: _data.fax_countryCode,
  88. faxNumber: _data.faxNumber
  89. },
  90. emailAddress:_data.emailAddress,
  91. address:{
  92. country:country,
  93. district:district,
  94. addressLine1: _data.addressLine1,
  95. addressLine2: _data.addressLine2,
  96. addressLine3: _data.addressLine3,
  97. },
  98. },
  99. onSuccess: function(){
  100. loadDataFun();
  101. }
  102. });
  103. }
  104. const onEditClick = () => {
  105. setEditMode(true);
  106. };
  107. const onVerifiedClick = () => {
  108. HttpUtils.get({
  109. url: UrlUtils.GET_IND_USER_VERIFY+"/"+userData.id,
  110. onSuccess: function(){
  111. loadDataFun();
  112. }
  113. });
  114. };
  115. const doLock = () => {
  116. HttpUtils.get({
  117. url: UrlUtils.GET_USER_LOCK+"/"+userData.id,
  118. onSuccess: function(){
  119. loadDataFun();
  120. }
  121. });
  122. };
  123. const doUnlock = () => {
  124. HttpUtils.get({
  125. url: UrlUtils.GET_USER_UNLOCK+"/"+userData.id,
  126. onSuccess: function(){
  127. loadDataFun();
  128. }
  129. });
  130. };
  131. const downloadFile = ()=>{
  132. HttpUtils.fileDownload({
  133. fileId: userFile.fileId,
  134. skey: userFile.skey,
  135. filename: userFile.filename
  136. });
  137. };
  138. return (
  139. <MainCard elevation={0}
  140. border={false}
  141. content={false}
  142. >
  143. <Typography variant="h5" sx={{mt: 3, ml: 3, mb: 1}}>
  144. Information
  145. </Typography>
  146. <FormikProvider value={formik}>
  147. <form onSubmit={handleSubmit(onSubmitForm)}>
  148. {/*top button*/}
  149. <Grid item s={12} md={12} lg={12} sx={{mb: 3}} alignItems={"start"} justifyContent="center">
  150. <Grid container maxWidth justifyContent="flex-start">
  151. {editMode?
  152. <>
  153. <Grid item sx={{ml: 3, mr: 3}}>
  154. <Button
  155. size="large"
  156. variant="contained"
  157. onClick={loadDataFun}
  158. sx={{
  159. textTransform: 'capitalize',
  160. alignItems: 'end'
  161. }}
  162. >
  163. Cancel Edit
  164. </Button>
  165. </Grid>
  166. <Grid item sx={{ml: 3, mr: 3}}>
  167. <Button
  168. size="large"
  169. variant="contained"
  170. type="submit"
  171. color="success"
  172. sx={{
  173. textTransform: 'capitalize',
  174. alignItems: 'end'
  175. }}
  176. >
  177. Save
  178. </Button>
  179. </Grid>
  180. </>
  181. :
  182. <>
  183. <Grid item sx={{ml: 3, mr: 3}}>
  184. <Button
  185. size="large"
  186. variant="contained"
  187. sx={{
  188. textTransform: 'capitalize',
  189. alignItems: 'end'
  190. }}
  191. onClick={onEditClick}
  192. >
  193. Edit
  194. </Button>
  195. </Grid>
  196. </>
  197. }
  198. </Grid>
  199. </Grid>
  200. {/*end top button*/}
  201. <Grid container spacing={1}>
  202. <Grid item lg={4} >
  203. <Grid container alignItems={"center"}>
  204. <Grid item xs={4} s={4} md={4} lg={4}
  205. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  206. Username:
  207. </Grid>
  208. <Grid item xs={7} s={7} md={7} lg={6}>
  209. <TextField
  210. fullWidth
  211. id='username'
  212. disabled
  213. {...register("username")}
  214. />
  215. </Grid>
  216. </Grid>
  217. </Grid>
  218. <Grid item lg={4} >
  219. <Grid container alignItems={"center"}>
  220. <Grid item xs={4} s={4} md={4} lg={4}
  221. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  222. English Name:
  223. </Grid>
  224. <Grid item xs={7} s={7} md={7} lg={6}>
  225. <Stack>
  226. <OutlinedInput
  227. id="enName"
  228. type="enName"
  229. {...register("enName")}
  230. value={formik.values.enName}
  231. disabled={!editMode}
  232. name="enName"
  233. onChange={formik.handleChange}
  234. placeholder="與身份證明文件相同"
  235. fullWidth
  236. error={Boolean(formik.touched.enName && formik.errors.enName)}
  237. onBlur={formik.handleBlur}
  238. inputProps={{
  239. onKeyDown: (e) => {
  240. if (e.key === 'Enter') {
  241. e.preventDefault();
  242. }
  243. },
  244. }}
  245. />
  246. {formik.touched.enName && formik.errors.enName && (
  247. <FormHelperText error id="helper-text-enName-signup">
  248. {formik.errors.enName}
  249. </FormHelperText>
  250. )}
  251. </Stack>
  252. </Grid>
  253. </Grid>
  254. </Grid>
  255. <Grid item lg={4} >
  256. <Grid container alignItems={"center"}>
  257. <Grid item xs={4} s={4} md={4} lg={4}
  258. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  259. Created Date:
  260. </Grid>
  261. <Grid item xs={7} s={7} md={7} lg={6}>
  262. <TextField
  263. fullWidth
  264. {...register("createDate")}
  265. id='createDate'
  266. disabled
  267. />
  268. </Grid>
  269. </Grid>
  270. </Grid>
  271. <Grid item lg={4} >
  272. <Grid container alignItems={"center"}>
  273. <Grid item xs={4} s={4} md={4} lg={4}
  274. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  275. Prefix:
  276. </Grid>
  277. <Grid item xs={7} s={7} md={7} lg={6}>
  278. <TextField
  279. fullWidth
  280. {...register("prefix")}
  281. id='prefix'
  282. disabled={!editMode}
  283. />
  284. </Grid>
  285. </Grid>
  286. </Grid>
  287. <Grid item lg={4} >
  288. <Grid container alignItems={"center"}>
  289. <Grid item xs={4} s={4} md={4} lg={4}
  290. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  291. Chinese Name:
  292. </Grid>
  293. <Grid item xs={7} s={7} md={7} lg={6}>
  294. <OutlinedInput
  295. fullWidth
  296. disabled={!editMode}
  297. {...register("chName")}
  298. error={Boolean(formik.touched.chName && formik.errors.chName)}
  299. id="chName"
  300. type="text"
  301. value={formik.values.chName}
  302. name="chName"
  303. onChange={formik.handleChange}
  304. placeholder="與身份證明文件相同"
  305. inputProps={{
  306. onKeyDown: (e) => {
  307. if (e.key === 'Enter') {
  308. e.preventDefault();
  309. }
  310. },
  311. }}
  312. />
  313. {formik.touched.chName && formik.errors.chName && (
  314. <FormHelperText error id="helper-text-chName-signup">
  315. {formik.errors.chName}
  316. </FormHelperText>
  317. )}
  318. </Grid>
  319. </Grid>
  320. </Grid>
  321. <Grid item lg={4} >
  322. <Grid container alignItems={"center"}>
  323. <Grid item xs={4} s={4} md={4} lg={4}
  324. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  325. Last Updated:
  326. </Grid>
  327. <Grid item xs={7} s={7} md={7} lg={6}>
  328. <TextField
  329. fullWidth
  330. {...register("modifieDate")}
  331. id='modifieDate'
  332. disabled
  333. />
  334. </Grid>
  335. </Grid>
  336. </Grid>
  337. <Grid item lg={4}>
  338. <Grid container alignItems={"center"}>
  339. <Grid item xs={4} s={4} md={4} lg={4}
  340. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  341. ID Type:
  342. </Grid>
  343. <Grid item xs={7} s={7} md={7} lg={6}>
  344. <Stack spacing={1} sx={{mr:{md:1},mb:{xs:0.5}}}>
  345. <Autocomplete
  346. fullWidth
  347. disablePortal
  348. id="idDocType"
  349. {...register("idDocType")}
  350. disabled={!editMode}
  351. value={formik.values.idDocType}
  352. options={ComboData.idDocType}
  353. onBlur={formik.handleBlur}
  354. onChange={(event, newValue) => {
  355. setIdDocType(newValue);
  356. }}
  357. sx={{"& .MuiInputBase-root": { height: "41px" },"#idDocType":{padding: "0px 0px 0px 0px"}, "& .MuiAutocomplete-endAdornment": { top: "auto" },}}
  358. renderInput={(params) => <TextField {...params} placeholder="證件類別"/>}
  359. />
  360. {formik.touched.idDocType && (
  361. idDocType===null?
  362. <FormHelperText error id="helper-text-idDocType-signup">
  363. 請輸入證件類別
  364. </FormHelperText>:''
  365. )}
  366. </Stack>
  367. </Grid>
  368. </Grid>
  369. </Grid>
  370. <Grid item lg={4}>
  371. <Grid container alignItems={"center"}>
  372. <Grid item xs={4} s={4} md={4} lg={4}
  373. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  374. Contact Tel:
  375. </Grid>
  376. <Grid item xs={2}>
  377. <TextField
  378. fullWidth
  379. {...register("tel_countryCode")}
  380. id='tel_countryCode'
  381. disabled={!editMode}
  382. />
  383. </Grid>
  384. <Grid item xs={4}>
  385. <TextField
  386. fullWidth
  387. {...register("phoneNumber")}
  388. id='phoneNumber'
  389. disabled={!editMode}
  390. />
  391. </Grid>
  392. </Grid>
  393. </Grid>
  394. <Grid item lg={4}>
  395. <Grid container alignItems={"center"}>
  396. <Grid item xs={4} s={4} md={4} lg={4}
  397. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  398. Verified:
  399. </Grid>
  400. {
  401. currentUserData.verifiedBy || editMode?
  402. <Grid item xs={6}>
  403. <TextField
  404. fullWidth
  405. {...register("verifiedStatus")}
  406. id='verifiedStatus'
  407. disabled
  408. />
  409. </Grid>
  410. :
  411. <>
  412. <Grid item xs={4}>
  413. <TextField
  414. fullWidth
  415. {...register("verifiedStatus")}
  416. id='verifiedStatus'
  417. disabled
  418. />
  419. </Grid>
  420. <Grid item xs={1}>
  421. <Button
  422. size="large"
  423. variant="contained"
  424. sx={{
  425. textTransform: 'capitalize',
  426. alignItems: 'end'
  427. }}
  428. onClick={onVerifiedClick}
  429. >
  430. Verify
  431. </Button>
  432. </Grid>
  433. </>
  434. }
  435. </Grid>
  436. </Grid>
  437. <Grid item lg={4}>
  438. <Grid container alignItems={"center"}>
  439. <Grid item xs={4} s={4} md={4} lg={4}
  440. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  441. ID No.:
  442. </Grid>
  443. <Grid item lg={4}>
  444. <Grid container>
  445. {idDocType =="HKID"?
  446. <>
  447. <Grid item lg={8}>
  448. <Stack fullWidth>
  449. <OutlinedInput
  450. disabled={!editMode}
  451. {...register("identification")}
  452. id="identification"
  453. type="text"
  454. value={formik.values.identification}
  455. name="identification"
  456. onChange={formik.handleChange}
  457. placeholder="證件號碼"
  458. //sx={{mr:1}}
  459. error={Boolean(formik.touched.idNo && formik.errors.idNo)}
  460. onBlur={formik.handleBlur}
  461. inputProps={{
  462. maxLength: idDocType =='HKID'?7:18,
  463. onKeyDown: (e) => {
  464. if (e.key === 'Enter') {
  465. e.preventDefault();
  466. }
  467. },
  468. }}
  469. />
  470. {formik.touched.identification && formik.errors.identification && (
  471. <FormHelperText error id="helper-text-idNo-signup">
  472. {formik.errors.identification}
  473. </FormHelperText>
  474. )}
  475. {formik.touched.checkDigit && formik.errors.checkDigit && (
  476. <FormHelperText error id="helper-text-checkDigit-signup">
  477. {formik.errors.checkDigit}
  478. </FormHelperText>
  479. )}
  480. </Stack>
  481. </Grid>
  482. <Grid item lg={4}>
  483. <Stack fullWidth >
  484. <OutlinedInput
  485. disabled={!editMode}
  486. {...register("checkDigit")}
  487. id="checkDigit"
  488. type="text"
  489. value={formik.values.checkDigit}
  490. name="checkDigit"
  491. onChange={formik.handleChange}
  492. placeholder="( )"
  493. // sx={{height:"53px"}}
  494. inputProps={{
  495. maxLength: 1,
  496. onKeyDown: (e) => {
  497. if (e.key === 'Enter') {
  498. e.preventDefault();
  499. }
  500. },
  501. }}
  502. fullWidth
  503. error={Boolean(formik.touched.checkDigit && formik.errors.checkDigit)}
  504. onBlur={formik.handleBlur}
  505. />
  506. </Stack>
  507. </Grid>
  508. </>:
  509. <Grid item lg={4}>
  510. <Stack fullWidth>
  511. <OutlinedInput
  512. {...register("identification")}
  513. disabled={!editMode}
  514. id="identification"
  515. type="text"
  516. value={formik.values.identification}
  517. name="identification"
  518. onChange={formik.handleChange}
  519. placeholder="證件號碼"
  520. fullWidth
  521. sx={{mr:1}}
  522. error={Boolean(formik.touched.identification && formik.errors.identification)}
  523. onBlur={formik.handleBlur}
  524. inputProps={{
  525. onKeyDown: (e) => {
  526. if (e.key === 'Enter') {
  527. e.preventDefault();
  528. }
  529. },
  530. }}
  531. />
  532. {formik.touched.identification && formik.errors.identification && (
  533. <FormHelperText error id="helper-text-idNo-signup">
  534. {formik.errors.identification}
  535. </FormHelperText>
  536. )}
  537. </Stack>
  538. </Grid>
  539. }
  540. </Grid>
  541. </Grid>
  542. <Button lg={2} variant="contained" onClick={downloadFile} >View File</Button>
  543. </Grid>
  544. </Grid>
  545. <Grid item lg={4}>
  546. <Grid container alignItems={"center"}>
  547. <Grid item xs={4} s={4} md={4} lg={4}
  548. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  549. Fax No.:
  550. </Grid>
  551. <Grid item xs={2} >
  552. <TextField
  553. fullWidth
  554. {...register("fax_countryCode")}
  555. id='fax_countryCode'
  556. disabled={!editMode}
  557. />
  558. </Grid>
  559. <Grid item xs={4} >
  560. <TextField
  561. fullWidth
  562. {...register("faxNumber")}
  563. id='faxNumber'
  564. disabled={!editMode}
  565. />
  566. </Grid>
  567. </Grid>
  568. </Grid>
  569. <Grid item lg={4}>
  570. <Grid container alignItems={"center"}>
  571. <Grid item xs={4} s={4} md={4} lg={4}
  572. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  573. Last Login:
  574. </Grid>
  575. <Grid item xs={7} s={7} md={7} lg={6}>
  576. <TextField
  577. fullWidth
  578. {...register("lastLoginDate")}
  579. id='lastLoginDate'
  580. disabled
  581. >
  582. </TextField>
  583. </Grid>
  584. </Grid>
  585. </Grid>
  586. <Grid item lg={4}>
  587. <Grid container alignItems={"center"}>
  588. <Grid item xs={4} s={4} md={4} lg={4}
  589. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  590. Country:
  591. </Grid>
  592. <Grid item xs={7} s={7} md={7} lg={6}>
  593. <Autocomplete
  594. fullWidth
  595. disablePortal
  596. disabled={!editMode}
  597. id="country"
  598. value={country}
  599. options={ComboData.country}
  600. {...register("country")}
  601. onChange={(event, newValue) => {
  602. setCountry(newValue);
  603. }}
  604. sx={{"& .MuiInputBase-root": { height: "41px" },"#country":{padding: "0px 0px 0px 0px"}, "& .MuiAutocomplete-endAdornment": { top: "auto" },}}
  605. renderInput={(params) => <TextField {...params} placeholder="國家/地區"/>}
  606. />
  607. </Grid>
  608. </Grid>
  609. </Grid>
  610. <Grid item lg={4}>
  611. <Grid container alignItems={"center"}>
  612. <Grid item xs={4} s={4} md={4} lg={4}
  613. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  614. Email:
  615. </Grid>
  616. <Grid item xs={7} s={7} md={7} lg={6}>
  617. <TextField
  618. fullWidth
  619. {...register("emailAddress")}
  620. id='emailAddress'
  621. disabled={!editMode}
  622. />
  623. </Grid>
  624. </Grid>
  625. </Grid>
  626. <Grid item lg={4}>
  627. <Grid container alignItems={"center"}>
  628. <Grid item xs={4} s={4} md={4} lg={4}
  629. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  630. Status:
  631. </Grid>
  632. {
  633. editMode?
  634. <Grid item lg={7}>
  635. <TextField
  636. fullWidth
  637. {...register("status")}
  638. id='status'
  639. disabled
  640. />
  641. </Grid>
  642. :
  643. <>
  644. <Grid item lg={4}>
  645. <TextField
  646. fullWidth
  647. {...register("status")}
  648. id='status'
  649. disabled
  650. />
  651. </Grid>
  652. {locked?
  653. <Grid item lg={1}>
  654. <Button
  655. size="large"
  656. variant="contained"
  657. color="success"
  658. sx={{
  659. textTransform: 'capitalize',
  660. alignItems: 'end'
  661. }}
  662. onClick={doUnlock}
  663. >
  664. Active
  665. </Button>
  666. </Grid>
  667. :
  668. <Grid item lg={1}>
  669. <Button
  670. size="large"
  671. variant="contained"
  672. color="error"
  673. sx={{
  674. textTransform: 'capitalize',
  675. alignItems: 'end'
  676. }}
  677. onClick={doLock}
  678. >
  679. Lock
  680. </Button>
  681. </Grid>
  682. }
  683. </>
  684. }
  685. </Grid>
  686. </Grid>
  687. <Grid item lg={4}>
  688. <Grid container alignItems={"top"}>
  689. <Grid item xs={4} s={4} md={4} lg={4}
  690. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center top'}}>
  691. Address:
  692. </Grid>
  693. <Grid item xs={7} s={7} md={12} lg={6}>
  694. <TextField
  695. fullWidth
  696. {...register("addressLine1",
  697. {
  698. value: currentUserData?.address?.addressLine1,
  699. })}
  700. id='addressLine1'
  701. disabled={!editMode}
  702. />
  703. <TextField
  704. fullWidth
  705. {...register("addressLine2",
  706. {
  707. value: currentUserData?.address?.addressLine2,
  708. })}
  709. id='addressLine2'
  710. disabled={!editMode}
  711. />
  712. <TextField
  713. fullWidth
  714. {...register("addressLine3",
  715. {
  716. value: currentUserData?.address?.addressLine3,
  717. })}
  718. id='addressLine3'
  719. disabled={!editMode}
  720. />
  721. </Grid>
  722. </Grid>
  723. </Grid>
  724. <Grid item lg={4}>
  725. <Grid container alignItems={"center"}>
  726. <Grid item xs={4} s={4} md={4} lg={4}
  727. sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}>
  728. District:
  729. </Grid>
  730. <Grid item xs={7} s={7} md={7} lg={6}>
  731. <Autocomplete
  732. fullWidth
  733. disablePortal
  734. id="district"
  735. {...register("district")}
  736. value={district}
  737. options={ComboData.district}
  738. onChange={(event, newValue) => {
  739. setDistrict(newValue);
  740. }}
  741. disabled={!editMode}
  742. sx={{"& .MuiInputBase-root": { height: "41px" },"#district":{padding: "0px 0px 0px 0px"}, "& .MuiAutocomplete-endAdornment": { top: "auto" },}}
  743. renderInput={(params) => <TextField {...params} placeholder="區域 (只適用於香港)"/>}
  744. />
  745. </Grid>
  746. </Grid>
  747. </Grid>
  748. </Grid>
  749. </form>
  750. </FormikProvider>
  751. </MainCard>
  752. );
  753. };
  754. export default UserInformationCard_Individual;