<extend name="Public/base"/> <block name="css"> <link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" /> <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;} .bindcoinsbox {height:33px;line-height:37px;} .bindcoinsbox .radio {cursor:pointer;} .bindcoinsbox .radio input {cursor:pointer;} </style> </block> <block name="body"> <style>.button_list2 { margin: 9px 0; margin: 5px 0 32px; margin-right: 15px; }</style> <script type="text/javascript" src="__JS__/bootstrap.min.js"></script> <script type="text/javascript" src="__JS__/select2.min.js"></script> <div class="cf main-place top_nav_list navtab_list"> <h3 class="page_title">用户分析</h3> <p class="description_text"></p> <div class="keywords_information"> <i class="keywords_mark"><span>关键词说明</span></i> <ul class="keywords_content"> <li class="keywords_title">关键词说明<a href="javascript:;" class="keywords_close">X</a></li> <li class="keywords_list"> <span class="">DAU</span> <span class="">(Daily Active User) 日活跃用户数量,即每日登录平台或游戏的用户数,同一用户去重</span> </li> <li class="keywords_list"> <span class="">WAU</span> <span class="">(Week Active User) 周活跃用户数量,即截止当日,最近一周[含当日的7天]登录过平台或游戏的用户数,同一用户去重</span> </li> <li class="keywords_list"> <span class="">MAU</span> <span class="">(Month Active User) 月活跃用户数量,即截止当日,最近一个月[含当日的30天]登录过平台或游戏的用户数,同一用户去重</span> </li> </ul> </div> </div> <div class="cf jssearch top_nav_list"> <!-- 高级搜索 --> <div class=" fl cf search_list"> <div class="input-list search-title-box"> <label>搜索:</label> </div> <div class="input-list"> <input type="text" id="time-start" name="start" class="" value="{:I('start')}" placeholder="选择开始时间" /> - <input type="text" id="time-end" name="end" class="" value="{:I('end')}" placeholder="选择结束时间" /> </div> <div class="input-list input-list-game search_label_rehab"> <select id="game_id" name="game_id" class="select_gallery"> <option value="">请选择游戏</option> <volist name=":get_game_list()" id="vo"> <option game-id="{$vo.game_name}" value="{$vo.id}">{$vo.game_name}</option> </volist> </select> </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(1)" id="vo"> <option promote-id="{$vo.account}" value="{$vo.id}">{$vo.account}</option> </volist> </select> </div> <input type="hidden" name="" value="" class="sortBy"> <div class="input-list"> <a class="sch-btn" href="javascript:;" id="search" url="{:U('stat/user','model='.$model['name'].'&row='.I('row'),false)}">搜索</a> </div> </div> </div> <!-- 数据列表 --> <div class="data_list"> <div class=""> <table> <!-- 表头 --> <thead> <tr> <th>日期</th> <th>来源游戏</th> <th>推广员</th> <th>新增用户</th> <th>老用户</th> <th>DAU</th> <th>WAU</th> <th>MAU</th> </tr> </thead> <!-- 列表 --> <tbody> <empty name ="data"> <tr><td colspan="8" class="text-center">aOh! 暂时还没有内容!</td></tr> <else/> <volist name="data" id="vo"> <tr> <td>{$vo.time}</td> <td>{$game_source}</td> <td>{$promote_account}</td> <td>{$vo.news}</td> <td>{$vo.old}</td> <td>{$vo.dau}</td> <td>{$vo.wau}</td> <td>{$vo.mau}</td> </tr> </volist> </empty> </tbody> </table> </div> </div> <div class="page"> <a class="sch-btn" href="{:U('Export/user',array( 'start'=>I('start',date('Y-m-d',strtotime('-7 day'))), 'end'=>I('end',date('Y-m-d',strtotime('-1 day'))), 'game_id'=>$_GET['game_id'], 'promote_id'=>$_GET['promote_id'], 'xlsname'=>'数据分析_用户分析' ),false)}">导出</a> {$_page|default=''} </div> </block> <block name="script"> <script> Think.setValue('start',"{$Think.get.start|default=''}"); Think.setValue('end',"{$Think.get.end|default=''}"); Think.setValue('promote_id',{$Think.get.promote_id|default='""'}); Think.setValue('game_id',{$Think.get.game_id|default='""'}); Think.setValue('row',{$Think.get.row|default='10'}); $(".select_gallery").select2(); </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 type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script> <script src="__STATIC__/layer/layer.js" type="text/javascript"></script> <script type="text/javascript"> //导航高亮 highlight_subnav('{:U('stat/user')}'); $(function(){ //计算天数差的函数,通用 function GetDateDiff(startDate,endDate) { var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime(); var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime(); var dates = Math.abs((startTime - endTime))/(1000*60*60*24); return dates; } //搜索功能 $("#search").click(function(){ var start = $("#time-start").val(); start = start.substring(0,19); var end = ($("#time-end").val() == "") ? "{:date('Y-m-d')}" : $("#time-end").val(); end = end.substring(0,19); var interval = GetDateDiff(start,end); if(interval < 0 || start == ''){ layer.msg('请选择搜索时间'); return false; }else if(interval>90){ layer.msg('请选择90日内的时间段'); return false; } 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; } if (start !='' && end != ''){ if (Date.parse(start) > Date.parse(end)){ layer.msg('开始时间必须小于等于结束时间'); return false; } } window.location.href = url; }); $(".paixu").click(function(){ var that=$(this); $data_order=that.attr('data-order'); $order_type='{$userarpu_order}'; if($order_type==''||$order_type=='4'){ $(".sortBy").attr('name','data_order'); val='3,'+$data_order; $(".sortBy").attr('value',val); $("#search").click(); }else if($order_type=='3'){ $(".sortBy").attr('name','data_order'); val='4,'+$data_order; $(".sortBy").attr('value',val); $("#search").click(); } }); //回车自动提交 $('.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:1, }); $('#time-end').datetimepicker({ format: 'yyyy-mm-dd', language:"zh-CN", minView:2, autoclose:1,endDate:new Date(new Date().getTime()), pickerPosition:'bottom-right' }); $(".chakan").click(function () { that = $(this); url = that.attr('href-url'); timetitle = that.attr('timetitle'); ptitle = ' ' + that.attr('ptitle') + ' '; layer.open({ type: 2, title: false, closeBtn: 0, //不显示关闭按钮 shade: [0], area: ['1px', '1px'], offset: 'rb', //右下角弹出 time: 1, // 秒后自动关闭 这里设置成1ms 不显示过度页面 anim: 2, content: ['', 'no'], //iframe的url,no代表不显示滚动条 end: function () { // layer.open({ type: 2, title: timetitle + ptitle + '游戏数据', shadeClose: true, shade: false, maxmin: true, //开启最大化最小化按钮 area: ['50%', '45%'], content: url//iframe的url }); } }); }); $("#game").on('click',function(event) { var navlist = $(this).find('.i_list_li'); if (navlist.hasClass('hidden')) { navlist.removeClass('hidden'); $(this).find('#i_list_id').focus().val(''); } else { navlist.addClass('hidden'); } $(document).one("click", function(){ navlist.addClass('hidden'); }); event.stopPropagation(); }); $('#game #i_list_id').on('keyup',function(event) { var val = $.trim($(this).val()).toLowerCase(); $(this).closest('.drop-down').find('#i_list_idh').val(val); }); $("#game #i_list_li").find("a").each(function(){ $(this).click(function(){ var text = $.trim($(this).text()).toLowerCase(); var val = $.trim($(this).attr('value')); $(this).closest('.drop-down').find("#i_list_id").val(text); $(this).closest('.drop-down').find('#i_list_idh').val(val); }) }); $("#promote").on('click',function(event) { var navlist = $(this).find('.i_list_li'); if (navlist.hasClass('hidden')) { navlist.removeClass('hidden'); $(this).find('#i_list_id').focus().val(''); } else { navlist.addClass('hidden'); } $(document).one("click", function(){ navlist.addClass('hidden'); }); event.stopPropagation(); }); $('#promote #i_list_id').on('keyup',function(event) { $(this).closest('.drop-down').find('#i_list_idh').val(-1); }); $("#promote #i_list_li").find("a").each(function(){ $(this).click(function(){ var text = $.trim($(this).text()).toLowerCase(); $(this).closest('.drop-down').find("#i_list_id").val(text); $(this).closest('.drop-down').find('#i_list_idh').val($(this).attr('value')); }) }); }) </script> </block>