diff --git a/Application/Admin/Common/function.php b/Application/Admin/Common/function.php index 94890ef7a..2e960f9fa 100644 --- a/Application/Admin/Common/function.php +++ b/Application/Admin/Common/function.php @@ -1091,3 +1091,20 @@ function addSubsiteWhere(&$map,$field){ $map[$field] = ["in",[0,PARTNER_TYPE]]; } } + +/** + * 获取商务专员 + */ +function getAffairMember() { + + $data = M("member") + ->field("access.uid admin_id,real_name") + ->join("left join sys_auth_group_access access on sys_member.uid = access.uid") + ->join("left join sys_auth_group auth on access.group_id=auth.id") + ->where(['title' => ['like', '%商务%']]) + ->select(); + + return $data; + +} + diff --git a/Application/Admin/Controller/BusinessAffairsAwardController.class.php b/Application/Admin/Controller/BusinessAffairsAwardController.class.php new file mode 100644 index 000000000..b398a9e50 --- /dev/null +++ b/Application/Admin/Controller/BusinessAffairsAwardController.class.php @@ -0,0 +1,311 @@ +<?php + +namespace Admin\Controller; + +/** + * 后台首页控制器 + * @author 麦当苗儿 <zuojiazi@vip.qq.com> + */ +class BusinessAffairsAwardController extends ThinkController +{ + + private $model; + + public function _initialize() + { + $this->model = M("business_affairs_award","tab_"); + parent::_initialize(); + } + + /** + *商务奖金比例列表 + */ + public function lists() + { + $params = I('get.'); + $page = $params['p'] ? intval($params['p']) : 1; + $row = $params['row'] ? intval($params['row']) : 10; + + $data = $this->model->page($page, $row)->select(); + + foreach ($data as $key => $value) { + + if($value['end_amount'] == '0') { + $data[$key]['end_amount'] = '永久'; + } + + } + + if(IS_ROOT){ + $this->assign('add_check',true); + }else { + $exportRule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_add_check"); + + $this->assign('add_check', $this->checkRule($exportRule, array('in', '1,2'))); + } + + $count = $this->model->where("1=1")->count(); + + $page = set_pagination($count, $row,$params); + if($page) { + $this->assign('_page', $page); + } + + $this->assign("list",$data); + + $this->display(); + + } + + public function add() + { + if(IS_POST) { + + if (!$_POST['ratio']) { + $this->ajaxReturn(["msg"=>"请填写抽成比例","code"=>0]); + } + + if(!$_POST['start_amount'] && $_POST['start_amount']!='0') { + $this->ajaxReturn(["msg"=>"请填写起始流水","code"=>0]); + } + + if($_POST['start_amount'] >= $_POST['end_amount']&&$_POST['end_amount']) { + $this->ajaxReturn(["msg"=>"起始流水必须小于结束流水","code"=>0]); + } + + $amount_start = $_POST['start_amount']; + $amount_end = $_POST['end_amount']; + + $busunessData = M("business_affairs_award", "tab_") + ->where("((start_amount<{$amount_start} and (end_amount >{$amount_start} or end_amount=0)) or (start_amount<{$amount_end} and (end_amount >={$amount_end} or end_amount=0)) or ((end_amount>{$amount_start} or end_amount=0) and (end_amount <={$amount_end} and end_amount!=0)))") + ->select(); + + if ($busunessData) { + $this->ajaxReturn(["msg"=>"流水段已经存在","code"=>0]); + } + $add_data = $_POST; + $add_data['create_time'] = time(); + + !$add_data['end_amount']?($add_data['end_amount']=0):''; + + $this->model->add($add_data); + + $this->ajaxReturn(["msg"=>"添加成功","code"=>1,"url"=>U("lists")]); + } else { + $this->display(); + } + } + + public function edit() + { + $id = $_REQUEST["id"]; + if(IS_POST) { + + if (!$_POST['ratio']) { + $this->ajaxReturn(["msg"=>"请填写抽成比例","code"=>0]); + } + + if(!$_POST['start_amount'] && $_POST['start_amount']!='0') { + $this->ajaxReturn(["msg"=>"请填写起始流水","code"=>0]); + } + + if($_POST['start_amount'] >= $_POST['end_amount']&&$_POST['end_amount']) { + $this->ajaxReturn(["msg"=>"起始流水必须小于结束流水","code"=>0]); + } + + $amount_start = $_POST['start_amount']; + $amount_end = $_POST['end_amount']; + + $busunessData = M("business_affairs_award", "tab_") + ->where("id != {$id} and ((start_amount<{$amount_start} and (end_amount >{$amount_start} or end_amount=0)) or (start_amount<{$amount_end} and (end_amount >={$amount_end} or end_amount=0)) or ((end_amount>{$amount_start} or end_amount=0) and (end_amount <={$amount_end} and end_amount!=0)))") + ->select(); + + if ($busunessData) { + $this->ajaxReturn(["msg"=>"流水段已经存在","code"=>0]); + } + + $add_data = $_POST; + $add_data['update_time'] = time(); + + !$add_data['end_amount']?($add_data['end_amount']=0):''; + + $this->model->where(['id'=>$id])->save($add_data); + + $this->ajaxReturn(["msg"=>"修改成功","code"=>1,"url"=>U("lists")]); + } else { + + $data = $this->model->where(['id'=>$id])->find(); + + $data['start_amount'] = round($data['start_amount'],2); + $data['end_amount'] = round($data['end_amount'],2); + + + $this->assign("data",$data); + + $this->display(); + } + } + + + public function del() + { + if(!isset($_REQUEST['id'])){ + $this->error('参数错误'); + } + $id = $_REQUEST['id']; + $res = $this->model->where("id='{$id}'")->delete(); + if($res !== false){ + + $this->success('删除成功',U("lists")); + + }else{ + $this->error('删除错误'); + } + } + + public function businessAffairsList() { + + $check_quarter = ["03","06","09","12"]; + + $map = []; + + $params = I('get.'); + $page = $params['p'] ? intval($params['p']) : 1; + $row = $params['row'] ? intval($params['row']) : 10; + + if($_REQUEST['time']) { + $map['time'] = $_REQUEST['time']; + } + + if ($_REQUEST['game_belong_name']) { + $map['game_belong_name'] = ['like',"%{$_REQUEST['game_belong_name']}%"]; + } + + if ($_REQUEST['relation_game_name']) { + $map['relation_game_name'] = ['like',"%{$_REQUEST['game_name']}%"]; + } + + if ($_REQUEST['verify_status'] || $_REQUEST['verify_status'] == '0') { + $map['verify_status'] = ['like',"%{$_REQUEST['verify_status']}%"]; + } + + $data = M("business_affairs_award_pool","tab_") + ->where($map); + + if (!$_REQUEST['export']) { + $data->page($page, $row); + } + $data = $data->order("time desc")->select(); + + foreach ($data as $key => $value) { + + $detail = '未审核'; + + if ($value['verify_status'] == 1) { + $detail = '审批通过'; + } elseif($value['verify_status'] == 2) { + $detail = '审批拒绝'; + } + + if($_REQUEST['export']) { + $data[$key]['time'] = '`'.$value['time']; + $detail .= "\n"; + }else { + $detail .= "<br>"; + } + + $data[$key]['total_quarter_bonus_pool'] = round($value['quarter_bonus_pool'] * 0.25,2); + + $time = date("m",strtotime($value['time'])); + if (!in_array($time,$check_quarter)) { + $data[$key]["quarter_award"] = "0.00"; + } + + $data[$key]['person_award'] = $data[$key]['quarter_award'] + $value['month_award']; + + if ($value['verify_status']) { + $data[$key]['verify_detail'] = $detail.date('Y-m-d H:i:s',$value['verify_time']); + } else { + $data[$key]['verify_detail'] = '未审核'; + } + $data[$key]['ratio'] = round(($value['month_award']/$value['pay_amount']*100),2)."%"; + + } + + if ($_REQUEST['export']) { + + $title = ['time' => '月份', + 'relation_game_name' => '游戏名称', + 'pay_amount' => '产品流水', + 'ratio' => '抽成比例', + 'game_belong_name' => '奖励归属', + 'month_bonus_pool' => '本月奖金池总额', + 'total_quarter_bonus_pool'=>'本季度累计激励', + 'quarter_bonus_pool' => '个人发放激励', + 'month_award' => '流水个人奖金', + 'person_award' => '个人奖金总额', + 'verify_detail' => '审批状态']; + + data2csv($data, '商务奖金汇总', $title); + } + + $count = M("business_affairs_award_pool","tab_") + ->where($map) + ->count(); + + if(IS_ROOT){ + $this->assign('verify_check',true); + $this->assign('caculate_check',true); + }else { + $exportRule = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_verify_check"); + $caculate_check = strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME . "_caculate_check"); + + $this->assign('verify_check', $this->checkRule($exportRule, array('in', '1,2'))); + $this->assign('caculate_check', $this->checkRule($caculate_check, array('in', '1,2'))); + } + + $page = set_pagination($count, $row,$params); + if($page) { + $this->assign('_page', $page); + } + + $this->assign("list",$data); + + $this->display(); + + } + + public function verify() { + + $status = $_REQUEST['status']; + + $ids = $_REQUEST['ids']; + + if ($ids) { + + $is_save = M("business_affairs_award_pool","tab_") + ->where(['id'=>['in',$ids]]) + ->save(['verify_status'=>$status,'verify_time'=>time()]); + + if($is_save) { + $this->ajaxReturn(['status'=>1,'info'=>'操作成功']); + } else { + $this->ajaxReturn(['status'=>0,'info'=>'操作失败']); + } + + } else { + + $this->ajaxReturn(['status'=>0,'info'=>'数据错误']); + + } + } + + public function reCaculate() + { + + exec("source /etc/profile;cd " . ROOTTT . ";php " . SUBSITE_INDEX . " timing/setbusinessAffairsAward > /dev/null &"); + + $this->ajaxReturn(['status' => 1]); + } + +} diff --git a/Application/Admin/Controller/GameController.class.php b/Application/Admin/Controller/GameController.class.php index 416f82fd6..9ac6db3fb 100644 --- a/Application/Admin/Controller/GameController.class.php +++ b/Application/Admin/Controller/GameController.class.php @@ -224,6 +224,12 @@ class GameController extends ThinkController $_POST['download_ways'] = $gameService->getDownLoadWaysValue($downloadWays); + $realname = M("member") + ->field("real_name") + ->where(['uid' => I('post.game_belong_id')]) + ->find()['real_name']; + $_POST['game_belong_name'] =$realname; + $game = D(self::model_name);//M('$this->$model_name','tab_'); $res = $game->update(); if (!$res) { @@ -415,6 +421,15 @@ ADD COLUMN `kefu_qq` varchar(255) NULL DEFAULT '' COMMENT 'kefu_qq_type为2 时 $_POST['pay_config'] = json_encode($_POST['pay_config']); $_POST['download_ways'] = $gameService->getDownLoadWaysValue($downloadWays); + + + $realname = M("member") + ->field("real_name") + ->where(['uid' => I('post.game_belong_id')]) + ->find()['real_name']; + $_POST['game_belong_name'] =$realname; + + unset($_POST['apply_auth']); $res = $gameModel->update(); @@ -466,8 +481,11 @@ ADD COLUMN `kefu_qq` varchar(255) NULL DEFAULT '' COMMENT 'kefu_qq_type为2 时 $otherData['flooring_page_video_cover'] = $sibling['flooring_page_video_cover']; $otherData['kefu_qq'] = I('post.kefu_qq'); $otherData['kefu_qq_type'] = I('post.kefu_qq_type'); + $otherData['data_share'] = I('post.data.share'); + $otherData['game_belong_id'] = I('post.game_belong_id'); + $otherData['game_belong_name'] = $realname; $otherData['data_share'] = I('post.data_share'); - + M('Game', 'tab_')->data($otherData)->where(array('id' => $another['id']))->save(); //同时修改代充游戏折扣 $set_fidel['status'] = 1; @@ -539,7 +557,7 @@ ADD COLUMN `kefu_qq` varchar(255) NULL DEFAULT '' COMMENT 'kefu_qq_type为2 时 } } $this->assign('sociatygames',$sociatyGamesData); - + $data['introduction'] = str_replace("~~", "\r\n", $data['introduction']); $this->assign('data', $data); $this->assign('game_id', $id); diff --git a/Application/Admin/Controller/TimingController.class.php b/Application/Admin/Controller/TimingController.class.php index f106bb3ac..d167bf035 100644 --- a/Application/Admin/Controller/TimingController.class.php +++ b/Application/Admin/Controller/TimingController.class.php @@ -18,6 +18,8 @@ use Base\Factory\BaseFactory; */ class TimingController extends AdminController { + private $affairRatioList = []; + public function _initialize(){ } @@ -1555,4 +1557,234 @@ class TimingController extends AdminController { $leavePercentageInstance->leaveTiming(); } + + + public function setbusinessAffairsAward() { + + echo date("Y-m-d H:i:s")."----------------------商务奖金计算----------------------\n"; + +// dump($this->businessAffairRatio(3471300));die(); + + + if (!$_REQUEST['time']) { + $time = time(); + } else { + $time = strtotime($_REQUEST['time']); + + $time = strtotime(date('Y-m',strtotime(date('Y',$time).'-'.(date('m',$time)+1).'-01'))); + + } + + list($becomeTimeList,$becomeTimeCount) = $this->getAffairList(date('Y-m',strtotime(date('Y',$time).'-'.(date('m',$time)-1).'-01'))); +// dump([$becomeTimeList,$becomeTimeCount]);die(); + + $time1 = date('Y-m',strtotime(date('Y',$time).'-'.(date('m',$time)-1).'-01')); + $time2 = date('Y-m',strtotime(date('Y',$time).'-'.(date('m',$time)-2).'-01')); + $time3 = date('Y-m',strtotime(date('Y',$time).'-'.(date('m',$time)-3).'-01')); + + $lasttime = [$time2,$time3]; + + $tempoparyData = M("spend","tab_") + ->field("tab_spend.*,from_unixtime(payed_time,'%Y-%m') time,from_unixtime(payed_time,'%Y') year,from_unixtime(payed_time,'%m') month,relation_game_id,relation_game_name,game_belong_id,game_belong_name") + ->join("left join tab_game on tab_game.id=tab_spend.game_id") + ->where(['tab_spend.pay_status'=>1,'game_belong_id'=>['neq',0],'pay_way' => ['egt', 0]]) + ->select(false); + + $lastdata = M()->table("({$tempoparyData}) a") + ->field("*,sum(pay_amount) pay_amount") + ->where(['time'=>['in',$lasttime]]) + ->group("time,relation_game_id,game_belong_id") + ->select(); + + $handleData = []; + + foreach ($lastdata as $key => $value) { + $handleData[$value['time'].$value['game_belong_id'].$value['relation_game_id']] = $value; + } + + $data = M()->table("({$tempoparyData}) a") + ->field("sum(pay_amount) pay_amount,time,year,month,relation_game_id,relation_game_name,game_belong_id,game_belong_name") + ->where(['time'=>$time1]) + ->group("time,relation_game_id,game_belong_id") + ->select(); + + $sum_amount = M()->table("({$tempoparyData}) a") + ->field("sum(pay_amount) pay_amount") + ->where(['time'=>$time1]) + ->find()['pay_amount']; + //判断是不是初次 + $is_hav = M("business_affairs_award_pool","tab_")->where(['time'=>$time2])->find(); + + $month_bonus_pool = 0; + $quarter_bonus_pool = 0; + + foreach($data as $key => $value) { + + $month_bonus_pool += $value['pay_amount']; + +// if ($is_hav) { +// for($i = (($value['month']%3)?(($value['month']%3)-1):2); $i > 0; $i--) { +// +// $date = date("Y-m",strtotime($value['year'].'-'.(($value['month']-$i)>0?($value['month']-$i):($value['month']-$i+12)))); +// +// } +// } + + } + + $last_amount = M("business_affairs_award_pool","tab_")->where(['time'=>['in',$lasttime]])->group("month_bonus_pool")->select(false); + + $last_amount = M()->table("({$last_amount}) a")->sum("month_bonus_pool"); + + $month_bonus_pool = $this->businessAffairRatio($month_bonus_pool); + $quarter_bonus_pool = $month_bonus_pool + $last_amount; + + foreach ($data as $key => $value){ + + echo "{$value['time']},{$value['game_belong_name']},{$value['pay_amount']}\n"; + + $value['month_bonus_pool'] = $month_bonus_pool; + + $value['quarter_bonus_pool'] = $quarter_bonus_pool; + + unset($value['year']); + unset($value['month']); + + $value['quarter_award'] = $value['quarter_bonus_pool']*0.25*(($becomeTimeList[$value['game_belong_id']]?$becomeTimeList[$value['game_belong_id']]:0)/$becomeTimeCount); + + $is_assistant = M("ucenter_member") + ->field("sys_ucenter_member.id admin_id,become_time") + ->join("left join sys_auth_group_access access on sys_ucenter_member.id = access.uid") + ->join("left join sys_auth_group auth on access.group_id=auth.id") + ->where(['title' => ['like', '%助理%'],'sys_ucenter_member.id'=>$value['game_belong_id']]) + ->select(); + + if (!$is_assistant) { + $value['month_award'] = ($value['pay_amount']/$sum_amount)*$value['month_bonus_pool']*0.7; + } else { + $value['month_award'] = ($value['pay_amount']/$sum_amount)*$value['month_bonus_pool']*0.05; + } + + $value['month_award'] = round($value['month_award'],2); + $value['quarter_award'] = round($value['quarter_award'],2); + + if (!$becomeTimeCount) { + $value['month_award'] = 0; + } + + $value['person_award'] = $value['quarter_award'] + $value['month_award']; + + $hav_value = M("business_affairs_award_pool","tab_") + ->where([ + 'time'=>$value['time'], + 'relation_game_id'=>$value['relation_game_id'], + 'game_belong_id'=>$value['game_belong_id'] + ]) + ->find(); + + if ($hav_value) { + M("business_affairs_award_pool","tab_") + ->where(['time'=>$value['time'], + 'relation_game_id'=>$value['relation_game_id'], + 'game_belong_id'=>$value['game_belong_id']]) + ->save($value); + } else { + M("business_affairs_award_pool","tab_")->add($value); + } + + } + + echo date("Y-m-d H:i:s")."----------------------商务奖金计算----------------------\n"; + + } + + //获取转正月数列表 + private function getAffairList($now) { + + $all = 0; + + $affairList = M("ucenter_member") + ->field("sys_ucenter_member.id admin_id,become_time") + ->join("left join sys_auth_group_access access on sys_ucenter_member.id = access.uid") + ->join("left join sys_auth_group auth on access.group_id=auth.id") + ->where(['title' => ['like', '%商务%']]) + ->select(); + + $return = []; + + foreach($affairList as $key => $value) { + + if ($value['become_time']) { + $become_time = date("Y-m",$value['become_time']); + } else { + $become_time = $now; + } + + $return[$value['admin_id']] = 0; + + if ($now > $become_time && $value['become_time']) { + $return[$value['admin_id']] = $this->diffDate($become_time,$now); + } + + $all += $return[$value['admin_id']]; + + } + + return [$return,$all]; + + } + + function diffDate($date1,$date2) + { + if(strtotime($date1)>strtotime($date2)){ + $tmp=$date2; + $date2=$date1; + $date1=$tmp; + } + list($Y1,$m1,$d1)=explode('-',$date1); + list($Y2,$m2,$d2)=explode('-',$date2); + $y=$Y2-$Y1; + $m=$m2-$m1; + $d=$d2-$d1; + if($d<0){ + $d+=(int)date('t',strtotime("-1 month $date2")); + $m--; + } + if($m<0){ + $m+=12; + $y--; + } + return $m+1; + } + + // + private function businessAffairRatio($amount = 0) { + if (!$amount) { + return 0; + } + + $returnAmount = 0; + + if (!$this->affairRatioList) { + $this->affairRatioList = M("business_affairs_award","tab_")->where("1=1")->group("start_amount")->select(); + } + + foreach ($this->affairRatioList as $key => $value) { + + $start_amount = $value['start_amount']; + $end_amount = $value['end_amount']; + $ratio = $value['ratio']; + + if ($amount > $start_amount&&($amount<=$end_amount||floor($end_amount)=='0')) { + $returnAmount += ($amount-$start_amount)*($ratio/100); + } elseif($amount > $start_amount &&($amount>$end_amount&&floor($end_amount)!='0')) { + $returnAmount += ($end_amount-$start_amount)*($ratio/100); + } + + } + + return $returnAmount; + + } + } diff --git a/Application/Admin/Controller/UserController.class.php b/Application/Admin/Controller/UserController.class.php index 39bca125e..1abd428b4 100644 --- a/Application/Admin/Controller/UserController.class.php +++ b/Application/Admin/Controller/UserController.class.php @@ -453,6 +453,8 @@ class UserController extends AdminController $info['mobile'] = isset($_POST['mobile']) ? $_POST['mobile'] : ''; $_POST['apply_leave_time'] ? ($info['apply_leave_time'] = strtotime($_POST['apply_leave_time'])):''; $_POST['leave_time'] ? ($info['leave_time'] = strtotime($_POST['leave_time'])+86399):''; + $_POST['become_time'] ? ($info['become_time'] = strtotime($_POST['become_time'])):''; + if($_POST['work_status']) { $info['work_status'] = $_POST['work_status']; } @@ -478,7 +480,7 @@ class UserController extends AdminController "url"=>U("User/index",array("nickname"=>$_POST['username'])) )); - if ((strtotime($_POST['leave_time'])+86399)<time()) { + if ((strtotime($_POST['leave_time'])+86399)<time()&&$_POST['leave_time']) { $Member->where($map)->save(['work_status'=>1]); } else { $Member->where($map)->save(['work_status'=>0]); @@ -495,6 +497,7 @@ class UserController extends AdminController $Member['apply_leave_time']?($Member['apply_leave_time'] = date("Y-m-d",$Member['apply_leave_time'])):($Member['apply_leave_time']=''); $Member['leave_time']?($Member['leave_time'] = date("Y-m-d",$Member['leave_time'])):($Member['leave_time']=''); + $Member['become_time']?($Member['become_time'] = date("Y-m-d",$Member['become_time'])):($Member['become_time']=''); $data = D('Member')->where(array('uid' => $_GET['id']))->find(); diff --git a/Application/Admin/View/BusinessAffairsAward/add.html b/Application/Admin/View/BusinessAffairsAward/add.html new file mode 100644 index 000000000..7bf2d5480 --- /dev/null +++ b/Application/Admin/View/BusinessAffairsAward/add.html @@ -0,0 +1,203 @@ +<extend name="Public/base" /> + +<block name="body"> + <link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" /> + <link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all"> + <link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet"> + <script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script> + <script type="text/javascript" src="__STATIC__/provincecityarea/AreaData_min.js"></script> + <script src="__STATIC__/layer/layer.js"></script> + <script type="text/javascript" src="__JS__/select2.min.js"></script> + + <style> + .tabcon1711 input.time { + width: 150px; + } + #form .txt_area { + width: 300px; + height: 150px; + } + .tabcon1711 .form_unit { + margin-left: 2px; + } + .tabcon1711 .mustmark { + margin-left:-7px; + } + .list-ratio { + display: table; + } + .list-ratio .li-ratio { + display: flex; + margin-bottom: 20px; + align-items: center; + } + .list-ratio .li-ratio .turnover, .list-ratio .li-ratio .turnover-ratio { + position: relative; + } + .list-ratio .li-ratio .turnover span, .list-ratio .li-ratio .turnover-ratio .error-message { + color: red; + position: absolute; + left: 0; + top: 30px; + white-space: nowrap; + display: none; + } + .iconfont-btn { + cursor: pointer; + } + .iconfont-style { + font-size: 18px; + color: #fff; + border-radius: 4px; + border: 0; + padding: 5px; + margin-left: 10px; + } + .iconfont-selected { + background-color: #0A9AF2; + } + .iconfont-selected:hover { + background-color: #03a9f4; + } + .iconfont-unselected { + background-color: #999; + } + .iconfont-unselected:hover { + background-color: #ababab; + } + + input[type=number]{ + padding: 4px 6px; + font-size: 12px; + line-height: 20px; + 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; + } + </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('add')}" 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">*</i>流水区间:</td> + <td class="r table_radio"> + <div style="float: left;"> + <input type="text" class="txt time" name="start_amount" id="start_amount" οninput="value=value.replace(/[^\w\.\/]/ig, '')" placeholder="起始流水" value="0"> + - + <input type="text" class="txt time" name="end_amount" id="end_amount" οninput="value=value.replace(/[^\w\.\/]/ig, '')" placeholder="结束流水" value="0"> + </div> + </td> + </tr> + <tr> + <td class="l"><i class="mustmark">*</i>抽成比例:</td> + <td class="r table_radio"> + <label>抽成比例:</label> + <input type="number" class="txt ratio" name="ratio" id="ratio" value="0" placeholder="" οninput="value=value.replace(/[^\w\.\/]/ig, '')" style="width: 60px;float: left;"> + <span class="form_unit">%</span> + </td> + </tr> + </tbody> + </table> + </div> + + <div class="form-item cf"> + <button class="submit_btn mlspacing" id="submit" type="submit" target-form="form-horizontal"> + 保存 + </button> + <a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" > + 返回 + </a> + </div> + </form> + </div> + </div> + +</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 src="__STATIC__/czinputcheck.js?v=1.29" type="text/javascript"></script> + <script type="text/javascript"> + //导航高亮 + highlight_subnav("{:U('BusinessAffairsAward/lists')}"); + $(".select_gallery").select2(); + + $(function(){ + subevn(); + function subevn(){ + $('#submit').off("click"); + $('#submit').click(function (e) { + //查看是否报错 + + var ratio = $("#ratio").val(); + + if(ratio > 100){ + layer.msg("默认比例不能大于100", {icon: 2}); + return false; + } + + if(ratio <= 0){ + layer.msg("默认比例不能小于等于0", {icon: 2}); + return false; + } + + var target = $('form').get(0).action; + var query = $('form').serialize(); + var that = this; + $(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true); + $.post(target,query).success(function(data){ + if(layer) {layer.closeAll('loading');} + if (data.code==1) { + if (data.url) { + updateAlert(data.msg + ' 页面即将自动跳转~'); + }else{ + updateAlert(data.msg); + } + setTimeout(function(){ + $(that).removeClass('disabled').prop('disabled',false); + if (data.url) { + location.href=data.url; + }else if( $(that).hasClass('no-refresh')){ + $('#tip').find('.tipclose').click(); + }else{ + location.reload(); + } + },1500); + }else{ + $(that).removeClass('disabled').prop('disabled',false); + layer.msg(data.msg,{icon: 2}); + } + }); + }); + } + }); + </script> +</block> + diff --git a/Application/Admin/View/BusinessAffairsAward/businessAffairsList.html b/Application/Admin/View/BusinessAffairsAward/businessAffairsList.html new file mode 100644 index 000000000..afdcb886a --- /dev/null +++ b/Application/Admin/View/BusinessAffairsAward/businessAffairsList.html @@ -0,0 +1,424 @@ +<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; + } + a:link ,a:visited,a:hover,a:active { text-decoration: none;} + .select2-results__option[aria-selected] {font-size:12px;} + .butnbox {padding:10px 0 10px;} + .butnbox .butnlist {overflow:hidden;clear:both;} + .butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;} + .butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;} + .butnbox .butnlist .butn.last {background:#009900;} + .butnbox .butnlist .butn~.butn {margin-left:20px;} + .data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;} + .layui-layer-title { + text-align: center; + height: 80px; + line-height: 80px; + font-weight: 600; + font-size: 18px; + } + .data_list table td{ + line-height: 2; + } + + .layui-layer-title { + text-align: center; + height: 42px; + line-height: 42px; + font-weight: 400; + font-size: 14px; + } + .main-place .question_content:before{ + right: 20px; + left: auto; + } + + .tooltip { + position: relative; + display: inline-block; + color: #056dae; + } + + .tooltip .tooltiptext { + visibility: hidden; + width: 250%; + background-color: #fff; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px 0; + position: absolute; + z-index: 1; + bottom: 80%; + left: 0; + margin-left: -70%; + border: #000 solid 1px; + } + + .tooltip .tooltiptext::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: black transparent transparent transparent; + } + + .tooltip:hover .tooltiptext { + + color: #000; + visibility: visible; + line-height: 20px; + } + + </style> + + <div class="cf main-place top_nav_list navtab_list"> + <h3 class="page_title">商务奖金汇总</h3> + <p class="description_text"></p> + </div> + + + + <div class="cf top_nav_list"> + <!-- 高级搜索 --> + <div class="jssearch fl cf search_list"> + <div class="fl button_list"> + <div class="tools"> + <if condition="$caculate_check eq true"> + <empty name="show_status"> + <a class="recaculate" url="{:U('reCaculate?pay_time='.$_GET['pay_time'])}" style="width: 60px;text-align: center;padding-right: 0;margin-right: 0;">重算</a> + </empty> + </if> + </div> + </div> + <div class="input-list search-title-box"> + <label>搜索:</label> + </div> + <div class="input-list"> + <input type="text" readonly id="time" name="time" class="" value="{:I('time')}" placeholder="时间" /> + </div> + <div class="input-list input-list-game search_label_rehab"> + <select id="game_name" name="game_name" class="select_gallery" > + <option value="">游戏名称</option> + <!-- <volist name=":get_game_list(null, $_GET['game_type'])" id="vo"> + <option game-id="{$vo.id}" value="{$vo.id}">{$vo.game_name}</option> + </volist> --> + </select> + </div> + <div class="input-list"> + <input type="text" id="game_belong_name" name="game_belong_name" class="" value="{:I('game_belong_name')}" placeholder="请输入奖金归属人" /> + </div> + <div class="input-list"> + <select id="verify_status" name="verify_status" class="select_gallery" > + <option value="">请选择审核状态</option> + <option value="0">未审核</option> + <option value="1">审核通过</option> + <option value="2">审核拒绝</option> + </select> + </div> + + <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('businessAffairsList','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a> + </div> + </div> + + + + </div> + + <div class="butnbox" > + <div class="butnlist jscheckbutn" style="margin-left: 2px"> + <if condition="$verify_check eq true"> + <a class='butn verify' data-status="1" style='background-color: #3C95C8;'>审核通过</a> + <a class='butn verify' data-status="0" style='background-color: red;'>审核拒绝</a> + </if> + + </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>个人奖金总额</th> + <th>审批状态</th> + </tr> + </thead> + + <!-- 列表 --> + <tbody> + <if condition = "empty($list)"> + <tr> + <td colspan="16" class="text-center">aOh! 暂时还没有内容!</td> + </tr> + </if> + <notemtpy name = "list"> + <volist name="list" id="data"> + <tr> + <td><input class="ids" type="checkbox" value="{$data['id']} "data-verify_status="{$data['verify_status']}" name="ids[]"></td> + <td>{$data.time|default='无'}</td> + <td>{$data.relation_game_name|default='无'}</td> + <td>{$data.pay_amount|default='0'}</td> + <td>{$data.ratio|default='--'}</td> + <td>{$data.game_belong_name|default='无'}</td> + <td>{$data.month_bonus_pool|default='0'}</td> + <td>{$data.total_quarter_bonus_pool|default='0'}</td> + <td>{$data.quarter_award|default='0'}</td> + <td>{$data.month_award|default='0'}</td> + <td>{$data.person_award|default='0'}</td> + <td>{$data.verify_detail|default='无'}</td> + + </tr> + </volist> + </notemtpy> + </tbody> + </table> + </div> + <else/> + </empty> + + </div> + <div class="page"> + <a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a> + {$_page|default=''} + </div> + +</block> + +<block name="script"> + <script> + <volist name=":I('get.')" id="vo"> + Think.setValue('{$key}',"{$vo}"); + </volist> + $(".select_gallery").select2(); + </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"> + //导航高亮 + highlight_subnav('{:U('BusinessAffairsAward/businessAffairsList')}'); + + function reload(){ + location.reload(); + } + + $(function(){ + + $('.recaculate').click(function(){ + var url = $(this).attr('url'); + layer.confirm('是否确认重算商务汇总!', { + title:'重算汇总?', + icon:0, + btn: ['重算','取消'] //按钮 + }, function(){ + $.ajax({ + type: "POST", + url: url, + dataType: 'json', + async: false, + success:function(data){ + if(data.status == 1) { + layer.msg("重新计算需要时间,请等待5分钟后再查看"); + setTimeout(function(){ + window.location.reload(); + },1500); + } else { + layer.msg(data.info); + } + + }, + }); + }, function(){ + layer.close(); + }); + + }); + + $(".verify").on("click",function(){ + + var status = $(this).data("status"); + + var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) { + if($(elem).data("verify_status") == 0){ + return $(elem).val(); + } + }).get(); + + if(text.length < 1){ + layer.msg("<font style='color:white'>" + '请勾选数据,在进行操作</font>'); + return; + } + + text = text.join(","); + layer.confirm('【警告】[审核操作]将不可回退,如需继续请点击确认', { + btn: ['确认','取消'], + title:false + }, function(index){ + layer.close(index); + _doAgreeApply(); + }); + function _doAgreeApply(){ + //执行 + layer.load(2); + $.ajax({ + type: "POST", + url: "{:U('verify')}", + dataType: 'json', + async: true, + data: {ids:text,status:status}, + success:function(data){ + layer.closeAll('loading'); + if(data.status==1){ + layer.msg("<font style='color:white'>" + data.info + "</font>"); + setTimeout(function(){ + window.location.reload(); + },1500); + }else{ + layer.msg("<font style='color:white'>" + data.info + "</font>"); + return false; + } + } + }); + } + + }); + + //搜索功能 + $("#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; + } + + var start = $("#time_start").val(); + var end = $("#time_end").val(); + if(start !='' && end != ''){ + if (Date.parse(start) > Date.parse(end)){ + layer.msg('开始时间必须小于等于结束时间'); + return false; + } + } + + window.location.href = url; + }); + + //回车自动提交 + $('.jssearch').find('input').keyup(function(event){ + if(event.keyCode===13){ + $("#search").click(); + } + }); + + $('#time').datetimepicker({ + format: 'yyyy-mm', + language:"zh-CN", + // minView:2, + weekStart: 1, + todayBtn: true, + todayHighlight: false, + startView: 3, + minView: 3, + forceParse: 0, + autoclose:true, + pickerPosition:'bottom-left' + }); + + $('#datetimepicker').datetimepicker({ + format: 'yyyy-mm', + language:"zh-CN", + // minView:2, + weekStart: 1, + todayBtn: true, + todayHighlight: false, + startView: 3, + minView: 3, + forceParse: 0, + autoclose:true, + pickerPosition:'bottom-left' + }); + + var game_name = "{:I('game_name')}"; + function getGameList() { + $.ajax({ + url:"{:U('Ajax/getGameList')}", + type:"get", + data:{sdk_type:$("#sdk_version1 option:selected").val()}, + dataType:'json', + success:function(response){ + str = '<option value="">游戏名称</option>'; + // $.each(response.data, function(index, item){ + // console.log(item.id); + // str += '<option value="'+item.id+' '+(promote_id && item.id == promote_id?'selected':'')+'">'+item.nickname+'</option>'; + // }); + data = response.data; + for (var i in data){ + str += "<option value='"+data[i].relation_game_name+"' "+(game_name && data[i].relation_game_name == game_name?'selected':'')+">"+data[i].relation_game_name+"</option>" + } + $("#game_name").empty(); + $("#game_name").append(str); + $("#game_name").select2(); + $("#game_name").change(); + } + }) + } + + getGameList(); + }) + + + </script> +</block> diff --git a/Application/Admin/View/BusinessAffairsAward/edit.html b/Application/Admin/View/BusinessAffairsAward/edit.html new file mode 100644 index 000000000..e79022ee1 --- /dev/null +++ b/Application/Admin/View/BusinessAffairsAward/edit.html @@ -0,0 +1,203 @@ +<extend name="Public/base" /> + +<block name="body"> + <link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" /> + <link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all"> + <link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet"> + <script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script> + <script type="text/javascript" src="__STATIC__/provincecityarea/AreaData_min.js"></script> + <script src="__STATIC__/layer/layer.js"></script> + <script type="text/javascript" src="__JS__/select2.min.js"></script> + + <style> + .tabcon1711 input.time { + width: 150px; + } + #form .txt_area { + width: 300px; + height: 150px; + } + .tabcon1711 .form_unit { + margin-left: 2px; + } + .tabcon1711 .mustmark { + margin-left:-7px; + } + .list-ratio { + display: table; + } + .list-ratio .li-ratio { + display: flex; + margin-bottom: 20px; + align-items: center; + } + .list-ratio .li-ratio .turnover, .list-ratio .li-ratio .turnover-ratio { + position: relative; + } + .list-ratio .li-ratio .turnover span, .list-ratio .li-ratio .turnover-ratio .error-message { + color: red; + position: absolute; + left: 0; + top: 30px; + white-space: nowrap; + display: none; + } + .iconfont-btn { + cursor: pointer; + } + .iconfont-style { + font-size: 18px; + color: #fff; + border-radius: 4px; + border: 0; + padding: 5px; + margin-left: 10px; + } + .iconfont-selected { + background-color: #0A9AF2; + } + .iconfont-selected:hover { + background-color: #03a9f4; + } + .iconfont-unselected { + background-color: #999; + } + .iconfont-unselected:hover { + background-color: #ababab; + } + + input[type=number]{ + padding: 4px 6px; + font-size: 12px; + line-height: 20px; + 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; + } + </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('edit')}" 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">*</i>流水区间:</td> + <td class="r table_radio"> + <div style="float: left;"> + <input type="text" class="txt time" name="start_amount" id="start_amount" οninput="value=value.replace(/[^\w\.\/]/ig, '')" placeholder="起始流水" value="{$data['start_amount']}"> + - + <input type="text" class="txt time" name="end_amount" id="end_amount" οninput="value=value.replace(/[^\w\.\/]/ig, '')" placeholder="结束流水" value="{$data['end_amount']}"> + </div> + </td> + </tr> + <tr> + <td class="l"><i class="mustmark">*</i>抽成比例:</td> + <td class="r table_radio"> + <input type="number" class="txt ratio" name="ratio" id="ratio" value="{$data['ratio']}" placeholder="" οninput="value=value.replace(/[^\w\.\/]/ig, '')" style="width: 60px;float: left;"> + <span class="form_unit">%</span> + </td> + </tr> + </tbody> + </table> + </div> + + <div class="form-item cf"> + <input name="id" value="{$_REQUEST['id']}" style="display: none"> + <button class="submit_btn mlspacing" id="submit" type="submit" target-form="form-horizontal"> + 保存 + </button> + <a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" > + 返回 + </a> + </div> + </form> + </div> + </div> + +</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 src="__STATIC__/czinputcheck.js?v=1.29" type="text/javascript"></script> + <script type="text/javascript"> + //导航高亮 + highlight_subnav("{:U('BusinessAffairsAward/lists')}"); + $(".select_gallery").select2(); + + $(function(){ + subevn(); + function subevn(){ + $('#submit').off("click"); + $('#submit').click(function (e) { + //查看是否报错 + + var ratio = $("#ratio").val(); + + if(ratio > 100){ + layer.msg("默认比例不能大于100", {icon: 2}); + return false; + } + + if(ratio <= 0){ + layer.msg("默认比例不能小于等于0", {icon: 2}); + return false; + } + + var target = $('form').get(0).action; + var query = $('form').serialize(); + var that = this; + $(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true); + $.post(target,query).success(function(data){ + if(layer) {layer.closeAll('loading');} + if (data.code==1) { + if (data.url) { + updateAlert(data.msg + ' 页面即将自动跳转~'); + }else{ + updateAlert(data.msg); + } + setTimeout(function(){ + $(that).removeClass('disabled').prop('disabled',false); + if (data.url) { + location.href=data.url; + }else if( $(that).hasClass('no-refresh')){ + $('#tip').find('.tipclose').click(); + }else{ + location.reload(); + } + },1500); + }else{ + $(that).removeClass('disabled').prop('disabled',false); + layer.msg(data.msg,{icon: 2}); + } + }); + }); + } + }); + </script> +</block> + diff --git a/Application/Admin/View/BusinessAffairsAward/lists.html b/Application/Admin/View/BusinessAffairsAward/lists.html new file mode 100644 index 000000000..a45d39d3b --- /dev/null +++ b/Application/Admin/View/BusinessAffairsAward/lists.html @@ -0,0 +1,159 @@ +<extend name="Public/base"/> + +<block name="body"> +<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" /> +<script type="text/javascript" src="__JS__/bootstrap.min.js"></script> +<script type="text/javascript" src="__JS__/select2.min.js"></script> + <style> + .select2-container--default .select2-selection--single { + color: #000; + resize: none; + border-width: 1px; + border-style: solid; + border-color: #a7b5bc #ced9df #ced9df #a7b5bc; + box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px; + height:28px;border-radius:3px;font-size:12px; + } + .select2-container--default .select2-selection--single .select2-selection__rendered { + line-height:35px; + line-height:28px; + } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height:26px; + } + .select2-container--default .select2-search--dropdown .select2-search__field { + height:26px;line-height:26px;font-size:12px; + } + .select2-results__option[aria-selected] {font-size:12px;} + </style> + <!-- 标题栏 --> + + <div class="cf main-place top_nav_list navtab_list"> + <h3 class="page_title">商务奖金比例</h3> + <p class="description_text"></p> + </div> + + + <div class="cf top_nav_list"> + <div class="fl button_list"> + <empty name="model.extend"> + <div class="tools"> + <if condition="$add_check eq true"> + <a class="" href="{:U('add?model='.$model['id'])}"><span class="button_icon button_icon1"></span>新增</a> + </if> + </div> + </empty> + </div> + <!-- 高级搜索 --> +<!-- <div class="jssearch fl cf search_list" >--> +<!-- <div class="input-list search-title-box">--> +<!-- <label>搜索:</label>--> +<!-- </div>--> +<!-- <!–游戏类型搜索END–>--> +<!-- <div class="input-list input-list-game search_label_rehab">--> +<!-- <select id="ba_id" name="account" class="select_gallery" style="width:120px;">--> +<!-- <option value="">商务专员账号</option>--> +<!-- <volist name=":get_business_affairs_list()" id="vo">--> +<!-- <option ba-id="{$vo.id}" value="{$vo.account}">{$vo.account}</option>--> +<!-- </volist>--> +<!-- </select>--> +<!-- </div>--> +<!-- <div class="input-list input-list-platform">--> +<!-- <select id="ba_status" name="status" >--> +<!-- <option value="">状态</option>--> +<!-- <option value="1">正常</option>--> +<!-- <option value="0">禁用</option>--> +<!-- </select>--> + +<!-- </div>--> +<!-- <div class="input-list">--> +<!-- <a class="sch-btn" href="javascript:;" id="search" url="{:U('BusinessAffairs/lists','model='.$model['name'].'&row='.I('row'),false)}">搜索</a>--> +<!-- </div>--> +<!-- </div>--> + </div> + + + <!-- 数据列表 --> + <div class="data_list "> + <div class=""> + <table> + <!-- 表头 --> + <thead> + <tr> + <th >序号</th> + <th >流水区间</th> + <th >抽成比例</th> + <th >操作</th> + </tr> + </thead> + + <!-- 列表 --> + <tbody> + <empty name ="list"> + <td colspan="14" class="text-center">aOh! 暂时还没有内容!</td> + <else /> + <volist name="list" id="data" key="index"> + <tr> + <td>{$index}</td> + <td>{$data.start_amount}-{$data.end_amount}</td> + <td>{$data.ratio}%</td> + <td> + <if condition="$add_check eq true"> + <a href="{:U('edit',array('id'=>$data['id']))}">编辑</a> + <a href="{:U('del?id='.$data['id'])}" class="ajax-get">删除</a> + <else/> + ---- + </if> + </td> + </tr> + </volist> + </empty> + </tbody> + </table> + </div> + </div> + <div class="page"> + <if condition="$role_export_check eq true "> + <a class="sch-btn" href="{:U('Export/business_affairs_list',array_merge(['xlsname'=>'商务专员_商务专员'],I('get.')))}">导出</a> + </if> + {$_page|default=''} + </div> + +</block> + +<block name="script"> +<script src="__STATIC__/layer/layer.js"></script> +<script> +<volist name=":I('get.')" id="vo"> + Think.setValue('{$key}',"{$vo}"); +</volist> +$(".select_gallery").select2(); +</script> +<script type="text/javascript"> +//导航高亮 +highlight_subnav('{:U('BusinessAffairsAward/lists')}'); +$(function(){ + //搜索功能 + $("#search").click(function(){ + var url = $(this).attr('url'); + var query = $('.jssearch').find('input').serialize(); + query += "&"+$('.jssearch').find('select').serialize(); + query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,''); + query = query.replace(/^&/g,''); + if( url.indexOf('?')>0 ){ + url += '&' + query; + }else{ + url += '?' + query; + } + window.location.href = url; + }); + + //回车自动提交 + $('.jssearch').find('input').keyup(function(event){ + if(event.keyCode===13){ + $("#search").click(); + } + }); +}) +</script> +</block> diff --git a/Application/Admin/View/Game/add.html b/Application/Admin/View/Game/add.html index 199f3a918..0cf95aabd 100644 --- a/Application/Admin/View/Game/add.html +++ b/Application/Admin/View/Game/add.html @@ -60,6 +60,18 @@ <input type="hidden" id="game_type_name" name="game_type_name" value=""> </td> </tr> + <tr> + <td class="l">游戏归属:</td> + <td class="r"> + <select id="game_belong_id" name="game_belong_id"> + <option value="0">无</option> + <volist name=":getAffairMember()" id="vo"> + <option value="{$vo.admin_id}">{$vo.real_name}</option> + </volist> + </select> + <input type="hidden" id="game_belong_name" name="game_belong_name" value=""> + </td> + </tr> <tr> <td class="l noticeinfo">运营平台</td> <td class="r table_radio"> diff --git a/Application/Admin/View/Game/edit.html b/Application/Admin/View/Game/edit.html index 2e0c743ba..ee9a72c58 100644 --- a/Application/Admin/View/Game/edit.html +++ b/Application/Admin/View/Game/edit.html @@ -88,6 +88,22 @@ <input type="hidden" id="game_type_name" name="game_type_name" value="{$data['game_type_name']}"> </td> </tr> + <tr> + <td class="l">游戏归属:</td> + <td class="r"> + <select id="game_belong_id" name="game_belong_id"> + <option value="0">无</option> + <volist name=":getAffairMember()" id="vo"> + <if condition="$vo[admin_id] eq $data[game_belong_id]"> + <option value="{$vo.admin_id}" selected>{$vo.real_name}</option> + <else /> + <option value="{$vo.admin_id}">{$vo.real_name}</option> + </if> + </volist> + </select> + <input type="hidden" id="game_belong_name" name="game_belong_name" value="{$data['game_belong_name']}"> + </td> + </tr> <tr> <td class="l noticeinfo">运营平台</td> <td class="r table_radio"> diff --git a/Application/Admin/View/Game/lists.html b/Application/Admin/View/Game/lists.html index f846e5604..e689f0f99 100644 --- a/Application/Admin/View/Game/lists.html +++ b/Application/Admin/View/Game/lists.html @@ -160,6 +160,7 @@ text-indent:0; <th>下载次数</th> <th>排序设置</th> <th>添加关联</th> + <th>游戏归属</th> <th style="width:10%;min-width:150px;">操作</th> </tr> </thead> @@ -246,6 +247,7 @@ text-indent:0; <span class="relation_add_error">该游戏关联数据错误</span> </if> </td> + <td>{$data.game_belong_name|default='无'}</td> <td> <a href="{:U('Game/edit?id='.$data['id'].'&type=1&p='.I('p',1))}">编辑</a> <a href="{:U('Game/del?ids='.$data['id'])}" class="confirm ajax-get">删除</a> diff --git a/Application/Admin/View/User/edit.html b/Application/Admin/View/User/edit.html index 1aa028c6a..5097b5a1e 100644 --- a/Application/Admin/View/User/edit.html +++ b/Application/Admin/View/User/edit.html @@ -80,6 +80,12 @@ <input type="text" id="leave_time" name="leave_time" class="" value="{$list['leave_time']}" placeholder="离职时间" autocomplete="off"/> </td> </tr> + <tr> + <td class="l">转正时间:</td> + <td class="r"> + <input type="text" id="become_time" name="become_time" class="" value="{$list['become_time']}" placeholder="转正时间" autocomplete="off"/> + </td> + </tr> <tr> <td class="l noticeinfo">离职状态</td> <td class="r table_radio table_radio2"> @@ -174,6 +180,17 @@ todayBtn:true, }); + $('#become_time').datetimepicker({ + format: 'yyyy-mm-dd', + language: "zh-CN", + showMeridian:true, + pickDate:true, + minView: 2, + autoclose: true, + pickTime:true, + todayBtn:true, + }); + $bind_wx=$("#bind_wx").prop('checked'); if($bind_wx){ cpsw=check(1); diff --git a/Data/update.sql b/Data/update.sql index 1f69fdff3..785a3a4c1 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -2799,3 +2799,28 @@ ADD COLUMN `wm_statement_ids` int(11) NOT NULL DEFAULT 0 COMMENT '子系统财 ALTER TABLE `tab_reward_record` ADD COLUMN `is_verify` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否审核' AFTER `settlement_time`, ADD COLUMN `verify_detail` longtext NULL COMMENT '审核详情' AFTER `is_verify`; + +ALTER TABLE `tab_game` +ADD COLUMN `game_belong_id` int(11) NOT NULL DEFAULT 0 COMMENT '归属市场员id' AFTER `data_share`, +ADD COLUMN `game_belong_name` varchar(50) NOT NULL DEFAULT '' COMMENT '归属市场员姓名' AFTER `game_belong_id`; + +ALTER TABLE `sys_ucenter_member` +ADD COLUMN `become_time` int(11) NOT NULL DEFAULT 0 COMMENT '转正时间' AFTER `leave_time`; + +CREATE TABLE `tab_business_affairs_award_pool` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `time` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '月份', + `pay_amount` decimal(13, 2) NOT NULL COMMENT '流水', + `relation_game_id` int(11) NOT NULL COMMENT '游戏id', + `relation_game_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '游戏名', + `game_belong_id` int(11) NOT NULL DEFAULT 0 COMMENT '归属id', + `game_belong_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '归属名', + `month_bonus_pool` decimal(13, 2) NOT NULL DEFAULT 0.00 COMMENT '月奖金池', + `quarter_bonus_pool` decimal(13, 2) NOT NULL DEFAULT 0.00 COMMENT '季度奖金池', + `month_award` decimal(13, 2) NOT NULL DEFAULT 0.00 COMMENT '月奖金', + `quarter_award` decimal(13, 2) NOT NULL DEFAULT 0.00 COMMENT '季度奖金', + `person_award` decimal(13, 2) NOT NULL DEFAULT 0.00 COMMENT '个人奖金', + `verify_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '审核状态 0 未审核 1 审核通过 2 审核拒绝', + `verify_time` int(11) NOT NULL DEFAULT 0 COMMENT '审核时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; \ No newline at end of file