|
- // material-ui
- import * as React from 'react';
- import {
- Button
- } 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";
- // ==============================|| EVENT TABLE ||============================== //
-
- export default function SearchPublicNoticeTable({ recordList }) {
- const [rows, setRows] = React.useState([]);
- const navigate = useNavigate()
-
- const handleDetailClick = (params) => () => {
- navigate('/publicNotice/'+ params.id);
- };
-
- React.useEffect(() => {
- setRows(recordList);
- }, [recordList]);
-
- const columns = [
- {
- id: 'appNo',
- field: 'appNo',
- headerName: '申請編號',
- flex: 1,
- },
- {
- id: 'created',
- field: 'created',
- headerName: '提交日期',
- flex: 1,
- 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}<br />
- // {contact}
- // </>);
- // }
- // },
- {
- id: 'remarks',
- field: 'remarks',
- headerName: '我的備註',
- flex: 3,
- },
- {
- id: 'status',
- field: 'status',
- headerName: '狀態',
- width: 160,
- renderCell: (params) => {
- return [StatusUtils.getStatus(params)]
- },
- },
- {
- field: 'actions',
- type: 'actions',
- headerName: '',
- width: 150,
- cellClassName: 'actions',
- renderCell: (params) => {
- return <Button onClick={handleDetailClick(params)}>查看詳細</Button>;
- },
- }
- ];
-
- function handleRowDoubleClick(params) {
- navigate('/publicNotice/'+ params.id);
- }
-
- return (
- <div style={{ minHeight: 400, width: '100%' }}>
- <FiDataGrid
- rows={rows}
- columns={columns}
- initialState={{
- pagination: {
- paginationModel: { page: 0, pageSize: 20 },
- },
- }}
- onRowDoubleClick={handleRowDoubleClick}
- getRowHeight={() => 'auto'}
- />
- </div>
- );
- }
|