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.

625 lines
28 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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;}
.data_list table td{
text-indent:0;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a <if condition="(I('type') eq 1) or (I('type') eq '') "> class="tabchose" </if> href="{:U('lists',array('type'=>1))}">官方游戏</a>
<a <if condition="I('type') eq 2"> class="tabchose" </if> href="{:U('lists',array('type'=>2))}">开发者游戏</a>
</div>
<h3 class="page_title">游戏列表</h3>
<if condition="(I('type',1) eq 1) ">
<p class="description_text">说明:平台的游戏分为官方游戏和开发者游戏,通过后台添加的游戏为官方游戏。</p>
<else/>
<p class="description_text">说明:平台的游戏分为官方游戏和开发者游戏,通过开发者后台添加的游戏为开发者游戏。</p>
</if>
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<empty name="show_status">
<a class="" href="{:U('add',array('model'=>$model['id'],'type'=>I('type')))}"><span class="button_icon button_icon1"></span>新增</a>
<else/>
<a class="ajax-post" target-form="ids" href="{:U('changeStatus',array('field'=>'apply_status','value'=>1))}">
<span class="button_icon button_icon9"></span>审核
</a>
</empty>
<a class="ajax-post confirm " target-form="ids" url="{:U('del?model='.$model['id'])}"><span class="button_icon button_icon2"></span>删除</a>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" >
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<!--游戏类型搜索END-->
<!-- <div class="input-list input-list-game search_label_rehab">
<select id="game_id" name="game_name" class="select_gallery" style="width:120px;">
<option value="">游戏名称</option>
<volist name=":get_game_list(I('type',1))" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-platform">
<select id="sdk_version1" name="sdk_version1" >
<option value="">运营平台</option>
<option value="1">安卓</option>
<option value="2">苹果</option>
<input type="hidden" id="sdk_version" name="sdk_version" value="{:I('sdk_version')}">
</select>
</div> -->
<div class="input-list input-list-game search_label_rehab">
<select id="sdk_version1" name="sdk_version1" class="select_gallery" >
<option value="">设备类型</option>
<option value="1">安卓</option>
<option value="2">苹果</option>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="game_name" name="game_name" class="select_gallery" >
<option value="">游戏名称</option>
<!-- <volist name=":get_game_list(null, $_GET['game_type'])" id="vo">
<option game-id="{$vo.id}" value="{$vo.id}">{$vo.game_name}</option>
</volist> -->
</select>
</div>
<div class="input-list input-list-platform">
<select id="server_type" name="server_type" >
<option value="">混服管理</option>
<option value="1">专服</option>
<option value="2">混服</option>
</select>
</div>
<empty name="show_status">
<div class="input-list input-list input-list-platform">
<select id="recommend_status" name="recommend_status">
<option value="">推荐状态</option>
<option value="1">推荐</option>
<option value="2">热门</option>
<option value="3">最新</option>
<option value="0">不推荐</option>
</select>
</div>
</empty>
<div class="input-list input-list input-list-platform">
<select id="game_status" name="game_status">
<option value="">显示状态</option>
<option value="1">已开启</option>
<option value="0">已关闭</option>
</select>
</div>
<div class="input-list">
<input type="hidden" name="type" value="{:I('type')}">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('Game/lists','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list data_game_list">
<if condition="(I('type') eq 1) or (I('type') eq '') ">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th>游戏ID</th>
<th>游戏名称</th>
<th>运营平台</th>
<th>混服管理</th>
<th>游戏类型</th>
<th>游戏Appid</th>
<th>推荐状态</th>
<th>合作方</th>
<th>显示状态</th>
<th>支付状态</th>
<th>下载次数</th>
<th>排序设置</th>
<th>添加关联</th>
<th style="width:10%;min-width:150px;">操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="list_data">
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="list_data" id="data">
<tr>
<td><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td>{$data.id}</td>
<td>{$data.game_name}</td>
<td class="">{:get_systems_name($data['sdk_version'])}</td>
<td>{:getServerType($data['server_type'])}</td>
<td>{:get_game_type_name($data['game_type_id'])}</td>
<td>{$data.game_appid}</td>
<td>{:get_info_status($data['recommend_status'],1)}</td>
<td>{:getPartnerName($data['partner_id'])}</td>
<td>
<div class="display_status">
<span class="display_butnbox w70">
<empty name='data["game_status"]'>
<a href="{:U('Game/changeStatus',array('field'=>'game_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
<else/>
<a href="{:U('Game/changeStatus',array('field'=>'game_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
</empty>
</span>
</div>
</td>
<td>
<div class="display_status">
<span class="display_butnbox w70">
<empty name='data["pay_status"]'>
<a href="{:U('Game/changeStatus',array('field'=>'pay_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
<else/>
<a href="{:U('Game/changeStatus',array('field'=>'pay_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
</empty>
</span>
</div>
</td>
<td>
<div name="dow_num" data-title="{$data.game_name} 下载次数" game-id="{$data.id}" class="tab_not_same editTab">
<span class="w70">
{$data.dow_num}
</span>
</div>
</td>
<td>
<div name="sort" data-title="{$data.game_name} 排序设置" game-id="{$data.id}" class="tab_not_same editTab">
<span class="w70">{$data.sort}</span>
</div>
</td>
<td>
<if condition="get_relation_game($data['id'],$data['relation_game_id']) eq false">
<div class="relation_add">
<span class="relation_butnbox yes w70">
<a style="color:#0099FF" href="{:U('relation',array('id'=>$data['id']))}">未关联</a>
</span>
</div>
<elseif condition="get_relation_game($data['id'],$data['relation_game_id']) eq true" />
<div class="relation_add">
<span class="relation_butnbox yes w70">
已关联
</span>
</div>
<else/>
<span class="relation_add_error">该游戏关联数据错误</span>
</if>
</td>
<td>
<a href="{:U('Game/edit?id='.$data['id'].'&type=1&p='.I('p',1))}">编辑</a>
<a href="{:U('Game/del?ids='.$data['id'])}" class="confirm ajax-get">删除</a>
<if condition="UID eq 1">
<a href="javascript:void(0);" data-game_id="{$data.id}" data-game_name="{$data.game_name}" data-game_appid="{$data.game_appid}" class="duij">对接参数</a>
</if>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
<else/>
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</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 style="width:11%;min-width:185px;">操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="list_data">
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="list_data" id="data">
<tr>
<td><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td>{$data.id}</td>
<td>{$data.game_name}</td>
<td>{:get_systems_name($data['sdk_version'])}</td>
<td>{:get_game_type_name($data['game_type_id'])}</td>
<td>{:get_developer_name($data['developers'])}</td>
<td>{:getPartnerName($data['partner_id'])}</td>
<td>
<div name="sort" data-title="{$data.game_name} 排序设置" game-id="{$data.id}" class="tab_not_same editTab">
<span>{$data.sort}</span>
</div>
</td>
<td>{:get_info_status($data['apply_status'],5)}</td>
<if condition="$data['apply_status'] eq 0">
<td>--</td>
<td>--</td>
<else/>
<td>
<div class="display_status">
<span class="display_butnbox">
<empty name='data["game_status"]'>
<a href="{:U('Game/changeStatus',array('field'=>'game_status','value'=>1,'ids'=>$data['id']))}" class="ajax-get " style="color:#ff0000">
已关闭<!--关闭-->
</a>
<else/>
<a href="{:U('Game/changeStatus',array('field'=>'game_status','value'=>0,'ids'=>$data['id']))}" class="ajax-get ">
已开启<!--开启-->
</a>
</empty>
</span>
</div>
</td>
<td>
<empty name='data["online_status"]'>
<span style="color: red ">已下线</span>
<else/>
上线
</empty>
</td>
</if>
<td>{$data.create_time|date='Y-m-d',###}</td>
<td>
<a href="{:U('Game/edit?id='.$data['id'].'&type=2&p='.I('p',1))}">查看</a>
<a href="{:U('Game/del?ids='.$data['id'])}" class="confirm ajax-get">删除</a>
<if condition="UID eq 1">
<a href="javascript:void(0);" data-game_id="{$data.id}" data-game_name="{$data.game_name}" data-game_appid="{$data.game_appid}" class="down_source">下载原包</a>
</if>
<empty name='data["online_status"]'>
<a href="{:U('Game/changeStatus',array('field'=>'online_status','value'=>1,'ids'=>$data['id'],apply_status=>$data['apply_status']))}" class="ajax-get ">
<span>上线</span><!--关闭-->
</a>
<else/>
<a href="{:U('Game/changeStatus',array('field'=>'online_status','value'=>0,'ids'=>$data['id'],apply_status=>$data['apply_status']))}" class="ajax-get ">
<span style="color: red ">下线</span>
</a>
</empty>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
</if>
</div>
<div class="page">
<a class="sch-btn" href="{:U('Export/game_list',array_merge(['xlsname'=>'游戏管理_游戏列表'.((I('type',1)==2)?'_开发者游戏':'_官方游戏')],I('get.')))}">导出</a>
{$_page|default=''}
</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="Game/lists">
</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 src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/layer/extend/layer.ext.js"></script>
<style>
.layui-layer-demo .layui-layer-title {background:#F0F5F7;font-weight:bold;}
.layui-layer-demo .layui-layer-content {}
.layui-layer-demo .layui-layer-content table{width:100%;border:0;border-spacing:0;padding:0;}
.layui-layer-demo .layui-layer-content td {height:42px;padding-left:20px;}
.layui-layer-demo .layui-layer-content tr:hover {background:#F0F5F7;}
.layui-layer-demo .layui-layer-content tr~tr {border-top:1px solid #ccc;}
.layui-layer-demo .layui-layer-content td~td {border-left:1px solid #ccc;}
.layui-layer-demo .layui-layer-content tr:last-child td {}
</style>
<script>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('Game/lists')}");
$(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;
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
$(".duij").click(function() {
var game_id =$(this).data("game_id");
var game_name =$(this).data("game_name");
var game_appid=$(this).data("game_appid");
var domain = document.domain;
$.ajax({
url: "{:U('get_game_set')}",
type:"POST",
dataType: 'json',
data: {game_id:game_id},
success:function(data){
if(data.status==1){
if(data.data.game_key==""||data.data.access_key==""){
layer.msg("游戏key未设置或者访问秘钥未设置", {icon: 2,})
}else{
layer.open({
title:'对接参数',
type: 1,
skin: 'layui-layer-demo', //样式类名
anim: 2,
area: ['580px', 'auto'], //宽高
shadeClose: true, //开启遮罩关闭
content: "<table><tr><td>游戏ID</td><td>"+game_id+"</td></tr><tr><td>"+"游戏名称</td><td>"+game_name+"</td></tr><tr><td>"+"游戏Appid</td><td>"+game_appid+"</td></tr><tr><td>渠道ID</td><td>0</td></tr><tr><td>渠道名称</td><td>自然注册</td></tr><tr><td>游戏key<i style='color:red'>(key用于支付回调加密)</i></td><td>"+data.data.game_key+"</td></tr><tr><td>"+"访问密钥<i style='color:red'>(access_key用于SDK初始化参数配置)</i></td><td>"+data.data.mdaccess_key+"</td></tr></table>"
});
}
}
},
error:function(){
layer.msg("错误", {icon: 2,})
}
})
});
$(".down_source").click(function(){
var game_id = $(this).data("game_id");
$.ajax({
url:"{:U('get_game_source')}",
type:"POST",
dataType:"json",
data:{game_id:game_id},
success:function(result){
if(result.status==1){
$dow_url = result.dow_url.replace('.', '');
var $eleForm = $("<form method='get'></form>");
$eleForm.attr("action",$dow_url);
$(document.body).append($eleForm);
//提交表单,实现下载
$eleForm.submit();
}else{
layer.msg("暂无下载内容",{icon:2});
}
},
error:function(){
layer.msg("数据异常",{icon:2});
}
})
})
//点击排序
$('.list_sort').click(function(){
var url = $(this).attr('url');
var ids = $('.ids:checked');
var param = '';
if(ids.length > 0){
var str = new Array();
ids.each(function(){
str.push($(this).val());
});
param = str.join(',');
}
if(url != undefined && url != ''){
window.location.href = url.replace(".html","") + '/ids/' + param;
}
});
$('.editTab').click(function() {
var that = $(this),num = $.trim(that.children().text());
var game_id = that.attr('game-id');
var names = that.attr('name');
var title = that.attr('data-title');
layer.prompt({title:title,formType:0},function(value,index) {
if (!/^(?:0|[1-9][0-9]*)$/.test(value)) {
updateAlert('请输入正整数','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
return false;
}
layer.close(index);
$.ajax({
async: false,
url:"{:U('Ajax/setGameDataField')}",
type:"POST",
dataType:"json",
data:{game_id:game_id,fields:names,value:value},
success:function(result){
if(result.status){
//layer.msg('修改成功',{icon: 1});
updateAlert('修改成功');
setTimeout(function(){
$('#tip').find('.tipclose').click();
window.location.reload();
},2000);
}else{
//layer.msg('修改失败',{icon: 2});
updateAlert('修改失败','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
}
},
error:function(){
//layer.msg('服务器异常');
updateAlert('服务器异常','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
}
});
});
return false;
});
/*$(".editTab").dblclick(function(){
var txtDownNum = $.trim($(this).children().text());
var game_id = $(this).attr('game-id');
var names = $(this).attr('name');
var input = "<input type='text' id='dow_num' name='dow_num' value='"+txtDownNum+"' style='width: 50px;border:none'>";
$(this).children().html(input);
$('#dow_num').blur(function(){
var obj = $(this);
if (!/^(?:0|[1-9][0-9]*)$/.test(obj.val())) {
obj.closest('span').html(""+txtDownNum+"");
updateAlert('请输入正整数','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
return false;
}
$.ajax({
async: false,
url:"{:U('Ajax/setGameDataField')}",
type:"POST",
dataType:"json",
data:{game_id:game_id,fields:names,value:$(this).val()},
success:function(result){
obj.closest('span').html(obj.val());
if(result.status){
updateAlert('修改成功');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
}else{
updateAlert('修改失败','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
}
},
error:function(){
alert('服务器异常');
}
})
});
});*/
var game_name = "{:I('game_name')}";
$("#sdk_version1").change(function(){
$.ajax({
url:"{:U('Ajax/getGameList')}",
type:"get",
data:{sdk_type:$("#sdk_version1 option:selected").val()},
dataType:'json',
success:function(response){
str = '<option value="">游戏名称</option>';
// $.each(response.data, function(index, item){
// console.log(item.id);
// str += '<option value="'+item.id+' '+(promote_id && item.id == promote_id?'selected':'')+'">'+item.nickname+'</option>';
// });
data = response.data;
for (var i in data){
str += "<option value='"+data[i].relation_game_name+"' "+(game_name && data[i].relation_game_name == game_name?'selected':'')+">"+data[i].relation_game_name+"</option>"
}
$("#game_name").empty();
$("#game_name").append(str);
$("#game_name").select2();
$("#game_name").change();
}
})
});
$("#sdk_version1").change();
})
</script>
</block>