Merge branch 'dev_zyx' of 47.111.118.107:/srv/git/platform into dev-cz

master
chenzhi 5 years ago
commit d8095f3397

@ -102,6 +102,20 @@ class GiftbagController extends ThinkController {
public function add(){
if(IS_POST){
if ($_POST['giftbag_version'] == '3') {
$whereGift['giftbag_version'] = $_POST['giftbag_version'];
$whereGift['game_id'] = $_POST['game_id'];
$_POST['start_time'] = time();
$giftData = D('giftbag')->field('id')->where($whereGift)->find();
if ($giftData) {
$this->error('超级签礼包一个游戏只能有一个!');
}
}
$Model = D('Giftbag');
// 获取模型的字段信息
$Model = $this->checkAttr($Model,$model['id']);
@ -114,6 +128,10 @@ class GiftbagController extends ThinkController {
}
}
$data = $Model->create();
if ($_POST['giftbag_version'] == '3') {
$data['start_time'] = time();
}
// var_dump($data);die();
if($data){
$data['novice'] = str_replace(array("\r\n", "\r", "\n"), ",", $_POST['novice']);
$data['server_name']=get_server_name($data['server_id']);

@ -0,0 +1,627 @@
<?php
namespace Admin\Controller;
use Base\Model\PromoteModel;
use Admin\Model\TestResourceModel;
use Base\Service\PromoteService;
use OSS\Core\OssException;
class TestResourceController extends ThinkController
{
public function test(){
echo 'test1';
}
public function supportNumberList($p = 1) {
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
$row=10;
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
$map = [];
if(!empty(I('server_name'))){
$map['tab_test_resource.server_name']=I('server_name');
}
if(!empty(I('game_name'))){
$map['tab_test_resource.game_name']=I('game_name');
}
if(!empty(I('role_name'))){
$map['tab_test_resource.role_name']=['like','%'.I('role_name').'%'];
}
if(!empty(I('user_account'))){
$map['tab_test_resource.user_account']=I('user_account');
}
if(!empty(I('promote_name'))){
$map['tab_test_resource.promote_account']=I('promote_name');
}
$data = M('test_resource','tab_')
->field('tab_test_resource.id,tab_test_resource.user_id,tab_test_resource.game_name,tab_test_resource.server_name,tab_test_resource.user_account,tab_test_resource.promote_account,tab_test_resource.role_name,tab_test_resource.create_time,device_number,check_status')
->join('left join tab_user as user on tab_test_resource.user_id = user.id')
->where($map)
->page($page,$row)
->order('tab_test_resource.create_time DESC')
->select();
foreach ($data as $key => $value) {
$data[$key]['create_time'] = date('Y-m-d H:m:i',$value['create_time']);
}
$count = M('test_resource','tab_')
->field('tab_test_resource.game_name,tab_test_resource.server_name,tab_test_resource.user_account,tab_test_resource.promote_account,tab_test_resource.role_name,tab_test_resource.create_time,device_number,check_status')
->join('left join tab_user as user on tab_test_resource.user_id = user.id')
->where($map)
->select();
$count = count($count);
$page = set_pagination($count,$row);
if($page) {$this->assign('_page', $page);}
$this->meta_title = '扶持号管理';
$this->assign('data',$data);
$this->display();
}
public function freezeSupport() {
$supportId = I('support_id', 0);
if ($supportId == 0) {
$this->ajaxReturn(['status'=>0,'msg'=>"参数错误"]);
}
$data = [
'check_status' => 0
];
$isFreeze = M('user','tab_')->where("id=".$supportId)->save($data);
if ($isFreeze) {
$this->ajaxReturn(['status'=>1, 'msg'=> '冻结成功']);
} else {
$this->ajaxReturn(['status'=>0, 'msg'=> '冻结失败']);
}
}
public function unfreezeSupport() {
$supportId = I('support_id', 0);
if ($supportId == 0) {
$this->ajaxReturn(['status'=>0,'msg'=>"参数错误"]);
}
$data = [
'check_status' => 1
];
$isFreeze = M('user','tab_')->where("id=".$supportId)->save($data);
if ($isFreeze) {
$this->ajaxReturn(['status'=>1, 'msg'=> '启用成功']);
} else {
$this->ajaxReturn(['status'=>0, 'msg'=> '启用失败']);
}
}
public function rechangePassward() {
$supportId = I('support_id', 0);
if ($supportId == 0) {
$this->ajaxReturn(['status'=>0,'msg'=>"参数错误"]);
}
$password = $this->getRandomPassword(6);
$data = [
'password' => md5(sha1($password) . UC_AUTH_KEY)
];
$passward = M('user','tab_')->where("id=".$supportId)->save($data);
if ($passward) {
$this->ajaxReturn(['status'=>1, 'msg'=> '新密码:'.$password]);
} else {
$this->ajaxReturn(['status'=>0, 'msg'=> '重置密码失败']);
}
}
private function getRandomPassword($length, $special = true){
$chars = array(
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2',
'3', '4', '5', '6', '7', '8', '9'
);
// if($special){
// $chars = array_merge($chars, array(
// '!', '@', '#', '$', '?', '|', '{', '/', ':', ';',
// '%', '^', '&', '*', '(', ')', '-', '_', '[', ']',
// '}', '<', '>', '~', '+', '=', ',', '.'
// ));
// }
$charsLen = count($chars) - 1;
shuffle($chars);
$password = '';
for($i=0; $i<$length; $i++){
$password .= $chars[mt_rand(0, $charsLen)];
}
return $password;
}
public function protectLogList($p = 1) {
$promote_id = get_pid();
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
$row=10;
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
$map = [];
if(!empty(I('server_name'))){
$map['server_name']=I('server_name');
}
if(!empty(I('game_name'))){
$map['game_name']=I('game_name');
}
if(!empty(I('nickname'))){
$map['nickname']=['like','%'.I('nickname').'%'];
}
if(!empty(I('user_account'))){
$map['user_account']=I('user_account');
}
if(!empty($_REQUEST['start'])&&empty($_REQUEST['end'])){
$map['create_time'] = array('GT',strtotime($_REQUEST['start']));
unset($_REQUEST['start']);
}
if(empty($_REQUEST['start'])&&!empty($_REQUEST['end'])){
$map['create_time'] = array('LT',strtotime($_REQUEST['end'])+24*60*60-1);
unset($_REQUEST['end']);
}
if(!empty($_REQUEST['start'])&&!empty($_REQUEST['end'])){
$map['create_time'] = array('BETWEEN',array(strtotime($_REQUEST['start']),strtotime($_REQUEST['end'])+24*60*60-1));
unset($_REQUEST['start']);unset($_REQUEST['end']);
}
if(!empty(I('types'))){
$map['type']=I('types');
}
$field = 'id,game_name,server_name,user_account,nickname,promote_account,detail';
$order = 'id DESC';
$data = D('protect_log')->getProtectLog($field,$map,'',$order,$page,$row);
$count = D('protect_log')->getProtectLog($field,$map,'',$order);
M('protect_log_read', 'tab_')->startTrans(); //事物
try {
$arrUserId = array_column($data,'id');
$logId = implode(',',$arrUserId);
$logRead = M('protect_log_read','tab_')
->where("log_id IN({$logId}) and promote_id = {$promote_id}")
->select();
$upsetData = array_column($logRead,'log_id');
$addData = [];
$k = 0;
foreach($arrUserId as $key => $value) {
if (in_array($value['id'],$upsetData)) {
continue;
} else {
$addData[$k]['log_id'] = $value;
$addData[$k]['promote_id'] = $promote_id;
$addData[$k]['create_time'] = time();
$k++;
}
}
M('protect_log_read','tab_')->addAll($addData);
} catch (OssException $e) {
M('protect_log_read', 'tab_')->rollback();//回滚
}
M('protect_log_read', 'tab_')->commit(); //提交事物
$count = count($count);
$page = set_pagination($count,$row);
$this->meta_title = '日志管理';
if($page) {$this->assign('_page', $page);}
$this->assign('data',$data);
$this->display();
}
protected function _initialize()
{
parent::_initialize();
$map['id'] = get_pid();
$pro = M("promote", "tab_")->where($map)->find();
if ($pro['parent_id']!=0) {
$this->error('无权操作!');
}
}
public function index($p=0)
{
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
$row=10;
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
$map =array();
if(!empty(I('role_name'))){
$map['role_name']=['like','%'.I('role_name').'%'];
}
if(!empty(I('server_name'))){
$map['server_name']=I('server_name');
}
if(!empty(I('game_name'))){
$map['game_name']=I('game_name');
}
if(!empty(I('user_account'))){
$map['user_account']=['like','%'.I('user_account').'%'];
}
if(!empty($_REQUEST['start'])&&empty($_REQUEST['end'])){
$map['create_time'] = array('GT',strtotime($_REQUEST['start']));
unset($_REQUEST['start']);
}
if(empty($_REQUEST['start'])&&!empty($_REQUEST['end'])){
$map['create_time'] = array('LT',strtotime($_REQUEST['end'])+24*60*60-1);
unset($_REQUEST['end']);
}
if(!empty($_REQUEST['start'])&&!empty($_REQUEST['end'])){
$map['create_time'] = array('BETWEEN',array(strtotime($_REQUEST['start']),strtotime($_REQUEST['end'])+24*60*60-1));
unset($_REQUEST['start']);unset($_REQUEST['end']);
}
//
$res = D("test_resource")->getResourceCout($map,$page,$row);
// dump($res);
$parameter =I('get.');
$parameter['p']=I('get.p',1);
$parameter['row']=I('get.row');
$page = set_pagination($res["count"],$row,$parameter);
if($page) {$this->assign('_page', $page);}
// var_dump($res['list']);die();
$this->meta_title = '测试资源';
$this->m_title = '测试资源申请';
$this->assign('data',$res['list']);
$this->assign('count',$res["count"]);
$this->display();
# code...
}
/**
* 获取区服列表
* @param $game_id
*/
public function getServer($game_id="")
{
$map['game_id']=$game_id;
$map['start_time']=['lt',time()];
if (I('status')==2) {
$map['show_status']=1;
}
$data = M('server', 'tab_')
->field('tab_server.id,tab_server.server_name,support_quota')
->where($map)
->join('join tab_game tg ON tg.id=tab_server.game_id')
->select();
$this->AjaxReturn($data);
}
//获取当前和当前子渠道的渠道id
public function get_all_promote(){
$pro_id=get_prmoote_chlid_account(get_pid());
// var_dump($pro_id);die();
foreach ($pro_id as $key => $value) {
$pro_id1[]=$value['id'];
}
if(!empty($pro_id1)){
$pro_id2=array_merge($pro_id1,array(get_pid()));
}else{
$pro_id2=array(get_pid());
}
return $pro_id2;
}
/**
* 系统非常规MD5加密方法
* @param string $str 要加密的字符串
* @return string
*/
public function think_ucenter_md5($str, $key = 'ThinkUCenter'){
return '' === $str ? '' : md5(sha1($str) . $key);
}
//新增扶持
public function add()
{
// dump(I('post.'));
if (IS_POST) {
$count=count(I('user_account'));
session('apply_status', 0);
(empty(I('server_id')) || I('server_id')<1) && $this->error('请选择区服!');;
M('test_resource', 'tab_')->startTrans(); //事物
for ($i=0; $i < $count ; $i++) {
$i_account=I('user_account')[$i];
if (!empty($i_account)) {
$user=M('user', 'tab_')->field('promote_id,password,phone')->where(['account'=>$i_account])->find();
$promote = $this->get_all_promote();
if (!in_array($user['promote_id'], $promote)) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error($i_account.'账号不存在');
}
if (empty(I('user_password')[$i])) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error(I('user_account')[$i].'请输入密码');
}
if ($user['password']!=$this->think_ucenter_md5(I('user_password')[$i], UC_AUTH_KEY)) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error($i_account.'密码不正确');
}
if (empty(I('role_name')[$i])) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error(I('user_account')[$i].'请输入角色名');
}
$supportNum = I('apply_resource')[$i];
if (empty($supportNum)) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error(I('user_account')[$i].'请输入资源数量');
}
if ($supportNum<0 || !preg_match('/^[1-9]\d*$/', $supportNum)) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error(I('user_account')[$i].'请输入资源数量');
}
$map['game_id']=I('game_id');
$map['server_id']=I('server_id');
$map['user_account']=I('user_account')[$i];
// $map['apply_status']=['neq',0];
$map['apply_type']=0;
$list= M('test_resource', 'tab_')->where($map)->find();
if ($list) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error(I('user_account')[$i].'账号已存在');
}
// $support_quota = M('game', 'tab_')->field('support_quota')->find(get_game_id(I('game_name')));
// if ($support_quota['support_quota'] < I('support_num')[$i]) {
// M('test_resource', 'tab_')->rollback();//回滚
// $this->ajaxReturn(['msg'=>'超出申请额度' ,'status'=>0]);
// }
$data['game_id']=I('game_id');
$data['game_name']=I('game_name');
$data['server_id']=I('server_id');
$data['server_name']=I('server_name');
$data['user_account']=I('user_account')[$i];
$data['user_id']=get_user_id(I('user_account')[$i]);
$data['user_password']=base64_encode(I('user_password')[$i]);
$data['phone']=$user['phone'];
$data['role_name']=I('role_name')[$i];
$data['apply_resource']=I('apply_resource')[$i];
$data['apply_remark']=I('apply_remark')[$i];
$data['apply_name']=$_SESSION['onethink_home']['promote_auth']['account'];
$data['apply_id']=$_SESSION['onethink_home']['promote_auth']['pid'];
// $data['promote_id']=session("promote_auth.pid");
// $data['promote_account']=session("promote_auth.account");
$data['promote_id']=$_SESSION['onethink_home']['promote_auth']['pid'];
$data['promote_account']=$_SESSION['onethink_home']['promote_auth']['account'];
$data['create_time']=time();
$data['apply_type']=0;
$model = M('test_resource', 'tab_')->add($data);
if ($model) {
session('apply_status', 1);
}
} else {
if (I('user_password')[$i]) {
M('test_resource', 'tab_')->rollback();//回滚
$this->error('请输入账号');
}
}
}
if (session('apply_status')==0) {
session('apply_status', null);
$this->error('请输入账号');
}
M('test_resource', 'tab_')->commit(); //提交事物
$this->success('添加成功',U('TestResource/index'));
} else {
$this->meta_title = '新增测试账号';
$this->display();
}
}
public function edit() {
$id = I('id');
//获取数据
$data = M('test_resource','tab_')->where("id={$id}")->find();
if (!$data) {
$this->error('数据不存在!');
exit();
}
$this->assign('data', $data);
$this->meta_title = '编辑礼包';
$this->m_title = '礼包列表';
$this->display();
}
//修改申请
public function apply_edit(){
$user=M('user','tab_')->field('password')->where(['account'=>I('user_account')])->find();
if($user['password'] !== $this->think_ucenter_md5(I('user_password'), UC_AUTH_KEY)){
$this->error('修改失败,密码不正确!');
}
$data['user_password']=base64_encode(I('user_password'));
$data['role_name']=I('role_name');
$map = I("post.");
unset($map['user_password']);
unset($map['role_name']);
$res=M('test_resource','tab_')->where($map)->save($data);
if($res===false){
$this->error('更新失败');
}else{
$this->success('更新成功', U('index'));
}
}
//后续申请
public function apply(){
$ids = explode(',', I('id'));
foreach ($ids as $key => $value) {
$map['id']=$value;
$support=M('test_resource','tab_')->field('promote_id')->where($map)->find();
// if($support['promote_id'] !=session("promote_auth.pid") || empty($support) ){
// $this->error('数据错误');
// }
}
$this->m_title = '推广员列表';
$this->meta_title = '申请后续';
$this->display();
}
//申请新增扶持(单个或批量申请)
public function batch_apply(){
$ids = explode(',', I('id'));
M('test_resource','tab_')->startTrans(); //事物
foreach ($ids as $key => $value) {
$map['id']=$value;
$support=M('test_resource','tab_')->where($map)->find();
if(I('apply_resource') <0 || !preg_match('/^[1-9]\d*$/', I('apply_resource', 0))){
M('test_resource','tab_')->rollback();//回滚
$this->error('申请资源数量有误');
}
if(empty($support)){
M('test_resource','tab_')->rollback();//回滚
$this->error('数据有误');
}
// $max_quota=$this->max_quota($support['game_id'],$support['server_name']);//最大申请额度
// if(count($ids)>1){
// $map_s['game_id']=$support['game_id'];
// $map_s['server_name']=$support['server_name'];
// $map_s['id'] =['in',$ids];
// $count=M('support','tab_')->where($map_s)->count();
// $max_quota = floor($max_quota/$count);
// }
// if(I('support_num') > $max_quota){
// M('support','tab_')->rollback();//回滚
// $this->ajaxReturn(['status'=>0,'msg'=>'扶持申请额度不足,最大额度:'.$max_quota]);
// }
if($support['promote_id'] !=$_SESSION['onethink_home']['promote_auth']['pid'] || empty($support) ){
M('test_resource','tab_')->rollback();//回滚
$this->error('申请失败');
}
$data['game_id']=$support['game_id'];
$data['game_name']=$support['game_name'];
$data['server_id']=$support['server_id'];
$data['server_name']=$support['server_name'];
$data['user_account']=$support['user_account'];
$data['user_id']=$support['user_id'];
$data['user_password']=$support['user_password'];
$data['phone']=$support['phone'];
$data['role_name']=$support['role_name'];
$data['apply_resource']=I('apply_resource');
$data['apply_remark']=I('apply_remark');
$data['apply_name']=$_SESSION['onethink_home']['promote_auth']['account'];
$data['apply_id']=$_SESSION['onethink_home']['promote_auth']['pid'];
// $data['promote_id']=session("promote_auth.pid");
// $data['promote_account']=session("promote_auth.account");
$data['promote_id']=$_SESSION['onethink_home']['promote_auth']['pid'];
$data['promote_account']=$_SESSION['onethink_home']['promote_auth']['account'];
$data['create_time']=time();
$data['apply_type']=1;
//
$model = M('test_resource','tab_')->add($data);
if($model===false){
M('test_resource','tab_')->rollback();//回滚
$this->error('申请失败');
}else{
//成功
}
}
M('test_resource','tab_')->commit(); //提交事物
$this->success('申请成功',U('index'));
}
public function lists( $p = 1){
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
$row=10;
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
if(!empty(I('type'))||I('type')==='0'){
$map['apply_status']=I('type');
}
if(!empty(I('role_name'))){
$map['role_name']=['like','%'.I('role_name').'%'];
}
if(!empty(I('server_name'))){
$map['server_name']=I('server_name');
}
if(!empty(I('game_name'))){
$map['game_name']=I('game_name');
}
if(!empty(I('user_account'))){
$map['user_account']=['like','%'.I('user_account').'%'];
}
if(!empty($_REQUEST['start'])&&empty($_REQUEST['end'])){
$map['create_time'] = array('GT',strtotime($_REQUEST['start']));
unset($_REQUEST['start']);
}
if(empty($_REQUEST['start'])&&!empty($_REQUEST['end'])){
$map['create_time'] = array('LT',strtotime($_REQUEST['end'])+24*60*60-1);
unset($_REQUEST['end']);
}
if(!empty($_REQUEST['start'])&&!empty($_REQUEST['end'])){
$map['create_time'] = array('BETWEEN',array(strtotime($_REQUEST['start']),strtotime($_REQUEST['end'])+24*60*60-1));
unset($_REQUEST['start']);unset($_REQUEST['end']);
}
$map['promote_id']=$_SESSION['onethink_home']['promote_auth']['pid'];
$data=M('test_resource','tab_')->where($map)->order('id desc')->page($page,$row)->select();
$count=M('test_resource','tab_')->field('id')->where($map)->select();
$count = count($count);
$parameter = I("get.");
$parameter['p']=I('get.p',1);
$parameter['row']=I('get.row');
$page = set_pagination($count,$row,$parameter);
if($page) {$this->assign('_page', $page);}
$this->meta_title = '测试资源申请记录';
$this->assign('data',$data);
$this->assign('count',$count);
$this->display();
}
}

@ -0,0 +1,71 @@
<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
// +----------------------------------------------------------------------
namespace Admin\Model;
use Think\Model;
/**
* 分类模型
*/
class ProtectLogModel extends Model{
protected $_validate = array(
);
protected $_auto = array(
);
/**
* 构造函数
* @param string $name 模型名称
* @param string $tablePrefix 表前缀
* @param mixed $connection 数据库连接信息
*/
public function __construct($name = '', $tablePrefix = '', $connection = '') {
/* 设置默认的表前缀 */
$this->tablePrefix ='tab_';
/* 执行构造方法 */
parent::__construct($name, $tablePrefix, $connection);
}
/**
* 按照时间分组统计注册总数
* @param string $field 需要的字段
* @param string $where sql条件
* @param string $group sqlGroup条件
* @param string $order sql排序
* @param string $page 页数
* @param string $row 每页几条
* @return array 详细数据
* @author 鹿文学
*/
public function getProtectLog($field = '*', $where = [], $group = '', $order='',$page = 0, $row = 0) {
if ($page) {
$data = $this->field($field)
->where($where)
->page($page,$row)
->group($group)
->order($order)
->select();
} else {
$data = $this->field($field)
->where($where)
->group($group)
->order($order)
->select();
}
return $data;
}
}

@ -0,0 +1,80 @@
<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
// +----------------------------------------------------------------------
namespace Admin\Model;
use Think\Model;
/**
* 分类模型
*/
class TestResourceModel extends Model{
/**
* 构造函数
* @param string $name 模型名称
* @param string $tablePrefix 表前缀
* @param mixed $connection 数据库连接信息
*/
public function __construct($name = '', $tablePrefix = '', $connection = '') {
/* 设置默认的表前缀 */
$this->tablePrefix ='tab_';
/* 执行构造方法 */
parent::__construct($name, $tablePrefix, $connection);
}
/**
* 获取统计 $map,$page,$row
*/
public function getResourceCout($map,$page,$row) {
$promote_id=session("promote_auth.pid");
//获取基本信息
$res = $this
->table("tab_test_resource as test")
->field("test.*,user.check_status")
->join('tab_user user on test.user_id=user.id','left')
->page($page,$row)
->order("create_time desc")
->where($map)
->group("user_id,game_id,server_id")
->select();
//获取统计
if(empty($res)){
return $res;
}
$rescount = $this
->where($map)
->group("user_id,game_id,server_id")
->buildSql();
$rescount = $this->table($rescount.' a')->count();
//生成idstr
foreach ($res as $key => $value) {
$value['create_time'] = date("Y-m-d H:i:s", $value['create_time']);
//获取累计发放
$where = array(
"user_id"=>$value['user_id'],
"game_id"=>$value['game_id'],
"server_id"=>$value['server_id']
);
$where1 = array(
"apply_status"=>2,
);
//获取累计
$verify_resource = $this->field("IFNULL(sum(verify_resource),0) verify_resource_count,count(*) verify_count")->where(array_merge($where,$where1))->find();
//获取申请
$where2 = array(
"apply_status"=>0,
);
$apply_resource = $this->field("IFNULL(sum(apply_resource),0) apply_resource_count")->where(array_merge($where,$where2))->find();
$res[$key] = array_merge($value,$verify_resource,$apply_resource);
}
return array("list"=>$res,"count"=>$rescount);
}
}

@ -58,7 +58,7 @@
<div id="tab1" class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<tr id="game_choosename">
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>游戏名称:</td>
<td class="r">
<select id="game_id" name="game_id">
@ -71,21 +71,31 @@
<input type="hidden" id="game_name" name="game_name" value="" />
</td>
</tr>
<tr>
<tr id="gift_platform">
<td class="l">运营平台</td>
<td class="r table_radio">
<span class="form_radio">
<gt name="key" value="0">
<label id="type0">
<input type="radio" class="inp_radio js-typeradio" value="0" name="giftbag_version" > <span class="type{$key}">全部</span>
</label>
</gt>
<volist name=":get_systems_list()" id="vo">
<gt name="key" value="0">
<label id="type{$key}">
<input type="radio" class="inp_radio js-typeradio" value="{$key}" name="giftbag_version" disabled="true" > <span class="type{$key}">{$vo}</span>
<input type="radio" class="inp_radio js-typeradio" value="{$key}" name="giftbag_version" > <span class="type{$key}">{$vo}</span>
</label>
</gt>
</volist></span>
</volist>
<label id="type3">
<input type="radio" class="inp_radio js-typeradio" value="3" name="giftbag_version" > <span class="type{$key}">超级签</span>
</label>
</span>
<input type="hidden" id="giftbag_version" name="giftbag_version" value="">
</td>
</tr>
<tr>
<tr id="gift_status">
<td class="l">礼包状态:</td>
<td class="r table_radio">
<span class="form_radio">
@ -97,7 +107,7 @@
</label></span>
</td>
</tr>
<tr>
<tr id="gift_type">
<td class="l">礼包类型:</td>
<td class="r table_radio">
<span class="form_radio">
@ -115,13 +125,13 @@
</label></span>
</td>
</tr>
<tr>
<tr id="gift_name">
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>礼包名称:</td>
<td class="r" >
<input type="text" class="txt" name="giftbag_name" value="" placeholder="输入礼包名称">
</td>
</tr>
<tr>
<tr id="gift_server">
<td class="l">礼包区服:</td>
<td class="r">
<select id="server_id" name="server_id">
@ -130,26 +140,26 @@
<input type="hidden" id="server_name" name="server_name" value=""></input>
</td>
</tr>
<tr>
<tr id="gift_time">
<td class="l">开始周期:</td>
<td class="r table_time">
<input type="text" class="txtt time" name="start_time" value="{:date('Y-m-d H:i',time())}" placeholder="输入开启时间 不能空">
<input type="text" class="txtt time" name="end_time" value="" placeholder="输入结束时间 不填表示 永久">
</td>
</tr>
<tr>
<tr id="gift_cdkey">
<td class="l">激活码:</td>
<td class="r">
<textarea name="novice" class="txt_area2" placeholder="输入激活码,一行一个"></textarea>
</td>
</tr>
<tr>
<tr id="gift_show">
<td class="l">使用说明:</td>
<td class="r">
<textarea name="digest" class="txt_area2" placeholder="输入领取方式描述"></textarea>
</td>
</tr>
<tr>
<tr id="gift_content">
<td class="l">礼包内容:</td>
<td class="r">
<textarea name="desribe" class="txt_area1" placeholder="输入礼包内容描述"></textarea>
@ -199,7 +209,15 @@ $('#submit').click(function(){
if($("#game_id").val()){
fun_ajax($("#game_id").val());
}
$(function(){
$("#gift_platform").change(function() {
var radio = $("#gift_platform input[type='radio']:checked").val();
$('#giftbag_version').val(radio);
});
$(".inp_radio").change(function () {
changePage();
});
$("#game_name").val($("#game_id option:selected").text());
$('.date').datetimepicker({
format: 'yyyy-mm-dd',
@ -226,8 +244,9 @@ $("#game_id").change(function(){
$("#game_name").val($("#game_id option:selected").text());
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
$("input[type='radio'][name='giftbag_version'][value='"+ratio_type+"']").prop("checked",true);
$('#giftbag_version').val(ratio_type);
// $('#giftbag_version').val(ratio_type);
fun_ajax($("#game_id option:selected").val());
changePage();
});
function fun_ajax(gid){
@ -258,5 +277,36 @@ function fun_html(data){
$("#server_id").html(area);
}
}
function changePage() {
console.log($(".inp_radio:checked").val())
var type = $(".inp_radio:checked").val();
if (type == 3) {
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
if (ratio_type == 1) {
$("input[type='radio'][name='giftbag_version'][value='"+ratio_type+"']").prop("checked",true);
updateAlert('超级签只能是苹果运营平台!');
setTimeout(function() {
$("#tip").removeClass('block tip_right');
},1500);
} else {
$("#gift_status").hide();
$($("#gift_status input[type='radio']").eq(1)).prop('checked',true);
$("#gift_type").hide();
$($("#gift_type input[type='radio']").eq(1)).prop('checked',true);
$("#gift_server").hide();
$("#server_id").val("");
$("#gift_time").hide();
$("input[name='start_time']").val("");
$("input[name='end_time']").val("");
}
} else {
$("#gift_status").show();
$("#gift_type").show();
$("#gift_server").show();
$("#gift_time").show();
}
}
</script>
</block>

@ -0,0 +1,216 @@
<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__/layer/layer.js"></script>
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<!-- <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/area1.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>
<script type="text/javascript" src="__JS__/jquery.mousewheel.js"></script>
<style>
.tabcon1711 td {
text-decoration: none;
text-align: center!important;
padding-left: 55px;
padding-right: 55px;
width: 0;
}
.tabcon1711 td:first-child {
padding-left: 55px;
margin-right: 55px;
width: 0;
}
.tabcon1711 input {
width: 100%;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<ul class="tabnav1711 fr jstabnav">
<li data-tab="tab1" class="current"><a href="javascript:void(0);">基本信息</a></li></li>
<li data-tab="tab2" ><a href="javascript:void(0);">结算信息</a></li>
</ul>
<h3 class="page_title">编辑推广员</h3>
<p class="description_text">说明:此功是查看推广员的基础信息</p>
</div>
<!-- 标签页导航 -->
<div class="data_list">
<form method="post" action="{:U('add')}" enctype="multipart/form-data" id="form1" action="javascript:;" class="form-horizontal">
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" style="margin-bottom:15px">
<input id="gameid" name="game_id" type="text" value="" style="display:none" >
<input id="serverid" name="server_id" type="text" value="" style="display:none">
<div class="input-list search-title-box">
<label>区服选择:</label>
</div>
<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()" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="server_id" name="server_name" class="select_gallery" style="width:120px;">
<option value="">区服名称</option>
<if condition="$_GET['server_name'] neq ''"><option value="{$_GET['server_name']}">{$_GET['server_name']}</option></if>
</select>
</div>
</empty>
</div>
</div>
<empty name="show_status">
<div class="tab-content tabcon1711">
<table class="table">
<!-- 表头 -->
<thead>
<tr>
<th>测试账号</th>
<th>密码</th>
<th>角色名称</th>
<th>资源数量</th>
<th>备注</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<tr>
<td class="r">
<div class="from-element from-input">
<input type="text" title="账号" placeholder="账号" class="my_text"
name='user_account[]'></div>
</td>
<td class="r">
<div class="from-element from-input">
<input type="text" title="密码" placeholder="密码" class="my_text"
name='user_password[]'></div>
</td>
<td class="r">
<div class="from-element from-input">
<input type="text" title="角色名称" placeholder="角色名称" class="my_text"
name='role_name[]'></div>
</td>
<td class="r">
<div class="from-element from-input">
<input type="text" title="申请元宝或钻石数量" placeholder="申请元宝或钻石数量" class="my_text"
name='apply_resource[]' onkeyup="value=value.replace(/[^\d]/g,'')"></div>
</td>
<td class="r">
<div class="from-element from-input">
<input type="text" title="备注" placeholder="备注" class="my_text"
name='apply_remark[]'></div>
</td>
<td class="r">
<a href="#" class="del-act">删除</a>
<a href="#" class="add-act">新增</a>
</td>
</tr>
</tbody>
</table>
<div class="form-item cf">
<button class="submit_btn ajax-post " id="submit" type="submit" target-form="form-horizontal" style="margin-left:10px;">
保存
</button>
</div>
</div>
</empty>
</form>
</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">
//导航高亮
highlight_subnav('{:U('Promote/lists')}');
Think.setValue("game_type_id", {$data.game_type_id|default = 0});
Think.setValue("category", {$data.category|default = 0});
Think.setValue("ba_id", {$data.ba_id|default = 0});
$('#submit').click(function(){
$('#form').submit();
});
$(function(){
// var pro="{:$data['bank_area']['0']}";
// alert (pro);
showTab();
prov="{:substr($data['bank_area'],0,2)}";
city="{:substr($data['bank_area'],2,2)}";
ciarea="{:substr($data['bank_area'],4,2)}";
//initComplexArea('seachprov', 'seachcity', 'seachdistrict', area_array, sub_array, prov, city, ciarea);
$('.table').on("click", '.add-act', function (event) {
$(".table").find("tr:last").find('td:last').find('a:last').css("display", 'none');
var rowNum = $(".table tr").size() - 1;
var html = "<tr class='table_tr' data-val='" + rowNum + "'><td><div class='from-element from-input'><input type='text' class='my_text' title='账号' placeholder='账号' name='user_account[]' ></div></td><td><div class='from-element from-input'><input type='text' title='密码' class='my_text' placeholder='密码' name='user_password[]'></div></td><td><div class='from-element from-input'><input type='text' title='角色名称' placeholder='角色名称' class='my_text' name='role_name[]'></div></td><td><div class='from-element from-input'><input type='text' maxlength='19' placeholder='申请元宝或钻石数量' title='申请数量' class='my_text' name='apply_resource[]' onkeyup = " + '"' + "value=value.replace(/[^\\d]/g,'')" + '"' + "></div></td><td><div class='from-element from-input'><input type='text' placeholder='备注' class='my_text' maxlength='100' name='remarks[]'></div></td><td><a href='javascript:;' class='support-act del-act'>删除</a>&nbsp<a href='javascript:;' class='support-act add-act' style='display: inline-block;' >新增</a></td></tr>";
$(".table").append(html);
});
$('.table').on("click", '.del-act', function (event) {
var rowNum = $(".table tr").size() - 1;
if (rowNum > 1) {
$(this).closest("tr").remove();
$(".table").find("tr:last").find('td:last').find('a:last').css("display", ' inline-block');
}
});
});
$("#server_id").change(function () {
var g_server_id = $("#server_id option:selected").attr('server-id');
$("#serverid").attr('value',g_server_id);
});
$("#game_id").change(function(){
var addData = '';
$.ajax({
url:"{:U('Ajax/getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").attr('game-id')},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_name+"' server-id='"+data[i].id+"'>"+data[i].server_name+"</option>"
}
var g_game_id = $("#game_id option:selected").attr('game-id');
$("#gameid").attr('value',g_game_id);
console.log(g_game_id);
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
</script>
</block>

@ -0,0 +1,226 @@
<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__/layer/layer.js"></script>
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<style>
.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;}
.tabcon1711 .select2-container--default .select2-selection--single{
font-size: 12px;
color: #555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #fff;
border: 1px solid #ccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-webkit-transition: border linear .2s, box-shadow linear .2s;
-moz-transition: border linear .2s, box-shadow linear .2s;
-o-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;height:30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__rendered {line-height: 30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__arrow {height:30px;}
.tabcon1711 .select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.tabcon1711 .select2-results__option[aria-selected] {font-size:12px;}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">测试资源申请后续</h3>
<p class="description_text"></p>
</div>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('batch_apply?id='.$_GET['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="apply_resource" value="" placeholder="请输入扶持数量">
</td>
</tr>
<tr>
<td class="l">备注:</td>
<td class="r">
<input type="text" class="txt " name="apply_remark" value="" placeholder="请输入备注">
</td>
</tr>
</tbody>
</table>
</div>
<input type="hidden" name="id" value="{$_GET['id']}">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="form-item cf">
<button class="submit_btn ajax-post " id="submit" type="submit" target-form="form-horizontal" style="margin-left:210px;">
保存
</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="Giftbag/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">
<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 type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('Giftbag/lists')}');
if ("{$Think.get.game_id}" =="") {
Think.setValue("game_id", {$data.game_id|default = 0});
}else{
Think.setValue("game_id", {$Think.get.game_id|default = 0});
}
Think.setValue("server_id", {$data.area_id|default = 0});
Think.setValue("giftbag_version", {$data.giftbag_version|default = 0});
Think.setValue("giftbag_type", {$data.giftbag_type|default = 1});
Think.setValue("level", {$data.level|default = 0});
// $('#submit').click(function(){
// $('#form').submit();
// });
if($("#game_id").val()){
fun_ajax($("#game_id").val());
}
$(function(){
$("#game_name").val($("#game_id option:selected").text());
$('.date').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('.time').datetimepicker({
language:"zh-CN",
hour: 13,
minute: 15
});
showTab();
//Initialize();
$("#game_id").select2();
});
/*获取区服名称*/
$("#server_id").change(function() {
$("#server_name").val($("#server_id option:selected").text());
});
/*获取游戏名称*/
var trid = $('.js-typeradio:checked').siblings('input').css({'display':'none'}).attr('id');
$('.'+trid).hide();
var ratio_type=$("input[type=radio]:checked").val();
if(ratio_type == 1){
var file_type="apk";
}else if(ratio_type == 2){
var file_type="ipa";
}
$("#game_id").change(function(){
$(".inp_radio").click();
});
$(".inp_radio").click(function(){
if($("#game_id option:selected").val()==0){
alert('请选择游戏');
return false;
}
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
if(ratio_type == 1){
var file_type="apk";
}else if(ratio_type == 2){
var file_type="ipa";
}
var str = location.href,game_id=$("#game_id option:selected").val();
str = str.replace('.html','');
str = str+'/game_id/'+game_id+'/ratio_type/'+ratio_type;
window.location.href=str;
});
function Initialize(){
$server_name = "{:get_area_name($data['server_id'])}";
$("#server_id").html("<option value='{$data.server_id}'>"+$server_name+"</option>");
$("#server_name").val($("#server_id option:selected").text());
}
/*获取游戏名称*/
$("#game_id").change(function(){
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
$("#game_name").val($("#game_id option:selected").text());
$("input[name='server_version']").val('ratio_type');
if(ratio_type==2){
$(".server_version_name").html('<input type="radio" class="inp_radio" checked value="2" name="giftbag_version" > 苹果');
}else{
$(".server_version_name").html('<input type="radio" class="inp_radio" checked value="1" name="giftbag_version" > 安卓');
}
fun_ajax($("#game_id option:selected").val());
});
function fun_ajax(gid){
var url = "{:U('Giftbag/get_ajax_area_list')}";
$.ajax({
type:"post",
url:url,
dataType:"json",
data:{game_id:gid},
success:function(data){
fun_html(data);
$("#server_name").val($("#server_id option:selected").text());
},
error:function(){
layer.msg('服务器异常',{icon:5});
}
})
}
function fun_html(data){
var area='';
if(data == null){
$("#server_id").html('<option value="">请选择区服</option>');
}else{
area+="<option value=''>请选择区服</option>";
for (var i = 0; i<data.length; i++){
area+='<option value="'+data[i]['id']+'">'+data[i]['server_name']+'</option>';
}
$("#server_id").html(area);
}
}
</script>
</block>

@ -0,0 +1,252 @@
<extend name="Public/base" />
<block name="css">
<!-- <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/area1.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>
<script type="text/javascript" src="__JS__/jquery.mousewheel.js"></script>
<style>
#form .txt_area.download_url {width:400px;}
.tabcon1711 .table_radio2 .table_btn {width:215px;}
</style>
</block>
<block name="body">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<script type="text/javascript" src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<style>
.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;}
.tabcon1711 .select2-container--default .select2-selection--single{
font-size: 12px;
color: #555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #fff;
border: 1px solid #ccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-webkit-transition: border linear .2s, box-shadow linear .2s;
-moz-transition: border linear .2s, box-shadow linear .2s;
-o-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;height:30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__rendered {line-height: 30px;}
.tabcon1711 .select2-container--default .select2-selection--single .select2-selection__arrow {height:30px;}
.tabcon1711 .select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.tabcon1711 .select2-results__option[aria-selected] {font-size:12px;}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">资源申请编辑</h3>
<p class="description_text"></p>
</div>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('apply_edit?id='.$data['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"><i class="mustmark" style="margin-left:-7px">*</i>游戏名称:</td>
<td class="r" >
<input type="text" class="txt " name="game_name" value="{$data['game_name']}" placeholder="请输入游戏名称" readonly="true">
</td>
</tr>
<tr>
<td class="l">游戏区服:</td>
<td class="r">
<input type="text" class="txt " name="server_name" value="{$data['server_name']}" placeholder="请输入区服" readonly="true">
</td>
</tr>
<tr>
<td class="l">账号:</td>
<td class="r">
<input type="text" class="txt " name="user_account" value="{$data['user_account']}" placeholder="请输入游戏账号" readonly="true">
</td>
</tr>
<tr>
<td class="l">密码:</td>
<td class="r">
<input type="text" class="txt " name="user_password" value="{:base64_decode($data['user_password'])}" placeholder="请输入游戏密码">
</td>
</tr>
<tr>
<td class="l">角色名称:</td>
<td class="r">
<input type="text" class="txt " name="role_name" value="{$data['role_name']}" placeholder="请输入角色名称">
</td>
</tr>
</tbody>
</table>
</div>
<input type="hidden" name="id" value="{$data['id']}">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="form-item cf">
<button class="submit_btn ajax-post " id="submit" type="submit" target-form="form-horizontal" style="margin-left:210px;">
保存
</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="Giftbag/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">
<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 type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript">
//导航高亮
$('.side-sub-menu').eq(0).show();
highlight_subnav('{:U('TestResource/index')}');
$('#submit').click(function(){
$('#form').submit();
});
if($("#game_id").val()){
fun_ajax($("#game_id").val());
}
$(function(){
showTab();
$("#game_name").val($("#game_id option:selected").text());
$('.date').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('.time').datetimepicker({
language:"zh-CN",
hour: 13,
minute: 15
});
showTab();
//Initialize();
$("#game_id").select2();
});
/*获取区服名称*/
$("#server_id").change(function() {
$("#server_name").val($("#server_id option:selected").text());
});
/*获取游戏名称*/
var trid = $('.js-typeradio:checked').siblings('input').css({'display':'none'}).attr('id');
$('.'+trid).hide();
var ratio_type=$("input[type=radio]:checked").val();
if(ratio_type == 1){
var file_type="apk";
}else if(ratio_type == 2){
var file_type="ipa";
}
$("#game_id").change(function(){
$(".inp_radio").click();
});
$(".inp_radio").click(function(){
if($("#game_id option:selected").val()==0){
alert('请选择游戏');
return false;
}
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
if(ratio_type == 1){
var file_type="apk";
}else if(ratio_type == 2){
var file_type="ipa";
}
var str = location.href,game_id=$("#game_id option:selected").val();
str = str.replace('.html','');
str = str+'/game_id/'+game_id+'/ratio_type/'+ratio_type;
window.location.href=str;
});
function Initialize(){
$server_name = "{:get_area_name($data['server_id'])}";
$("#server_id").html("<option value='{$data.server_id}'>"+$server_name+"</option>");
$("#server_name").val($("#server_id option:selected").text());
}
/*获取游戏名称*/
$("#game_id").change(function(){
var ratio_type=$("#game_id").children('option:selected').attr('sdk_version');
$("#game_name").val($("#game_id option:selected").text());
$("input[name='server_version']").val('ratio_type');
if(ratio_type==2){
$(".server_version_name").html('<input type="radio" class="inp_radio" checked value="2" name="giftbag_version" > 苹果');
}else{
$(".server_version_name").html('<input type="radio" class="inp_radio" checked value="1" name="giftbag_version" > 安卓');
}
fun_ajax($("#game_id option:selected").val());
});
function fun_ajax(gid){
var url = "{:U('Giftbag/get_ajax_area_list')}";
$.ajax({
type:"post",
url:url,
dataType:"json",
data:{game_id:gid},
success:function(data){
fun_html(data);
$("#server_name").val($("#server_id option:selected").text());
},
error:function(){
layer.msg('服务器异常',{icon:5});
}
})
}
function fun_html(data){
var area='';
if(data == null){
$("#server_id").html('<option value="">请选择区服</option>');
}else{
area+="<option value=''>请选择区服</option>";
for (var i = 0; i<data.length; i++){
area+='<option value="'+data[i]['id']+'">'+data[i]['server_name']+'</option>';
}
$("#server_id").html(area);
}
}
</script>
</block>

@ -0,0 +1,451 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<script src="__STATIC__/jquery.form.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<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;}
.layui-layer-dialog .layui-layer-content{color:red}
</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('index',array('type'=>1))}">测试资源申请</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="jssearch fl cf search_list" style="margin-bottom:15px">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<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()" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="server_id" name="server_name" class="select_gallery" style="width:120px;">
<option value="">区服名称</option>
<if condition="$_GET['server_name'] neq ''"><option value="{$_GET['server_name']}">{$_GET['server_name']}</option></if>
</select>
</div>
<div class="input-list">
<input type="text" name="user_account" placeholder="测试账号" class="" value="{:I('user_account')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" name="role_name" placeholder="角色名称" class="" value="{:I('role_name')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" id="time-start" name="start" class="" value="{:I('start')}" placeholder="注册开始时间" />
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="end" class="" value="{:I('end')}" placeholder="注册结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
</empty>
<input type="hidden" name="" value="" class="sortBy">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('TestResource/index','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
<div class="fl button_list" style="width:100%;">
<div class="tools">
<empty name="show_status">
<a class="fr" id="batch_add"><span class="button_icon button_icon9"></span>批量申请后续</a>
<a class="fr" href="{:U('add?model='.$model['id'])}"><span class="button_icon button_icon1"></span>新增测试账号</a>
</empty>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th>产品名称</th>
<th>区服</th>
<th>测试账号</th>
<th>所属推广员</th>
<th>角色名称</th>
<th>累计发放资源</th>
<th>累计发放次数</th>
<th>申请数量</th>
<th>状态</th>
<th ><a class="paixu" data-order='create_time'>注册时间</a></th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<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.game_name}</td>
<td>{$data.server_name}</td>
<td>{$data.user_account}</td>
<td>{$data.promote_account}</td>
<td>{$data.role_name}</td>
<td>{$data.verify_resource_count}</td>
<td>{$data.verify_count}</td>
<td>{$data.apply_resource_count}</td>
<td>
<if condition="$data['check_status'] eq 1">
正常
<else />
冻结
</if>
</td>
<td>{$data.create_time}</td>
<td>
<a href="{:U('edit',array('id'=>$data['id']))}" class="">编辑</a>
<a href="{:U('apply',array('id'=>$data['id']))}" class="">申请</a>
</td>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
{$_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="Promote/lists/type/{:I('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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$('.side-sub-menu').eq(0).show();
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('testResource/index')}');
$(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;
});
$(".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();
}
});
$("#admin").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();
});
$('#admin #i_list_id').on('keyup',function(event) {
var val = $.trim($(this).val()).toLowerCase();
$(this).closest('.drop-down').find('#i_list_idh').val(val);
});
$("#admin #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(text);
})
});
//下拉内容框
$(".drop-down2").on('click',function(event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
/* 状态搜索子菜单 */
/*渠道删除*/
$('.delete').click(function(){
var id = $(this).attr('data-id');
layer.confirm('渠道删除后,下级渠道同时被删除,所属数据归属于自然渠道!', {
title:'确定要删除该渠道?',
icon:0,
btn: ['删除','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: "{:U('del_promote')}",
dataType: 'json',
async: false,
data: {id:id},
success:function(data){
if(data.status==1){
layer.msg(data.msg);
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
}, function(){
layer.close();
});
})
})
</script>
<script type="text/javascript">
//点击字母按照条件按钮筛选
$(".pro_promot_select_list_con").click(function(){
//选中高亮样式
$(this).addClass('active');
$(this).siblings().removeClass('active');
var that = $(this);
var index = $(this).attr("data-index");
$("#game_list li").each(function(index,ele){
var short = $(this).attr('data-short');
$(this).show();
if(that.attr('data-index')){
if(that.attr('data-index')!=short.charAt(0)){
$(this).hide();
}
}
})
});
//打开弹窗
$(".ajax-view").click(function(){
//获取游戏列表
var url = "{:U('Promote/getPromoteGame')}";
var id = $(this).attr('data-id');
$.post(url,{id:id},function(res){
if(res.code==1){
$(".pro_promot_select_list a").eq(0).addClass('active');
$(".pro_promot_select_list a").eq(0).siblings().removeClass('active');
var game_list = res.data.game_list;
var promote_info = res.data.promote_info;
var lis = [];
$.each(game_list,function(index,ele){
if(ele.game_name.length>6){
ele.game_name = ele.game_name .substring(0,6)+"..."
}
lis.push('<li class="fl pro_promot_game_con" data-short="'+ele.short+'">');
if(promote_info['game_ids']==''){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
if(promote_info['game_ids'].indexOf(ele.id)>-1){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
}
}
lis.push('<label for="gameCheck'+index+'" class="fl"></label>');
lis.push('<span class="fl pro_promot_game_name">'+ele.game_name+'</span>');
lis.push('</li>');
});
$("#game_list").html(lis.join(''));
$(".pro_promot_number").text(res.data.promote_info.account);
$("#se_promote_id").val(res.data.promote_info.id);
$(".pro_promot").css("display","block");
jsgameid();
}else{
alert('请求失败');
}
});
});
//保存修改
$(".pro_promot_btn_confirm").click(function(){
$("#ajaxForm").ajaxSubmit(function(res){
layer.msg(res.msg);
$(".pro_promot").hide();
});
return false;
});
//关闭弹窗
$(".pro_promot_close").click(function(){
$(".pro_promot").css("display","none");
});
//取消修改
$(".pro_promot_btn_cancel").click(function(){
$(".pro_promot").css("display","none");
layer.msg('修改已取消');
});
$(".jsgamecheckall").click(function(){
$(this).closest('.jsgamecheckallbox').siblings("#game_list").find(".jsgameid").prop("checked", this.checked);
});
//可申请游戏 全选及全选反选 功能 @author zwm date 20180604
function jsgameid(){
$(".jsgameid").click(function(){
var option = $(this).closest('ul').find(".jsgameid"),
checkall = $(this).closest('ul').siblings('.jsgamecheckallbox').find('.jsgamecheckall');
option.each(function(i){
if(!this.checked){
checkall.prop("checked", false);
return false;
}else{
checkall.prop("checked", true);
}
});
});
}
$("#game_id").change(function(){
$.ajax({
url:"{:U('Ajax/getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").attr('game-id')},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
$('#batch_add').click(function () {
var ids = $('.ids:checked');
if (ids.length > 0) {
var str = new Array();
ids.each(function () {
str.push($(this).val());
});
param = str.join(',');
} else {
layer.msg('请选择要操作的数据');
return false;
}
var url = "{:U('apply','','')}" + '/id/' + param;
window.location.href = url;
});
</script>
</block>

@ -0,0 +1,445 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<script src="__STATIC__/jquery.form.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<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;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 20px;}
.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:38px;line-height:38px;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;}
</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')}">测试资源申请记录</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="butnbox">
<div class="butnlist jscheckbutn">
<a <if condition="$_GET['type'] eq ''">class="butn last" <else/> class="butn"</if> href="{:U('lists')}" >全部</a>
<a <if condition="$_GET['type'] eq '0'">class="butn last" <else/> class="butn"</if> href="{:U('lists',['type'=>0])}">待审核</a>
<a <if condition="$_GET['type'] eq '2'">class="butn last" <else/> class="butn"</if> href="{:U('lists',['type'=>2])}">审核通过</a>
<a <if condition="$_GET['type'] eq '1'">class="butn last" <else/> class="butn"</if> href="{:U('lists',['type'=>1])}">审核未通过</a>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" style="margin-bottom:15px">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<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()" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="server_id" name="server_name" class="select_gallery" style="width:120px;">
<option value="">区服名称</option>
<if condition="$_GET['server_name'] neq ''"><option value="{$_GET['server_name']}">{$_GET['server_name']}</option></if>
</select>
</div>
<div class="input-list">
<input type="text" name="role_name" placeholder="角色名" class="" value="{:I('role_name')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" name="user_account" placeholder="请输入玩家账号" class="" value="{:I('user_account')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" id="time-start" name="start" class="" value="{:I('start')}" placeholder="注册开始时间" />
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="end" class="" value="{:I('end')}" placeholder="注册结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
</empty>
<input type="hidden" name="" value="" class="sortBy">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('TestResource/lists','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>游戏名称</th>
<th>区服</th>
<th>测试账号</th>
<th>手机号</th>
<th>角色名称</th>
<th>申请数量</th>
<th>实际发放</th>
<th>备注</th>
<th>审核状态</th>
<th>审核意见</th>
<th>申请人</th>
<th ><a class="paixu" data-order='create_time'>申请时间</a></th>
<th ><a class="paixu" data-order='create_time'>审核时间</a></th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($data)">
<tr>
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="s">
<tr>
<td>{$s.game_name}</td>
<td>{$s.server_name}</td>
<td>{$s.user_account}</td>
<td>{$s.phone}</td>
<td>{$s.role_name}</td>
<td>{$s.apply_resource}</td>
<td>{$s.verify_resource}</td>
<td style="max-width: 200px;">{$s.apply_remark}</td>
<td>
<if condition="$s['apply_status'] eq 1">审核未通过
<elseif condition="$s['apply_status'] eq 2" />审核通过
<else />待审核
</if>
</td>
<td style="color: red;max-width: 200px;">{$s.verify_remark}</td>
<!-- <td>{$s.opinion}</td> -->
<td>{$s.promote_account}</td>
<td>{:date('Y-m-d H:i:s',$s['create_time'])}</td>
<if condition="I('type') neq 1">
<if condition="$s['notice_status'] eq 1 or $s['status'] eq 0">
<td>{:empty($s['verify_time'])?'':date('Y-m-d H:i:s',$s['verify_time'])}</td>
<else/>
<td>尚未审核</td>
</if>
<else></else>
</if>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
{$_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="Promote/lists/type/{:I('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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$('.side-sub-menu').eq(0).show();
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('testResource/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;
});
$(".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();
}
});
//下拉内容框
$(".drop-down2").on('click',function(event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
/* 状态搜索子菜单 */
/*渠道删除*/
$('.delete').click(function(){
var id = $(this).attr('data-id');
layer.confirm('渠道删除后,下级渠道同时被删除,所属数据归属于自然渠道!', {
title:'确定要删除该渠道?',
icon:0,
btn: ['删除','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: "{:U('del_promote')}",
dataType: 'json',
async: false,
data: {id:id},
success:function(data){
if(data.status==1){
layer.msg(data.msg);
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
}, function(){
layer.close();
});
})
})
</script>
<script type="text/javascript">
//点击字母按照条件按钮筛选
$(".pro_promot_select_list_con").click(function(){
//选中高亮样式
$(this).addClass('active');
$(this).siblings().removeClass('active');
var that = $(this);
var index = $(this).attr("data-index");
$("#game_list li").each(function(index,ele){
var short = $(this).attr('data-short');
$(this).show();
if(that.attr('data-index')){
if(that.attr('data-index')!=short.charAt(0)){
$(this).hide();
}
}
})
});
//打开弹窗
$(".ajax-view").click(function(){
//获取游戏列表
var url = "{:U('Promote/getPromoteGame')}";
var id = $(this).attr('data-id');
$.post(url,{id:id},function(res){
if(res.code==1){
$(".pro_promot_select_list a").eq(0).addClass('active');
$(".pro_promot_select_list a").eq(0).siblings().removeClass('active');
var game_list = res.data.game_list;
var promote_info = res.data.promote_info;
var lis = [];
$.each(game_list,function(index,ele){
if(ele.game_name.length>6){
ele.game_name = ele.game_name .substring(0,6)+"..."
}
lis.push('<li class="fl pro_promot_game_con" data-short="'+ele.short+'">');
if(promote_info['game_ids']==''){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
if(promote_info['game_ids'].indexOf(ele.id)>-1){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
}
}
lis.push('<label for="gameCheck'+index+'" class="fl"></label>');
lis.push('<span class="fl pro_promot_game_name">'+ele.game_name+'</span>');
lis.push('</li>');
});
$("#game_list").html(lis.join(''));
$(".pro_promot_number").text(res.data.promote_info.account);
$("#se_promote_id").val(res.data.promote_info.id);
$(".pro_promot").css("display","block");
jsgameid();
}else{
alert('请求失败');
}
});
});
//保存修改
$(".pro_promot_btn_confirm").click(function(){
$("#ajaxForm").ajaxSubmit(function(res){
layer.msg(res.msg);
$(".pro_promot").hide();
});
return false;
});
//关闭弹窗
$(".pro_promot_close").click(function(){
$(".pro_promot").css("display","none");
});
//取消修改
$(".pro_promot_btn_cancel").click(function(){
$(".pro_promot").css("display","none");
layer.msg('修改已取消');
});
$(".jsgamecheckall").click(function(){
$(this).closest('.jsgamecheckallbox').siblings("#game_list").find(".jsgameid").prop("checked", this.checked);
});
//可申请游戏 全选及全选反选 功能 @author zwm date 20180604
function jsgameid(){
$(".jsgameid").click(function(){
var option = $(this).closest('ul').find(".jsgameid"),
checkall = $(this).closest('ul').siblings('.jsgamecheckallbox').find('.jsgamecheckall');
option.each(function(i){
if(!this.checked){
checkall.prop("checked", false);
return false;
}else{
checkall.prop("checked", true);
}
});
});
}
$("#game_id").change(function(){
$.ajax({
url:"{:U('Ajax/getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").attr('game-id')},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
$('#batch_add').click(function () {
var ids = $('.ids:checked');
if (ids.length > 0) {
var str = new Array();
ids.each(function () {
str.push($(this).val());
});
param = str.join(',');
} else {
layer.msg('请选择要操作的数据');
return false;
}
var url = "{:U('apply','','')}" + '/id/' + param;
window.location.href = url;
});
</script>
</block>

@ -0,0 +1,411 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<script src="__STATIC__/jquery.form.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<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;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 20px;}
.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:38px;line-height:38px;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;}
</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('protectLogList',array('type'=>1))}">日志管理</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="jssearch fl cf search_list" style="margin-bottom:15px">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<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()" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="server_id" name="server_name" class="select_gallery" style="width:120px;">
<option value="">区服名称</option>
<if condition="$_GET['server_name'] neq ''"><option value="{$_GET['server_name']}">{$_GET['server_name']}</option></if>
</select>
</div>
<div class="input-list">
<input type="text" name="role_name" placeholder="角色名" class="" value="{:I('role_name')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" name="user_account" placeholder="测试账号" class="" value="{:I('user_account')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" id="time-start" name="start" class="" value="{:I('start')}" placeholder="注册开始时间" />
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="end" class="" value="{:I('end')}" placeholder="注册结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="form-group normal_space fl">
<label class="form-title select-title">异常类型:</label>
<select id="types" name="types" class="select_gallery" >
<option game-id="0" value="">请选择异常类型</option>
<option value="1" <if condition="$_REQUEST['types'] eq 1">selected="selected"</if>>登陆ip异常</option>
<option value="2" <if condition="$_REQUEST['types'] eq 2">selected="selected"</if>>设备信息异常</option>
</select>
</div>
</empty>
<input type="hidden" name="" value="" class="sortBy">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('TestResource/protectLogList','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>产品名称</th>
<th>区服</th>
<th>测试账号</th>
<th>所属推广员</th>
<th>角色名称</th>
<th>异常内容</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($data)">
<tr>
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="s">
<tr>
<td>{$s.game_name}</td>
<td>{$s.server_name}</td>
<td>{$s.user_account}</td>
<td>{$s.promote_account}</td>
<td>{$s.nickname}</td>
<td>{$s.detail}</td>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
{$_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="Promote/lists/type/{:I('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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$('.side-sub-menu').eq(0).show();
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('testResource/protectLogList')}');
$(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;
});
$(".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();
}
});
//下拉内容框
$(".drop-down2").on('click',function(event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
/* 状态搜索子菜单 */
/*渠道删除*/
$('.delete').click(function(){
var id = $(this).attr('data-id');
layer.confirm('渠道删除后,下级渠道同时被删除,所属数据归属于自然渠道!', {
title:'确定要删除该渠道?',
icon:0,
btn: ['删除','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: "{:U('del_promote')}",
dataType: 'json',
async: false,
data: {id:id},
success:function(data){
if(data.status==1){
layer.msg(data.msg);
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
}, function(){
layer.close();
});
})
})
</script>
<script type="text/javascript">
//点击字母按照条件按钮筛选
$(".pro_promot_select_list_con").click(function(){
//选中高亮样式
$(this).addClass('active');
$(this).siblings().removeClass('active');
var that = $(this);
var index = $(this).attr("data-index");
$("#game_list li").each(function(index,ele){
var short = $(this).attr('data-short');
$(this).show();
if(that.attr('data-index')){
if(that.attr('data-index')!=short.charAt(0)){
$(this).hide();
}
}
})
});
//打开弹窗
$(".ajax-view").click(function(){
//获取游戏列表
var url = "{:U('Promote/getPromoteGame')}";
var id = $(this).attr('data-id');
$.post(url,{id:id},function(res){
if(res.code==1){
$(".pro_promot_select_list a").eq(0).addClass('active');
$(".pro_promot_select_list a").eq(0).siblings().removeClass('active');
var game_list = res.data.game_list;
var promote_info = res.data.promote_info;
var lis = [];
$.each(game_list,function(index,ele){
if(ele.game_name.length>6){
ele.game_name = ele.game_name .substring(0,6)+"..."
}
lis.push('<li class="fl pro_promot_game_con" data-short="'+ele.short+'">');
if(promote_info['game_ids']==''){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
if(promote_info['game_ids'].indexOf(ele.id)>-1){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
}
}
lis.push('<label for="gameCheck'+index+'" class="fl"></label>');
lis.push('<span class="fl pro_promot_game_name">'+ele.game_name+'</span>');
lis.push('</li>');
});
$("#game_list").html(lis.join(''));
$(".pro_promot_number").text(res.data.promote_info.account);
$("#se_promote_id").val(res.data.promote_info.id);
$(".pro_promot").css("display","block");
jsgameid();
}else{
alert('请求失败');
}
});
});
//保存修改
$(".pro_promot_btn_confirm").click(function(){
$("#ajaxForm").ajaxSubmit(function(res){
layer.msg(res.msg);
$(".pro_promot").hide();
});
return false;
});
//关闭弹窗
$(".pro_promot_close").click(function(){
$(".pro_promot").css("display","none");
});
//取消修改
$(".pro_promot_btn_cancel").click(function(){
$(".pro_promot").css("display","none");
layer.msg('修改已取消');
});
$(".jsgamecheckall").click(function(){
$(this).closest('.jsgamecheckallbox').siblings("#game_list").find(".jsgameid").prop("checked", this.checked);
});
//可申请游戏 全选及全选反选 功能 @author zwm date 20180604
function jsgameid(){
$(".jsgameid").click(function(){
var option = $(this).closest('ul').find(".jsgameid"),
checkall = $(this).closest('ul').siblings('.jsgamecheckallbox').find('.jsgamecheckall');
option.each(function(i){
if(!this.checked){
checkall.prop("checked", false);
return false;
}else{
checkall.prop("checked", true);
}
});
});
}
$("#game_id").change(function(){
$.ajax({
url:"{:U('Ajax/getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").attr('game-id')},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
$('#batch_add').click(function () {
var ids = $('.ids:checked');
if (ids.length > 0) {
var str = new Array();
ids.each(function () {
str.push($(this).val());
});
param = str.join(',');
} else {
layer.msg('请选择要操作的数据');
return false;
}
var url = "{:U('apply','','')}" + '/id/' + param;
window.location.href = url;
});
</script>
</block>

@ -0,0 +1,483 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<script src="__STATIC__/jquery.form.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<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;}
.layui-layer-dialog .layui-layer-content{color:red}
</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('supportNumberList',array('type'=>1))}">扶持号管理</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="jssearch fl cf search_list" style="margin-bottom:15px">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<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()" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="server_id" name="server_name" class="select_gallery" style="width:120px;">
<option value="">区服名称</option>
<if condition="$_GET['server_name'] neq ''"><option value="{$_GET['server_name']}">{$_GET['server_name']}</option></if>
</select>
</div>
<div class="input-list">
<input type="text" name="role_name" placeholder="角色名称" class="" value="{:I('role_name')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" name="user_account" placeholder="测试账号" class="" value="{:I('user_account')}"/>&nbsp;
</div>
<div class="input-list">
<input type="text" name="promote_name" placeholder="所属推广员" class="" value="{:I('promote_name')}"/>&nbsp;
</div>
</empty>
<input type="hidden" name="" value="" class="sortBy">
<input type="hidden" name="type" value="{$_GET['type']}">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('TestResource/supportNumberList','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>产品名称</th>
<th>区服</th>
<th>测试账号</th>
<th>所属推广员</th>
<th>角色名称</th>
<th>设备信息</th>
<th>状态</th>
<th >创建时间</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($data)">
<tr>
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="s">
<tr data-id="{$s.user_id}">
<td>{$s.game_name}</td>
<td>{$s.server_name}</td>
<td>{$s.user_account}</td>
<td>{$s.promote_account}</td>
<td>{$s.role_name}</td>
<td>
<if condition="$s['device_number'] eq ''">尚未登录,无设备号
<else/>{$s.device_number}
</if>
</td>
<td>
<if condition="$s['check_status'] eq 0">冻结
<else/>启用
</if>
</td>
<td>{$s.create_time}</td>
<td>
<if condition="$s['check_status'] eq 1">
<a href="javascript:;" class="froze-btn editbtn">冻结</a>
<else/>
<a href="javascript:;" class="unfroze-btn editbtn">启用</a>
<!-- <a class="confirm ajax-get" href="{:U('TestResource/unfreezeSupport?id='.$s['id'])}">启用</a>-->
</if>
<a href="javascript:;" data-id="{$s.user_id}" class="changePassward-btn editbtn">重置密码</a>
</td>
</tr>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
{$_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="Promote/lists/type/{:I('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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$('.side-sub-menu').eq(0).show();
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('testResource/supportNumberList')}');
$(function(){
$('.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('TestResource/freezeSupport')}",
data: {support_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
layer.msg(response.msg, {time: 1000}, function() {
window.location.href = window.location.href
})
}
})
})
}
})
$('.unfroze-btn').on({
click: function() {
var id = $(this).parents('tr').eq(0).attr('data-id')
layer.confirm('是否确认启用帐号?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "{:U('TestResource/unfreezeSupport')}",
data: {support_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
layer.msg(response.msg, {time: 1000}, function() {
window.location.href = window.location.href
})
}
})
})
}
})
$('.changePassward-btn').on({
click: function() {
var id = $(this).attr('data-id')
console.log(id);
layer.confirm('是否确认重置账号密码?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "{:U('TestResource/rechangePassward')}",
data: {support_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
console.log(response)
layer.confirm(response.msg, {icon: 3, title:'提示'}, function() {
window.location.href = window.location.href
})
}
})
})
}
})
//搜索功能
$("#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();
}
});
$("#admin").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();
});
$('#admin #i_list_id').on('keyup',function(event) {
var val = $.trim($(this).val()).toLowerCase();
$(this).closest('.drop-down').find('#i_list_idh').val(val);
});
$("#admin #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(text);
})
});
//下拉内容框
$(".drop-down2").on('click',function(event) {
var navlist = $(this).find('.i_list_li');
if (navlist.hasClass('hidden')) {
navlist.removeClass('hidden');
$('#i_list_id').focus().val('');
} else {
navlist.addClass('hidden');
}
$(document).one("click", function(){
navlist.addClass('hidden');
});
event.stopPropagation();
});
/* 状态搜索子菜单 */
/*渠道删除*/
$('.delete').click(function(){
var id = $(this).attr('data-id');
layer.confirm('渠道删除后,下级渠道同时被删除,所属数据归属于自然渠道!', {
title:'确定要删除该渠道?',
icon:0,
btn: ['删除','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: "{:U('del_promote')}",
dataType: 'json',
async: false,
data: {id:id},
success:function(data){
if(data.status==1){
layer.msg(data.msg);
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
}, function(){
layer.close();
});
})
})
</script>
<script type="text/javascript">
//点击字母按照条件按钮筛选
$(".pro_promot_select_list_con").click(function(){
//选中高亮样式
$(this).addClass('active');
$(this).siblings().removeClass('active');
var that = $(this);
var index = $(this).attr("data-index");
$("#game_list li").each(function(index,ele){
var short = $(this).attr('data-short');
$(this).show();
if(that.attr('data-index')){
if(that.attr('data-index')!=short.charAt(0)){
$(this).hide();
}
}
})
});
//打开弹窗
$(".ajax-view").click(function(){
//获取游戏列表
var url = "{:U('Promote/getPromoteGame')}";
var id = $(this).attr('data-id');
$.post(url,{id:id},function(res){
if(res.code==1){
$(".pro_promot_select_list a").eq(0).addClass('active');
$(".pro_promot_select_list a").eq(0).siblings().removeClass('active');
var game_list = res.data.game_list;
var promote_info = res.data.promote_info;
var lis = [];
$.each(game_list,function(index,ele){
if(ele.game_name.length>6){
ele.game_name = ele.game_name .substring(0,6)+"..."
}
lis.push('<li class="fl pro_promot_game_con" data-short="'+ele.short+'">');
if(promote_info['game_ids']==''){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
if(promote_info['game_ids'].indexOf(ele.id)>-1){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
}
}
lis.push('<label for="gameCheck'+index+'" class="fl"></label>');
lis.push('<span class="fl pro_promot_game_name">'+ele.game_name+'</span>');
lis.push('</li>');
});
$("#game_list").html(lis.join(''));
$(".pro_promot_number").text(res.data.promote_info.account);
$("#se_promote_id").val(res.data.promote_info.id);
$(".pro_promot").css("display","block");
jsgameid();
}else{
alert('请求失败');
}
});
});
//保存修改
$(".pro_promot_btn_confirm").click(function(){
$("#ajaxForm").ajaxSubmit(function(res){
layer.msg(res.msg);
$(".pro_promot").hide();
});
return false;
});
//关闭弹窗
$(".pro_promot_close").click(function(){
$(".pro_promot").css("display","none");
});
//取消修改
$(".pro_promot_btn_cancel").click(function(){
$(".pro_promot").css("display","none");
layer.msg('修改已取消');
});
$(".jsgamecheckall").click(function(){
$(this).closest('.jsgamecheckallbox').siblings("#game_list").find(".jsgameid").prop("checked", this.checked);
});
//可申请游戏 全选及全选反选 功能 @author zwm date 20180604
function jsgameid(){
$(".jsgameid").click(function(){
var option = $(this).closest('ul').find(".jsgameid"),
checkall = $(this).closest('ul').siblings('.jsgamecheckallbox').find('.jsgamecheckall');
option.each(function(i){
if(!this.checked){
checkall.prop("checked", false);
return false;
}else{
checkall.prop("checked", true);
}
});
});
}
$("#game_id").change(function(){
$.ajax({
url:"{:U('Ajax/getServer')}",
type:"post",
data:{game_id:$("#game_id option:selected").attr('game-id')},
dataType:'json',
success:function(data){
str = "<option value=''>请选择区服</option>";
for (var i in data){
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
});
$('#batch_add').click(function () {
var ids = $('.ids:checked');
if (ids.length > 0) {
var str = new Array();
ids.each(function () {
str.push($(this).val());
});
param = str.join(',');
} else {
layer.msg('请选择要操作的数据');
return false;
}
var url = "{:U('apply','','')}" + '/id/' + param;
window.location.href = url;
});
</script>
</block>

@ -8,112 +8,131 @@ class SpendRepository {
}
private function assembleDayRecords($items, $dayList, $valueColumn, $dayColumn = 'day')
private function assembleRecords($items, $keys, $valueColumn, $keyColumn = 'day')
{
$records = [];
foreach ($dayList as $day) {
$dayValue = 0;
foreach ($keys as $key) {
$value = 0;
foreach ($items as $item) {
if ($item[$dayColumn] == $day) {
$dayValue = $item[$valueColumn];
if ($item[$keyColumn] == $key) {
$value = $item[$valueColumn];
}
}
$records[$day] = $dayValue;
$records[$key] = $value;
}
return $records;
}
/**
* 付费游戏数
*/
public function getPayGameCountByDay($params) {
private function getGameGroupConditions($params)
{
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$ids = $params['promote_ids'] ?? [];
$isBan = $params['is_ban'] ?? false;
$gameIds = $params['game_ids'] ?? [];
$conditions = [];
$conditions['pay_status'] = 1;
$conditions['promote_id'] = ['in', $ids];
$conditions['pay_time'] = ['between', [$beginTime, $endTime]];
$conditions['game_id'] = ['in', $gameIds];
$conditions['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
return $conditions;
}
private function getDayGroupConditions($params)
{
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$isBan = $params['is_ban'] ?? false;
$dayList = $params['dayList'] ?? [];
$map = [];
$map['pay_status'] = 1;
$map['promote_id'] = ['in', $ids];
$map['pay_time'] = ['between', [$beginTime, $endTime]];
$map['game_id'] = $gameId > 0 ? $gameId : ['gt', 0];
$map['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
$conditions = [];
$conditions['pay_status'] = 1;
$conditions['promote_id'] = ['in', $ids];
$conditions['pay_time'] = ['between', [$beginTime, $endTime]];
$conditions['game_id'] = $gameId > 0 ? $gameId : ['gt', 0];
$conditions['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
$field = 'FROM_UNIXTIME(pay_time,"%Y-%m-%d") as day, count(DISTINCT game_id) count';
$items = M('spend', 'tab_')->field($field)->where($map)->group('day')->select();
return $this->assembleDayRecords($items, $dayList, 'count');
return $conditions;
}
/**
* 按天统计付款总额
* 付费游戏数
*/
public function getPayAmountByDay($params) {
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$isBan = $params['is_ban'] ?? false;
public function getPayGameCountGroupByDay($params)
{
$dayList = $params['dayList'] ?? [];
$conditions = $this->getDayGroupConditions($params);
$field = 'FROM_UNIXTIME(pay_time,"%Y-%m-%d") as day, count(DISTINCT game_id) count';
$items = M('spend', 'tab_')->field($field)->where($conditions)->group('day')->select();
return $this->assembleRecords($items, $dayList, 'count');
}
$map['pay_status'] = 1;
$map['pay_time'] = ['between', [$beginTime, $endTime]];
$map['game_id'] = $gameId > 0 ? $gameId : ['gt', 0];
$map['promote_id'] = ['in', $ids];
$map['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
/**
* 付费游戏数
*/
public function getPayGameCountGroupByGame($params)
{
$gameIds = $params['game_ids'] ?? [];
$conditions = $this->getGameGroupConditions($params);
$field = 'game_id, count(*) count';
$items = M('spend', 'tab_')->field($field)->where($conditions)->group('game_id')->select();
return $this->assembleRecords($items, $gameIds, 'count', 'game_id');
}
/**
* 按天统计付款总额
*/
public function getPayAmountGroupByDay($params) {
$dayList = $params['dayList'] ?? [];
$conditions = $this->getDayGroupConditions($params);
$field = 'FROM_UNIXTIME(pay_time,"%Y-%m-%d") as day, sum(pay_amount) as amount';
$items = M('spend', 'tab_')->field($field)->where($map)->group('day')->select();
return $this->assembleDayRecords($items, $dayList, 'amount');
$items = M('spend', 'tab_')->field($field)->where($conditions)->group('day')->select();
return $this->assembleRecords($items, $dayList, 'amount');
}
/**
* 按游戏统计付款总额
*/
public function getPayAmountGroupByGame($params) {
$gameIds = $params['game_ids'] ?? [];
$conditions = $this->getGameGroupConditions($params);
$field = 'game_id, sum(pay_amount) as amount';
$items = M('spend', 'tab_')->field($field)->where($conditions)->group('game_id')->select();
return $this->assembleRecords($items, $gameIds, 'amount', 'game_id');
}
/**
* 按天统计付款用户数
*/
public function getPayUserCountByDay($params) {
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$isBan = $params['is_ban'] ?? false;
public function getPayUserCountGroupByDay($params) {
$dayList = $params['dayList'] ?? [];
$map['pay_status'] = 1;
$map['pay_time'] = ['between', [$beginTime, $endTime]];
$map['game_id'] = $gameId > 0 ? $gameId : ['gt', 0];
$map['promote_id'] = ['in', $ids];
$map['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
$conditions = $this->getDayGroupConditions($params);
$field = 'FROM_UNIXTIME(pay_time,"%Y-%m-%d") as day, count(distinct user_id) count';
$items = M('spend', 'tab_')->field($field)->where($conditions)->group('day')->select();
return $this->assembleRecords($items, $dayList, 'count');
}
$items = M('spend', 'tab_')->field($field)->where($map)->group('day')->select();
return $this->assembleDayRecords($items, $dayList, 'count');
/**
* 游戏统计付款用户数
*/
public function getPayUserCountGroupByGame($params) {
$gameIds = $params['game_ids'] ?? [];
$conditions = $this->getGameGroupConditions($params);
$field = 'game_id, count(distinct user_id) count';
$items = M('spend', 'tab_')->field($field)->where($conditions)->group('game_id')->select();
return $this->assembleRecords($items, $dayList, 'count', 'game_id');
}
/**
* 按照时间分组统计新增付费用户数
*/
public function getNewPayUserCountByDay($params) {
public function getNewPayUserCountGroupByDay($params) {
$dayList = $params['dayList'] ?? [];
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$isBan = $params['is_ban'] ?? false;
$map = [];
$map['pay_status']=1;
if ($gameId > 0) {
$map['game_id'] = $gameId;
}
if ($serverId > 0) {
$map['server_id'] = $serverId;
}
$map['promote_id'] = ['in', $ids];
$map['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
$conditions = $this->getDayGroupConditions($params);
$oldMap = $map;
$records = [];
@ -129,26 +148,27 @@ class SpendRepository {
return $records;
}
/**
* 按照时间分组统计新增付费用户数
*/
public function getNewPayUserCountGroupByGame($params) {
$beginTime = $params['begin_time'] ?? 0;
$gameIds = $params['game_ids'] ?? [];
$conditions = $this->getGameGroupConditions($params);
$oldConditions = $conditions;
$oldConditions['pay_time'] = ['lt', $beginTime];
$oldQuery = M('spend', 'tab_')->field('user_id')->where($oldConditions)->group('user_id')->buildSql();
$map['user_id'] = ['exp', ' not in (' . $oldQuery . ')'];
$items = M('spend', 'tab_')->field('count(distinct user_id) count, game_id')->where($conditions)->group('game_id')->find();
return $this->assembleRecords($items, $gameIds, 'amount', 'game_id');
}
/**
* 按照时间分组统计新增付费用户付费金额
*/
public function getNewPayAmountByDay($params) {
public function getNewPayAmountGroupByDay($params) {
$dayList = $params['dayList'] ?? [];
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$isBan = $params['is_ban'] ?? false;
$map = [];
$map['pay_status']=1;
if ($gameId > 0) {
$map['game_id'] = $gameId;
}
if ($serverId > 0) {
$map['server_id'] = $serverId;
}
$map['promote_id'] = ['in', $ids];
$map['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
$conditions = $this->getDayGroupConditions($params);
$oldMap = $map;
$records = [];
@ -165,26 +185,28 @@ class SpendRepository {
return $records;
}
/**
/**
* 按照游戏统计新增付费用户付费金额
*/
public function getNewPayAmountGroupByGame($params) {
$beginTime = $params['begin_time'] ?? 0;
$gameIds = $params['game_ids'] ?? [];
$conditions = $this->getGameGroupConditions($params);
$oldConditions = $conditions;
$oldConditions['pay_time'] = ['lt', $beginTime];
$oldQuery = M('spend', 'tab_')->field('user_id')->where($oldConditions)->group('user_id')->buildSql();
$map['user_id'] = ['exp', ' not in (' . $oldQuery . ')'];
$items = M('spend', 'tab_')->field('sum(pay_amount) amount, game_id')->where($conditions)->group('game_id')->find();
return $this->assembleRecords($items, $gameIds, 'amount', 'game_id');
}
/**
* 统计给定时间前的付费玩家总数
*/
public function getHistoryPayCountByDay($params) {
public function getHistoryPayCountGroupByDay($params)
{
$dayList = $params['dayList'] ?? [];
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$isBan = $params['is_ban'] ?? false;
$map = [];
$map['pay_status']=1;
if ($gameId > 0) {
$map['game_id'] = $gameId;
}
if ($serverId > 0) {
$map['server_id'] = $serverId;
}
$map['promote_id'] = ['in', $ids];
$map['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
$conditions = $this->getDayGroupConditions($params);
$records = [];
foreach ($dayList as $day) {
@ -195,4 +217,16 @@ class SpendRepository {
}
return $records;
}
/**
* 统计给定时间前的付费玩家总数
*/
public function getHistoryPayCountGroupByGame($params)
{
$beginTime = $params['begin_time'] ?? 0;
$conditions = $this->getGameGroupConditions($params);
$conditions['pay_time'] = ['elt', $beginTime];
$items = M('spend', 'tab_')->field('count(DISTINCT user_id) as count, game_id')->where($conditions)->group('game_id')->find();
return $this->assembleRecords($items, $gameIds, 'count', 'game_id');
}
}

@ -8,79 +8,115 @@ class UserRepository {
}
private function assembleDayRecords($items, $dayList, $valueColumn, $dayColumn = 'day')
private function assembleRecords($items, $keys, $valueColumn, $keyColumn = 'day')
{
$records = [];
foreach ($dayList as $day) {
$dayValue = 0;
foreach ($keys as $key) {
$value = 0;
foreach ($items as $item) {
if ($item[$dayColumn] == $day) {
$dayValue = $item[$valueColumn];
if ($item[$keyColumn] == $key) {
$value = $item[$valueColumn];
}
}
$records[$day] = $dayValue;
$records[$key] = $value;
}
return $records;
}
/**
* 按照时间分组统计登录总数
*/
public function getLoginCountByDay($params) {
private function getDayGroupConditions($params)
{
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
$dayList = $params['dayList'] ?? [];
$map = [];
$map['login_time'] = ['between', [$beginTime, $endTime]];
$conditions = [];
$conditions['promote_id'] = ['in', $ids];
$conditions[$params['time_column']] = ['between', [$beginTime, $endTime]];
if ($gameId > 0) {
$map['game_id'] = $gameId;
$conditions['game_id'] = $gameId;
}
if ($serverId > 0) {
$map['server_id'] = $serverId;
$conditions['server_id'] = $serverId;
}
$map['promote_id'] = ['in', $ids];
$conditions['pay_way'] = $isBan ? ['neq', '-10'] : ['neq', '-1'];
return $conditions;
}
private function getGameGroupConditions($params)
{
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$ids = $params['promote_ids'] ?? [];
$gameIds = $params['game_ids'] ?? [];
$conditions = [];
$conditions['promote_id'] = ['in', $ids];
$conditions[$params['time_column']] = ['between', [$beginTime, $endTime]];
$conditions['game_id'] = ['in', $gameIds];
return $conditions;
}
/**
* 按照时间分组统计登录总数
*/
public function getLoginCountGroupByDay($params) {
$dayList = $params['dayList'] ?? [];
$params['time_column'] = 'login_time';
$conditions = $this->getDayGroupConditions($params);
$items = M('user_login_record', 'tab_')->field('FROM_UNIXTIME(login_time, "%Y-%m-%d") as day, count(DISTINCT user_id) as count')
->where($map)
->where($conditions)
->group('day')
->select();
return $this->assembleDayRecords($items, $dayList, 'count');
return $this->assembleRecords($items, $dayList, 'count');
}
/**
* 按照游戏分组统计登录总数
*/
public function getLoginCountGroupByGame($params) {
$gameIds = $params['game_ids'] ?? [];
$params['time_column'] = 'login_time';
$conditions = $this->getGameGroupConditions($params);
$items = M('user_login_record', 'tab_')->field('game_id, count(DISTINCT user_id) as count')
->where($conditions)
->group('game_id')
->select();
return $this->assembleRecords($items, $gameIds, 'count', 'game_id');
}
/**
* 按照时间分组统计注册总数
*/
public function getRegisterCountByDay($params) {
$beginTime = $params['begin_time'] ?? 0;
$endTime = $params['end_time'] ?? 0;
$gameId = $params['game_id'] ?? 0;
$serverId = $params['server_id'] ?? 0;
$ids = $params['promote_id'] ?? [];
public function getRegisterCountGroupByDay($params) {
$dayList = $params['dayList'] ?? [];
$dateform = '%Y-%m-%d';
$map = [];
$map['register_time'] = ['between', [$beginTime, $endTime]];
if ($gameId > 0) {
$map['fgame_id'] = $gameId;
}
$map['promote_id'] = ['in', $ids];
$map['puid'] = 0;
$items = M('user', 'tab_')->field('count(*) count, FROM_UNIXTIME(register_time,"'.$dateform.'") as day')
$params['time_column'] = 'register_time';
$conditions = $this->getDayGroupConditions($params);
$items = M('user', 'tab_')->field('count(*) count, FROM_UNIXTIME(register_time, "%Y-%m-%d") as day')
->where($map)
->group('day')
->select();
return $this->assembleDayRecords($items, $dayList, 'count');
return $this->assembleRecords($items, $dayList, 'count');
}
/**
* 按照游戏分分组统计注册总数
*/
public function getRegisterCountGroupByGame($params) {
$gameIds = $params['game_ids'] ?? [];
$params['time_column'] = 'register_time';
$conditions = $this->getGameGroupConditions($params);
$items = M('user', 'tab_')->field('count(*) count, game_id')
->where($conditions)
->group('game_id')
->select();
return $this->assembleRecords($items, $gameIds, 'count', 'game_id');
}
/**
@ -95,7 +131,6 @@ class UserRepository {
*/
public function getRatentionRate($newslist,$game_id=0,$promote_id=0,$flag=1) {
$map['lock_status']=1;
if($game_id>0) {
$map['up.game_id'] = $game_id;

@ -831,24 +831,24 @@ function isParentPromote($parentId, $promoteId)
}
//获取所有该类型的渠道 $promoteId-渠道ID $promoteType-1:本账号 2:组长 3:推广员
function getAllPromoteListByType($promoteType = 1, $retOne = false)
function getAllPromoteListByType($promoteType = 1, $retOne = false, $promoteId = PID)
{
$childPromoteData = array();
switch ($promoteType) {
case 1:
$map['id'] = PID;
$map['id'] = $promoteId;
break;
case 2:
case 3:
$promoteData = D('Promote')->where(array('id' => PID))->find();
$promoteData = D('Promote')->where(array('id' => $promoteId))->find();
if ($promoteData['grand_id'] > 0) {
return [];
} elseif ($promoteData['parent_id'] > 0) {
$promoteType--;
}
$childPromoteIds = getAllPromoteIdsByType((string)PID, $promoteType);
$childPromoteIds = getAllPromoteIdsByType((string)$promoteId, $promoteType);
break;
}
@ -901,10 +901,10 @@ function getAllPromoteIdsByType($promoteIds, $level = 3, $nowLevel = 1)
}
//获取所有子渠道列表 $type 1-返回数组 2-返回id数组 3-返回id字符串
function getAllChildPromoteList($type = 1)
function getAllChildPromoteList($type = 1, $promoteId = PID)
{
$childPromoteData = array();
$childPromoteIds = getAllChildPromoteIds((string)PID);
$childPromoteIds = getAllChildPromoteIds((string)$promoteId);
if (!empty($childPromoteIds)) {
$map['id'] = ['in', $childPromoteIds];

@ -172,7 +172,8 @@ class BaseController extends HomeController{
'p' => $page,
'row' => $pageSize
];
$pagination = set_pagination($count, $pageSize, $_POST);
$params = array_merge($params, $_POST);
$pagination = set_pagination($count, $pageSize, $params);
return [$records, $pagination, $count];
}

@ -44,14 +44,21 @@ class QueryController extends BaseController
$map['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
$teamLeaderId = I('team_leader_id');//组长账号
$teamLeaderId = intval(I('team_leader_id'));//组长账号
if (!empty($teamLeaderId)) {
$hasTeamLeaderPermission = hasPromotePermission(PID, $teamLeaderId);
if ($hasTeamLeaderPermission === false) {
$this->error('组长权限异常');
}
$map['tab_spend.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$map['tab_spend.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$map['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = I('promote_id');//推广员账号
@ -61,18 +68,10 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
if (!empty($map['tab_spend.promote_id'])) {
$map['_string'] = 'tab_spend.promote_id = ' . $promoteId;
} else {
$map['tab_spend.promote_id'] = $promoteId;
}
$map['tab_spend.promote_id'] = $promoteId;
}
if (!empty(I('own_id'))) {
if (!empty($map['_string'])) {
unset($map['_string']);
}
$map['tab_spend.promote_id'] = I('own_id');//本账号
}
@ -146,6 +145,7 @@ class QueryController extends BaseController
empty(I('own_id')) || $parameter['own_id'] = I('own_id');
empty(I('begtime')) || $parameter['begtime'] = I('begtime');
empty(I('endtime')) || $parameter['endtime'] = I('endtime');
!isset($_REQUEST['pay_way']) || $parameter['pay_way'] = I('pay_way');
$serverData = $this->getServer(I('relation_game_id'), I('sdk_version'));
@ -163,6 +163,9 @@ class QueryController extends BaseController
$this->assign('pID', PID);
$this->assign('ownId', I('own_id'));
$this->assign('payWayData', QueryController::$payWay);
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->meta_title = "订单查询";
$this->display();
}
@ -185,14 +188,21 @@ class QueryController extends BaseController
$map['tab_user.promote_id'] = ['in', $childPromoteIds];
}
$teamLeaderId = I('team_leader_id');//组长账号
$teamLeaderId = intval(I('team_leader_id'));//组长账号
if (!empty($teamLeaderId)) {
$hasTeamLeaderPermission = hasPromotePermission(PID, $teamLeaderId);
if ($hasTeamLeaderPermission === false) {
$this->error('组长权限异常');
}
$map['tab_user.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$map['tab_user.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$map['tab_user.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = I('promote_id');//推广员账号
@ -202,18 +212,10 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
if (!empty($map['tab_user.promote_id'])) {
$map['_string'] = 'tab_user.promote_id = ' . $promoteId;
} else {
$map['tab_user.promote_id'] = $promoteId;
}
$map['tab_user.promote_id'] = $promoteId;
}
if (!empty(I('own_id'))) {
if (!empty($map['_string'])) {
unset($map['_string']);
}
$map['tab_user.promote_id'] = I('own_id');//本账号
}
@ -276,6 +278,9 @@ class QueryController extends BaseController
$this->assign('thisParentPromoteId', $thisParentPromoteId);
$this->assign('pID', PID);
$this->assign('ownId', I('own_id'));
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->meta_title = '注册明细';
$this->display();
}
@ -703,14 +708,14 @@ class QueryController extends BaseController
if (intval($endTime - $beginTime) / (24 * 3600) <= 30) {
$userRepository = new UserRepository();
$spendRepository = new SpendRepository();
$payGameCountList = $spendRepository->getPayGameCountByDay($params);
$payUserCountList = $spendRepository->getPayUserCountByDay($params);
$newPayUserCountList = $spendRepository->getNewPayUserCountByDay($params);
$payAmountList = $spendRepository->getPayAmountByDay($params);
$newPayAmountList = $spendRepository->getNewPayAmountByDay($params);
$historyPayCountList = $spendRepository->getHistoryPayCountByDay($params);
$loginCountList = $userRepository->getLoginCountByDay($params);
$registerCountList = $userRepository->getRegisterCountByDay($params);
$payGameCountList = $spendRepository->getPayGameCountGroupByDay($params);
$payUserCountList = $spendRepository->getPayUserCountGroupByDay($params);
$newPayUserCountList = $spendRepository->getNewPayUserCountGroupByDay($params);
$payAmountList = $spendRepository->getPayAmountGroupByDay($params);
$newPayAmountList = $spendRepository->getNewPayAmountGroupByDay($params);
$historyPayCountList = $spendRepository->getHistoryPayCountGroupByDay($params);
$loginCountList = $userRepository->getLoginCountGroupByDay($params);
$registerCountList = $userRepository->getRegisterCountGroupByDay($params);
foreach ($dayList as $day) {
$records[] = [
@ -743,10 +748,30 @@ class QueryController extends BaseController
public function gameArpu()
{
$time = I('time');
$data = M('Apply', 'tab_')->field('game_id, game_name')->where(['promote_id' => $promote_id])->order('game_id desc')->select();
$promote = $this->getLoginPromote();
$map = [
'_logic' => 'or',
'id' => $promote['id'],
'parent_id' => $promote['id'],
'grand_id' => $promote['id'],
];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$time = I('time', date('Y-m-d'));
$applys = M('Apply', 'tab_')->field('game_id, game_name')->where(['promote_id' => $promote['id']])->order('game_id desc')->select();
$gameIds = array_column($applys, 'game_id');
$params = [
'begin_time' => strtotime($time . ' 00:00:00'),
'end_time' => strtotime($time . ' 23:59:59'),
'game_ids' => $gameIds,
'promote_ids' => $ids,
];
$spendRepository = new SpendRepository();
// $result = $spendRepository->getHistoryPayCountGroupByGame($params);
$result = $spendRepository->getPayGameCountGroupByGame($params);
var_dump($result);
}
public function arpu_analysis()
@ -978,16 +1003,25 @@ class QueryController extends BaseController
$spendWhere['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
$teamLeaderId = I('team_leader_id');//组长账号
$teamLeaderId = intval(I('team_leader_id'));//组长账号
if (!empty($teamLeaderId)) {
$hasTeamLeaderPermission = hasPromotePermission(PID, $teamLeaderId);
if ($hasTeamLeaderPermission === false) {
$this->error('组长权限异常');
}
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendWhere['tab_spend.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendWhere['tab_spend.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$userPlayInfoWhere['tab_user_play_info.promote_id'] = ['in', $childPromoteIds];
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = ['in', $childPromoteIds];
$spendWhere['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = I('promote_id');//推广员账号
@ -997,24 +1031,12 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
if (!empty($userPlayInfoWhere['tab_apply.promote_id'])) {
$userPlayInfoWhere['_string'] = 'tab_user_play_info.promote_id = ' . $promoteId;
$userGameLoginWhere['_string'] = 'tab_user_game_login_record.promote_id = ' . $promoteId;
$spendWhere['_string'] = 'tab_spend.promote_id = ' . $promoteId;
} else {
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $promoteId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $promoteId;
$spendWhere['tab_spend.promote_id'] = $promoteId;
}
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $promoteId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $promoteId;
$spendWhere['tab_spend.promote_id'] = $promoteId;
}
if (!empty(I('own_id'))) {
if (!empty($userPlayInfoWhere['_string'])) {
unset($userPlayInfoWhere['_string']);
unset($userGameLoginWhere['_string']);
unset($spendWhere['_string']);
}
$userPlayInfoWhere['tab_user_play_info.promote_id'] = I('own_id');
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = I('own_id');
$spendWhere['tab_spend.promote_id'] = I('own_id');
@ -1202,6 +1224,9 @@ class QueryController extends BaseController
$this->assign('serverData', $serverData['data']);
$this->assign('thisParentPromoteId', $thisParentPromoteId);
$this->assign('pID', PID);
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->display();
}
@ -1236,10 +1261,20 @@ class QueryController extends BaseController
$this->error('组长权限异常');
}
$map['tab_apply.promote_id'] = $teamLeaderId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendMap['tab_spend.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$map['tab_apply.promote_id'] = $teamLeaderId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendMap['tab_spend.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$map['tab_apply.promote_id'] = ['in', $childPromoteIds];
$userPlayInfoMap['tab_user_play_info.promote_id'] = ['in', $childPromoteIds];
$userGameLoginMap['tab_user_game_login_record.promote_id'] = ['in', $childPromoteIds];
$spendMap['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = intval(I('promote_id'));//推广员账号
@ -1249,21 +1284,14 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
$map['_string'] = 'tab_apply.promote_id = ' . $promoteId;
$userPlayInfoMap['_string'] = 'tab_user_play_info.promote_id = ' . $promoteId;
$userGameLoginMap['_string'] = 'tab_user_game_login_record.promote_id = ' . $promoteId;
$spendMap['_string'] = 'tab_spend.promote_id = ' . $promoteId;
$map['tab_apply.promote_id'] = $promoteId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $promoteId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $promoteId;
$spendMap['tab_spend.promote_id'] = $promoteId;
}
$ownId = intval(I('own_id'));//本账号
if (!empty($ownId)) {
if (!empty($map['_string'])) {
unset($map['_string']);
unset($userPlayInfoMap['_string']);
unset($userGameLoginMap['_string']);
unset($spendMap['_string']);
}
$map['tab_apply.promote_id'] = $ownId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $ownId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $ownId;
@ -1456,6 +1484,9 @@ class QueryController extends BaseController
$this->assign('serverData', $serverData['data']);
$this->assign('thisParentPromoteId', $thisParentPromoteId);
$this->assign('pID', PID);
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->display();
}
@ -2145,4 +2176,21 @@ class QueryController extends BaseController
$this->assign('count', $count);
$this->display();
}
public function getChildPromoteList()
{
$promoteId = I('post.promote_id', 0);
if ($promoteId == 0) {
$data['status'] = 0;
$data['msg'] = '数据异常';
$this->ajaxReturn($data);
}
$promoteList = getAllPromoteListByType(3, false, $promoteId);
$data['status'] = 1;
$data['data'] = $promoteList;
$this->ajaxReturn($data);
}
}

@ -37,6 +37,7 @@ class TestResourceController extends BaseController
$map['tab_test_resource.promote_account']=I('promote_name');
}
$map['user.promote_id']=session("promote_auth.pid");
$data = M('test_resource','tab_')
->field('tab_test_resource.id,tab_test_resource.user_id,tab_test_resource.game_name,tab_test_resource.server_name,tab_test_resource.user_account,tab_test_resource.promote_account,tab_test_resource.role_name,tab_test_resource.create_time,device_number,check_status')
->join('left join tab_user as user on tab_test_resource.user_id = user.id')
@ -44,6 +45,7 @@ class TestResourceController extends BaseController
->page($page,$row)
->order('tab_test_resource.create_time DESC')
->select();
// echo M('test_resource','tab_')->_sql();die();
foreach ($data as $key => $value) {
$data[$key]['create_time'] = date('Y-m-d H:m:i',$value['create_time']);

@ -215,7 +215,7 @@
<!-- <span onclick="lookdetail({$vo.id})" style="cursor: pointer;"><u class="lookdetail">查看详情</u></span>-->
<div class="site-demo-button" id="layerDemo" style="margin-bottom: 0;">
<!-- <button data-method="notice" class="layui-btn">示范一个公告层</button>-->
<span id="detailArr" onclick="lookdetail({$vo.id})" class="layui-btn" style="cursor: pointer;background:#62A8EA"><u>查看详情</u><u class="hiddenattr" style="">{$vo.id}</u></span>
<span id="detailArr" onclick="lookdetail({$vo.id})" class="layui-btn" style="cursor: pointer;background:#62A8EA"><u>查看详情</u></span>
</div>
</div>

@ -105,7 +105,7 @@
</block>
<block name="body">
<div class="page-list normal_list apply-index-list">
<div class="page-list normal_list apply-index-list jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>游戏管理></span><span>{$position}</span></div>
@ -180,10 +180,11 @@
</div>
</div>
<form action="{:U($game,array('row'=>I('get.row'),'type'=>$type))}" method="post" enctype="multipart/form-data"
class="marg_top20">
<!-- <form action="{:U($game,array('row'=>I('get.row'),'type'=>$type))}" method="post" enctype="multipart/form-data"-->
<!-- class="marg_top20">-->
<div class="form-group normal_space fr">
<input type="submit" class="submit" value="查询">
<input type="submit" class="submit" id='submit' url="{:U($game,array('model'=>$model['name'],'type'=>$type),false)}"
value="查询">
</div>
<div class="form-group normal_space fr">
<select id="game_id" name="game_id" class="reselect select_gallery" style="min-width:200px;width: 175px;">
@ -218,7 +219,7 @@
<input id="promote_role" name="promote_role">
</div>
</form>
<!-- </form>-->
</div>
<div class="trunk-list">
<div class="div_bgtab">
@ -869,5 +870,21 @@
$('#promote_id').on('change', function () {
newPromoteId = $(this).val();
});
$('#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;
});
</script>
</block>

@ -89,7 +89,7 @@
</block>
<block name="body">
<div class="page-list normal_list apply-my_game-list">
<div class="page-list normal_list apply-my_game-list jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>游戏管理></span><span>{$position}</span></div>
@ -156,10 +156,11 @@
<!-- <a class="btn_calc" href="javascript:;">审核通过</a>-->
<!-- <a class="btn_calc examine_a" href="{:U('my_game_ch')}">审核中</a>-->
<!-- </div>-->
<form class="marg_top20" action="{:U($myGame,array('row'=>I('get.row')))}" method="post"
enctype="multipart/form-data">
<!-- <form class="marg_top20" action="{:U($myGame,array('row'=>I('get.row')))}" method="post"-->
<!-- enctype="multipart/form-data">-->
<div class="form-group normal_space fr">
<input type="submit" class="submit zwm_submit" value="查询">
<input type="submit" class="submit" id='submit' url="{:U($myGame,array('model'=>$model['name'],'type'=>$type),false)}"
value="查询">
</div>
<div class="form-group normal_space fr">
<select id="game_id" name="game_id" class="reselect select_gallery" style="min-width:200px;width: 175px;">
@ -196,7 +197,7 @@
<div class="form-group normal_space fr" style="display: none;">
<input id="promote_role" name="promote_role">
</div>
</form>
<!-- </form>-->
</div>
<div class="trunk-list zwm_trunklist">
@ -1031,5 +1032,21 @@
clipboard.on('error', function(e) {
// console.log(e);
});
$('#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;
});
</script>
</block>

@ -135,7 +135,7 @@
</block>
<block name="body">
<div class="page-list normal_list apply-index-list">
<div class="page-list normal_list apply-index-list jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>游戏管理></span><span>分成比例</span></div>
@ -150,8 +150,8 @@
<if condition="isset($dataList)">
<div class="trunk-search clearfix">
<div class="tab marg_top20" style="clear:both;display: flex;"></div>
<form action="{:U('index',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data"
class="marg_top20" style="float: left;">
<!-- <form action="{:U('index',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data"-->
<!-- class="marg_top20" style="float: left;">-->
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery" style="min-width:200px;width: 175px;">
<option value="">请选择游戏</option>
@ -202,9 +202,10 @@
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" value="查询">
<input type="submit" class="submit" id='submit' url="{:U('index','model='.$model['name'],false)}"
value="查询">
</div>
</form>
<!-- </form>-->
</div>
<div class="trunk-list">
<div class="div_bgtab">
@ -314,6 +315,22 @@
$('.btn-security-close').on('click', function () {
window.location.href = "{:U('Promote/index')}";
});
$('#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;
});
});
</script>
</block>

@ -107,7 +107,7 @@
</block>
<block name="body">
<div class="page-list normal_list apply-index-list">
<div class="page-list normal_list apply-index-list jssearch">
<div style="position: absolute;margin: .6% 2% 0 2%;margin-top: -30px;color: #6a7082;">
<span class="back-btn" style="cursor: pointer;"><i class="iconfont iconreply"></i> 返回</span>
</div>
@ -119,10 +119,11 @@
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('PromoteCoin/coinRecord',array('game_id'=>I('get.game_id')))}" method="post" enctype="multipart/form-data"
class="marg_top20">
<!-- <form action="{:U('PromoteCoin/coinRecord',array('game_id'=>I('get.game_id')))}" method="post" enctype="multipart/form-data"-->
<!-- class="marg_top20">-->
<div class="form-group normal_space fr">
<input type="submit" class="submit" value="查询">
<input type="submit" class="submit" id='submit' url="{:U('PromoteCoin/coinRecord',array('model'=>$model['name'],'game_id'=>I('get.game_id')),false)}"
value="查询">
</div>
<div class="form-group normal_space fr">
<label>充值时间:</label>
@ -161,7 +162,7 @@
</volist>
</select>
</div>
</form>
<!-- </form>-->
</div>
<div class="trunk-list">
<div class="div_bgtab">
@ -204,7 +205,7 @@
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>8,'xlsname'=>'会长福利_平台币入账记录'),I('post.')))}" >导出</a>
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>8,'xlsname'=>'会长福利_平台币入账记录'),I('post.')))}" >导出</a>-->
{$_page}
</div>
</div>
@ -254,6 +255,28 @@
$('.back-btn').on('click', function () {
history.back(-1);
});
$('#submit').click(function () {
var sdate = $('#start_time').val();
var edate = $('#end_time').val();
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
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;
});
});
</script>
</block>

@ -103,7 +103,7 @@
</block>
<block name="body">
<div class="page-list normal_list apply-index-list">
<div class="page-list normal_list apply-index-list jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>平台币管理></span><span>我的平台币</span></div>
@ -112,10 +112,11 @@
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('myCoin')}" method="post" enctype="multipart/form-data"
class="marg_top20">
<!-- <form action="{:U('myCoin')}" method="post" enctype="multipart/form-data"-->
<!-- class="marg_top20">-->
<div class="form-group normal_space fr">
<input type="submit" class="submit" value="查询">
<input type="submit" class="submit" id='submit' url="{:U('myCoin','model='.$model['name'],false)}"
value="查询">
</div>
<div class="form-group normal_space fr">
<label>状态:</label>
@ -151,7 +152,7 @@
</volist>
</select>
</div>
</form>
<!-- </form>-->
</div>
<div class="trunk-list">
<div class="div_bgtab">
@ -191,7 +192,7 @@
</table>
</div>
<div class="pagenation clearfix">
<a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>8,'xlsname'=>'会长福利_平台币入账记录'),I('post.')))}" >导出</a>
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>8,'xlsname'=>'会长福利_平台币入账记录'),I('post.')))}" >导出</a>-->
{$_page}
</div>
</div>
@ -206,6 +207,22 @@
$(document).ready(function () {
$(".select_gallery").select2();
$('#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;
});
});
</script>
</block>

@ -71,7 +71,12 @@
<div class="subNav jssubNav"><i class="prev_icon icon_fenbao"></i><span>游戏管理</span><i class="arrow_icon"></i></div>
<div class="navContent jsnavContent">
<!-- <a href="{:U('Apply/app_index')}" class="<if condition='CONTROLLER_NAME eq Apply and ACTION_NAME eq app_index '>active</if> ">APP列表</a>-->
<a href="{:U('Apply/index')}" class="<if condition='CONTROLLER_NAME eq Apply and (ACTION_NAME eq index or ACTION_NAME eq my_game or ACTION_NAME eq my_game_ch or ACTION_NAME eq child_game ) '>active</if> ">专服管理</a>
<a href="{:U('Apply/gameSpecialList')}" class="<if condition='CONTROLLER_NAME eq Apply and (ACTION_NAME eq gameSpecialList or ACTION_NAME eq specialMyGameList ) '>active</if> ">专服管理</a>
<a href="{:U('Apply/gameList')}" class="<if condition='CONTROLLER_NAME eq Apply and (ACTION_NAME eq gameList or ACTION_NAME eq myGameList ) '>active</if> ">混服管理</a>
<if condition="getParentPromoteId(PID) eq 0">
<a href="{:U('GameDivide/index')}" class="<if condition='CONTROLLER_NAME eq GameDivide and (ACTION_NAME eq index ) '>active</if> ">分成比例</a>
<a href="{:U('Promote/setChildGamePermission')}" class="<if condition='CONTROLLER_NAME eq Promote and (ACTION_NAME eq setChildGamePermission ) '>active</if> ">设置</a>
</if>
<a href="{:U('Apply/feature')}" class="<if condition='CONTROLLER_NAME eq Apply and (ACTION_NAME eq feature or ACTION_NAME eq my_game or ACTION_NAME eq my_game_ch or ACTION_NAME eq child_game ) '>active</if> ">资料专区</a>
</div>

@ -74,7 +74,7 @@
</if>
<div class="form-group normal_space fr">
<label>起止时间:</label>
<input type="text" class="txt range-date" name="time" placeholder="起止时间" value="{:I('time')}" >
<input type="text" class="txt range-date" name="time" placeholder="起止时间" value="{:I('time', date('Y-m-d'))}" >
</div>
<div class="form-group">
<input type="submit" class="submit normal_space" value="查询">

@ -89,7 +89,12 @@
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<notempty name="teamLeaderData">
<volist name="teamLeaderData" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</notempty>
<volist name=":getAllPromoteListByType(3,false,empty(I('team_leader_id'))?PID:I('team_leader_id'))" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
@ -447,6 +452,36 @@
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
$('#team_leader_id').change(function () {
var promoteId = parseInt($(this).val());
var promoteValue = $(this).find("option:selected").text();
$.ajax({
url: "{:U('getChildPromoteList')}",
type: "post",
data: {promote_id:promoteId},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>推广员账号</option>";
html += "<option value='" + promoteId + "'>" + promoteValue + "</option>";
if (data.status == 1) {
var promoteData = data.data;
if (promoteData.length > 0) {
for (var i in promoteData) {
html += "<option value='" + promoteData[i]['id'] + "'>" + promoteData[i]['account'] + "(" + promoteData[i]['real_name'] + ")</option>";
}
}
}
$("#promote_id").empty();
$('#promote_id').html(html);
$("#promote_id").select2();
}
});
});
$('#own').on('click', function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');

@ -52,7 +52,7 @@
right: 10px;
}
</style>
<div class="page-search normal_list query-recharge-search">
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>订单查询</span></div>
@ -63,8 +63,35 @@
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/recharge',['version'=>I(" request.version
",1),'row'=>I("get.row")])}" method="post" enctype="multipart/form-data" class="normal_form">
<!-- <form action="{:U('Query/recharge',['version'=>I(" request.version-->
<!-- ",1),'row'=>I("get.row")])}" method="post" enctype="multipart/form-data" class="normal_form">-->
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<notempty name="teamLeaderData">
<volist name="teamLeaderData" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</notempty>
<volist name=":getAllPromoteListByType(3,false,empty(I('team_leader_id'))?PID:I('team_leader_id'))" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="">请选择游戏</option>
@ -102,28 +129,6 @@
value="{:I('user_account')}">
</div>
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group normal_space fl">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
@ -154,7 +159,8 @@
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' value="查询">
<input type="submit" class="submit" id='submit' url="{:U('Query/recharge','model='.$model['name'],false)}"
value="查询">
</div>
<div class="form-group normal_space fl" style="margin-left: 60px;">
@ -164,7 +170,7 @@
</label>
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
</form>
<!-- </form>-->
</div>
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
@ -272,6 +278,36 @@
endDate: date
});
$('#team_leader_id').change(function () {
var promoteId = parseInt($(this).val());
var promoteValue = $(this).find("option:selected").text();
$.ajax({
url: "{:U('getChildPromoteList')}",
type: "post",
data: {promote_id:promoteId},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>推广员账号</option>";
html += "<option value='" + promoteId + "'>" + promoteValue + "</option>";
if (data.status == 1) {
var promoteData = data.data;
if (promoteData.length > 0) {
for (var i in promoteData) {
html += "<option value='" + promoteData[i]['id'] + "'>" + promoteData[i]['account'] + "(" + promoteData[i]['real_name'] + ")</option>";
}
}
}
$("#promote_id").empty();
$('#promote_id').html(html);
$("#promote_id").select2();
}
});
});
$('#own').on('click',function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');
@ -342,16 +378,25 @@
$('#submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
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;
});
$(".select_gallery").select2();
});
</script>

@ -24,7 +24,7 @@
</block>
<block name="body">
<div class="page-search normal_list query-register-search">
<div class="page-search normal_list query-register-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>数据管理></span><span>注册明细</span></div>
@ -35,28 +35,33 @@
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/register',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<!-- <form action="{:U('Query/register',array('row'=>I('get.row')))}" method="post" enctype="multipart/form-data">-->
<if condition="$thisParentPromoteId eq 0">
<div class="form-group normal_space fl">
<select id="team_leader_id" name="team_leader_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">组长账号</option>
<volist name=":getAllPromoteListByType(2)" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</if>
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<eq name="pID|isMinPromote" value="0">
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<notempty name="teamLeaderData">
<volist name="teamLeaderData" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
</notempty>
<volist name=":getAllPromoteListByType(3,false,empty(I('team_leader_id'))?PID:I('team_leader_id'))" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
</div>
</eq>
<div class="form-group fl">
<input type="text" name="account" class="txt normal_txt" placeholder="请输入玩家账号"
@ -80,7 +85,8 @@
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' value="查询">
<input type="submit" class="submit" id='submit' url="{:U('Query/register','model='.$model['name'],false)}"
value="查询">
</div>
<div class="form-group normal_space fl" style="margin-left: 60px;">
@ -89,7 +95,7 @@
<input type="hidden" name="own_id" id="own_id" value="{:empty(I('own_id'))?0:I('own_id')}" />
</label>
</div>
</form>
<!-- </form>-->
</div>
</div>
<div class="page-list query-register-list">
@ -177,6 +183,36 @@
endDate: date
});
$('#team_leader_id').change(function () {
var promoteId = parseInt($(this).val());
var promoteValue = $(this).find("option:selected").text();
$.ajax({
url: "{:U('getChildPromoteList')}",
type: "post",
data: {promote_id:promoteId},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>推广员账号</option>";
html += "<option value='" + promoteId + "'>" + promoteValue + "</option>";
if (data.status == 1) {
var promoteData = data.data;
if (promoteData.length > 0) {
for (var i in promoteData) {
html += "<option value='" + promoteData[i]['id'] + "'>" + promoteData[i]['account'] + "(" + promoteData[i]['real_name'] + ")</option>";
}
}
}
$("#promote_id").empty();
$('#promote_id').html(html);
$("#promote_id").select2();
}
});
});
$('#own').on('click',function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');
@ -204,14 +240,26 @@
});
$(".select_gallery").select2();
$('.submit').click(function () {
$('#submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
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;
});
});
</script>

@ -79,7 +79,12 @@
<div class="form-group normal_space fl">
<select id="promote_id" name="promote_id" class="reselect select_gallery" style="min-width:130px;">
<option value="0">推广员账号</option>
<volist name=":getAllPromoteListByType(3)" id="vo">
<notempty name="teamLeaderData">
<volist name="teamLeaderData" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</notempty>
<volist name=":getAllPromoteListByType(3,false,empty(I('team_leader_id'))?PID:I('team_leader_id'))" id="vo">
<option value="{$vo.id}">{$vo['account']}({$vo['real_name']})</option>
</volist>
</select>
@ -234,6 +239,36 @@
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
$('#team_leader_id').change(function () {
var promoteId = parseInt($(this).val());
var promoteValue = $(this).find("option:selected").text();
$.ajax({
url: "{:U('getChildPromoteList')}",
type: "post",
data: {promote_id:promoteId},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>推广员账号</option>";
html += "<option value='" + promoteId + "'>" + promoteValue + "</option>";
if (data.status == 1) {
var promoteData = data.data;
if (promoteData.length > 0) {
for (var i in promoteData) {
html += "<option value='" + promoteData[i]['id'] + "'>" + promoteData[i]['account'] + "(" + promoteData[i]['real_name'] + ")</option>";
}
}
}
$("#promote_id").empty();
$('#promote_id').html(html);
$("#promote_id").select2();
}
});
});
$('#own').on('click',function () {
var ownId = $('#own_id').val();
var checkBox = $(this).children('i');

@ -7,7 +7,7 @@
</block>
<block name="body">
<div class="page-search normal_list query-register-search" style="font-size: small;">
<div class="page-search normal_list query-register-search jssearch" style="font-size: small;">
<div style="position: absolute;margin: .6% 2% 0 2%;margin-top: -30px;color: #6a7082;">
<span class="back-btn" style="cursor: pointer;"><i class="iconfont iconreply"></i> 返回</span>
</div>
@ -20,7 +20,7 @@
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<form action="{:U('Query/viewRole',array('row'=>I('get.row'),'id'=>I('get.id')))}" method="post" enctype="multipart/form-data">
<!-- <form action="{:U('Query/viewRole',array('row'=>I('get.row'),'id'=>I('get.id')))}" method="post" enctype="multipart/form-data">-->
<div class="form-group normal_space fl">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="">请选择游戏</option>
@ -65,9 +65,10 @@
</div>
<div class="form-group normal_space fl">
<input type="submit" class="submit" id='submit' value="查询">
<input type="submit" class="submit" id='submit' url="{:U('Query/viewRole',array('model'=>$model['name'],'id'=>I('get.id')),false)}"
value="查询">
</div>
</form>
<!-- </form>-->
</div>
</div>
<div class="page-list query-register-list">
@ -95,7 +96,7 @@
<tr class="num2">
<td>{$vo.user_account}</td>
<td>{$vo.game_name}</td>
<td>Phone</td>
<td>--</td>
<td>{:getSDKTypeName($vo['sdk_version'])}</td>
<td>{$vo.play_time|date='Y-m-d H:i:s',###}</td>
<td>{$vo.server_name}</td>
@ -203,18 +204,25 @@
});
$(".select_gallery").select2();
$('.submit').click(function () {
$('#submit').click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
// if(sdate =='' || edate==''){
// layer.msg('请完整时间搜索框');
// return false;
// }
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
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;
});
});

@ -117,7 +117,7 @@
<tr><td colspan="12" 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="data" id="s" mod="2">
<tr data-id="{$s.id}" class="<eq name='mod' value='1'>odd</eq>">
<tr data-id="{$s.user_id}" class="<eq name='mod' value='1'>odd</eq>">
<td>{$s.game_name}</td>
<td>{$s.server_name}</td>
<td>{$s.user_account}</td>
@ -129,13 +129,13 @@
</if>
</td>
<td>
<if condition="$s['freeze'] eq 0">冻结
<if condition="$s['check_status'] eq 0">冻结
<else/>启用
</if>
</td>
<td>{$s.create_time}</td>
<td>
<if condition="$s['freeze'] eq 1">
<if condition="$s['check_status'] eq 1">
<a href="javascript:;" class="froze-btn editbtn">冻结</a>
<else/>
<a href="javascript:;" class="unfroze-btn editbtn">启用</a>
@ -377,25 +377,6 @@
}
})
$('.unfroze-btn').on({
click: function() {
var id = $(this).parents('tr').eq(0).attr('data-id')
layer.confirm('是否确认启用帐号?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "{:U('TestResource/unfreezeSupport')}",
data: {support_id: id},
type: 'post',
dataType: 'json',
success: function(response) {
layer.msg(response.msg, {time: 1000}, function() {
window.location.href = window.location.href
})
}
})
})
}
})
$('.changePassward-btn').on({
click: function() {
var id = $(this).attr('data-id')

@ -157,4 +157,9 @@ CREATE TABLE `tab_protect_log_read` (
`promote_id` int(11) NOT NULL DEFAULT '0' COMMENT '推广员id',
`create_time` int(11) DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
-- ----------------------------
-- 2019-10-17 zyx
-- ----------------------------
alter table `tab_giftbag` modify COLUMN `giftbag_version` tinyint(2) COMMENT '运营平台 0双平台 1and 2ios 3超级签'
Loading…
Cancel
Save