You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

335 lines
12 KiB
JavaScript

var activeUsersChart = function() {
var itemStyle = {normal:{areaStyle:{type:'default'}}};
EgretChart.init('');
EgretChart.setYAxis([{name : lan_sa_old_gamers_and_new_gamers}, {name : lan_da_income}]);
EgretChart.setData('bar', lan_sa_old_gamers, generalDataJson.oldUsers, true, '', itemStyle);
EgretChart.setData('bar', lan_sa_new_gamers, generalDataJson.newUsers, true, '', itemStyle);
/*EgretChart.setData('line', lan_sa_active_gamers, generalDataJson.activeUsers, false, 1);*/
EgretChart.setData('line', lan_da_income, generalDataJson.usersIncome, false, 1);
EgretChart.show('activeUsersChart');
};
var newUsersChart = function() {
EgretChart.init('');
EgretChart.setYAxis([{name : lan_sa_new_gamers}, {name : lan_sa_retention, axisLabel:{formatter: '{value} %'}}]);
EgretChart.setData('bar', lan_sa_new_gamers, generalDataJson.newUsers);
EgretChart.setData('line', lan_sa_retention_one, generalDataJson["1RatentionRate"], false, 1);
EgretChart.setData('line', lan_sa_retention_three, generalDataJson["3RatentionRate"], false, 1);
EgretChart.setData('line', lan_sa_retention_seven, generalDataJson["7RatentionRate"], false, 1);
EgretChart.show('newUsersChart');
};
var keepPayChart = function() {
if (generalDataJson.payTimes.length == 0) return true;
EgretChart.init('', '', {"x2":20});
EgretChart.setYAxis([{name : '', axisLabel:{formatter: '{value} (' + lan_sa_single_people + ')'}}]);
EgretChart.setData('bar', lan_sa_number_of_people, generalDataJson.payTimes);
var chart = EgretChart.show('keepPayChart');
EgretPieChart.init('', '', true);
EgretPieChart.setData(generalDataJson.payTimes, '55%', ['50%']);
var chart1 = EgretPieChart.show("keepPayChartPie");
};
var usersIncomeChart = function() {
EgretChart.init('');
EgretChart.setYAxis([{name : lan_da_income}, {name : lan_sa_active}]);
EgretChart.setData('bar', lan_da_income, generalDataJson.usersIncome);
EgretChart.setData('line', lan_sa_active, generalDataJson.activeUsers, false, 1);
EgretChart.show('usersIncomeChart');
};
var usersArpuChart = function() {
EgretChart.init('');
EgretChart.setYAxis([{name : lan_sa_active}, {name : 'ARPU'}]);
EgretChart.setData('bar', lan_sa_active, generalDataJson.activeUsers);
EgretChart.setData('line', 'ARPU', generalDataJson.usersArpu, false, 1);
EgretChart.show('usersArpuChart');
};
var usersArppuChart = function() {
EgretChart.init('');
EgretChart.setYAxis([{name : 'ARPPU'}, {name : lan_sa_pay_rate, axisLabel:{formatter: '{value} %'}}]);
EgretChart.setData('bar', 'ARPPU', generalDataJson.usersArppu);
EgretChart.setData('line', lan_sa_pay_rate, generalDataJson.usersPayRate, false, 1);
EgretChart.show('usersArppuChart');
};
var usersPayRateChart = function() {
EgretChart.init('');
EgretChart.setYAxis([{name : lan_sa_active}, {name : lan_sa_pay_rate, axisLabel:{formatter: '{value} %'}}]);
EgretChart.setData('bar', lan_sa_active, generalDataJson.activeUsers);
EgretChart.setData('line', lan_sa_pay_rate, generalDataJson.usersPayRate, false, 1);
EgretChart.show('usersPayRateChart');
};
var payUsersChart = function() {
var itemStyle = {normal:{areaStyle:{type:'default'}}};
EgretChart.init('');
/*EgretChart.setYAxis([{name : '老付费玩家,新付费玩家'}, {name : '付费玩家'}]);*/
EgretChart.setYAxis([{name : lan_sa_old_pay_gamers_and_new_pay_gamers}, {name : lan_sa_active}]);
EgretChart.setData('bar', lan_sa_old_pay_gamers, generalDataJson.oldPayUsers, true, '', itemStyle);
EgretChart.setData('bar', lan_sa_new_pay_gamers, generalDataJson.newPayUsers, true, '', itemStyle);
EgretChart.setData('line', lan_sa_active, generalDataJson.activeUsers, false, 1);
EgretChart.show('payUsersChart');
}
var ratentionRateChart = function() {
EgretChart.init('');
EgretChart.setYAxis([{name : lan_sa_retention, axisLabel:{formatter: '{value} %'}}]);
EgretChart.setData('line', lan_sa_retention_one, generalDataJson["1RatentionRate"]);
EgretChart.setData('line', lan_sa_retention_three, generalDataJson["3RatentionRate"]);
EgretChart.setData('line', lan_sa_retention_seven, generalDataJson["7RatentionRate"]);
EgretChart.show('ratentionRateChart');
};
$("#generalTabs a").click(function(event){
$("#generalTabs a").removeClass("active");
$(this).addClass("active");
var value = $(this).attr("data");
var labels = $("#generalTabs a");
labels.each(function(){
var label = $(this).attr("data")
$("#" + label).hide();
});
$("#" + value).show();
var fun = value + "Chart";
doCallback(eval(fun));
event.preventDefault();
});
$("#detailTabs a").click(function(event){
$("#detailTabs a").removeClass("active");
$(this).addClass("active");
var value = $(this).attr("data");
var labels = $("#detailTabs a");
labels.each(function(){
var label = $(this).attr("data")
$("#" + label).hide();
});
$("#" + value).show();
$("#detailType").val(value);
$("#channelContrastDiv").hide();
var dataType = $("#chanDataType").val();
if (value == "chanData") {
showChanData(gameId, dataType, startDate, endDate);
} else if (value == "channelContrast") {
$("#channelContrastDiv").show();
var label = $("#channelContrastType").val();
showChanContrastData(gameId, label, dataType, startDate, endDate);
}
if (value == "chanData") {
$("#chanDataUnit").show();
} else {
$("#chanDataUnit").hide();
}
event.preventDefault();
});
$("#chanDataId").change(function(){
var dataType = $("#chanDataType").val();
showChanData(gameId, dataType, startDate, endDate);
});
$("#chanDataType").change(function() {
var dataType = this.value;
var detailType = $("#detailType").val();
if (detailType == "detail") {
showGameDetail(dataType);
} else if (detailType == "chanData"){
showChanData(gameId, dataType, startDate, endDate);
} else if (detailType == "channelContrast"){
var label = $("#channelContrastType").val();
showChanContrastData(gameId, label, dataType, startDate, endDate);
}
});
var showGameDetail = function(dataType) {
var dataTypes = ['day', 'week', 'month'];
for(i in dataTypes) {
$("#" + dataTypes[i] + "Detail").hide();
}
$("#" + dataType + "Detail").show();
}
$("#channelContrastType").change(function() {
var label = this.value;
var dataType = $("#chanDataType").val();
showChanContrastData(gameId, label, dataType, startDate, endDate);
});
// 显示渠道数据
var showChanData = function(gameId, dataType, startDate, endDate) {
var cId = $("#chanDataId").val();
var url = "/Member/Developer/Game/Data.getChanGeneral?gameId=" + gameId + "&dataType=" + dataType + "&startDate=" + startDate + "&endDate=" + endDate + "&cId=" + cId;
var sign = getUrlParam('sign');
if(sign){
url +="&sign="+sign;
}
$.get(url, function(data){
$("#chanDataTable").html(data);
if (data.indexOf("暂无数据") == -1) {
if (cId == 0) {
var headers = {9:{sorter:false}};
$("#chanDataTab").tablesorter({headers:headers, sortList:[[8, 1]]});
tablePage("chanDataTab", "dataContent", "Pagination", [1, 2, 3, 4, 7, 8], true ,{}, "detailChanData", [dataType]);
} else {
detailChanData(dataType);
}
}
});
}
var detailChanData = function(dataType) {
$("a[href='#detailChanData']").click(function() {
var chanId = $(this).attr("data");
var chanName = $(this).attr("chanName");
var url = "/Member/Developer/Game/Data.getChanGeneralOne?gameId=" + gameId + "&cId=" + chanId + "&dataType=" + dataType + "&startDate=" + startDate + "&endDate=" + endDate;
var sign = getUrlParam('sign');
if(sign){
url +="&sign="+sign;
}
$.get(url, function(data) {
var titles = {"day":lan_day, "week":lan_week, "month":lan_month};
$('#modalDetail').modal('show');
var title = chanName + " " + titles[dataType] + lan_data;
$("#title").html(title);
$("#modalDetailData").html(data);
$("#chanDataOneTable").tablesorter({headers:{}, sortList:[[0,1]]});
if (dataType == 'day') {
tablePage('chanDataOneTable', 'dataContentChanDataOne', 'PaginationChanDataOne', [1, 2 ,3 , 5, 6, 7], true, headers);
} else {
tablePage('chanDataOneTable', 'dataContentChanDataOne', 'PaginationChanDataOne', [1,2 ,3 , 4, 5, 6], true, headers);
}
});
});
};
// 显示渠道对比
var showChanContrastData = function(gameId, label, dataType, startDate, endDate) {
var url = "/Member/Developer/Game/Data.getChanContrastGeneral?gameId=" + gameId + "&label=" + label + "&startDate=" + startDate + "&endDate=" + endDate + "&dataType=" + dataType;
var sign = getUrlParam('sign');
if(sign){
url +="&sign="+sign;
}
$.get(url, function(data){
$("#channelContrastTable").html(data);
if (data.indexOf(lan_no_data) == -1) {
$("#channelContrastTab").tablesorter();
tablePage("channelContrastTab", "dataContent1", "Pagination1", [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
}
});
}
$("a[href='#chartTable']").click(function() {
var data = $(this).attr("data");
var type = $(this).attr("type");
var labels = $("#" + data + "Tab a");
labels.each(function() {
var label = $(this).attr("data")
var a = $(this).attr("type")
$("#" + label + a).hide();
$(this).removeClass("hover");
});
$(this).addClass("hover");
$("#" + data + type).show();
var tds = titles = labels = [];
if (type == 'Table') {
if (data == 'activeUsers') {
titles = [lan_date, lan_sa_new_gamers, lan_sa_old_gamers, lan_da_income];
labels = ['newUsers', 'oldUsers', 'usersIncome'];
tds = [1, 2, 3];
} else if(data == 'newUsers') {
titles = [lan_date, lan_da_new_gamers, lan_sa_retention_one];
labels = ['newUsers', '1RatentionRate'];
tds = [1];
} else if(data == 'payUsers') {
titles = [lan_date, lan_sa_active, lan_sa_new_pay_gamers, lan_sa_old_pay_gamers];
labels = ['activeUsers', 'newPayUsers', 'oldPayUsers'];
tds = [1, 2, 3];
} else if(data == 'usersIncome') {
titles = [lan_date, lan_da_income, lan_sa_active_gamers];
labels = ['usersIncome', 'activeUsers'];
tds = [1, 2];
} else if(data == 'usersPayRate') {
titles = [lan_date, lan_sa_pay_rate, lan_sa_active_gamers];
labels = ['usersPayRate', 'activeUsers'];
tds = [2];
} else if(data == 'usersArpu') {
titles = [lan_date, 'ARPU', lan_sa_active_gamers];
labels = ['usersArpu', 'activeUsers'];
tds = [2];
} else if(data == 'usersArppu') {
titles = [lan_date, 'ARPPU', lan_sa_active_gamers];
labels = ['usersArppu', 'activeUsers'];
tds = [2];
} else if(data == 'ratentionRate') {
titles = [lan_date, lan_sa_retention_one, lan_sa_retention_three, lan_sa_retention_seven];
labels = ['1RatentionRate', '3RatentionRate', '7RatentionRate'];
}
showTable(data, titles, labels, generalDataJson, dateKeys);
var dataContentTable = data + "ContentTable";
var dataContent = data + "Content";
var Pagination = data + "Pagination";
tablePage(dataContentTable, dataContent, Pagination, tds);
} else {
var fun = data + "Chart";
doCallback(eval(fun));
}
});
$("#endDate,#startDate").change(function(){
var endDate = $("#endDate").val();
var startDate = $("#startDate").val();
var nowDate = getDate();
var nowD = new Date(nowDate);
var nowTime = parseInt(nowD.getTime() / 1000);
var eD = new Date(endDate);
var endTime = parseInt(eD.getTime() / 1000);
var sD = new Date(startDate);
var startTime = parseInt(sD.getTime() / 1000);
if (endTime > nowTime) {
endTime = nowTime;
$("#endDate").val(nowDate);
}
var maxDay = 90;
var num = (endTime - startTime) / 86400;
if (num > maxDay) {
startTime = endTime - 86400 * 14;
startDate = getDate(startTime * 1000);
$("#startDate").val(startDate);
alert(lan_message1 + maxDay + lan_message2);
}
});
$("#startCalendar,#endCalendar").click(function(){
$(this).prev("input").focus();
});