Parcourir la source

update ui

master
Anna Ho il y a 1 an
Parent
révision
4a805dee39
3 fichiers modifiés avec 142 ajouts et 110 suppressions
  1. +2
    -1
      src/auth/utils.js
  2. +132
    -105
      src/pages/OrganizationDetailPage_FromUser/OrganizationCard_loadFromUser.js
  3. +8
    -4
      src/pages/PublicNotice/ApplyForm/index.js

+ 2
- 1
src/auth/utils.js Voir le fichier

@@ -9,7 +9,8 @@ import useJwt from 'auth/jwt/coreUseJwt';
export const hostname = 'localhost';
const hostPort = '8090';
export const hostPath = `http://${hostname}:${hostPort}`;
export const apiPath = `${hostPath}/api`;
//export const apiPath = `${hostPath}/api`;
export const apiPath = `http://192.168.0.112:8090/api`;
//export const apiPath = `/api`;

export const isUserLoggedIn = () => {


+ 132
- 105
src/pages/OrganizationDetailPage_FromUser/OrganizationCard_loadFromUser.js Voir le fichier

@@ -1,49 +1,49 @@
// material-ui
import {
Grid, Typography, Button
Grid, Button
} from '@mui/material';
import MainCard from "../../components/MainCard";
import * as React from "react";
import * as yup from 'yup';
import {useEffect, useState} from "react";
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 {useNavigate} from "react-router-dom";
import { useNavigate } from "react-router-dom";
import { useFormik } from 'formik';

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


const OrganizationCard_loadFromUser = ({userData,userId}) => {
const OrganizationCard_loadFromUser = ({ userData, userId }) => {

const [currentUserData, setCurrentUserData] = useState(userData);

const navigate = useNavigate();

const formik = useFormik({
enableReinitialize:true,
initialValues:currentUserData,
validationSchema:yup.object().shape({
enCompanyName: yup.string().max(255,"請輸入英文名稱").required('請輸入英文名稱'),
chCompanyName: yup.string().max(255,'請輸入中文名稱').nullable(),
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
enCompanyName: yup.string().max(255, "請輸入英文名稱").required('請輸入英文名稱'),
chCompanyName: yup.string().max(255, '請輸入中文名稱').nullable(),
addressLine1: yup.string().max(255).required('請輸入第一行地址'),
addressLine2: yup.string().max(255).nullable(),
addressLine3: yup.string().max(255).nullable(),
fax_countryCode: yup.string().min(3,"請輸入國際區號").nullable(),
tel_countryCode: yup.string().min(3,"請輸入國際區號"),
fax_countryCode: yup.string().min(3, "請輸入國際區號").nullable(),
tel_countryCode: yup.string().min(3, "請輸入國際區號"),
phoneNumber: yup.string().min(8, '請輸入有效聯絡電話').required('請輸入聯絡電話'),
faxNumber: yup.string().min(8).nullable(),
brExpiryDate: yup.string().min(8).required('請輸入商業登記證有效日期'),
brNo: yup.string().min(8, '請輸入有效商業登記證號碼').max(8,'請輸入有效商業登記證號碼').required('請輸入商業登記證號碼'),
brNo: yup.string().min(8, '請輸入有效商業登記證號碼').max(8, '請輸入有效商業登記證號碼').required('請輸入商業登記證號碼'),
}),
onSubmit: values =>{
onSubmit: values => {
HttpUtils.post({
url: UrlUtils.POST_ORG_SAVE_PATH,
params: {
id:null,
primaryUserId:userId,
id: null,
primaryUserId: userId,
enCompanyName: values.enCompanyName,
chCompanyName: values.chCompanyName,
brNo: values.brNo,
@@ -65,11 +65,11 @@ const OrganizationCard_loadFromUser = ({userData,userId}) => {
district: values.district,
addressLine1: values.addressLine1,
addressLine2: values.addressLine2,
addressLine3: values.addressLine3,
addressLine3: values.addressLine3,
}
},
onSuccess: function(responseData){
navigate('/org/'+responseData.id);
onSuccess: function (responseData) {
navigate('/org/' + responseData.id);
}
});
}
@@ -80,111 +80,138 @@ const OrganizationCard_loadFromUser = ({userData,userId}) => {
}, [userData]);

return (
<MainCard elevation={0}
border={false}
content={false}
>
<Typography variant="h5" sx={{mt: 3, ml: 3, mb: 1}}>
Information
</Typography>

{/* <div style={{ border: "solid 1px;", color: "red" }}>
<MainCard elevation={0}
border={false}
content={false}
>

{/* <div style={{ border: "solid 1px;", color: "red" }}>
TODO: Error Summary
{Object.values(formik.errors).map(error => (
<div>{error}</div>
))}
</div> */}



<form onSubmit={formik.handleSubmit}>
<div style={{ padding: 24 }}>
<form onSubmit={formik.handleSubmit}>

<Grid container spacing={1}>
{/*top*/}
<Grid item s={12} md={12} lg={12} sx={{mb: 3}} alignItems={"start"} justifyContent="center">
<Grid item sx={{ml: 3, mr: 3}}>
<Button
size="large"
variant="contained"
type="submit"
sx={{
textTransform: 'capitalize',
alignItems: 'end'
}}
>
Create
</Button>
</Grid>
<Grid item s={12} md={12} lg={12} sx={{ mb: 3 }} alignItems={"start"} justifyContent="center">
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
size="large"
variant="contained"
type="submit"
sx={{
textTransform: 'capitalize',
alignItems: 'end'
}}
>
Create
</Button>
</Grid>
</Grid>
{/*top*/}

{FieldUtils.getTextField({
label:"BR No.:",
valueName:"brNo",
form: formik})}
<Grid item lg={4}>
{FieldUtils.getTextField({
label: "BR No.:",
valueName: "brNo",
form: formik
})}
</Grid>

<Grid item lg={8}></Grid>

{FieldUtils.getTextField({
label:FieldUtils.notNullFieldLabel("Name (Eng):"),
valueName:"enCompanyName",
form: formik})}

{FieldUtils.getTextField({
label:"Name (Ch):",
valueName:"chCompanyName",
form: formik})}

{FieldUtils.getDateField({
label:FieldUtils.notNullFieldLabel("Expiry Date:"),
valueName:"brExpiryDate",
form: formik})}

{FieldUtils.getTextField({
label:FieldUtils.notNullFieldLabel("Contact Person:"),
valueName:"contactPerson",
form: formik})}

{FieldUtils.getPhoneField({
label:FieldUtils.notNullFieldLabel("Contact Tel:"),
valueName:{
code:"tel_countryCode",
num:"phoneNumber"
},
form: formik})}

{FieldUtils.getPhoneField({
label:"Fax No:",
valueName:{
code:"fax_countryCode",
num:"faxNumber"
},
form: formik})}

{FieldUtils.getComboField({
label:FieldUtils.notNullFieldLabel("Country:"),
valueName:"country",
dataList: ComboData.country,
form: formik})}

{FieldUtils.getComboField({
label:FieldUtils.notNullFieldLabel("District:"),
valueName:"district",
dataList: ComboData.district,
form: formik})}

{FieldUtils.getAddressField({
label:FieldUtils.notNullFieldLabel("Address:"),
valueName:["addressLine1","addressLine2","addressLine3"],
form: formik})}
<Grid item lg={4}>
{FieldUtils.getTextField({
label: FieldUtils.notNullFieldLabel("Name (Eng):"),
valueName: "enCompanyName",
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getTextField({
label: "Name (Ch):",
valueName: "chCompanyName",
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getDateField({
label: FieldUtils.notNullFieldLabel("Expiry Date:"),
valueName: "brExpiryDate",
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getTextField({
label: FieldUtils.notNullFieldLabel("Contact Person:"),
valueName: "contactPerson",
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getPhoneField({
label: FieldUtils.notNullFieldLabel("Contact Tel:"),
valueName: {
code: "tel_countryCode",
num: "phoneNumber"
},
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getPhoneField({
label: "Fax No:",
valueName: {
code: "fax_countryCode",
num: "faxNumber"
},
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getComboField({
label: FieldUtils.notNullFieldLabel("Country:"),
valueName: "country",
dataList: ComboData.country,
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getComboField({
label: FieldUtils.notNullFieldLabel("District:"),
valueName: "district",
dataList: ComboData.district,
form: formik
})}
</Grid>

<Grid item lg={4}>
{FieldUtils.getAddressField({
label: FieldUtils.notNullFieldLabel("Address:"),
valueName: ["addressLine1", "addressLine2", "addressLine3"],
form: formik
})}
</Grid>
</form>
</MainCard>
</Grid>
</form>
</div>
</MainCard>
);
};



+ 8
- 4
src/pages/PublicNotice/ApplyForm/index.js Voir le fichier

@@ -40,10 +40,7 @@ const ApplyForm = () => {
var selection = [];
for (var i = 0; i < response?.gazetteIssueList?.length; i++) {
let data = response.gazetteIssueList[i];
let label = data.year
+" Vol. "+zeroPad(data.volume,3)
+", No. "+zeroPad(data.issueNo,2)
+", "+DateUtils.dateFormat(data.issueDate, "D MMM YYYY (ddd)");
let label = getIssueLabel(data);
selection.push(<FormControlLabel value={data.id} control={<Radio />} label={label} />);
}
setSelection(selection);
@@ -53,6 +50,13 @@ const ApplyForm = () => {
});
};

function getIssueLabel(data){
return data.year
+" Vol. "+zeroPad(data.volume,3)
+", No. "+zeroPad(data.issueNo,2)
+", "+DateUtils.dateFormat(data.issueDate, "D MMM YYYY (ddd)");
}

function zeroPad(num, places) {
var zero = places - num.toString().length + 1;
return Array(+(zero > 0 && zero)).join("0") + num;


Chargement…
Annuler
Enregistrer