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.

265 lines
12 KiB
HTML

<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script src="__JS__/jquery.min.js"></script>
<script src="__JS__/common.js"></script>
<script src="__JS__/bootstrap.min.js"></script>
<script src="__JS__/bootstrap-datetimepicker.min.js"></script>
<script src="__JS__/bootstrap-datetimepicker.zh-CN.js"></script>
<script src="__JS__/bootstrap-select.min.js"></script>
<script src="__JS__/VMenu.js"></script>
<script src="__JS__/zh-cn.js"></script>
<script src="__JS__/echarts-all.js"></script>
<script src="__JS__/chart.js"></script>
<script src="__JS__/jquery.tablesorter.js"></script>
<script src="__JS__/string.js"></script>
<script src="__JS__/pagination.js"></script>
<script src="__JS__/datacommon.js"></script>
<script src="__JS__/retain.js"></script>
<link href="__CSS__/iconfont.css" rel="stylesheet">
<link href="__CSS__/pagination.css" rel="stylesheet">
<link href="__CSS__/common.css" rel="stylesheet">
<link href="__CSS__/datetimepicker.css" rel="stylesheet">
<link href="__CSS__/dropdown.css" rel="stylesheet">
<link href="__CSS__/icon.css" rel="stylesheet">
<link href="__CSS__/user.css" rel="stylesheet">
<!-- 标题栏 -->
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.matter_box2 {padding:0;}
.matter_mt-4 {margin:0;}
.button_list2 {
margin: 9px 0;
margin: 5px 0 32px;
margin-right: 15px;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">流失分析</h3>
<p class="description_text"></p>
</div>
<div class="cf top_nav_list">
<div class="fl button_list2">
<ul class="nav nav-pills" role="tablist" id="generalTabs">
<li role="presentation" data-id="0" class="<empty name='Think.get.d'>active<else /><eq name='Think.get.d' value='0'>active</eq></empty>" data-toggle="tooltip" data-placement="bottom" data-original-title="玩家流失分析">
<a href="#lossPlayer" aria-controls="lossPlayer" role="tab" data-toggle="tab" data="lossPlayer">玩家流失</a>
</li>
<li role="presentation" data-id="1" class="<eq name='Think.get.d' value='1'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="流失金额分析">
<a href="#lossMoney" aria-controls="lossMoney" role="tab" data-toggle="tab" data="lossMoney">流失金额分析</a>
</li>
<li role="presentation" data-id="2" class="<eq name='Think.get.d' value='2'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="流失次数分析">
<a href="#lossTimes" aria-controls="lossTimes" role="tab" data-toggle="tab" data="lossTimes">流失次数分析</a>
</li>
</ul>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="promote_id" name="promote_id" class="select_gallery" >
<option value="">推广员账号</option>
<volist name=":get_promote_list()" id="vo">
<option promote-id="{$vo.id}" value="{$vo.id}">{$vo.account}</option>
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="channel_id" name="channel_id" class="select_gallery" style="width:120px;">
<option value="1">连续3天不登录</option>
<option value="2">连续7天不登录</option>
</select>
</div>
<div class="input-list">
<input type="text" id="time-start" name="time_start" class="" value="{$start}" placeholder="流失开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="time_end" class="" value="{$end}" placeholder="流失结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('stat/userloss',array('data_order'=>I('data_order'),'model'=>$model['name']),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="matter_box matter_box2">
<div class="matter_mt-4">
<!-- <ul class="nav nav-pills" role="tablist" id="generalTabs">
<li role="presentation" class="active" data-toggle="tooltip" data-placement="bottom" data-original-title="玩家流失分析">
<a href="#lossPlayer" aria-controls="lossPlayer" role="tab" data-toggle="tab" data="lossPlayer">玩家流失</a>
</li>
<li role="presentation" data-toggle="tooltip" data-placement="bottom" data-original-title="流失金额分析">
<a href="#lossMoney" aria-controls="lossMoney" role="tab" data-toggle="tab" data="lossMoney">流失金额分析</a>
</li>
<li role="presentation" data-toggle="tooltip" data-placement="bottom" data-original-title="流失次数分析">
<a href="#lossTimes" aria-controls="lossTimes" role="tab" data-toggle="tab" data="lossTimes">流失次数分析</a>
</li>
</ul> -->
<div class="tab-content matter_mt">
<div role="tabpanel" class="tab-pane <empty name='Think.get.d'>active<else /><eq name='Think.get.d' value='0'>active</eq></empty>" id="lossPlayer">
<div class="row f-mlr-0">
<div id="lossPlayerChart" style="height: 350px; padding-top: 10px; -webkit-tap-highlight-color: transparent; user-select: none; background-color: rgba(0, 0, 0, 0); cursor: default;" >
</div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.get.d' value='1'>active</eq>" id="lossMoney">
<div class="row f-mlr-0">
<div id="lossMoneyChart" style="height:350px;padding-top:10px;"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.get.d' value='2'>active</eq>" id="lossTimes">
<div class="row f-mlr-0">
<div id="lossTimesChart" style="height:350px;padding-top:10px;"></div>
</div>
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script src="__JS__/usersLost.js"></script>
<script>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
var dataJson = {"lossplayer":{"loss":{"2016-12-13":9,"2016-12-14":24,"2016-12-15":32,"2016-12-16":28,"2016-12-17":42,"2016-12-18":18,"2016-12-19":18},"lossrate":{"2016-12-13":9,"2016-12-14":35,"2016-12-15":67,"2016-12-16":59,"2016-12-17":45,"2016-12-18":55,"2016-12-19":23}},"lossmoney":{"2016-12-13":13,"2016-12-14":32,"2016-12-15":40,"2016-12-16":37,"2016-12-23":24,"2016-12-24":23,"2016-12-25":23},"losstimes":{"2016-12-13":4,"2016-12-14":8,"2016-12-15":8,"2016-12-16":9,"2016-12-17":4,"2016-12-18":2,"2016-12-26":4}};
var dataJson = {$json_data};
</script>
<switch name='Think.get.d'>
<case value='1'><script>
lossMoneyChart();
</script></case>
<case value='2'><script>
lossTimesChart();
</script></case>
<default />
<script>
lossPlayerChart();
</script>
</switch>
<script>
//导航高亮
highlight_subnav('{:U('stat/userloss')}');
$(function(){
//搜索功能
$("#search").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
var start = $("#time-start").val();
var end = $("#time-end").val();
if(start =='' || end == ''){
layer.msg('请选择搜索时间');
return false;
}
if (start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
var index = $('#generalTabs li.active').attr('data-id');
window.location.href = url+'&d='+index;
});
$("#search1").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
$("#search2").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
pickerPosition:'bottom-left'
})
})
</script>
</block>