| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766 |
- {extend name="layout/content" /}
- {block name="header"}
- <!-- <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
- <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.css"> -->
- <link rel="stylesheet" href="__STATIC__/css/admin/bootstrap.min.css">
- <link rel="stylesheet" href="__STATIC__/css/bootstrap-table.min.css">
- <link rel="stylesheet" href="__STATIC__/lib/Viewer/css/viewer.min.css">
- <link rel="stylesheet" href="__STATIC__/css/FuzzySearch.css?v={$Think.STATIC_VERSION}">
- <title>(子账户)玩家注册归属(子账户)</title>
- <style>
- label {
- padding-top: 10px;
- margin-left: 10px;
- }
- .x-so {
- text-align: unset;
- margin-bottom: 20px;
- }
- section {
- margin-top: 10px;
- display: flex;
- }
- .hide {
- display: none;
- }
- th, tr {
- text-align: center;
- }
- .detail-view td {
- text-align: left;
- }
- .margin-top-10 {
- margin-top: 10px;
- }
- .table > tbody > tr > td,
- .table > tbody > tr > th,
- .table > tfoot > tr > td,
- .table > tfoot > tr > th,
- .table > thead > tr > td,
- .table > thead > tr > th {
- padding: 8px;
- line-height: 1.42857143;
- vertical-align: middle;
- border-top: 1px solid #ddd;
- }
- .showPassword {
- cursor: pointer;
- text-decoration: underline;
- }
- :hover .noLine {
- text-decoration-line: none;
- }
- .layui-inline {
- margin-top: 5px;
- }
- .check_photo + img {
- display: none;
- }
- </style>
- {/block}
- {block name="content"}
- <body>
- <div class="x-body">
- <blockquote class="layui-elem-quote" style="font-size: 13px;">查询数据为 nw_subaccount(子账户表)</blockquote>
- <form class="layui-form" id="submit-form" style="margin-bottom: 10px;">
- <div class="layui-inline">
- <label>游戏状态:</label>
- <div class="layui-input-inline">
- <select name="cooperation_status">
- <option value="">选择游戏状态</option>
- <option value="1" {if condition="$Request.get.cooperation_status eq '1' " }selected="selected" {/if}>已上线</option>
- <option value="2" {if condition="$Request.get.cooperation_status eq 2 " }selected="selected" {/if}>未上线</option>
- </select>
- </div>
- </div>
- <div class="layui-inline">
- <label>商务:</label>
- <div class="layui-input-inline layui-form">
- <select name="tg_business" lay-filter="tg_business" id="tg_business" lay-search>
- <option value="">请选择商务</option>
- </select>
- </div>
- <label>会长:</label>
- <div class="layui-input-inline">
- <select name="tg_president" lay-filter="tg_president" id="tg_president" lay-search>
- <option value="">请选择会长</option>
- </select>
- </div>
- <label>子会长:</label>
- <div class="layui-input-inline">
- <select name="tg_president_son" lay-filter="tg_president_son" id="tg_president_son" lay-search>
- <option value="">请选择子会长</option>
- </select>
- </div>
- <label>推广员:</label>
- <div class="layui-input-inline">
- <select name="tg_promoter" lay-filter="tg_promoter" id="tg_promoter" lay-search>
- <option value="">请选择推广员</option>
- </select>
- </div>
- <div class="layui-inline">
- <label>开始时间:</label>
- <div class="layui-input-inline">
- <input class="layui-input" placeholder="开始日" value="{$start_time}" name="start_time" id="start_time" autocomplete="off" readonly="readonly">
- </div>
- </div>
- <div class="layui-inline">
- <label>结束时间:</label>
- <div class="layui-input-inline">
- <input class="layui-input" placeholder="截止日" value="{$end_time}" name="end_time" id="end_time" autocomplete="off" readonly="readonly">
- </div>
- </div>
- </div>
- <div class="layui-inline">
- <div class="layui-inline">
- <label>关联游戏:</label>
- <div class="layui-input-inline FuzzySearch_Container">
- <div>
- <input type="hidden" id='gameid' name="sub_gameid" value="{$Request.get.sub_gameid}"/>
- </div>
- </div>
- </div>
- <!-- <div class="layui-inline"> -->
- <!-- <label>子账号ID:</label> -->
- <!-- <div class="layui-input-inline"> -->
- <!-- <input class="layui-input" placeholder="请输入子账户ID" name="sub_id" value="{$Request.get.id}"> -->
- <!-- </div> -->
- <!-- </div> -->
- <!-- <div class="layui-inline"> -->
- <!-- <label>子账号名:</label> -->
- <!-- <div class="layui-input-inline"> -->
- <!-- <input class="layui-input" placeholder="请输入子账户名" name="sub_username" value="{$Request.get.id}"> -->
- <!-- </div> -->
- <!-- </div> -->
- <div class="layui-inline">
- <label>注册昵称:</label>
- <div class="layui-input-inline">
- <input class="layui-input" placeholder="请输入注册昵称" name="m_nickname" value="{$Request.get.m_nickname}">
- </div>
- </div>
- <div class="layui-inline">
- <label>注册账号:</label>
- <div class="layui-input-inline">
- <input class="layui-input" placeholder="请输入注册账号" name="m_username" value="{$Request.get.m_username}">
- </div>
- </div>
- <div class="layui-inline">
- <label>账号状态:</label>
- <div class="layui-input-inline">
- <select name="sub_flag" style="">
- <option value="" {eq name="$Request.get.flag" value="" } selected {/eq} >- 请选择状态 -</option>
- <option value="0" {eq name="$Request.get.flag" value="0" } selected {/eq}>正常</option>
- <option value="1" {eq name="$Request.get.flag" value="1" } selected {/eq}>冻结</option>
- </select>
- </div>
- </div>
- <!-- 跳转用 -->
- <div class="layui-inline">
- <input type="hidden" name="page">
- </div>
- <div class="layui-inline">
- <button class="layui-btn mg_L" id="J_search_submit" lay-submit lay-filter="">查询</button>
- <a href="{:url()}" class="layui-btn layui-btn-primary">重置</a>
- <a class="layui-btn layui-btn-normal download" data-url="1" href="javascript:;">下载报表</a>
- <!-- <a class="layui-btn layui-btn-normal download" data-url="2" href="javascript:;">下载报表(高级)</a>-->
- <a href="{$jh_url}" class="layui-btn" target="_blank">查看聚合数据</a>
- </div>
- <!--<input type="text" name="complex_username" placeholder="请输入聚合账号" autocomplete="off" value="{$Request.get.complex_username}" class="layui-input mg_L">-->
- </div>
- <!--
- <p style="margin-top:10px;">
- <span style="color: red">*</span><a class="noLine" style="color: #666"> 单次查询日期的最长跨度为31天</a>
- </p>
- -->
- </form>
- <!-- <table class="layui-table"> data-toolbar="#toolbar"-->
- <table id="objTable" data-detail-view="true" data-detail-formatter="detailFormatter">
- <thead class="handleThead">
- <tr>
- <th><input type="checkbox" name="check_all" value="1"></th>
- <th>子账号ID</th>
- <th>主账号ID</th>
- <th>主账号名</th>
- <th>昵称</th>
- <th>游戏ID</th>
- <th>游戏名称</th>
- <th>累充金额</th>
- <th>账号状态</th>
- <th>是否实名</th>
- <th>推广员账号</th>
- <th>子会长</th>
- <th>公会账号</th>
- <th>商务账号</th>
- <th>注册时间</th>
- <th>最近登录时间</th>
- <th>操作</th>
- <th class="hide">imeil码</th>
- <th class="hide">累积充值次数</th>
- <th class="hide">角色名</th>
- <th class="hide">区服</th>
- <th class="hide">等级</th>
- <th class="hide">IP</th>
- </tr>
- </thead>
- <tbody id="viewer_wrap">
- {notempty name="list"} {volist name="list" id="vo"}
- <tr>
- <td><input type="checkbox" name="check_item" value="{$vo.id}"></td>
- <td>{$vo.id}</td>
- <td>{$vo.mid}</td>
- <td>{$vo.username}</td>
- <td>{$vo.nickname}</td>
- <td>{$vo.gameid}</td>
- <td>{$game_list[$vo.gameid]??''}</td>
- <td>{$vo.total_pay_amount}</td>
- <td class="account_status">
- {if condition="$vo['flag'] eq 0"}
- <span class="layui-btn layui-btn-radius layui-btn-normal">正常</span>
- {else}
- <span class="layui-btn layui-btn-radius layui-btn-danger">冻结</span>
- {/if}
- </td>
- <td class="account_status">
- {if condition="$vo['real_name'] neq ''"}
- <span class="layui-btn layui-btn-radius layui-btn-normal">是</span>
- {else}
- <span class="layui-btn layui-btn-radius layui-btn-danger">否</span>
- {/if}
- </td>
- <td>{$vo.channel_three_name}</td>
- <td>{$vo.channel_two_name}</td>
- <td>{$vo.channel_one_name}</td>
- <td>{$vo.channel_zero_name}</td>
- <td>{:date('Y-m-d H:i:s',$vo.create_time)}</td>
- <td>{if condition="$vo['login_time'] gt 0"}{:date('Y-m-d H:i:s',$vo.login_time)}{else}-{/if}</td>
- <td class="td-manage" style="text-align: left;">
- <!-- <a title="查看" href="{:url('Member/updatePassword',['id'=>$vo.mid])}"> -->
- <!-- <i class="layui-icon"></i>修改密码 -->
- <!-- </a> -->
- <a href="javascript:;" onclick="sendFrozenRequest({$vo.id}, {$vo.flag===0 ? 1 : 2})">
- {if condition="$vo['flag'] eq 0"}
- <i class="layui-icon"></i><span>冻结账号</span>
- {else}
- <i class="layui-icon" style="color:#FF5722;"></i><span style="color:#FF5722;">解冻账号</span>
- {/if}
- </a>
- <!-- {if condition="$vo['real_name'] neq ''"} -->
- <!-- <a href="javascript:;" onclick="member_clear(this,'{:url(\'clearRealName\',[\'id\'=>$vo.mid])}')" -->
- <!-- title="清空实名"> -->
- <!-- <i class="layui-icon"></i> 清空实名 -->
- <!-- </a> -->
- <!-- {/if} -->
- </td>
- <td>{$vo.imeil}</td>
- <td>{$vo.total_pay_cnt}</td>
- <td>{$vo.rolename}</td>
- <td>{$vo.servername}</td>
- <td>{$vo.rolelevel}</td>
- <td>{$vo.ip}</td>
- </tr>
- {/volist}
- {else/}
- <tr>
- <td colspan="20" style="text-align: center;">暂无数据</td>
- </tr>
- {/notempty}
- </tbody>
- </table>
- <div class="demoTable margin-top-10">
- <button class="layui-btn layui-btn-danger" data-type="getCheckData" id="multi_frozen">批量冻结</button>
- <button class="layui-btn layui-btn-normal" data-type="getCheckData" id="multi_unfrozen">批量解冻</button>
- </div>
- <div class="pager-container margin-top-10">
- <span>
- {$total}条记录
- </span>
- {$page}
- <div class="layui-inline" style="margin:0;margin-left:10px;width:80px;">
- <input type="text" style="height: 30px;" class="layui-input" placeholder="跳转至" name="page_show"
- onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')">
- </div>
- </div>
- </div>
- </body>
- {/block} {block name="footer"}
- <script type="text/javascript" src="__STATIC__/js/admin/bootstrap.min.js"></script>
- <!-- <script type="text/javascript" src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.js"></script> -->
- <script type="text/javascript" src="__STATIC__/js/bootstrap-table.min.js"></script>
- <script type="text/javascript" src="__STATIC__/js/FuzzySearch.js?v={$Think.STATIC_VERSION}"></script>
- <script type="text/javascript" src="__STATIC__/lib/Viewer/js/viewer.min.js"></script>
- <script>
- $(document).ready(function() {
- $(".handleThead tr").find("th:eq(6)").hide()//隐藏表头
- $("#viewer_wrap tr").find("td:eq(6)").hide();//隐藏表头下面对应的子集
- })
- $("#gameid").FuzzySearch({
- inputID: 'gameid',
- title: '请输入游戏名称',
- data: {:json_encode($glist)},
- searchBtn:'J_search_submit'
- });
- var $table = $('#objTable');
- $table.bootstrapTable({});
- // $("#J_search_submit").on("mouseover",function () {
- // var page=$("input[name=page_show]").val();
- // if(page!=""){
- // $("input[name=page]").val(page);
- // }
- // })
- $("#J_search_submit").on("mouseover", function () {
- if ($("input[name=page_show]").val() !== "") {
- var page_show = $("input[name=page_show]").val();
- $("input[name=page]").val(page_show)
- }
- })
- $(document).keydown(function (event) {
- if (event.keyCode == 13) {
- if ($("input[name=page_show]").val() !== "") {
- var page_show = $("input[name=page_show]").val();
- $("input[name=page]").val(page_show)
- }
- $("#submit-form").submit()
- }
- });
- layui.use(['laydate', 'form'], function () {
- var laydate = layui.laydate;
- var form = layui.form;
- var starttime = laydate.render({
- elem: '#start_time',
- type: 'date',
- format: 'yyyy-MM-dd',
- done: function (value, dates) {
- endtime.config.min = {
- year: dates.year,
- month: dates.month - 1, //关键
- date: dates.date,
- hours: 0,
- minutes: 0,
- seconds: 0
- };
- }
- });
- var endtime = laydate.render({
- elem: '#end_time',
- type: 'date',
- format: 'yyyy-MM-dd',
- done: function (value, dates) {
- starttime.config.max = {
- year: dates.year,
- month: dates.month - 1, //关键
- date: dates.date,
- hours: 0,
- minutes: 0,
- seconds: 0
- }
- }
- });
- // // 页面渲染后,在加载渠道,提升速度
- // window.onload = function () {
- // $.getJSON("{:url('ajaxGetChannel')}", function (result) {
- // if (result.code) {
- // var html = '';
- //
- // for (var i in result.data) {
- // var item = result.data[i];
- // html += '<option value="' + item.id + '">' + item.name + '</option>';
- // }
- //
- // if (html) {
- // $("select[name='channel_id']").append(html);
- // form.render('select', 'channel');
- // }
- // }
- // });
- // };
- // ## 推广四级下拉 ##
- var businessType = getQueryVariable("tg_business"),
- president_type = getQueryVariable("tg_president"),
- president_type_son = getQueryVariable("tg_president_son"),
- promoter_type = getQueryVariable("tg_promoter");
- // 初始化下拉
- getChannelSelectData('sw', '', businessType);
- getChannelSelectData('hz', businessType, president_type);
- getChannelSelectData('zhz', president_type, president_type_son);
- getChannelSelectData('tgy', president_type_son, promoter_type);
- form.render('select');
- /**
- * 获取下拉数据
- * @param type sw=商务/hz=会长/zhz=子会长/tgy=推广员
- * @param pid 上级ID
- * @param select_id 选中ID
- */
- function getChannelSelectData(type = 'sw', pid = '', select_id = ''){
- $.ajax({
- type: "GET",
- url: '{:url("Channel/getSelectList")}',
- dataType: "json",
- async: false,
- data: {'type': type,'pid': pid},
- success: function (res) {
- var listData = res.data || [];
- var $select, defaultText;
- if (type === 'sw'){
- $select = $("#tg_business");
- defaultText = "请选择商务";
- }else if (type === 'hz'){
- $select = $("#tg_president");
- defaultText = "请选择会长";
- }else if (type === 'zhz'){
- $select = $("#tg_president_son");
- defaultText = "请选择子会长";
- }else if (type === 'tgy'){
- $select = $("#tg_promoter");
- defaultText = "请选择推广员";
- }
- if ($select) {
- var html = ["<option value=''>" + defaultText + "</option>"];
- $.each(listData, function (i, item) {
- var selected = (item.id == select_id) ? " selected" : "";
- html.push("<option value='" + item.id + "'" + selected + ">" + item.name + "</option>");
- });
- $select.html(html.join(''));
- }
- },
- });
- }
- // 获取指定URL的参数值
- function getQueryVariable(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r != null) return unescape(r[2]);
- return null;
- }
- form.on('select(tg_business)', function (data) {
- if (data.value > 0){
- getChannelSelectData('hz', data.value, businessType);
- }else{
- getChannelSelectData('hz');
- getChannelSelectData('zhz');
- getChannelSelectData('tgy');
- }
- form.render('select');
- });
- form.on('select(tg_president)', function (data) {
- if (data.value > 0){
- getChannelSelectData('zhz', data.value, president_type);
- }else{
- getChannelSelectData('zhz');
- }
- form.render('select');
- });
- form.on('select(tg_president_son)', function (data) {
- if (data.value > 0){
- getChannelSelectData('tgy', data.value, promoter_type);
- }else{
- getChannelSelectData('tgy');
- }
- form.render('select');
- });
- });
- /**
- * 下载
- */
- $('.download').on('click', function (event) {
- var start_time = $('#start_time').val();
- var end_time = $('#end_time').val();
- /*
- if (!end_time || !start_time) {
- layer.msg('请选择开始时间和结束时间');
- return;
- }*/
- /*
- if ((CompareDate(start_time, end_time)) > 7) {
- layer.msg('请选择7天以内的时间范围');
- return;
- }*/
- var url = $(this).data('url');
- var urlData = '';
- if (url == 1) {
- urlData = "{:url('downloadSub')}";
- // } else if (url == 2) {
- // urlData = "{:url('registDowmExcel')}";
- } else {
- layer.msg('参数错误!');
- return;
- }
- $.ajax({
- type: "post",
- url: urlData,
- async: false,
- data: $('.layui-form').serialize(),
- dataType: 'json',
- timeout: 5000,
- success: function (data) {
- if (data['code']) {
- layer.alert(data['msg']);
- } else {
- layer.alert(data['msg']);
- }
- },
- error: function () {
- layer.alert('网络错误,请重试');
- },
- });
- });
- var inputs = document.querySelectorAll('input[type=checkbox]');
- // 【全选】
- function checkAll() {
- var num = 0;
- for (var i = 1; i < inputs.length; i++) {
- // 如果当前选框被选中,那么个数+1
- if (inputs[i].checked == true) {
- num++;
- }
- }
- inputs[0].checked = (checked === inputs.length - 1);
- }
- // 对【全选】input做监听 更改全选/非全选状态和文字
- inputs[0].onclick = function () {
- for (var i = 1; i < inputs.length; i++) {
- // 将全选框的状态赋给每一个选项框
- inputs[i].checked = this.checked;
- }
- // 改状态
- checkAll();
- };
- // 对每一个input做监听事件
- for (var i = 1; i < inputs.length; i++) {
- inputs[i].onclick = function () {
- // 改状态
- checkAll();
- }
- }
- /**
- * 发送冻结/解冻请求并处理结果
- * @param flag 类型(2=解冻、1=冻结)
- * @param data 请求参数
- */
- function sendFrozenRequest(ids, flag) {
- layer.prompt({
- formType: 2,
- value: '',
- title: '请输入值“备注”(非必填)',
- // area: ['800px', '350px'] //自定义文本域宽高
- yes:function(index,layero){
- var value = layero.find('.layui-layer-input').val() || "";
- console.log("# flag="+flag+", ids="+ids+", msg="+value)
- layer.close(index);
- $.getJSON("{:url('subaccountFrozenHandle')}", {ids:ids, flag:flag, remark:value}, function (result) {
- if (result.code) { // 成功
- layer.msg(result.msg, {
- icon: 1,
- time: 1000,
- shade: 0.4
- }, function () {
- if (result.url) {
- location.href = result.url;
- } else {
- window.location.reload();
- }
- });
- } else { // 失败
- layer.msg(result.msg, {
- icon: 2,
- time: 1000,
- shade: 0.4
- });
- }
- });
- }
- });
- }
- // 批量解冻
- $('#multi_unfrozen').on('click', function () {
- var ids = getCheckedId();
- if (!ids) {
- layer.msg('请先选择账号');
- return false;
- }
- sendFrozenRequest(ids, 2);
- });
- // 批量冻结
- $('#multi_frozen').on('click', function () {
- var ids = getCheckedId();
- if (!ids) {
- layer.msg('请先选择账号');
- return false;
- }
- sendFrozenRequest(ids, 1);
- });
- /**
- * 获取选中id
- * @returns {string}
- */
- function getCheckedId() {
- var ids = '';
- var tbody = document.querySelector('#viewer_wrap');
- if (!tbody) return ids;
- var items = tbody.querySelectorAll('input[type=checkbox][name=check_item]');
- for (var i = 0; i < items.length; i++) {
- if (items[i].checked) {
- ids ? ids += ',' : '';
- ids += items[i].value;
- }
- }
- return ids;
- }
- function detailFormatter(index, row) {
- // console.log(row);
- var html = [];
- var obj = {
- 0: "", //checkbox要算入
- 1: "用户ID",
- 2: "注册账号",
- 3: "用户昵称",
- 4: "头像",
- 5: "游戏名称",
- 6: "累充金额",
- 7: "账号状态",
- 8: "推广员账号",
- 9: "公会账号",
- 10: '商务账号',
- 11: "注册时间",
- 12: "最近登录时间",
- 13: "操作",
- 14: "imeil码",
- 15: "累积充值次数",
- 16: "角色名",
- 17: "区服",
- 18: "等级",
- 19: "IP"
- }
- $.each(row, function (key, value) {
- if (key == 14 || key == 15 || key == 16 || key == 17 || key == 18 || key == 19) {
- html.push('<p><b>' + obj[key] + ':</b> ' + value + '</p>');
- } else {
- html.push('<p class="hide"><b>' + obj[key] + ':</b> ' + value + '</p>');
- }
- });
- console.log(html)
- return html.join('');
- }
- // 查看明文 -- 已不用
- $(".showPassword").click(function (event) {
- var id = $(this).data('id');
- var _that = $(this);
- $.ajax({
- type: "post",
- url: "{:url('indexPassword')}",
- /*async: false,*/
- data: {'id': id},
- dataType: 'json',
- /*timeout: 5000,*/
- success: function (data) {
- if (data['code']) {
- _that.text(data['data']);
- } else {
- layer.alert(data['msg']);
- }
- },
- error: function () {
- layer.alert('网络错误,请重试');
- },
- });
- })
- var viewer = new Viewer(document.getElementById('viewer_wrap'), {
- url: 'data-original'
- });
- $(document).ready(function () {
- $(".check_photo").on("click", function () {
- $(this).siblings().click()
- })
- });
- </script>
- {/block}
|