Miao-Yunzai/plugins/genshin/resources/StarRail/html/ledgerCount/ledgerCount.html

188 lines
5.0 KiB
HTML
Raw Normal View History

2023-08-18 10:19:48 +08:00
<!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/ledgerCount/ledgerCount.css" />
<link rel="preload" href="https://unpkg.com/@antv/g2plot@latest/dist/g2plot.min.js" as="script" />
<link rel="preload" href="{{resPath}}font/tttgbnumber.ttf" as="font">
<link rel="preload" href="{{pluResPath}}img/other/logo.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">{{yearText}}星琼统计</h2>
<img class="genshin_logo" src="{{pluResPath}}img/other/logo.png" />
</div>
<div class="data_box">
<div class="tab_lable">数据总览</div>
<div class="data_line">
<div class="data_line_item">
<div class="num">{{allPrimogemsShow}}</div>
<div class="lable">总星琼</div>
</div>
<div class="data_line_item">
<div class="num">{{allGacha}}抽</div>
<div class="lable">总抽数</div>
</div>
<div class="data_line_item">
<div class="num">{{maxPrimogems.month}}月</div>
<div class="lable">星琼最多</div>
</div>
<div class="data_line_item">
<div class="num">{{maxPrimogems.value}}</div>
<div class="lable">{{maxPrimogems.month}}月星琼</div>
</div>
</div>
<div class="data_line">
<div class="data_line_item">
<div class="num">{{allMora}}</div>
<div class="lable">总专&通票</div>
</div>
<div class="data_line_item">
<div class="num">{{maxMora.month}}月</div>
<div class="lable">&通票最多</div>
</div>
<div class="data_line_item">
{{if group_by.length>0 }}
<div class="num">{{group_by[0].num}}</div>
<div class="lable">{{group_by[0].action}}</div>
{{/if}}
</div>
<div class="data_line_item">
{{if group_by.length>0 }}
<div class="num">{{group_by[1].num}}</div>
<div class="lable">{{group_by[1].action}}</div>
{{/if}}
</div>
</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>
{{if hasMore }}
<div class="hasMore">*该数据只显示最近12个月</div>
{{/if}}
2023-08-29 23:23:49 +08:00
<div class="logo">Created By Miao-Yunzai</div>
2023-08-18 10:19:48 +08:00
</div>
</body>
<script type="text/javascript" src="https://unpkg.com/@antv/g2plot@latest/dist/g2plot.min.js"></script>
<script>
const { Column, Pie } = G2Plot;
const primogemsMonth = JSON.parse(`{{@ primogemsMonth}}`);
const primogemsMax = {{ maxPrimogems.value }};
const stackedColumnPlot = new Column("chartContainer", {
data: primogemsMonth,
isGroup: true,
xField: "month",
yField: "value",
seriesField: "name",
animation: false,
renderer: "svg",
padding: [40, 10, 30, 52],
label: {
position: "top",
style: {
fontFamily: "tttgbnumber",
},
offsetY: 10,
},
xAxis: {
label: {
autoHide: false,
formatter: (v) => {
return v + "月";
},
style: {
fontFamily: "tttgbnumber",
fontSize: 14,
},
},
},
yAxis: {
label: {
style: {
fontFamily: "tttgbnumber",
fontSize: 14,
},
},
},
});
stackedColumnPlot.render();
const countdata = JSON.parse(`{{@ pieData}}`);
const piePlot = new Pie("chartContainer2", {
renderer: "svg",
animation: false,
data: countdata,
appendPadding: 10,
angleField: "num",
colorField: "action",
radius: 1,
innerRadius: 0.7,
// appendPadding: 20,
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: -8,
content: "总计",
},
content: {
style: {
fontFamily: "tttgbnumber",
},
},
},
legend: {
offsetX: -56,
itemValue: {
formatter: (text, item) => {
const items = countdata.filter((d) => d.action === item.value)[0];
return items.num;
},
style: {
opacity: 0.65,
fontFamily: "tttgbnumber",
"fontSize": 16,
},
},
itemName: {
style: {
"fontSize": 16,
},
}
},
});
piePlot.render();
</script>
</html>