解决冲突

master
chenzhi 5 years ago
commit 0c91774854

@ -1424,7 +1424,7 @@ function get_promote_levels($id = 0)
case '4':
return "组员";
break;
default:
return '';
}
@ -1932,7 +1932,7 @@ function excelUpStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_all_
}
$pay_amount_str .= "J{$line}+";
$objPHPExcel->getActiveSheet()->setCellValue('D'.$line, $product_name);
$line++;
}
@ -1993,7 +1993,7 @@ function excelDownStreamTemplate($data, $all_sum_money, $all_pay_amount, $big_al
if ($data['withdraw_type'] == '2') {
$objPHPExcel->getActiveSheet()->setCellValue('D2','补点比例');
}
$line = 3;
$pay_amount_str = "=";
@ -2292,6 +2292,32 @@ function a_array_unique($array){
return $data;
}
}
/**
* 获取团体归属类型其他
* @author chenzhi 20200219
* $id 不传返回所有类型列表
* 传入ID 返回对应的团体类型
*/
function getCompanyBlongOther($id = -1)
{
$data = array(
["id"=>0,'name'=>"内团"],
["id"=>1,'name'=>"外团"],
["id"=>2,'name'=>"外团-分发"],
["id"=>3,'name'=>"无"],
["id"=>'1,2','name'=>"外团&外团-分发"]
);
if($id > -1){
foreach($data as $k=>$v){
if($v['id'] == $id){
return $v['name'];
break;
}
}
}else{
return $data;
}
}
/**
* 获取公会归属关系
* @author chenzhi 20200219
@ -2544,7 +2570,7 @@ function isMarketLeader()
}
$userAuth = session('user_auth');
$adminIds = M('auth_group_access', 'sys_')->where(['group_id' => $authGroup['id']])->getField('uid', true);
return in_array($userAuth['uid'], $adminIds);
return in_array($userAuth['uid'], $adminIds);
}
function isMarketAdmin()
@ -2557,6 +2583,46 @@ function isMarketAdmin()
$adminIds = M('auth_group_access', 'sys_')->where(['group_id' => ['in', $ids]])->getField('uid', true);
return in_array($userAuth['uid'], $adminIds);
}
/**
*
* 获取市场专员
*
*/
function getMarketAdmin() {
$map['group_id'] = ['in','11,12,21'];
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['menber.uid'] = $admin_id;
if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14) {
unset($map['menber.uid']);
}
$data = M("auth_group_access")
->field("real_name,menber.uid,nickname")
->join("left join sys_member menber on sys_auth_group_access.uid = menber.uid")
->where($map)
->select();
foreach ($data as $key => $value) {
!$value['real_name'] ? ($data[$key]['real_name'] = "未命名"):"";
}
return $data;
}
function is_sendBonus($pay_time = '',$admin_id = '') {
$market_altogether = M("market_altogether","tab_")
->where(['pay_time'=>$pay_time,'admin_id'=>$admin_id])
->find();
if ($market_altogether['status'] > 0) {
return 1;
} else {
return 0;
}
}
function getPromoteIdsByTopIds($ids)
{
@ -2578,7 +2644,17 @@ function getCompanyDevelopTypes()
return [
1 => '自主开发',
2 => '自主开发及维护',
3 => '只维护'
3 => '只维护',
];
}
function getCompanyDevelopTypesOther()
{
return [
1 => '自主开发',
2 => '自主开发及维护',
3 => '只维护',
'1,2'=>'自主开发&自主开发及维护'
];
}
@ -2609,4 +2685,125 @@ function withMarketAdminCondition($map, $searchMarketAdminId = 0)
$map['promote_id'] = ['in', $promoteIds];
}
return $map;
}
function getMarketMonth() {
$start = date("Y-m", strtotime("+4 month"));
//开始月份
$range = [];
$i = 1;
do {
$month = date('Y-m', strtotime($start . ' - ' . $i . ' month'));
$range[] = $month;
$i++;
} while ($i<13);
return $range;
}
function getDateMarket() {
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['access.uid'] = $admin_id;
if(is_administrator()) {
unset($map['access.uid']);
}
$data = M("member")
->field("access.uid admin_id,real_name,nickname,market_percentage")
->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(['group_id'=>['in','11,12,21']])
->where($map)
->select();
$return = [];
$num = 0;
foreach ($data as $key => $value) {
$group_config = json_decode($value['market_percentage'],true);
$arr_month = getMarketMonth();
foreach ($arr_month as $k => $v) {
// var_dump($v);
$month = date("m",strtotime($v));
if ($group_config['time'] == 1) {
// echo $v.' '."\n";
if ($month == '07'||$month == '10'||$month == '04'||$month == '01') {
$return[$num]['admin_id'] = $value['admin_id'];
$return[$num]['real_name'] = $value['real_name'];
$return[$num]['pay_time'] = $v;
$num++;
}
} elseif($group_config['time'] == 2) {
if ($month == '07'||$month == '01') {
$return[$num]['admin_id'] = $value['admin_id'];
$return[$num]['real_name'] = $value['real_name'];
$return[$num]['pay_time'] = $v;
$num++;
}
} elseif($group_config['time'] == 3) {
if ($month == '01') {
$return[$num]['admin_id'] = $value['admin_id'];
$return[$num]['real_name'] = $value['real_name'];
$return[$num]['pay_time'] = $v;
$num++;
}
} else {
$return[$num]['admin_id'] = $value['admin_id'];
$return[$num]['real_name'] = $value['real_name'];
$return[$num]['pay_time'] = $v;
$num++;
}
}
}
// dump($return);
return $return;
}
/**
* 渠道列表
* @param $type
* @return mixed
*/
function promote_listsMarket($type){
if($type){
$map['level'] = $type;
} else{
$map = '';
}
// $promoteRoot = getPowerPromoteIds();
// if ($promoteRoot) {
// $map['id'] =array('in',$promoteRoot);
// }
setPowerPromoteIds($map,'id');
$admin_id = $_SESSION['onethink_admin']['user_auth']['uid'];
$map['admin_id'] = $admin_id;
if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14) {
unset($map['admin_id']);
}
$data = M('promote','tab_')->where($map)->select();
$items = M('PromoteBalanceCoin', 'tab_')->where(['game_id' => 0])->select();
$records = [];
foreach ($items as $item) {
$records[$item['promote_id']] = $item['num'];
}
foreach ($data as $key => $item) {
$item['common_coin'] = isset($records[$item['id']]) ? $records[$item['id']] : $item['balance_coin'];
$data[$key] = $item;
}
return $data;
}

@ -640,15 +640,22 @@ class AdminController extends Controller {
public function checkListOrCountAuthRestMap(&$map,$checkarr = false,$countfield = "rule_count_check"){
//验证count
if(IS_ROOT){
$this->assign('caculate_check',true);
$this->assign('send_bonus_check',true);
$this->assign('role_export_check',true);
$this->assign($countfield,true);
}else{
$exportRule = strtolower(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME."_export_check");
// var_dump($this->checkRule($exportRule,array('in','1,2')));die();
$this->assign('role_export_check',$this->checkRule($exportRule,array('in','1,2')));
$sendBonus = strtolower(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME."_send_bonus_check");
$this->assign('send_bonus_check',$this->checkRule($sendBonus,array('in','1,2')));
$caculateRule = strtolower(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME."_caculate_check");
$this->assign('caculate_check',$this->checkRule($caculateRule,array('in','1,2')));
$countRule = strtolower(MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME."_count_check");
$this->assign($countfield,$this->checkRule($countRule,array('in','1,2')));

@ -595,4 +595,40 @@ class AuthManagerController extends AdminController{
$this->ajaxReturn(json_encode($returnData));
}
function AuthMarketMember() {
$gid = I('group_id');
$data = $_POST;
$AuthGroup = D('AuthGroup');
if( !$AuthGroup->find($gid)){
$this->error('用户组不存在');
}
if (IS_POST) {
$data = json_encode($data);
$AuthGroup->where(['id'=>$gid])->save(['market_percentage'=>$data]);
$this->success("编辑成功",U("index"));
} else {
$auth_group = M('AuthGroup')->where( array('status'=>array('egt','0'),'module'=>'admin','type'=>AuthGroupModel::TYPE_ADMIN) )
->getfield('id,id,title,rules');
$data = $AuthGroup->where(['id'=>$gid])->find();
$data['market_percentage'] = json_decode($data['market_percentage'],true);
$this->assign('data',$data['market_percentage']);
$this->assign('auth_group', $auth_group);
$this->display("authmarketmember");
}
}
}

@ -3873,16 +3873,21 @@ class ExportController extends Controller
$this->meta_title = '留存统计';
$start = I('start', date('Y-m-d',strtotime('-7 day')));
$end = empty(I('end')) ? time_format(time(),'Y-m-d') : I('end');
$gameId = I('game_id', 0);
$promoteId = I('promote_id', 0);
$baseGameId = I('game_id', 0);
$deviceType = I('device_type', '');
$status = true;
$data = false;
$error = '';
if ($gameId == 0) {
if ($baseGameId == 0) {
$error = '请选择游戏!';
$status = false;
}
if ($deviceType == '') {
$error = '请选择设备类型!';
$status = false;
}
$startTime = strtotime($start . ' 00:00:00');
$endTime = strtotime($end . ' 23:59:59') + 1;
if ((($endTime - $startTime)/(24*3600)) > 31) {
@ -3890,6 +3895,10 @@ class ExportController extends Controller
$status = false;
}
if ($status) {
$baseGame = M('base_game', 'tab_')->where(['id' => $baseGameId])->find();
$gameId = $deviceType == 'android' ? $baseGame['android_game_id'] : $baseGame['ios_game_id'];
$client = new Client([
'base_uri' => C('TASK_URL'),
'timeout' => 10.0,

@ -241,7 +241,7 @@ class FinancePromoteController extends AdminController
}
if (isset($_REQUEST['company_belong'])) {
$map['promote.company_belong'] = $_REQUEST['company_belong'];
}
$isMarketLeader = isMarketLeader();
if ($isMarketLeader) {
@ -249,7 +249,7 @@ class FinancePromoteController extends AdminController
}
if (!empty(I('develop_type'))) {
$map['company.develop_type'] = I('develop_type');
$map['company.develop_type'] = ['in',I('develop_type')];
}
$adminId = 0;
@ -275,6 +275,9 @@ class FinancePromoteController extends AdminController
if($istimeselect){
$map['s.payed_time']=$istimeselect;
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
}
$map['s.pay_status']=1;
$field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count,
SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count,
@ -357,7 +360,8 @@ class FinancePromoteController extends AdminController
$title = '';
if (!empty(I('develop_type'))) {
$map['company.develop_type'] = I('develop_type');
// $map['company.develop_type'] = I('develop_type');
$map['company.develop_type'] = ['in',I('develop_type')];
}
self::setPromoteMap($map,"s.promote_id",$title);
@ -588,7 +592,8 @@ class FinancePromoteController extends AdminController
$map['s.pay_time'] = ['LT', strtotime($_REQUEST['time_end']) + 86399];
}
if (!empty(I('develop_type'))) {
$map['develop_type'] = I('develop_type');
// $map['develop_type'] = I('develop_type');
$map['develop_type'] = ['in',I('develop_type')];
}
$isMarketLeader = isMarketLeader();
if ($isMarketLeader) {

@ -461,6 +461,8 @@ class PayChannelController extends ThinkController
->group('pay_way')
->select(false);
// var_dump($map);die();
//推广后台充值数据
$spreadMap['order_status'] = array('egt',1);
$spreadMap['pay_way'] = array('egt',1);

@ -838,6 +838,7 @@ AND UNIX_TIMESTAMP(
array_multisort($orderColumn, $sort, SORT_REGULAR, $rows);
}
$this->checkListOrCountAuthRestMap($map,[]);
$this->meta_title = 'ARPU统计';
$this->assign('baseGames', $baseGames);
$this->assign('records', $rows);

@ -736,4 +736,418 @@ class TimingController extends AdminController {
}
function getPayway($name) {
switch ($name){
case 'alipay': //支付宝 1
return 1;
case 'wei_xin': //微信支付 2 3
return 2;
case 'heepay': //汇付宝 6
return 6;
case 'sqpay': //双乾支付9,10,15
return 9;
case 'yeepay': //易宝支付17
return 17;
default:
return '';
}
}
//计算市场专员业绩公式 参数 time 2020-10
public function caculateMarketStream () {
echo date("Y-m-d H:i:s")."----------------------市场结算管理计算----------------------\n";
$map['pay_time'] = date("Y-m",strtotime('-1 month'));
if ($_REQUEST['time']) {
$map['pay_time'] = $_REQUEST['time'];
}
$spend_map = [];
if($_REQUEST['time'] == 'all') {
$map = [];
$spend_map['pay_time'] = ['elt',strtotime(date('Y-m-t 23:59:59', strtotime('-1 month')))];
}
$data = M("auth_group")
->where(['title'=>['like','%市场%']])
->select(false);
$data = M("auth_group_access")
->field("auth.market_percentage,real_name,sys_member.uid,sys_auth_group_access.group_id")
->join("left join ({$data}) auth on auth.id = sys_auth_group_access.group_id")
->join("left join sys_member on sys_member.uid = sys_auth_group_access.uid")
->where("auth.title is not null")
->select(false);
$spend = M("spend","tab_")
->field("sum(pay_amount) as pay_amount,FROM_UNIXTIME(pay_time,'%Y-%m') pay_time,
substring_index(substring_index(tab_spend.game_name,'(',1),'(',-1) game_name,game_id,relation_game_id,tab_spend.sdk_version,
CASE WHEN substring_index(substring_index(`chain`,'/',2),'/',-1) !='' THEN substring_index(substring_index(`chain`,'/',2),'/',-1) ELSE promote_id END promote_id,pay_way,market_admin_id")
->join("left join tab_promote on tab_spend.promote_id = tab_promote.id")
->join("left join tab_game game on game.id=tab_spend.game_id")
->where(['tab_spend.pay_status'=>1,'pay_way'=>['egt',1]])
->where($spend_map)
->group("tab_spend.id")
->select(false);
// var_dump($spend);die();
$payway_spend = M()->table("({$spend}) spend")
->field("sum(pay_amount) as pay_amount,pay_time,promote_id,game_name,game_id,relation_game_id,pay_way,sdk_version")
->where($map)
->group("pay_time,promote_id,game_name,pay_way,market_admin_id")
->select();
$channel_fee = [];
$paywayData = M("tool","tab_")
->field("name,config")
->where(['name'=>['in',"alipay,weixin,wei_xin,wei_xin_app,jubaobar,weixin_gf,jft,jft_wap,goldpig,ptb_pay,bind_pay,sqpay,heepay,yeepay"]])
->select();
//公司税费计算
$tax_radio = [];
$tax_data = M("tax_radio","tab_")
->field("tax_radio,time")
->order("time ASC")
->select();
foreach ($tax_data as $key => $value) {
$tax_radio[$key]['start'] = $value['time'];
$tax_radio[$key]['end'] = $tax_data[$key+1]['time'];
$tax_radio[$key]['tax_radio'] = $value['tax_radio'];
if (!$tax_data[$key+1]['time']) {
$tax_radio[$key]['end'] = 99999999999;
}
}
$pay_rate = [];
foreach ($paywayData as $key => $value) {
$pay_config = json_decode($value['config'],true);
if ($this->getPayway($value['name'])) {
$pay_rate[$this->getPayway($value['name'])] = $pay_config['channel_rate']?$pay_config['channel_rate']:0;
}
}
foreach ($payway_spend as $key => $value) {
switch ($value['pay_way']){
case 3: //微信同步
$value['pay_way'] = '2';
break;
case 10: //双乾同步
$value['pay_way'] = '9';
break;
case 15: //双乾同步
$value['pay_way'] = '9';
break;
}
//将时间、推广员id、游戏名、设备类型作为键值标记渠道费用
if (!$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]) {
if (!$value['pay_way']) {
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']] = 0;
}
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]
= $value['pay_amount'] * ($pay_rate[$value['pay_way']]/100);
} else {
$channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]
= $channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']]+($value['pay_amount'] * ($pay_rate[$value['pay_way']]/100));
}
}
$spend = M()->table("({$spend}) spend")
->field("sum(pay_amount) as pay_amount,pay_time,promote_id,game_name,game_id,relation_game_id,sdk_version,market_admin_id")
->where($map)
->group("pay_time,promote_id,game_name,market_admin_id")
->select(false);
$promote_data = M()->table("({$spend}) spend")
->field("pay_time,company_id,account as promote_account,company.company_belong,develop_type,spend.promote_id,spend.game_name,game_id,relation_game_id,spend.pay_amount,auth.real_name,market_admin_id as admin_id,market_percentage,sdk_version")
->join("left join tab_promote promote on spend.promote_id = promote.id")
->join("left join tab_promote_company company on promote.company_id = company.id")
->join("left join ({$data}) auth on auth.uid=market_admin_id")
->where(['develop_type'=>['egt',1],'group_id'=>['in',['11','12','21']]])
->select();
// dump($spend);die();
//
// dump($tax_radio);die();
foreach ($promote_data as $key => $value) {
$cp_radio = getGameCpRadio($value['game_id'],$value['pay_amount'],true);
if (!$cp_radio) {
$cp_radio = getGameCpRadio($value['game_id'],$value['pay_amount'],false);
}
//上游流水
$promote_data[$key]['cp_amount'] = $value['pay_amount'] * ($cp_radio * 0.01);
//下游
$promote_radio = getGamePromoteCompanyRadio($value['company_id'],$value['relation_game_id'],time(),$value['pay_amount'],true,$value['company_belong']);
if (!$promote_radio) {
$promote_radio = getGamePromoteCompanyRadio($value['company_id'],$value['relation_game_id'],time(),$value['pay_amount'],false,$value['company_belong']);
}
//下游流水
$promote_data[$key]['promote_amount'] = $value['pay_amount'] * ($promote_radio * 0.01);
//渠道费用
$promote_data[$key]['channel_amount'] = $channel_fee[$value['pay_time'].$value['promote_id'].$value['game_name']];
$tax = 0;
//公司税费
foreach($tax_radio as $k => $v) {
if (strtotime($value['pay_time'])>=$v['start'] && strtotime($value['pay_time'])<$v['end']) {
$tax = $v['tax_radio'];
}
}
$promote_data[$key]['company_tax'] = ($value['pay_amount']-$promote_data[$key]['cp_amount']- $promote_data[$key]['promote_amount'])*($tax/100);
//毛利
$promote_data[$key]['company_profit'] = $value['pay_amount']-$promote_data[$key]['cp_amount']-$promote_data[$key]['promote_amount']-$promote_data[$key]['channel_amount']-$promote_data[$key]['company_tax'];
if ($value['promote_id'] == 0) {
// $promote_data[$key]['promote_account']='官方渠道';
// $promote_data[$key]['company_id']='0';
// $promote_data[$key]['company_belong']='3';
// $promote_data[$key]['develop_type']='0';
continue;
}
unset($promote_data[$key]['market_percentage']);
$marker_data = M("settleup_marketorder","tab_")
->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name']])
->find();
echo "日期:{$value['pay_time']},游戏:{$value['game_name']},推广员:{$value['promote_account']}\n";
// dump($promote_data[$key]);die();
if (!$marker_data) {
M("settleup_marketorder","tab_")
->add($promote_data[$key]);
} else {
M("settleup_marketorder","tab_")
->where(['pay_time'=>$value['pay_time'],'promote_id'=>$value['promote_id'],'game_name'=>$value['game_name']])
->save($promote_data[$key]);
}
}
// var_dump($_REQUEST['time']);
$this->createMarketBonus($_REQUEST['time']);
echo date("Y-m-d H:i:s")."----------------------市场结算管理计算----------------------\n";
}
public function insertAllUserBonus($time) {
// $time = $_REQUEST['time'];
$data = M("member")
->field("access.uid admin_id,real_name,nickname,group_id level")
->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(['group_id'=>['in','11,12,21']])
->select();
foreach ($data as $key => $value) {
$value['pay_time'] = $time;
$value['remark'] = "";
$value['create_time'] = time();
$sign = M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])
->find();
if (!$sign) {
M("market_altogether","tab_")->add($value);
} elseif(!$sign['real_name']) {
M("market_altogether","tab_")->where(['admin_id'=>$value['admin_id'],'pay_time'=>$time])->save(['real_name'=>$value['real_name']]);
}
}
}
public function createMarketBonus($pay_time) {
if ($pay_time&&$pay_time!='all') {
$map['pay_time'] = $pay_time;
}
if (!$pay_time) {
$pay_time = date("Y-m",strtotime('-1 month'));
$map['pay_time'] = date("Y-m",strtotime('-1 month'));
}
if ($pay_time == 'all') {
$end = date("Y-m",time());
$start = '2019-08';
$i = 0;
do {
$date = date('Y-m', strtotime($start . ' + ' . $i . ' month'));
$i++;
$this->insertAllUserBonus($date);
} while ($date < date('Y-m', strtotime("{$end} -1 month")));
// $map['pay_time'] = [];
unset($map['pay_time']);
} else{
$this->insertAllUserBonus($pay_time);
}
$all_data = M("settleup_marketorder","tab_")
->field("tab_settleup_marketorder.id,pay_time,promote_account,company_belong,tab_settleup_marketorder.real_name,develop_type,game_name,
sum(pay_amount) pay_amount,sum(company_profit) company_profit,group_id,market_percentage,nickname,admin_id,
sum(if((develop_type = 1 or develop_type = 2), pay_amount, 0)) performance_revenue,sum(if(develop_type = 3, pay_amount, 0)) appraisal_bonuses,
sum(company_tax) company_tax, sum(cp_amount) cp_amount,sum(promote_amount) promote_amount")
->join("left join sys_auth_group_access access on admin_id=access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->join("left join sys_member member on access.uid=member.uid")
->where(['group_id'=>['in','11,12,21']])
->where($map)
->group("admin_id,pay_time")
->select();
foreach ($all_data as $key => $value) {
$sum_amount = $value['performance_revenue'] + $value['appraisal_bonuses'];
$market_percentage = json_decode($value['market_percentage'],true);//业绩提成
$all_data[$key]['performance_commission'] =
number_format($value['company_profit']*($market_percentage['develop_commission_ratio']/100) +
$value['company_profit']*($market_percentage['maintain_commission_ratio']/100), 2, '.', '');
$sum_amount <$market_percentage['performance_revenue'] ? ($all_data[$key]['performance_commission'] = 0):"";
//绩效考核奖金
$all_data[$key]['achievement_bonus'] =
number_format($value['company_profit']*($market_percentage['appraisal_bonuses_ratio']/100) +
$value['company_profit']*($market_percentage['maintain_appraisal_bonuses_ratio']/100), 2, '.', '');
$sum_amount <$market_percentage['appraisal_bonuses'] ? ($all_data[$key]['achievement_bonus'] = 0):"";
//总提成
$all_data[$key]['commission'] = number_format($all_data[$key]['performance_commission']+$all_data[$key]['achievement_bonus'], 2, '.', '');
//应发金额
$all_data[$key]['extend_commission'] =
substr(number_format($all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)+
$all_data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100), 4, '.', ''),0,-2);
//待发金额
$all_data[$key]['wait_commission'] = substr(number_format($all_data[$key]['commission'] - ( $all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)+
$all_data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100) ), 4, '.', ''),0,-2);
$insert['pay_time'] = $value['pay_time'];
$insert['real_name'] = $value['real_name'];
$insert['admin_id'] = $value['admin_id'];
$insert['nickname'] = $value['nickname'];
$insert['level'] = $value['group_id'];
$insert['pay_amount'] = $value['pay_amount'];
$insert['extend_commission'] = substr(
number_format(($all_data[$key]['performance_commission'] * ($market_percentage['performance_monthly_ratio']/100)
+ $all_data[$key]['achievement_bonus'] * ($market_percentage['month_bonus_ratio']/100)), 4, '.', ''),0,-2);
$insert['wait_commission'] = $all_data[$key]['wait_commission'];
$insert['remark'] = '';
$insert['create_time'] = time();
$insert['company_profit'] = $value['company_profit'];
$insert['company_tax'] = $value['company_tax'];
$insert['cp_amount'] = $value['cp_amount'];
$insert['promote_amount'] = $value['promote_amount'];
$insert['performance_revenue'] = $value['performance_revenue'];
$insert['appraisal_bonuses'] = $value['appraisal_bonuses'];
$insert['performance_commission'] = $all_data[$key]['performance_commission'];
$insert['achievement_bonus'] = $all_data[$key]['achievement_bonus'];
//待发业绩奖金
$insert['wait_performance_commission'] = number_format($all_data[$key]['performance_commission'] * (1-($market_percentage['performance_monthly_ratio']/100)), 2, '.', '');
//待发绩效奖金
$insert['wait_achievement_commission'] = number_format($all_data[$key]['achievement_bonus'] * (1-($market_percentage['month_bonus_ratio']/100)), 2, '.', '');
// $insert['wait_commission'] = ($insert['wait_performance_commission']+$insert['wait_achievement_commission']);
$is_hav = M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$value['pay_time']])
->find();
if (!$is_hav) {
M("market_altogether","tab_")->add($insert);
} else {
M("market_altogether","tab_")
->where(['admin_id'=>$value['admin_id'],'pay_time'=>$value['pay_time']])
->save($insert);
}
}
}
public function sendMarketBonus(){
echo date("Y-m-d H:i:s")."----------------------月初发放市场专员应发份额----------------------\n";
$map['pay_time'] = date("Y-m",strtotime('-1 month'));
if ($_REQUEST['time']) {
$map['pay_time'] = $_REQUEST['time'];
}
if ($_REQUEST['time'] == 'all') {
unset($map['pay_time']);
}
$data = M("market_altogether","tab_")
->where($map)
->select();
// dump($map);die();
foreach ($data as $key => $value) {
$group_config = M("auth_group_access access")
->field("market_percentage")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where(['uid'=>$value['admin_id']])
->find();
$group_config = json_decode($group_config['market_percentage'],true);
$month = date("m",strtotime($value['pay_time']));
$yes = date("Y",strtotime($value['pay_time']));
$where =[];
if ($group_config['time'] == 1) {
// var_dump($month);die();
if ($month == '07') {
$where = [$yes.'-'.'01',$yes.'-'.'02',$yes.'-'.'03'];
} elseif($month == '10') {
$where = [$yes.'-'.'04',$yes.'-'.'05',$yes.'-'.'06'];
} elseif($month == '04') {
$where = [($yes-1).'-'.'10',($yes-1).'-'.'11',($yes-1).'-'.'12'];
} elseif($month == '01') {
$where = [($yes-1).'-'.'07',($yes-1).'-'.'08',($yes-1).'-'.'09'];
}
} elseif($group_config['time'] == 2) {
if ($month == '07') {
$where = [$yes.'-'.'01',$yes.'-'.'02',$yes.'-'.'03',$yes.'-'.'04',$yes.'-'.'05',$yes.'-'.'06'];
} elseif($month == '01') {
$where = [($yes-1).'-'.'07',($yes-1).'-'.'08',($yes-1).'-'.'09',($yes-1).'-'.'10',($yes-1).'-'.'11',($yes-1).'-'.'12'];
}
} elseif($group_config['time'] == 3) {
if ($month == '01') {
$where = [($yes-1).'-'.'01',($yes-1).'-'.'02',($yes-1).'-'.'03',($yes-1).'-'.'04',($yes-1).'-'.'05',($yes-1).'-'.'06',
($yes-1).'-'.'07',($yes-1).'-'.'08',($yes-1).'-'.'09',($yes-1).'-'.'10',($yes-1).'-'.'11',($yes-1).'-'.'12'];
}
} else {
$where = [date("Y-m",strtotime("last month",strtotime($value['pay_time'])))];
}
echo "{$value['pay_time']}:{$value['real_name']}发放\n";
$save['status'] = 1;
$save['remark'] = '自动发放';
if ($where) {
$map['pay_time'] = ['in',$where];
$map['admin_id'] = $value['admin_id'];
M("market_altogether","tab_")
->where($map)
->save($save);
}
}
echo date("Y-m-d H:i:s")."----------------------市场结算管理计算----------------------\n";
}
}

@ -261,7 +261,7 @@ class UserController extends AdminController
}
}
public function add($username = '', $password = '', $repassword = '', $email = '', $second_pwd = '')
public function add($username = '', $real_name='', $password = '', $repassword = '', $email = '', $second_pwd = '')
{
if (IS_POST) {
@ -269,6 +269,9 @@ class UserController extends AdminController
if (empty($username)) {
$this->error('管理员账号不能为空!');
}
if (empty($real_name)) {
$this->error('真实姓名不能为空!');
}
/* 检测密码 */
if ($password != $repassword) {
$this->error('管理员密码和确认密码不一致!');
@ -285,7 +288,7 @@ class UserController extends AdminController
$User = new UserApi;
$uid = $User->register($username, $password, $email, $second_pwd);
if (0 < $uid) { //注册成功
$user = array('uid' => $uid, 'nickname' => $username, 'status' => 1,"birthday"=>date('Y-m-d',time()));
$user = array('uid' => $uid,'realname'=>$real_name, 'nickname' => $username, 'status' => 1,"birthday"=>date('Y-m-d',time()));
$data['uid'] = $uid;
$data['group_id'] = I('auth');
M('auth_group_access')->data($data)->add();
@ -343,6 +346,9 @@ class UserController extends AdminController
}
}
}
if (empty($_POST['real_name'])) {
$this->error('真实姓名不能为空!');
}
if ($_POST['auth'] == '' && $id != 1) {
$this->error('请选择用户权限!');
}
@ -389,6 +395,7 @@ class UserController extends AdminController
$maps['uid'] = $id;
$info['username'] = $_POST['username'];
$in['nickname'] = $_POST['username'];
$in['real_name'] = $_POST['real_name'];
$pwd = $this->think_ucenter_md5($_POST['password'], UC_AUTH_KEY);
$spwd = $this->think_ucenter_md5($_POST['second_pwd'], UC_AUTH_KEY);
$rpwd = $Member->where(array('id' => $id))->find();
@ -428,6 +435,9 @@ class UserController extends AdminController
} else {
$map['id'] = $_GET['id'];
$Member = D('UcenterMember')->where($map)->find();
$data = D('Member')->where(array('uid' => $_GET['id']))->find();
$au = D('AuthGroupAccess')->where(array('uid' => $_GET['id']))->find();
$this->assign("authid", $au["group_id"]);
$this->assign("houtai", $au["houtai"]);
@ -435,6 +445,7 @@ class UserController extends AdminController
$username = $_POST['username'];
$password = $_POST['password'];
$this->assign('lists', $list);
$this->assign('data',$data);
$this->assign('list', $Member);
$this->assign('sd', $group);
$this->meta_title = '编辑管理员';

@ -0,0 +1,164 @@
<!-- 成员授权编辑页面 -->
<extend name="Public/base" />
<block name="body">
<div class="main-place">
<span class="main-placetitle">位置</span>
<ul class="main-placeul">
<li><a href="{:U('User/index')}">用户</a></li>
<li><a href="{:U('User/index')}">管理组</a></li>
<li><a href="#">{$meta_title}</a></li>
</ul>
</div>
<div class="tab-wrap">
<div class="tab_nav">
<ul>
<li><a href="{:U('AuthManager/access',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">访问授权</a></li>
<li><a href="{:U('AuthManager/category',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">分类授权</a></li>
<li><a href="{:U('AuthManager/dataempower',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">数据授权</a></li>
<li><a href="{:U('AuthManager/user',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">成员授权</a></li>
<li class="current"><a href="javascript:;">市场专员分成</a></li>
<li class="fr tab_select">
<select name="group">
<volist name="auth_group" id="vo">
<option value="{:U('AuthManager/AuthMarketMember',array('group_id'=>$vo['id'],'group_name'=>$vo['title']))}" <eq name="vo['id']" value="$_GET['group_id']">selected</eq> >{$vo.title}</option>
</volist>
</select>
</li>
</ul>
</div>
<div class="tab-wrap">
<div class="tab-content tabcon1711" style="margin-top: 20px;">
<span style="font-size: 20px;font-weight: 600;padding-left: 15px;padding-bottom: 30px">市场专员分成</span>
<!-- 表单 -->
<form id="form" action="{:U('AuthMarketMember?model='.$model['id'])}" method="post" class="form-horizontal">
<!-- 基础文档模型 -->
<div id="tab1" class="tab-pane in tab1" style="margin-top: 10px;">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l" style="padding-left: 15px;">业绩提成起提流水:</td>
<td class="r table_radio">
<input type="text" name="performance_revenue" id="performance_revenue" value="{$data.performance_revenue}" onkeyup ="value=value.replace(/[^\d]/g,'')">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">开发业绩提成比例:</td>
<td class="r table_radio">
<input type="text" name="develop_commission_ratio" id="develop_commission_ratio" value="{$data['develop_commission_ratio']}" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">维护业绩提成比例:</td>
<td class="r table_radio">
<input type="text" name="maintain_commission_ratio" id="maintain_commission_ratio" value="{$data['maintain_commission_ratio']}" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">业绩月发放比例:</td>
<td class="r table_radio">
<input type="text" name="performance_monthly_ratio" id="performance_monthly_ratio" value="{$data['performance_monthly_ratio']}" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">余下业绩发放时间选择:</td>
<td class="r table_radio">
<select name="time" class="select_gallery" id="time" style="text-align: center">
<option value="0" <if condition="$data['time'] eq '0'">selected</if>>月</option>
<option value="1" <if condition="$data['time'] eq '1'">selected</if>>跨季</option>
<option value="2" <if condition="$data['time'] eq '2'">selected</if>>半年</option>
<option value="3" <if condition="$data['time'] eq '3'">selected</if>>一年</option>
</select>
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">考核奖金起提流水:</td>
<td class="r table_radio">
<input type="text" name="appraisal_bonuses" id="appraisal_bonuses" value="{$data['appraisal_bonuses']}" onkeyup ="value=value.replace(/[^\d]/g,'')">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">开发考核奖金比例:</td>
<td class="r table_radio">
<input type="text" name="appraisal_bonuses_ratio" id="appraisal_bonuses_ratio" value="{$data['appraisal_bonuses_ratio']}" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">维护考核奖金比例:</td>
<td class="r table_radio">
<input type="text" name="maintain_appraisal_bonuses_ratio" id="maintain_appraisal_bonuses_ratio" value="{$data['maintain_appraisal_bonuses_ratio']}" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">奖金月发放比例:</td>
<td class="r table_radio">
<input type="text" name="month_bonus_ratio" id="month_bonus_ratio" value="{$data['month_bonus_ratio']}" onkeyup ="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l" style="padding-left: 15px;">余下奖金发放时间选择:</td>
<td class="r table_radio">
<select name="remain_time" class="select_gallery" id="remain_time">
<option value="0" <if condition="$data.remain_time eq '0'">selected</if>>月</option>
<option value="1" <if condition="$data.remain_time eq '1'">selected</if>>跨季</option>
<option value="2" <if condition="$data.remain_time eq '2'">selected</if>>半年</option>
<option value="3" <if condition="$data.remain_time eq '3'">selected</if>>一年</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-item cf">
<input type="hidden" name="group_id" id="group_id" value="{$_GET['group_id']}">
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal" >
确认
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="{:U('index')}" style="color:#000000;background:#ffffff;border: solid 1px #000">
返回
</a>
</div>
</form>
</div>
</div>
<div class="main-title" style="border-bottom: 0px solid #C1C1C1 !important;margin-bottom: 0;padding-bottom: 0">
<div class="page_nav fl">
{$_page}
</div>
</div>
<div class="tabcon1711">
</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="AuthManager/index">
</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" charset="utf-8">
$('select[name=group]').change(function(){
location.href = this.value;
});
//导航高亮
highlight_subnav('{:U('AuthManager/index')}');
</script>
</block>

@ -16,6 +16,9 @@
<li class="current"><a href="javascript:;">分类授权</a></li>
<li><a href="{:U('AuthManager/dataempower',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">数据授权</a></li>
<li><a href="{:U('AuthManager/user',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">成员授权</a></li>
<if condition="$_GET['group_id'] eq 11 or $_GET['group_id'] eq 12 or $_GET['group_id'] eq 21">
<li><a href="{:U('AuthManager/AuthMarketMember',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">市场专员分成</a></li>
</if>
<li class="fr tab_select">
<select name="group">
<volist name="auth_group" id="vo">

@ -17,6 +17,9 @@
<!-- <li><a href="{:U('AuthManager/dataempower',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">数据授权</a></li>-->
<li class="current"><a href="javascript:;">数据授权</a></li>
<li><a href="{:U('AuthManager/user',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">成员授权</a></li>
<if condition="$_GET['group_id'] eq 11 or $_GET['group_id'] eq 12 or $_GET['group_id'] eq 21">
<li><a href="{:U('AuthManager/AuthMarketMember',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">市场专员分成</a></li>
</if>
<!-- <li class="current"><a href="javascript:;">成员授权</a></li>-->
<li class="fr tab_select">
<select name="group">

@ -47,6 +47,9 @@
<a href="{:U('AuthManager/category?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >分类授权</a>
<a href="{:U('AuthManager/user?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >成员授权</a>
<a href="{:U('AuthManager/dataempower?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >数据授权</a>
<if condition="$vo['id'] eq 11 or $vo['id'] eq 12 or $vo['id'] eq 21">
<a href="{:U('AuthManager/AuthMarketMember?group_name='.$vo['title'].'&group_id='.$vo['id'])}" >市场专员分成</a>
</if>
</td>
<td>
<eq name="vo.status" value="1"><span class="enabled_status">{:get_status_title($vo['status'])}</span>

@ -16,6 +16,9 @@
<li><a href="{:U('AuthManager/category',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">分类授权</a></li>
<li><a href="{:U('AuthManager/dataempower',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">数据授权</a></li>
<li><a href="{:U('AuthManager/user',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">成员授权</a></li>
<if condition="$_GET['group_id'] eq 11 or $_GET['group_id'] eq 12 or $_GET['group_id'] eq 21">
<li><a href="{:U('AuthManager/AuthMarketMember',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">市场专员分成</a></li>
</if>
<li class="fr tab_select">
<select name="group">
<volist name="auth_group" id="vo">

@ -16,6 +16,9 @@
<li><a href="{:U('AuthManager/category',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">分类授权</a></li>
<li><a href="{:U('AuthManager/dataempower',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">数据授权</a></li>
<li class="current"><a href="javascript:;">成员授权</a></li>
<if condition="$_GET['group_id'] eq 11 or $_GET['group_id'] eq 12 or $_GET['group_id'] eq 21">
<li><a href="{:U('AuthManager/AuthMarketMember',array('group_name'=>I('group_name') ,'group_id'=> I('group_id')))}">市场专员分成</a></li>
</if>
<li class="fr tab_select">
<select name="group">
<volist name="auth_group" id="vo">

@ -140,7 +140,7 @@
<div class="input-list input-list-server search_label_rehab">
<select id="develop_type" name="develop_type" class="select_gallery" style="width:120px;">
<option value="">请选择开发类型</option>
<?php foreach(getCompanyDevelopTypes() as $key => $value):?>
<?php foreach(getCompanyDevelopTypesOther() as $key => $value):?>
<option value="<?=$key?>" <?php if($key == I('develop_type')):?>selected<?php endif;?>><?=$value?></option>
<?php endforeach;?>
</select>

@ -131,7 +131,7 @@
<div class="input-list input-list-server search_label_rehab">
<select id="develop_type" name="develop_type" class="select_gallery" style="width:120px;">
<option value="">请选择开发类型</option>
<?php foreach(getCompanyDevelopTypes() as $key => $value):?>
<?php foreach(getCompanyDevelopTypesOther() as $key => $value):?>
<option value="<?=$key?>" <?php if($key == I('develop_type')):?>selected<?php endif;?>><?=$value?></option>
<?php endforeach;?>
</select>

@ -117,11 +117,11 @@
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<div class="input-list input-list-server search_label_rehab">
<select id="develop_type" name="develop_type" class="select_gallery" style="width:120px;">
<option value="">请选择开发类型</option>
<?php foreach(getCompanyDevelopTypes() as $key => $value):?>
<?php foreach(getCompanyDevelopTypesOther() as $key => $value):?>
<option value="<?=$key?>" <?php if($key == I('develop_type')):?>selected<?php endif;?>><?=$value?></option>
<?php endforeach;?>
</select>

@ -0,0 +1,130 @@
<extend name="Public/base" />
<block name="body">
<!-- <link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all"> -->
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="__STATIC__/provincecityarea/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>
<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('editTaxRatio?model='.$model['id'])}" method="post" class="form-horizontal">
<!-- 基础文档模型 -->
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l" style="width: 150px;">原税率:</td>
<td class="l" style="width: 250px;">
{$data['tax_radio']}%
</td>
<td class="l" style="width: 150px;">修改后税率:</td>
<td class="l">
<input type="text" class="txt" name="tax_radio" value="" onKeyUp="if(value>100){value=100}else{value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')}if(value.indexOf(0)==0){value=0}">
</td>
</tr>
<tr>
<td class="l">生效时间点:</td>
<td class="r">
<input type="text" id="timestart" name="timestart" class="" value="{$data['timestart']}" placeholder="下单开始时间" autocomplete="off"/>
</td>
</tr>
</tbody>
</table>
<div class="form-item cf">
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal">
应用
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back(-1);" >
返回
</a>
</div>
</form>
</div>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="Promote/lists/type/1">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('MarketPercentage/index')}");
$(function(){
$('#timestart').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 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);
$("input[name=company_belong]").click(function () {
if ($(this).val() == 1) {
$('#company_relation').show();
} else {
$('#company_relation').hide();
}
});
});
</script>
</block>

@ -0,0 +1,487 @@
<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">
<h3 class="page_title">市场毛利统计</h3>
<p class="description_text">说明:市场毛利统计</p>
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<if condition="$caculate_check eq true">
<empty name="show_status">
<a class="recaculate" url="{:U('reCaculateBonus?pay_time='.$_GET['pay_time'])}"><span class="button_icon button_icon1"></span>重算</a>
</empty>
</if>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">-->
<!-- <select id="pay_time" name="pay_time" class="select_gallery" style="width:150px;">-->
<!-- <option value="">请选择月份</option>-->
<!-- <volist name=":getMonth()" id="vo">-->
<!-- <option value="{$vo}" <if condition="$vo eq $_GET['pay_time']">selected=selected</if>>{$vo}</option>-->
<!-- </volist>-->
<!-- </select>-->
<!-- </div>-->
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-parent search_label_rehab">
<select id="promote_id" name="promote_id" class="select_gallery" style="width:120px;">
<option value="">请选择会长账号</option>
<volist name=":promote_listsMarket(1)" id="vo">
<option data-company_belong="{$vo['company_belong']}" data-belong="{:getCompanyBlong($vo['company_belong'])}" promote_id-id="{$vo.id}" value="{$vo.id}" <if condition="$vo.id eq $_GET['promote_id']">selected=selected</if>>{$vo.account}</option>
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="relation_game_id" name="relation_game_id" class="select_gallery" style="width:120px;">
<option value="" selected="">请选择游戏</option>
<volist name=':get_game_list(null,2)' id='vo'>
<option value="{$vo.relation_game_id}" <if condition="$vo.relation_game_id eq $_GET['relation_game_id']"></if>>{$vo.relation_game_name}</option>
</volist>
</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('index','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><a href="{:U('editTaxRatio')}" style="text-decoration:none;">公司税费</a></th>
<th>税后毛利额</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($list_data)">
<tr>
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "list_data">
<volist name="list_data" id="data">
<tr>
<td>{$data.pay_time}</td>
<td>{$data.promote_account}</td>
<td>{$data.company_belong}</td>
<td>{$data.real_name}</td>
<td>{$data['develop_type']}</td>
<td>{$data['game_name']}</td>
<td>{$data['pay_amount']}</td>
<td>{$data['cp_amount']}</td>
<td>{$data['promote_amount']}</td>
<td>{$data['channel_amount']}</td>
<td>{$data['company_tax']}</td>
<td>{$data['company_profit']}</td>
</tr>
</volist>
<tr>
<td></td>
<td></td>
<td>合计</td>
<td></td>
<td></td>
<td></td>
<td>{$sum['pay_amount']}</td>
<td>{$sum['cp_amount']}</td>
<td>{$sum['promote_amount']}</td>
<td>{$sum['channel_amount']}</td>
<td>{$sum['company_tax']}</td>
<td>{$sum['company_profit']}</td>
</tr>
</notemtpy>
</tbody>
</table>
</div>
<else/>
</empty>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
{$_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('MarketPercentage/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;
}
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;
});
$(".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);
})
});
$('#time_start').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'
})
//下拉内容框
$(".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();
});
})
$('.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();
});
});
})
</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');
var checked = 'checked';
$.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{
$(".jsgamecheckall").attr('checked',false);
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
checked = '';
}
}
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>');
});
$(".jsgamecheckall").attr('checked',checked);
$("#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{
var tip_msg = res.info ? res.info : '操作失败';
layer.msg(tip_msg);
}
});
});
//保存修改
$(".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);
}
});
});
}
</script>
</block>

@ -0,0 +1,480 @@
<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;}
.layui-layer-dialog .layui-layer-content{color:red}
</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">
<div class="tools">
<if condition="$caculate_check eq true">
<empty name="show_status">
<a class="recaculate" url="{:U('reCaculateBonus?pay_time='.$_GET['pay_time'])}"><span class="button_icon button_icon1"></span>重算</a>
</empty>
</if>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">-->
<!-- <select id="pay_time" name="pay_time" class="select_gallery" style="width:150px;">-->
<!-- <option value="">请选择时间</option>-->
<!-- <volist name=":getMonth()" id="vo">-->
<!-- <option value="{$vo}" <if condition="$vo eq $_GET['pay_time']">selected=selected</if>>{$vo}</option>-->
<!-- </volist>-->
<!-- </select>-->
<!-- </div>-->
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-parent search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择人员</option>
<volist name=":getMarketAdmin()" id="vo">
<option value="{$vo.uid}" <if condition="$vo.uid eq $_GET['admin_id']">selected=selected</if>>{$vo.real_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="group_id" name="group_id" class="select_gallery" style="width:120px;">
<option value="" selected="">请选择级别</option>
<option value="21" <if condition="$_GET['group_id'] eq 1">selected</if>>初级</option>
<option value="11" <if condition="$_GET['group_id'] eq 2">selected</if>>中级</option>
<option value="12" <if condition="$_GET['group_id'] eq 2">selected</if>>高级</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('marketStaffSettle','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>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($list_data)">
<tr>
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "list_data">
<volist name="list_data" id="data">
<tr>
<td>{$data.pay_time|default='无'}</td>
<td>{$data.real_name|default='无'}</td>
<td>{$data.level|default='无'}</td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$data['start_time'],'time_end'=>$data['end_time'],'admin_id'=>$data['admin_id'],'develop_type'=>'1,2'))}" >{$data.performance_revenue|default='0.00'}</a></td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$data['start_time'],'time_end'=>$data['end_time'],'admin_id'=>$data['admin_id'],'develop_type'=>3))}" >{$data['appraisal_bonuses']|default='0.00'}</a></td>
<td>{$data['performance_commission']|default='0.00'}</td>
<td>{$data['achievement_bonus']|default='0.00'}</td>
<td>{$data['commission']|default='0.00'}</td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$data['start_time'],'time_end'=>$data['end_time'],'admin_id'=>$data['admin_id']))}" >{$data['extend_commission']|default='0.00'}</a></td>
<td><a href="{:U('MarketPercentage/showBonusList',array('time_start'=>$data['start_time'],'time_end'=>$data['end_time'],'real_name'=>$data['real_name'],'level'=>$data['group_id']))}" >{$data['wait_commission']|default='0.00'}</a></td>
</tr>
</volist>
<td colspan="3">合计</td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$start_time,'time_end'=>$end_time,'develop_type'=>'1,2'))}" >{$sum['performance_revenue']|default="0.00"}</a></td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$start_time,'time_end'=>$end_time,'develop_type'=>3))}" >{$sum['appraisal_bonuses']|default='0.00'}</a></td>
<td>{$sum['performance_commission']|default='0.00'}</td>
<td>{$sum['achievement_bonus']|default='0.00'}</td>
<td>{$sum['commission']|default='0.00'}</td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$start_time,'time_end'=>$end_time))}" >{$sum['extend_commission']|default='0.00'}</a></td>
<td></td>
</notemtpy>
</tbody>
</table>
</div>
<else/>
</empty>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
{$_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('MarketPercentage/marketStaffSettle')}');
$(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;
}
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;
});
$(".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();
});
})
$('#time_start').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'
})
$('.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();
});
});
})
</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');
var checked = 'checked';
$.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{
$(".jsgamecheckall").attr('checked',false);
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
checked = '';
}
}
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>');
});
$(".jsgamecheckall").attr('checked',checked);
$("#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{
var tip_msg = res.info ? res.info : '操作失败';
layer.msg(tip_msg);
}
});
});
//保存修改
$(".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);
}
});
});
}
</script>
</block>

@ -0,0 +1,538 @@
<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">
<h3 class="page_title">个人总提成列表</h3>
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<if condition="$caculate_check eq true">
<a class="recaculate" url="{:U('reCaculateBonus?pay_time='.$_GET['pay_time'])}"><span class="button_icon button_icon1"></span>重算</a>
</if>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">-->
<!-- <select id="pay_time" name="pay_time" class="select_gallery" style="width:150px;">-->
<!-- <option value="">请选择时间</option>-->
<!-- <volist name=":getMonth()" id="vo">-->
<!-- <option value="{$vo}" <if condition="$vo eq $_GET['pay_time']">selected=selected</if>>{$vo}</option>-->
<!-- </volist>-->
<!-- </select>-->
<!-- </div>-->
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-parent search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择人员</option>
<volist name=":getMarketAdmin()" id="vo">
<option value="{$vo.uid}" <if condition="$vo.uid eq $_GET['admin_id']">selected=selected</if>>{$vo.real_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-parent search_label_rehab">
<select id="status" name="status" class="select_gallery" style="width:120px;">
<option value="">请选择剩余金额发放状态</option>
<option value="1">已发放</option>
<option value="0">未发放</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('personMarketStaffSettle','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>本月未发</th>
<th>剩余金额发放状态</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($list_data)">
<tr>
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "list_data">
<volist name="list_data" id="data" key="index">
<tr>
<td>{$data.pay_time|default='无'}</td>
<td>{$data.real_name|default='无'}</td>
<td>{$data.nickname|default='无'}</td>
<td>{$data.level|default='无'}</td>
<td>{$data.performance_revenue|default='0.00'}</td>
<td>{$data['appraisal_bonuses']|default='0.00'}</td>
<td>{$data.company_profit|default="0.00"}</td>
<td>{$data['performance_commission']|default='0.00'}</td>
<td>{$data['achievement_bonus']|default='0.00'}</td>
<td>{$data['commission']|default='0.00'}</td>
<td>{$data['extend_commission']|default='0.00'}</td>
<td>{$data['wait_commission']|default='0.00'}</td>
<td>{$data['is_send']|default='未发放'}</td>
<td>
<if condition="$send_bonus_check eq true">
<if condition="$data['status'] eq 0">
<a data-admin_id="{$data.admin_id}" data-time="{$data.pay_time}" class="send">发放</a>
<a data-admin_id="{$data.admin_id}" data-time="{$data.pay_time}" class="send_back">离职发放</a>
</if>
</if>
</td>
</tr>
</volist>
<tr>
<td></td>
<td></td>
<td></td>
<td>合计</td>
<td>{$sum.performance_revenue|default="0.00"}</td>
<td>{$sum.appraisal_bonuses|default="0.00"}</td>
<td>{$sum.company_profit|default="0.00"}</td>
<td>{$sum['performance_commission']|default='0.00'}</td>
<td>{$sum['achievement_bonus']|default='0.00'}</td>
<td>{$sum['commission']|default='0.00'}</td>
<td>{$sum['extend_commission']|default='0.00'}</td>
<td>{$sum['wait_commission']|default='0.00'}</td>
<td></td>
<td></td>
</tr>
</notemtpy>
</tbody>
</table>
</div>
<else/>
</empty>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
{$_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('MarketPercentage/personMarketStaffSettle')}');
$(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;
}
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;
});
$(".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();
});
/* 状态搜索子菜单 */
/*发放提成*/
$('.send').click(function(){
var time = $(this).attr('data-time');
var admin_id = $(this).attr('data-admin_id');
layer.confirm('是否确认发放提成!', {
title:'发放提成?',
icon:0,
closeBtn:0,
btn: ['发放','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: "{:U('sendBonus')}",
dataType: 'json',
async: false,
data: {pay_time:time,admin_id:admin_id},
success:function(data){
if(data.status==1){
layer.msg(data.msg);
setTimeout(function(){
window.location.reload();
},1500);
} else {
layer.msg(data.msg);
}
}
});
}, function(){
layer.close();
});
})
$('#time_start').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'
})
$('.send_back').click(function(){
var time = $(this).attr('data-time');
var admin_id = $(this).attr('data-admin_id');
layer.confirm('是否确认发放提成!', {
title:'发放提成?',
icon:0,
closeBtn:0,
btn: ['发放','取消'] //按钮
}, function(){
$.ajax({
type: "POST",
url: "{:U('sendBonus')}",
dataType: 'json',
async: false,
data: {pay_time:time,admin_id:admin_id,all:1},
success:function(data){
if(data.status==1){
layer.msg(data.msg);
setTimeout(function(){
window.location.reload();
},1500);
} else {
layer.msg(data.msg);
}
}
});
}, function(){
layer.close();
});
})
$('.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();
});
});
})
</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');
var checked = 'checked';
$.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{
$(".jsgamecheckall").attr('checked',false);
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
checked = '';
}
}
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>');
});
$(".jsgamecheckall").attr('checked',checked);
$("#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{
var tip_msg = res.info ? res.info : '操作失败';
layer.msg(tip_msg);
}
});
});
//保存修改
$(".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);
}
});
});
}
</script>
</block>

@ -0,0 +1,479 @@
<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">
<h3 class="page_title">提成数据汇总表</h3>
<!-- <p class="description_text">说明:此功是查看并管理推广员的功能</p>-->
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<empty name="show_status">
<a class="recaculate" url="{:U('reCaculateBonus?pay_time='.$_GET['pay_time'])}"><span class="button_icon button_icon1"></span>重算</a>
</empty>
</div>
</div>
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">-->
<!-- <select id="pay_time" name="pay_time" class="select_gallery" style="width:150px;">-->
<!-- <option value="">请选择月份</option>-->
<!-- <volist name=":getMonth()" id="vo">-->
<!-- <option value="{$vo}" <if condition="$vo eq $_GET['pay_time']">selected=selected</if>>{$vo}</option>-->
<!-- </volist>-->
<!-- </select>-->
<!-- </div>-->
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-parent search_label_rehab">
<select id="real_name" name="real_name" class="select_gallery" style="width:120px;">
<option value="">请选择人员</option>
<volist name=":getMarketAdmin()" id="vo">
<option value="{$vo.real_name}" <if condition="$vo.real_name eq $_GET['real_name']">selected=selected</if>>{$vo.real_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="nickname" name="nickname" class="select_gallery" style="width:120px;">
<option value="">请选择账号</option>
<volist name=":getMarketAdmin()" id="vo">
<option value="{$vo.nickname}" <if condition="$vo.nickname eq $_GET['nickname']">selected=selected</if>>{$vo.nickname}</option>
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="level" name="level" class="select_gallery" style="width:120px;">
<option value="" selected="">请选择级别</option>
<option value="21" <if condition="$_GET['level'] eq 1">selected</if>>初级</option>
<option value="11" <if condition="$_GET['level'] eq 2">selected</if>>中级</option>
<option value="12" <if condition="$_GET['level'] eq 2">selected</if>>高级</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('showBonusList','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>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($list_data)">
<tr>
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "list_data">
<volist name="list_data" id="data">
<tr>
<td>{$data.real_name}</td>
<td>{$data.nickname}</td>
<td>{$data.level}</td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$start_time,'time_end'=>$end_time,'admin_id'=>$data['admin_id']))}" >{$data.pay_amount}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$_REQUEST['time_start'],'time_end'=>$_REQUEST['time_end'],'admin_id'=>$data['admin_id']))}" >{$data.commission}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$_REQUEST['time_start'],'time_end'=>$_REQUEST['time_end'],'admin_id'=>$data['admin_id'],'status'=>1))}" >{$data['extend_commission']}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$_REQUEST['time_start'],'time_end'=>$_REQUEST['time_end'],'admin_id'=>$data['admin_id'],'status'=>0))}" >{$data['wait_commission']}</a></td>
<td>{$data['remark']}</td>
</tr>
</volist>
<td colspan="3">合计</td>
<td><a href="{:U('FinancePromote/index',array('time_start'=>$start_time,'time_end'=>$end_time))}" >{$sum['pay_amount']|default="0.00"}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$_REQUEST['time_start'],'time_end'=>$_REQUEST['time_end']))}" >{$sum['commission']|default="0.00"}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$_REQUEST['time_start'],'time_end'=>$_REQUEST['time_end'],'status'=>1))}" >{$sum['extend_commission']|default='0.00'}</a></td>
<td><a href="{:U('MarketPercentage/personMarketStaffSettle',array('time_start'=>$_REQUEST['time_start'],'time_end'=>$_REQUEST['time_end'],'status'=>0))}" >{$sum['wait_commission']|default='0.00'}</a></td>
<td></td>
</notemtpy>
</tbody>
</table>
</div>
<else/>
</empty>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
{$_page|default=''}
</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>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('MarketPercentage/showBonusList')}');
$(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;
}
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;
});
$(".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();
});
})
$('#time_start').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'
})
$('.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();
});
});
})
</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');
var checked = 'checked';
$.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{
$(".jsgamecheckall").attr('checked',false);
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
checked = '';
}
}
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>');
});
$(".jsgamecheckall").attr('checked',checked);
$("#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{
var tip_msg = res.info ? res.info : '操作失败';
layer.msg(tip_msg);
}
});
});
//保存修改
$(".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);
}
});
});
}
</script>
</block>

@ -198,7 +198,7 @@
<td class="l">开发类型:</td>
<td class="r" >
<select id="develop_type" name="develop_type" class="select_gallery" style="width: 215px;">
<option value="">请选择开发类型</option>
<option value="0">请选择开发类型</option>
<option value="1" <if condition="$data.develop_type eq 1">selected</if>>自主开发</option>
<option value="2" <if condition="$data.develop_type eq 2">selected</if>>自主开发及维护</option>
<option value="3" <if condition="$data.develop_type eq 3">selected</if>>只维护</option>

@ -155,6 +155,7 @@
'end' =>I('end',date('Y-m-d',time())),
'game_id'=>I('game_id'),
'promote_id'=>I('promote_id'),
'device_type'=>I('device_type'),
'xlsname'=>'数据分析_留存率分析',)
,false)}">导出</a>
</if>

@ -12,7 +12,7 @@
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l"><i class="mustmark">*</i>管理员账号</td>
<td class="l"><i class="mustmark">*</i>账号</td>
<td class="r">
<input name="username" type="text" class="">
<!-- <input type="hidden" class="" name="username" value="{$list.username}" > -->
@ -20,7 +20,15 @@
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>管理员密码</td>
<td class="l"><i class="mustmark">*</i>真实姓名</td>
<td class="r">
<input name="real_name" type="text" class="">
<!-- <input type="hidden" class="" name="username" value="{$list.username}" > -->
<span class="notice-text">管理员真实姓名</span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>密码</td>
<td class="r">
<input name="password" type="password" class="">
<span class="notice-text">管理员密码不能少于6位</span>

@ -18,6 +18,14 @@
<span class="notice-text">管理员账号用于管理后台登录</span>
</td>
</tr>
<tr>
<td class="l">真实姓名</td>
<td class="r">
<input name="real_name" value="{$data.real_name}" type="text" class="">
<!-- <input type="hidden" class="" name="username" value="{$list.username}" > -->
<span class="notice-text">管理员真实姓名</span>
</td>
</tr>
<tr>
<td class="l">管理员密码</td>
<td class="r">

@ -2103,4 +2103,47 @@ CREATE TABLE `tab_excel_statement_info` (
KEY `statement_begin_time` (`statement_begin_time`) USING BTREE,
KEY `statement_end_time` (`statement_end_time`) USING BTREE,
KEY `pay_status` (`pay_status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='exce汇总单';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='exce汇总单';
-- zyx 20200629
ALTER TABLE `sys_member`
ADD COLUMN `real_name` varchar(255) NULL DEFAULT '' COMMENT '真实姓名' AFTER `status`;
CREATE TABLE `tab_settleup_marketorder` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pay_time` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '月份时间',
`company_id` int(11) NULL DEFAULT 0 COMMENT '公司id',
`promote_id` int(11) NULL DEFAULT 0 COMMENT '推广员id',
`promote_account` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '推广员账号',
`company_belong` tinyint(2) NULL DEFAULT 0 COMMENT '工会归属0-内团1-外团 2-分发联盟 3 无',
`develop_type` tinyint(2) NULL DEFAULT 0 COMMENT '开发类型 1 自主开发 2 自主开发及维护 3 只维护',
`game_id` int(11) NULL DEFAULT 0 COMMENT '游戏id',
`game_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '游戏名称',
`relation_game_id` int(11) NULL DEFAULT 0 COMMENT '关联游戏id',
`pay_amount` decimal(13, 2) NOT NULL DEFAULT 0.00 COMMENT '总流水',
`real_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '市场专员姓名',
`admin_id` int(11) NULL DEFAULT 0 COMMENT '市场专员id',
`cp_amount` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '上游结算流水',
`promote_amount` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '下游结算流水',
`channel_amount` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '支付渠道费用',
`company_tax` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '公司税费',
`company_profit` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '毛利',
`sdk_version` tinyint(2) NULL DEFAULT 1 COMMENT '设备类型 1 安卓 2 ios',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
CREATE TABLE `tab_market_altogether` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pay_time` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '时间月份记录',
`real_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '管理员姓名',
`admin_id` int(11) NULL DEFAULT NULL COMMENT '管理员id',
`nickname` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '管理员账号',
`level` tinyint(2) NULL DEFAULT 0 COMMENT '级别21:初级 11:中级 12:高级',
`pay_amount` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '总流水',
`extend_commission` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '已发放金额',
`wait_commission` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '待发放金额',
`remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '备注',
`create_time` int(11) NULL DEFAULT 0 COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
INSERT INTO `tab_tool`(`id`, `name`, `title`, `config`, `type`, `status`) VALUES (59, 'tax_radio', '公司税费', '{"tax_radio":1.5,"time":1589361782}', 1, 1)

Loading…
Cancel
Save