import React, { useState } from 'react';
import { Form, Input, Button, DatePicker, Space, Modal } from 'antd';
import { SearchOutlined, RedoOutlined, CloseOutlined, EyeOutlined, DeleteOutlined } from '@ant-design/icons';
import StandardTable from '@/components/StandardTable';
import styles from './PermitManagement.less';
import licence1 from '@/assets/business_envinformation/licence1.svg';
import licence2 from '@/assets/business_envinformation/licence2.svg';

const PermitManagement = () => {
    const [form] = Form.useForm();
    const [isModalVisible, setIsModalVisible] = useState(false);
    const [currentImage, setCurrentImage] = useState(null);
    const [dataSource, setDataSource] = useState([
        {
            key: 1,
            companyName: '北京某某环保有限公司',
            permitNumber: 'PWX-BJ-2023-001',
            issueOrg: '北京市生态环境局',
            expireDate: '2025-12-31',
            original: '已上传',
            duplicate: '已上传',
        },
        {
            key: 2,
            companyName: '上海某某化工有限公司',
            permitNumber: 'PWX-SH-2023-002',
            issueOrg: '上海市生态环境局',
            expireDate: '2025-10-15',
            original: '已上传',
            duplicate: '已上传',
        },
        {
            key: 3,
            companyName: '广州某某制造有限公司',
            permitNumber: 'PWX-GZ-2023-003',
            issueOrg: '广州市生态环境局',
            expireDate: '2026-03-20',
            original: '未上传',
            duplicate: '已上传',
        },
        {
            key: 4,
            companyName: '深圳某某电子有限公司',
            permitNumber: 'PWX-SZ-2023-004',
            issueOrg: '深圳市生态环境局',
            expireDate: '2025-08-10',
            original: '已上传',
            duplicate: '未上传',
        },
        {
            key: 5,
            companyName: '成都某某科技有限公司',
            permitNumber: 'PWX-CD-2023-005',
            issueOrg: '成都市生态环境局',
            expireDate: '2026-01-25',
            original: '已上传',
            duplicate: '已上传',
        },
        {
            key: 6,
            companyName: '武汉某某工业有限公司',
            permitNumber: 'PWX-WH-2023-006',
            issueOrg: '武汉市生态环境局',
            expireDate: '2025-11-30',
            original: '已上传',
            duplicate: '已上传',
        },
        {
            key: 7,
            companyName: '杭州某某环保有限公司',
            permitNumber: 'PWX-HZ-2023-007',
            issueOrg: '杭州市生态环境局',
            expireDate: '2026-05-15',
            original: '未上传',
            duplicate: '已上传',
        },
        {
            key: 8,
            companyName: '南京某某化学有限公司',
            permitNumber: 'PWX-NJ-2023-008',
            issueOrg: '南京市生态环境局',
            expireDate: '2025-09-20',
            original: '已上传',
            duplicate: '已上传',
        },
        {
            key: 9,
            companyName: '重庆某某重工有限公司',
            permitNumber: 'PWX-CQ-2023-009',
            issueOrg: '重庆市生态环境局',
            expireDate: '2026-02-28',
            original: '已上传',
            duplicate: '未上传',
        },
        {
            key: 10,
            companyName: '天津某某制药有限公司',
            permitNumber: 'PWX-TJ-2023-010',
            issueOrg: '天津市生态环境局',
            expireDate: '2025-07-10',
            original: '已上传',
            duplicate: '已上传',
        },
        {
            key: 11,
            companyName: '西安某某材料有限公司',
            permitNumber: 'PWX-XA-2023-011',
            issueOrg: '西安市生态环境局',
            expireDate: '2026-04-05',
            original: '未上传',
            duplicate: '已上传',
        },
        {
            key: 12,
            companyName: '青岛某某机械有限公司',
            permitNumber: 'PWX-QD-2023-012',
            issueOrg: '青岛市生态环境局',
            expireDate: '2025-12-15',
            original: '已上传',
            duplicate: '已上传',
        },
    ]);

    const columns = [
        {
            title: '序号',
            dataIndex: 'key',
            key: 'key',
            width: 80,
            align: 'center',
        },
        {
            title: '企业名称',
            dataIndex: 'companyName',
            key: 'companyName',
            width: 200,
        },
        {
            title: '排污许可证号',
            dataIndex: 'permitNumber',
            key: 'permitNumber',
            width: 180,
        },
        {
            title: '颁发机构',
            dataIndex: 'issueOrg',
            key: 'issueOrg',
            width: 180,
        },
        {
            title: '到期时间',
            dataIndex: 'expireDate',
            key: 'expireDate',
            width: 120,
            sorter: (a, b) => new Date(a.expireDate) - new Date(b.expireDate),
            showSorterTooltip: false,
        },
        {
            title: '正本',
            dataIndex: 'original',
            key: 'original',
            width: 100,
            align: 'center',
            render: () => <a style={{ color: '#0080FF' }} onClick={() => { setCurrentImage(licence1); setIsModalVisible(true); }}>附件</a>
        },
        {
            title: '副本',
            dataIndex: 'duplicate',
            key: 'duplicate',
            width: 100,
            align: 'center',
            render: () => <a style={{ color: '#0080FF' }} onClick={() => { setCurrentImage(licence2); setIsModalVisible(true); }}>附件</a>
        },
        {
            title: '操作',
            key: 'action',
            width: 150,
            align: 'center',
            render: (_, record) => (
                <Space size="middle">
                    <EyeOutlined 
                        style={{ color: '#7ee370', fontSize: 16, cursor: 'pointer' }} 
                        onClick={() => handleView(record)}
                    />
                    <DeleteOutlined 
                        style={{ color: '#ff7e72', fontSize: 16, cursor: 'pointer' }} 
                        onClick={() => handleDelete(record)}
                    />
                </Space>
            ),
        },
    ];

    const handleSearch = (values) => {
        console.log('搜索参数:', values);
        // TODO: 实现搜索功能
    };

    const handleReset = () => {
        form.resetFields();
        // TODO: 重置搜索
    };

    const handleView = (record) => {
        console.log('查看:', record);
        // TODO: 实现查看功能
    };

    const handleEdit = (record) => {
        console.log('编辑:', record);
        // TODO: 实现编辑功能
    };

    const handleDelete = (record) => {
        console.log('删除:', record);
        // TODO: 实现删除功能
    };

    return (
        <div className={styles.permitContainer}>
            {/* 第一块：搜索表单 */}
            <div className={styles.searchSection}>
                <Form form={form} layout="inline" onFinish={handleSearch}>
                    <Form.Item label="企业名称" name="companyName">
                        <Input placeholder="请输入" style={{ width: 160, borderRadius: '2px' }} />
                    </Form.Item>
                    <Form.Item label="许可证号" name="permitNumber">
                        <Input placeholder="请输入" style={{ width: 160, borderRadius: '2px' }} />
                    </Form.Item>
                    <Form.Item label="到期时间" name="expireDate">
                        <DatePicker placeholder="请选择" style={{ width: 160, borderRadius: '2px' }} />
                    </Form.Item>
                    <Form.Item>
                        <Button 
                            type="primary" 
                            htmlType="submit"
                            style={{ backgroundColor: '#00D48A', borderColor: '#00D48A', color: '#fff', borderRadius: '4px' }}
                        >
                            查询
                        </Button>
                    </Form.Item>
                    <Form.Item>
                        <Button onClick={handleReset} style={{ borderRadius: '4px' }}>
                            重置
                        </Button>
                    </Form.Item>
                </Form>
            </div>

            {/* 第二块：表格 */}
            <div className={styles.tableSection}>
                <StandardTable
                    columns={columns}
                    data={{
                        list: dataSource,
                        pagination: {
                            total: dataSource.length,
                            pageSize: 10,
                            currentPage: 1,
                            showTotal: (total) => `共 ${total} 条`,
                        }
                    }}
                />
            </div>

            {/* 图片弹窗 */}
            <Modal
                open={isModalVisible}
                onCancel={() => setIsModalVisible(false)}
                footer={null}
                closeIcon={<CloseOutlined style={{ color: '#fff', fontSize: 20 }} />}
                width="auto"
                centered
                styles={{
                    mask: { backgroundColor: '#10101080' },
                    content: { padding: 0, background: 'transparent', boxShadow: 'none' }
                }}
            >
                {currentImage && <img src={currentImage} alt="许可证" style={{ width: '100%', display: 'block' }} />}
            </Modal>
        </div>
    );
};

export default PermitManagement;

