| @@ -126,9 +126,10 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria}) => { | |||
| <Grid item sx={{ ml: 3 }}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -163,9 +163,10 @@ const AuditLogSearchForm = ({ applySearch, searchCriteria}) => { | |||
| <Grid item sx={{ ml: 3, mr: 3, mb: 3,}}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| <Grid item sx={{ ml: 3, mb: 3 }}> | |||
| @@ -21,13 +21,11 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| }) => { | |||
| const [type, setType] = React.useState([]); | |||
| // const [status, setStatus] = React.useState({ key: 0, label: 'All', type: 'all' }); | |||
| const [orgSelected, setOrgSelected] = React.useState({}); | |||
| const [orgCombo, setOrgCombo] = React.useState(); | |||
| const [issueSelected, setIssueSelected] = React.useState({}); | |||
| const [issueCombo, setIssueCombo] = React.useState([]); | |||
| const [selectedStatus, setSelectedStatus] = React.useState([]); | |||
| const [selectedLabelsString, setSelectedLabelsString] = React.useState(''); | |||
| const [selectedStatus, setSelectedStatus] = React.useState(ComboData.denmandNoteStatus[0]); | |||
| const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); | |||
| const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); | |||
| @@ -41,7 +39,7 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| const { reset, register, handleSubmit } = useForm() | |||
| const onSubmit = (data) => { | |||
| data.status = selectedLabelsString | |||
| data.status = selectedStatus?.type; | |||
| let typeArray = []; | |||
| for (let i = 0; i < type.length; i++) { | |||
| @@ -57,7 +55,7 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| dateTo: data.dateTo, | |||
| dueDateFrom: data.dueDateFrom, | |||
| dueDateTo: data.dueDateTo, | |||
| status: (data.status === '' || data.status.includes("all")) ? "" : data.status, | |||
| status: (data?.status === '' || data?.status?.includes("all")) ? "" : data.status, | |||
| }; | |||
| applySearch(temp); | |||
| }; | |||
| @@ -77,9 +75,9 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| function resetForm() { | |||
| setType([]); | |||
| // setStatus({ key: 0, label: 'All', type: 'all' }); | |||
| setOrgSelected({}); | |||
| setIssueSelected({}); | |||
| setSelectedStatus(ComboData.denmandNoteStatus[0]); | |||
| reset(); | |||
| } | |||
| @@ -136,9 +134,7 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| inputValue={(issueSelected?.id) ? getIssueLabel(issueSelected) : ""} | |||
| getOptionLabel={(option) => getIssueLabel(option)} | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setIssueSelected(newValue); | |||
| } | |||
| setIssueSelected(newValue); | |||
| }} | |||
| renderInput={(params) => ( | |||
| <TextField {...params} | |||
| @@ -176,9 +172,7 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| value={orgSelected} | |||
| inputValue={(orgSelected?.label) ? orgSelected?.label : ""} | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setOrgSelected(newValue); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| <TextField {...params} | |||
| @@ -291,25 +285,16 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| <Grid item xs={9} s={6} md={5} lg={3} sx={{ ml: 3, mr: 3, mb: 3 }}> | |||
| <Autocomplete | |||
| multiple | |||
| size="small" | |||
| {...register("status")} | |||
| id="status" | |||
| options={ComboData.denmandNoteStatus} | |||
| value={selectedStatus} | |||
| onChange={(event, newValue) => { | |||
| const findAllIndex = newValue.findIndex((ele) => { | |||
| return ele.type === "all" | |||
| }) | |||
| if (findAllIndex > -1) { | |||
| setSelectedStatus([newValue[findAllIndex]]); | |||
| setSelectedLabelsString('all') | |||
| } else { | |||
| const selectedLabels = newValue.map(option => option.type); | |||
| const selectedLabelsString = `${selectedLabels.join(',')}`; | |||
| if(newValue==null){ | |||
| setSelectedStatus(ComboData.denmandNoteStatus[0]); | |||
| }else{ | |||
| setSelectedStatus(newValue); | |||
| setSelectedLabelsString(selectedLabelsString); | |||
| } | |||
| }} | |||
| getOptionLabel={(option) => option.label} | |||
| @@ -335,9 +320,10 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue | |||
| <Grid item sx={{ ml: 3, mb:3 }}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -22,7 +22,7 @@ import {ThemeProvider} from "@emotion/react"; | |||
| const OrganizationSearchForm = ({ applySearch }) => { | |||
| const [type, setType] = useState([]); | |||
| const [creditorSelected, setCreditorSelected] = React.useState({ key: 0, labelCht: '全部', label: 'All', type: 'all' }); | |||
| const [creditorSelected, setCreditorSelected] = React.useState(ComboData.CreditorStatus[0]); | |||
| const { reset, register, handleSubmit } = useForm() | |||
| const onSubmit = (data) => { | |||
| @@ -47,6 +47,7 @@ const OrganizationSearchForm = ({ applySearch }) => { | |||
| function resetForm() { | |||
| setType([]); | |||
| setCreditorSelected(ComboData.CreditorStatus[0]); | |||
| reset(); | |||
| } | |||
| @@ -117,7 +118,12 @@ const OrganizationSearchForm = ({ applySearch }) => { | |||
| options={ComboData.CreditorStatus} | |||
| value={creditorSelected} | |||
| onChange={(event, newValue) => { | |||
| setCreditorSelected(newValue); | |||
| if(newValue == null){ | |||
| setCreditorSelected(ComboData.CreditorStatus[0]); | |||
| }else{ | |||
| setCreditorSelected(newValue); | |||
| } | |||
| }} | |||
| getOptionLabel={(option) => option.label} | |||
| renderInput={(params) => ( | |||
| @@ -150,9 +156,10 @@ const OrganizationSearchForm = ({ applySearch }) => { | |||
| <Grid item sx={{ mr: 3, mb: 3}}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -36,6 +36,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||
| }; | |||
| function resetForm() { | |||
| setStatus(ComboData.paymentStatus[0]); | |||
| reset(); | |||
| } | |||
| @@ -134,7 +135,9 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||
| getOptionLabel={(option) => option.label} | |||
| inputValue={status?.label ? status?.label : ""} | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| if(newValue==null){ | |||
| setStatus(ComboData.paymentStatus[0]); | |||
| }else{ | |||
| setStatus(newValue); | |||
| } | |||
| }} | |||
| @@ -144,6 +144,8 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setStatus(newValue); | |||
| }else{ | |||
| setStatus(ComboData.paymentStatus[0]); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| @@ -315,9 +315,10 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| <Grid item sx={{ ml: 3, mb: 3 }}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -268,6 +268,8 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setStatus(newValue); | |||
| }else{ | |||
| setStatus(ComboData.proofStatus[0]); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| @@ -22,7 +22,7 @@ import {FormattedMessage, useIntl} from "react-intl"; | |||
| const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||
| const intl = useIntl(); | |||
| const [type, setType] = React.useState([]); | |||
| const [status, setStatus] = React.useState({ key: 0, label: 'all', type: 'all' }); | |||
| const [status, setStatus] = React.useState(localStorage.getItem('userData').creditor?ComboData.publicNoticeStatic_Creditor[0]:ComboData.publicNoticeStatic[0]); | |||
| const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); | |||
| const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); | |||
| @@ -52,7 +52,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||
| function resetForm() { | |||
| setType([]); | |||
| setStatus({ key: 0, label: 'All', labelCht: "全部", type: 'all' }); | |||
| setStatus(localStorage.getItem('userData').creditor?ComboData.publicNoticeStatic_Creditor[0]:ComboData.publicNoticeStatic[0]); | |||
| reset(); | |||
| } | |||
| @@ -167,7 +167,11 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||
| // inputValue={status?.labelCht} | |||
| getOptionLabel={(option) => intl.formatMessage({id: option.label})} | |||
| onChange={(event, newValue) => { | |||
| if(newValue ==null){ | |||
| setStatus(localStorage.getItem('userData').creditor?ComboData.publicNoticeStatic_Creditor[0]:ComboData.publicNoticeStatic[0]); | |||
| }else{ | |||
| setStatus(newValue); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| <TextField {...params} | |||
| @@ -37,7 +37,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| const marginBottom = 2.5; | |||
| const { reset, register, handleSubmit } = useForm() | |||
| const onSubmit = (data) => { | |||
| data.status = selectedStatus.type | |||
| data.status = selectedStatus?.type | |||
| let typeArray = []; | |||
| for (let i = 0; i < type.length; i++) { | |||
| @@ -49,7 +49,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| dateFrom: data.dateFrom, | |||
| dateTo: data.dateTo, | |||
| contact: data.contact, | |||
| status: (data.status === '' || data.status.includes("all")) ? "" : data.status, | |||
| status: (data.status === '' || data.status?.includes("all")) ? "" : data.status, | |||
| orgId: (orgSelected?.key && orgSelected?.key > 0) ? orgSelected?.key : "", | |||
| issueId: issueSelected?.id, | |||
| groupNo: data.groupNo, | |||
| @@ -194,8 +194,11 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| options={ComboData.publicNoticeStatic_GLD} | |||
| value={selectedStatus} | |||
| onChange={(event, newValue) => { | |||
| setSelectedStatus(newValue); | |||
| if(newValue==null){ | |||
| setSelectedStatus(ComboData.publicNoticeStatic_GLD[0]); | |||
| }else{ | |||
| setSelectedStatus(newValue); | |||
| } | |||
| }} | |||
| getOptionLabel={(option) => option.label} | |||
| renderInput={(params) => ( | |||
| @@ -255,9 +258,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| value={orgSelected} | |||
| inputValue={(orgSelected?.label) ? orgSelected?.label : ""} | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setOrgSelected(newValue); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| <TextField {...params} | |||
| @@ -283,9 +284,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| inputValue={(issueSelected?.id) ? getIssueLabel(issueSelected) : ""} | |||
| getOptionLabel={(option) => getIssueLabel(option)} | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setIssueSelected(newValue); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| <TextField {...params} | |||
| @@ -318,9 +317,10 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| <Grid item sx={{ ml: 3 }}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -171,9 +171,10 @@ const UserSearchForm = ({ applySearch }) => { | |||
| <Grid item sx={{ ml: 3, mr: 3, mb: 3,}}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -17,7 +17,7 @@ import {ThemeProvider} from "@emotion/react"; | |||
| const UserSearchForm_Individual = ({ applySearch }) => { | |||
| const [type, setType] = useState([]); | |||
| const [accountFilter, setAccountFilter] = useState("Active"); | |||
| const [accountFilter, setAccountFilter] = useState("All"); | |||
| const { reset, register, handleSubmit } = useForm() | |||
| const onSubmit = (data) => { | |||
| @@ -42,6 +42,7 @@ const UserSearchForm_Individual = ({ applySearch }) => { | |||
| function resetForm() { | |||
| setType([]); | |||
| setAccountFilter("All"); | |||
| reset(); | |||
| } | |||
| @@ -120,6 +121,8 @@ const UserSearchForm_Individual = ({ applySearch }) => { | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null) { | |||
| setAccountFilter(newValue); | |||
| }else{ | |||
| setAccountFilter("All"); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| @@ -150,9 +153,10 @@ const UserSearchForm_Individual = ({ applySearch }) => { | |||
| <Grid item sx={{ ml: 3, mr: 3, mb: 3 }}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -147,6 +147,8 @@ const UserSearchForm_Organization = ({applySearch}) => { | |||
| onChange={(event, newValue) => { | |||
| if (newValue !== null){ | |||
| setAccountFilter(newValue); | |||
| }else{ | |||
| setAccountFilter("All"); | |||
| } | |||
| }} | |||
| renderInput={(params) => ( | |||
| @@ -177,9 +179,10 @@ const UserSearchForm_Organization = ({applySearch}) => { | |||
| <Grid item sx={{ml:3, mr:3, mb:3}}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -94,9 +94,10 @@ const UserGroupSearchForm = ({ applySearch }) => { | |||
| <Grid item sx={{mr:3}}> | |||
| <Button | |||
| variant="contained" | |||
| color="cancel" | |||
| onClick={resetForm} | |||
| > | |||
| Clear | |||
| Reset | |||
| </Button> | |||
| </Grid> | |||
| @@ -61,14 +61,12 @@ export const publicNoticeStatic_Creditor = [ | |||
| { key: 8, label: 'withdrawn', type: 'withdrawn' }, | |||
| ]; | |||
| export const publicNoticeStatic_GLD = [ | |||
| { key: 0, label: 'All', type: 'all' }, | |||
| { key: 1, label: 'Submitted', type: 'submitted' }, | |||
| { key: 2, label: 'Reviewed', type: 'reviewed' }, | |||
| { key: 3, label: 'Confirmed', type: 'confirmed' }, | |||
| { key: 3, label: 'Paid', type: 'paid' }, | |||
| { key: 4, label: 'Published', type: 'published' }, | |||
| { key: 3, label: 'Pending Publish', type: 'pendingPublish' }, | |||
| { key: 4, label: 'Pending Payment', type: 'pendingPayment' }, | |||
| { key: 5, label: 'Completed', type: 'completed' }, | |||
| { key: 6, label: 'Not Accepted', type: 'notAccepted' }, | |||
| { key: 7, label: 'Re-Submit Required', type: 'resubmit' }, | |||
| @@ -77,6 +75,21 @@ export const publicNoticeStatic_GLD = [ | |||
| ]; | |||
| // export const publicNoticeStatic_GLD = [ | |||
| // { key: 0, label: 'All', type: 'all' }, | |||
| // { key: 1, label: 'Submitted', type: 'submitted' }, | |||
| // { key: 2, label: 'Reviewed', type: 'reviewed' }, | |||
| // { key: 3, label: 'Confirmed', type: 'confirmed' }, | |||
| // { key: 3, label: 'Paid', type: 'paid' }, | |||
| // { key: 4, label: 'Published', type: 'published' }, | |||
| // { key: 5, label: 'Completed', type: 'completed' }, | |||
| // { key: 6, label: 'Not Accepted', type: 'notAccepted' }, | |||
| // { key: 7, label: 'Re-Submit Required', type: 'resubmit' }, | |||
| // { key: 8, label: 'Cancelled', type: 'cancelled' }, | |||
| // { key: 9, label: 'Withdrawn', type: 'withdrawn' }, | |||
| // ]; | |||
| export const groupTitle = [ | |||
| { key: 1, labelCht: 'A1 - 私人帳單', label: 'A1 - Private Bill', title: 'Private Bill', type: 'A'}, | |||
| { key: 2, labelCht: 'A2 - ???', label: 'A2 - Stock Shares', title: 'Stock Shares', type: 'A'}, | |||