综述: 新增品牌数据分析功能模块
- 新增连锁单位业绩排行榜页面,展示各连锁单位的销售、订单、客户等核心业务指标排行 - 新增品牌爆款商品榜页面,分析品牌商品的销量、销售额、好评率等维度表现 - 新增品牌分销全景分析页面,全面监控分销商团队、分销业绩和分销商效能数据 - 三个页面均采用响应式设计,包含丰富的数据可视化图表和排行榜展示 Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									5c773a9bd4
								
							
						
					
					
						commit
						22f5cdaf96
					
				|  | @ -0,0 +1,892 @@ | |||
| <!DOCTYPE html> | ||||
| <html lang="zh-CN"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>品牌分销全景分析 - 品牌数据中心</title> | ||||
|     <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script> | ||||
|     <style> | ||||
|         * { | ||||
|             margin: 0; | ||||
|             padding: 0; | ||||
|             box-sizing: border-box; | ||||
|         } | ||||
|          | ||||
|         body { | ||||
|             font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', | ||||
|                 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; | ||||
|             background: #f5f5f5; | ||||
|             color: #333; | ||||
|             padding: 20px; | ||||
|             min-height: 100vh; | ||||
|         } | ||||
| 
 | ||||
|         .container { | ||||
|             max-width: 1600px; | ||||
|             margin: 0 auto; | ||||
|             padding: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .page-header { | ||||
|             background: white; | ||||
|             padding: 16px 24px; | ||||
|             margin-bottom: 16px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             text-align: center; | ||||
|         } | ||||
| 
 | ||||
|         .page-title { | ||||
|             font-size: 24px; | ||||
|             font-weight: 600; | ||||
|             color: #262626; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .page-subtitle { | ||||
|             font-size: 14px; | ||||
|             color: #666; | ||||
|         } | ||||
| 
 | ||||
|         .section-title { | ||||
|             color: #262626; | ||||
|             font-size: 20px; | ||||
|             margin: 20px 0 16px 0; | ||||
|             padding-left: 12px; | ||||
|             border-left: 4px solid #1890ff; | ||||
|             font-weight: 600; | ||||
|         } | ||||
|          | ||||
|         .stats-section { | ||||
|             background: white; | ||||
|             padding: 24px; | ||||
|             margin-bottom: 16px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .stats-grid { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | ||||
|             gap: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item { | ||||
|             text-align: center; | ||||
|             padding: 20px; | ||||
|             border: 1px solid #f0f0f0; | ||||
|             border-radius: 8px; | ||||
|             background: #fafafa; | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item:hover { | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             transform: translateY(-2px); | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .icon { | ||||
|             font-size: 24px; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item h3 { | ||||
|             font-size: 14px; | ||||
|             color: #666; | ||||
|             margin-bottom: 12px; | ||||
|             font-weight: 500; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .value { | ||||
|             font-size: 24px; | ||||
|             font-weight: 600; | ||||
|             color: #1890ff; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .sub-value { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .stat-card .trend { | ||||
|             display: inline-block; | ||||
|             padding: 2px 8px; | ||||
|             border-radius: 12px; | ||||
|             font-size: 11px; | ||||
|             font-weight: 600; | ||||
|             margin-left: 8px; | ||||
|         } | ||||
|          | ||||
|         .trend.up { | ||||
|             background: #d4edda; | ||||
|             color: #155724; | ||||
|         } | ||||
|          | ||||
|         .trend.down { | ||||
|             background: #f8d7da; | ||||
|             color: #721c24; | ||||
|         } | ||||
|          | ||||
|         .chart-section { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(2, 1fr); | ||||
|             gap: 16px; | ||||
|             margin-bottom: 16px; | ||||
|         } | ||||
| 
 | ||||
|         @media (max-width: 1024px) { | ||||
|             .chart-section { | ||||
|                 grid-template-columns: 1fr; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         .chart-card { | ||||
|             background: white; | ||||
|             border-radius: 8px; | ||||
|             padding: 24px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .chart-card.full-width { | ||||
|             grid-column: 1 / -1; | ||||
|         } | ||||
| 
 | ||||
|         .chart-card h2 { | ||||
|             font-size: 20px; | ||||
|             color: #262626; | ||||
|             margin-bottom: 16px; | ||||
|             padding-bottom: 12px; | ||||
|             border-bottom: 1px solid #f0f0f0; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             font-weight: 600; | ||||
|         } | ||||
|          | ||||
|         .chart-card h2 .icon { | ||||
|             margin-right: 8px; | ||||
|         } | ||||
|          | ||||
|         .chart-container { | ||||
|             height: 400px; | ||||
|             width: 100%; | ||||
|         } | ||||
|          | ||||
|         .chart-container.small { | ||||
|             height: 300px; | ||||
|         } | ||||
|          | ||||
|         .distributor-list { | ||||
|             list-style: none; | ||||
|         } | ||||
|          | ||||
|         .distributor-item { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             padding: 16px; | ||||
|             margin-bottom: 12px; | ||||
|             background: #f8f9fa; | ||||
|             border-radius: 6px; | ||||
|             transition: all 0.3s ease; | ||||
|             border: 1px solid #f0f0f0; | ||||
|         } | ||||
| 
 | ||||
|         .distributor-item:hover { | ||||
|             background: #f8f9fa; | ||||
|             transform: translateX(2px); | ||||
|             border-color: #1890ff; | ||||
|         } | ||||
|          | ||||
|         .distributor-rank { | ||||
|             width: 40px; | ||||
|             height: 40px; | ||||
|             border-radius: 50%; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             justify-content: center; | ||||
|             font-weight: bold; | ||||
|             font-size: 18px; | ||||
|             margin-right: 16px; | ||||
|         } | ||||
|          | ||||
|         .distributor-rank.top1 { | ||||
|             background: linear-gradient(135deg, #FFD700, #FFA500); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .distributor-rank.top2 { | ||||
|             background: linear-gradient(135deg, #C0C0C0, #808080); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .distributor-rank.top3 { | ||||
|             background: linear-gradient(135deg, #CD7F32, #8B4513); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .distributor-rank.other { | ||||
|             background: #dee2e6; | ||||
|             color: #495057; | ||||
|         } | ||||
|          | ||||
|         .distributor-info { | ||||
|             flex: 1; | ||||
|         } | ||||
|          | ||||
|         .distributor-name { | ||||
|             font-size: 16px; | ||||
|             font-weight: 600; | ||||
|             color: #333; | ||||
|             margin-bottom: 4px; | ||||
|         } | ||||
|          | ||||
|         .distributor-level { | ||||
|             display: inline-block; | ||||
|             padding: 2px 10px; | ||||
|             border-radius: 12px; | ||||
|             font-size: 11px; | ||||
|             font-weight: 600; | ||||
|             margin-right: 8px; | ||||
|         } | ||||
|          | ||||
|         .level-elite { | ||||
|             background: linear-gradient(135deg, #FFD700, #FFA500); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .level-senior { | ||||
|             background: linear-gradient(135deg, #C0C0C0, #808080); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .level-normal { | ||||
|             background: #e9ecef; | ||||
|             color: #495057; | ||||
|         } | ||||
|          | ||||
|         .distributor-meta { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|             margin-top: 4px; | ||||
|         } | ||||
|          | ||||
|         .distributor-stats { | ||||
|             text-align: right; | ||||
|         } | ||||
|          | ||||
|         .distributor-value { | ||||
|             font-size: 20px; | ||||
|             font-weight: bold; | ||||
|             color: #1890ff; | ||||
|         } | ||||
|          | ||||
|         .distributor-label { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .roi-card { | ||||
|             background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%); | ||||
|             color: white; | ||||
|             padding: 24px; | ||||
|             border-radius: 8px; | ||||
|             text-align: center; | ||||
|         } | ||||
|          | ||||
|         .roi-card h3 { | ||||
|             font-size: 18px; | ||||
|             margin-bottom: 20px; | ||||
|             opacity: 0.9; | ||||
|         } | ||||
|          | ||||
|         .roi-value { | ||||
|             font-size: 64px; | ||||
|             font-weight: bold; | ||||
|             margin-bottom: 10px; | ||||
|         } | ||||
|          | ||||
|         .roi-label { | ||||
|             font-size: 14px; | ||||
|             opacity: 0.8; | ||||
|         } | ||||
|          | ||||
|         .roi-formula { | ||||
|             margin-top: 20px; | ||||
|             padding-top: 20px; | ||||
|             border-top: 1px solid rgba(255,255,255,0.3); | ||||
|             font-size: 13px; | ||||
|             opacity: 0.8; | ||||
|         } | ||||
|     </style> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="container"> | ||||
|         <div class="page-header"> | ||||
|             <h1 class="page-title">🎯 品牌分销全景分析</h1> | ||||
|             <p class="page-subtitle">全方位监控分销推广效果与分销商效能 · 数据更新时间:2024-01-15 10:30</p> | ||||
|         </div> | ||||
| 
 | ||||
|         <h2 class="section-title">📊 分销商团队数据</h2> | ||||
|         <div class="stats-section"> | ||||
|             <div class="stats-grid"> | ||||
|                     <div class="stat-item"> | ||||
|                         <div class="icon">👥</div> | ||||
|                         <h3>品牌分销商总数</h3> | ||||
|                         <div class="value">1,247</div> | ||||
|                         <div class="sub-value"> | ||||
|                             本月新增 <span class="trend up">+158</span> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                     <div class="stat-item"> | ||||
|                         <div class="icon">⭐</div> | ||||
|                         <h3>精英分销商</h3> | ||||
|                         <div class="value">89</div> | ||||
|                         <div class="sub-value">占比 7.1%</div> | ||||
|                     </div> | ||||
|                     <div class="stat-item"> | ||||
|                         <div class="icon">🏅</div> | ||||
|                         <h3>高级分销商</h3> | ||||
|                         <div class="value">312</div> | ||||
|                         <div class="sub-value">占比 25.0%</div> | ||||
|                     </div> | ||||
|                     <div class="stat-item"> | ||||
|                         <div class="icon">🎖️</div> | ||||
|                         <h3>普通分销商</h3> | ||||
|                         <div class="value">846</div> | ||||
|                         <div class="sub-value">占比 67.9%</div> | ||||
|                     </div> | ||||
|                     <div class="stat-item"> | ||||
|                         <div class="icon">🔥</div> | ||||
|                         <h3>活跃分销商</h3> | ||||
|                         <div class="value">892</div> | ||||
|                         <div class="sub-value">活跃率 71.5% <span class="trend up">+5.2%</span></div> | ||||
|                     </div> | ||||
|                     <div class="stat-item"> | ||||
|                         <div class="icon">📈</div> | ||||
|                         <h3>本月流失分销商</h3> | ||||
|                         <div class="value">23</div> | ||||
|                         <div class="sub-value">流失率 1.8% <span class="trend down">-0.3%</span></div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|          | ||||
|         <div class="chart-section"> | ||||
|             <div class="chart-card"> | ||||
|                 <h2><span class="icon">📊</span>分销商等级分布</h2> | ||||
|                 <div class="chart-container small" id="levelChart"></div> | ||||
|             </div> | ||||
|             <div class="chart-card"> | ||||
|                 <h2><span class="icon">📈</span>分销商招募趋势(近6个月)</h2> | ||||
|                 <div class="chart-container small" id="recruitChart"></div> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|         <h2 class="section-title">💰 分销业绩数据</h2> | ||||
|         <div class="stats-section"> | ||||
|             <div class="stats-grid"> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">📦</div> | ||||
|                     <h3>分销订单总量</h3> | ||||
|                     <div class="value">5,682</div> | ||||
|                     <div class="sub-value"> | ||||
|                         占总订单 44.2% <span class="trend up">+3.8%</span> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">💎</div> | ||||
|                     <h3>分销GMV贡献</h3> | ||||
|                     <div class="value">¥378万</div> | ||||
|                     <div class="sub-value"> | ||||
|                         占总GMV 44.1% <span class="trend up">+4.2%</span> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">👤</div> | ||||
|                     <h3>人均分销订单</h3> | ||||
|                     <div class="value">6.4</div> | ||||
|                     <div class="sub-value">单/分销商 <span class="trend up">+0.8</span></div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">💵</div> | ||||
|                     <h3>人均分销金额</h3> | ||||
|                     <div class="value">¥4,269</div> | ||||
|                     <div class="sub-value">元/分销商 <span class="trend up">+512</span></div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="chart-section"> | ||||
|             <div class="chart-card"> | ||||
|                 <h2><span class="icon">🔄</span>分销订单 vs 自然订单占比</h2> | ||||
|                 <div class="chart-container small" id="orderTypeChart"></div> | ||||
|             </div> | ||||
|             <div class="chart-card roi-card"> | ||||
|                 <h3>🎯 分销ROI分析</h3> | ||||
|                 <div class="roi-value">285%</div> | ||||
|                 <div class="roi-label">投资回报率</div> | ||||
|                 <div class="roi-formula"> | ||||
|                     分销收益:¥378万 / 佣金成本:¥132.6万 = 2.85 | ||||
|                 </div> | ||||
|                 <div style="margin-top: 15px; font-size: 13px;"> | ||||
|                     <div>✓ 分销带来收益:¥378万</div> | ||||
|                     <div>✓ 分销佣金支出:¥132.6万</div> | ||||
|                     <div>✓ 净收益:¥245.4万</div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|         <h2 class="section-title">🏆 分销商效能分析</h2> | ||||
|          | ||||
|         <div class="chart-section"> | ||||
|             <div class="chart-card"> | ||||
|                 <h2><span class="icon">👑</span>业绩TOP10分销商排行榜</h2> | ||||
|                 <ul class="distributor-list"> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank top1">1</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 张晓明 | ||||
|                                 <span class="distributor-level level-elite">精英分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:128人 · 本月订单:356单 · 加入:2023-03 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥45.8万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank top2">2</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 李芳 | ||||
|                                 <span class="distributor-level level-elite">精英分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:96人 · 本月订单:289单 · 加入:2023-05 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥38.2万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank top3">3</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 王建国 | ||||
|                                 <span class="distributor-level level-elite">精英分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:82人 · 本月订单:245单 · 加入:2023-06 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥32.6万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">4</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 刘静 | ||||
|                                 <span class="distributor-level level-senior">高级分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:65人 · 本月订单:198单 · 加入:2023-07 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥28.4万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">5</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 陈伟 | ||||
|                                 <span class="distributor-level level-senior">高级分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:58人 · 本月订单:176单 · 加入:2023-08 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥24.7万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">6</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 赵敏 | ||||
|                                 <span class="distributor-level level-senior">高级分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:48人 · 本月订单:152单 · 加入:2023-09 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥21.3万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">7</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 周杰 | ||||
|                                 <span class="distributor-level level-senior">高级分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:42人 · 本月订单:134单 · 加入:2023-10 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥18.9万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">8</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 孙丽 | ||||
|                                 <span class="distributor-level level-normal">普通分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:35人 · 本月订单:118单 · 加入:2023-11 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥16.2万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">9</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 郑强 | ||||
|                                 <span class="distributor-level level-normal">普通分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:28人 · 本月订单:95单 · 加入:2023-12 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥13.8万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="distributor-item"> | ||||
|                         <div class="distributor-rank other">10</div> | ||||
|                         <div class="distributor-info"> | ||||
|                             <div class="distributor-name"> | ||||
|                                 吴悠 | ||||
|                                 <span class="distributor-level level-normal">普通分销商</span> | ||||
|                             </div> | ||||
|                             <div class="distributor-meta"> | ||||
|                                 团队规模:22人 · 本月订单:82单 · 加入:2024-01 | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="distributor-stats"> | ||||
|                             <div class="distributor-value">¥11.6万</div> | ||||
|                             <div class="distributor-label">本月业绩</div> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                 </ul> | ||||
|             </div> | ||||
|              | ||||
|             <div class="chart-card"> | ||||
|                 <h2><span class="icon">📊</span>分销商层级业绩对比</h2> | ||||
|                 <div class="chart-container" id="levelPerformanceChart"></div> | ||||
|                  | ||||
|                 <h2 style="margin-top: 30px;"><span class="icon">🌳</span>团队裂变效果分析</h2> | ||||
|                 <div class="chart-container" id="teamGrowthChart"></div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|      | ||||
|     <script> | ||||
|         // 分销商等级分布饼图 | ||||
|         const levelChart = echarts.init(document.getElementById('levelChart')); | ||||
|         const levelOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'item', | ||||
|                 formatter: '{b}: {c}人 ({d}%)' | ||||
|             }, | ||||
|             legend: { | ||||
|                 orient: 'vertical', | ||||
|                 right: '10%', | ||||
|                 top: 'center' | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '分销商等级', | ||||
|                 type: 'pie', | ||||
|                 radius: ['40%', '70%'], | ||||
|                 center: ['35%', '50%'], | ||||
|                 avoidLabelOverlap: false, | ||||
|                 itemStyle: { | ||||
|                     borderRadius: 10, | ||||
|                     borderColor: '#fff', | ||||
|                     borderWidth: 2 | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     formatter: '{b}\n{c}人' | ||||
|                 }, | ||||
|                 emphasis: { | ||||
|                     label: { | ||||
|                         show: true, | ||||
|                         fontSize: 16, | ||||
|                         fontWeight: 'bold' | ||||
|                     } | ||||
|                 }, | ||||
|                 data: [ | ||||
|                     { value: 89, name: '精英分销商', itemStyle: { color: '#FFD700' } }, | ||||
|                     { value: 312, name: '高级分销商', itemStyle: { color: '#C0C0C0' } }, | ||||
|                     { value: 846, name: '普通分销商', itemStyle: { color: '#CD7F32' } } | ||||
|                 ] | ||||
|             }] | ||||
|         }; | ||||
|         levelChart.setOption(levelOption); | ||||
|          | ||||
|         // 分销商招募趋势折线图 | ||||
|         const recruitChart = echarts.init(document.getElementById('recruitChart')); | ||||
|         const recruitOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis' | ||||
|             }, | ||||
|             legend: { | ||||
|                 data: ['新增分销商', '流失分销商'], | ||||
|                 top: 10 | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'category', | ||||
|                 boundaryGap: false, | ||||
|                 data: ['8月', '9月', '10月', '11月', '12月', '1月'] | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '人数' | ||||
|             }, | ||||
|             series: [ | ||||
|                 { | ||||
|                     name: '新增分销商', | ||||
|                     type: 'line', | ||||
|                     smooth: true, | ||||
|                     data: [98, 112, 135, 142, 156, 158], | ||||
|                     itemStyle: { color: '#5cb85c' }, | ||||
|                     areaStyle: { | ||||
|                         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                             { offset: 0, color: 'rgba(92, 184, 92, 0.3)' }, | ||||
|                             { offset: 1, color: 'rgba(92, 184, 92, 0.05)' } | ||||
|                         ]) | ||||
|                     } | ||||
|                 }, | ||||
|                 { | ||||
|                     name: '流失分销商', | ||||
|                     type: 'line', | ||||
|                     smooth: true, | ||||
|                     data: [15, 18, 22, 19, 25, 23], | ||||
|                     itemStyle: { color: '#d9534f' }, | ||||
|                     areaStyle: { | ||||
|                         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                             { offset: 0, color: 'rgba(217, 83, 79, 0.3)' }, | ||||
|                             { offset: 1, color: 'rgba(217, 83, 79, 0.05)' } | ||||
|                         ]) | ||||
|                     } | ||||
|                 } | ||||
|             ] | ||||
|         }; | ||||
|         recruitChart.setOption(recruitOption); | ||||
|          | ||||
|         // 订单类型占比饼图 | ||||
|         const orderTypeChart = echarts.init(document.getElementById('orderTypeChart')); | ||||
|         const orderTypeOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'item', | ||||
|                 formatter: '{b}: {c}单 ({d}%)' | ||||
|             }, | ||||
|             legend: { | ||||
|                 orient: 'vertical', | ||||
|                 right: '10%', | ||||
|                 top: 'center' | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '订单类型', | ||||
|                 type: 'pie', | ||||
|                 radius: ['40%', '70%'], | ||||
|                 center: ['35%', '50%'], | ||||
|                 avoidLabelOverlap: false, | ||||
|                 itemStyle: { | ||||
|                     borderRadius: 10, | ||||
|                     borderColor: '#fff', | ||||
|                     borderWidth: 2 | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     formatter: '{b}\n{c}单\n({d}%)' | ||||
|                 }, | ||||
|                 emphasis: { | ||||
|                     label: { | ||||
|                         show: true, | ||||
|                         fontSize: 16, | ||||
|                         fontWeight: 'bold' | ||||
|                     } | ||||
|                 }, | ||||
|                 data: [ | ||||
|                     {  | ||||
|                         value: 5682,  | ||||
|                         name: '分销订单',  | ||||
|                         itemStyle: {  | ||||
|                             color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                                 { offset: 0, color: '#f093fb' }, | ||||
|                                 { offset: 1, color: '#f5576c' } | ||||
|                             ]) | ||||
|                         }  | ||||
|                     }, | ||||
|                     {  | ||||
|                         value: 7165,  | ||||
|                         name: '自然订单',  | ||||
|                         itemStyle: {  | ||||
|                             color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                                 { offset: 0, color: '#4facfe' }, | ||||
|                                 { offset: 1, color: '#00f2fe' } | ||||
|                             ]) | ||||
|                         }  | ||||
|                     } | ||||
|                 ] | ||||
|             }] | ||||
|         }; | ||||
|         orderTypeChart.setOption(orderTypeOption); | ||||
|          | ||||
|         // 分销商层级业绩对比柱状图 | ||||
|         const levelPerformanceChart = echarts.init(document.getElementById('levelPerformanceChart')); | ||||
|         const levelPerformanceOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             legend: { | ||||
|                 data: ['人均订单', '人均GMV(千元)'], | ||||
|                 top: 10 | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['普通分销商', '高级分销商', '精英分销商'] | ||||
|             }, | ||||
|             yAxis: [ | ||||
|                 { | ||||
|                     type: 'value', | ||||
|                     name: '订单数(单)', | ||||
|                     position: 'left' | ||||
|                 }, | ||||
|                 { | ||||
|                     type: 'value', | ||||
|                     name: 'GMV(千元)', | ||||
|                     position: 'right' | ||||
|                 } | ||||
|             ], | ||||
|             series: [ | ||||
|                 { | ||||
|                     name: '人均订单', | ||||
|                     type: 'bar', | ||||
|                     data: [4.2, 8.5, 15.3], | ||||
|                     itemStyle: { | ||||
|                         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                             { offset: 0, color: '#f093fb' }, | ||||
|                             { offset: 1, color: '#f5576c' } | ||||
|                         ]) | ||||
|                     } | ||||
|                 }, | ||||
|                 { | ||||
|                     name: '人均GMV(千元)', | ||||
|                     type: 'bar', | ||||
|                     yAxisIndex: 1, | ||||
|                     data: [2.8, 6.2, 12.5], | ||||
|                     itemStyle: { | ||||
|                         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                             { offset: 0, color: '#4facfe' }, | ||||
|                             { offset: 1, color: '#00f2fe' } | ||||
|                         ]) | ||||
|                     } | ||||
|                 } | ||||
|             ] | ||||
|         }; | ||||
|         levelPerformanceChart.setOption(levelPerformanceOption); | ||||
|          | ||||
|         // 团队裂变效果分析 | ||||
|         const teamGrowthChart = echarts.init(document.getElementById('teamGrowthChart')); | ||||
|         const teamGrowthOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             legend: { | ||||
|                 data: ['直接下级', '间接下级'], | ||||
|                 top: 10 | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['TOP1', 'TOP2', 'TOP3', 'TOP4', 'TOP5', 'TOP6', 'TOP7', 'TOP8', 'TOP9', 'TOP10'] | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '团队人数' | ||||
|             }, | ||||
|             series: [ | ||||
|                 { | ||||
|                     name: '直接下级', | ||||
|                     type: 'bar', | ||||
|                     stack: 'total', | ||||
|                     data: [35, 28, 24, 19, 17, 14, 12, 10, 8, 6], | ||||
|                     itemStyle: { color: '#5cb85c' } | ||||
|                 }, | ||||
|                 { | ||||
|                     name: '间接下级', | ||||
|                     type: 'bar', | ||||
|                     stack: 'total', | ||||
|                     data: [93, 68, 58, 46, 41, 34, 30, 25, 20, 16], | ||||
|                     itemStyle: { color: '#5bc0de' } | ||||
|                 } | ||||
|             ] | ||||
|         }; | ||||
|         teamGrowthChart.setOption(teamGrowthOption); | ||||
|          | ||||
|         // 响应式 | ||||
|         window.addEventListener('resize', function() { | ||||
|             levelChart.resize(); | ||||
|             recruitChart.resize(); | ||||
|             orderTypeChart.resize(); | ||||
|             levelPerformanceChart.resize(); | ||||
|             teamGrowthChart.resize(); | ||||
|         }); | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,777 @@ | |||
| <!DOCTYPE html> | ||||
| <html lang="zh-CN"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>品牌爆款商品榜 - 品牌数据中心</title> | ||||
|     <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script> | ||||
|     <style> | ||||
|         * { | ||||
|             margin: 0; | ||||
|             padding: 0; | ||||
|             box-sizing: border-box; | ||||
|         } | ||||
|          | ||||
|         body { | ||||
|             font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', | ||||
|                 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; | ||||
|             background: #f5f5f5; | ||||
|             color: #333; | ||||
|             padding: 20px; | ||||
|             min-height: 100vh; | ||||
|         } | ||||
| 
 | ||||
|         .container { | ||||
|             max-width: 1600px; | ||||
|             margin: 0 auto; | ||||
|             padding: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .page-header { | ||||
|             background: white; | ||||
|             padding: 16px 24px; | ||||
|             margin-bottom: 16px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             text-align: center; | ||||
|         } | ||||
| 
 | ||||
|         .page-title { | ||||
|             font-size: 24px; | ||||
|             font-weight: 600; | ||||
|             color: #262626; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .page-subtitle { | ||||
|             font-size: 14px; | ||||
|             color: #666; | ||||
|         } | ||||
|          | ||||
|         .stats-section { | ||||
|             background: white; | ||||
|             padding: 24px; | ||||
|             margin-bottom: 16px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .stats-grid { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | ||||
|             gap: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item { | ||||
|             text-align: center; | ||||
|             padding: 20px; | ||||
|             border: 1px solid #f0f0f0; | ||||
|             border-radius: 8px; | ||||
|             background: #fafafa; | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item:hover { | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             transform: translateY(-2px); | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .icon { | ||||
|             font-size: 24px; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item h3 { | ||||
|             font-size: 14px; | ||||
|             color: #666; | ||||
|             margin-bottom: 12px; | ||||
|             font-weight: 500; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .value { | ||||
|             font-size: 24px; | ||||
|             font-weight: 600; | ||||
|             color: #1890ff; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .sub-value { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .chart-section { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(1, 1fr); | ||||
|             gap: 16px; | ||||
|             margin-bottom: 16px; | ||||
|         } | ||||
| 
 | ||||
|         .chart-card { | ||||
|             background: white; | ||||
|             border-radius: 8px; | ||||
|             padding: 24px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .chart-card h2 { | ||||
|             font-size: 20px; | ||||
|             color: #262626; | ||||
|             margin-bottom: 16px; | ||||
|             padding-bottom: 12px; | ||||
|             border-bottom: 1px solid #f0f0f0; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             font-weight: 600; | ||||
|         } | ||||
|          | ||||
|         .chart-card h2 .icon { | ||||
|             margin-right: 8px; | ||||
|         } | ||||
|          | ||||
|         .product-grid { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); | ||||
|             gap: 20px; | ||||
|             margin-bottom: 30px; | ||||
|         } | ||||
|          | ||||
|         .product-card { | ||||
|             background: white; | ||||
|             border-radius: 8px; | ||||
|             overflow: hidden; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             transition: all 0.3s ease; | ||||
|             cursor: pointer; | ||||
|             position: relative; | ||||
|             border: 1px solid #f0f0f0; | ||||
|         } | ||||
| 
 | ||||
|         .product-card:hover { | ||||
|             transform: translateY(-4px); | ||||
|             box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); | ||||
|             border-color: #1890ff; | ||||
|         } | ||||
|          | ||||
|         .product-rank { | ||||
|             position: absolute; | ||||
|             top: 10px; | ||||
|             left: 10px; | ||||
|             width: 40px; | ||||
|             height: 40px; | ||||
|             border-radius: 50%; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             justify-content: center; | ||||
|             font-weight: bold; | ||||
|             font-size: 18px; | ||||
|             z-index: 10; | ||||
|             box-shadow: 0 2px 8px rgba(0,0,0,0.2); | ||||
|         } | ||||
|          | ||||
|         .product-rank.top1 { | ||||
|             background: linear-gradient(135deg, #FFD700, #FFA500); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .product-rank.top2 { | ||||
|             background: linear-gradient(135deg, #C0C0C0, #808080); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .product-rank.top3 { | ||||
|             background: linear-gradient(135deg, #CD7F32, #8B4513); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .product-rank.other { | ||||
|             background: rgba(255, 255, 255, 0.9); | ||||
|             color: #495057; | ||||
|             border: 2px solid #dee2e6; | ||||
|         } | ||||
|          | ||||
|         .product-image { | ||||
|             width: 100%; | ||||
|             height: 200px; | ||||
|             object-fit: cover; | ||||
|             background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); | ||||
|         } | ||||
|          | ||||
|         .product-info { | ||||
|             padding: 16px; | ||||
|         } | ||||
|          | ||||
|         .product-name { | ||||
|             font-size: 14px; | ||||
|             font-weight: 600; | ||||
|             color: #333; | ||||
|             margin-bottom: 8px; | ||||
|             height: 40px; | ||||
|             overflow: hidden; | ||||
|             text-overflow: ellipsis; | ||||
|             display: -webkit-box; | ||||
|             -webkit-line-clamp: 2; | ||||
|             -webkit-box-orient: vertical; | ||||
|         } | ||||
|          | ||||
|         .product-stats { | ||||
|             display: flex; | ||||
|             justify-content: space-between; | ||||
|             align-items: center; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
|          | ||||
|         .product-price { | ||||
|             font-size: 18px; | ||||
|             font-weight: bold; | ||||
|             color: #e74c3c; | ||||
|         } | ||||
|          | ||||
|         .product-sales { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .product-meta { | ||||
|             display: flex; | ||||
|             justify-content: space-between; | ||||
|             align-items: center; | ||||
|             padding-top: 8px; | ||||
|             border-top: 1px solid #eee; | ||||
|         } | ||||
|          | ||||
|         .product-rating { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             font-size: 12px; | ||||
|             color: #f39c12; | ||||
|         } | ||||
|          | ||||
|         .product-rating .stars { | ||||
|             margin-right: 4px; | ||||
|         } | ||||
|          | ||||
|         .product-store { | ||||
|             font-size: 11px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .badge { | ||||
|             display: inline-block; | ||||
|             padding: 2px 8px; | ||||
|             border-radius: 12px; | ||||
|             font-size: 10px; | ||||
|             font-weight: 600; | ||||
|             margin-left: 4px; | ||||
|         } | ||||
|          | ||||
|         .badge.hot { | ||||
|             background: linear-gradient(135deg, #ff6b6b, #ee5a6f); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .badge.new { | ||||
|             background: linear-gradient(135deg, #4facfe, #00f2fe); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .section-header { | ||||
|             display: flex; | ||||
|             justify-content: space-between; | ||||
|             align-items: center; | ||||
|             margin-bottom: 20px; | ||||
|         } | ||||
|          | ||||
|         .filter-tags { | ||||
|             display: flex; | ||||
|             gap: 10px; | ||||
|         } | ||||
|          | ||||
|         .filter-tag { | ||||
|             padding: 6px 16px; | ||||
|             border-radius: 20px; | ||||
|             font-size: 13px; | ||||
|             background: #f8f9fa; | ||||
|             color: #666; | ||||
|             cursor: pointer; | ||||
|             transition: all 0.3s ease; | ||||
|             border: 2px solid transparent; | ||||
|         } | ||||
|          | ||||
|         .filter-tag:hover { | ||||
|             background: #e9ecef; | ||||
|         } | ||||
|          | ||||
|         .filter-tag.active { | ||||
|             background: #1890ff; | ||||
|             color: white; | ||||
|             border-color: #1890ff; | ||||
|         } | ||||
|          | ||||
|         .chart-container { | ||||
|             height: 400px; | ||||
|             width: 100%; | ||||
|             margin-top: 20px; | ||||
|         } | ||||
|     </style> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="container"> | ||||
|         <div class="page-header"> | ||||
|             <h1 class="page-title">🔥 品牌爆款商品榜</h1> | ||||
|             <p class="page-subtitle">跨所有连锁单位的商品表现排行 · 数据更新时间:2024-01-15 10:30</p> | ||||
|         </div> | ||||
| 
 | ||||
|         <div class="stats-section"> | ||||
|             <div class="stats-grid"> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">📦</div> | ||||
|                     <h3>品牌在售商品总数</h3> | ||||
|                     <div class="value">2,847</div> | ||||
|                     <div class="sub-value">覆盖28家连锁单位</div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">🔥</div> | ||||
|                     <h3>本月爆款商品数</h3> | ||||
|                     <div class="value">156</div> | ||||
|                     <div class="sub-value">销量≥100件的商品</div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">⭐</div> | ||||
|                     <h3>高评分商品数</h3> | ||||
|                     <div class="value">1,243</div> | ||||
|                     <div class="sub-value">评分≥4.5分的商品</div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <div class="icon">💎</div> | ||||
|                     <h3>TOP10商品贡献率</h3> | ||||
|                     <div class="value">32.5%</div> | ||||
|                     <div class="sub-value">占品牌总销售额</div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="chart-card"> | ||||
|             <div class="section-header"> | ||||
|                 <h2><span class="icon">🏆</span>销量TOP10商品</h2> | ||||
|                 <div class="filter-tags"> | ||||
|                     <div class="filter-tag active">本月</div> | ||||
|                     <div class="filter-tag">近3月</div> | ||||
|                     <div class="filter-tag">全部</div> | ||||
|                 </div> | ||||
|             </div> | ||||
|              | ||||
|             <div class="product-grid"> | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank top1">1</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/81C784/FFFFFF?text=%E6%96%B0%E9%B2%9C%E8%94%AC%E8%8F%9C" alt="新鲜蔬菜" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             有机生菜 新鲜采摘 | ||||
|                             <span class="badge hot">热销</span> | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥8.9</div> | ||||
|                             <div class="product-sales">月销 3,256件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.9</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">12家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank top2">2</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/E57373/FFFFFF?text=%E7%8C%AA%E8%82%89" alt="猪肉" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             精选五花肉 500g | ||||
|                             <span class="badge hot">热销</span> | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥22.8</div> | ||||
|                             <div class="product-sales">月销 2,847件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.8</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">15家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank top3">3</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/64B5F6/FFFFFF?text=%E6%B5%B7%E9%B2%9C" alt="海鲜" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             新鲜活虾 大号 300g | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥35.9</div> | ||||
|                             <div class="product-sales">月销 2,134件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.9</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">8家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">4</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/FFD54F/FFFFFF?text=%E6%B0%B4%E6%9E%9C" alt="水果" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             进口苹果 烟台红富士 | ||||
|                             <span class="badge new">新品</span> | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥12.9</div> | ||||
|                             <div class="product-sales">月销 1,956件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.7</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">18家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">5</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/BA68C8/FFFFFF?text=%E7%A6%BD%E8%9B%8B" alt="禽蛋" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             土鸡蛋 农家散养 10枚 | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥18.8</div> | ||||
|                             <div class="product-sales">月销 1,782件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.8</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">14家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">6</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/4DB6AC/FFFFFF?text=%E8%B1%86%E5%88%B6%E5%93%81" alt="豆制品" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             手工豆腐 新鲜现做 | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥6.9</div> | ||||
|                             <div class="product-sales">月销 1,623件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐</span> | ||||
|                                 <span>4.6</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">10家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">7</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/FFB74D/FFFFFF?text=%E7%B2%AE%E6%B2%B9" alt="粮油" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             东北大米 5kg 2023新米 | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥39.9</div> | ||||
|                             <div class="product-sales">月销 1,456件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.9</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">16家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">8</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/A1887F/FFFFFF?text=%E8%B0%83%E5%91%B3%E5%93%81" alt="调味品" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             品牌酱油 500ml 特级 | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥15.9</div> | ||||
|                             <div class="product-sales">月销 1,287件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐</span> | ||||
|                                 <span>4.5</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">20家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">9</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/90A4AE/FFFFFF?text=%E9%B1%BC%E7%B1%BB" alt="鱼类" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             活鲈鱼 新鲜现杀 500g | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥28.8</div> | ||||
|                             <div class="product-sales">月销 1,123件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.7</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">9家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                  | ||||
|                 <div class="product-card"> | ||||
|                     <div class="product-rank other">10</div> | ||||
|                     <img src="https://via.placeholder.com/200x200/EF5350/FFFFFF?text=%E7%89%9B%E8%82%89" alt="牛肉" class="product-image"> | ||||
|                     <div class="product-info"> | ||||
|                         <div class="product-name"> | ||||
|                             澳洲牛腩 精选切块 500g | ||||
|                         </div> | ||||
|                         <div class="product-stats"> | ||||
|                             <div class="product-price">¥48.9</div> | ||||
|                             <div class="product-sales">月销 1,056件</div> | ||||
|                         </div> | ||||
|                         <div class="product-meta"> | ||||
|                             <div class="product-rating"> | ||||
|                                 <span class="stars">⭐⭐⭐⭐⭐</span> | ||||
|                                 <span>4.8</span> | ||||
|                             </div> | ||||
|                             <div class="product-store">11家在售</div> | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|             </div> | ||||
|              | ||||
|             <div class="chart-container" id="salesChart"></div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="chart-card"> | ||||
|             <div class="section-header"> | ||||
|                 <h2><span class="icon">💰</span>销售额TOP10商品</h2> | ||||
|             </div> | ||||
|             <div class="chart-container" id="revenueChart"></div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="chart-card"> | ||||
|             <div class="section-header"> | ||||
|                 <h2><span class="icon">⭐</span>好评率TOP10商品</h2> | ||||
|             </div> | ||||
|             <div class="chart-container" id="ratingChart"></div> | ||||
|         </div> | ||||
|     </div> | ||||
|      | ||||
|     <script> | ||||
|         // 销量TOP10柱状图 | ||||
|         const salesChart = echarts.init(document.getElementById('salesChart')); | ||||
|         const salesOption = { | ||||
|             title: { | ||||
|                 text: '本月销量TOP10趋势图', | ||||
|                 left: 'center' | ||||
|             }, | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['有机生菜', '五花肉', '活虾', '苹果', '土鸡蛋', '豆腐', '大米', '酱油', '鲈鱼', '牛腩'], | ||||
|                 axisLabel: { | ||||
|                     rotate: 30, | ||||
|                     fontSize: 12 | ||||
|                 } | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '销量(件)' | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '销量', | ||||
|                 type: 'bar', | ||||
|                 data: [3256, 2847, 2134, 1956, 1782, 1623, 1456, 1287, 1123, 1056], | ||||
|                 itemStyle: { | ||||
|                     color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                         { offset: 0, color: '#4facfe' }, | ||||
|                         { offset: 1, color: '#00f2fe' } | ||||
|                     ]), | ||||
|                     borderRadius: [8, 8, 0, 0] | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     position: 'top', | ||||
|                     formatter: '{c}件' | ||||
|                 } | ||||
|             }] | ||||
|         }; | ||||
|         salesChart.setOption(salesOption); | ||||
|          | ||||
|         // 销售额TOP10柱状图 | ||||
|         const revenueChart = echarts.init(document.getElementById('revenueChart')); | ||||
|         const revenueOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '销售额(万元)' | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['有机生菜', '活虾', '澳洲牛腩', '五花肉', '大米', '鲈鱼', '苹果', '土鸡蛋', '酱油', '豆腐'].reverse(), | ||||
|                 axisLabel: { | ||||
|                     fontSize: 12 | ||||
|                 } | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '销售额', | ||||
|                 type: 'bar', | ||||
|                 data: [2.9, 7.7, 5.2, 6.5, 5.8, 3.2, 2.5, 3.3, 2.0, 1.1].reverse(), | ||||
|                 itemStyle: { | ||||
|                     color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ | ||||
|                         { offset: 0, color: '#fa709a' }, | ||||
|                         { offset: 1, color: '#fee140' } | ||||
|                     ]), | ||||
|                     borderRadius: [0, 8, 8, 0] | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     position: 'right', | ||||
|                     formatter: '¥{c}万' | ||||
|                 } | ||||
|             }] | ||||
|         }; | ||||
|         revenueChart.setOption(revenueOption); | ||||
|          | ||||
|         // 好评率TOP10雷达图 | ||||
|         const ratingChart = echarts.init(document.getElementById('ratingChart')); | ||||
|         const ratingOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis' | ||||
|             }, | ||||
|             legend: { | ||||
|                 data: ['评分', '评价数'], | ||||
|                 top: 10 | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['有机生菜', '活虾', '大米', '牛腩', '土鸡蛋', '鲈鱼', '五花肉', '苹果', '豆腐', '酱油'], | ||||
|                 axisLabel: { | ||||
|                     rotate: 30, | ||||
|                     fontSize: 12 | ||||
|                 } | ||||
|             }, | ||||
|             yAxis: [ | ||||
|                 { | ||||
|                     type: 'value', | ||||
|                     name: '评分', | ||||
|                     min: 0, | ||||
|                     max: 5, | ||||
|                     interval: 1 | ||||
|                 }, | ||||
|                 { | ||||
|                     type: 'value', | ||||
|                     name: '评价数', | ||||
|                     min: 0, | ||||
|                     max: 3000 | ||||
|                 } | ||||
|             ], | ||||
|             series: [ | ||||
|                 { | ||||
|                     name: '评分', | ||||
|                     type: 'line', | ||||
|                     data: [4.9, 4.9, 4.9, 4.8, 4.8, 4.7, 4.8, 4.7, 4.6, 4.5], | ||||
|                     itemStyle: { color: '#FFD700' }, | ||||
|                     lineStyle: { width: 3 }, | ||||
|                     smooth: true, | ||||
|                     areaStyle: { | ||||
|                         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                             { offset: 0, color: 'rgba(255, 215, 0, 0.3)' }, | ||||
|                             { offset: 1, color: 'rgba(255, 215, 0, 0.05)' } | ||||
|                         ]) | ||||
|                     } | ||||
|                 }, | ||||
|                 { | ||||
|                     name: '评价数', | ||||
|                     type: 'bar', | ||||
|                     yAxisIndex: 1, | ||||
|                     data: [2856, 1987, 1765, 1523, 1456, 1289, 2134, 1678, 1234, 1098], | ||||
|                     itemStyle: { | ||||
|                         color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ | ||||
|                             { offset: 0, color: '#4facfe' }, | ||||
|                             { offset: 1, color: '#00f2fe' } | ||||
|                         ]) | ||||
|                     } | ||||
|                 } | ||||
|             ] | ||||
|         }; | ||||
|         ratingChart.setOption(ratingOption); | ||||
|          | ||||
|         // 响应式 | ||||
|         window.addEventListener('resize', function() { | ||||
|             salesChart.resize(); | ||||
|             revenueChart.resize(); | ||||
|             ratingChart.resize(); | ||||
|         }); | ||||
|          | ||||
|         // 筛选标签交互 | ||||
|         document.querySelectorAll('.filter-tag').forEach(tag => { | ||||
|             tag.addEventListener('click', function() { | ||||
|                 document.querySelectorAll('.filter-tag').forEach(t => t.classList.remove('active')); | ||||
|                 this.classList.add('active'); | ||||
|             }); | ||||
|         }); | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
|  | @ -0,0 +1,550 @@ | |||
| <!DOCTYPE html> | ||||
| <html lang="zh-CN"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <title>连锁单位业绩排行榜 - 品牌数据中心</title> | ||||
|     <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script> | ||||
|     <style> | ||||
|         * { | ||||
|             margin: 0; | ||||
|             padding: 0; | ||||
|             box-sizing: border-box; | ||||
|         } | ||||
|          | ||||
|         body { | ||||
|             font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', | ||||
|                 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; | ||||
|             background: #f5f5f5; | ||||
|             color: #333; | ||||
|             padding: 20px; | ||||
|             min-height: 100vh; | ||||
|         } | ||||
| 
 | ||||
|         .container { | ||||
|             max-width: 1600px; | ||||
|             margin: 0 auto; | ||||
|             padding: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .page-header { | ||||
|             background: white; | ||||
|             padding: 16px 24px; | ||||
|             margin-bottom: 16px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             text-align: center; | ||||
|         } | ||||
| 
 | ||||
|         .page-title { | ||||
|             font-size: 24px; | ||||
|             font-weight: 600; | ||||
|             color: #262626; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .page-subtitle { | ||||
|             font-size: 14px; | ||||
|             color: #666; | ||||
|         } | ||||
|          | ||||
|         .stats-section { | ||||
|             background: white; | ||||
|             padding: 24px; | ||||
|             margin-bottom: 16px; | ||||
|             border-radius: 8px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .stats-grid { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | ||||
|             gap: 20px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item { | ||||
|             text-align: center; | ||||
|             padding: 20px; | ||||
|             border: 1px solid #f0f0f0; | ||||
|             border-radius: 8px; | ||||
|             background: #fafafa; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item:hover { | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|             transform: translateY(-2px); | ||||
|             transition: all 0.3s; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item h3 { | ||||
|             font-size: 14px; | ||||
|             color: #666; | ||||
|             margin-bottom: 12px; | ||||
|             font-weight: 500; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .value { | ||||
|             font-size: 24px; | ||||
|             font-weight: 600; | ||||
|             color: #1890ff; | ||||
|             margin-bottom: 8px; | ||||
|         } | ||||
| 
 | ||||
|         .stat-item .label { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .chart-section { | ||||
|             display: grid; | ||||
|             grid-template-columns: repeat(2, 1fr); | ||||
|             gap: 16px; | ||||
|             margin-bottom: 16px; | ||||
|         } | ||||
| 
 | ||||
|         @media (max-width: 1024px) { | ||||
|             .chart-section { | ||||
|                 grid-template-columns: 1fr; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         .chart-card { | ||||
|             background: white; | ||||
|             border-radius: 8px; | ||||
|             padding: 24px; | ||||
|             box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||
|         } | ||||
| 
 | ||||
|         .chart-card h2 { | ||||
|             font-size: 20px; | ||||
|             color: #262626; | ||||
|             margin-bottom: 16px; | ||||
|             padding-bottom: 12px; | ||||
|             border-bottom: 1px solid #f0f0f0; | ||||
|             font-weight: 600; | ||||
|         } | ||||
|          | ||||
|         .chart-container { | ||||
|             height: 400px; | ||||
|             width: 100%; | ||||
|         } | ||||
|          | ||||
|         .ranking-list { | ||||
|             list-style: none; | ||||
|         } | ||||
|          | ||||
|         .ranking-item { | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             padding: 16px; | ||||
|             margin-bottom: 12px; | ||||
|             background: #f8f9fa; | ||||
|             border-radius: 6px; | ||||
|             transition: all 0.3s ease; | ||||
|             border: 1px solid #f0f0f0; | ||||
|         } | ||||
| 
 | ||||
|         .ranking-item:hover { | ||||
|             background: #f8f9fa; | ||||
|             transform: translateX(2px); | ||||
|             border-color: #1890ff; | ||||
|         } | ||||
|          | ||||
|         .ranking-number { | ||||
|             width: 40px; | ||||
|             height: 40px; | ||||
|             border-radius: 50%; | ||||
|             display: flex; | ||||
|             align-items: center; | ||||
|             justify-content: center; | ||||
|             font-weight: bold; | ||||
|             font-size: 18px; | ||||
|             margin-right: 16px; | ||||
|         } | ||||
|          | ||||
|         .ranking-number.top1 { | ||||
|             background: linear-gradient(135deg, #FFD700, #FFA500); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .ranking-number.top2 { | ||||
|             background: linear-gradient(135deg, #C0C0C0, #808080); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .ranking-number.top3 { | ||||
|             background: linear-gradient(135deg, #CD7F32, #8B4513); | ||||
|             color: white; | ||||
|         } | ||||
|          | ||||
|         .ranking-number.other { | ||||
|             background: #dee2e6; | ||||
|             color: #495057; | ||||
|         } | ||||
|          | ||||
|         .ranking-info { | ||||
|             flex: 1; | ||||
|         } | ||||
|          | ||||
|         .ranking-name { | ||||
|             font-size: 16px; | ||||
|             font-weight: 600; | ||||
|             color: #333; | ||||
|             margin-bottom: 4px; | ||||
|         } | ||||
|          | ||||
|         .ranking-location { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|         } | ||||
|          | ||||
|         .ranking-value { | ||||
|             font-size: 20px; | ||||
|             font-weight: bold; | ||||
|             color: #1890ff; | ||||
|         } | ||||
|          | ||||
|         .ranking-unit { | ||||
|             font-size: 12px; | ||||
|             color: #999; | ||||
|             margin-left: 4px; | ||||
|         } | ||||
|          | ||||
|         .trend-badge { | ||||
|             display: inline-block; | ||||
|             padding: 4px 12px; | ||||
|             border-radius: 20px; | ||||
|             font-size: 12px; | ||||
|             font-weight: 600; | ||||
|             margin-left: 8px; | ||||
|         } | ||||
|          | ||||
|         .trend-up { | ||||
|             background: #d4edda; | ||||
|             color: #155724; | ||||
|         } | ||||
|          | ||||
|         .trend-down { | ||||
|             background: #f8d7da; | ||||
|             color: #721c24; | ||||
|         } | ||||
|     </style> | ||||
| </head> | ||||
| <body> | ||||
|     <div class="container"> | ||||
|         <div class="page-header"> | ||||
|             <h1 class="page-title">📊 连锁单位业绩排行榜</h1> | ||||
|             <p class="page-subtitle">多维度对比连锁市场/店铺经营表现 · 数据更新时间:2024-01-15 10:30</p> | ||||
|         </div> | ||||
| 
 | ||||
|         <div class="stats-section"> | ||||
|             <div class="stats-grid"> | ||||
|                 <div class="stat-item"> | ||||
|                     <h3>连锁单位总数</h3> | ||||
|                     <div class="value">28</div> | ||||
|                     <div class="label">家连锁市场/店铺</div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <h3>本月总销售额</h3> | ||||
|                     <div class="value">¥856万</div> | ||||
|                     <div class="label">环比上月 +23.5%</div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <h3>本月总订单量</h3> | ||||
|                     <div class="value">12,847</div> | ||||
|                     <div class="label">环比上月 +18.2%</div> | ||||
|                 </div> | ||||
|                 <div class="stat-item"> | ||||
|                     <h3>本月总客户数</h3> | ||||
|                     <div class="value">8,563</div> | ||||
|                     <div class="label">环比上月 +15.8%</div> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="chart-section"> | ||||
|             <div class="chart-card"> | ||||
|                 <h2>🏆 销售额TOP10排行榜</h2> | ||||
|                 <ul class="ranking-list"> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number top1">1</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">朝阳菜市场(望京店)</div> | ||||
|                             <div class="ranking-location">📍 北京市朝阳区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥128.5万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 32%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number top2">2</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">海淀菜市场(中关村店)</div> | ||||
|                             <div class="ranking-location">📍 北京市海淀区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥115.2万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 28%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number top3">3</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">西城菜市场(金融街店)</div> | ||||
|                             <div class="ranking-location">📍 北京市西城区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥98.7万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 15%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">4</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">东城菜市场(国贸店)</div> | ||||
|                             <div class="ranking-location">📍 北京市东城区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥87.3万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 22%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">5</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">丰台菜市场(科技园店)</div> | ||||
|                             <div class="ranking-location">📍 北京市丰台区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥76.8万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 18%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">6</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">石景山菜市场(万达店)</div> | ||||
|                             <div class="ranking-location">📍 北京市石景山区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥65.4万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 12%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">7</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">通州菜市场(副中心店)</div> | ||||
|                             <div class="ranking-location">📍 北京市通州区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥58.9万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 25%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">8</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">昌平菜市场(回龙观店)</div> | ||||
|                             <div class="ranking-location">📍 北京市昌平区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥52.3万</span> | ||||
|                             <span class="trend-badge trend-down">↓ 5%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">9</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">大兴菜市场(亦庄店)</div> | ||||
|                             <div class="ranking-location">📍 北京市大兴区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥48.6万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 8%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                     <li class="ranking-item"> | ||||
|                         <div class="ranking-number other">10</div> | ||||
|                         <div class="ranking-info"> | ||||
|                             <div class="ranking-name">顺义菜市场(空港店)</div> | ||||
|                             <div class="ranking-location">📍 北京市顺义区</div> | ||||
|                         </div> | ||||
|                         <div> | ||||
|                             <span class="ranking-value">¥42.1万</span> | ||||
|                             <span class="trend-badge trend-up">↑ 10%</span> | ||||
|                         </div> | ||||
|                     </li> | ||||
|                 </ul> | ||||
|             </div> | ||||
|              | ||||
|             <div class="chart-card"> | ||||
|                 <h2>📦 订单量TOP10排行榜</h2> | ||||
|                 <div class="chart-container" id="orderChart"></div> | ||||
|             </div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="chart-section"> | ||||
|             <div class="chart-card"> | ||||
|                 <h2>👥 客户量TOP10排行榜</h2> | ||||
|                 <div class="chart-container" id="customerChart"></div> | ||||
|             </div> | ||||
|              | ||||
|             <div class="chart-card"> | ||||
|                 <h2>📈 增长率TOP10排行榜</h2> | ||||
|                 <div class="chart-container" id="growthChart"></div> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|      | ||||
|     <script> | ||||
|         // 订单量排行榜 | ||||
|         const orderChart = echarts.init(document.getElementById('orderChart')); | ||||
|         const orderOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '订单量' | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['顺义(空港)', '大兴(亦庄)', '昌平(回龙观)', '通州(副中心)', '石景山(万达)',  | ||||
|                        '丰台(科技园)', '东城(国贸)', '西城(金融街)', '海淀(中关村)', '朝阳(望京)'], | ||||
|                 axisLabel: { | ||||
|                     fontSize: 12 | ||||
|                 } | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '订单量', | ||||
|                 type: 'bar', | ||||
|                 data: [582, 635, 698, 758, 823, 945, 1067, 1235, 1456, 1689], | ||||
|                 itemStyle: { | ||||
|                     color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ | ||||
|                         { offset: 0, color: '#667eea' }, | ||||
|                         { offset: 1, color: '#764ba2' } | ||||
|                     ]) | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     position: 'right', | ||||
|                     formatter: '{c}单' | ||||
|                 } | ||||
|             }] | ||||
|         }; | ||||
|         orderChart.setOption(orderOption); | ||||
|          | ||||
|         // 客户量排行榜 | ||||
|         const customerChart = echarts.init(document.getElementById('customerChart')); | ||||
|         const customerOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '客户数' | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['顺义(空港)', '大兴(亦庄)', '昌平(回龙观)', '通州(副中心)', '石景山(万达)',  | ||||
|                        '丰台(科技园)', '东城(国贸)', '西城(金融街)', '海淀(中关村)', '朝阳(望京)'], | ||||
|                 axisLabel: { | ||||
|                     fontSize: 12 | ||||
|                 } | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '客户数', | ||||
|                 type: 'bar', | ||||
|                 data: [456, 512, 578, 623, 689, 756, 834, 923, 1089, 1267], | ||||
|                 itemStyle: { | ||||
|                     color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ | ||||
|                         { offset: 0, color: '#f093fb' }, | ||||
|                         { offset: 1, color: '#f5576c' } | ||||
|                     ]) | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     position: 'right', | ||||
|                     formatter: '{c}人' | ||||
|                 } | ||||
|             }] | ||||
|         }; | ||||
|         customerChart.setOption(customerOption); | ||||
|          | ||||
|         // 增长率排行榜 | ||||
|         const growthChart = echarts.init(document.getElementById('growthChart')); | ||||
|         const growthOption = { | ||||
|             tooltip: { | ||||
|                 trigger: 'axis', | ||||
|                 axisPointer: { type: 'shadow' } | ||||
|             }, | ||||
|             grid: { | ||||
|                 left: '3%', | ||||
|                 right: '4%', | ||||
|                 bottom: '3%', | ||||
|                 containLabel: true | ||||
|             }, | ||||
|             xAxis: { | ||||
|                 type: 'value', | ||||
|                 name: '环比增长率', | ||||
|                 axisLabel: { | ||||
|                     formatter: '{value}%' | ||||
|                 } | ||||
|             }, | ||||
|             yAxis: { | ||||
|                 type: 'category', | ||||
|                 data: ['石景山(万达)', '西城(金融街)', '大兴(亦庄)', '顺义(空港)', '丰台(科技园)',  | ||||
|                        '东城(国贸)', '通州(副中心)', '海淀(中关村)', '朝阳(望京)', '昌平(天通苑)'], | ||||
|                 axisLabel: { | ||||
|                     fontSize: 12 | ||||
|                 } | ||||
|             }, | ||||
|             series: [{ | ||||
|                 name: '增长率', | ||||
|                 type: 'bar', | ||||
|                 data: [12, 15, 18, 22, 25, 28, 32, 35, 38, 45], | ||||
|                 itemStyle: { | ||||
|                     color: function(params) { | ||||
|                         const colors = [ | ||||
|                             new echarts.graphic.LinearGradient(0, 0, 1, 0, [ | ||||
|                                 { offset: 0, color: '#4facfe' }, | ||||
|                                 { offset: 1, color: '#00f2fe' } | ||||
|                             ]) | ||||
|                         ]; | ||||
|                         return colors[0]; | ||||
|                     } | ||||
|                 }, | ||||
|                 label: { | ||||
|                     show: true, | ||||
|                     position: 'right', | ||||
|                     formatter: '{c}%' | ||||
|                 } | ||||
|             }] | ||||
|         }; | ||||
|         growthChart.setOption(growthOption); | ||||
|          | ||||
|         // 响应式 | ||||
|         window.addEventListener('resize', function() { | ||||
|             orderChart.resize(); | ||||
|             customerChart.resize(); | ||||
|             growthChart.resize(); | ||||
|         }); | ||||
|     </script> | ||||
| </body> | ||||
| </html> | ||||
		Loading…
	
		Reference in New Issue