소스 검색

add org profile

master
Alex Cheung 1 년 전
부모
커밋
2b36c212a8
4개의 변경된 파일54개의 추가작업 그리고 108개의 파일을 삭제
  1. +1
    -1
      src/layout/MainLayout/Header/index.js
  2. +8
    -8
      src/pages/Organization/DetailPage/OrganizationCard.js
  3. +25
    -93
      src/pages/Organization/DetailPage/OrganizationPubCard.js
  4. +20
    -6
      src/pages/Organization/DetailPage/index.js

+ 1
- 1
src/layout/MainLayout/Header/index.js 파일 보기

@@ -216,7 +216,7 @@ function Header(props) {
<Link className="manageUser" to={'/org'}>
<Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 2 }}>
{/* <FormattedMessage id="companyOrUserRecord" /> */}
Organisation Profile
Organization Profile
</Typography>
</Link>
</li>


+ 8
- 8
src/pages/Organization/DetailPage/OrganizationCard.js 파일 보기

@@ -4,15 +4,15 @@ import {
Dialog, DialogTitle, DialogContent, DialogActions,
} from '@mui/material';
// import { FormControlLabel } from '@material-ui/core';
import MainCard from "../../../components/MainCard";
import MainCard from "components/MainCard";
import * as React from "react";
import { useFormik } from 'formik';
import * as yup from 'yup';
import { useEffect, useState } from "react";
import * as HttpUtils from '../../../utils/HttpUtils';
import * as UrlUtils from "../../../utils/ApiPathConst";
import * as FieldUtils from "../../../utils/FieldUtils";
import * as ComboData from "../../../utils/ComboData";
import * as HttpUtils from 'utils/HttpUtils';
import * as UrlUtils from "utils/ApiPathConst";
import * as FieldUtils from "utils/FieldUtils";
import * as ComboData from "utils/ComboData";
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
import Loadable from 'components/Loadable';
import { lazy } from 'react';
@@ -92,8 +92,8 @@ const OrganizationCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
faxNumber: vaule.faxNumber
},
addressTemp: {
country: vaule.country,
district: vaule.district,
country: vaule.country.id,
district: vaule.district.id,
addressLine1: vaule.addressLine1,
addressLine2: vaule.addressLine2,
addressLine3: vaule.addressLine3,
@@ -270,7 +270,7 @@ const OrganizationCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
<Grid container spacing={1}>
<Grid item xs={12}>
<Typography variant="h4" sx={{ mb: 2, mr: 3, borderBottom: "1px solid black" }}>
Organisation Details
Organization Details
</Typography>
</Grid>
<Grid item lg={4} >


+ 25
- 93
src/pages/Organization/DetailPage/OrganizationPubCard.js 파일 보기

@@ -1,18 +1,20 @@
// material-ui
import {
Grid, Button, Checkbox, FormControlLabel, Typography,
Grid, Button,
// Checkbox, FormControlLabel,
Typography,
Dialog, DialogTitle, DialogContent, DialogActions,
} from '@mui/material';
// import { FormControlLabel } from '@material-ui/core';
import MainCard from "../../../components/MainCard";
import MainCard from "components/MainCard";
import * as React from "react";
import { useFormik } from 'formik';
import * as yup from 'yup';
import { useEffect, useState } from "react";
import * as HttpUtils from '../../../utils/HttpUtils';
import * as UrlUtils from "../../../utils/ApiPathConst";
import * as FieldUtils from "../../../utils/FieldUtils";
import * as ComboData from "../../../utils/ComboData";
import * as HttpUtils from 'utils/HttpUtils';
import * as UrlUtils from "utils/ApiPathConst";
import * as FieldUtils from "utils/FieldUtils";
import * as ComboData from "utils/ComboData";
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
import Loadable from 'components/Loadable';
import { lazy } from 'react';
@@ -48,52 +50,25 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
enCompanyName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))),
chCompanyName: yup.string().max(255, displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))).nullable(),
addressLine1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
addressLine2: yup.string().max(255, displayErrorMsg(intl.formatMessage({id: 'noMoreThen255Words'}))),
addressLine3: yup.string().max(255, displayErrorMsg(intl.formatMessage({id: 'noMoreThen255Words'}))),
fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))).nullable(),
tel_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))),
phoneNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'requiredValidNumber'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireContactNumber'}))),
faxNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'require8Number'}))).nullable(),
brExpiryDate: yup.string().min(8).required(displayErrorMsg(intl.formatMessage({id: 'pleaseFillInBusinessRegCertValidityDate'}))),
brNo: yup.string().required(displayErrorMsg(intl.formatMessage({id: 'pleaseFillInBusinessRegCertNumber'}))).test('checkBrNoFormat', displayErrorMsg(displayErrorMsg(intl.formatMessage({id: 'pleaseFillInValidBusinessRegCertNumber'}))), function (value) {
var brNo_pattern = /[0-9]{8}/
if (value !== undefined) {
if (value.match(brNo_pattern)) {
return true
} else {
return false
}
}
}),
}),
onSubmit: vaule => {
console.log(vaule)
HttpUtils.post({
url: UrlUtils.POST_ORG_SAVE_PATH,
url: UrlUtils.POST_PUB_ORG_SAVE_PATH,
params: {
id: id > 0 ? id : null,
enCompanyName: vaule.enCompanyName,
chCompanyName: vaule.chCompanyName,
brNo: vaule.brNo,
brExpiryDate: vaule.brExpiryDate,
enCompanyNameTemp: vaule.enCompanyNameTemp,
chCompanyNameTemp: vaule.chCompanyNameTemp,
brExpiryDateTemp: vaule.brExpiryDateTemp,
contactPerson: vaule.contactPerson,
contactTel: {
countryCode: vaule.tel_countryCode,
phoneNumber: vaule.phoneNumber
},
faxNo: {
countryCode: vaule.fax_countryCode,
faxNumber: vaule.faxNumber
},
addressTemp: {
country: vaule.country,
district: vaule.district,
country: vaule.country.id,
district: vaule.district.id,
addressLine1: vaule.addressLine1,
addressLine2: vaule.addressLine2,
addressLine3: vaule.addressLine3,
@@ -134,26 +109,6 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
setEditMode(true);
};

const markAsCreditor = () => {
setCreditorConfirmPopUp(false);
HttpUtils.get({
url: UrlUtils.GET_ORG_MARK_AS_CREDITOR + "/" + id,
onSuccess: () => {
loadDataFun();
}
});
}

const markAsNonCreditor = () => {
setNonCreditorConfirmPopUp(false);
HttpUtils.get({
url: UrlUtils.GET_ORG_MARK_AS_NON_CREDITOR + "/" + id,
onSuccess: () => {
loadDataFun();
}
});
}

return (
<MainCard elevation={0}
border={false}
@@ -230,34 +185,6 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
<Typography variant="h5">Edit</Typography>
</Button>
</Grid>
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
size="large"
variant="contained"
color="orange"
onClick={()=>setCreditorConfirmPopUp(true)}
sx={{
textTransform: 'capitalize',
alignItems: 'end'
}}
>
<Typography variant="h5">Mark as Creditor</Typography>
</Button>
</Grid>
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
size="large"
variant="contained"
color="error"
onClick={()=>setNonCreditorConfirmPopUp(true)}
sx={{
textTransform: 'capitalize',
alignItems: 'end'
}}
>
<Typography variant="h5">Mark as Non-Creditor</Typography>
</Button>
</Grid>
</>
}
</Grid>
@@ -270,20 +197,25 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
<Grid container spacing={1}>
<Grid item xs={12}>
<Typography variant="h4" sx={{ mb: 2, mr: 3, borderBottom: "1px solid black" }}>
Organisation Details
Organization Details
</Typography>
</Grid>
<Grid item lg={4} >
{FieldUtils.getTextField({
label: FieldUtils.notNullFieldLabel("BR No.:"),
valueName: "brNo",
disabled: (!editMode && !createMode),
disabled: true,
form: formik
})}
</Grid>

<Grid item lg={4} >
<FormControlLabel
{FieldUtils.getTextField({
label: "Creditor Account" + ":",
valueName: "creditor",
disabled: true,
form: formik
})}
{/* <FormControlLabel
control={<Checkbox checked={formik.values.creditor} />}
label="is Creditor"
name="creditor"
@@ -292,7 +224,7 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
}}
disabled={true}
//disabled={!editMode && !createMode}
/>
/> */}
</Grid>

<Grid item lg={4} ></Grid>
@@ -301,7 +233,7 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
{FieldUtils.getTextField({
label: FieldUtils.notNullFieldLabel("Name (Eng):"),
valueName: "enCompanyName",
disabled: (!editMode && !createMode),
disabled: true,
form: formik
})}
</Grid>
@@ -310,7 +242,7 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
{FieldUtils.getTextField({
label: "Name (Ch):",
valueName: "chCompanyName",
disabled: (!editMode && !createMode),
disabled: true,
form: formik
})}
</Grid>
@@ -319,7 +251,7 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
{FieldUtils.getDateField({
label: FieldUtils.notNullFieldLabel("Expiry Date:"),
valueName: "brExpiryDate",
disabled: (!editMode && !createMode),
disabled: true,
form: formik
})}
</Grid>
@@ -352,7 +284,7 @@ const OrganizationPubCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
code: "fax_countryCode",
num: "faxNumber"
},
disabled: (!editMode && !createMode),
disabled: true,
form: formik
})}
</Grid>


+ 20
- 6
src/pages/Organization/DetailPage/index.js 파일 보기

@@ -32,6 +32,10 @@ const BackgroundHead = {
backgroundColor: '#0C489E',
backgroundPosition: 'right'
}
import {
// FormattedMessage,
useIntl
} from "react-intl";

// ==============================|| DASHBOARD - DEFAULT ||============================== //

@@ -43,6 +47,11 @@ const OrganizationDetailPage = () => {
const [isLoading, setLoding] = React.useState(true);
const [isEditMode, setEditMode] = React.useState(false);
const navigate = useNavigate();
const intl = useIntl();
const { locale } = intl;

const isCreditor = locale === 'en' ?"Yes":locale === 'zh-HK' ?"是":"是";
const notCreditor = locale === 'en' ?"No":locale === 'zh-HK' ?"否":"否";

React.useEffect(() => {
console.log(formData);
@@ -62,8 +71,8 @@ const OrganizationDetailPage = () => {
url: UrlUtils.GET_ORG_PATH + "/" + params.id,
onSuccess: function (response) {
console.log(response)
response.data["country"] = getObjectByValue(ComboData.country, "key", response.data.address?.country);
response.data["district"] = getObjectByValue(ComboData.district, "key", response.data.address?.district);
response.data["country"] = getObjectByValue(ComboData.country, "key", response.data.addressTemp?.country);
response.data["district"] = getObjectByValue(ComboData.district, "key", response.data.addressTemp?.district);
response.data["addressLine1"] = response.data.addressTemp?.addressLine1;
response.data["addressLine2"] = response.data.addressTemp?.addressLine2;
response.data["addressLine3"] = response.data.addressTemp?.addressLine3;
@@ -86,8 +95,9 @@ const OrganizationDetailPage = () => {
url: UrlUtils.GET_PUB_ORG_PATH,
onSuccess: function (response) {
console.log(response)
response.data["country"] = getObjectByValue(ComboData.country, "key", response.data.address?.country);
response.data["district"] = getObjectByValue(ComboData.district, "key", response.data.address?.district);
response.data["creditor"] = response.data.creditor!=null?response.data.creditor?isCreditor:notCreditor:notCreditor;
response.data["country"] = getObjectByValue(ComboData.country, "key", response.data.addressTemp?.country);
response.data["district"] = getObjectByValue(ComboData.district, "key", response.data.addressTemp?.district);
response.data["addressLine1"] = response.data.addressTemp?.addressLine1;
response.data["addressLine2"] = response.data.addressTemp?.addressLine2;
response.data["addressLine3"] = response.data.addressTemp?.addressLine3;
@@ -119,7 +129,11 @@ const OrganizationDetailPage = () => {
<Grid item xs={12}>
<div style={BackgroundHead}>
<Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center">
<Typography ml={15} color='#FFF' variant="h4">Maintain Organisation</Typography>
{isGLDLoggedIn()?
<Typography ml={15} color='#FFF' variant="h4">Maintain Organization</Typography>
:
<Typography ml={15} color='#FFF' variant="h4">Organization Profile</Typography>
}
</Stack>
</div>
</Grid>
@@ -133,7 +147,7 @@ const OrganizationDetailPage = () => {
<Grid container>
<Grid item xs={12} md={12} lg={12}>
<Box xs={12} ml={0} mt={-1} mr={0} sx={{ p: 1, borderRadius: '10px' }}>
{isGLDLoggedIn?
{isGLDLoggedIn()?
<InfoCard
userData={formData}
loadDataFun={loadData}


불러오는 중...
취소
저장