Skip to content

Commit

Permalink
Merge branch 'origin/develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
yuudi committed May 18, 2020
2 parents 4e3d2fa + 8706728 commit eaabab7
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 9 deletions.
113 changes: 105 additions & 8 deletions src/client/public/static/clan/statistics/statistics2.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@
* TODO:
* 公会伤害成长曲线
* 公会成员成长曲线合图
* 公会成员总伤害对比表
* 公会成员刀平均伤害对比表
* 公会成员各Boss刀数统计
* 各个玩家与BOSS均伤偏差值百分比统计
*/

const numberFormatter = num => {
if (num < 10000)
return `${num.toLocaleString()}`
if (num < 100000000)
return `${(num / 10000).toLocaleString()} W`
return `${(num / 100000000).toLocaleString()} E`
}

if (!Object.defineProperty) {
alert('浏览器版本过低');
}
Expand Down Expand Up @@ -82,6 +87,7 @@ var vm = new Vue({
boss_hit_chart: null,
personal_progress_chart: null,
personal_time_chart: null,
total_damage_chart: null,
is_loading: true,
selecting_tab: "table",
selecting_qqid: parseInt(qqid)
Expand All @@ -97,6 +103,7 @@ var vm = new Vue({
this.boss_hit_chart = echarts.init(document.getElementById("boss_hit_chart"));
this.personal_progress_chart = echarts.init(document.getElementById("personal_progress_chart"));
this.personal_time_chart = echarts.init(document.getElementById("personal_time_chart"));
this.total_damage_chart = echarts.init(document.getElementById("total_damage_chart"));
this.selecting_tab = "total";
this.refresh_data();
},
Expand Down Expand Up @@ -184,7 +191,11 @@ var vm = new Vue({
xAxis: {
data: temp[0],
},
yAxis: {},
yAxis: {
axisLabel: {
formatter: numberFormatter
}
},
series: [{
name: '伤害',
type: 'bar',
Expand Down Expand Up @@ -226,9 +237,13 @@ var vm = new Vue({
data: ['伤害']
},
xAxis: {
data: temp3[0],
data: temp3[0]
},
yAxis: {
axisLabel: {
formatter: numberFormatter
}
},
yAxis: {},
series: [{
name: '伤害',
type: 'bar',
Expand Down Expand Up @@ -350,7 +365,7 @@ var vm = new Vue({
yAxis: {
type: 'value',
axisLabel: {
formatter: v => `${v / 10000} W`
formatter: numberFormatter
},
axisPointer: {
snap: true
Expand Down Expand Up @@ -430,7 +445,6 @@ var vm = new Vue({
series: {
name: '刀数',
type: 'bar',

animation: true,
lineStyle: {
width: 2
Expand Down Expand Up @@ -488,6 +502,76 @@ var vm = new Vue({
}
}]
};
let temp9 = this.members_damage_for_chart(this.global_table_data);
let option9 = {
title: {
text: '成员伤害统计'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
}
},
toolbox: {
feature: {
dataView: {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar']},
restore: {show: true},
saveAsImage: {show: true}
}
},
legend: {
data: ['总伤害', '刀均伤害']
},
xAxis: [
{
type: 'category',
data: temp9[0],
axisPointer: {
type: 'shadow'
},
axisLabel: {
interval: 0,
rotate: 45
},
boundaryGap: true,
}
],
yAxis: [
{
type: 'value',
name: '总伤害',
axisLabel: {
formatter: numberFormatter
}
},
{
type: 'value',
name: '刀均伤害',
axisLabel: {
formatter: numberFormatter
}
}
],
series: [
{
name: '总伤害',
type: 'bar',
data: temp9[1]
},
{
name: '刀均伤害',
type: 'bar',
yAxisIndex: 1,
data: temp9[2]
}
]
};


this.boss_dmg_chart.setOption(option);
this.challenge_chart.setOption(option2);
Expand All @@ -497,6 +581,7 @@ var vm = new Vue({
this.boss_blood_chart.setOption(option6);
this.total_time_chart.setOption(option7);
this.boss_hit_chart.setOption(option8);
this.total_damage_chart.setOption(option9);
},

resizeAll: function() {
Expand All @@ -508,6 +593,7 @@ var vm = new Vue({
this.personal_progress_chart.resize();
this.personal_time_chart.resize();
this.boss_hit_chart.resize();
this.total_damage_chart.resize();
},

init_player_data: function() {
Expand Down Expand Up @@ -602,6 +688,9 @@ var vm = new Vue({
yAxis: {
type: 'value',
scale: true,
axisLabel: {
formatter: numberFormatter
}
},
tooltip: {
trigger: 'axis',
Expand Down Expand Up @@ -870,6 +959,14 @@ var vm = new Vue({
);
},

members_damage_for_chart: function(global_table_data) {
const data = global_table_data.sort((a, b) => b.sum_dmg - a.sum_dmg);
const full = data.map(elem => elem.sum_dmg);
const average = data.map(elem => elem.avg_dmg);
const names = data.map(elem => elem.nickname);
return [names, full, average];
},

average_damage: function(damage, contain_tail_and_continue) {
let sum = this.sum(damage.normal_damage);
let count = damage.count;
Expand Down
5 changes: 5 additions & 0 deletions src/client/public/template/clan/statistics/statistics2.html
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ <h1 style="text-align:center">数据分析</h1>
<div style="margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;" id="boss_hit_chart"></div>
</div>
</div>
<div style="display: flex; height: 450px">
<div style="width: 100%">
<div style="margin: 10px; padding: 20px; border: 1px solid #EBEEF5; height: 400px;" id="total_damage_chart"></div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="玩家数据" name="player">
Expand Down
2 changes: 1 addition & 1 deletion src/client/yobot.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

class Yobot:
Version = "[v3.6.1_beta_1]"
Version_id = 150
Version_id = 155
# "git rev-list --count HEAD"

def __init__(self, *,
Expand Down

0 comments on commit eaabab7

Please sign in to comment.