// material-ui import { Button, CardContent, Grid, TextField, Autocomplete, Typography } from '@mui/material'; import MainCard from "components/MainCard"; import { useForm } from "react-hook-form"; import * as React from "react"; import * as ComboData from "utils/ComboData"; import * as DateUtils from "utils/DateUtils"; import * as FormatUtils from "utils/FormatUtils"; import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst"; import {ThemeProvider} from "@emotion/react"; import {FormattedMessage, useIntl} from "react-intl"; // ==============================|| DASHBOARD - DEFAULT ||============================== // const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData }) => { const intl = useIntl(); const [type, setType] = React.useState([]); const [status, setStatus] = React.useState(ComboData.proofStatus[0]); const [issueSelected, setIssueSelected] = React.useState({}); const [issueCombo, setIssueCombo] = React.useState([]); const [groupSelected, setGroupSelected] = React.useState({}); const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); const _sx = { padding: "4 2 4 2", boxShadow: 1, border: 1, borderColor: '#DDD', '& .MuiDataGrid-cell': { borderTop: 1, borderBottom: 1, borderColor: "#EEE" }, '& .MuiDataGrid-footerContainer': { border: 1, borderColor: "#EEE" } } const { reset, register, handleSubmit } = useForm() const onSubmit = (data) => { let typeArray = []; for (let i = 0; i < type.length; i++) { typeArray.push(type[i].label); } const temp = { refNo: data.refNo, code: data.code, issueId: issueSelected?.id, gazettGroup: groupSelected?.type, dateFrom: data.dateFrom, dateTo: data.dateTo, //contact: data.contact, replyed: (status?.type && status?.type != 'all') ? status?.type : "", }; applySearch(temp); }; React.useEffect(() => { if (issueComboData && issueComboData.length > 0) { setIssueCombo(issueComboData); } }, [issueComboData]); function resetForm() { setType([]); setStatus(ComboData.proofStatus[0]); setIssueSelected({}); setGroupSelected({}); reset(); } function getIssueLabel(data) { if (data == {}) return ""; return data.year + " Vol. " + FormatUtils.zeroPad(data.volume, 3) + ", No. " + FormatUtils.zeroPad(data.issueNo, 2) + ", " + DateUtils.dateFormat(data.issueDate, "D MMM YYYY (ddd)"); } return (
{/*row 1*/} {/*row 2*/} getIssueLabel(option)} onChange={(event, newValue) => { setIssueSelected(newValue); }} renderInput={(params) => ( )} /> {/* option.labelCht} onChange={(event, newValue) => { setGroupSelected(newValue); }} renderInput={(params) => ( )} /> */} { setMinDate(DateUtils.dateStr(newValue)); }} InputLabelProps={{ shrink: true }} /> { setMaxDate(DateUtils.dateStr(newValue)); }} id="dateTo" type="date" //label="校對日期(到)" defaultValue={searchCriteria.dateTo} /> {/* */} options} options={ComboData.proofStatus} value={status} getOptionLabel={(option) => option.labelCht} inputValue={status?.labelCht ? status?.labelCht : ""} onChange={(event, newValue) => { if (newValue !== null) { setStatus(newValue); } }} renderInput={(params) => ( )} InputLabelProps={{ shrink: true }} /> {/*last row*/}
); }; export default SearchPublicNoticeForm;