From fe54ab184adbaf3018d4b8855204f35e0cf44107 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 29 Aug 2023 16:16:40 +0800 Subject: [PATCH] org load form user --- .../OrganizationCard_loadFromUser.js | 429 ++++++++++++++++++ .../index_loadFormUser.js | 4 +- .../UserInformationCard_Organization.js | 8 +- 3 files changed, 438 insertions(+), 3 deletions(-) create mode 100644 src/pages/OrganizationDetailPage/OrganizationCard_loadFromUser.js diff --git a/src/pages/OrganizationDetailPage/OrganizationCard_loadFromUser.js b/src/pages/OrganizationDetailPage/OrganizationCard_loadFromUser.js new file mode 100644 index 0000000..217f303 --- /dev/null +++ b/src/pages/OrganizationDetailPage/OrganizationCard_loadFromUser.js @@ -0,0 +1,429 @@ +// material-ui +import { + Grid, TextField, Typography, Button +} from '@mui/material'; +import { DatePicker } from '@mui/x-date-pickers/DatePicker'; +import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; +import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'; +import MainCard from "../../components/MainCard"; +import * as React from "react"; +import {useForm} from "react-hook-form"; +import {useEffect, useState} from "react"; +//import * as DateUtils from '../../utils/DateUtils'; +import * as HttpUtils from '../../utils/HttpUtils'; +import * as UrlUtils from "../../utils/ApiPathConst"; +import {useNavigate} from "react-router-dom"; + +// ==============================|| DASHBOARD - DEFAULT ||============================== // + + +const OrganizationCard = ({userData, id}) => { + + const [currentUserData, setCurrentUserData] = useState(userData); + const from = useForm({defaultValues: userData}); + const {register,reset, handleSubmit} = from; + + const navigate = useNavigate(); + + useEffect(() => { + if(id>0){ + userData["country"] = userData.addressTemp?.country; + userData["district"] = userData.addressTemp?.district; + userData["addressLine1"] = userData.addressTemp?.addressLine1; + userData["addressLine2"] = userData.addressTemp?.addressLine2; + userData["addressLine3"] = userData.addressTemp?.addressLine3; + + userData["phoneNumber"] = userData.contactTel?.phoneNumber; + userData["tel_countryCode"] = userData.contactTel?.countryCode; + + userData["faxNumber"] = userData.faxNo?.faxNumber; + userData["fax_countryCode"] = userData.faxNo?.countryCode; + + userData["brExpiryDate"] = userData.brExpiryDate?userData.brExpiryDate: ""; + userData["brExpiryDateTemp"] = userData.brExpiryDateTemp?userData.brExpiryDate: ""; + }else{ + setCreateMode(id==0); + setEditMode(id==0); + + userData["brExpiryDate"] = ""; + userData["brExpiryDateTemp"] = ""; + } + + setCurrentUserData(userData); + }, [userData]); + + useEffect(() => { + reset(currentUserData); + }, [currentUserData]); + + + function onSubmitForm(_formData) { + HttpUtils.post({ + url: UrlUtils.POST_ORG_SAVE_PATH, + params: { + id:id>0?id:null, + enCompanyName: _formData.enCompanyName, + chCompanyName: _formData.chCompanyName, + brNo: _formData.brNo, + brExpiryDate: _formData.brExpiryDate, + enCompanyNameTemp: _formData.enCompanyNameTemp, + chCompanyNameTemp: _formData.chCompanyNameTemp, + brExpiryDateTemp: _formData.brExpiryDateTemp, + contactPerson: _formData.contactPerson, + contactTel: { + countryCode: _formData.tel_countryCode, + phoneNumber: _formData.phoneNumber + }, + faxNo: { + countryCode: _formData.fax_countryCode, + faxNumber: _formData.faxNumber + }, + addressTemp: { + country: _formData.country, + district: _formData.district, + addressLine1: _formData.addressLine1, + addressLine2: _formData.addressLine2, + addressLine3: _formData.addressLine3, + } + }, + onSuccess: function(responseData){ + navigate('/org/'+responseData.id); + } + }); + } + + return ( + + + Information + + +
+ + + + + + + BR No.: + + + + + + + + + + + + + + Name (Eng): + + + + + + + + + + + + Name (Ch): + + + + + + + + + + + + Expiry Date: + + + + + + + + + + + + + + + + Temp Name (Eng): + + + + + + + + + + + + Temp Name (Ch): + + + + + + + + + + + + Temp Expiry Date: + + + + + + + + + + + + + + + Contact Person: + + + + + + + + + + + + Contact Tel: + + + + + + + + + + + + + + fax No: + + + + + + + + + + + + + + Country : + + + + + + + + + + + + District : + + + + + + + + + + + + Adress : + + + + + + + + + + + + + + + + + + + {/*bottom button*/} + + + + + + + + + + +
+
+ ); +}; + +export default OrganizationCard; diff --git a/src/pages/OrganizationDetailPage/index_loadFormUser.js b/src/pages/OrganizationDetailPage/index_loadFormUser.js index aa9d413..3632d53 100644 --- a/src/pages/OrganizationDetailPage/index_loadFormUser.js +++ b/src/pages/OrganizationDetailPage/index_loadFormUser.js @@ -4,8 +4,9 @@ import {useEffect, useState} from "react"; import * as React from "react"; import * as HttpUtils from "../../utils/HttpUtils"; import {useParams} from "react-router-dom"; -import InfoCard from "./OrganizationCard"; +import InfoCard from "./OrganizationCard_loadFromUser"; import LoadingComponent from "../extra-pages/LoadingComponent"; +import {useNavigate} from "react-router-dom"; import * as UrlUtils from "../../utils/ApiPathConst"; // ==============================|| DASHBOARD - DEFAULT ||============================== // @@ -15,6 +16,7 @@ const OrganizationDetailPage = () => { const params = useParams(); const [formData, setFormData] = useState({}) const [isLoading, setLoding] = useState(true); + const navigate = useNavigate(); useEffect(()=>{ diff --git a/src/pages/pnspsUserDetailPage_Organization/UserInformationCard_Organization.js b/src/pages/pnspsUserDetailPage_Organization/UserInformationCard_Organization.js index c817058..e3ba146 100644 --- a/src/pages/pnspsUserDetailPage_Organization/UserInformationCard_Organization.js +++ b/src/pages/pnspsUserDetailPage_Organization/UserInformationCard_Organization.js @@ -74,6 +74,10 @@ const UserInformationCard_Organization = ({userData, loadDataFun}) => { setEditMode(true); }; + const createOrgClick = () => { + window.open("/org/fromUser/"+userData.id, "_blank", "noreferrer"); + }; + const doLock = () => { HttpUtils.get({ url: UrlUtils.GET_USER_LOCK+"/"+userData.id, @@ -446,8 +450,8 @@ const UserInformationCard_Organization = ({userData, loadDataFun}) => { -