176 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
| <!doctype html>
 | |
| <html>
 | |
|   <head>
 | |
|     <meta http-equiv="content-type" content="text/html;charset=utf-8" />
 | |
|     <link rel="shortcut icon" href="#" />
 | |
|     <link
 | |
|       rel="stylesheet"
 | |
|       type="text/css"
 | |
|       href="{{pluResPath}}html/payLog/payLog.css"
 | |
|     />
 | |
|     <link rel="preload" href="{{resPath}}font/tttgbnumber.ttf" as="font" />
 | |
|     <link
 | |
|       rel="preload"
 | |
|       href="{{pluResPath}}img/namecard/{{headImg}}.png"
 | |
|       as="image"
 | |
|     />
 | |
|     {{@headStyle}}
 | |
|   </head>
 | |
| 
 | |
|   <body>
 | |
|     <div class="container" id="container">
 | |
|       <div class="head_box">
 | |
|         <div class="id_text">ID: {{uid}}</div>
 | |
|         <h2 class="day_text">充值统计</h2>
 | |
|         <img class="genshin_logo" src="{{pluResPath}}img/other/原神.png" />
 | |
|       </div>
 | |
|       <div class="data_box">
 | |
|         <div class="tab_lable">数据总览</div>
 | |
|         <div class="data_line">
 | |
|           {{each topData.slice(0,4) data}}
 | |
|           <div class="data_line_item">
 | |
|             <div class="num">{{data.value}}</div>
 | |
|             <div class="lable">{{data.title}}</div>
 | |
|           </div>
 | |
|           {{/each}}
 | |
|         </div>
 | |
|         <div class="data_line">
 | |
|           {{each topData.slice(4,8) data}}
 | |
|           <div class="data_line_item">
 | |
|             <div class="num">{{data.value}}</div>
 | |
|             <div class="lable">{{data.title}}</div>
 | |
|           </div>
 | |
|           {{/each}}
 | |
|         </div>
 | |
|         <div class="data_line">
 | |
|           {{each topData.slice(8,12) data}}
 | |
|           <div class="data_line_item">
 | |
|             <div class="num">{{data.value}}</div>
 | |
|             <div class="lable">{{data.title}}</div>
 | |
|           </div>
 | |
|           {{/each}}
 | |
|         </div>
 | |
|       </div>
 | |
|       <div class="data_box">
 | |
|         <div class="tab_lable">月份统计</div>
 | |
|         <div id="chartContainer"></div>
 | |
|       </div>
 | |
|       <div class="data_box">
 | |
|         <div class="tab_lable">详细统计</div>
 | |
|         <div id="chartContainer2"></div>
 | |
|       </div>
 | |
|       <div class="logo">Created By {{yzName}} & seven-plugin</div>
 | |
|     </div>
 | |
|   </body>
 | |
| 
 | |
|   <script src="{{pluResPath}}html/payLog/echarts.min.js"></script>
 | |
| 
 | |
|   <script>
 | |
|     const barData = JSON.parse(`{{@ barData}}`)
 | |
|     var myChart1 = echarts.init(
 | |
|       document.querySelector('#chartContainer'),
 | |
|       null,
 | |
|       { renderer: 'svg' }
 | |
|     )
 | |
|     const xData = barData.map(v => v.type)
 | |
|     const yData = barData.map(v => v.sales)
 | |
|     // 指定图表的配置项和数据
 | |
|     const option = {
 | |
|       animation: false,
 | |
|       xAxis: {
 | |
|         type: 'category',
 | |
|         data: xData
 | |
|       },
 | |
|       legend: {
 | |
|         x: 'left',
 | |
|         y: 'top',
 | |
|         show: true,
 | |
|         data: [{ name: '金额' }]
 | |
|       },
 | |
|       yAxis: {
 | |
|         type: 'value'
 | |
|       },
 | |
|       series: [
 | |
|         {
 | |
|           name: '金额',
 | |
|           data: yData,
 | |
|           type: 'bar',
 | |
|           itemStyle: {
 | |
|             normal: {
 | |
|               label: {
 | |
|                 position: 'top',
 | |
|                 show: true,
 | |
|                 textStyle: {
 | |
|                   color: '#1e1f20',
 | |
|                   fontSize: 14,
 | |
|                   fontFamily: 'tttgbnumber'
 | |
|                 }
 | |
|               },
 | |
|               color: new echarts.graphic.LinearGradient(
 | |
|                 0,
 | |
|                 1,
 | |
|                 0,
 | |
|                 0,
 | |
|                 [
 | |
|                   {
 | |
|                     offset: 0,
 | |
|                     color: '#1268f3'
 | |
|                   },
 | |
|                   {
 | |
|                     offset: 0.6,
 | |
|                     color: '#08a4fa'
 | |
|                   },
 | |
|                   {
 | |
|                     offset: 1,
 | |
|                     color: '#01ccfe'
 | |
|                   }
 | |
|                 ],
 | |
|                 false
 | |
|               )
 | |
|             }
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|     myChart1.setOption(option)
 | |
| 
 | |
|     const pieData = JSON.parse(`{{@ pieData}}`)
 | |
|     const myChart2 = echarts.init(
 | |
|       document.querySelector('#chartContainer2'),
 | |
|       null,
 | |
|       { renderer: 'svg' }
 | |
|     )
 | |
|     const option2 = {
 | |
|       animation: false,
 | |
|       title: {
 | |
|         text: '{{topData[0].value}}',
 | |
|         subtext: '总充值',
 | |
|         left: 'right'
 | |
|       },
 | |
|       legend: {
 | |
|         orient: 'horizontal',
 | |
|         bottom: 'left'
 | |
|       },
 | |
|       series: [
 | |
|         {
 | |
|           name: 'Access From',
 | |
|           type: 'pie',
 | |
|           radius: '50%',
 | |
|           itemStyle: {
 | |
|             normal: {
 | |
|               label: {
 | |
|                 show: true,
 | |
|                 fontFamily: 'tttgbnumber',
 | |
|                 formatter: '{b}:¥{c} ({d}%)'
 | |
|               },
 | |
|               labelLine: { show: true }
 | |
|             }
 | |
|           },
 | |
|           data: pieData
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|     myChart2.setOption(option2)
 | |
|   </script>
 | |
| </html>
 |