import { EditOutlined, EyeOutlined } from '@ant-design/icons'; import { ProColumns, ProTable } from '@ant-design/pro-components'; import { useIntl, useModel } from '@umijs/max'; import { Button, Flex, message } from 'antd'; import React, { useState } from 'react'; import CreateOrUpdateFishingLog from './CreateOrUpdateFishingLog'; import HaulFishList from './HaulFishList'; export interface HaulTableProps { hauls: API.FishingLog[]; trip?: API.Trip; onReload?: (isTrue: boolean) => void; } const HaulTable: React.FC = ({ hauls, trip }) => { const [editOpen, setEditOpen] = useState(false); const [editFishingLogOpen, setEditFishingLogOpen] = useState(false); const [currentRow, setCurrentRow] = useState([]); const [currentFishingLog, setCurrentFishingLog] = useState(null); const intl = useIntl(); const { getApi } = useModel('getTrip'); const fishing_logs_columns: ProColumns[] = [ { title: (
{intl.formatMessage({ id: 'trip.haulTable.no' })}
), dataIndex: 'fishing_log_id', align: 'center', render: (_, __, index) => { return `${intl.formatMessage({ id: 'trip.haulTable.haul' })} ${ hauls.length - index }`; }, }, { title: (
{intl.formatMessage({ id: 'trip.haulTable.status' })}
), dataIndex: ['status'], align: 'center', valueEnum: { 0: { text: intl.formatMessage({ id: 'trip.haulTable.fishing', }), status: 'Processing', }, 1: { text: intl.formatMessage({ id: 'trip.haulTable.endFishing', }), status: 'Success', }, 2: { text: intl.formatMessage({ id: 'trip.haulTable.cancelFishing', }), status: 'default', }, }, }, { title: (
{intl.formatMessage({ id: 'trip.haulTable.weather' })}
), dataIndex: ['weather_description'], align: 'center', }, { title: (
{intl.formatMessage({ id: 'trip.haulTable.startTime' })}
), dataIndex: ['start_at'], align: 'center', render: (start_at: any) => { if (!start_at) return '-'; const date = new Date(start_at); return date.toLocaleString('vi-VN', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, }); }, }, { title: (
{intl.formatMessage({ id: 'trip.haulTable.endTime' })}
), dataIndex: ['end_at'], align: 'center', render: (end_at: any) => { if (end_at === '0001-01-01T00:00:00Z') return '-'; const date = new Date(end_at); return date.toLocaleString('vi-VN', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, }); }, }, { title: intl.formatMessage({ id: 'trip.haulTable.action' }), align: 'center', hideInSearch: true, render: (_, record) => { console.log('Rendering action column for record:', record); return ( {/* Nút Edit */}