|
|
@@ -4,6 +4,7 @@ import { |
|
|
|
Typography, |
|
|
|
Button, |
|
|
|
RadioGroup, |
|
|
|
Dialog, DialogTitle, DialogContent, DialogActions |
|
|
|
} from '@mui/material'; |
|
|
|
import { useFormik } from 'formik'; |
|
|
|
import * as yup from 'yup'; |
|
|
@@ -18,7 +19,8 @@ import {useNavigate} from "react-router-dom"; |
|
|
|
// ==============================|| DASHBOARD - DEFAULT ||============================== // |
|
|
|
|
|
|
|
const PublicNoticeApplyForm = ({loadedData, selections}) => { |
|
|
|
//const [formData, setFormData] = React.useState([]); |
|
|
|
const [isWarningPopUp, setIsWarningPopUp] = React.useState(false); |
|
|
|
const [warningText, setWarningText] = React.useState(""); |
|
|
|
const [attachment, setAttachment] = React.useState({}); |
|
|
|
const navigate=useNavigate(); |
|
|
|
|
|
|
@@ -30,17 +32,28 @@ const PublicNoticeApplyForm = ({loadedData, selections}) => { |
|
|
|
enableReinitialize:true, |
|
|
|
initialValues:loadedData, |
|
|
|
validationSchema:yup.object().shape({ |
|
|
|
group: yup.string().max(255), |
|
|
|
groupTitle: yup.string().max(255), |
|
|
|
groupNo: yup.string().max(255), |
|
|
|
contactPerson: yup.string().max(40).nullable(), |
|
|
|
contactPerson: yup.string().max(40).required('請輸入聯絡人'), |
|
|
|
tel_countryCode: yup.string().min(3,'請輸入3位數字').required('請輸入國際區號'), |
|
|
|
fax_countryCode: yup.string().min(3,'請輸入3位數字'), |
|
|
|
phoneNumber: yup.string().min(8,'請輸入8位數字').required('請輸入聯絡電話'), |
|
|
|
faxNumber: yup.string().min(8,'請輸入8位數字').required('請輸入8位數字'), |
|
|
|
faxNumber: yup.string().min(8,'請輸入8位數字'), |
|
|
|
remarks: yup.string().max(255).nullable(), |
|
|
|
}), |
|
|
|
onSubmit:values=>{ |
|
|
|
if(!values.issueId){ |
|
|
|
setWarningText("請選擇目標期數"); |
|
|
|
setIsWarningPopUp(true); |
|
|
|
return; |
|
|
|
} |
|
|
|
if(!attachment){ |
|
|
|
setWarningText("請選擇上傳文件"); |
|
|
|
setIsWarningPopUp(true); |
|
|
|
return; |
|
|
|
}else if(attachment.size >= (10*1024*1034)){ |
|
|
|
setWarningText("上傳文件大小應<10MB"); |
|
|
|
setIsWarningPopUp(true); |
|
|
|
return; |
|
|
|
} |
|
|
|
console.log(values); |
|
|
|
HttpUtils.postWithFiles({ |
|
|
|
url: UrlUtils.POST_PUBLIC_NOTICE_APPLY, |
|
|
@@ -133,7 +146,7 @@ const PublicNoticeApplyForm = ({loadedData, selections}) => { |
|
|
|
<Grid container alignItems={"center"}> |
|
|
|
<Grid item lg={4} |
|
|
|
sx={{ml: 3, mr: 3, display: 'flex', alignItems: 'center'}}> |
|
|
|
上傳文件: |
|
|
|
上傳文件 ({"檔案大小應<10MB"}): |
|
|
|
</Grid> |
|
|
|
<Grid item lg={4}> |
|
|
|
{attachment.name} |
|
|
@@ -143,7 +156,7 @@ const PublicNoticeApplyForm = ({loadedData, selections}) => { |
|
|
|
id="uploadFileBtn" |
|
|
|
name="file" |
|
|
|
type="file" |
|
|
|
accept="image/png, image/jpeg" |
|
|
|
accept="image/png, image/jpeg.doc,.pdf,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" |
|
|
|
style={{ display: 'none' }} |
|
|
|
onChange={(event)=> { |
|
|
|
readFile(event) |
|
|
@@ -180,6 +193,17 @@ const PublicNoticeApplyForm = ({loadedData, selections}) => { |
|
|
|
|
|
|
|
</Grid> |
|
|
|
</form> |
|
|
|
<div> |
|
|
|
<Dialog open={isWarningPopUp} onClose={() => setIsWarningPopUp(false)} > |
|
|
|
<DialogTitle>Warning</DialogTitle> |
|
|
|
<DialogContent style={{ display: 'flex', }}> |
|
|
|
<Typography variant="h3" style={{ padding: '16px' }}>{warningText}</Typography> |
|
|
|
</DialogContent> |
|
|
|
<DialogActions> |
|
|
|
<Button onClick={() => setIsWarningPopUp(false)}>OK</Button> |
|
|
|
</DialogActions> |
|
|
|
</Dialog> |
|
|
|
</div> |
|
|
|
</Grid> |
|
|
|
); |
|
|
|
}; |
|
|
|