\n \n \n \n \n\n\n \n
\n\n
\n \n
\n

华启数智-3C数码销售报告

\n
\n\n \n
\n
0
\n
总销量
\n
最高: 加载中...
\n
\n
\n
0
\n
总销售额
\n
最高: 加载中...
\n
\n
\n
0
\n
苹果销售额
\n
热销: 加载中...
\n
\n
\n
0
\n
华为销售额
\n
热销: 加载中...
\n
\n\n \n
\n

城市销售分析

\n
\n
\n\n \n
\n

月度销售趋势

\n
\n
\n\n \n
\n

销售渠道占比

\n
\n
\n\n \n
\n

产品类型销售额排名

\n
\n
\n\n \n
\n

品牌销量对比

\n
\n
\n\n \n
\n

销售明细数据

\n
\n \n \n \n \n \n \n \n \n \n \n \n
品牌产品类型产品名称销售额销量
\n
\n
\n
\n\n

3C数码销售数据大屏

Author:yangjiaxin
2026/01/05 09:13

Description

3C数码销售数据大屏HTML实现,包含ECharts图表、Tailwind样式和响应式布局的数据可视化页面

Tags

代码编程视觉化内容生成

Content

###3C数码销售数据大屏

```
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>华启数智-3C数码销售报告</title>
    <script src="https://cdn.tailwindcss.com/3.3.0"></script>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.11.2/css/all.css">
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script>
    <style>
        :root {
            --gold-gradient: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
            --glass-bg: rgba(255, 255, 255, 0.1);
        }
        body {
            font-family: 'Inter', sans-serif;
            background: linear-gradient(135deg, #2c3e50 0%, #1a1a1a 100%);
            color: white;
            margin: 0;
            padding: 0;
            overflow-x: hidden;
        }
        .bento-grid {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            grid-auto-rows: minmax(100px, auto);
            gap: 1.5rem;
            padding: 2rem;
        }
        .title-gradient {
            background: var(--gold-gradient);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        .glass-card {
            background: var(--glass-bg);
            backdrop-filter: blur(10px);
            border-radius: 1.5rem;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
        }
        .glass-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
        }
        .kpi-card {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 1.5rem;
        }
        .kpi-value {
            font-size: 3rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            background: var(--gold-gradient);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        .kpi-label {
            font-size: 1rem;
            font-weight: 500;
            opacity: 0.8;
        }
        .kpi-subtext {
            font-size: 0.9rem;
            opacity: 0.6;
            margin-top: 0.5rem;
        }
        .chart-container {
            width: 100%;
            height: 100%;
            min-height: 300px;
        }
        #fullscreen-btn {
            position: fixed;
            top: 1.5rem;
            right: 1.5rem;
            z-index: 100;
            background: var(--glass-bg);
            border: none;
            color: white;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            backdrop-filter: blur(5px);
            transition: all 0.3s ease;
        }
        #fullscreen-btn:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: scale(1.1);
        }
        #current-date {
            position: fixed;
            bottom: 1.5rem;
            right: 1.5rem;
            font-size: 0.9rem;
            opacity: 0.7;
        }
        table {
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            padding: 0.75rem;
            text-align: left;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        th {
            font-weight: 600;
            opacity: 0.8;
        }
        tr:hover {
            background: rgba(255, 255, 255, 0.05);
        }
    </style>
</head>
<body>
    <button id="fullscreen-btn"><i class="fas fa-expand"></i></button>
    <div id="current-date"></div>

    <div class="bento-grid">
        <!-- 标题 -->
        <div class="glass-card col-span-12 row-span-1 flex items-center justify-center p-8">
            <h1 class="text-5xl font-bold title-gradient">华启数智-3C数码销售报告</h1>
        </div>

        <!-- KPI卡片 -->
        <div class="glass-card kpi-card col-span-3">
            <div class="kpi-value" id="total-sales">0</div>
            <div class="kpi-label">总销量</div>
            <div class="kpi-subtext" id="top-sales-city">最高: 加载中...</div>
        </div>
        <div class="glass-card kpi-card col-span-3">
            <div class="kpi-value" id="total-revenue">0</div>
            <div class="kpi-label">总销售额</div>
            <div class="kpi-subtext" id="top-revenue-city">最高: 加载中...</div>
        </div>
        <div class="glass-card kpi-card col-span-3">
            <div class="kpi-value" id="apple-revenue">0</div>
            <div class="kpi-label">苹果销售额</div>
            <div class="kpi-subtext" id="top-apple-product">热销: 加载中...</div>
        </div>
        <div class="glass-card kpi-card col-span-3">
            <div class="kpi-value" id="huawei-revenue">0</div>
            <div class="kpi-label">华为销售额</div>
            <div class="kpi-subtext" id="top-huawei-product">热销: 加载中...</div>
        </div>

        <!-- 城市销售分析 -->
        <div class="glass-card col-span-6 row-span-2 p-6">
            <h2 class="text-xl font-bold mb-4">城市销售分析</h2>
            <div class="chart-container" id="city-chart"></div>
        </div>

        <!-- 月度趋势 -->
        <div class="glass-card col-span-6 row-span-2 p-6">
            <h2 class="text-xl font-bold mb-4">月度销售趋势</h2>
            <div class="chart-container" id="monthly-chart"></div>
        </div>

        <!-- 渠道占比 -->
        <div class="glass-card col-span-4 row-span-2 p-6">
            <h2 class="text-xl font-bold mb-4">销售渠道占比</h2>
            <div class="chart-container" id="channel-chart"></div>
        </div>

        <!-- 产品排名 -->
        <div class="glass-card col-span-4 row-span-2 p-6">
            <h2 class="text-xl font-bold mb-4">产品类型销售额排名</h2>
            <div class="chart-container" id="product-rank-chart"></div>
        </div>

        <!-- 品牌对比 -->
        <div class="glass-card col-span-4 row-span-2 p-6">
            <h2 class="text-xl font-bold mb-4">品牌销量对比</h2>
            <div class="chart-container" id="brand-compare-chart"></div>
        </div>

        <!-- 明细表格 -->
        <div class="glass-card col-span-12 row-span-3 p-6">
            <h2 class="text-xl font-bold mb-4">销售明细数据</h2>
            <div class="overflow-x-auto">
                <table id="detail-table">
                    <thead>
                        <tr>
                            <th>品牌</th>
                            <th>产品类型</th>
                            <th>产品名称</th>
                            <th>销售额</th>
                            <th>销量</th>
                        </tr>
                    </thead>
                    <tbody></tbody>
                </table>
            </div>
        </div>
    </div>

    <script>
        // 初始化图表
        function initCharts() {
            // 城市销售图表
            const cityChart = echarts.init(document.getElementById('city-chart'));
            // 月度趋势图表
            const monthlyChart = echarts.init(document.getElementById('monthly-chart'));
            // 渠道占比图表
            const channelChart = echarts.init(document.getElementById('channel-chart