108 lines
2.8 KiB
HTML
108 lines
2.8 KiB
HTML
{{extend defaultLayout}}
|
||
|
||
{{block 'css'}}
|
||
<link rel="stylesheet" type="text/css" href="{{_res_path}}html/ledger/ledger-gs.css"/>
|
||
<link rel="preload" href="{{_res_path}}script/g2plot.min.js" as="script"/>
|
||
<link rel="preload" href="{{_res_path}}img/other/bg.webp" as="image">
|
||
<link rel="preload" href="{{_res_path}}img/other/chart.png" as="image">
|
||
{{/block}}
|
||
|
||
{{block 'main'}}
|
||
<div class="title-box">
|
||
<div class="info">
|
||
<div class="uid">ID:{{uid}}</div>
|
||
<div class="month">{{day}}札记</div>
|
||
</div>
|
||
<img class="genshin_logo" src="{{_res_path}}img/other/原神.png"/>
|
||
</div>
|
||
<div class="data-box">
|
||
<div class="month">
|
||
<div class="head">当月获取:</div>
|
||
<div class="primogems">
|
||
<div class="icon-ys"></div>
|
||
<div class="text">原石:{{month_data.current_primogems}} | {{month_data.gacha}} 抽</div>
|
||
</div>
|
||
<div class="primogems">
|
||
<div class="icon-mola"></div>
|
||
<div class="text">摩拉:{{month_data.current_mora}}</div>
|
||
</div>
|
||
</div>
|
||
<div class="day">
|
||
<div class="head">上月获取:</div>
|
||
<div class="primogems">
|
||
<div class="icon-ys"></div>
|
||
<div class="text">原石:{{month_data.last_primogems}} | {{month_data.last_gacha}} 抽</div>
|
||
</div>
|
||
<div class="primogems">
|
||
<div class="icon-mola"></div>
|
||
<div class="text">摩拉:{{month_data.last_mora}}</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="chart-box">
|
||
<div class="head">原石收入组成:</div>
|
||
<div class="chart-info">
|
||
<div id="chartContainer"></div>
|
||
<ul class="tooltip">
|
||
{{each month_data.group_by val}}
|
||
<li>
|
||
<i style="background: {{val.color}}"></i>
|
||
<span class="action">{{val.action}}</span> <em>{{val.percent}}%</em><span class="num">{{val.num}}</span>
|
||
</li>
|
||
{{/each}}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script type="text/javascript" src="{{_res_path}}script/g2plot.min.js"></script>
|
||
<script>
|
||
const { Pie } = G2Plot
|
||
const data = JSON.parse(`{{@ group_by}}`)
|
||
const piePlot = new Pie('chartContainer', {
|
||
renderer: 'svg',
|
||
animation: false,
|
||
data: data,
|
||
appendPadding: 10,
|
||
angleField: 'num',
|
||
colorField: 'action',
|
||
radius: 1,
|
||
innerRadius: 0.7,
|
||
color: JSON.parse(`{{@ color}}`),
|
||
meta: {
|
||
// num: {
|
||
// formatter: (v) => `${v}`,
|
||
// },
|
||
},
|
||
label: {
|
||
type: 'inner',
|
||
offset: '-50%',
|
||
autoRotate: false,
|
||
style: {
|
||
textAlign: 'center',
|
||
fontFamily: 'tttgbnumber'
|
||
},
|
||
formatter: ({ percent }) => {
|
||
percent = (percent * 100).toFixed(0)
|
||
return percent > 2 ? `${percent}%` : ''
|
||
}
|
||
},
|
||
statistic: {
|
||
title: {
|
||
offsetY: -18,
|
||
content: '总计'
|
||
},
|
||
content: {
|
||
offsetY: -10,
|
||
style: {
|
||
fontFamily: 'tttgbnumber'
|
||
}
|
||
}
|
||
},
|
||
legend: false
|
||
})
|
||
piePlot.render()
|
||
</script>
|
||
|
||
{{/block}}
|