ip限制白名单提交

master
zhengyongxing 5 years ago
parent c3adec70ec
commit 5f815370e8

@ -0,0 +1,139 @@
<extend name="Public/base" />
<block name="body">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="__STATIC__/provincecityarea/AreaData_min.js"></script><!--
<script type="text/javascript" src="__STATIC__/provincecityarea/jquery-1.7.min.js"></script> -->
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">新增IP限制账号</h3>
<p class="description_text">说明此功能是新增IP限制白名单</p>
</div>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('addUser?model='.$model['id'])}" method="post" class="form-horizontal">
<!-- 基础文档模型 -->
<div id="tab1" class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">玩家账号:</td>
<td class="r">
<input type="text" class="txt" name="account" value="" placeholder="输入玩家账号" onKeyUp="value=value.replace(/[^\w\.\/]/ig,'')">
</td>
</tr>
<tr>
<td class="l">状态:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label >
<input type="radio" value="0" name="status" checked="checked"> 限制
</label >
<label >
<input type="radio" value="1" name="status" > 不限制
</label>
</span>
</td>
</tr>
<tr>
<td class="l">区域</td>
<td class="r">
<select name="area" id="area">
<option value="">请选择区域</option>
<option value="美国">美国</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<input type="hidden" name="id" value="{$data['id']}" />
<div class="form-item cf">
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
</form>
</div>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="Promote/lists/type/1">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script><script type="text/javascript" src="__STATIC__/provincecityarea/area1.js"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('AmericaIpForbit/index')}');
Think.setValue("game_type_id", {$data.game_type_id|default = 0});
Think.setValue("category", {$data.category|default = 0});
$(function(){
showTab();
prov="{:substr($data['bank_area'],0,2)}";
city="{:substr($data['bank_area'],2,2)}";
ciarea="{:substr($data['bank_area'],4,2)}";
$("input[name=company_belong]").click(function () {
if ($(this).val() == 1) {
$('#company_relation').show();
} else {
$('#company_relation').hide();
}
});
});
//得到地区码
function getAreaID(){
var area = 0;
if($("#seachdistrict").val() != "0"){
area = $("#seachdistrict").val();
}else if ($("#seachcity").val() != "0"){
area = $("#seachcity").val();
}else{
area = $("#seachprov").val();
}
return area;
}
//根据地区码查询地区名
function getAreaNamebyID(areaID){
var areaName = "";
if(areaID.length == 2){
areaName = area_array[areaID];
}else if(areaID.length == 4){
var index1 = areaID.substring(0, 2);
areaName = area_array[index1] + " " + sub_array[index1][areaID];
}else if(areaID.length == 6){
var index1 = areaID.substring(0, 2);
var index2 = areaID.substring(0, 4);
areaName = area_array[index1] + " " + sub_array[index1][index2] + " " + sub_arr[index2][areaID];
}
return areaName;
}
</script>
</block>

@ -0,0 +1,545 @@
<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>
<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;}
.tooltip {
position: relative;
display: inline-block;
color: #056dae;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 250%;
background-color: #fff;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 80%;
left: 0;
margin-left: -70%;
border: #000 solid 1px;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: black transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
color: #000;
visibility: visible;
line-height: 20px;
}
.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;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
.butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;}
.butnbox .butnlist .butn.last {background:#009900;}
.butnbox .butnlist .butn~.butn {margin-left:20px;}
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
}
.chk_1,.chk_2,.chk_3,.chk_4 {
display: none;
}
/*******STYLE 3*******/
.chk_3 + label {
background-color: #fafbfa;
padding: 9px;
border-radius: 50px;
display: inline-block;
position: relative;
margin-right: 30px;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
width: 40px;
height: 15px;
}
.chk_3 + label:after {
content: ' ';
position: absolute;
top: 0;
-webkit-transition: box-shadow 0.1s ease-in;
transition: box-shadow 0.1s ease-in;
left: 0;
width: 100%;
height: 100%;
border-radius: 100px;
box-shadow: inset 0 0 0 0 #eee, 0 0 1px rgba(0,0,0,0.4);
}
.chk_3 + label:before {
content: ' ';
position: absolute;
background: white;
top: 1px;
left: 1px;
z-index: 999999;
width: 31px;
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
height: 31px;
border-radius: 100px;
box-shadow: 0 3px 1px rgba(0,0,0,0.05), 0 0px 1px rgba(0,0,0,0.3);
}
.chk_3:active + label:after {
box-shadow: inset 0 0 0 20px #eee, 0 0 1px #eee;
}
.chk_3:active + label:before {
width: 37px;
}
.chk_3:checked:active + label:before {
width: 37px;
left: 20px;
}
.chk_3 + label:active {
box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}
.chk_3:checked + label:before {
content: ' ';
position: absolute;
left: 26px;
border-radius: 100px;
}
.chk_3:checked + label:after {
content: ' ';
font-size: 1.5em;
position: absolute;
background: #4cda60;
box-shadow: 0 0 1px #4cda60;
}
#checkbox_d2 + label:after, #checkbox_d2 + label:before, #checkbox label {
-webkit-transition: all 0.1s ease-in;
transition: all 0.1s ease-in;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">ip限制白名单</h3>
<p class="description_text">说明:苹果内购白名单,名单中的用户支付成功可通知游戏</p>
<div class="demo">
<div class="wrap" ><span style="float: right;margin-top: 7px;margin-right: 120px"></span>
<input type="checkbox" id="checkbox_c2" class="chk_3" <if condition="$apple_interior_buy eq 1">checked</if> /><label for="checkbox_c2" style="float: right;margin-right: 5px" onclick="setAppleInteriorBuyStatus({$set_apple_interior_buy})"></label>
<span style="float: right;margin-top: 7px;margin-right: 5px"></span>
<span style="float: right;margin-top: 7px;margin-right: 30px">全游戏苹果内购支付成功通知默认限制</span>
</div>
</div>
<!-- <div class="fr">-->
<!-- <a class="tabchose" href="">游戏充值统计</a>-->
<!-- <a class="" href="{:U('Finance/payTypeStatistics')}">充值方式统计</a>-->
<!-- </div>-->
</div>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<!--游戏类型搜索END-->
<div class="input-list">
<input type="text" id="user_account" name="user_account" class="" value="{:I('user_account')}" placeholder="玩家账号" autocomplete="off"/>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search"
style="width: 100px;border: #3C95C8 solid 1px; " url="{:U('AmericaIpForbit/index','model='.$model['name'].'&row='.I('row'),false)}">搜索</a>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="forbit"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量限制</a>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="noforbit"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量不限制</a>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="delete"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">批量删除</a>
</div>
<div class="input-list">
<a class="sch-btn" href="{:U('AmericaIpForbit/add')}"
style="width: 150px;background: #fff;color: #000;border:1px solid #000;">添加玩家账号</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th class="" style="width: 50px;">
<input class="check-all" type="checkbox">
</th>
<th >玩家账号</th>
<th >区域</th>
<th >状态</th>
<th >添加人</th>
<th >添加时间</th>
<th >操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<style>
.data-table thead th, .data-table tbody td{text-align:center}
.data-table tbody td{border-right:1px solid #DDDDDD;}
.d_list .drop-down ul {z-index:999;}
</style>
<if condition = "empty($data)">
<tr>
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="data">
<tr>
<td ><input class="ids" type="checkbox" value="{$data.id}" name="ids[]"></td>
<td >{$data.user_account}</td>
<td>{$data.area}</td>
<td ><if condition="$data.status eq 1">不限制<else/>限制</if></td>
<td >{$data.admin_account}</td>
<td >{$data.create_time}</td>
<td >
<a href="javascript:;" onclick="del({$data.id})">删除 </a>
<if condition="$data.status eq 1">
<a class="ajax-get" href="javascript:;" onclick="limit({$data.id},0)">限制 </a>
<else />
<a href="javascript:;" id="lock" onclick="limit({$data.id},1)">不限制</a>
</if>
</td>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
<if condition="$is_admin eq true ">
<a class="sch-btn export-btn"
href="{:U('AmericaIpForbit/export',array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(['id'=>3,'xlsname'=>'玩家_玩家列表_'.(I('get.type')==2?'第三方玩家':'本站玩家')],I('get.')))}">导出</a> -->
</if>
{$_page|default=''}
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('AmericaIpForbit/index')}');
$('#forbit').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('AmericaIpForbit/operateIp')}",
type: "get",
data: {id: text,status:0},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量限制失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量限制成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
//搜索功能
$("#search").click(function(){
var starttime = $.trim($('#time-start').val());
var endtime = $.trim($('#time-end').val());
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');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;
}
window.location.href = url;
});
$('#noforbit').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('AmericaIpForbit/operateIp')}",
type: "get",
data: {id: text,status:1},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量不限制失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量不限制成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
$('#delete').click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get().join(",");
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
if (!text) {
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
return;
}
$.ajax({
url: "{:U('AmericaIpForbit/del')}",
type: "get",
data: {id: text},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '批量删除失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '批量删除成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
});
$('#add').click(function () {
});
function limit(id,status) {
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('AmericaIpForbit/operateIp')}",
type: "get",
data: {id: id,status: status},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
function del(id) {
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('AmericaIpForbit/del')}",
type: "get",
data: {id: id},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
function setAppleInteriorBuyStatus(status) {
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index) {
$.ajax({
url: "{:U('AmericaIpForbit/setAppleInteriorBuyStatus')}",
type: "get",
data: {status: status},
dataType: 'json',
success: function (data) {
if (data.code == 0) {
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
} else {
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
});
}
</script>
</block>
Loading…
Cancel
Save