Merge branch 'hotfix/market_percentage' of wmtx/platform into release

master
陈志 committed by Gogs
commit faa628977b

@ -540,6 +540,50 @@ class AjaxController extends ThinkController{
$this->ajaxReturn($data);
}
/**
*获取下游公司
*/
public function getPromoteCompany()
{
$company_belong = I('company_belong');
if ($company_belong == 1) {
$map['company_belong'] = ['in','1,2'];
} else {
$map['company_belong'] = $company_belong;
}
$data = M('promote_company','tab_')
->field('id, company_name as name,game_ids')
->where(['status' => 1])
->where($map)
->select();
$this->ajaxReturn($data);
}
/**
* 获取下游公司游戏列表
*/
public function getPromoteGameList() {
$game_ids = I('game_ids');
if ($game_ids) {
$map['relation_game_id'] = ['in',$game_ids];
} else {
$this->ajaxReturn([]);
}
$data = M("game","tab_")
->field("relation_game_id,relation_game_name")
->where($map)
->group("relation_game_id")
->select();
$this->ajaxReturn($data);
}
/**
* 操作日志
* option:

@ -98,20 +98,33 @@ class CompanyGameRatioController extends AdminController
$gameres = M("game","tab_")->field("tab_game.relation_game_id,tab_game.relation_game_name,IF(tab_game.original_package_name='','未配置',tab_game.original_package_name) original_package_name,tab_game_type.type_name game_type_name")->where($gamewhere)->join("tab_game_type on tab_game.game_type_id = tab_game_type.id")->group("tab_game.relation_game_id")->select(false);
$dbres = M("company_game_ratio","tab_")
->alias('m')
->field("m.*,g.*,p.company_name,p.company_belong,IFNULL(r.settlement_type,-1) settlement_type")
->field("m.*,g.*,p.company_name,p.company_belong,IFNULL(r.settlement_type,-1) settlement_type,group_concat(ratio SEPARATOR '|') ratio,group_concat(begin_time SEPARATOR '|') begin_time,group_concat(end_time SEPARATOR '|') end_time,group_concat(m.turnover_ratio SEPARATOR '|') turnover_ratio,group_concat(m.id SEPARATOR '|') operate_id")
->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")
->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")")
->join("left JOIN tab_company_relation r ON (r.first_company_type =2 AND r.first_company_id = m.company_id) OR (r.second_company_type =2 AND r.second_company_id = m.company_id)");
if(isset($params['export'])){
$dbres = $dbres->where($where)->select();
$dbres = $dbres->where($where)->group("company_id,m.relation_game_id")->select();
}else{
$dbres = $dbres->where($where)->page($page, $row)->select();
$dbres = $dbres->where($where)->page($page, $row)->group("company_id,m.relation_game_id")->select();
}
foreach($dbres as $k=>&$v){
$v['begin_time'] = date("Y-m-d",$v['begin_time']);
$v['end_time'] = $v['end_time'] ? date('Y-m-d', $v['end_time']) : '永久';
$v["valid"] = "{$v['begin_time']} ~ {$v['end_time']}";
$begin_time = explode('|',$v['begin_time']);
$end_time = explode('|',$v['end_time']);
foreach ($begin_time as $tk => $tv) {
$begintime = date("Y-m-d",$tv);
$endtime = $end_time[$tk] ? date('Y-m-d', $end_time[$tk]) : '永久';
$v["valid"][$tk] = "{$begintime} ~ {$endtime}";
}
// $v['begin_time'] = date("Y-m-d",$v['begin_time']);
// $v['end_time'] = $v['end_time'] ? date('Y-m-d', $v['end_time']) : '永久';
//
// $v["valid"] = "{$v['begin_time']} ~ {$v['end_time']}";
$v['company_belong'] ="下游".getCompanyBlong($v['company_belong']);
if (isset($params['export'])) {
@ -119,11 +132,17 @@ class CompanyGameRatioController extends AdminController
} else {
$symbol = "<br>";
}
$v['settlement_type'] = $this->SettlementType[$v['settlement_type']];
$this->readTurnoverRatio($v);
$v['oplist'] = $this->OpAuth($v);
$getId = explode('|',$v['operate_id']);
foreach ($getId as $key => $value) {
$v['oplist'][] = $this->OpAuth(['id'=>$value]);
}
}
$this->assign('data', $dbres);
if(isset($_REQUEST['export'])){
$GetData = $_GET;
@ -133,10 +152,14 @@ class CompanyGameRatioController extends AdminController
exit();
}
$count = M("company_game_ratio","tab_")->alias('m')->field("count(m.id) count")
->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")
->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")")
->where($where)->find()['count'];
$count = M("company_game_ratio","tab_")->alias('m')->field("m.id")
->join("JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")
->join("JOIN tab_promote_company p ON ( m.company_id = p.id".$pwhere.")")
->where($where)
->group("company_id,m.relation_game_id")
->select(false);
$count = M()->table("({$count})a")->count();
$page = set_pagination($count, $row,$params);
if($page) {
@ -413,13 +436,15 @@ class CompanyGameRatioController extends AdminController
"end_time"=>$v['end_time'],
];
$has = $company_game_ratio->where("company_id='{$v['company_id']}' and relation_game_id='{$v['relation_game_id']}'")->find();
if(isset($has['id'])){
$ratiov['id'] = $has['id'];
$company_game_ratio->save($ratiov);
}else{
$company_game_ratio->add($ratiov);
}
$this->companyRatioTimeChange($v['company_id'],$v['relation_game_id'],$v['begin_time'],$v['end_time'],$ratiov);
// $has = $company_game_ratio->where("company_id='{$v['company_id']}' and relation_game_id='{$v['relation_game_id']}' and begin_time={$v['begin_time']} and end_time={$v['end_time']}")->find();
// if(isset($has['id'])){
// $ratiov['id'] = $has['id'];
// $company_game_ratio->save($ratiov);
// }else{
// $company_game_ratio->add($ratiov);
// }
//
addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>"管理员审核",'url'=>U('lists')]);
}
@ -429,6 +454,106 @@ class CompanyGameRatioController extends AdminController
));
}
public function companyRatioTimeChange($company_id = 0, $relation_game_id = 0, $begin_time = 0, $end_time = 0,$ratiov=[]) {
if (!$company_id || !$relation_game_id) {
$this->error("公司与游戏的参数错误.");
}
$check_data = M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$begin_time,'end_time'=>$end_time])
->find();
if ($check_data) {
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$begin_time,'end_time'=>$end_time])
->save($ratiov);
return;
}
M("company_game_ratio","tab_")
// ->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>['egt',$begin_time],'end_time'=>['elt',$end_time]])
->where("company_id={$company_id} and relation_game_id={$relation_game_id} and begin_time>={$begin_time} and end_time <= {$end_time} and end_time!=0")
->delete();
$data = M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id])
->select();
foreach($data as $key => $value) {
if ($value['begin_time'] > $begin_time) {
if ($value['begin_time'] >= $end_time && $value['end_time']!=0) {
continue;
}
if ($end_time > $value['begin_time'] && ($end_time < $value['end_time']||$value['end_time']==0)) {
// $value['begin_time'] = $end_time;
// M("company_game_ratio","tab_")->save($value);
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['begin_time'=>$end_time+1]);
} else if ($end_time > $value['begin_time'] && ($end_time >= $value['end_time']&&$value['end_time']!=0)) {
// $value['begin_time'] = $begin_time;
// $value['end_time'] = $end_time;
// M("company_game_ratio","tab_")->save($value);
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['begin_time'=>$begin_time,'end_time'=>$end_time]);
}
} else if ($value['begin_time'] <= $begin_time) {
if ($begin_time >= $value['end_time']&& $value['end_time']!=0) {
continue;
}
if ($begin_time > $value['begin_time'] && ($end_time >= $value['end_time'] && $value['end_time']!=0)) {
// $value['end_time'] = $begin_time;
// M("company_game_ratio","tab_")->save($value);
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['end_time'=>$begin_time-1]);
} else if ($begin_time > $value['begin_time'] && ($end_time < $value['end_time']||$value['end_time']==0)) {
// $value['end_time'] = $begin_time;
// M("company_game_ratio","tab_")->save($value);
// dump(2);die();
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['end_time'=>$begin_time-1]);
$dataValue = $value;
$dataValue['begin_time'] = $end_time+1;
unset($dataValue['id']);
M("company_game_ratio","tab_")->add($dataValue);
} else if ($begin_time == $value['begin_time'] && ($end_time < $value['end_time']||$value['end_time']==0)) {
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['begin_time'=>$end_time+1]);
} else if ($end_time == $value['end_time']&&$begin_time>$value['begin_time']) {
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['end_time'=>$begin_time-1]);
} else if ($end_time == $value['end_time']&&$begin_time == $value['begin_time']) {
// $value['begin_time'] = $begin_time;
// $value['end_time'] = $end_time;
M("company_game_ratio","tab_")
->where(['company_id'=>$company_id,'relation_game_id'=>$relation_game_id,'begin_time'=>$value['begin_time'],'end_time'=>$value['end_time']])
->save(['begin_time'=>$begin_time,'end_time'=>$end_time]);
}
}
}
M("company_game_ratio","tab_")->add($ratiov);
}
public function addRatio()
{
if ($_POST) {
@ -457,9 +582,11 @@ class CompanyGameRatioController extends AdminController
$this->getOldRatio($save);
//判断已有未审核
$where = [
"relation_game_id"=>$save['company_id'],
"relation_game_id"=>$save['relation_game_id'],
"company_id"=>$save['company_id'],
"status"=>["LT",2]//管理员未确认
"status"=>["LT",2],//管理员未确认
"begin_time"=>$save['begin_time'],
"end_time"=>$save['end_time']
];
$hasdb = M("company_game_ratio_log","tab_")->field("count(id) count")->where($where)->find()['count'];
if($hasdb > 0){
@ -478,6 +605,66 @@ class CompanyGameRatioController extends AdminController
}
}
public function edit()
{
if ($_POST) {
$params = I('post.');
if(!isset($params['id'])){
$this->error('参数错误');
}
if (empty($params['begin_time'])) {
$this->error('请选择开始时间');
}
if (!empty($params['end_time'])) {
if (strtotime($params['end_time']) < strtotime($params['begin_time'])) {
$this->error('结束时间不得小于开始时间');
}
}
if (!isset($params['ratio']) || $params['ratio'] === '') {
$this->error('默认分成比例不能为空');
}
//查询
$y = M("company_game_ratio_log","tab_")->where("id='{$params['id']}'")->find();
$save['turnover_ratio'] = $this->setTurnoverRatio($params);
$save['ratio'] = $params['ratio'] ?? 0;
$save['last_turnover_ratio'] = $params['last_turnover_ratio'];
$save['last_ratio'] = $params['last_ratio'];
$save['relation_game_id'] = $params['relation_game_id'] ?? 0;
$save['company_id'] = $params['company_id'] ?? 0;
$save['begin_time'] = strtotime($params['begin_time']);
$save['end_time'] = $params['end_time'] ? strtotime($params['end_time'])+86399 : 0;
$save['remark'] = $params['remark'] ?? '';
$save['status'] = 0;
$save['verify_log']=json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]);
if($y['ratio'] != $save['ratio'] || $y['turnover_ratio'] != $save['turnover_ratio'] || $y['begin_time'] != $save['begin_time'] || $y['end_time'] != $save['end_time']){
$save['status'] = 0;
$save['verify_log'] = json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]);
}
M("company_game_ratio_log","tab_")->add($save);
addOperationLog(['op_type'=>1,'key'=>$params['id'],'op_name'=>'修改','url'=>U('index')]);
$this->ajaxReturn(["msg"=>"修改申请提交成功","code"=>1,"url"=>U("index")]);
} else {
$params = I('get.');
$id = $params['id'] ?? 0;
$id = intval($id);
$map['m.id'] = $id;
$gameres = M("game","tab_")->field("tab_game.relation_game_id,tab_game.relation_game_name,IF(tab_game.original_package_name='','未配置',tab_game.original_package_name) original_package_name,tab_game_type.type_name game_type_name")->join("tab_game_type on tab_game.game_type_id = tab_game_type.id")->group("tab_game.relation_game_id")->select(false);
$dbres = M("company_game_ratio","tab_")
->alias('m')
->field("m.*,g.*,p.company_name,p.company_belong")
->join("left JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")
->join("left JOIN tab_promote_company p ON m.company_id = p.id")
->where($map)
->find();
$dbres['turnover_ratio'] = $dbres['turnover_ratio'] ? json_decode($dbres['turnover_ratio'], true) : $dbres['turnover_ratio'];
$dbres['begin_time'] = date("Y-m-d",$dbres['begin_time']);
$dbres['end_time'] = empty($dbres['end_time']) ? '' :date("Y-m-d",$dbres['end_time']);
$this->assign('data', $dbres);
$this->display();
}
}
public function editRatio()
{
if ($_POST) {
@ -595,7 +782,7 @@ class CompanyGameRatioController extends AdminController
];
//操作对应菜单
if(!isset($info['status'])){
$optist = ["delGameRatio"];
$optist = ["editRatio","delGameRatio"];
}else{
if($info['status'] == 2){
$optist = [];
@ -742,28 +929,65 @@ class CompanyGameRatioController extends AdminController
$company_id = implode(",",$company_id);
return $company_id;
}
//设置比例阶梯
protected function readTurnoverRatio(&$v){
$turnover_ratio = json_decode($v['turnover_ratio'],true);
$v['turnover_ratio'] = array(
array("ratio"=>$v['ratio']."%","name"=>"默认比例")
);
foreach($turnover_ratio as $ke=>$va){
$t=array("ratio"=>$va["ratio"]."%");
if(array_key_exists("instanceof",$va)){
//存在
if($va['instanceof']=='1'){
$t['name']="月流水≥".$va['turnover'];
// //设置比例阶梯
// protected function readTurnoverRatio(&$v){
// $turnover_ratio = json_decode($v['turnover_ratio'],true);
// $v['turnover_ratio'] = array(
// array("ratio"=>$v['ratio']."%","name"=>"默认比例")
// );
//
// foreach($turnover_ratio as $ke=>$va){
// $t=array("ratio"=>$va["ratio"]."%");
// if(array_key_exists("instanceof",$va)){
// //存在
// if($va['instanceof']=='1'){
// $t['name']="月流水≥".$va['turnover'];
// }else{
// $t['name']="月流水>".$va['turnover'];
// }
// }else{
// $t['name']="月流水≥".$va['turnover'];
// }
// $v['turnover_ratio'][]=$t;
// }
// $v['row'] = count($v['turnover_ratio']);
// }
//设置比例阶梯
protected function readTurnoverRatio(&$v){
$radio = explode('|',$v['ratio']);
$turnover_ratio = explode('|',$v['turnover_ratio']);
$sec_row = 1;
foreach ($radio as $key => $value) {
$turnoverratio = json_decode($turnover_ratio[$key],true);
$v['turnover_ratios'][$key] = array(
array("ratio"=>$value."%","name"=>"默认比例")
);
foreach($turnoverratio as $ke=>$va){
$t=array("ratio"=>$va["ratio"]."%");
if(array_key_exists("instanceof",$va)){
//存在
if($va['instanceof']=='1'){
$t['name']="月流水≥".$va['turnover'];
}else{
$t['name']="月流水>".$va['turnover'];
}
}else{
$t['name']="月流水>".$va['turnover'];
$t['name']="月流水".$va['turnover'];
}
}else{
$t['name']="月流水≥".$va['turnover'];
$sec_row++;
$v['turnover_ratios'][$key][]=$t;
}
$v['turnover_ratio'][]=$t;
$v['sec_row'][$key] = $sec_row;
$sec_row = 1;
}
$v['row'] = count($v['turnover_ratio']);
$v['row'] = array_sum($v['sec_row']);
}

@ -138,7 +138,7 @@ class CompanyStatementController extends ThinkController
$v["valid"] = "{$v['statement_begin_time']}-{$v['statement_end_time']}";
$v['withdraw_type_1'] = ($v['withdraw_type'] == 1 ? "月结" :"周结");
$v['withdraw_type_1'] = ($v['withdraw_type'] == 1 ? "月结" : ($v['withdraw_type'] == 3 ?"特殊补点" : "周结"));
$v['withdraw_type_2'] = ($v['withdraw_type'] == 2 ? "补点" :"正常结算");
$v['verify_log'] = json_decode($v['verify_log'], true);
@ -245,10 +245,35 @@ class CompanyStatementController extends ThinkController
//上游
$this->display("viewCpStatement");
}else{
if($dbres["company_type"] == 1){
$this->display("viewPcStatement");
}else{
$this->display("viewPuStatement");
if ($dbres["withdraw_type"] == 3) {
if($dbres["company_type"] == 1){
$this->display("viewPcStatement");
}else{
if($dbres['company_type'] == 1) {
$dbres['company_type_str'] = '公司';
} elseif($dbres['company_type'] == 2){
$dbres['company_type_str'] = '个人';
}
if($dbres['company_belong'] == '0') {
$dbres['company_belong_str'] = '内团';
} elseif($dbres['company_belong'] == '1') {
$dbres['company_belong_str'] = '外团';
}elseif($dbres['company_belong'] == '2') {
$dbres['company_belong_str'] = '分发联盟';
}elseif($dbres['company_belong'] == '3') {
$dbres['company_belong_str'] = '无';
}
$this->assign('dbres',$dbres);
$this->display("viewPuComplementStatement");
}
} else {
if($dbres["company_type"] == 1){
$this->display("viewPcStatement");
}else{
$this->display("viewPuStatement");
}
}
}
@ -288,21 +313,35 @@ class CompanyStatementController extends ThinkController
//上游
$this->display("editCpStatement");
} else {
if($dbres["company_type"] == 1){
$this->display("editPcStatement");
}else{
if($dbres['pay_type'] == 2){
$payinfo = $dbres['second_party_info'];
$payinfo['type'] = "second_party_info";
if ($dbres["withdraw_type"] == 3) {
if($dbres["company_type"] == 1){
$this->display("editPcComplementStatement");
}else{
if($dbres['pay_type'] == 2){
$payinfo = $dbres['second_party_info'];
$payinfo['type'] = "second_party_info";
}else{
$payinfo = $dbres['first_party_info'];
$payinfo['type'] = "first_party_info";
}
$this->assign("payinfo", $payinfo);
$this->display("editPuComplementStatement");
}
} else {
if($dbres["company_type"] == 1){
$this->display("editPcStatement");
}else{
$payinfo = $dbres['first_party_info'];
$payinfo['type'] = "first_party_info";
if($dbres['pay_type'] == 2){
$payinfo = $dbres['second_party_info'];
$payinfo['type'] = "second_party_info";
}else{
$payinfo = $dbres['first_party_info'];
$payinfo['type'] = "first_party_info";
}
$this->assign("payinfo", $payinfo);
$this->display("editPuStatement");
}
$this->assign("payinfo", $payinfo);
$this->display("editPuStatement");
}
}
}
}
@ -459,6 +498,22 @@ class CompanyStatementController extends ThinkController
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
$ids = $_REQUEST['ids'];
$dbres = $this->DBModel->field("*")->where("id in ({$ids})")->select();
$check = [];
$is_complement = 0;
foreach($dbres as $key => $value) {
$check[$value['withdraw_type']] = 1;
if ($value['withdraw_type'] == 3) {
$is_complement = 1;
}
}
if (count($check)>1&&$is_complement) {
$this->error("特殊补点不能与其他结算单一起汇总");
}
//分单
$basedata = [
"pay_amount"=>0,
@ -479,7 +534,7 @@ class CompanyStatementController extends ThinkController
"op_time"=>time(),
"company_list"=>[]
];
$datas = ["up","down"];
$datas = ["up","down","complement_down","complement_user"];
//初始化数据
foreach($datas as $k=>$v){
if($v =="up"){
@ -490,6 +545,14 @@ class CompanyStatementController extends ThinkController
$basedata['company_type']=1;
$basedata['is_payment']=1;
}
if($v =="complement_down") {
$basedata['company_type']=1;
$basedata['is_payment']=1;
}
if($v =="complement_user") {
$basedata['company_type']=2;
$basedata['is_payment']=1;
}
$datas[$v]=$basedata;
unset($datas[$k]);
}
@ -499,10 +562,15 @@ class CompanyStatementController extends ThinkController
if($v['company_belong'] == 9){
//上游
$this->setDf($datas['up'],$v);
}else{
} elseif($v['withdraw_type'] == 3&&$v['company_type']==1){
$this->setDf($datas['complement_down'],$v);
} elseif($v['withdraw_type'] == 3&&$v['company_type']==2){
$this->setDf($datas['complement_user'],$v);
} else {
$this->setDf($datas['down'],$v);
}
}
$Pool = M("company_statement_pool","tab_");
$Statemen = M("company_statement","tab_");
foreach ($datas as $k => $v) {
@ -533,6 +601,11 @@ class CompanyStatementController extends ThinkController
}else{
$v["withdraw_type"] = 0;
}
if ($is_complement) {
$v["withdraw_type"] = 3;
}
$pool_id = $Pool->add($v);
if($pool_id == false){
$this->ajaxReturn(array('status' => 0,"info"=>"汇总失败"));
@ -571,6 +644,9 @@ class CompanyStatementController extends ThinkController
protected function addStatementInfo($va,$k,&$v){
$StatementInfo = M("company_statement_info","tab_");
$company_info = $va['company_info'];
$LackStatement = M("company_lack_statement_info","tab_");
$no_pool_money = 300;
//统一比例字段
@ -593,9 +669,10 @@ class CompanyStatementController extends ThinkController
$is_payment = 2;
$verify_status = 2;
}
//创建基础未满基础信息
if($va['platform_amount'] < $no_pool_money){
if($va['platform_amount'] < $no_pool_money && $va['withdraw_type']!=3){
$lackcompany =[
"company_id"=>$company_info['id'],
"company_type"=>$v['company_type'],
@ -614,8 +691,15 @@ class CompanyStatementController extends ThinkController
];
}
//整合数据
$lsres = $LackStatement->where("company_id={$company_info['id']} and is_pool = 0")->select();
if ($k!='complement_down' && $k != 'complement_user') {
$lsres = $LackStatement->where("company_id={$company_info['id']} and is_pool = 0")->select();
} else {
$lsres = $LackStatement->where("company_id={$company_info['id']} and is_pool = 0 and withdraw_type = 3")->select();
}
$del_lack_ids = [];
if(count($lsres) > 0){
//进行聚合
foreach($lsres as $key=>$val){
@ -630,7 +714,8 @@ class CompanyStatementController extends ThinkController
array_multisort($last_names,SORT_DESC,SORT_STRING,$va['statement_info']);
}
}
if($va['platform_amount'] < $no_pool_money){
if($va['platform_amount'] < $no_pool_money&&($k!='complement_down' && $k != 'complement_user')){
//依旧小于不结算金额存旧版
if($lackcompany['pay_amount'] != 0){
$lask_id = $LackStatement->add($lackcompany);
@ -638,6 +723,7 @@ class CompanyStatementController extends ThinkController
$v['lack_statement_money'] +=$lackcompany['statement_money'];
$v['lack_platform_amount'] +=$lackcompany['platform_amount'];
}
}else{
if($va['pay_amount'] != 0){
//存成功
@ -652,13 +738,14 @@ class CompanyStatementController extends ThinkController
"statement_money"=>$va['statement_money'],
"pay_amount"=>$va['pay_amount'],
"platform_amount"=>$va['platform_amount'],
"statement_money"=>$va['statement_money'],
"statement_begin_time"=>$v['statement_begin_time'],
"statement_end_time"=>$v['statement_end_time'],
"statement_info"=>json_encode($va['statement_info'],JSON_UNESCAPED_UNICODE),
"statement_num"=>$va['statement_num'],
"verify_status"=>$verify_status
"verify_status"=>$verify_status,
"withdraw_type"=>$va['withdraw_type'],
];
$companyid = $StatementInfo->add($company);
$v['info_ids'][] =$companyid;
$v['del_lack_ids'] =array_merge($v['del_lack_ids'],$del_lack_ids);
@ -692,24 +779,43 @@ class CompanyStatementController extends ThinkController
}
}
if(isset($savedata['company_list'][$v['company_id']])){
//存在游戏合并
$a = &$savedata['company_list'][$v['company_id']];
$a['fine'] += $fine;
$a['reward'] += $reward;
$a['statement_info'] = array_merge($a['statement_info'],$v['statement_info']);
// dump($a['statement_info']);
$a['platform_amount'] += $v['platform_amount'];
$a['pay_amount'] += $v['pay_amount'];
$a['statement_money'] += $v['statement_money'];
//存在游戏合并
$a = &$savedata['company_list'][$v['company_id']];
$a['fine'] += $fine;
$a['reward'] += $reward;
$a['statement_info'] = array_merge($a['statement_info'],$v['statement_info']);
// dump($a['statement_info']);
$a['platform_amount'] += $v['platform_amount'];
$a['pay_amount'] += $v['pay_amount'];
$a['statement_money'] += $v['statement_money'];
}else{
if($v['pay_type'] == 2){
//乙方收款
$v['company_info'] =json_decode($v['second_party_info'],ture);
$v['company_info'] =json_decode($v['second_party_info'],true);
$v['company_info']['pay_type'] = 2;
}else{
$v['company_info'] = json_decode($v['first_party_info'],ture);
$v['company_info'] = json_decode($v['first_party_info'],true);
$v['company_info']['pay_type'] = 1;
}
if (isset($v['company_info']['company_type'])) {
if($v['company_info']['company_type'] == 1) {
$v['company_info']['company_type_str'] = '公司';
} elseif($v['company_info']['company_type'] == 2){
$v['company_info']['company_type_str'] = '个人';
}
}
if (isset($v['company_info']['company_belong'])) {
if($v['company_info']['company_belong'] == '0') {
$v['company_info']['company_relation_str'] = '内团';
} elseif($v['company_info']['company_belong'] == '1') {
$v['company_info']['company_relation_str'] = '外团';
}elseif($v['company_info']['company_belong'] == '2') {
$v['company_info']['company_relation_str'] = '分发联盟';
}elseif($v['company_info']['company_belong'] == '3') {
$v['company_info']['company_relation_str'] = '无';
}
}
//先分配好订单号,防止重复提交
$tdata = [
"company_info"=>$v['company_info'],
@ -721,10 +827,12 @@ class CompanyStatementController extends ThinkController
"reward"=>$reward,
"statement_info"=>$v['statement_info'],
"statement_num"=>"JS_".date('Ymd').date('His').$v['company_id'].sp_random_string(5),
"is_payment"=>$v['is_payment']
"is_payment"=>$v['is_payment'],
"withdraw_type"=>$v['withdraw_type'],
];
$savedata['company_list'][$v['company_id']] = $tdata;
}
// $savedata['pay_amount'] += $v['pay_amount'];
// $savedata['statement_money'] += $v['statement_money'];
// $savedata['platform_amount'] += $v['platform_amount'];
@ -845,18 +953,433 @@ class CompanyStatementController extends ThinkController
$this->ajaxReturn(array("success"=>"ok","data"=>[]));
}
public function viewSpecialComplement() {
$this->display();
}
public function addSpecialComplement() {
$map = [];
$radioMap = [];
$relation_game_id = implode(',',$_REQUEST['relation_game_id']);
$relation_game_data = $_REQUEST['relation_game_id'];
if ($_REQUEST['relation_game_id']) {
$relation_game_id = implode(',',$_REQUEST['relation_game_id']);
$map['relation_game_id'] = ['in',$relation_game_id];
$radioMap['tab_company_game_ratio.relation_game_id'] = ['in',$relation_game_id];
}
if ($_REQUEST['company_id']) {
$promote_id = M("promote","tab_")
->field("id")
->where(['company_id'=>$_REQUEST['company_id']])
->select();
if ($promote_id) {
$map['promote_id'] = ['in',array_column($promote_id,'id')];
} else {
$map['promote_id'] = '-1';
}
$radioMap['company_id'] = $_REQUEST['company_id'];
}
$start_time = strtotime($_REQUEST['time_start']);
$end_time = strtotime($_REQUEST['time_end']) + 86399;
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$map['payed_time'] = ['between', [$start_time, $end_time]];
$radioMap['_string'] = "(begin_time>{$start_time} and begin_time<{$end_time})
or (end_time>{$start_time} and (end_time<{$end_time} and end_time!=0)) or (begin_time<{$start_time} and end_time>{$end_time})";
} elseif (isset($_REQUEST['time_start'])) {
$map['payed_time'] = ['GT', $start_time];
$radioMap['_string'] = "end_time > {$start_time}";
} elseif (isset($_REQUEST['time_end'])) {
$map['payed_time'] = ['LT', $end_time];
$radioMap['_string'] = "start_time < {$end_time}";
}
$map['tab_spend.pay_status'] = 1;
$map['pay_way'] = ['egt',1];
$data = M("spend","tab_")
->field("pay_amount,relation_game_id,relation_game_name,payed_time")
->join("left join tab_game game on tab_spend.game_id=game.id")
->where($map)
->select(false);
//默认游戏模板比例
$gameRatioMould = M("game_ratio_mould","tab_")
->field("ratio,turnover_ratio,relation_game_id")
->where(['relation_game_id'=>['in',$relation_game_id],'company_belong'=>$_REQUEST['company_type']])
->select();
//各个游戏的模板比例
$handleRadioMould = [];
foreach($gameRatioMould as $key => $value) {
$handleRadioMould[$value['relation_game_id']]['ratio'] = $value['ratio'];
$handleRadioMould[$value['relation_game_id']]['turnover_ratio'] = $value['turnover_ratio'];
}
$game_data = M("game","tab_")->field("relation_game_id,relation_game_name")->group("relation_game_id")->select(false);
$radioData = M("company_game_ratio","tab_")
->field("tab_company_game_ratio.*,game.relation_game_name")
->join("left join ({$game_data}) game on tab_company_game_ratio.relation_game_id=game.relation_game_id")
->where($radioMap)
->order("begin_time ASC")
->select();
$handleRadioData = [];
foreach($radioData as $key => $value) {
$handleRadioData[$value['relation_game_id']] = $value['relation_game_name'];
}
$companyData = M("promote_company","tab_")
->field("company_name")
->where(['id'=>$_REQUEST['company_id']])
->find();
$num = 0;
$handleData = [];
foreach ($relation_game_data as $rkey => $rvalue) {
if (!$handleRadioData[$rvalue]) {
$game_name = M("game","tab_")
->field("relation_game_id,relation_game_name")
->where(['relation_game_id'=>['in',$rvalue]])
->find();
$handleData[$_REQUEST['company_id']]['company_id'] = $_REQUEST['company_id'];
$handleData[$_REQUEST['company_id']]['company_name'] = $companyData['company_name'];
$handleData[$_REQUEST['company_id']]['begin_time'][] = strtotime(I('time_start'));
$handleData[$_REQUEST['company_id']]['end_time'][] = strtotime(I('time_end')) + 86399;
$handleData[$_REQUEST['company_id']]['relation_game_id'][] = $rvalue;
$handleData[$_REQUEST['company_id']]['relation_game_name'][] = $game_name['relation_game_name'];
$handleData[$_REQUEST['company_id']]['ratio'][] = $handleRadioMould[$rvalue]['ratio']?$handleRadioMould[$rvalue]['ratio']:0;
$handleData[$_REQUEST['company_id']]['turnover_ratio'][] = $handleRadioMould[$rvalue]['turnover_ratio'];
}
}
foreach ($radioData as $key => $value) {
if (strtotime(I('time_start')) <= $value['begin_time']) {
$handleData[$_REQUEST['company_id']]['begin_time'][] = $value['begin_time'];
} else {
$handleData[$_REQUEST['company_id']]['begin_time'][] = strtotime(I('time_start'));
}
if (strtotime(I('time_end')) > $value['end_time'] && $value['end_time']!=0) {
$handleData[$_REQUEST['company_id']]['end_time'][] = $value['end_time'];
} else {
$handleData[$_REQUEST['company_id']]['end_time'][] = strtotime(I('time_end')) + 86399;
}
$handleData[$_REQUEST['company_id']]['company_id'] = $_REQUEST['company_id'];
$handleData[$_REQUEST['company_id']]['company_name'] = $companyData['company_name'];
$handleData[$_REQUEST['company_id']]['relation_game_id'][] = $value['relation_game_id'];
$handleData[$_REQUEST['company_id']]['relation_game_name'][] = $value['relation_game_name'];
$handleData[$_REQUEST['company_id']]['ratio'][] = $value['ratio'];
$handleData[$_REQUEST['company_id']]['turnover_ratio'][] = $value['turnover_ratio'];
$num++;
//如果结算时间小于比例开始时间
if ($key == 0) {
if (strtotime(I('time_start')) < $value['begin_time']) {
$handleData[$_REQUEST['company_id']]['company_id'] = $_REQUEST['company_id'];
$handleData[$_REQUEST['company_id']]['company_name'] = $companyData['company_name'];
$handleData[$_REQUEST['company_id']]['begin_time'][] = strtotime(I('time_start'));
$handleData[$_REQUEST['company_id']]['end_time'][] = $value['begin_time']-1;
$handleData[$_REQUEST['company_id']]['relation_game_id'][] = $value['relation_game_id'];
$handleData[$_REQUEST['company_id']]['relation_game_name'][] = $value['relation_game_name'];
$handleData[$_REQUEST['company_id']]['ratio'][] = $handleRadioMould[$value['relation_game_id']]['ratio']?$handleRadioMould[$value['relation_game_id']]['ratio']:0;
$handleData[$_REQUEST['company_id']]['turnover_ratio'][] = $handleRadioMould[$value['relation_game_id']]['turnover_ratio'];
}
}
if(!$radioData[$key+1]) {
if (strtotime(I('time_end')) > $value['end_time'] && $value['end_time']!=0) {
$handleData[$_REQUEST['company_id']]['company_id'] = $_REQUEST['company_id'];
$handleData[$_REQUEST['company_id']]['company_name'] = $companyData['company_name'];
$handleData[$_REQUEST['company_id']]['begin_time'][] = $value['end_time'] + 1;
$handleData[$_REQUEST['company_id']]['end_time'][] = strtotime(I('time_end'))-86399;
$handleData[$_REQUEST['company_id']]['relation_game_id'][] = $value['relation_game_id'];
$handleData[$_REQUEST['company_id']]['relation_game_name'][] = $value['relation_game_name'];
$handleData[$_REQUEST['company_id']]['ratio'][] = $handleRadioMould[$value['relation_game_id']]['ratio']?$handleRadioMould[$value['relation_game_id']]['ratio']:0;
$handleData[$_REQUEST['company_id']]['turnover_ratio'][] = $handleRadioMould[$value['relation_game_id']]['turnover_ratio'];
}
}
//如果结算时间中有时间段间隔
if ($radioData[$key+1]) {
if ($radioData[$key+1]['begin_time'] != ($value['end_time']+1)) {
$handleData[$_REQUEST['company_id']]['company_id'] = $_REQUEST['company_id'];
$handleData[$_REQUEST['company_id']]['company_name'] = $companyData['company_name'];
$handleData[$_REQUEST['company_id']]['begin_time'][] = $value['end_time'] + 1;
$handleData[$_REQUEST['company_id']]['end_time'][] = $radioData[$key+1]['begin_time'] - 1;
$handleData[$_REQUEST['company_id']]['relation_game_id'][] = $value['relation_game_id'];
$handleData[$_REQUEST['company_id']]['relation_game_name'][] = $value['relation_game_name'];
$handleData[$_REQUEST['company_id']]['ratio'][] = $handleRadioMould[$value['relation_game_id']]['ratio']?$gameRatioMould['ratio']:0;
$handleData[$_REQUEST['company_id']]['turnover_ratio'][] = $handleRadioMould[$value['relation_game_id']]['turnover_ratio'];
}
}
}
// dump($handleData);die();
foreach ($handleData as $key => $value) {
$handleData[$key]['row'] = 0;
$timeArr = $value['begin_time'];
foreach ($timeArr as $k => $v) {
$handleData[$key]['row']++;
$turnover_ratio = json_decode($value['turnover_ratio'][$k],true);
$amount_time['_string'] = "payed_time between {$value['begin_time'][$k]} and {$value['end_time'][$k]} and relation_game_id={$value['relation_game_id'][$k]}";
$pay_amount = M()->table("({$data})a")
->field("sum(pay_amount) pay_amount")
->where($amount_time)
->find();
$handleData[$key]['pay_amount'][$k] = $pay_amount['pay_amount']?$pay_amount['pay_amount']:"0.00";
// $handleData[$key]['withdraw_amount'][$k] = number_format($pay_amount['pay_amount'] * (((int)$value['ratio'][$k])/100),2,'.','');
$handleData[$key]['withdraw_amount'][$k] = "0.00";
foreach($turnover_ratio as $ke=>$va){
if(array_key_exists("instanceof",$va)){
//存在
if($va['instanceof']=='1'&&$pay_amount['pay_amount']>=$va['turnover']){
$handleData[$key]['ratio'] = $va["ratio"];
// $handleData[$key]['withdraw_amount'][$k] = number_format($pay_amount['pay_amount'] * ($va["ratio"]/100),2,'.','');
$handleData[$key]['withdraw_amount'][$k] = "0.00";
}elseif($pay_amount['pay_amount']>$va['turnover']){
$handleData[$key]['ratio'] = $va["ratio"];
// $handleData[$key]['withdraw_amount'][$k] = number_format($pay_amount['pay_amount'] * ($va["ratio"]/100),2,'.','');
$handleData[$key]['withdraw_amount'][$k] = "0.00";
}
}else{
if ($pay_amount['pay_amount']>=$va['turnover']) {
$handleData[$key]['ratio'] = $va["ratio"];
// $handleData[$key]['withdraw_amount'][$k] = number_format($pay_amount['pay_amount'] * ($va["ratio"]/100),2,'.','');
$handleData[$key]['withdraw_amount'][$k] = "0.00";
}
}
}
$handleData[$key]['begin_time'][$k] = date("Y-m-d",$value['begin_time'][$k]);
$handleData[$key]['end_time'][$k] = date("Y-m-d",$value['end_time'][$k]);
}
}
$this->ajaxReturn(['status'=>1,'data'=>$handleData]);
}
public function addSpecialComplementPost( ) {
$data = json_decode($_REQUEST['data'],true);
$withdraw_type = 3;
$statement_data = [];
M()->startTrans();
foreach ($data as $key => $value) {
$company_data = M("promote_company","tab_")->where(['id'=>$value['company_id']])->find();
$company_type = M("company_relation","tab_")->where("first_company_id={$value['company_id']} or second_company_id={$value['company_id']}")->find();
$insert['is_payment'] = $company_type['is_payment'];
$insert['statement_begin_time'] = strtotime($value['statement_begin_time']);
$insert['statement_end_time'] = strtotime($value['statement_end_time']);
$insert['withdraw_type'] = $withdraw_type;
$insert['company_belong'] = $company_data['company_belong'];
$insert['company_name'] = $company_data['company_name'];
$insert['company_id'] = $value['company_id'];
$insert['company_type'] = $company_data['company_type'];
$insert['pay_type'] = $company_type['collection'];
$insert['verify_log'] = json_encode(["create_user"=>session('user_auth')['username'],"create_time"=>date("Y-m-d H:i:s")]);;
$proCompany_info['id'] = $company_data['id'];
$proCompany_info['partner'] =$company_data['company_name'];
$proCompany_info['link_man'] = $company_data['settlement_contact'];
$proCompany_info['link_phone'] =$company_data['contact_phone'];
$proCompany_info['address'] = $company_data['address'];
$proCompany_info['payee_name'] =$company_data['company_name'];
$proCompany_info['bank_account'] = $company_data['bank_card'];
$proCompany_info['opening_bank'] =$company_data['bank_name'];
$proCompany_info['fax_ratio'] = $company_data['fax_ratio'];
$proCompany_info['taxation_rate'] = $company_data['taxation_rate'];
$proCompany_info['company_belong'] = $company_data['company_belong'];
$proCompany_info['company_type'] =$company_data['company_type'];
$proCompany_info['ali_user'] = $company_data['ali_user'];
$proCompany_info['ali_account'] =$company_data['ali_account'];
$proCompany_info['has_server_fee'] = $company_data['has_server_fee'];
$proCompany_info['server_fee'] =$company_data['server_fee'];
$proCompany_info['has_ratio'] = $company_data['has_ratio'];
$proCompany_info['turnover_ratio'] =$company_data['turnover_ratio'];
$proCompany_info['invoice_type'] = $company_type['invoice_type'];
$proCompany_info['invoice_content'] = $company_type['invoice_content'];
if ($company_type['first_company_id'] == $value['company_id']) {
$weCompany = M("company_info","tab_")->where(['id'=>$company_type['second_company_id']])->find();
} elseif ($company_type['second_company_id'] == $value['company_id']) {
$weCompany = M("company_info","tab_")->where(['id'=>$company_type['first_company_id']])->find();
}
$secord_info['id'] = $weCompany['id'];
$secord_info['partner'] =$weCompany['partner'];
$secord_info['link_man'] = $weCompany['link_man'];
$secord_info['link_phone'] =$weCompany['link_phone'];
$secord_info['address'] = $weCompany['address'];
$secord_info['company_tax_no'] = $weCompany['company_tax_no'];
$secord_info['payee_name'] =$weCompany['payee_name'];
$secord_info['bank_account'] = $weCompany['bank_account'];
$secord_info['opening_bank'] =$weCompany['opening_bank'];
$secord_info['invoice_type'] = $company_type['invoice_type'];
$secord_info['invoice_content'] = $company_type['invoice_content'];
$statement_info =$value['statement_info'];
$pay_amount = 0;
$statement_money = 0;
foreach($statement_info as $k => $v) {
$pay_amount += $v['pay_amount'];
$statement_money += $v['sum_money'];
}
$insert['pay_amount'] = $pay_amount;
$insert['platform_amount'] = $pay_amount;
$insert['statement_money'] = $statement_money;
$insert['op_time'] = time();
foreach($statement_info as $k => $v) {
$statement_info[$k]['statement_type'] = 0;
$statement_info[$k]['fax_ratio'] = $company_data['fax_ratio'];
}
if ($company_data['company_type'] == 2) {
$statement_insert = [];
$promote_id = M("promote","tab_")
->field("id")
->where(['company_id'=>$value['company_id']])
->select();
if ($promote_id) {
$amount_time['promote_id'] = ['in',array_column($promote_id,'id')];
} else {
$amount_time['promote_id'] = '-1';
}
$amount_time['tab_spend.pay_status'] = 1;
$amount_time['pay_way'] = ['egt',1];
foreach ($statement_info as $k => $v) {
$statement_begin_time = strtotime($v['statement_begin_time']);
$statement_end_time = strtotime($v['statement_end_time']);
$amount_time['_string'] = "payed_time between {$statement_begin_time} and {$statement_end_time} and relation_game_id={$v['relation_game_id']}";
$dataAmount = M("spend","tab_")
->field("pay_amount,relation_game_id,relation_game_name,payed_time,game_type_name,substring_index(substring_index(promote.`chain`,'/',2),'/',-1) promote_id,chain,admin_id")
->join("left join tab_promote promote on tab_spend.promote_id=promote.id")
->join("left join tab_game game on tab_spend.game_id=game.id")
->where($amount_time)
->select(false);
$dataAmount = M()->table("({$dataAmount})a")
->field("a.*,sum(pay_amount) pay_amount,promote.account,member.real_name")
->join("left join tab_promote promote on promote_id=promote.id")
->join("left join sys_member member on promote.admin_id=member.uid ")
->group("promote_id")
->select();
foreach ($dataAmount as $akey => $aval) {
$game_list['pay_amount'] = $aval['pay_amount'];
$game_list['relation_game_id'] = $aval['relation_game_id'];
$game_list['game_name'] = $aval['relation_game_name'];
$game_list['game_type_name'] = $aval['game_type_name'];
$game_list['ratio'] = $v['ratio'];
$game_list['fax_ratio'] = $company_data['fax_ratio'];
$game_list['sum_money'] = number_format(($aval['pay_amount']*($v['increment_ratio']))/100,2,'.','');
$game_list['increment_ratio'] = number_format($v['increment_ratio'],2,'.','');
$game_list['statement_begin_time'] = $v['statement_begin_time'];
$game_list['statement_end_time'] = $v['statement_end_time'];
$game_list['statement_type'] = '0';
$statement_data[$aval['account']."-".$aval['real_name']][] = $game_list;
// $statement_insert[] = $statement_data;
}
}
foreach ($statement_data as $k => $v) {
$strKey = explode('-',$k);
$proCompany_info['nickname'] = $strKey[1];
$statement['account'] = $strKey[0];
$statement['real_name'] = $strKey[1];
$statement['game_list'] = $v;
$statement['row'] = count($v);
$statement_insert[] = $statement;
}
$insert['statement_info'] = json_encode($statement_insert);
} else {
$insert['statement_info'] = json_encode($statement_info);
}
if ($company_type['first_company_id'] == $value['company_id']) {
$insert['first_party_info'] = json_encode($proCompany_info);
$insert['second_party_info'] = json_encode($secord_info);
} elseif ($company_type['second_company_id'] == $value['company_id']) {
$insert['second_party_info'] = json_encode($proCompany_info);
$insert['first_party_info'] = json_encode($secord_info);
}
$is_save = M('company_statement','tab_')->add($insert);
if (!$is_save) {
M()->rollback();
$this->ajaxReturn(['status'=>1001]);
}
}
M()->commit();
$this->ajaxReturn(['status'=>1]);
}
public function OpAuth($info)
{
$id = $info['id'];
$withdraw_type = $info['withdraw_type'];
$img = $info['ext_field'];
$remark = $info['remark'];
//原始列表
$opBtn = [
"viewStatement"=>"<a class='confirm viewStatement' data-id='{$id}'>查看</a>",
"editStatement"=>"<a class='confirm editStatement' data-id='{$id}'>编辑</a>",
"editStatement"=>"<a class='confirm editStatement' data-id='{$id}' data-withdraw_type='{$withdraw_type}'>编辑</a>",
"addRemark"=>"<a class='confirm addRemark' data-id='{$id}'>新增备注</a>",
"editRemark"=>"<a class='confirm editRemark' data-remark='{$remark}' data-id='{$id}'>修改备注</a>",
"viewRemark"=>"<a class='confirm viewRemark' data-remark='{$remark}' data-id='{$id}'>查看备注</a>",
@ -876,13 +1399,18 @@ class CompanyStatementController extends ThinkController
default:
break;
}
if(empty($info['remark'])){
//未上传备注
$optist = array_diff($optist, ["editRemark", "viewRemark"]);
}else{
$optist = array_diff($optist, ["addRemark"]);
}
//
if ($withdraw_type == 3) {
$optist = array_diff($optist, ["editStatement"]);
}
$resarr = [];
foreach ($optist as $k => $v) {
if(IS_ROOT){
@ -905,6 +1433,7 @@ class CompanyStatementController extends ThinkController
"export"=>"<a class='butn' id='export'>批量导出</a>",
"updateNewStatement"=>"<a class='butn' id='updateNewStatement' style='background-color: green;'>新增结算</a>",
"launch"=>"<a class='butn' id='launch'>对外发起</a>",
"specialComplement"=>"<a class='butn' id='specialComplement'>特殊补点</a>",
"delStatement"=>"<a class='butn' id='delStatement' style='background-color: red;'>批量删除</a>"
];
$resarr = [];

@ -20,7 +20,8 @@ class CompanyStatementPoolController extends ThinkController
"0"=>"周结",
"1"=>"月结",
"2"=>"下游个人补点",
"3"=>"其他",
"3"=>"特殊补点",
"4"=>"其他"
];
public $VerifyStatus=[
"-2"=>"拒绝打款",
@ -118,7 +119,7 @@ class CompanyStatementPoolController extends ThinkController
$v['company_type_str'] = $this->CompanyType[$v['company_type']];
$v['is_payment_str'] = $this->IsPayment[$v['is_payment']];
// $v['can_export'] = $v['platform_amount'] == 0 ? "0" : '1';
// $v['can_export'] = $v['platform_amount'] == 0 ? "0" : '1';
// if($v['company_type'] == 2){
$v['can_export'] = 1;
// }
@ -199,7 +200,7 @@ class CompanyStatementPoolController extends ThinkController
//获取基本信息
$infolist = M("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select();
//获取母单
$pool_info = M("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment')->where("id={$id}")->find();
$pool_info = M("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status,is_payment,withdraw_type')->where("id={$id}")->find();
if(!empty($pool_info['create_lack_ids'])){
$l_ids = $pool_info['create_lack_ids'];
$lack_info = M("company_lack_statement_info","tab_")->field("*,'0' as st")->where("id in ({$l_ids})")->select();
@ -215,14 +216,14 @@ class CompanyStatementPoolController extends ThinkController
$this->viewCpPool($infolist,$is_export);
}elseif($infolist[0]['company_type'] == 1){
//下游公司
$this->viewPcPool($infolist,$is_export);
$this->viewPcPool($infolist,$is_export,$pool_info['withdraw_type']);
}else{
$this->viewPuPool($infolist,$is_export);
$this->viewPuPool($infolist,$is_export,$pool_info['withdraw_type']);
}
}
//个人汇总结算查看
public function viewPuPool(&$infolist,$is_export){
public function viewPuPool(&$infolist,$is_export,$withdraw = 0){
$line = 1;
$count = [];
//获取对接人
@ -250,14 +251,21 @@ class CompanyStatementPoolController extends ThinkController
foreach($va['game_list'] as $key=>&$val){
$line ++;
if(isset($val['ratio'])){
$val['increment_ratio'] = 0;
}else{
$val['ratio'] = 0;
if($withdraw != 3) {
if(isset($val['ratio'])){
$val['increment_ratio'] = 0;
}else{
$val['ratio'] = 0;
}
}
if($is_export){
$val['sum_money'] = "=J{$line}*(K{$line}+L{$line})";
if($withdraw != 3) {
$val['sum_money'] = "=J{$line}*(K{$line}+L{$line})";
} else {
$val['sum_money'] = "=J{$line}*(L{$line})";
}
// $val['sum_money'] = "=J{$line}*(K{$line}+L{$line})";
$v['statement_money'] .= "M{$line}+";
}else{
$count['platform_amount'] += $val['pay_amount'];
@ -281,6 +289,7 @@ class CompanyStatementPoolController extends ThinkController
$v['statement_money'] .="N{$cline}-O{$cline}";
}
}
if($is_export){
$count["platform_amount"] = "=SUM(J2:J".$line.")";
$count["sum_money"] = "=SUM(P2:P".$line.")";
@ -291,7 +300,7 @@ class CompanyStatementPoolController extends ThinkController
$this->display("CompanyStatementPool/viewPuPool");
}
//下游汇总结算查看
public function viewPcPool(&$infolist,$is_export){
public function viewPcPool(&$infolist,$is_export,$withdraw = 0){
$line = 1;
$count = [];
//获取对接人
@ -303,7 +312,9 @@ class CompanyStatementPoolController extends ThinkController
$Partner[$v['id']] = $v['settlement_contact'];
}
unset($pl);
foreach($infolist as $k=>&$v){
$v['statement_info'] = json_decode($v['statement_info'],true);
$v['company_info'] = json_decode($v['company_info'],true);
$v['statement_begin_time'] = date('Y.m.d',$v['statement_begin_time']);
@ -318,14 +329,20 @@ class CompanyStatementPoolController extends ThinkController
$cline = $line+1;
foreach($v['statement_info'] as $ke=>&$va){
$line ++;
if(isset($va['ratio'])){
$va['increment_ratio'] = 0;
}else{
$va['ratio'] = 0;
if($withdraw != 3) {
if (isset($va['ratio'])) {
$va['increment_ratio'] = 0;
} else {
$va['ratio'] = 0;
}
}
if($is_export){
$va['d_statement_money'] = "=D{$line}*(1-G{$line})*(E{$line}+F{$line})";
if($withdraw != 3) {
$va['d_statement_money'] = "=D{$line}*(1-G{$line})*(E{$line}+F{$line})";
} else {
$va['d_statement_money'] = "=D{$line}*(F{$line})";
}
}else{
$va['d_statement_money'] = round($va['pay_amount']*($va['ratio']+$va['increment_ratio'])*(100-$va['fax_ratio'])/100/100,2);
@ -337,7 +354,11 @@ class CompanyStatementPoolController extends ThinkController
$v['settlement_contact'] = $Partner[$v['company_id']];
if($is_export){
$v['statement_money'] = "=SUM(H{$cline}:H{$line})+J{$cline}-I{$cline}";
if ($withdraw != 3) {
$v['statement_money'] = "=SUM(H{$cline}:H{$line})+J{$cline}-I{$cline}";
}
}else{
$count['fine'] += $v['fine'];
$count['reward'] += $v['reward'];
@ -574,7 +595,7 @@ class CompanyStatementPoolController extends ThinkController
}
$v['verify_status_str'] = $this->PayStatus[$v['pay_status']];
if($v['verify_status'] == 1){
if($v['pay_status'] == 1){
$v['pay_type'] = $v['pay_type'] == 1 ? "提现" :"线上打款";
@ -685,6 +706,14 @@ class CompanyStatementPoolController extends ThinkController
}
$pool = M("company_statement_pool","tab_")->where("id = {$v['pool_id']}")->find();
// dump($pool);
if ($v['verify_status'] == 2) {
$is_payment = 2;
} else {
$is_payment = 1;
}
//保存未结算
$lackcompany =[
"company_id"=>$v['company_id'],
@ -698,9 +727,10 @@ class CompanyStatementPoolController extends ThinkController
"reward"=>$v['reward'],
"statement_begin_time"=>$v['statement_begin_time'],
"statement_end_time"=>$v['statement_end_time'],
"is_payment"=>$pool['is_payment'],
"is_payment"=>$is_payment,
"statement_pool_num"=>$pool['statement_num'],
"statement_info"=>$v['statement_info'],
"withdraw_type"=>$v['withdraw_type'],
];
$l_id = M("company_lack_statement_info","tab_")->add($lackcompany);
@ -975,7 +1005,11 @@ class CompanyStatementPoolController extends ThinkController
}else{
$optist = array_diff($optist, ["cancelPool","reCount"]);
}
if ($info['withdraw_type'] == "特殊补点") {
$optist = ['viewPool','cancelPool'];
}
if(empty($info['ext_file'])){
//未上传凭证
$optist = array_diff($optist, ["viewVoucher", "editVoucher"]);

@ -202,17 +202,30 @@ class MarketPercentageController extends ThinkController
if(is_administrator()||session('user_group_id') == 15||session('user_group_id') == 14||session('user_group_id') == 19||session('user_group_id') == 23) {
unset($map['admin_id']);
$markerData = M("ucenter_member")->field("id")->where(['work_status'=>1])->select();
if ($markerData) {
$admin_map['sys_member.uid'] = ['not in',array_column($markerData,'id')];
}
$admin_data = M("member")
->field("access.uid admin_id")
->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($admin_map)
->select();
if ($admin_data) {
$map['admin_id'] = ['in',array_column($admin_data,'admin_id')];
}
if (!in_array($_REQUEST['admin_id'],array_column($markerData,'id'))) {
$_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
} else {
$this->display("marketstaffsettle");
die();
}
$_REQUEST['admin_id']?($map['admin_id'] = $_REQUEST['admin_id']):'';
}
@ -486,7 +499,8 @@ class MarketPercentageController extends ThinkController
'maintain_commission_ratio'=>'维护业绩提成比例(%)',
'appraisal_bonuses_ratio'=>'开发考核奖金比例(%)',
'maintain_appraisal_bonuses_ratio'=>'维护奖金考核比例(%)',
'company_profit'=>'税后毛利',
'achievement_profit'=>'开发税后毛利',
'performance_profit'=>'维护税后毛利',
'performance_commission' => '业绩提成',
'achievement_bonus' => '绩效考核奖金',
'commission' => '当月合计',
@ -500,29 +514,65 @@ class MarketPercentageController extends ThinkController
$data[$key]['performance_commission'] = "=ROUND(";
$data[$key]['achievement_bonus'] = "=ROUND(";
if ($value['performance_revenue'] != "0.00") {
if ($value['achievement_profit'] != "0.00") {
$data[$key]['performance_commission'] .= "J{$line}*(F{$line}/100)";
$data[$key]['achievement_bonus'] .= "J{$line}*(H{$line}/100)";
}
if ($value['appraisal_bonuses'] != "0.00") {
if ($data[$key]['performance_commission'] == "=ROUND(") {
$data[$key]['performance_commission'] .= "J{$line}*(G{$line}/100),2)";
if ($value['performance_profit'] != "0.00") {
if ($data[$key]['performance_commission'] != '=ROUND(') {
$data[$key]['performance_commission'] .= "+K{$line}*(G{$line}/100),2)";
} else {
$data[$key]['performance_commission'] .= "+J{$line}*(G{$line}/100),2)";
$data[$key]['performance_commission'] .= "K{$line}*(G{$line}/100),2)";
}
if ($data[$key]['achievement_bonus'] == "=ROUND(") {
$data[$key]['achievement_bonus'] .= "J{$line}*(I{$line}/100),2)";
if ($data[$key]['achievement_bonus'] != '=ROUND(') {
$data[$key]['achievement_bonus'] .= "+K{$line}*(I{$line}/100),2)";
} else {
$data[$key]['achievement_bonus'] .= "+J{$line}*(I{$line}/100),2)";
$data[$key]['achievement_bonus'] .= "K{$line}*(I{$line}/100),2)";
}
// $data[$key]['achievement_bonus'] .= "J{$line}*(H{$line}/100)";
} else {
$data[$key]['performance_commission'] .= ",2)";
$data[$key]['achievement_bonus'] .= ",2)";
$data[$key]['performance_commission'] .= ',2)';
$data[$key]['achievement_bonus'] .= ',2)';
}
// if ($value['achievement_profit'] != "0.00") {
// if ($data[$key]['performance_commission'] == "=ROUND(") {
// $data[$key]['performance_commission'] .= "K{$line}*(G{$line}/100),2)";
// } else {
// $data[$key]['performance_commission'] .= "+K{$line}*(G{$line}/100),2)";
// }
//
// if ($data[$key]['achievement_bonus'] == "=ROUND(") {
// $data[$key]['achievement_bonus'] .= "K{$line}*(I{$line}/100),2)";
// } else {
// $data[$key]['achievement_bonus'] .= "+K{$line}*(I{$line}/100),2)";
// }
// } else {
// $data[$key]['performance_commission'] .= ",2)";
// $data[$key]['achievement_bonus'] .= ",2)";
// }
//
// if ($data[$key]['performance_commission'] == '=ROUND(,2)') {
// $data[$key]['performance_commission'] = "0.00";
// }
//
// if ($data[$key]['achievement_bonus'] == '=ROUND(,2)') {
// $data[$key]['achievement_bonus'] = "0.00";
// }
// $data[$key]['performance_commission'] = "=ROUND(J{$line}*(F{$line}/100)+J{$line}*(G{$line}/100),2)";
// $data[$key]['achievement_bonus'] = "=ROUND(J{$line}*(H{$line}/100)+J{$line}*(I{$line}/100),2)";
$data[$key]['commission'] = "=ROUND(K{$line}+L{$line},2)";
$data[$key]['commission'] = "=ROUND(L{$line}+M{$line},2)";
}
$data = array_merge($data,[$sum]);
@ -954,7 +1004,7 @@ class MarketPercentageController extends ThinkController
$map['pay_time'] = $_REQUEST['pay_time'];
}
}
// var_dump($map);die();
$data = M("market_altogether","tab_")
->field("max(pay_time) pay_time,real_name,admin_id,nickname,level,sum(pay_amount) pay_amount,sum(extend_commission) extend_commission,
sum(performance_commission) performance_commission,sum(achievement_bonus) achievement_bonus,

@ -1051,10 +1051,13 @@ class TimingController extends AdminController {
if($v['develop_type'] == 1 || $v['develop_type'] == 2) {
$all_data[$key]['performance_commission'] += $v['company_profit']*($market_percentage['develop_commission_ratio']/100);
$all_data[$key]['achievement_profit'] += $v['company_profit'];
}
if ($v['develop_type'] == 3) {
$all_data[$key]['performance_commission'] += $v['company_profit']*($market_percentage['maintain_commission_ratio']/100);
$all_data[$key]['performance_profit'] += $v['company_profit'];
}
//绩效考核奖金
@ -1071,10 +1074,10 @@ class TimingController extends AdminController {
$all_data[$key]['achievement_bonus'] = number_format($all_data[$key]['achievement_bonus'], 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['performance_revenue'] ? ($all_data[$key]['achievement_profit'] = 0):"";
$sum_amount <$market_percentage['appraisal_bonuses'] ? ($all_data[$key]['achievement_bonus'] = 0):"";
$sum_amount <$market_percentage['appraisal_bonuses'] ? ($all_data[$key]['performance_profit'] = 0):"";
//总提成
$all_data[$key]['commission'] = number_format($all_data[$key]['performance_commission']+$all_data[$key]['achievement_bonus'], 2, '.', '');
//应发金额
@ -1113,6 +1116,10 @@ class TimingController extends AdminController {
$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['achievement_profit'] = number_format($all_data[$key]['achievement_profit'], 2, '.', '');
$insert['performance_profit'] = number_format($all_data[$key]['performance_profit'], 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']])

@ -420,6 +420,9 @@ class UserController extends AdminController
$info['second_pwd'] = (empty($spwd) || $spwd == $oldspwd) ? $oldspwd : $spwd;
$info['email'] = $_POST['email'];
$info['mobile'] = isset($_POST['mobile']) ? $_POST['mobile'] : '';
if($_POST['work_status']) {
$info['work_status'] = $_POST['work_status'];
}
$ss['group_id'] = $_POST['auth'];
$ss['houtai'] = $_POST['houtai'];
$smember = $Member->where($map)->save($info);

@ -0,0 +1,441 @@
<extend name="Public/base" />
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="__STATIC__/provincecityarea/AreaData_min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.tabcon1711 input.time {
width: 150px;
}
#form .txt_area {
width: 300px;
height: 150px;
}
.tabcon1711 .form_unit {
margin-left: 2px;
}
.tabcon1711 .mustmark {
margin-left:-7px;
}
.list-ratio {
display: table;
}
.list-ratio .li-ratio {
display: flex;
margin-bottom: 20px;
align-items: center;
}
.list-ratio .li-ratio .turnover, .list-ratio .li-ratio .turnover-ratio {
position: relative;
}
.list-ratio .li-ratio .turnover span, .list-ratio .li-ratio .turnover-ratio .error-message {
color: red;
position: absolute;
left: 0;
top: 30px;
white-space: nowrap;
display: none;
}
.iconfont-btn {
cursor: pointer;
}
.iconfont-style {
font-size: 18px;
color: #fff;
border-radius: 4px;
border: 0;
padding: 5px;
margin-left: 10px;
}
.iconfont-selected {
background-color: #0A9AF2;
}
.iconfont-selected:hover {
background-color: #03a9f4;
}
.iconfont-unselected {
background-color: #999;
}
.iconfont-unselected:hover {
background-color: #ababab;
}
input[type=number]{
padding: 4px 6px;
font-size: 12px;
line-height: 20px;
color: #555;
vertical-align: middle;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #fff;
border: 1px solid #ccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
-webkit-transition: border linear .2s, box-shadow linear .2s;
-moz-transition: border linear .2s, box-shadow linear .2s;
-o-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">特殊比例申请修改</h3>
<p class="description_text" style="color: red;">说明:除了备注其他项的修改将会重走审批流程,若不需要修改请点击返回</p>
</div>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('edit')}" method="post" class="form-horizontal">
<!-- 基础文档模型 -->
<div id="tab1" class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">推广公司:</td>
<td class="r table_radio">
<input name="company_id" value="{$data.company_id}" style="display: none"/>
<input name="relation_game_id" value="{$data.relation_game_id}" style="display: none"/>
<input name="last_ratio" value="{$data.ratio}" style="display: none"/>
<input name="last_turnover_ratio" value="{$data.turnover_ratio}" style="display: none"/>
<span class="form_radio table_btn">{$data.company_name}</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l">现包名:</td>
<td class="r table_radio">
<span class="form_radio table_btn">{$data.relation_game_name}</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l">原包名:</td>
<td class="r table_radio">
<span class="form_radio table_btn">{$data.original_package_name}</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>分成比例设定:</td>
<td class="r table_radio">
<label>默认分成比例:</label>
<input type="number" class="txt ratio" name="ratio" id="ratio" value="{$data.ratio|default='0.00'}" placeholder="" οninput="value=value.replace(/[^\w\.\/]/ig, '')" style="width: 60px;float: left;">
<span class="form_unit">%</span>
<span class="notice-text">当前需要修改成的分成比例</span>
</td>
</tr>
<tr><td style="height: 10px;"></td></tr>
<tr>
<td class="l"></td>
<td class="r table_radio">
<div class="list-ratio">
<div class="li-ratio">
<label class="instanceof_text" style="margin-right: 10px;">流水分成设定:</label>
<span class="iconfont-btn iconfont-btn-add" title="添加流水比例"><i class="iconfont-style iconfont-selected iconfont iconjiahao1"></i></span>
<span class="iconfont-btn iconfont-btn-del" title="删除流水比例"><i class="iconfont-style iconfont-selected iconfont iconjianhao"></i></span>
</div>
<volist name="data['turnover_ratio']" key="key" id="vo">
<div class="li-ratio">
<label class="instanceof_text" style="margin-right: 10px;">月流水</label>
<select name="instanceof[]" style="width: 50px;margin-right: 10px;">
<option value="1" <if condition="empty($vo['instanceof']) or $vo['instanceof'] eq 1">selected</if>>≥</option>
<option value="2" <if condition="!empty($vo['instanceof']) and $vo['instanceof'] eq 2">selected</if>>></option>
</select>
<div class="turnover">
<input type="text" class="txt turnover_money" name="turnover[]" value="{$vo['turnover']|default=''}" placeholder="" onKeyUp="value=value.replace(/[^\w\.\/]/ig,'')" style="width: 100px;margin-right: 10px;">
<span class="error-message"></span>
</div>
<label>分成比例:</label>
<div class="turnover-ratio">
<input type="text" class="txt turnover_ratio" name="turnover_ratio[]" value="{$vo['ratio']|default=''}" placeholder="" onKeyUp="value=value.replace(/[^\w\.\/]/ig,'')" style="width: 60px;">
<span class="form_unit" style="margin-right: 10px;">%</span>
<span class="error-message"></span>
</div>
</div>
</volist>
</div>
<span class="notice-text" style="width: auto;"></span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>生效期限:</td>
<td class="r table_radio">
<div style="float: left;">
<span>{$data.begin_time}</span>
<input type="text" class="txt time" name="begin_time" id="begin_time" placeholder="开始时间" value="{$data.begin_time}" style="display: none">
-
<input type="text" class="txt time" name="end_time" id="end_time" placeholder="结束时间" value="{$data.end_time}" style="display: none">
<span>{$data.end_time}</span>
</div>
<span class="notice-text">结束时间不填则默认永久。</span>
</td>
</tr>
<tr>
<td class="l">备注:</td>
<td class="r table_radio">
<textarea type="text" name="remark" id="remark" class="txt_area">{$data.remark}</textarea>
<span class="notice-text"></span>
</td>
</tr>
</tbody>
</table>
</div>
<input type="hidden" name="id" id="id" value="{$data['id']|default=''}" />
<div class="form-item cf">
<button class="submit_btn mlspacing" id="submit" type="submit" target-form="form-horizontal">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
</form>
</div>
</div>
<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">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script src="__STATIC__/czinputcheck.js?v=1.29" type="text/javascript"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('index')}");
$(".select_gallery").select2();
$(function(){
$('.time').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
});
var promoteGameRatioData = {};
promoteGameRatioData.ratio = '0.00';
promoteGameRatioData.begin_time = '';
promoteGameRatioData.end_time = '';
promoteGameRatioData.remark = '';
$('#ratio, #begin_time, #end_time, #remark').change(function () {
var val = $(this).val();
var elementIdName = $(this).attr('id');
promoteGameRatioData[elementIdName] = val;
});
subevn();
function subevn(){
$('#submit').off("click");
$('#submit').click(function (e) {
//查看是否报错
var flag = true;
var obj = {
"ratio":["number","默认比例必须是大于0的数字"],
"begin_time":["date","开始时间不能为空"],
"end_time":["nocheck"],
"remark":["nocheck",'',"textarea"]
}
var cres = CIC.checkAddInput(obj);
if(!cres){
return false;
}
if(cres.ratio > 100){
layer.msg("默认比例不能大于100", {icon: 2});
return false;
}
$(".error-message").each(function(index,elm){
var t = $(elm).css("display");
if(t == 'block' || t == 'inline'){
flag = false;
layer.msg("请先处理错误的比例配置", {icon: 2});
return false;
}
})
$(".turnover_money").each(function(index,elm){
var t = $(elm).val();
if(t == ''){
flag = false;
layer.msg("流水及比例不允许为空", {icon: 2});
return false;
}
})
if(!flag){
return false;
}
var target = $('form').get(0).action;
var query = $('form').serialize();
var that = this;
$(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true);
$.post(target,query).success(function(data){
if(layer) {layer.closeAll('loading');}
if (data.code==1) {
if (data.url) {
updateAlert(data.msg + ' 页面即将自动跳转~');
}else{
updateAlert(data.msg);
}
setTimeout(function(){
$(that).removeClass('disabled').prop('disabled',false);
if (data.url) {
location.href=data.url;
}else if( $(that).hasClass('no-refresh')){
$('#tip').find('.tipclose').click();
}else{
location.reload();
}
},1500);
}else{
$(that).removeClass('disabled').prop('disabled',false);
layer.msg(data.msg,{icon: 2});
}
});
});
}
$('.iconfont-btn-add').click(function (e) {
var delBtn = $('.iconfont-btn-del');
var html = '';
html += '<div class="li-ratio">';
html += '<label class="instanceof_text">月流水:</label>';
html += '<select name="instanceof[]" style="width: 50px;margin-right: 10px;">';
html += '<option value="1"></option>';
html += '<option value="2">></option>';
html += '</select>';
html += '<div class="turnover">';
html += '<input type="text" class="txt turnover_money" name="turnover[]" value="" placeholder="请输入金额" onKeyUp="value=value.replace(/[^\\w\\.\\/]/ig, \'\')" style="width: 100px;margin-right: 10px;">';
html += '<span class="error-message"></span>';
html += '</div>';
html += '<label>分成比例:</label>';
html += '<div class="turnover-ratio">';
html += '<input type="text" class="txt turnover_ratio" name="turnover_ratio[]" value="" placeholder="请输入比例" onKeyUp="value=value.replace(/[^\\w\\.\\/]/ig, \'\')" style="width: 60px;">';
html += '<span class="form_unit" style="margin-right: 10px;">%</span>';
html += '<span class="error-message"></span>';
html += '</div>';
html += '</div>';
$('.list-ratio').append(html);
subevn();
if ($('.list-ratio').children().length > 1 && delBtn.children('i').hasClass('iconfont-unselected')) {
delBtn.children('i').removeClass('iconfont-unselected');
delBtn.children('i').addClass('iconfont-selected');
}
$('.list-ratio').children(':last-child').children('.turnover').children('input').change(function (e) {
turnoverChangeHandle();
});
$('.list-ratio').children(':last-child').children('.turnover-ratio').children('input').change(function (e) {
turnoverRatioChangeHandle();
});
});
$('.list-ratio').children('.li-ratio').children('.turnover').children('input').change(function (e) {
turnoverChangeHandle();
});
$('.list-ratio').children('.li-ratio').children('.turnover-ratio').children('input').change(function (e) {
turnoverRatioChangeHandle();
});
function turnoverChangeHandle()
{
$('.list-ratio').children('.li-ratio').children('.turnover').children('input').each(function () {
var that = $(this);
var thatLiRatio = that.parent().parent();
var thatLiRatioIndex = thatLiRatio.index();
var prevTurnover = 0;
var prev = thatLiRatio.prev().children().children('input');
var thatTurnover = parseFloat(that.val());
if (thatLiRatioIndex > 0) {
prevTurnover = parseFloat(prev.val());
prevTurnoverHandle(thatTurnover, prevTurnover, that);
}
});
}
function turnoverRatioChangeHandle() {
var ratio = parseFloat($('#ratio').val());
$('.list-ratio').children('.li-ratio').children('.turnover-ratio').children('input').each(function () {
var that = $(this);
var thatLiRatio = that.parent().parent();
var thatLiRatioIndex = thatLiRatio.index();
var thatTurnoverRatio = parseFloat(that.val());
if (thatLiRatioIndex === 1) {
prevTurnoverRatio = ratio;
prevTurnoverRatioHandle(thatTurnoverRatio, prevTurnoverRatio, that, true);
} else {
var prev = thatLiRatio.prev().children('.turnover-ratio').children('input');
var prevTurnoverRatio = parseFloat(prev.val());
prevTurnoverRatioHandle(thatTurnoverRatio, prevTurnoverRatio, that);
}
});
}
function prevTurnoverHandle(thatTurnover, prevTurnover, that)
{
if (thatTurnover <= prevTurnover) {
that.parent().children('span').text('月流水必须大于上一个月流水');
that.parent().children('span').show();
} else {
that.parent().children('span').hide();
}
return true;
}
function prevTurnoverRatioHandle(thatTurnoverRatio, prevTurnoverRatio, that, isDefault = false)
{
// if (thatTurnoverRatio <= prevTurnoverRatio) {
// var msg = isDefault ? '月流水分成比例必须大于默认分成比例' : '月流水分成比例必须大于上一个月流水分成比例';
// that.parent().children('.error-message').text(msg);
// that.parent().children('.error-message').show();
// } else {
// that.parent().children('.error-message').hide();
// }
return true;
}
$('.iconfont-btn-del').click(function (e) {
var that = $(this);
if ($('.list-ratio').children().length > 1) {
$('.list-ratio').children(':last-child').remove();
if ($('.list-ratio').children().length === 1) {
that.children('i').removeClass('iconfont-selected');
that.children('i').addClass('iconfont-unselected');
}
}
});
});
</script>
</block>

@ -172,31 +172,70 @@
<td rowspan="{$data.row}">{$data.game_type_name}</td>
<td rowspan="{$data.row}">{$data.original_package_name}</td>
<td rowspan="{$data.row}">{$data.relation_game_name}</td>
<td rowspan="{$data.row}">{$data.valid}</td>
<notempty name="data['turnover_ratio'][0]">
<td>{$data['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$data['turnover_ratio'][0]['ratio']|showPercent}</td>
<notempty name="data['valid'][0]">
<td rowspan="{$data['sec_row'][0]}">{$data['valid'][0]}</td>
<else />
<td>--</td>
</notempty>
<notempty name="data['turnover_ratios'][0][0]">
<td >{$data['turnover_ratios'][0][0]['name']|default="--"}</td>
<td >{$data['turnover_ratios'][0][0]['ratio']|showPercent}</td>
<else />
<td>--</td>
<td>--</td>
</notempty>
</notempty>
<td rowspan="{$data.row}">
<foreach name="data.oplist" item="vo" >
<td rowspan="{$data['sec_row'][0]}">
<foreach name="data['oplist'][0]" item="vo" >
{$vo}
</foreach>
</td>
</tr>
<if condition="$data['row'] gt 1">
<foreach name="data['turnover_ratio']" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
<foreach name="data['valid']" item="valid" key="keys">
<if condition="$keys gt 0">
<tr>
<td rowspan="{$data['sec_row'][$keys]}">{$valid|default="--"}</td>
<td>{$data['turnover_ratios'][$keys][0]['name']|default="--"}</td>
<td>{$data['turnover_ratios'][$keys][0]['ratio']|showPercent}</td>
<td rowspan="{$data['sec_row'][$keys]}">
<foreach name="data['oplist'][$keys]" item="vo" >
{$vo}
</foreach>
</td>
</tr>
<foreach name="data['turnover_ratios'][$keys]" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
<else/>
<foreach name="data['turnover_ratios'][$keys]" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
</foreach>
<!-- <if condition="$data['row'] gt 1">-->
<!-- <foreach name="data['turnover_ratios']" item="game_ratio" key="gamekey">-->
<!-- <foreach name="game_ratio" item="game_ratio_sec" key="key">-->
<!-- <if condition="$gamekey neq 0 and $key neq 0">-->
<!-- <tr>-->
<!-- <td>{$game_ratio_sec['name']|default="&#45;&#45;"}</td>-->
<!-- <td>{$game_ratio_sec['ratio']|showPercent}</td>-->
<!-- </tr>-->
<!-- </if>-->
<!-- </foreach>-->
<!-- </foreach>-->
<!-- </if>-->
</volist>
</if>
</tbody>
@ -283,7 +322,11 @@ $(function(){
});
})
$(".editRatio").on("click",function(){
var id = $(this).data("id");
var url = "{:U('edit')}"+"&id="+id;
window.location.href = url;
})
$(".delGameRatio").on("click",function(){
var id = $(this).data("id");
var url = "{:U('delGameRatio')}"+"&id="+id;

@ -0,0 +1,664 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
</head>
<style>
html {
min-width: 100%;
}
body {
padding: 0px 0px 150px;
width: 960px;
margin: auto;
}
.tabcon1711 table {
width: 480px;
}
table {
margin: auto;
}
.hidebox {
display: none;
}
.r {
width: 300px;
}
.l {
width: 180px;
}
.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;
}
.input-list,
.i_list {
float: left;
margin: 0;
}
</style>
<body>
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
海南万盟天下科技有限公司
</div> -->
<div style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="firstPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">甲方:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="first_partner_id" name="partner_id" class="select_gallery">
<option value="{$data['first_party_info']['id']}" selected>{$data['first_party_info']['partner']}</option>
</select>
</div>
</td>
</tr>
<tbody id="first_part_bser_info_show">
<tr>
<td class="l">联系人:</td>
<td class="r">
<input type="text" class="txt" name="link_man" value="" placeholder="请输入联系人">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r">
<input type="text" class="txt" name="link_phone" value="" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r">
<input type="text" class="txt" name="address" value="" placeholder="请输入地址">
</td>
</tr>
<tr>
<td class="l">公司税号:</td>
<td class="r">
<input type="text" class="txt" name="company_tax_no" value="" placeholder="请输入公司税号">
</td>
</tr>
</tbody>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="secondPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">乙方:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="second_partner_id" name="partner_id" class="select_gallery">
<option value="{$data['second_party_info']['id']}" selected>{$data['second_party_info']['partner']}</option>
</select>
</div>
</td>
</tr>
<tbody id="second_part_bser_info_show">
<tr>
<td class="l">联系人:</td>
<td class="r">
<input type="text" class="txt" name="link_man" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r">
<input type="text" class="txt" name="link_phone" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r">
<input type="text" class="txt" name="address" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
<tr>
<td class="l">公司税号:</td>
<td class="r">
<input type="text" class="txt" name="company_tax_no" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
</tbody>
</tbody>
</table>
</div>
</div>
<div style="padding: 30px 0px 10px;display: block;height:30px;">
<div class="input-list input-list-server search_label_rehab">
<p style="font-size: 20px;font-weight: 600;">支付给:<spen style="margin-left: 15px;font-size: 16px;">{$data.company_name}
</spen>
</p>
</div>
</div>
<div class="data_list box_mt" style="margin-top: 40px;">
<div class="">
<table>
<thead>
<tr>
<th style="border-right: solid 1px #b6cad2;">结算时间</th>
<th style="border-right: solid 1px #b6cad2;">产品</th>
<th style="border-right: solid 1px #b6cad2;">平台总额(元)</th>
<if condition="$data['withdraw_type'] eq 2">
<th style="border-right: solid 1px #b6cad2;">补点比例</th>
<else />
<th style="border-right: solid 1px #b6cad2;">分成比例</th>
</if>
<th style="border-right: solid 1px #b6cad2;">特殊补点比例</th>
<th >结算金额(元)</th>
</tr>
</thead>
<!-- 列表 -->
<tbody id="statementInit" class="">
<tr style="height: 100px;">
<td colspan=8>
请先选择生成条件后点击生成对账数据
</td>
</tr>
</tbody>
<tbody id="statementShow">
</tbody>
</table>
</div>
</div>
<div id="partpatinfo" style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="skf_payinfo">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">收款方名称:</td>
<td class="r">
<input type="text" class="txt" name="" disabled="disabled" placeholder="" value="{$data.payinfo.payee_name}">
</td>
</tr>
<tr>
<td class="l">银行账号:</td>
<td class="r">
<input type="text" class="txt" name="" value="{$data.payinfo.bank_account}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">开户行:</td>
<td class="r">
<input type="text" class="txt" name="password" value="{$data.payinfo.opening_bank}" disabled="disabled" placeholder="请先选择支付给谁">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开票项目:</td>
<td class="r">
<input type="text" class="txt" disabled="disabled" placeholder="" name="invoice_item" value="{$data.payinfo.invoice_content}">
</td>
</tr>
<tr>
<td class="l">发票类型:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="invoice_type" name="invoice_type" class="select_gallery" disabled>
<option value="0" <if condition="$data['payinfo']['invoice_type'] eq 0">selected</if>>无</option>
<option value="1" <if condition="$data['payinfo']['invoice_type'] eq 1">selected</if>>专票</option>
<option value="2" <if condition="$data['payinfo']['invoice_type'] eq 2">selected</if>>普票</option>
</select>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="search_list" style="display:flex;justify-content:flex-end;width:960px;">
<div class="input-list" style="margin-left: 30px;float: right;">
<a class="sch-btn" href="javascript:;" id="createStatement" style="width: 150px;">确认修改</a>
</div>
</div>
<script type="text/html" id="partbasetpl">
<tr>
<td class="l">联系人:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.link_man" name="link_man" value="${link_man|nonull}" placeholder="请输入联系人">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r">
<input type="text" class="txt normalchange" name="link_phone" data-change="${type}.link_phone" value="${link_phone|nonull}" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r">
<input type="text" class="txt normalchange" name="address" data-change="${type}.address" value="${address|nonull}" placeholder="请输入地址">
</td>
</tr>
<tr>
<td class="l">公司税号:</td>
<td class="r">
<input type="text" class="txt normalchange" name="company_tax_no" data-change="${type}.company_tax_no" value="${company_tax_no|nonull}" placeholder="请输入公司税号">
</td>
</tr>
</script>
<script type="text/html" id="partpaytpl">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">收款方名称:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.payee_name" name="payee_name" placeholder="" value="${party_info.payee_name}">
</td>
</tr>
<tr>
<td class="l">银行账号:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.bank_account" name="bank_account" value="${party_info.bank_account}" placeholder="">
</td>
</tr>
<tr>
<td class="l">开户行:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.opening_bank" name="opening_bank" value="${party_info.opening_bank}" placeholder="请先选择支付给谁">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开票项目:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.invoice_content" name="invoice_content" placeholder="" value="${party_info.invoice_content}">
</td>
</tr>
<tr>
<td class="l">发票类型:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="invoice_type" name="invoice_type" data-change="${type}.invoice_type" class="select_gallery">
{@if party_info.invoice_type==0}
<option value="0" selected></option>
<option value="1">专票</option>
<option value="2">普票</option>
{@/if}
{@if party_info.invoice_type==1}
<option value="0"></option>
<option value="1" selected>专票</option>
<option value="2">普票</option>
{@/if}
{@if party_info.invoice_type==2}
<option value="0"></option>
<option value="1">专票</option>
<option value="2" selected>普票</option>
{@/if}
</select>
</div>
<!-- <input type="text" class="txt" disabled="disabled" placeholder="" name="invoice_type" value="{$data.payinfo.invoice_type}"> -->
</td>
</tr>
</tbody>
</table>
</div>
</script>
<script type="text/html" id="statementTpl">
{@each statement_info as it,index}
<tr>
<td>${it.statement_begin_time}~${it.statement_end_time}</td>
<td>${it.game_name}</td>
{@if it.statement_type==1}
<td>-${it.pay_amount}元</td>
{@else}
<td>${it.pay_amount}元</td>
{@/if}
{@if it.statement_type==0}
{@if withdraw_type==2}
<td><input type="text" class="txt statementchange" name="increment_ratio" data-index ="${index}" data-change="statement_info[${index}]['increment_ratio']" value="${it.increment_ratio}" style="width: 40px;">%</td>
{@else}
<td><input type="text" class="txt statementchange" name="ratio" data-index ="${index}" data-change="statement_info[${index}]['ratio']" value="${it.ratio}" style="width: 40px;" disabled="disabled">%</td>
{@/if}
<td><input type="text" class="txt statementchange" name="increment_ratio" data-index ="${index}" data-change="statement_info[${index}]['increment_ratio']" value="${it.increment_ratio}" style="width: 40px;">%</td>
{@else}
<td></td>
<td></td>
{@/if}
{@if it.statement_type==1}
<td>-${it.sum_money}元</td>
{@else}
<td>${it.sum_money}元</td>
{@/if}
</tr>
{@/each}
<tr>
<td>合计</td>
<td></td>
<td>${pay_amount}元</td>
<td></td>
<td></td>
<td>${statement_money}元</td>
</tr>
<tr>
<td colspan=5>本月分成总金额(人民币大写):</td>
<td>${statement_money|number_chinese}</td>
</tr>
</script>
<script>
$(function () {
TPLSHOW.juicerInit();
$(".select_gallery").select2();
$('#time_start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
EVENT.changeCompany();
EVENT.createStatement();
$("#first_partner_id").change();
// $("#second_partner_id").change();
});
//基础类
var PUBLIC = {
postData(url, data, callback) {
$.ajax({
url: url,
data: data,
type: "post",
dataType: "json",
success: function (data) {
callback(data)
}
})
},
floatAdd(a,b){
return Math.round(a*100+b*100)/100;
},
floatCut(a,b){
return Math.round(a*100-b*100)/100;
},
CompanyKeyName:{
id:"公司表id",
partner:"公司名称",
link_man:'联系人',
link_phone:"联系电话",
address:'邮寄地址',
company_tax_no:'公司税号',
payee_name:'名称',
bank_account:"银行账号",
opening_bank:"开户行"
}
}
//数据类
var DATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
var YDATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
//事件类
var EVENT = {
changeCompany() {
$("#first_partner_id").on("change", function () {
TPLSHOW.firstPartInfo(DATAOBJ.first_party_info);
TPLSHOW.secondPartInfo(DATAOBJ.second_party_info);
TPLSHOW.showPartPayInfo();
TPLSHOW.showStatementList(true);
})
$("#first_partner_id").on("change", function () {
TPLSHOW.secondPartInfo(DATAOBJ.second_party_info);
})
},
createStatement() {
$("#createStatement").on("click", function () {
//TODO:验证信息
layer.load(2);
PUBLIC.postData("{:U('editStatement')}",DATAOBJ,function(data){
if(data.code == 0){
layer.closeAll('loading');
layer.msg('修改成功');
setTimeout(function(){
window.parent.reload();
},350);
}else{
alert("修改失败,请联系管理员")
}
});
//发送添加请求
})
},
normalchange() {
$(".normalchange").off("blur");
$("#invoice_type").off("change");
$(".normalchange").on("blur", function () {
var val = $(this).val();
var index = $(this).data("change");
var str = "DATAOBJ." + index + "='" + val + "';";
eval(str);
if (val !== eval("YDATAOBJ." + index)) {
isedit = true;
}
})
$("#invoice_type").on("change",function(){
var val = $(this).val();
var index = $(this).data("change");
var str = "DATAOBJ." + index + "='" + val + "';";
eval(str);
if (val !== eval("YDATAOBJ." + index)) {
isedit = true;
}
})
},
statementchange() {
$(".statementchange").off("blur");
$(".statementchange").on("blur",function(){
var sort = $(this).data("change");
var val = $(this).val();
var vdata = eval("DATAOBJ."+sort);//原先值
var dom = $(this);
if(!CHECK.number.test(val)){
layer.msg('结算单中的罚款和税率必须是数字,且不能为空');
dom.val(vdata);
return false;
}
var str = "DATAOBJ."+sort+"='"+val+"';";
if(val > 100 || val < 0){
layer.msg('结算单中的税率不允许大于100和小于0');
dom.val(vdata);
return false;
}
eval(str);
var index = $(this).data("index");
var td = DATAOBJ.statement_info[index];
var rname = $(this).attr("name");
var ratio = 0;
if( rname == "fax_ratio" || rname == "ratio"){
ratio = val;
}else{
ratio = td['ratio'];
}
console.log(td['pay_amount']*(ratio+td['increment_ratio']))
DATAOBJ.statement_money = PUBLIC.floatCut(DATAOBJ.statement_money,td['sum_money']);
td['sum_money'] = td['pay_amount']*(parseFloat(td['increment_ratio']))/100;
td['sum_money'] = parseFloat(td['sum_money']).toFixed(2);
DATAOBJ.statement_money=PUBLIC.floatAdd(DATAOBJ.statement_money,td['sum_money']);
TPLSHOW.showStatementList(true);
})
}
}
var CHECK = {
number: /^\d+(\.{1}\d+)?$/,
mobile: /^1[3456789]\d{9}$/,
BankNo: /^([1-9]{1})\d{10,19}$/,
money: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/
}
//
var TPLSHOW = {
juicerInit() {
var nonull = function (data) {
if (!data) {
return '';
}
return data;
};
var number_chinese = function (str) {
var num = parseFloat(str);
var strOutput = "",
strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
num += "00";
var intPos = num.indexOf('.');
if (intPos >= 0) {
num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
}
strUnit = strUnit.substr(strUnit.length - num.length);
for (var i = 0; i < num.length; i++) {
strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(num.substr(i, 1), 1) + strUnit.substr(i, 1);
}
return strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元")
}
juicer.register('nonull', nonull);
juicer.register('number_chinese', number_chinese);
},
//
firstPartInfo(data) {
var tpl = $("#partbasetpl").html();
data.type = "first_party_info";
var html = juicer(tpl, data);
$("#first_part_bser_info_show").html(html);
TPLSHOW.pushStatementTypeOption();
},
secondPartInfo(data) {
var tpl = $("#partbasetpl").html();
data.type ="second_party_info";
var html = juicer(tpl, data);
$("#second_part_bser_info_show").html(html);
TPLSHOW.pushStatementTypeOption();
},
//支付给公司
pushStatementTypeOption() {
EVENT.normalchange();
},
//支付信息显示
showPartPayInfo() {
var data = {};
if (DATAOBJ.pay_type == 1) {
data.party_info = DATAOBJ.first_party_info;
data.type ="first_party_info";
} else {
data.party_info = DATAOBJ.second_party_info;
data.type ="second_party_info";
}
var tpl = $("#partpaytpl").html();
var html = juicer(tpl, data);
$("#partpatinfo").html(html);
EVENT.normalchange();
},
//订单信息显示
showStatementList(flag) {
if (flag) {
var data = DATAOBJ;
console.log(data);
$("#statementInit").addClass("hidebox");
var tpl = $("#statementTpl").html();
var html = juicer(tpl, data);
$("#statementShow").html(html);
EVENT.statementchange();
}
}
}
</script>
</body>
</html>

@ -0,0 +1,711 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
</head>
<style>
html {
min-width: 100%;
}
body {
padding: 0px 0px 150px;
width: 960px;
margin: auto;
}
.tabcon1711 table {
width: 480px;
}
table {
margin: auto;
}
.hidebox {
display: none;
}
.r {
width: 300px;
}
.l {
width: 180px;
}
.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;
}
.input-list,
.i_list {
float: left;
margin: 0;
}
</style>
<body>
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
海南万盟天下科技有限公司
</div> -->
<div style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="firstPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">甲方:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="first_partner_id" name="partner_id" class="select_gallery">
<option value="{$data['first_party_info']['id']}" selected>{$data['first_party_info']['partner']}</option>
</select>
</div>
</td>
</tr>
<tbody id="first_part_bser_info_show">
<tr>
<td class="l">联系人:</td>
<td class="r">
<input type="text" class="txt" name="link_man" value="" placeholder="请输入联系人">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r">
<input type="text" class="txt" name="link_phone" value="" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r">
<input type="text" class="txt" name="address" value="" placeholder="请输入地址">
</td>
</tr>
<tr>
<td class="l">公司税号:</td>
<td class="r">
<input type="text" class="txt" name="company_tax_no" value="" placeholder="请输入公司税号">
</td>
</tr>
</tbody>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="secondPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">乙方:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="second_partner_id" name="partner_id" class="select_gallery">
<option value="{$data['second_party_info']['id']}" selected>{$data['second_party_info']['partner']}</option>
</select>
</div>
</td>
</tr>
<tbody id="second_part_bser_info_show">
<tr>
<td class="l">联系人:</td>
<td class="r">
<input type="text" class="txt" name="link_man" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r">
<input type="text" class="txt" name="link_phone" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r">
<input type="text" class="txt" name="address" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
<tr>
<td class="l">公司税号:</td>
<td class="r">
<input type="text" class="txt" name="company_tax_no" value="" disabled="disabled"
placeholder="请先选择合作公司">
</td>
</tr>
</tbody>
</tbody>
</table>
</div>
</div>
<div style="padding: 30px 0px 10px;display: block;height:30px;">
<div class="input-list input-list-server search_label_rehab">
<p style="font-size: 20px;font-weight: 600;">支付给:<spen style="margin-left: 15px;font-size: 16px;">{$data.company_name}
</spen>
</p>
</div>
</div>
<div class="data_list box_mt" style="margin-top: 40px;">
<div class="">
<table>
<thead>
<tr>
<th style="border-right: solid 1px #b6cad2;">会长账号</th>
<th style="border-right: solid 1px #b6cad2;">结算时间</th>
<th style="border-right: solid 1px #b6cad2;">产品</th>
<th style="border-right: solid 1px #b6cad2;">平台总额(元)</th>
<if condition="$data['withdraw_type'] eq 2">
<th style="border-right: solid 1px #b6cad2;">补点比例</th>
<else />
<th style="border-right: solid 1px #b6cad2;">分成比例</th>
</if>
<th style="border-right: solid 1px #b6cad2;">特殊补点比例</th>
<th >结算金额(元)</th>
</tr>
</thead>
<!-- 列表 -->
<tbody id="statementInit" class="">
<tr style="height: 100px;">
<td colspan=8>
请先选择生成条件后点击生成对账数据
</td>
</tr>
</tbody>
<tbody id="statementShow">
</tbody>
</table>
</div>
</div>
<div id="partpatinfo" style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="skf_payinfo">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">收款方名称:</td>
<td class="r">
<input type="text" class="txt" name="" disabled="disabled" placeholder="" value="{$data.payinfo.payee_name}">
</td>
</tr>
<tr>
<td class="l">银行账号:</td>
<td class="r">
<input type="text" class="txt" name="" value="{$data.payinfo.bank_account}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">开户行:</td>
<td class="r">
<input type="text" class="txt" name="password" value="{$data.payinfo.opening_bank}" disabled="disabled" placeholder="请先选择支付给谁">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开票项目:</td>
<td class="r">
<input type="text" class="txt" disabled="disabled" placeholder="" name="invoice_item" value="{$data.payinfo.invoice_content}">
</td>
</tr>
<tr>
<td class="l">发票类型:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="invoice_type" name="invoice_type" class="select_gallery" disabled>
<option value="0" <if condition="$data['payinfo']['invoice_type'] eq 0">selected</if>>无</option>
<option value="1" <if condition="$data['payinfo']['invoice_type'] eq 1">selected</if>>专票</option>
<option value="2" <if condition="$data['payinfo']['invoice_type'] eq 2">selected</if>>普票</option>
</select>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="search_list" style="display:flex;justify-content:flex-end;width:960px;">
<div class="input-list" style="margin-left: 30px;float: right;">
<a class="sch-btn" href="javascript:;" id="createStatement" style="width: 150px;">确认修改</a>
</div>
</div>
<script type="text/html" id="partbasetpl">
<tr>
<td class="l">联系人:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.link_man" name="link_man" value="${link_man|nonull}" placeholder="请输入联系人">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r">
<input type="text" class="txt normalchange" name="link_phone" data-change="${type}.link_phone" value="${link_phone|nonull}" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r">
<input type="text" class="txt normalchange" name="address" data-change="${type}.address" value="${address|nonull}" placeholder="请输入地址">
</td>
</tr>
<tr>
<td class="l">公司税号:</td>
<td class="r">
<input type="text" class="txt normalchange" name="company_tax_no" data-change="${type}.company_tax_no" value="${company_tax_no|nonull}" placeholder="请输入公司税号">
</td>
</tr>
</script>
<script type="text/html" id="partpaytpl">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">收款方名称:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.payee_name" name="payee_name" placeholder="" value="${party_info.payee_name}">
</td>
</tr>
<tr>
<td class="l">银行账号:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.bank_account" name="bank_account" value="${party_info.bank_account}" placeholder="">
</td>
</tr>
<tr>
<td class="l">开户行:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.opening_bank" name="opening_bank" value="${party_info.opening_bank}" placeholder="请先选择支付给谁">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开票项目:</td>
<td class="r">
<input type="text" class="txt normalchange" data-change="${type}.invoice_content" name="invoice_content" placeholder="" value="${party_info.invoice_content}">
</td>
</tr>
<tr>
<td class="l">发票类型:</td>
<td class="r">
<div class="input-list input-list-game search_label_rehab">
<select id="invoice_type" name="invoice_type" data-change="${type}.invoice_type" class="select_gallery">
{@if party_info.invoice_type==0}
<option value="0" selected></option>
<option value="1">专票</option>
<option value="2">普票</option>
{@/if}
{@if party_info.invoice_type==1}
<option value="0"></option>
<option value="1" selected>专票</option>
<option value="2">普票</option>
{@/if}
{@if party_info.invoice_type==2}
<option value="0"></option>
<option value="1">专票</option>
<option value="2" selected>普票</option>
{@/if}
</select>
</div>
<!-- <input type="text" class="txt" disabled="disabled" placeholder="" name="invoice_type" value="{$data.payinfo.invoice_type}"> -->
</td>
</tr>
</tbody>
</table>
</div>
</script>
<script type="text/html" id="statementTpl">
{@each statement_info as it,index}
<tr>
<td rowspan="${it.row}">${it.account}</td>
<td>${it['game_list'][0]['statement_begin_time']}~${it['game_list'][0]['statement_end_time']}</td>
<td>${it['game_list'][0]['game_name']}</td>
{@if it.statement_type==1}
<td>-${it['game_list'][0]['pay_amount']}元</td>
{@else}
<td>${it['game_list'][0]['pay_amount']}元</td>
{@/if}
{@if it['game_list'][0]['statement_type']==0}
{@if withdraw_type==2}
<td><input type="text" class="txt statementchange" name="fax_ratio" data-index ="${index}" data-change="statement_info[${index}]['game_list'][0]['fax_ratio']" value="${it['game_list'][0]['fax_ratio']}" style="width: 40px;">%</td>
{@else}
<td><input type="text" class="txt statementchange" name="ratio" data-index ="${index}" data-change="statement_info[${index}]['game_list'][0]['ratio']" value="${it['game_list'][0]['ratio']}" style="width: 40px;" disabled="disabled">%</td>
{@/if}
<td><input type="text" class="txt statementchange" name="increment_ratio" data-index ="${index}" data-change="statement_info[${index}]['game_list'][0]['increment_ratio']" value="${it['game_list'][0]['increment_ratio']}" style="width: 40px;">%</td>
{@else}
<td></td>
<td></td>
{@/if}
{@if it['game_list'][0]['statement_type']==1}
<td>-${it['game_list'][0]['sum_money']}元</td>
{@else}
<td>${it['game_list'][0]['sum_money']}元</td>
{@/if}
</tr>
{@each it.game_list as it_g,index_g}
{@if index_g!=0}
<tr>
<td>${it_g['statement_begin_time']}~${it_g['statement_end_time']}</td>
<td>${it_g['game_name']}</td>
{@if it_g.statement_type==1}
<td>-${it_g['pay_amount']}元</td>
{@else}
<td>${it_g['pay_amount']}元</td>
{@/if}
{@if it_g['statement_type']==0}
{@if withdraw_type==2}
<td><input type="text" class="txt statementchange" name="fax_ratio" data-index ="${index}" data-change="it_g['fax_ratio']" value="${it_g['fax_ratio']}" style="width: 40px;">%</td>
{@else}
<td><input type="text" class="txt statementchange" name="ratio" data-index ="${index}" data-change="it_g['ratio']" value="${it_g['ratio']}" style="width: 40px;" disabled="disabled">%</td>
{@/if}
<td><input type="text" class="txt statementchange" name="increment_ratio" data-index ="${index}" data-change="it_g['increment_ratio']" value="${it_g['increment_ratio']}" style="width: 40px;">%</td>
{@else}
<td></td>
<td></td>
{@/if}
{@if it_g['statement_type']==1}
<td>-${it_g['sum_money']}元</td>
{@else}
<td>${it_g['sum_money']}元</td>
{@/if}
{@/if}
</tr>
{@/each}
{@/each}
<tr>
<td colspan="2">合计</td>
<td></td>
<td>${pay_amount}元</td>
<td></td>
<td></td>
<td>${statement_money}元</td>
</tr>
<tr>
<td colspan=6>本月分成总金额(人民币大写):</td>
<td>${statement_money|number_chinese}</td>
</tr>
</script>
<script>
$(function () {
TPLSHOW.juicerInit();
$(".select_gallery").select2();
$('#time_start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
EVENT.changeCompany();
EVENT.createStatement();
$("#first_partner_id").change();
// $("#second_partner_id").change();
});
//基础类
var PUBLIC = {
postData(url, data, callback) {
$.ajax({
url: url,
data: data,
type: "post",
dataType: "json",
success: function (data) {
callback(data)
}
})
},
floatAdd(a,b){
return Math.round(a*100+b*100)/100;
},
floatCut(a,b){
return Math.round(a*100-b*100)/100;
},
CompanyKeyName:{
id:"公司表id",
partner:"公司名称",
link_man:'联系人',
link_phone:"联系电话",
address:'邮寄地址',
company_tax_no:'公司税号',
payee_name:'名称',
bank_account:"银行账号",
opening_bank:"开户行"
}
}
//数据类
var DATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
var YDATAOBJ = {$data|json_encode=###,JSON_UNESCAPED_UNICODE};
//事件类
var EVENT = {
changeCompany() {
$("#first_partner_id").on("change", function () {
TPLSHOW.firstPartInfo(DATAOBJ.first_party_info);
TPLSHOW.secondPartInfo(DATAOBJ.second_party_info);
TPLSHOW.showPartPayInfo();
TPLSHOW.showStatementList(true);
})
$("#first_partner_id").on("change", function () {
TPLSHOW.secondPartInfo(DATAOBJ.second_party_info);
})
},
createStatement() {
$("#createStatement").on("click", function () {
//TODO:验证信息
layer.load(2);
PUBLIC.postData("{:U('editStatement')}",DATAOBJ,function(data){
if(data.code == 0){
layer.closeAll('loading');
layer.msg('修改成功');
setTimeout(function(){
window.parent.reload();
},350);
}else{
alert("修改失败,请联系管理员")
}
});
//发送添加请求
})
},
normalchange() {
$(".normalchange").off("blur");
$("#invoice_type").off("change");
$(".normalchange").on("blur", function () {
var val = $(this).val();
var index = $(this).data("change");
var str = "DATAOBJ." + index + "='" + val + "';";
eval(str);
if (val !== eval("YDATAOBJ." + index)) {
isedit = true;
}
})
$("#invoice_type").on("change",function(){
var val = $(this).val();
var index = $(this).data("change");
var str = "DATAOBJ." + index + "='" + val + "';";
eval(str);
if (val !== eval("YDATAOBJ." + index)) {
isedit = true;
}
})
},
statementchange() {
$(".statementchange").off("blur");
$(".statementchange").on("blur",function(){
var sort = $(this).data("change");
var val = $(this).val();
var vdata = eval("DATAOBJ."+sort);//原先值
var dom = $(this);
if(!CHECK.number.test(val)){
layer.msg('结算单中的罚款和税率必须是数字,且不能为空');
dom.val(vdata);
return false;
}
var str = "DATAOBJ."+sort+"='"+val+"';";
if(val > 100 || val < 0){
layer.msg('结算单中的税率不允许大于100和小于0');
dom.val(vdata);
return false;
}
eval(str);
var index = $(this).data("index");
var td = DATAOBJ.statement_info[index];
var rname = $(this).attr("name");
var ratio = 0;
if( rname == "fax_ratio" || rname == "ratio"){
ratio = val;
}else{
ratio = td['ratio'];
}
var gamelist = td['game_list'];
td['sum_money'] = 0;
for (var item in gamelist) {
td['sum_money'] += (gamelist[item]['pay_amount'] * parseInt(val))/100;
console.log(td['sum_money'])
}
console.log(td['sum_money']);return
DATAOBJ.statement_money = PUBLIC.floatCut(DATAOBJ.statement_money,td['sum_money']);
td['sum_money'] = td['pay_amount']*(parseFloat(ratio))/100;
td['sum_money'] = (td['sum_money']).toFixed(2);
DATAOBJ.statement_money=PUBLIC.floatAdd(DATAOBJ.statement_money,td['sum_money']);
TPLSHOW.showStatementList(true);
})
}
}
var CHECK = {
number: /^\d+(\.{1}\d+)?$/,
mobile: /^1[3456789]\d{9}$/,
BankNo: /^([1-9]{1})\d{10,19}$/,
money: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/
}
//
var TPLSHOW = {
juicerInit() {
var nonull = function (data) {
if (!data) {
return '';
}
return data;
};
var number_chinese = function (str) {
var num = parseFloat(str);
var strOutput = "",
strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
num += "00";
var intPos = num.indexOf('.');
if (intPos >= 0) {
num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
}
strUnit = strUnit.substr(strUnit.length - num.length);
for (var i = 0; i < num.length; i++) {
strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(num.substr(i, 1), 1) + strUnit.substr(i, 1);
}
return strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元")
}
juicer.register('nonull', nonull);
juicer.register('number_chinese', number_chinese);
},
//
firstPartInfo(data) {
var tpl = $("#partbasetpl").html();
data.type = "first_party_info";
var html = juicer(tpl, data);
$("#first_part_bser_info_show").html(html);
TPLSHOW.pushStatementTypeOption();
},
secondPartInfo(data) {
var tpl = $("#partbasetpl").html();
data.type ="second_party_info";
var html = juicer(tpl, data);
$("#second_part_bser_info_show").html(html);
TPLSHOW.pushStatementTypeOption();
},
//支付给公司
pushStatementTypeOption() {
EVENT.normalchange();
},
//支付信息显示
showPartPayInfo() {
var data = {};
if (DATAOBJ.pay_type == 1) {
data.party_info = DATAOBJ.first_party_info;
data.type ="first_party_info";
} else {
data.party_info = DATAOBJ.second_party_info;
data.type ="second_party_info";
}
var tpl = $("#partpaytpl").html();
var html = juicer(tpl, data);
$("#partpatinfo").html(html);
EVENT.normalchange();
},
//订单信息显示
showStatementList(flag) {
if (flag) {
var data = DATAOBJ;
console.log(data);
$("#statementInit").addClass("hidebox");
var tpl = $("#statementTpl").html();
var html = juicer(tpl, data);
$("#statementShow").html(html);
EVENT.statementchange();
}
}
}
</script>
</body>
</html>

@ -429,6 +429,20 @@
content: url
});
});
$("#specialComplement").click(function () {
var id = $(this).data("id");
var url = "{:U('viewSpecialComplement')}"+"&id="+id
layer.open({
type: 2,
title: "海南万盟天下科技有限公司",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: url
});
});
$(".editStatement").click(function () {
var id = $(this).data("id");
var url = "{:U('editStatement')}"+"&id="+id

@ -200,6 +200,9 @@
</if>
<th style="border-right: solid 1px #b6cad2;">税费费率</th>
<if condition="$data['withdraw_type'] eq 3">
<th>特殊补点比例</th>
</if>
<th >结算金额(元)</th>
</tr>
</thead>
@ -220,6 +223,9 @@
<td>{$it.ratio|showNumPercent}</td>
</if>
<td>{$it.fax_ratio|showNumPercent}</td>
<if condition="$data['withdraw_type'] eq 3">
<td>{$it.increment_ratio|showNumPercent}</td>
</if>
<else />
<td></td>
<td></td>
@ -235,6 +241,9 @@
<tr>
<td>合计</td>
<if condition="$data['withdraw_type'] eq 3">
<td></td>
</if>
<td></td>
<td>{$data['statement_count']['pay_amount']-0}</td>
<td></td>
@ -242,7 +251,11 @@
<td>{$data['statement_count']['statement_money']-0}</td>
</tr>
<tr>
<td colspan=5>本月分成总金额(人民币大写):</td>
<if condition="$data['withdraw_type'] eq 3">
<td colspan=6>本月分成总金额(人民币大写):</td>
<else/>
<td colspan=5>本月分成总金额(人民币大写):</td>
</if>
<td>{$data.statement_count.big_ratio_money}</td>
</tr>
</tbody>

@ -0,0 +1,228 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
</head>
<style>
html {
min-width:100%;
}
body {
padding: 0px 0px 150px;
width: 960px;
margin: auto;
}
.tabcon1711 table{
width: 480px;
}
table{
margin: auto;
}
.hidebox{
display: none;
}
.r{
width: 300px;
}
.l{
width: 180px;
}
.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;
}
.input-list, .i_list {
float: left;
margin: 0;
}
</style>
<body>
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
海南万盟天下科技有限公司
</div> -->
<div style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="firstPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="first_part_bser_info_show">
<tr>
<td class="l">公司名称:</td>
<td class="r">
<input type="text" class="txt" name="partner" value="{$data['payinfo']['partner']}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="secondPartBaseInfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody id="second_part_bser_info_show">
<tr>
<td class="l">下游类型:</td>
<td class="r">
<input type="text" class="txt" name="company_relation" value="{$dbres['company_belong_str']}" disabled="disabled" placeholder="">
</td>
</tr>
<tr>
<td class="l">下游性质:</td>
<td class="r">
<input type="text" class="txt" name="company_type_str" value="{$dbres['company_type_str']}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="data_list box_mt" style="margin-top: 10px;">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th style="border-right: solid 1px #b6cad2;">市场员</th>
<th style="border-right: solid 1px #b6cad2;">会长账号</th>
<th style="border-right: solid 1px #b6cad2;">产品</th>
<th style="border-right: solid 1px #b6cad2;">产品类型</th>
<th style="border-right: solid 1px #b6cad2;">结算时间</th>
<th style="border-right: solid 1px #b6cad2;">推广流水(元)</th>
<if condition="$data['withdraw_type'] eq 2">
<th style="border-right: solid 1px #b6cad2;">补点比例</th>
<else />
<th style="border-right: solid 1px #b6cad2;">分成比例</th>
</if>
<th>特殊补点比例</th>
<th >结算金额(元)</th>
</tr>
</thead>
<tbody id="statementShow">
<foreach name="data.statement_info" item="it" >
<tr>
<td rowspan="{$it['row']}">{$it['real_name']}</td>
<td rowspan="{$it['row']}">{$it['account']}</td>
<td>{$it['game_list'][0]['game_name']}</td>
<td>{$it['game_list'][0]['game_type_name']}</td>
<td>{$it['game_list'][0]['statement_begin_time']}~{$it['game_list'][0]['statement_end_time']}</td>
<td>{$it['game_list'][0]['pay_amount']}</td>
<if condition="$data['withdraw_type'] eq 2">
<td>{$it['game_list'][0]['increment_ratio']}%</td>
<else />
<td>{$it['game_list'][0]['ratio']}%</td>
</if>
<td>{$it['game_list'][0]['increment_ratio']}%</td>
<td>{$it['game_list'][0]['sum_money']}</td>
<foreach name="it.game_list" item="game_list" key="game_key">
<if condition="$game_key neq 0">
<tr>
<td>{$game_list['game_name']}</td>
<td>{$game_list['game_type_name']}</td>
<td>{$game_list['statement_begin_time']}~{$game_list['statement_end_time']}</td>
<td>{$game_list['pay_amount']}</td>
<if condition="$data['withdraw_type'] eq 2">
<td>{$game_list['increment_ratio']}%</td>
<else />
<td>{$game_list['ratio']}%</td>
</if>
<td>{$game_list['increment_ratio']}%</td>
<td>{$game_list['sum_money']}</td>
</tr>
</if>
</foreach>
</tr>
</foreach>
<tr>
<td colspan="4">合计</td>
<td></td>
<td></td>
<td>{$data.statement_count.pay_amount}</td>
<td></td>
<td>{$data.statement_count.statement_money}</td>
</tr>
<tr>
<td colspan="8">本月分成总金额(人民币大写):</td>
<td>{$data.statement_count.big_ratio_money}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="partpatinfo" style="display: flex;margin: auto;">
<div class="tab-content tabcon1711" id="skf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">开户名:</td>
<td class="r">
<input type="text" class="txt" name="" disabled="disabled" placeholder="" value="{$data.payinfo.payee_name}">
</td>
</tr>
<tr>
<td class="l">开户支行:</td>
<td class="r">
<input type="text" class="txt" name="password" value="{$data.payinfo.opening_bank}" disabled="disabled">
</td>
</tr>
</tbody>
</table>
</div>
<div class="tab-content tabcon1711" id="fkf_payinfo">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">银行卡号:</td>
<td class="r">
<input type="text" class="txt" name="" value="{$data.payinfo.bank_account}" disabled="disabled" placeholder="">
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>

@ -0,0 +1,648 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
</head>
<style>
html {
min-width:100%;
}
body {
max-width: 90%;
padding: 5% 0 0 5%;
}
.tabcon1711 table{
width: 480px;
}
table{
margin: auto;
}
.hidebox{
display: none;
}
.r{
width: 300px;
}
.l{
width: 180px;
}
.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;
}
.input-list, .i_list {
float: left;
margin: 0;
}
</style>
<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>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js"></script>
<link rel="stylesheet" href="__CSS__/promote.css" type="text/css"/>
<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;}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
.butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;}
.butnbox .butnlist .butn.last {background:#009900;}
.butnbox .butnlist .butn~.butn {margin-left:20px;}
.butnbox a{
cursor:pointer
}
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
.data_list table td{
line-height: 2;
}
#tablebox tr{
border-bottom: 1px solid #e6e6e6;
}
</style>
<div class="cf top_nav_list">
<!-- <div class="fl button_list">
<div class="tools">
<a class=" " href="{:U('add')}"><span class="button_icon button_icon1"></span>新增推广游戏分成</a>
</div>
</div> -->
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" style="margin-bottom:12px">
<div class="input-list search-title-box" style="margin-left: 20px">
<label>公司类型:</label>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="company_type" name="company_type" class="select_gallery" >
<option value="">请选择公司类型</option>
<option value="0">下游内团</option>
<option value="1">下游外团</option>
<option value="3">下游无</option>
</select>
</div>
<div class="input-list search-title-box" style="margin-left: 20px">
<label>选择下游公司:</label>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="company_id" name="company_id" class="select_gallery" >
<option value="">请选择下游合作公司</option>
</select>
</div>
<div class="input-list search-title-box" style="margin-left: 20px">
<label>结算时间:</label>
</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" 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 search-title-box" style="margin-left: 20px">
<label>产品:</label>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="relation_game_id" name="relation_game_id[]" class="select_gallery" multiple="multiple">
<option value="">请选择游戏产品</option>
<volist name="gameList" id="vo">
<option value="{$vo.relation_game_id}" <if condition="$vo.relation_game_id eq I('relation_game_id')">selected</if> >{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="input-list" style="margin-left: 20px">
<a class="sch-btn" href="javascript:;" id="add_company" url="{:U('index','&row='.I('row'),false)}">添加</a>
</div>
</div>
</div>
<div class="butnbox" style="margin-bottom: 10px;">
<div class="butnlist jscheckbutn" style="margin-left: 2px">
<foreach name="menubtn" item="vo" >
{$vo}
</foreach>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table id="tablebox">
<!-- 表头 -->
<thead>
<tr>
<th>公司</th>
<th>结算时间</th>
<th>产品</th>
<th>平台总额</th>
<th>分成比例</th>
<th>特殊补点</th>
<th>结算金额</th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<td colspan="3"><span class="company_id">合计</span></td>
<td><span class="sum_pay_amount"></span></td>
<td colspan="2"></td>
<td><span class="sum_withdraw_amount"></span></td>
<td></td>
</tbody>
</table>
<button class="submit_btn ajax-post" id="submit" type="submit" target-form="form-horizontal" style="margin-top: 50px;float: right">
确认保存
</button>
</div>
</div>
<script type="text/javascript">
$(function(){
$("#company_type").select2();
$("#company_id").select2();
$("#relation_game_id").select2();
$('#time_start').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('#time_end').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true,
pickerPosition:'bottom-left'
});
var is_submit = 1;
$('#submit').on({
click: function () {
if (!is_submit) {
layer.msg("正在提交请勿重复提交...");
return;
}
layer.load(2);
is_submit = 0;
var time_start = $("#time_start").val();
var time_end = $("#time_end").val();
var send = [];
$('#tablebox').find('.company_id').each(function(ckey, cval) {
var data = {};
var sec_data = {};
var statement_info = [];
if ($(cval).html() == "合计") {
return;
}
data['company_id'] = $(cval).attr('data-company_id');
data['company_name'] = $(cval).html();
data['statement_begin_time'] = time_start;
data['statement_end_time'] = time_end;
sec_data['pay_amount'] = $(cval).next().next().next().text();
sec_data['sum_money'] = $(cval).next().next().next().next().next().next().text();
sec_data['relation_game_id'] = $(cval).next().next().next().next().next().next().next().find('a').attr('data-game_id');
sec_data['game_name'] = $(cval).next().next().text();
var ratio = $(cval).next().next().next().next().text();
// ratio = parseFloat(ratio.slice(0, -1)) + parseFloat($(cval).next().next().next().next().next().find('input').val());
sec_data['ratio'] = parseFloat(ratio.slice(0, -1));
sec_data['increment_ratio'] = parseFloat($(cval).next().next().next().next().next().find('input').val());
sec_data['statement_begin_time'] = $(cval).next().find('.begin_time').text();
sec_data['statement_end_time'] = $(cval).next().find('.end_time').text();
statement_info.push(sec_data);
var _append = $(cval).parent();
var row = $(cval).attr('rowspan');
for (var i=0;i<row-1;i++) {
sec_data = {};
_append = _append.next();
sec_data['statement_begin_time'] = _append.find('.relation_game_name').prev().find('.begin_time').text();
sec_data['statement_end_time'] = _append.find('.relation_game_name').prev().find('.end_time').text();
sec_data['game_name'] = _append.find('.relation_game_name').text();
sec_data['pay_amount'] = _append.find('.relation_game_name').next().text();
sec_data['sum_money'] = _append.find('.relation_game_name').next().next().next().next().text();
sec_data['relation_game_id'] = _append.find('.relation_game_name').next().next().next().next().next().find('a').attr('data-game_id');
var ratio = _append.find('.relation_game_name').next().next().text();
// ratio = parseFloat(ratio.slice(0, -1)) + parseFloat(_append.find('.relation_game_name').next().next().next().find('input').val());
sec_data['ratio'] = ratio.slice(0, -1);
sec_data['increment_ratio'] = parseFloat(_append.find('.relation_game_name').next().next().next().find('input').val());
statement_info.push(sec_data);
}
data['statement_info'] = statement_info;
send.push(data);
});
if (send.length != 0) {
$.ajax({
url: '{:U("addSpecialComplementPost")}',
type: 'post',
dataType: 'json',
data: {data:JSON.stringify(send)},
success: function(result) {
if (result.status == 1) {
is_submit = 1;
layer.msg("插入成功");
parent.location.reload();
} else if (result.status==1001) {
is_submit = 1;
layer.msg("数据插入失败");
} else {
is_submit = 1;
layer.msg("未知错误");
}
layer.closeAll("loading");
}});
} else {
is_submit = 1;
layer.closeAll("loading");
layer.msg('数据为空不能提交');
}
}
});
var is_add = 1;
//添加公司比例操作
$('#add_company').click(function (e) {
if (!is_add) {
layer.msg('正在执行中请勿重复点击...');
return;
}
layer.load(2);
is_add = 0;
var company_id = $("#company_id").find("option:selected").val();
var time_start = $("#time_start").val();
var time_end = $("#time_end").val();
var relation_game_id = $("#relation_game_id").val();
var company_type = $("#company_type").find("option:selected").val();
var sdate = Date.parse($('#time_start').val()) / 1000;
var edate = Date.parse($('#time_end').val()) / 1000;
if (sdate > edate) {
layer.closeAll("loading");
layer.msg('开始时间必须小于等于结束时间');
return false;
}
if ((edate - sdate) > 2592000) {
layer.closeAll("loading");
layer.msg('时间间隔不能超过31天请重新选择日期');
return false;
}
if (!company_type) {
layer.closeAll("loading");
layer.msg('请选择公司类型');
return;
}
if (!company_id) {
layer.closeAll("loading");
layer.msg('请选择公司');
return;
}
if (!time_start || !time_end) {
layer.closeAll("loading");
layer.msg('开始时间与结束时间至少选择一个');
return;
}
if (!relation_game_id) {
layer.closeAll("loading");
layer.msg('请选择游戏');
return;
}
$.ajax({
url: '{:U("addSpecialComplement")}',
type: 'post',
dataType: 'json',
data: {company_id:company_id, time_start:time_start, time_end:time_end, relation_game_id:relation_game_id, company_type:company_type},
success: function(result) {
if (result.status == 1) {
// $('#tablebox').find('tbody').empty();
var data = result.data;
var html = '';
var is_continue = 0;
for (var item in data) {
is_continue = 0;
$('#tablebox').find('.company_id').each(function(ckey, cval) {
if ($(cval).html() == data[item]['company_name']) {
//时间数组定义用于判断当前选择的游戏是否有结算过的区间
var begin_time = [];
var end_time = [];
var get_time = $(cval).parent();
var row =$(cval).attr('rowspan');
for (var i=0; i<row; i++) {
for(var item_sec in data[item]['relation_game_name']) {
if (get_time.find('.relation_game_name').text() == data[item]['relation_game_name'][item_sec] && data[item]['begin_time'][item_sec] == get_time.find('.begin_time').text()&& data[item]['end_time'][item_sec] == get_time.find('.end_time').text()) {
begin_time.push(get_time.find('.begin_time').text());
end_time.push(get_time.find('.end_time').text());
}
}
get_time = get_time.next();
}
for (var time in begin_time) {
if ((begin_time[time]>=time_start && begin_time[time]<=time_end) || (end_time[time]>=time_start && end_time[time]<=time_end)||(begin_time[time]<=time_start && end_time[time] >= time_end)) {
layer.msg(data[item]['company_name'] + "结算日期"+begin_time[time]+"-"+end_time[time]+"有结算过的部分,请重新选择");
is_add = 1;
is_continue = 2;
layer.closeAll("loading");
return;
}
}
$(cval).attr('rowspan',parseInt(row)+parseInt(data[item]['row']));
for(var item_sec in data[item]['begin_time']) {
html += "<tr>" +
"<td><span class='begin_time'>"+data[item]['begin_time'][item_sec]+"</span>-<span class='end_time'>"+data[item]['end_time'][item_sec]+"</span></td>" +
"<td class='relation_game_name'>"+data[item]['relation_game_name'][item_sec]+"</td>" +
"<td class='pay_amount'>"+data[item]['pay_amount'][item_sec]+"</td>" +
"<td>"+data[item]['ratio'][item_sec]+"%</td>" +
"<td><input oninput='if($(this).val()>100){$(this).val(100);}' value='0' type='number' style='width: 50px;text-align: center' class='complement'/>%</td>" +
"<td class='withdraw_amount'>"+data[item]['withdraw_amount'][item_sec]+"</td>" +
"<td><a data-value='"+data[item]['company_name']+"' class='delete' data-game_id='"+data[item]['relation_game_id'][item_sec]+"'>删除</a></td></tr>";
}
//轮询寻找最后一个
var _append = $(cval).parent();
for (var i=0; i<row-1; i++) {
_append = _append.next();
}
_append.after(html);
is_continue = 1;
complementChange();
DeleteTd();
caculateAmount();
}
});
if (is_continue == 1) {
continue;
} else if(is_continue == 2) {
return;
}
html += "<tr><td class='company_id' rowspan='"+data[item]['row']+"' data-company_id='"+data[item]['company_id']+"'>"+data[item]['company_name']+"</td>" +
"<td><span class='begin_time'>"+data[item]['begin_time'][0]+"</span>-<span class='end_time'>"+data[item]['end_time'][0]+"</span></td>" +
"<td class='relation_game_name'>"+data[item]['relation_game_name'][0]+"</td>" +
"<td class='pay_amount'>"+data[item]['pay_amount'][0]+"</td>" +
"<td>"+data[item]['ratio'][0]+"%</td>" +
"<td><input oninput='if($(this).val()>100){$(this).val(100);}' value='0' type='number' style='width: 50px;text-align: center' class='complement'/>%</td>" +
"<td class='withdraw_amount'>"+data[item]['withdraw_amount'][0]+"</td>" +
"<td><a data-value='"+data[item]['company_name']+"' data-game_id='"+data[item]['relation_game_id'][0]+"' class='delete'>删除</a></td></tr>";
for(var item_sec in data[item]['begin_time']) {
if (item_sec != 0) {
html += "<tr>" +
"<td><span class='begin_time'>"+data[item]['begin_time'][item_sec]+"</span>-<span class='end_time'>"+data[item]['end_time'][item_sec]+"</span></td>" +
"<td class='relation_game_name'>"+data[item]['relation_game_name'][item_sec]+"</td>" +
"<td class='pay_amount'>"+data[item]['pay_amount'][item_sec]+"</td>" +
"<td>"+data[item]['ratio'][item_sec]+"%</td>" +
"<td><input oninput='if($(this).val()>100){$(this).val(100);}' value='0' type='number' style='width: 50px;text-align: center' class='complement'/>%</td>" +
"<td class='withdraw_amount'>"+data[item]['withdraw_amount'][item_sec]+"</td>" +
"<td><a data-value='"+data[item]['company_name']+"' class='delete' data-game_id='"+data[item]['relation_game_id'][item_sec]+"'>删除</a></td></tr>";
}
}
$('#tablebox').find('tbody').prepend(html);
complementChange();
DeleteTd();
caculateAmount();
}
} else {
layer.msg('获取数据失败');
}
is_add = 1;
layer.closeAll("loading");
}
})
});
function caculateAmount() {
var pay_amount = 0;
var withdraw_amount = 0;
$('#tablebox').find('.pay_amount').each(function(ckey, cval) {
pay_amount += parseFloat($(cval).text());
});
$('#tablebox').find('.withdraw_amount').each(function(ckey, cval) {
withdraw_amount += parseFloat($(cval).text());
});
$(".sum_pay_amount").text(pay_amount.toFixed(2));
$(".sum_withdraw_amount").text(withdraw_amount.toFixed(2));
}
//补点改变函数
function complementChange() {
$(".complement").off("change");
$('.complement').change(function() {
//获取总流水
var pay_amount = parseFloat($(this).parent().prev().prev().text());
//计算最终分配比率
var ratio = parseFloat($(this).val());
if (ratio>100) {
$(this).val(100);
ratio = 100;
}
//最终的分配金额
var withdraw_amount = ((pay_amount * ratio)/100).toFixed(2);
$(this).parent().next().text(withdraw_amount);
caculateAmount();
});
}
//删除操作
function DeleteTd() {
$('.delete').off('click');
$('.delete').click(function() {
var company_name = $(this).data();
var is_first = $(this).parent().parent().children(":first").text();
var first_row = $(this).parent().parent().children(":first").attr('rowspan');
var company_id = $(this).parent().parent().children(":first").attr('data-company_id');
//判断公司是否隶属于该公司
if (is_first == company_name['value']) {
var html = "<td class='company_id' rowspan='"+(first_row-1)+"' data-company_id='"+company_id+"'>"+is_first+"</td>";
var next_company = $(this).parent().parent().next().find(".company_id").text();
//判断接下来还有没有该公司的比例,如有增添加公司名称行
if (!next_company&&next_company!="合计") {
$(this).parent().parent().next().prepend(html);
}
} else {
$('#tablebox').find('.company_id').each(function(ckey, cval) {
if($(cval).html() == company_name['value']){
var rowspan = $(cval).attr('rowspan');
$(cval).attr('rowspan',rowspan-1);
}
});
}
$(this).parent().parent().remove();
caculateAmount();
});
}
var company_id = "{$_GET['company_id']??0}";
$("#company_type").on("change",function(){
var val = $(this).find("option:selected").val();
var url = "{:U('Ajax/getPromoteCompany')}"+"&company_belong="+val;
$.get(url,function(data){
var company = data;
var companystr = '<option value="">请选择下游合作公司</option>';
for (var i in company) {
if(company[i].id == company_id){
companystr += "<option value='" + company[i].id + "' data-value='"+ company[i].game_ids +"' selected='selected'>" + company[i].name + "</option>"
}else{
companystr += "<option value='" + company[i].id + "' data-value='"+ company[i].game_ids +"' >" + company[i].name + "</option>"
}
}
$("#company_id").html(companystr);
$("#company_id").select2();
$("#relation_game_id").html('')
$("#relation_game_id").select2();
})
});
var game_id = "{$_GET['game_id']??0}";
$("#company_id").on("change",function(){
var data = $(this).find("option:selected").data().value;
var url = "{:U('Ajax/getPromoteGameList')}"+"&game_ids="+data;
$.get(url,function(data){
var game = data;
var gamestr = '<option value="">请选择游戏商品</option>';
for (var i in game) {
if(game[i].id == game_id){
gamestr += "<option value='" + game[i].relation_game_id + "' selected='selected'>" + game[i].relation_game_name + "</option>"
}else{
gamestr += "<option value='" + game[i].relation_game_id + "'>" + game[i].relation_game_name + "</option>"
}
}
$("#relation_game_id").html(gamestr);
$("#relation_game_id").select2();
})
});
});
</script>
</block>
</html>

@ -73,6 +73,20 @@
<span class="notice-text">管理员手机号码,用于找回密码等安全操作</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">离职状态</td>
<td class="r table_radio table_radio2">
<span class="table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="work_status" <if condition="$data['work_status'] eq 1"> checked</if>> 离职
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="work_status" <if condition="$data['work_status'] eq 0"> checked</if> > 未离职
</label></span>
<span class="notice-text" style="line-height:1.4;width:68%;">离职状态,市场专员离职发放后自动标志未离职</span>
</td>
</tr>
</tbody>
</table>

@ -68,6 +68,20 @@
<!-- </if>-->
</td>
</tr>
<tr>
<td class="l noticeinfo">离职状态</td>
<td class="r table_radio table_radio2">
<span class="table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="work_status" <if condition="$list['work_status'] eq 1"> checked</if>> 离职
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="work_status" <if condition="$list['work_status'] eq 0"> checked</if> > 未离职
</label></span>
<span class="notice-text" style="line-height:1.4;width:68%;">离职状态,市场专员离职发放后自动标志未离职</span>
</td>
</tr>
<if condition="is_administrator() and I('get.id') eq C('USER_ADMINISTRATOR')">
<tr>
<td class="l">手机:</td>

@ -2486,4 +2486,11 @@ CREATE TABLE `tab_testing_resource_batch` (
alter table tab_user_play_info add column `game_role_id` varchar(80) not null DEFAULT '' COMMENT '游戏角色标识' after role_level;
alter table tab_user_play_info add column `testing_other_quota` decimal(12, 2) not null DEFAULT '0.00' COMMENT '测试资源额外额度' after promote_account;
update tab_user_play_info set game_role_id = concat(game_id, '#', role_id);
ALTER TABLE `tab_user_play_info` ADD INDEX `index_unique_role`(`game_role_id`);
ALTER TABLE `tab_user_play_info` ADD INDEX `index_unique_role`(`game_role_id`);
ALTER TABLE `tab_market_altogether`
ADD COLUMN `achievement_profit` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '开发毛利' AFTER `wait_achievement_commission`,
ADD COLUMN `performance_profit` decimal(13, 2) NULL DEFAULT 0.00 COMMENT '维护毛利' AFTER `achievement_profit`;
ALTER TABLE `sys_ucenter_member`
ADD COLUMN `work_status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '离职状态' AFTER `openid_sign`;
Loading…
Cancel
Save