| @@ -57,9 +57,9 @@ export function FiDataGrid({ rows, columns, sx, autoHeight, | |||
| if(applySearch!=undefined){ | |||
| if (Object.keys(getSearchCriteria(window.location.pathname)).length>0){ | |||
| const localStorageSearchCriteria = getSearchCriteria(window.location.pathname) | |||
| console.log(localStorageSearchCriteria) | |||
| // console.log(localStorageSearchCriteria) | |||
| if(localStorageSearchCriteria.start!=undefined){ | |||
| console.log(localStorageSearchCriteria) | |||
| // console.log(localStorageSearchCriteria) | |||
| setPage(localStorageSearchCriteria.start/pageSize); | |||
| } | |||
| } | |||
| @@ -38,7 +38,6 @@ const ApplicationDetailCard = ({ | |||
| useEffect(() => { | |||
| if (formData) { | |||
| console.log(formData) | |||
| setData(formData); | |||
| } | |||
| }, [formData]); | |||
| @@ -134,29 +133,33 @@ const ApplicationDetailCard = ({ | |||
| alignItems="center" | |||
| > | |||
| Public Notice: Proofreading Reply | |||
| <Button | |||
| component="span" | |||
| variant="contained" | |||
| size="large" | |||
| disabled={!showProofBtn||onDownload} | |||
| onClick={genProof} | |||
| > | |||
| <Typography variant="h5">Proof Slip</Typography> | |||
| </Button> | |||
| { | |||
| isGranted(["MAINTAIN_PROOF"]) ? <Button | |||
| component="span" | |||
| variant="contained" | |||
| size="large" | |||
| color="error" | |||
| disabled={showCancelBtn} | |||
| onClick={doCancel} | |||
| > | |||
| <Typography variant="h5">Cancel</Typography> | |||
| </Button> : <></> | |||
| {data.appMode != "offline"? | |||
| <> | |||
| <Button | |||
| component="span" | |||
| variant="contained" | |||
| size="large" | |||
| disabled={!showProofBtn||onDownload} | |||
| onClick={genProof} | |||
| > | |||
| <Typography variant="h5">Proof Slip</Typography> | |||
| </Button> | |||
| { | |||
| isGranted(["MAINTAIN_PROOF"]) ? <Button | |||
| component="span" | |||
| variant="contained" | |||
| size="large" | |||
| color="error" | |||
| disabled={showCancelBtn} | |||
| onClick={doCancel} | |||
| > | |||
| <Typography variant="h5">Cancel</Typography> | |||
| </Button> : <></> | |||
| } | |||
| </> | |||
| :null | |||
| } | |||
| </Stack> | |||
| </Typography> | |||
| @@ -55,6 +55,7 @@ const ApplicationDetailCard = ( | |||
| const [paymentMeans, setPaymentMeans] = useState(ComboData.paymentMeans[0]); | |||
| const [oldPaymentMeans, setOldPaymentMeans] = useState(""); | |||
| const [isPaymentMeansPopUp, setIsPaymentMeansPopUp] = useState(false); | |||
| const [mode, setMode] = useState(""); | |||
| const { register, handleSubmit } = useForm() | |||
| const intl = useIntl(); | |||
| @@ -88,6 +89,9 @@ const ApplicationDetailCard = ( | |||
| setVerified(applicationDetailData.userData.verifiedBy ? true : false) | |||
| setfileDetail(applicationDetailData.fileDetail); | |||
| setProofId(applicationDetailData.proofId); | |||
| if (applicationDetailData.data.mode != null){ | |||
| setMode(applicationDetailData.data.mode); | |||
| } | |||
| if (applicationDetailData.data.status == 'submitted'||applicationDetailData.data.status == 'reviewed'||applicationDetailData.data.status == 'confirmed'){ | |||
| setShowPaymentMeans(true) | |||
| if (applicationDetailData.data.paymentMethod!=null){ | |||
| @@ -236,161 +240,118 @@ const ApplicationDetailCard = ( | |||
| > | |||
| {verified && currentApplicationDetailData.status !== "notAccepted" ? | |||
| isGrantedAny("MAINTAIN_APPLICATION") ? | |||
| <Grid container spacing={4} direction="row"> | |||
| <Grid item xs={12} md={4} > | |||
| <Stack | |||
| direction="row" | |||
| justifyContent="flex-start" | |||
| alignItems="center" | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| {currentApplicationDetailData.status === "reviewed" && isGranted("MAINTAIN_PROOF") ? | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={() => { onProofClick() }} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end' | |||
| }}> | |||
| <EditNoteIcon /> | |||
| <Typography ml={1} variant="h5"> Create Proof</Typography> | |||
| </Button> : | |||
| null | |||
| } | |||
| </Stack> | |||
| </Grid> | |||
| <Grid item xs={12} md={8} > | |||
| <Stack | |||
| direction="row" | |||
| justifyContent="flex-start" | |||
| alignItems="center" | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| { | |||
| !(orgDetail?.creditor) && currentApplicationDetailData.creditor && currentApplicationDetailData.status === "published" ? | |||
| <> | |||
| <div> | |||
| {mode != "offline"? | |||
| <Grid container spacing={4} direction="row"> | |||
| <Grid item xs={12} md={4} > | |||
| <Stack | |||
| direction="row" | |||
| justifyContent="flex-start" | |||
| alignItems="center" | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| {currentApplicationDetailData.status === "reviewed" && isGranted("MAINTAIN_PROOF") ? | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={paidClick()} | |||
| onClick={() => { onProofClick() }} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| alignItems: 'end' | |||
| }}> | |||
| <DoneIcon /> | |||
| <Typography ml={1} variant="h5">Paid</Typography> | |||
| </Button> | |||
| </> | |||
| : | |||
| <></> | |||
| } | |||
| {currentApplicationDetailData.status === "submitted" || currentApplicationDetailData.status == "reviewed" ? | |||
| <> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={reSubmitClick()} | |||
| color="orange" | |||
| > | |||
| <ReplayIcon /> | |||
| <Typography ml={1} variant="h5"> Re-Submit</Typography> | |||
| </Button> | |||
| <EditNoteIcon /> | |||
| <Typography ml={1} variant="h5"> Create Proof</Typography> | |||
| </Button> : | |||
| null | |||
| } | |||
| </Stack> | |||
| </Grid> | |||
| <Grid item xs={12} md={8} > | |||
| <Stack | |||
| direction="row" | |||
| justifyContent="flex-start" | |||
| alignItems="center" | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| { | |||
| proofId == null || proofId == 0? | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={notAcceptedClick()} | |||
| color="error" | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| }}> | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Not Accept</Typography> | |||
| </Button> | |||
| : | |||
| null | |||
| !(orgDetail?.creditor) && currentApplicationDetailData.creditor && currentApplicationDetailData.status === "published" ? | |||
| <> | |||
| <Button | |||
| variant="contained" | |||
| onClick={paidClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| }}> | |||
| <DoneIcon /> | |||
| <Typography ml={1} variant="h5">Paid</Typography> | |||
| </Button> | |||
| </> | |||
| : | |||
| <></> | |||
| } | |||
| </> : | |||
| (currentApplicationDetailData.status == "confirmed" && currentApplicationDetailData.creditor == 1) ? | |||
| <> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={doPublish()} | |||
| disabled={setCompleteDisable()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#52b202' | |||
| }}> | |||
| <DoneIcon /> | |||
| <Typography ml={1} variant="h5">Publish</Typography> | |||
| </Button> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={withdrawnClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#ffa733' | |||
| }}> | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Withdraw</Typography> | |||
| </Button> | |||
| </> | |||
| : | |||
| (currentApplicationDetailData.status == "confirmed" && currentApplicationDetailData.creditor == 0) ? | |||
| {currentApplicationDetailData.status === "submitted" || currentApplicationDetailData.status == "reviewed" ? | |||
| <> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={withdrawnClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#ffa733' | |||
| }}> | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Withdraw</Typography> | |||
| onClick={reSubmitClick()} | |||
| color="orange" | |||
| > | |||
| <ReplayIcon /> | |||
| <Typography ml={1} variant="h5"> Re-Submit</Typography> | |||
| </Button> | |||
| </> | |||
| : | |||
| ( | |||
| (currentApplicationDetailData.status == "paid" && currentApplicationDetailData.creditor == 0) ? | |||
| <> | |||
| { | |||
| proofId == null || proofId == 0? | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={revokeClick()} | |||
| disabled={currentApplicationDetailData.paymentMethod == "online" || currentApplicationDetailData.paymentMethod == null} | |||
| onClick={notAcceptedClick()} | |||
| color="error" | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#ffa733' | |||
| }}> | |||
| <ReplayIcon /> | |||
| <Typography ml={1} variant="h5">Revoke Payment</Typography> | |||
| </Button> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={complatedClick()} | |||
| disabled={setCompleteDisable()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#52b202' | |||
| }}> | |||
| <DoneIcon /> | |||
| <Typography ml={1} variant="h5">Publish</Typography> | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Not Accept</Typography> | |||
| </Button> | |||
| : | |||
| null | |||
| } | |||
| </> : | |||
| (currentApplicationDetailData.status == "confirmed" && currentApplicationDetailData.creditor == 1) ? | |||
| <> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={doPublish()} | |||
| disabled={setCompleteDisable()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#52b202' | |||
| }}> | |||
| <DoneIcon /> | |||
| <Typography ml={1} variant="h5">Publish</Typography> | |||
| </Button> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={withdrawnClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#ffa733' | |||
| }}> | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Withdraw</Typography> | |||
| </Button> | |||
| </> | |||
| : | |||
| (currentApplicationDetailData.status == "confirmed" && currentApplicationDetailData.creditor == 0) ? | |||
| <> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| @@ -403,13 +364,61 @@ const ApplicationDetailCard = ( | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Withdraw</Typography> | |||
| </Button> | |||
| </> : null | |||
| ) | |||
| } | |||
| </Stack> | |||
| </Grid> | |||
| </Grid> | |||
| </> | |||
| : | |||
| ( | |||
| (currentApplicationDetailData.status == "paid" && currentApplicationDetailData.creditor == 0) ? | |||
| <> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={revokeClick()} | |||
| disabled={currentApplicationDetailData.paymentMethod == "online" || currentApplicationDetailData.paymentMethod == null} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#ffa733' | |||
| }}> | |||
| <ReplayIcon /> | |||
| <Typography ml={1} variant="h5">Revoke Payment</Typography> | |||
| </Button> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={complatedClick()} | |||
| disabled={setCompleteDisable()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#52b202' | |||
| }}> | |||
| <DoneIcon /> | |||
| <Typography ml={1} variant="h5">Publish</Typography> | |||
| </Button> | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| onClick={withdrawnClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| backgroundColor: '#ffa733' | |||
| }}> | |||
| <CloseIcon /> | |||
| <Typography ml={1} variant="h5">Withdraw</Typography> | |||
| </Button> | |||
| </> : null | |||
| ) | |||
| } | |||
| </Stack> | |||
| </Grid> | |||
| </Grid> | |||
| :null | |||
| } | |||
| </div> | |||
| : null | |||
| : null | |||
| } | |||
| @@ -35,6 +35,7 @@ const GazetteDetailCard = ( | |||
| const [currentStatus, setCurrentStatus] = useState({}); | |||
| const [sysType, setSysType] = useState(null); | |||
| const [careOf, setCareOf] = useState(""); | |||
| const [mode, setMode] = useState(""); | |||
| const [isWarningPopUp, setIsWarningPopUp] = useState(false); | |||
| const [warningText, setWarningText] = useState(""); | |||
| @@ -55,6 +56,9 @@ const GazetteDetailCard = ( | |||
| setSysType(applicationDetailData.userData.sysType) | |||
| setCareOf(applicationDetailData.data.careOf) | |||
| setGroupTitle(applicationDetailData.data.groupTitle) | |||
| if (applicationDetailData.data.mode != null){ | |||
| setMode(applicationDetailData.data.mode); | |||
| } | |||
| } | |||
| }, [applicationDetailData]); | |||
| @@ -99,6 +103,7 @@ const GazetteDetailCard = ( | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| {mode != "offline"? | |||
| <Button | |||
| // size="large" | |||
| variant="contained" | |||
| @@ -111,6 +116,8 @@ const GazetteDetailCard = ( | |||
| <EditNoteIcon /> | |||
| <Typography variant="h5" ml={1}> Gen Gazette Code</Typography> | |||
| </Button> | |||
| :null | |||
| } | |||
| </Stack> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -63,6 +63,7 @@ const PublicNoticeDetail_GLD = () => { | |||
| const [issueNum, setIssueNum] = useState(""); | |||
| const [groupNo, setGroupNo] = useState(""); | |||
| // const [groupTitle, setGroupTitle] = useState(""); | |||
| const [mode, setMode] = useState(""); | |||
| //statusWindow | |||
| const [open, setOpen] = useState(false); | |||
| @@ -88,7 +89,7 @@ const PublicNoticeDetail_GLD = () => { | |||
| backgroundPosition: 'right' | |||
| } | |||
| const title = groupNo != null ? (appNo + ", " + gazetteIssue + ", " + issueNum + " , " + groupNo) : (appNo + ", " + gazetteIssue + ", " + issueNum) | |||
| const title = groupNo != null ? (appNo + ", " + gazetteIssue + ", " + issueNum + " , " + groupNo +" "+ mode) : (appNo + ", " + gazetteIssue + ", " + issueNum+" "+ mode) | |||
| useEffect(() => { | |||
| loadApplicationDetail(); | |||
| @@ -122,6 +123,9 @@ const PublicNoticeDetail_GLD = () => { | |||
| setIssueNum(" No. " + gazetteIssueDetail.issueNo); | |||
| setIssueDate(DateUtils.dateFormat(gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)")); | |||
| setGroupNo(response.data.data.groupNo); | |||
| if (response.data.data.mode != null){ | |||
| setMode("("+response.data.data.mode+")"); | |||
| } | |||
| setLoading(false); | |||
| } | |||
| }) | |||
| @@ -62,6 +62,7 @@ const ApplicationDetailCard = ( | |||
| const [issueNum, setIssueNum] = useState(""); | |||
| const [issueDate, setIssueDate] = useState(""); | |||
| const [onDownload, setOnDownload] = useState(false); | |||
| const [mode, setMode] = useState(""); | |||
| const { register, | |||
| // getValues | |||
| @@ -79,6 +80,9 @@ const ApplicationDetailCard = ( | |||
| setIssueNum(applicationDetailData.gazetteIssueDetail.volume + "/" + applicationDetailData.gazetteIssueDetail.issueYear | |||
| + " No. " + applicationDetailData.gazetteIssueDetail.issueNo); | |||
| setIssueDate(DateUtils.dateFormat(applicationDetailData.gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)")); | |||
| if (applicationDetailData.data.mode != null){ | |||
| setMode(applicationDetailData.data.mode); | |||
| } | |||
| } | |||
| }, [applicationDetailData]); | |||
| @@ -183,62 +187,68 @@ const ApplicationDetailCard = ( | |||
| border={false} | |||
| content={false} | |||
| > | |||
| <Grid container spacing={1} direction="row"> | |||
| <Grid item xs={12}> | |||
| <Stack | |||
| direction="row" | |||
| justifyContent="space-between" | |||
| alignItems="center" | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| <ThemeProvider theme={PNSPS_BUTTON_THEME}> | |||
| { | |||
| currentApplicationDetailData.status == "confirmed" ? | |||
| {mode != "offline"? | |||
| <div> | |||
| <Grid container spacing={1} direction="row"> | |||
| <Grid item xs={12}> | |||
| <Stack | |||
| direction="row" | |||
| justifyContent="space-between" | |||
| alignItems="center" | |||
| spacing={2} | |||
| mb={2} | |||
| > | |||
| <ThemeProvider theme={PNSPS_BUTTON_THEME}> | |||
| { | |||
| currentApplicationDetailData.status == "confirmed" ? | |||
| <Button | |||
| variant="contained" | |||
| color="create" | |||
| onClick={() => { checkExprityDate(true) }} | |||
| disabled={currentApplicationDetailData.status == "rejected" | |||
| || currentApplicationDetailData.status == "cancelled" | |||
| || currentApplicationDetailData.status == "paid" | |||
| || currentApplicationDetailData.creditor | |||
| || currentApplicationDetailData.paymentMethod != "online" | |||
| } | |||
| startIcon={<EditNoteIcon />} | |||
| aria-label={intl.formatMessage({ id: 'payFor' })} | |||
| > | |||
| <FormattedMessage id="payFor" /> | |||
| </Button> | |||
| : null | |||
| } | |||
| <Button | |||
| variant="contained" | |||
| color="create" | |||
| onClick={() => { checkExprityDate(true) }} | |||
| onClick={cancelledClick()} | |||
| color="edit" | |||
| disabled={currentApplicationDetailData.status == "rejected" | |||
| || currentApplicationDetailData.status == "cancelled" | |||
| || currentApplicationDetailData.status == "paid" | |||
| || currentApplicationDetailData.creditor | |||
| || currentApplicationDetailData.paymentMethod != "online" | |||
| || currentApplicationDetailData.status == "withdrawn" | |||
| || currentApplicationDetailData.status == "completed" | |||
| || currentApplicationDetailData.status == "notAccepted" | |||
| || currentApplicationDetailData.status == "resubmit" | |||
| || (!currentApplicationDetailData.creditor | |||
| && currentApplicationDetailData.status == "paid") | |||
| || (currentApplicationDetailData.creditor | |||
| && currentApplicationDetailData.status == "confirmed") | |||
| || (currentApplicationDetailData.creditor | |||
| && currentApplicationDetailData.status == "published") | |||
| } | |||
| startIcon={<EditNoteIcon />} | |||
| aria-label={intl.formatMessage({ id: 'payFor' })} | |||
| title={intl.formatMessage({ id: 'cancelApp' })} | |||
| startIcon={<CloseIcon />} | |||
| aria-label={intl.formatMessage({ id: 'cancelApp' })} | |||
| > | |||
| <FormattedMessage id="payFor" /> | |||
| <FormattedMessage id="cancelApp" /> | |||
| </Button> | |||
| : null | |||
| } | |||
| <Button | |||
| variant="contained" | |||
| onClick={cancelledClick()} | |||
| color="edit" | |||
| disabled={currentApplicationDetailData.status == "rejected" | |||
| || currentApplicationDetailData.status == "cancelled" | |||
| || currentApplicationDetailData.status == "withdrawn" | |||
| || currentApplicationDetailData.status == "completed" | |||
| || currentApplicationDetailData.status == "notAccepted" | |||
| || currentApplicationDetailData.status == "resubmit" | |||
| || (!currentApplicationDetailData.creditor | |||
| && currentApplicationDetailData.status == "paid") | |||
| || (currentApplicationDetailData.creditor | |||
| && currentApplicationDetailData.status == "confirmed") | |||
| || (currentApplicationDetailData.creditor | |||
| && currentApplicationDetailData.status == "published") | |||
| } | |||
| title={intl.formatMessage({ id: 'cancelApp' })} | |||
| startIcon={<CloseIcon />} | |||
| aria-label={intl.formatMessage({ id: 'cancelApp' })} | |||
| > | |||
| <FormattedMessage id="cancelApp" /> | |||
| </Button> | |||
| </ThemeProvider> | |||
| </Stack> | |||
| </Grid> | |||
| </Grid> | |||
| </ThemeProvider> | |||
| </Stack> | |||
| </Grid> | |||
| </Grid> | |||
| </div> | |||
| :null | |||
| } | |||
| <Typography variant="h4" sx={{ mb: 2, borderBottom: "1px solid black" }}> | |||
| <FormattedMessage id="publicNoticeDetailTitle" /> | |||
| </Typography> | |||
| @@ -13,8 +13,9 @@ import { | |||
| isDummyLoggedIn, | |||
| } from "utils/Utils"; | |||
| import {useTheme} from "@emotion/react"; | |||
| import {getStatusIntl} from "utils/statusUtils/PublicNoteStatusUtils"; | |||
| import {getStatusIntl,getModeEng} from "utils/statusUtils/PublicNoteStatusUtils"; | |||
| import {FormattedMessage, useIntl} from "react-intl"; | |||
| // ==============================|| EVENT TABLE ||============================== // | |||
| export default function BaseGrid({setCount, url}) { | |||
| @@ -36,6 +37,16 @@ export default function BaseGrid({setCount, url}) { | |||
| width: isMdOrLg ? 'auto' : 160, | |||
| flex: isMdOrLg ? 1 : undefined, | |||
| }, | |||
| { | |||
| id: 'mode', | |||
| field: 'mode', | |||
| headerName: intl.formatMessage({ id: 'applicationMode' }), | |||
| width: isMdOrLg ? 'auto' : 100, | |||
| flex: isMdOrLg ? 1 : undefined, | |||
| renderCell: (params) => { | |||
| return [getModeEng(params)] | |||
| }, | |||
| }, | |||
| { | |||
| id: 'created', | |||
| field: 'created', | |||
| @@ -42,6 +42,16 @@ export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnRea | |||
| width: isMdOrLg ? 'auto' : 160, | |||
| flex: isMdOrLg ? 1 : undefined, | |||
| }, | |||
| { | |||
| id: 'mode', | |||
| field: 'mode', | |||
| headerName: intl.formatMessage({ id: 'applicationMode' }), | |||
| width: isMdOrLg ? 'auto' : 100, | |||
| flex: isMdOrLg ? 1 : undefined, | |||
| renderCell: (params) => { | |||
| return [StatusUtils.getModeEng(params)] | |||
| }, | |||
| }, | |||
| { | |||
| id: 'created', | |||
| field: 'created', | |||
| @@ -64,6 +64,16 @@ export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnRea | |||
| return clickableLink('/application/' + params.id, params.row.appNo); | |||
| }, | |||
| }, | |||
| { | |||
| id: 'mode', | |||
| field: 'mode', | |||
| headerName: 'Mode', | |||
| sortable: false, | |||
| width: 100, | |||
| renderCell: (params) => { | |||
| return [StatusUtils.getModeEng(params)] | |||
| }, | |||
| }, | |||
| { | |||
| id: 'status', | |||
| field: 'status', | |||
| @@ -89,6 +89,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| issueId: issueSelected?.id, | |||
| groupNo: data.groupNo, | |||
| gazettGroup: groupSelected?.code, | |||
| mode: data.mode, | |||
| start:0, | |||
| limit:10 | |||
| }; | |||
| @@ -126,7 +127,8 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| reset({ | |||
| appNo:"", | |||
| contact:"", | |||
| groupNo:"" | |||
| groupNo:"", | |||
| mode:"" | |||
| }); | |||
| localStorage.setItem('searchCriteria',"") | |||
| } | |||
| @@ -418,6 +420,18 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||
| }} | |||
| /> | |||
| </Grid> | |||
| <Grid item xs={9} s={6} md={5} lg={3} sx={{ ml: 3, mr: 3, mb: marginBottom }}> | |||
| <TextField | |||
| fullWidth | |||
| {...register("mode")} | |||
| id='mode' | |||
| label="Mode" | |||
| defaultValue={searchCriteria.mode} | |||
| InputLabelProps={{ | |||
| shrink: true | |||
| }} | |||
| /> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -368,6 +368,7 @@ | |||
| "withdrawn": "Withdrawn", | |||
| "searchApplyRecord": "Search application records", | |||
| "applicationId": "Application No.", | |||
| "applicationMode": "Mode", | |||
| "submitDate": "Submit Date", | |||
| "submitDateFrom": "Submit Date (From)", | |||
| "submitDateTo": "Submit Date (To)", | |||
| @@ -401,6 +401,7 @@ | |||
| "withdrawn": "已撤销", | |||
| "searchApplyRecord": "搜寻申请记录", | |||
| "applicationId": "申请编号", | |||
| "applicationMode": "方式", | |||
| "submitDate": "提交日期", | |||
| "submitDateFrom": "提交日期 (从)", | |||
| "submitDateTo": "提交日期 (到)", | |||
| @@ -402,6 +402,7 @@ | |||
| "withdrawn": "已撤銷", | |||
| "searchApplyRecord": "搜尋申請記錄", | |||
| "applicationId": "申請編號", | |||
| "applicationMode": "方式", | |||
| "submitDate": "提交日期", | |||
| "submitDateFrom": "提交日期 (從)", | |||
| "submitDateTo": "提交日期 (到)", | |||
| @@ -102,3 +102,17 @@ export function getStatusByTextIntl(status, creditor, intl) { | |||
| return getStatusTag({ text: status }) | |||
| } | |||
| } | |||
| export function getModeEng(params) { | |||
| return getModeByTextEng(params.row.mode); | |||
| } | |||
| export function getModeByTextEng(mode) { | |||
| switch (mode) { | |||
| case "offline": | |||
| return "Offline" | |||
| case "online": | |||
| return "Online" | |||
| default: | |||
| return "" | |||
| } | |||
| } | |||