<extend name="Public/promote_base"/> <block name="css"> <link href="__CSS__/20180207/account.css" rel="stylesheet" > <link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/font-awesome/4.6.0/css/font-awesome.min.css"> <link href="__CSS__/transfer.css" rel="stylesheet" > </block> <block name="body"> <div class="page-list normal_list promote-mychlid-list"> <div class="trunk-title"> <div class="location"> <div class="location-container">当前位置:<span>管理中心></span><span>{$promoteTypeName}管理</span></div> </div> <img src="__IMG__/20180207/icon_normal_ziqudao.png"> <span class="title_main">{$promoteTypeName}管理</span> </div> <div class="trunk-content article"> <div class="trunk-search clearfix jssearch"> <input type="hidden" name="promote_type" value="{:I('promote_type', 0)}"> <div class="form-group fl normal_space"> <a href="{:U('Promote/addPromote', ['promote_type' => I('promote_type', 0)])}" class="submit btn" style="line-height: 25px"><i class="add_qudao"></i><span>添加{$promoteTypeName}</span></a> </div> <div class="form-group fr"> <input type="submit" class="submit" id='submit' url="{:U('Promote/children','model='.$model['name'],false)}" value="查询"> </div> <div class="form-group fr normal_space"> <select name="status" class="reselect select_gallery" style="width: 220px;" > <option value="all">请选择状态</option> <option value="1" <if condition="I('status') === '1'">selected</if>>启用</option> <option value="2" <if condition="I('status') === '2'">selected</if>>冻结中</option> </select> </div> <?php if($parents):?> <div class="form-group fr normal_space"> <select name="parent_id" class="reselect select_gallery" style="width: 220px;" > <option value="0">请选择上级</option> <?php foreach($parents as $parent):?> <option value="<?=$parent['id']?>" <?php if(I('parent_id')==$parent['id']):?>selected<?php endif;?>><?=$parent['account']?>(<?=$parent['real_name']?>)</option> <?php endforeach;?> </select> </div> <?php endif;?> <div class="form-group fr normal_space"> <input type="text" name="real_name" class="txt normal_txt" id="uid" placeholder="请输入姓名" value="{:I('real_name')}"> </div> <div class="form-group fr normal_space"> <input type="text" name="mobile" class="txt normal_txt" id="uid" placeholder="请输入手机号" value="{:I('mobile')}"> </div> <div class="form-group fr normal_space"> <input type="text" name="idcard" class="txt normal_txt" id="uid" placeholder="请输入身份证" value="{:I('idcard')}"> </div> <div class="form-group fr normal_space"> <input type="text" name="account" class="txt normal_txt" id="uid" placeholder="请输入帐号" value="{:I('account')}"> </div> </div> <div class="trunk-list list_normal"> <table class="table normal_table"> <tr class="odd"> <th>ID</th> <th>帐号</th> <th>真实姓名</th> <th>身份证</th> <th>手机号</th> <th>上级渠道</th> <th>昵称</th> <th>帐号状态</th> <th>创建时间</th> <th>操作</th> </tr> <empty name="records"> <tr><td colspan="10" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr> <else /> <volist name="records" id="record" mod="2"> <tr data-id="{$record.id}" data-parent-id="{$record.parent_id}" class="<eq name='mod' value='1'>odd</eq>"> <td>{$record.id}</td> <td class="account">{$record.account}</td> <td class="real-name">{$record.real_name}</td> <td>{$record.idcard}</td> <td>{$record.mobile_phone}</td> <td>{$record.parent_name}</td> <td>{$record.nickname}</td> <td> <if condition="$record['status'] eq 0"> <span class="status_close">审核中</span> <elseif condition="$record['status'] eq 1"/> 启用 <elseif condition="$record['status'] eq 2"/> <span class="status_close">冻结中</span> <else /> <span class="status_close">未知状态</span> </if> </td> <td>{$record.create_time|date='Y-m-d H:i:s',###}</td> <td> <a href="{:U('Promote/edit_chlid',['id'=>$record['id'],'promote_type'=>$promoteType])}" class="editbtn">修改</a> <if condition="$record['status'] eq 1"> <a href="javascript:;" class="froze-btn editbtn">冻结</a> <elseif condition="$record['status'] eq 2"/> <a href="javascript:;" style="color: red;" class="unfreeze-btn editbtn">解冻</a> </if> <a href="javascript:;" class="reset-password-btn editbtn">重置密码</a> <?php if(in_array($record['id'], $hasChildList)):?> <?php if(!in_array($record['id'], $hasShiftList)):?> <a href="javascript:;" class="shift-btn editbtn" data-promote-shift-type="1">渠道迁移</a> <?php else:?> <a href="javascript:;" style="color: red;" data-promote-shift-type="1" class="cancel-shift-btn editbtn">取消渠道迁移</a> <?php endif;?> <?php endif;?> <?php if(false && in_array($record['id'], $hasPlayerList)):?> <?php if(!in_array($record['id'], $hasShiftPlayerList)):?> <a href="javascript:;" class="shift-player-btn editbtn">玩家迁移</a> <?php else:?> <a href="javascript:;" style="color: red;" class="cancel-shift-player-btn editbtn">取消玩家迁移</a> <?php endif;?> <?php endif;?> </td> </tr> </volist> </empty> </table> </div> <div class="pagenation clearfix"> <?php if ($loginer['level'] !== 4) :?> <a id="sch-btn" href="{:U('download/children_data_export',array_merge(['promote_type'=>I('promote_type')],I('get.')))}" class="ajax-get" >导出</a> <?php endif ;?> {$pagination} </div> </div> <div class="page-explain promote-mychlid-explain"> <div class="trunk-content article border_normal"> <!-- <table class="desccontent"> <tr><td class="title" style="width: 100px;display: inline-block;">二级渠道说明:</td><td class="det">推广员默认为一级渠道,一级渠道可通过推广员后台新增二级渠道;二级渠道由一级渠道管理开启权限,并由一级渠道给二级渠道结算,结算可到财务管理操作。</td></tr> </table>--> </div> </div> </div> <script> setValue('row','{:I("get.row",10)}'); </script> <div id="shift-box" class="layer-box" style="display: none;"> <form method="post" enctype="multipart/form-data"> <input type="hidden" name="promote_id" value=""> <input type="hidden" name="parent_id" value=""> <div class="form-group"> <label>账号(真实姓名)</label> <div class="form-item"> <p class="static-input show-account"></p> </div> </div> <div class="form-group"> <label>转移至推广账号</label> <div class="form-item"> <select id="promote-to-promote" name="to_promote_id" class="reselect select_gallery" style="width: 220px;" > <option value="0">请选择推广账号</option> </select> </div> </div> <div class="form-group"> <label>指定订单日期</label> <div class="form-item"> <input type="text" id="shift-order-time" autocomplete="off" class="form-input" name="order_time" placeholder="订单日期"" value="" style="width: 199px;"> </div> </div> <div class="form-group" style="display:none"> <label>平台币管理</label> <div class="form-item"> <label class="radio-item"><input type="radio" value="1" name="balance_coin_mode" checked> 平台币平移最高账户</label> <label class="radio-item"><input type="radio" value="2" name="balance_coin_mode"> 平台币清零</label> </div> </div> <?php if(I('promote_type', 0) != 2):?> <div class="form-group"> <label>迁移方式</label> <div class="form-item"> <label class="radio-item"><input type="radio" value="1" name="shift_mode" checked> 全部迁移</label> <label class="radio-item"><input type="radio" value="2" name="shift_mode"> 部分迁移</label> </div> </div> <div id="shift-transfer" class="form-group" style="display: none;"> <include file="Public/transfer" /> </div> <?php endif;?> <div class="form-group"> <label></label> <a id="shift-submit" href="javascript:;" class="shift-submit btn">确定</a> </div> </form> </div> <div id="shift-player-box" class="layer-box" style="display: none;"> <form method="post" enctype="multipart/form-data"> <input type="hidden" name="promote_id" value=""> <div class="form-group"> <label>账号(真实姓名)</label> <div class="form-item"> <p class="static-input show-account"></p> </div> </div> <div class="form-group"> <label>转移至推广账号</label> <div class="form-item"> <select id="player-to-promote" name="to_promote_id" class="reselect select_gallery" style="width: 220px;" > <option value="0">请选择推广账号</option> </select> </div> </div> <div class="form-group"> <label>指定订单日期</label> <div class="form-item"> <input type="text" id="shift-player-order-time" autocomplete="off" class="form-input" name="order_time" placeholder="订单日期"" value="" style="width: 199px;"> </div> </div> <div class="form-group"> <label></label> <a id="shift-player-submit" href="javascript:;" class="shift-submit btn">确定</a> </div> </form> </div> </block> <block name="script"> <script type="text/javascript" src="__JS__/20170831/select2.min.js"></script> <link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css"> <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__/vue.js"></script> <script src="__JS__/transfer.js"></script> <script type="text/javascript"> $(function(){ $(".select_gallery").select2(); var promoteType = $('input[name=promote_type]').val() var level = 0 var subLevel = 0 if (promoteType == 0) { level = 2 subLevel = 3 } else if (promoteType == 1) { level = 3 subLevel = 4 } else if (promoteType == 2) { level = 3 } $('#submit').click(function () { var url = $(this).attr('url'); console.log(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; } window.location.href = url; }); getSubPromotes({level: level}, function(response) { var options = '<option value="0">请选择推广账号</option>' for (var i in response.data.promotes) { var promote = response.data.promotes[i] options += '<option value="' + promote.id + '">' + promote.account + '(' + promote.real_name + ')' + '</option>' } $('#promote-to-promote').html(options) }) getSubPromotes({level: 0}, function(response) { var options = '<option value="0">请选择推广账号</option>' for (var i in response.data.promotes) { var promote = response.data.promotes[i] options += '<option value="' + promote.id + '">' + promote.account + '(' + promote.real_name + ')' + '</option>' } $('#player-to-promote').html(options) }) $('[name=shift_mode]').on({ click: function () { if ($(this).val() == 2) { $('#shift-transfer').show() $('#shift-transfer').css({display: 'block'}) } else { $('#shift-transfer').hide() } } }) function getSubPromotes(data, successCallback) { $.ajax({ url: "{:U('Promote/getSubPromotes')}", data: data, type: 'post', dataType: 'json', success: function(response) { successCallback(response) } }) } $('#shift-player-order-time').datetimepicker({ format: 'yyyy-mm-dd', language:"zh-CN", minView:2, autoclose:true, scrollMonth:false, scrollTime:false, scrollInput:false }); $('#shift-order-time').datetimepicker({ format: 'yyyy-mm-dd', language:"zh-CN", minView:2, autoclose:true, scrollMonth:false, scrollTime:false, scrollInput:false }); $('.reset-password-btn').on({ click: function() { var id = $(this).parents('tr').eq(0).attr('data-id') layer.confirm('是否确认重置密码?', {icon: 3, title:'提示'}, function(index){ $.ajax({ url: "{:U('Promote/resetPassword')}", data: {promote_id: id}, type: 'post', dataType: 'json', success: function(response) { layer.close(index) if (response.status == 1) { layer.open({ content: '重置密码成功,您的新密码为:' + response.data.password }) } else { layer.msg(response.msg) } } }) }) } }) $('.froze-btn').on({ click: function() { var id = $(this).parents('tr').eq(0).attr('data-id') layer.confirm('是否确认冻结帐号?', {icon: 3, title:'提示'}, function(index){ $.ajax({ url: "{:U('Promote/froze')}", data: {promote_id: id}, type: 'post', dataType: 'json', success: function(response) { layer.msg(response.msg, {time: 1000}, function() { window.location.href = window.location.href }) } }) }) } }) $('.unfreeze-btn').on({ click: function() { var id = $(this).parents('tr').eq(0).attr('data-id') layer.confirm('是否确认解冻帐号?', {icon: 3, title:'提示'}, function(index){ $.ajax({ url: "{:U('Promote/unfreeze')}", data: {promote_id: id}, type: 'post', dataType: 'json', success: function(response) { layer.msg(response.msg, {time: 1000}, function() { window.location.href = window.location.href }) } }) }) } }) function getShiftTypeName(shiftType) { var shiftTypeName = '' if (shiftType == 1) { shiftTypeName = '渠道迁移' } else if (shiftType == 2) { shiftTypeName = '换组' } return shiftTypeName } $('.cancel-shift-btn').on({ click: function() { var tr = $(this).parents('tr').eq(0) var id = tr.attr('data-id') var parentId = tr.attr('data-parent-id') var shiftType = $(this).attr('data-promote-shift-type') var shiftTypeName = getShiftTypeName(shiftType) layer.confirm('是否要取消' + shiftTypeName, {icon: 3, title:'提示'}, function(index){ $.ajax({ url: "{:U('Promote/cancelShift')}", data: {promote_id: id, type: 1}, type: 'post', dataType: 'json', success: function(response) { layer.msg(response.msg, {time: 1000}, function() { window.location.href = window.location.href }) } }) }) } }) $('.cancel-shift-player-btn').on({ click: function() { var id = $(this).parents('tr').eq(0).attr('data-id') layer.confirm('是否要取消玩家迁移?', {icon: 3, title:'提示'}, function(index){ $.ajax({ url: "{:U('Promote/cancelShift')}", data: {promote_id: id, type: 2}, type: 'post', dataType: 'json', success: function(response) { layer.msg(response.msg, {time: 1000}, function() { window.location.href = window.location.href }) } }) }) } }) $('.shift-btn').on({ click: function() { var shiftType = $(this).attr('data-promote-shift-type') var shiftTypeName = getShiftTypeName(shiftType) var box = $('#shift-box') var tr = $(this).parents('tr').eq(0) var id = tr.attr('data-id') var parentId = tr.attr('data-parent-id') getSubPromotes({promote_id: id, level: subLevel}, function (response) { vm.init() for (var i in response.data.promotes) { var promote = response.data.promotes[i] vm.initList.push({id: promote.id, name: promote.account + '(' + promote.real_name + ')', type:false, isSearch:true, number:6}) } }) var account = $(this).parents('tr').eq(0).find('td.account').html() var realName = $(this).parents('tr').eq(0).find('td.real-name').html() box.find('.show-account').html(account + (realName == '' ? '' : '(' + realName + ')')) box.find('[name=promote_id]').val(id) box.find('[name=parent_id]').val(parentId) layer.open({ title: shiftTypeName, type: 1, content: box, area: ['600px', '650px'], zIndex: 250, }) } }) $('#shift-submit').on({ click: function() { var box = $('#shift-box') var id = box.find('[name=promote_id]').val() var parentId = box.find('[name=parent_id]').val() var toPromoteId = box.find('[name=to_promote_id]').val() var orderTime = box.find('[name=order_time]').val() var balanceCoinMode = box.find('[name=balance_coin_mode]:checked').val() var shiftIds = [] var fromPromoteId = 0 if (toPromoteId == 0) { layer.msg('请选择转移至的推广账号') return } if (promoteType == 2) { fromPromoteId = parentId shiftIds = [id] } else { fromPromoteId = id if ($('[name=shift_mode]:checked').val() == 2) { shiftIds = vm.getTargetIds() if (shiftIds.length == 0) { layer.msg('请选择要转移的下级推广账号') return } } } var data = { from_promote_id: fromPromoteId, to_promote_id: toPromoteId, order_time: orderTime, balance_coin_mode: balanceCoinMode, type: 1, shift_ids: shiftIds } $.ajax({ url: "{:U('Promote/shift')}", data: data, type: 'post', dataType: 'json', success: function(response) { if (response.status) { layer.msg(response.msg, {time: 2000}, function() { window.location.href = window.location.href }) } else { layer.msg(response.msg) } } }) } }) $('.shift-player-btn').on({ click: function() { var box = $('#shift-player-box') var id = $(this).parents('tr').eq(0).attr('data-id') var account = $(this).parents('tr').eq(0).find('td.account').html(); var realName = $(this).parents('tr').eq(0).find('td.real-name').html(); box.find('.show-account').html(account + (realName == '' ? '' : '(' + realName + ')')) box.find('[name=promote_id]').val(id) layer.open({ title: '玩家迁移', type: 1, content: box, area: ['600px', '350px'], zIndex: 250, }) } }) $('#shift-player-submit').on({ click: function() { var box = $('#shift-player-box') var id = box.find('[name=promote_id]').val() var toPromoteId = box.find('[name=to_promote_id]').val() var orderTime = box.find('[name=order_time]').val() var balanceCoinMode = box.find('[name=balance_coin_mode]:checked').val() var shiftIds = [] if (toPromoteId == 0) { layer.msg('请选择转移至的推广账号') return } var data = { from_promote_id: id, to_promote_id: toPromoteId, order_time: orderTime, balance_coin_mode: balanceCoinMode, type: 2, shift_ids: shiftIds } $.ajax({ url: "{:U('Promote/shift')}", data: data, type: 'post', dataType: 'json', success: function(response) { if (response.status) { layer.msg(response.msg, {time: 2000}, function() { window.location.href = window.location.href }) } else { layer.msg(response.msg) } } }) } }) }) </script> </block>