// 【重要】必须使用 const Component 作为组件变量名
// 数字化资产ONEOS运管平台 - 工作台模块
const Component = function () {
    var useState = React.useState;
    var useMemo = React.useMemo;
    var useCallback = React.useCallback;
    var antd = window.antd;

    var Breadcrumb = antd.Breadcrumb;
    var Card = antd.Card;
    var Row = antd.Row;
    var Col = antd.Col;
    var List = antd.List;
    var Badge = antd.Badge;
    var Modal = antd.Modal;
    var Tabs = antd.Tabs;
    var Space = antd.Space;

    // 状态管理
    var _approvalModalVisible = useState(false);
    var _notificationModalVisible = useState(false);
    var _activeRole = useState('业管');

    var approvalModalVisible = _approvalModalVisible[0];
    var setApprovalModalVisible = _approvalModalVisible[1];
    var notificationModalVisible = _notificationModalVisible[0];
    var setNotificationModalVisible = _notificationModalVisible[1];
    var activeRole = _activeRole[0];
    var setActiveRole = _activeRole[1];

    // 样式定义
    var styles = {
        container: {
            padding: '20px',
            backgroundColor: '#f0f2f5',
            minHeight: '100vh',
            fontFamily: 'Arial, sans-serif'
        },
        breadcrumb: {
            marginBottom: '20px',
            fontSize: '14px'
        },
        metricCard: {
            background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
            borderRadius: '8px',
            padding: '20px',
            color: 'white',
            cursor: 'pointer',
            transition: 'transform 0.3s, box-shadow 0.3s'
        },
        metricCardCompleted: {
            background: 'linear-gradient(135deg, #f093fb 0%, #f5576c 100%)'
        },
        metricCardApproved: {
            background: 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)'
        },
        metricCardNotification: {
            background: 'linear-gradient(135deg, #fa709a 0%, #fee140 100%)'
        },
        metricTitle: {
            fontSize: '14px',
            opacity: '0.9',
            marginBottom: '8px'
        },
        metricValue: {
            fontSize: '32px',
            fontWeight: 'bold'
        },
        metricDesc: {
            fontSize: '12px',
            opacity: '0.8',
            marginTop: '8px'
        },
        sectionTitle: {
            fontSize: '16px',
            fontWeight: 'bold',
            marginBottom: '16px',
            color: '#262626',
            paddingLeft: '8px',
            borderLeft: '4px solid #1890ff'
        },
        taskList: {
            maxHeight: '400px',
            overflowY: 'auto'
        },
        taskItem: {
            display: 'flex',
            justifyContent: 'space-between',
            alignItems: 'center',
            padding: '12px 0',
            borderBottom: '1px solid #f0f0f0'
        },
        taskInfo: {
            flex: 1
        },
        taskName: {
            fontSize: '14px',
            color: '#262626',
            marginBottom: '4px'
        },
        taskTime: {
            fontSize: '12px',
            color: '#8c8c8c'
        },
        processButton: {
            padding: '6px 16px',
            backgroundColor: '#1890ff',
            color: 'white',
            border: 'none',
            borderRadius: '4px',
            cursor: 'pointer',
            fontSize: '12px'
        },
        statCards: {
            marginBottom: '16px'
        },
        statItem: {
            textAlign: 'center',
            padding: '16px',
            backgroundColor: '#fafafa',
            borderRadius: '4px',
            border: '1px solid #f0f0f0'
        },
        statValue: {
            fontSize: '24px',
            fontWeight: 'bold',
            color: '#1890ff',
            marginBottom: '4px'
        },
        statLabel: {
            fontSize: '12px',
            color: '#8c8c8c'
        },
        quickEntryCard: {
            textAlign: 'center',
            padding: '20px',
            backgroundColor: 'white',
            borderRadius: '8px',
            cursor: 'pointer',
            transition: 'all 0.3s',
            border: '1px solid #f0f0f0'
        },
        quickEntryCardHover: {
            boxShadow: '0 4px 12px rgba(0,0,0,0.1)',
            transform: 'translateY(-2px)'
        },
        quickEntryIcon: {
            fontSize: '32px',
            marginBottom: '8px',
            color: '#1890ff'
        },
        quickEntryName: {
            fontSize: '12px',
            color: '#262626'
        },
        modal: {
            top: '20px'
        },
        notificationItem: {
            padding: '12px',
            borderBottom: '1px solid #f0f0f0'
        },
        notificationType: {
            fontSize: '12px',
            color: '#8c8c8c',
            marginBottom: '4px'
        },
        notificationContent: {
            fontSize: '14px',
            color: '#262626',
            marginBottom: '4px'
        },
        notificationTime: {
            fontSize: '12px',
            color: '#bfbfbf'
        }
    };

    // 模拟数据 - 待办工作
    var pendingTasks = [
        { id: 1, name: '交车任务 - 车辆管理', time: '2026-03-30 09:30', type: '运维侧' },
        { id: 2, name: '商业险到期 - 粤A12345', time: '2026-03-30 10:15', type: '业管侧' },
        { id: 3, name: '氢费审核 - 客户A项目', time: '2026-03-30 11:00', type: '业管-能源部侧' },
        { id: 4, name: '调拨任务 - 车辆V001', time: '2026-03-30 14:20', type: '运维侧' },
        { id: 5, name: '年审任务 - 沪D66666', time: '2026-03-30 15:45', type: '运维侧' }
    ];

    // 模拟数据 - 已完成工作
    var completedTasks = [
        { id: 1, name: '异动任务 - 车辆V003', time: '2026-03-29 16:30' },
        { id: 2, name: '租赁账单生成 - HT-2024-001', time: '2026-03-29 14:15' },
        { id: 3, name: '提车应收款 - 客户B', time: '2026-03-28 10:00' }
    ];

    // 模拟数据 - 待审批任务
    var pendingApprovals = [
        { id: 1, flowTime: '2026-03-30 09:00', flowType: '调拨审核', startTime: '2026-03-30 08:30', starter: '张三' },
        { id: 2, flowTime: '2026-03-30 10:30', flowType: '租赁账单审核', startTime: '2026-03-30 10:00', starter: '李四' },
        { id: 3, flowTime: '2026-03-30 11:15', flowType: '提车应收款审核', startTime: '2026-03-30 11:00', starter: '王五' },
        { id: 4, flowTime: '2026-03-30 14:00', flowType: '租赁合同审核', startTime: '2026-03-30 13:30', starter: '赵六' },
        { id: 5, flowTime: '2026-03-30 15:30', flowType: '氢费账单审核', startTime: '2026-03-30 15:00', starter: '孙七' }
    ];

    // 模拟数据 - 已审批任务
    var approvedTasks = [
        { id: 1, name: '替换车审核', time: '2026-03-29 15:00' },
        { id: 2, name: '还车应结款审核', time: '2026-03-28 14:30' }
    ];

    // 模拟数据 - 通知消息
    var notifications = [
        { id: 1, type: '保险到期提醒', content: '粤A12345商业险将在2026-04-15到期，请尽快处理', time: '2026-03-30 09:00' },
        { id: 2, type: '营运证到期提醒', content: '粤B67890营运证还有90天到期，请尽快更新营运证', time: '2026-03-30 10:30' },
        { id: 3, type: '租赁合同到期提醒', content: 'HT-2024-001 客户A项目还有30天到期，请尽快处理', time: '2026-03-30 11:00' },
        { id: 4, type: '氢费余额不足提醒', content: '客户A 项目A氢费余额已不足500元，请尽快通知客户处理', time: '2026-03-30 14:00' },
        { id: 5, type: '审批流程提醒', content: '张三 调拨流程审批节点已到达，请进行审批', time: '2026-03-30 15:30' }
    ];

    // 模拟数据 - 车辆统计
    var vehicleStats = {
        total: 1250,
        selfOperated: 890,
        inventory: 210,
        pending: 150
    };

    // 模拟数据 - 合同统计
    var contractStats = {
        total: 156,
        selfOperated: 98
    };

    // 快速入口配置
    var quickEntries = {
        '业管': [
            { name: '租赁合同', icon: '📄' },
            { name: '交车任务', icon: '🚗' },
            { name: '提车应收款', icon: '💰' },
            { name: '租赁账单', icon: '📊' },
            { name: '还车应结款', icon: '💵' },
            { name: '能源账户', icon: '⚡' },
            { name: '氢费账单', icon: '🔋' },
            { name: '电费账单', icon: '⚡' },
            { name: 'ETC账单', icon: '🛣️' },
            { name: '保险管理', icon: '🛡️' },
            { name: '审批中心', icon: '✅' }
        ],
        '业管-能源部': [
            { name: '加氢订单管理', icon: '⛽' }
        ],
        '运维': [
            { name: '车辆管理', icon: '🚗' },
            { name: '证照管理', icon: '📋' },
            { name: '备车管理', icon: '🔧' },
            { name: '交车管理', icon: '🚀' },
            { name: '还车管理', icon: '🏠' },
            { name: '替换车管理', icon: '🔄' },
            { name: '调拨管理', icon: '📦' },
            { name: '异动管理', icon: '📊' },
            { name: '备件库管理', icon: '🔩' }
        ],
        '财务': [
            { name: '提车应收款', icon: '💰' },
            { name: '租赁账单', icon: '📊' },
            { name: '还车应结款', icon: '💵' },
            { name: '审批中心', icon: '✅' },
            { name: '充值单管理', icon: '💳' }
        ],
        '安全': [
            { name: '违章管理', icon: '🚦' },
            { name: '事故管理', icon: '🚨' },
            { name: '司机管理', icon: '👨‍✈️' },
            { name: '安全培训资料', icon: '📚' },
            { name: '安全培训记录', icon: '📝' }
        ],
        '法务': [
            { name: '审批中心', icon: '✅' }
        ]
    };

    // 角色标签
    var roleTabs = ['业管', '业管-能源部', '运维', '财务', '安全', '法务'];

    // 处理待办任务
    var handleProcessTask = function(task) {
        console.log('处理任务:', task);
    };

    // 处理审批
    var handleProcessApproval = function(approval) {
        console.log('处理审批:', approval);
    };

    // 处理快速入口
    var handleQuickEntry = function(entry) {
        console.log('快速入口:', entry);
    };

    return React.createElement('div', { style: styles.container },
        // 面包屑
        React.createElement(Breadcrumb, { style: styles.breadcrumb },
            React.createElement(Breadcrumb.Item, null, '工作台')
        ),

        // 顶部关键指标卡片
        React.createElement(Row, { gutter: 16, style: { marginBottom: '24px' } },
            // 待办工作
            React.createElement(Col, { span: 4 },
                React.createElement('div', { style: styles.metricCard },
                    React.createElement('div', { style: styles.metricTitle }, '待办工作'),
                    React.createElement('div', { style: styles.metricValue }, '5'),
                    React.createElement('div', { style: styles.metricDesc }, '运维侧: 3 | 业管侧: 1 | 能源部: 1')
                )
            ),
            // 已完成工作
            React.createElement(Col, { span: 4 },
                React.createElement('div', { style: Object.assign({}, styles.metricCard, styles.metricCardCompleted) },
                    React.createElement('div', { style: styles.metricTitle }, '已完成工作'),
                    React.createElement('div', { style: styles.metricValue }, '3'),
                    React.createElement('div', { style: styles.metricDesc }, '本周完成: 3 | 本月完成: 12')
                )
            ),
            // 待审批任务
            React.createElement(Col, { span: 4 },
                React.createElement('div', { style: styles.metricCard, onClick: function() { setApprovalModalVisible(true); } },
                    React.createElement('div', { style: styles.metricTitle }, '待审批任务'),
                    React.createElement('div', { style: styles.metricValue }, '5'),
                    React.createElement('div', { style: styles.metricDesc }, '运维: 1 | 财务: 3 | 法务: 1')
                )
            ),
            // 已审批任务
            React.createElement(Col, { span: 4 },
                React.createElement('div', { style: Object.assign({}, styles.metricCard, styles.metricCardApproved) },
                    React.createElement('div', { style: styles.metricTitle }, '已审批任务'),
                    React.createElement('div', { style: styles.metricValue }, '2'),
                    React.createElement('div', { style: styles.metricDesc }, '本周审批: 2 | 本月审批: 8')
                )
            ),
            // 通知消息
            React.createElement(Col, { span: 4 },
                React.createElement('div', { style: Object.assign({}, styles.metricCard, styles.metricCardNotification), onClick: function() { setNotificationModalVisible(true); } },
                    React.createElement('div', { style: styles.metricTitle }, '通知消息'),
                    React.createElement('div', { style: styles.metricValue }, '5'),
                    React.createElement('div', { style: styles.metricDesc }, '运维: 3 | 业管: 1 | 审批: 1')
                )
            )
        ),

        // 中间内容区域
        React.createElement(Row, { gutter: 16 },
            // 左侧 - 我的待办清单
            React.createElement(Col, { span: 7 },
                React.createElement(Card, { title: React.createElement('div', { style: styles.sectionTitle }, '我的待办清单'), bordered: false, style: { height: '100%' } },
                    React.createElement('div', { style: styles.taskList },
                        pendingTasks.map(function(task) {
                            return React.createElement('div', { key: task.id, style: styles.taskItem },
                                React.createElement('div', { style: styles.taskInfo },
                                    React.createElement('div', { style: styles.taskName }, task.name),
                                    React.createElement('div', { style: styles.taskTime }, task.time + ' | ' + task.type)
                                ),
                                React.createElement('button', {
                                    style: styles.processButton,
                                    onClick: function() { handleProcessTask(task); }
                                }, '去处理')
                            );
                        })
                    )
                )
            ),

            // 中间 - 数据统计模块
            React.createElement(Col, { span: 10 },
                // 车辆数据统计
                React.createElement(Card, { title: React.createElement('div', { style: styles.sectionTitle }, '车辆数据统计'), bordered: false, style: { marginBottom: '16px' } },
                    React.createElement(Row, { gutter: 16, style: styles.statCards },
                        React.createElement(Col, { span: 6 },
                            React.createElement('div', { style: styles.statItem },
                                React.createElement('div', { style: styles.statValue }, vehicleStats.total),
                                React.createElement('div', { style: styles.statLabel }, '车辆总数')
                            )
                        ),
                        React.createElement(Col, { span: 6 },
                            React.createElement('div', { style: styles.statItem },
                                React.createElement('div', { style: styles.statValue }, vehicleStats.selfOperated),
                                React.createElement('div', { style: styles.statLabel }, '自营车辆数')
                            )
                        ),
                        React.createElement(Col, { span: 6 },
                            React.createElement('div', { style: styles.statItem },
                                React.createElement('div', { style: styles.statValue }, vehicleStats.inventory),
                                React.createElement('div', { style: styles.statLabel }, '库存车辆数')
                            )
                        ),
                        React.createElement(Col, { span: 6 },
                            React.createElement('div', { style: styles.statItem },
                                React.createElement('div', { style: styles.statValue }, vehicleStats.pending),
                                React.createElement('div', { style: styles.statLabel }, '待运营车辆数')
                            )
                        )
                    ),
                    // 近12个月运营车辆、闲置车辆双柱状图（使用Ant Design Charts）
                    React.createElement('div', { style: { height: '200px', marginTop: '16px', backgroundColor: '#fafafa', borderRadius: '4px', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#8c8c8c' } },
                        '[柱状图：近12个月运营车辆、闲置车辆统计]'
                    )
                ),

                // 合同数据统计
                React.createElement(Card, { title: React.createElement('div', { style: styles.sectionTitle }, '合同数据统计'), bordered: false },
                    React.createElement(Row, { gutter: 16, style: styles.statCards },
                        React.createElement(Col, { span: 12 },
                            React.createElement('div', { style: styles.statItem },
                                React.createElement('div', { style: styles.statValue }, contractStats.total),
                                React.createElement('div', { style: styles.statLabel }, '租赁合同总数')
                            )
                        ),
                        React.createElement(Col, { span: 12 },
                            React.createElement('div', { style: styles.statItem },
                                React.createElement('div', { style: styles.statValue }, contractStats.selfOperated),
                                React.createElement('div', { style: styles.statLabel }, '自营合同总数')
                            )
                        )
                    ),
                    // 近12个月租赁合同、自营合同双柱状图
                    React.createElement('div', { style: { height: '200px', marginTop: '16px', backgroundColor: '#fafafa', borderRadius: '4px', display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#8c8c8c' } },
                        '[柱状图：近12个月租赁合同、自营合同统计]'
                    )
                )
            ),

            // 右侧 - 我的通知清单
            React.createElement(Col, { span: 7 },
                React.createElement(Card, { title: React.createElement('div', { style: styles.sectionTitle }, '我的通知清单'), bordered: false, style: { height: '100%' } },
                    React.createElement('div', { style: styles.taskList },
                        notifications.map(function(notification) {
                            return React.createElement('div', { key: notification.id, style: styles.notificationItem },
                                React.createElement('div', { style: styles.notificationType }, notification.type),
                                React.createElement('div', { style: styles.notificationContent }, notification.content),
                                React.createElement('div', { style: styles.notificationTime }, notification.time)
                            );
                        })
                    )
                )
            )
        ),

        // 底部快速入口
        React.createElement(Card, { title: React.createElement('div', { style: styles.sectionTitle }, '快速入口'), bordered: false, style: { marginTop: '16px' } },
            React.createElement(Tabs, { activeKey: activeRole, onChange: function(key) { setActiveRole(key); } },
                roleTabs.map(function(role) {
                    return React.createElement(Tabs.TabPane, { tab: role, key: role },
                        React.createElement(Row, { gutter: 16 },
                            quickEntries[role].map(function(entry, index) {
                                return React.createElement(Col, { key: index, span: 4 },
                                    React.createElement('div', {
                                        style: styles.quickEntryCard,
                                        onClick: function() { handleQuickEntry(entry); }
                                    },
                                        React.createElement('div', { style: styles.quickEntryIcon }, entry.icon),
                                        React.createElement('div', { style: styles.quickEntryName }, entry.name)
                                    )
                                );
                            })
                        )
                    );
                })
            )
        ),

        // 待审批任务弹窗
        React.createElement(Modal, {
            title: '待审批任务',
            visible: approvalModalVisible,
            onCancel: function() { setApprovalModalVisible(false); },
            footer: null,
            width: 800,
            style: styles.modal
        },
            React.createElement(List, {
                dataSource: pendingApprovals,
                renderItem: function(approval) {
                    return React.createElement(List.Item, null,
                        React.createElement(List.Item.Meta, {
                            title: approval.flowType,
                            description: React.createElement('div', null,
                                React.createElement('div', null, '流程到达时间: ' + approval.flowTime),
                                React.createElement('div', null, '发起时间: ' + approval.startTime),
                                React.createElement('div', null, '发起人: ' + approval.starter)
                            )
                        }),
                        React.createElement('button', {
                            style: styles.processButton,
                            onClick: function() { handleProcessApproval(approval); }
                        }, '去处理')
                    );
                }
            })
        ),

        // 通知消息弹窗
        React.createElement(Modal, {
            title: '通知消息',
            visible: notificationModalVisible,
            onCancel: function() { setNotificationModalVisible(false); },
            footer: null,
            width: 800,
            style: styles.modal
        },
            React.createElement(List, {
                dataSource: notifications,
                renderItem: function(notification) {
                    return React.createElement(List.Item, null,
                        React.createElement(List.Item.Meta, {
                            title: notification.type,
                            description: React.createElement('div', null,
                                React.createElement('div', { style: { fontSize: '14px', marginBottom: '4px' } }, notification.content),
                                React.createElement('div', { style: { fontSize: '12px', color: '#8c8c8c' } }, notification.time)
                            )
                        })
                    );
                }
            })
        )
    );
};
