// material-ui import {useState, useEffect} from 'react'; import { Button, Typography, useMediaQuery } from '@mui/material'; import * as DateUtils from "utils/DateUtils"; import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import { useNavigate } from "react-router-dom"; import { FiDataGrid } from "components/FiDataGrid"; import { isORGLoggedIn, isDummyLoggedIn, } from "utils/Utils"; import {GET_PUBLIC_NOTICE_LIST} from "utils/ApiPathConst"; import {getModeIntl } from "utils/statusUtils/PublicNoteStatusUtils"; import { useTheme } from "@emotion/react"; import { FormattedMessage, useIntl } from "react-intl"; import * as React from 'react'; // ==============================|| EVENT TABLE ||============================== // export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady, applySearch }) { const navigate = useNavigate() const theme = useTheme(); const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); const intl = useIntl(); const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); useEffect(() => { set_searchCriteria(searchCriteria); }, [searchCriteria]); const handleDetailClick = (params) => () => { navigate('/publicNotice/' + params.id); }; const columns = [ { id: 'appNo', field: 'appNo', headerName: intl.formatMessage({ id: 'applicationId' }), width: isMdOrLg ? 'auto' : 160, flex: isMdOrLg ? 1 : undefined, renderCell: (params) => { return [params.row.appNo+getModeIntl(params,intl)] }, }, { id: 'created', field: 'created', headerName: intl.formatMessage({ id: 'submitDate' }), width: isMdOrLg ? 'auto' : 160, flex: isMdOrLg ? 1 : undefined, valueGetter: (params) => { return DateUtils.datetimeStr(params?.value); } }, // { // id: 'contactPerson', // field: 'contactPerson', // headerName: '聯絡人', // flex: 2, // renderCell: (params) => { // let phone = JSON.parse(params.row.contactTelNo); // let faxNo = JSON.parse(params.row.contactFaxNo); // let contact = ""; // if (phone) { // contact = "電話: " + phone?.countryCode + " " + phone?.phoneNumber // } // if (faxNo && faxNo?.faxNumber) { // if (contact != "") // contact = contact + ", " // contact = contact + "傳真:" + faxNo?.countryCode + " " + faxNo?.faxNumber // } // return (<> // {params?.value}
// {contact} // ); // } // }, { id: 'remarks', field: 'remarks', headerName: isORGLoggedIn() ? intl.formatMessage({ id: 'gazetteCount2_1' }) : intl.formatMessage({ id: 'myRemarks' }), width: isMdOrLg ? 'auto' : 400, flex: isMdOrLg ? 3 : undefined, renderCell: (params) => ( isORGLoggedIn() ? isDummyLoggedIn()?
: {params.row.issueVolume + "/" + params.row.issueYear + " No. " + params.row.issueNo}
GLD: {params.row.custName}
: {params.row.careOf}
: {params.row.remarks}
:
: {params.row.issueVolume + "/" + params.row.issueYear + " No. " + params.row.issueNo}
: {params.row.careOf}
: {params.row.remarks}
:
: {params.row.issueVolume + "/" + params.row.issueYear + " No. " + params.row.issueNo}
{params.row.remarks}
) }, { id: 'status', field: 'status', headerName: intl.formatMessage({ id: 'status' }), width: 200, renderCell: (params) => { return [StatusUtils.getStatusIntl(params, intl)] }, }, { field: 'actions', type: 'actions', headerName: '', width: 150, cellClassName: 'actions', renderCell: (params) => { return ; }, } ]; function handleRowDoubleClick(params) { navigate('/publicNotice/' + params.id); } return (
'auto'} onRowDoubleClick={handleRowDoubleClick} applyGridOnReady = {applyGridOnReady} applySearch={applySearch} tab={"application"} doLoad={React.useMemo(() => ({ url: GET_PUBLIC_NOTICE_LIST, params: _searchCriteria, applyGridOnReady: applyGridOnReady, // callback: function (responseData) { // setRows(responseData?.records); // // applyGridOnReady(false) // } }), [_searchCriteria])} />
); }