解决冲突

master
ELF
commit 56282658fc

@ -2326,11 +2326,12 @@ function getCompanyBlongOther($id = -1)
*/
function getCompanyRelation($id = -1)
{
$data = array(
["id"=>0,'name'=>"自主开发及维护"],
["id"=>1,'name'=>"只维护"],
["id"=>2,'name'=>"无"]
);
$data = array(
["id"=>0,'name'=>"无"],
["id"=>1,'name'=>"自主开发"],
["id"=>2,'name'=>"自主开发及维护"],
["id"=>3,'name'=>"只维护"]
);
if($id > -1){
foreach($data as $k=>$v){
if($v['id'] == $id){
@ -2806,4 +2807,59 @@ function promote_listsMarket($type){
}
return $data;
}
}
//市场部获取公司或推广员id
function getMarketAuthPromoteId()
{
$map['level'] = 1;
if (isMarketLeader()) {
$map['admin_id'] = ['gt', 0];
}elseif(isMarketAdmin()){
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
$map['admin_id'] = $adminId;
}else{
return false;
}
$dbres = M("Promote","tab_")->where($map)->getField("id",true);
if(empty($dbres)){
return -1;
}else{
return implode(",",$dbres);
}
}
function throwPromoteIdToCompanyId($p_ids)
{
$map["id"]=["in","{$p_ids}"];
$dbres = M("Promote","tab_")->where($map)->group("company_id")->getField("company_id",true);
if(empty($dbres)){
return -1;
}else{
return implode(",",$dbres);
}
}
/**
* 聚合公司筛选项
* @param $type 1 渠道 2 包名获取
* @return mixed
*/
function getCpCompanySelect($type = 1){
$request['req'] = 1;
if ($type == 1) {
$url = M("kv")->field("value")->where(['key'=>"cp_company_channel_api"])->find();
$data = json_decode(curl_post($url['value'],$request),true);
} elseif($type == 2) {
$url = M("kv")->field("value")->where(['key'=>"cp_company_gamename_api"])->find();
$data = json_decode(curl_post($url['value'],$request),true);
} else {
return [];
}
return $data;
}

@ -868,6 +868,13 @@ function convertAmountToCn($num) {
function checkPhone($phone) {
return preg_match("/^1[3456789]\d{9}$/",$phone);
}
/**
* @param $num
* @return false|int
*/
function checkNumber($num) {
return preg_match("/^([0-9]*)+(.[0-9]{1,3})?$/",$num);
}
//获取sdk类型名称
function getSDKTypeName($sdkType, $chinese = false)
@ -1020,4 +1027,18 @@ function PromoteStatistics($orderNo) {
}
}
function showPercent($num)
{
if($num-0 > 0){
if(strpos($num,"%")){
return $num;
}else{
return $num."%";
}
}else{
return $num ?? "--";
}
}

@ -101,133 +101,184 @@ class AggregateFinanceSetController extends Controller {
$this->getAndSaveData(2,$begintime,$endtime);
}
protected function getAndSaveData($type,$begintime,$endtime)
{
$sign = md5($begintime.$endtime.$type.$this->token);
$arr = [
"begintime"=>$begintime,
"endtime"=>$endtime,
"type"=>$type,
"sign"=>$sign
];
$dataurl .= $this->apihost."&".http_build_query($arr);
$html = file_get_contents($dataurl);
$rsp = json_decode($html,true);
if($rsp['code'] != 1){
echo $rsp['error'].PHP_EOL;die;
}
//成功插入
$Aggregate = M("aggregate_statement","tab_");
$begintimestr = date("Y-m-d",$begintime);
$endtimestr = date("Y-m-d",$endtime);
if($rsp['count'] > 0){
//插入数据
foreach ($rsp['data'] as $k => $v) {
foreach ($v["game_list"] as $ke => &$va) {
$va['begintime'] = $begintimestr;
$va['endtime'] = $endtimestr;
$va['fax_ratio'] = 0;
}
$v["statement_info"] = json_encode($v["game_list"],JSON_UNESCAPED_UNICODE);
unset($v["game_list"]);
$v['begintime'] = $begintime;
$v['endtime'] = $endtime;
$v['create_time'] = time();
$v['admin_name'] = "system";
$v['admin_id'] = 0;
$v['second_party_info'] = json_encode([
"partner"=>$v['channel_name']
],JSON_UNESCAPED_UNICODE);
$Aggregate->add($v);
}
}
if($type == 0){
echo "----周结统计ok".PHP_EOL;
}elseif($type == 1){
echo "----月结统计ok".PHP_EOL;
}elseif($type == 2){
echo "----补点统计ok".PHP_EOL;
}
}
protected function getAndSaveData($type,$begintime,$endtime)
{
$sign = md5($begintime.$endtime.$type.$this->token);
$arr = [
"begintime"=>$begintime,
"endtime"=>$endtime,
"type"=>$type,
"sign"=>$sign
];
$dataurl .= $this->apihost."&".http_build_query($arr);
$html = file_get_contents($dataurl);
// echo $dataurl;die();
sleep(5);
$rsp = json_decode($html,true);
if($rsp['code'] != 1){
echo $rsp['error'].PHP_EOL;die;
}
//成功插入
$Aggregate = M("aggregate_statement","tab_");
$begintimestr = date("Y-m-d",$begintime);
$endtimestr = date("Y-m-d",$endtime);
if($rsp['count'] > 0){
//插入数据
foreach ($rsp['data'] as $k => $v) {
foreach ($v["game_list"] as $ke => &$va) {
$va['begintime'] = $begintimestr;
$va['endtime'] = $endtimestr;
$va['fax_ratio'] = 0;
}
$v["statement_info"] = json_encode($v["game_list"],JSON_UNESCAPED_UNICODE);
unset($v["game_list"]);
$v['begintime'] = $begintime;
$v['endtime'] = $endtime;
$v['create_time'] = time();
$v['admin_name'] = "system";
$v['admin_id'] = 0;
$v['second_party_info'] =
json_encode([
"partner"=>$v['channel_name'],
"invoice_type"=>$v['invoice_type'],
"invoice_item"=>$v['invoice_item'],
"company_tax_no"=>$v['tax_identification_number'],
"link_man"=>$v['connection_person'],
"link_phone"=>$v['phone'],
"address"=>$v['send_address'],
"register_address"=>$v['register_address'],
"register_phone"=>$v['register_phone'],
"payee_name"=>$v['bank_user'],
"bank_account"=>$v['bank_card'],
"opening_bank"=>$v['bank_name'],
],JSON_UNESCAPED_UNICODE);
$Aggregate->add($v);
}
}
if($type == 0){
echo "----周结统计ok".PHP_EOL;
}elseif($type == 1){
echo "----月结统计ok".PHP_EOL;
}elseif($type == 2){
echo "----补点统计ok".PHP_EOL;
}
}
/**
* 重算聚合接口数据
* @param [type] $id
* @return void
*/
public function updateAggregateFinanceData($id)
{
//获取基础信息
$Aggregate = M("aggregate_statement","tab_");
$info = $Aggregate->where("id='{$id}'")->find();
$sign = md5($info['begintime'].$info['endtime'].$info['withdraw_type'].$this->token);
$arr = [
"begintime"=>$info['begintime'],
"endtime"=>$info['endtime'],
"type"=>$info['withdraw_type'],
"sign"=>$sign,
"channel_id"=>$info['channel_id']
];
$dataurl .= $this->apihost."&".http_build_query($arr);
$html = file_get_contents($dataurl);
$rsp = json_decode($html,true);
if($rsp['code'] != 1){
echo $rsp['error'].PHP_EOL;die;
}
//更新信息
$begintimestr = date("Y-m-d",$info['begintime']);
$endtimestr = date("Y-m-d",$info['endtime']);
if($rsp['count'] > 0){
//插入数据
foreach ($rsp['data'] as $k => $v) {
foreach ($v["game_list"] as $ke => &$va) {
$va['begintime'] = $begintimestr;
$va['endtime'] = $endtimestr;
$va['fax_ratio'] = 0;
}
$v["statement_info"] = json_encode($v["game_list"],JSON_UNESCAPED_UNICODE);
unset($v["game_list"]);
$v['create_time'] = time();
$v['admin_name'] = $_SESSION['onethink_admin']['user_auth']['username'];
$v['admin_id'] = $_SESSION['onethink_admin']['user_auth']['uid'];
$v['verify_status'] = 0;
$first_party_info = json_decode($info['first_party_info'], 1);
if($first_party_info['partner'] == $info['channel_name']){
$v['second_party_info'] = $info['first_party_info'];
$v['first_party_info'] = $info['second_party_info'];
$v['pay_type'] =0;
}
$res = $Aggregate->where("id='{$id}'")->save($v);
if(empty($res)){
return false;
}
}
}else{
$savedata = [
"create_time"=>time(),
"admin_name"=>$_SESSION['onethink_admin']['user_auth']['username'],
"admin_id"=>$_SESSION['onethink_admin']['user_auth']['uid'],
"verify_status"=>0,
"statement_info"=>json_encode([],JSON_UNESCAPED_UNICODE),
"ratio_money"=>0,
"pay_money"=>0
];
$first_party_info = json_decode($info['first_party_info'], 1);
if($first_party_info['partner'] == $info['channel_name']){
$savedata['second_party_info'] = $info['first_party_info'];
$savedata['first_party_info'] = $info['second_party_info'];
$savedata['pay_type'] =0;
}
public function updateAggregateFinanceData($id)
{
//获取基础信息
$Aggregate = M("aggregate_statement","tab_");
$info = $Aggregate->where("id='{$id}'")->find();
$sign = md5($info['begintime'].$info['endtime'].$info['withdraw_type'].$this->token);
$arr = [
"begintime"=>$info['begintime'],
"endtime"=>$info['endtime'],
"type"=>$info['withdraw_type'],
"sign"=>$sign,
"channel_id"=>$info['channel_id']
];
$dataurl .= $this->apihost."&".http_build_query($arr);
$html = file_get_contents($dataurl);
$rsp = json_decode($html,true);
if($rsp['code'] != 1){
echo $rsp['error'].PHP_EOL;die;
}
//更新信息
$begintimestr = date("Y-m-d",$info['begintime']);
$endtimestr = date("Y-m-d",$info['endtime']);
$res = $Aggregate->where("id='{$id}'")->save($savedata);
if(empty($res)){
return false;
}
}
return true;
}
if($rsp['count'] > 0){
//插入数据
foreach ($rsp['data'] as $k => $v) {
foreach ($v["game_list"] as $ke => &$va) {
$va['begintime'] = $begintimestr;
$va['endtime'] = $endtimestr;
$va['fax_ratio'] = 0;
}
$v["statement_info"] = json_encode($v["game_list"],JSON_UNESCAPED_UNICODE);
unset($v["game_list"]);
$v['create_time'] = time();
$v['admin_name'] = $_SESSION['onethink_admin']['user_auth']['username'];
$v['admin_id'] = $_SESSION['onethink_admin']['user_auth']['uid'];
$v['verify_status'] = 0;
// $first_party_info = json_decode($info['first_party_info'], 1);
// if($first_party_info['partner'] == $info['channel_name']){
$v['second_party_info'] =
json_encode([
"partner"=>$v['channel_name'],
"invoice_type"=>$v['invoice_type'],
"invoice_item"=>$v['invoice_item'],
"company_tax_no"=>$v['tax_identification_number'],
"link_man"=>$v['connection_person'],
"link_phone"=>$v['phone'],
"address"=>$v['send_address'],
"register_address"=>$v['register_address'],
"register_phone"=>$v['register_phone'],
"payee_name"=>$v['bank_user'],
"bank_account"=>$v['bank_card'],
"opening_bank"=>$v['bank_name'],
],JSON_UNESCAPED_UNICODE);
$v['first_party_info'] = '';
$v['pay_type'] =0;
// } else {
// $v['second_party_info'] =
// json_encode([
// "partner"=>$v['channel_name'],
// "invoice_type"=>$v['invoice_type'],
// "invoice_item"=>$v['invoice_item'],
// "company_tax_no"=>$v['tax_identification_number'],
// "link_man"=>$v['connection_person'],
// "link_phone"=>$v['phone'],
// "address"=>$v['send_address'],
// "register_address"=>$v['register_address'],
// "register_phone"=>$v['register_phone'],
// "payee_name"=>$v['bank_user'],
// "bank_account"=>$v['bank_card'],
// "opening_bank"=>$v['bank_name'],
// ],JSON_UNESCAPED_UNICODE);
//
// $v['pay_type'] =1;
// }
$res = $Aggregate->where("id='{$id}'")->save($v);
if(empty($res)){
return false;
}
}
}else{
$savedata = [
"create_time"=>time(),
"admin_name"=>$_SESSION['onethink_admin']['user_auth']['username'],
"admin_id"=>$_SESSION['onethink_admin']['user_auth']['uid'],
"verify_status"=>0,
"statement_info"=>json_encode([],JSON_UNESCAPED_UNICODE),
"ratio_money"=>0,
"pay_money"=>0
];
$first_party_info = json_decode($info['first_party_info'], 1);
if($first_party_info['partner'] == $info['channel_name']){
$savedata['second_party_info'] = $info['first_party_info'];
$savedata['first_party_info'] = $info['second_party_info'];
$savedata['pay_type'] =0;
}
$res = $Aggregate->where("id='{$id}'")->save($savedata);
if(empty($res)){
return false;
}
}
return true;
}
}

@ -532,9 +532,9 @@ class AggregateFinanceStatementController extends ThinkController
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
date_default_timezone_set('Asia/Shanghai');
Vendor("PHPExcel.PHPExcel");
$objPHPExcel = new \PHPExcel();
@ -543,7 +543,7 @@ class AggregateFinanceStatementController extends ThinkController
$objPHPExcel = $objReader->load("Public/Admin/excel/aggregate_stream.xls");
$statement_begin_time = date('Y.m.d', $data['begintime']);//对账开始时间
$statement_end_time = date('Y.m.d',$data['endtime']);//对账截止时间
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->setCellValue('A1', "《 {$data['channel_name']} 》结算单\n{$statement_begin_time}-{$statement_end_time}");
if ($data['withdraw_type'] == '2') {
@ -576,17 +576,33 @@ class AggregateFinanceStatementController extends ThinkController
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+3), $data['first_party_info']['partner']);//甲方
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+4), $data['first_party_info']['link_man']);//联系人
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+5), $data['first_party_info']['link_phone']);//联系电话
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+6), $data['second_party_info']['invoice_item']);//开票项目
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+7), $data['second_party_info']['invoice_type']);//发票类型
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+6), $data['first_party_info']['address']);//邮寄地址
// $objPHPExcel->getActiveSheet()->setCellValue('B'.($line+7), $data['second_party_info']['invoice_type']);//发票类型
//乙方信息
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+3), $data['second_party_info']['partner']);//乙方
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+4), $data['second_party_info']['link_man']);//联系人
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+5), $data['second_party_info']['link_phone']);//联系电话
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+6), $data['second_party_info']['address']);//邮寄地址
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+8), $data['pay_company']['payee_name']);//户名
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+9), $data['pay_company']['bank_account']);//银行账号
$objPHPExcel->getActiveSheet()->setCellValue('E'.($line+10), $data['pay_company']['opening_bank']);//开户行
//开票信息
$invoice_data = "发票类型:".$data['second_party_info']['invoice_type'];
$invoice_data .= "\n发票抬头".$data['second_party_info']['partner'];
$invoice_data .= "\n纳税人识别号".$data['second_party_info']['company_tax_no'];
$invoice_data .= "\n开户银行".$data['second_party_info']['opening_bank'];
$invoice_data .= "\n开户账号".$data['second_party_info']['payee_name'];
$invoice_data .= "\n开票内容".$data['second_party_info']['invoice_item'];
$invoice_data .= "\n注册地址及电话".$data['second_party_info']['register_address'].",".$data['second_party_info']['register_phone'];
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+7), $invoice_data);//乙方
$first_data = "户名:{$data['pay_company']['payee_name']}";
$first_data .= "\n账号{$data['pay_company']['bank_account']}";
$first_data .= "\n开户行{$data['pay_company']['opening_bank']}";
$objPHPExcel->getActiveSheet()->setCellValue('B'.($line+8), $first_data);//户名
// $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+8), $data['pay_company']['payee_name']);//户名
// $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+9), $data['pay_company']['bank_account']);//银行账号
// $objPHPExcel->getActiveSheet()->setCellValue('E'.($line+10), $data['pay_company']['opening_bank']);//开户行
if($data['withdraw_type'] == 1){
$m = date('Y.m', $data['begintime']);
$fileName = "{$data['second_party_info']['partner']}&{$data['first_party_info']['partner']}-对账单{$m}";
@ -598,7 +614,7 @@ class AggregateFinanceStatementController extends ThinkController
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $fileName .'".xls');
header("Content-Disposition:attachment;filename={$fileName}.xls");//attachment新窗口打印inline本窗口打印
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
$objWriter->save('php://output');
}
//获取权限
public function getAuth()

@ -72,7 +72,7 @@ class CompanyGameRatioController extends AdminController
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end})";
$where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time >0 AND end_time = 0)";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$where["_string"] = "end_time >= {$time_start} OR end_time = 0";
@ -107,47 +107,27 @@ class CompanyGameRatioController extends AdminController
}
$v['settlement_type'] = $this->SettlementType[$v['settlement_type']];
//新
$thisTurnoverRatios = $v['turnover_ratio'] ? json_decode($v['turnover_ratio'], true) : [];
$thisRatioDtl = "默认:{$v['ratio']}%";
if ($thisTurnoverRatios) {
foreach ($thisTurnoverRatios as $thisTurnoverRatio) {
$thisIntervalClosedStatusText = isset($thisTurnoverRatio['instanceof']) ? ($thisTurnoverRatio['instanceof'] == 1 ? '≥' : '>') : '≥';
$thisRatioDtl .= "{$symbol}月流水{$thisIntervalClosedStatusText}{$thisTurnoverRatio['turnover']},比例:{$thisTurnoverRatio['ratio']}%";
}
}
$v['turnover_ratio_str'] = $thisRatioDtl;
$this->readTurnoverRatio($v);
$v['oplist'] = $this->OpAuth($v);
}
$this->assign('data', $dbres);
if(isset($_REQUEST['export'])){
$GetData = $_GET;
unset($GetData['export']);
addOperationLog(['op_type'=>3,'key'=>getNowDate(),"op_name"=>"导出",'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME,$GetData)]);
data2csv($dbres,'推广游戏分成管理',array(
"company_name"=>"公司名称",
"company_belong"=>"内外团",
"settlement_type"=>"结算周期",
"game_type_name"=>"游戏类型",
"original_package_name"=>"原游戏名称",
"relation_game_name"=>"现游戏名称",
"valid"=>"生效时间",
"turnover_ratio_str"=>"分成比例"
));
$this->display("export");
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'];
$this->assign('data', $dbres);
$page = set_pagination($count, $row,$params);
if($page) {
$this->assign('_page', $page);
}
$this->assign("companyList",D("PromoteCompany")->getList());
$this->assign("gameList",D("Game")->getRelationGameLits());
$this->assign("SettlementType",$this->SettlementType);
@ -203,7 +183,7 @@ class CompanyGameRatioController extends AdminController
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end})";
$where["_string"] = "(begin_time BETWEEN {$time_start} AND {$time_end}) OR (end_time BETWEEN {$time_start} AND {$time_end}) OR (begin_time <= {$time_end} AND end_time >= {$time_end}) OR (begin_time >0 AND end_time = 0)";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$where["_string"] = "end_time >= {$time_start} OR end_time = 0";
@ -295,7 +275,7 @@ class CompanyGameRatioController extends AdminController
unset($GetData['export']);
addOperationLog(['op_type'=>3,'key'=>getNowDate(),"op_name"=>"导出",'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME,$GetData)]);
data2csv($dbres,'推广游戏分成管理',array(
data2csv($dbres,'特殊比例申请管理',array(
"company_name"=>"公司名称",
"company_belong"=>"内外团",
"settlement_type"=>"结算周期",
@ -572,7 +552,7 @@ class CompanyGameRatioController extends AdminController
{
$addurl = U("addRatio");
$mentBtn = [
"addRatio"=>"<a class='butn' href='{$addurl}'>新增推广游戏分成</a>",
"addRatio"=>"<a class='butn' href='{$addurl}'>新增特殊比例</a>",
"marketAgree"=>"<a class='butn' id='marketAgree'>市场部审批通过</a>",
"marketRefuse"=>"<a class='butn' id='marketRefuse' style='background-color: red;'>市场部审核拒绝</a>",
"adminAgree"=>"<a class='butn' id='adminAgree'>管理员审核通过</a>",
@ -748,6 +728,29 @@ 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'];
}else{
$t['name']="月流水>".$va['turnover'];
}
}else{
$t['name']="月流水≥".$va['turnover'];
}
$v['turnover_ratio'][]=$t;
}
$v['row'] = count($v['turnover_ratio']);
}
}

@ -61,16 +61,18 @@ class CompanyRelationController extends AdminController
$params = I('get.');
$page = $params['p'] ? intval($params['p']) : 1;
$row = $params['row'] ? intval($params['row']) : 10;
//权限分配
if(!IS_ROOT){
$this->OpAuthList= getModuleControllerAuth();
}
$where['_string'] = '1 = 1';
if(isset($params['company_type'])){
$where['_string'] .= " AND (first_company_type='{$params['company_type']}' OR second_company_type='{$params['company_type']}')";
}
if(isset($params['company_id'])){
$where['_string'] .= " AND (first_company_id='{$params['company_id']}' OR second_company_id='{$params['company_id']}')";
}
if(isset($params['company_type']) && isset($params['company_id'])){
unset($where['_string']);
$where['_string'] .= " (first_company_id='{$params['company_id']}' AND first_company_type='{$params['company_type']}') OR (second_company_id='{$params['company_id']}' AND second_company_type='{$params['company_type']}')";
if(isset($params['company_name'])){
$where['_string'] .= " AND (first_company_name LIKE '%{$params['company_name']}%' OR second_company_name LIKE '%{$params['company_name']}%')";
}
if(isset($params['settlement_type'])){
@ -83,7 +85,6 @@ class CompanyRelationController extends AdminController
$where['is_payment'] = $params['is_payment'];
}
// $this->checkListOrCountAuthRestMap($where);//导出权限
$dbres = $this->DBModel->where($where)->order("id desc");;
if(isset($params['export'])){
$dbres = $dbres->select();
@ -97,6 +98,7 @@ class CompanyRelationController extends AdminController
$v['invoice_type'] =$this->InvoiceType[$v['invoice_type']];
$v['is_payment'] =$this->IsPayment[$v['is_payment']];
$v['collection'] =$this->Collection[$v['collection']];
$v['oplist'] = $this->listOpAuth($v);
}
if(isset($_REQUEST['export'])){
@ -127,6 +129,7 @@ class CompanyRelationController extends AdminController
$this->assign('CompanyType',$this->CompanyType);
$this->assign('InvoiceType',$this->InvoiceType);
$this->assign('IsPayment',$this->IsPayment);
$this->assign('menubtn',$this->listMenuAuth());
$this->display();
}
//审核列表
@ -143,13 +146,8 @@ class CompanyRelationController extends AdminController
if(isset($params['company_type'])){
$where['_string'] .= " AND (first_company_type='{$params['company_type']}' OR second_company_type='{$params['company_type']}')";
}
if(isset($params['company_id'])){
$where['_string'] .= " AND (first_company_id='{$params['company_id']}' OR second_company_id='{$params['company_id']}')";
}
if(isset($params['company_type']) && isset($params['company_id'])){
unset($where['_string']);
$where['_string'] .= " (first_company_id='{$params['company_id']}' AND first_company_type='{$params['company_type']}') OR (second_company_id='{$params['company_id']}' AND second_company_type='{$params['company_type']}')";
if(isset($params['company_name'])){
$where['_string'] .= " AND (first_company_name LIKE '%{$params['company_name']}%' OR second_company_name LIKE '%{$params['company_name']}%')";
}
if(isset($params['settlement_type'])){
@ -364,30 +362,50 @@ class CompanyRelationController extends AdminController
}
$params['remark'] = $params['remark'] ?? '';
$params['status'] = 0;
$params['verify_log']=json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]);
//判断已有未审核
$where = "
(
(first_company_type ='{$params['first_company_type']}' and first_company_id = '{$params['first_company_id']}')
OR
(first_company_type ='{$params['second_company_type']}' and first_company_id = '{$params['second_company_id']}')
)
AND
(
(second_company_type ='{$params['first_company_type']}' and second_company_id = '{$params['first_company_id']}')
$verify_log = [
"create_user"=>$this->admininfo["username"],
"create_time"=>date("Y-m-d H:i:s")
];
if($params['first_company_type'] == 1 || $params['second_company_type'] == 1){
//上游公司
$verify_log['market_user']= "AUTO";
$verify_log['market_time']= date("Y-m-d H:i:s");
$params['status'] = 1;
}
$params['verify_log']=json_encode($verify_log);
//判断哪方是非官方
if($params['first_company_type'] > 0){
$where = "
(first_company_type ='{$params['first_company_type']}' and first_company_id = '{$params['first_company_id']}')
OR
(second_company_type ='{$params['first_company_type']}' and second_company_id = '{$params['first_company_id']}')
";
}else{
$where = "
(first_company_type ='{$params['second_company_type']}' and first_company_id = '{$params['second_company_id']}')
OR
(second_company_type ='{$params['second_company_type']}' and second_company_id = '{$params['second_company_id']}')
)
AND
status < 2
";
$hasdb = $this->DBlogModel->field("count(id) count")->where($where)->find()['count'];
if($hasdb > 0){
$this->error('当前甲乙双方已有审批单,请直接搜索后修改');
";
}
$r_res = $this->DBModel->where($where)->find();
if(!empty($r_res)){
$this->error('当前合作方已有绑定关系');
}
$id = $this->DBlogModel->add($params);
addOperationLog(['op_type'=>0,'key'=>$id,'op_name'=>'新增','url'=>U('lists')]);
$this->ajaxReturn(["msg"=>"添加成功","code"=>1,"url"=>U("lists")]);
$hasdb = $this->DBlogModel->where($where)->find();
if(!empty($hasdb)){
//覆盖
$params['id'] = $hasdb['id'];
$this->DBlogModel->save($params);
$id = $hasdb['id'];
}else{
//新增
$id = $this->DBlogModel->add($params);
}
addOperationLog(['op_type'=>0,'key'=>$id,'op_name'=>'新增','url'=>U('index')]);
$this->ajaxReturn(["msg"=>"添加成功,请联系管理员尽快审核","code"=>1,"url"=>U("index")]);
} else {
$this->assign('defaultCompanyTypeA', self::COMPANY_TYPE_DEFAULT_A);
@ -396,29 +414,103 @@ class CompanyRelationController extends AdminController
$this->display();
}
}
public function editRelation()
// public function editRelation()
// {
// if ($_POST) {
// $p= I('post.');
// if(!isset($p['id'])){
// $this->error('参数错误');
// }
// //查询
// $y = $this->DBlogModel->where("id='{$p['id']}'")->find();
// $p['remark'] = $p['remark'] ?? '';
// if($y['settlement_type'] != $p['settlement_type'] || $y['invoice_type'] != $p['invoice_type'] || $y['invoice_content'] != $p['invoice_content'] || $y['is_payment'] != $p['is_payment'] || $y['collection'] != $p['collection']){
// $p['status'] = 0;
// $p['verify_log'] = json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]);
// }
// $this->DBlogModel->save($p);
// addOperationLog(['op_type'=>1,'key'=>$p['id'],'op_name'=>'修改','url'=>U('lists')]);
// $this->ajaxReturn(["msg"=>"修改成功","code"=>1,"url"=>U("lists")]);
// } else {
// $params = I('get.');
// $id = $params['id'] ?? 0;
// $id = intval($id);
// $map['id'] = $id;
// $dbres = $this->DBlogModel->where($map)->find();
// $this->assign('first_company_info',$this->getCompanyInfo($dbres['first_company_type'],$dbres['first_company_id']));
// $this->assign('second_company_info',$this->getCompanyInfo($dbres['second_company_type'],$dbres['second_company_id']));
// $dbres['first_company_type'] =$this->CompanyType[$dbres['first_company_type']];
// $dbres['second_company_type'] =$this->CompanyType[$dbres['second_company_type']];
// $this->assign('data', $dbres);
// $this->display();
// }
// }
public function edit()
{
if ($_POST) {
$p= I('post.');
if(!isset($p['id'])){
$this->error('参数错误');
}
//查询
$y = $this->DBlogModel->where("id='{$p['id']}'")->find();
$p['remark'] = $p['remark'] ?? '';
$y = $this->DBModel->where("id='{$p['id']}'")->find();
if($y['settlement_type'] != $p['settlement_type'] || $y['invoice_type'] != $p['invoice_type'] || $y['invoice_content'] != $p['invoice_content'] || $y['is_payment'] != $p['is_payment'] || $y['collection'] != $p['collection']){
//修改了进行审核
$p['status'] = 0;
$p['verify_log'] = json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]);
$verify_log = [
"create_user"=>$this->admininfo["username"],
"create_time"=>date("Y-m-d H:i:s")
];
if($y['first_company_type'] == 1 || $y['second_company_type'] == 1){
//上游公司
$verify_log['market_user']= "AUTO";
$verify_log['market_time']= date("Y-m-d H:i:s");
$p['status'] = 1;
}
$p['verify_log'] = json_encode($verify_log);
//其他信息
$p['first_company_id'] = $y['first_company_id'];
$p['first_company_name'] = $y['first_company_name'];
$p['first_company_type'] = $y['first_company_type'];
$p['second_company_id'] = $y['second_company_id'];
$p['second_company_name'] = $y['second_company_name'];
$p['second_company_type'] = $y['second_company_type'];
}
if($p['first_company_type'] > 0){
$where = "
(first_company_type ='{$p['first_company_type']}' and first_company_id = '{$p['first_company_id']}')
OR
(second_company_type ='{$p['first_company_type']}' and second_company_id = '{$p['first_company_id']}')
";
}else{
$where = "
(first_company_type ='{$p['second_company_type']}' and first_company_id = '{$p['second_company_id']}')
OR
(second_company_type ='{$p['second_company_type']}' and second_company_id = '{$p['second_company_id']}')
";
}
$this->DBlogModel->save($p);
addOperationLog(['op_type'=>1,'key'=>$p['id'],'op_name'=>'修改','url'=>U('lists')]);
$this->ajaxReturn(["msg"=>"修改成功","code"=>1,"url"=>U("lists")]);
$hasdb = $this->DBlogModel->where($where)->find();
if(!empty($hasdb)){
//覆盖
$p['id'] = $hasdb['id'];
$this->DBlogModel->save($p);
$id = $hasdb['id'];
}else{
//新增
$id = $this->DBlogModel->add($p);
}
addOperationLog(['op_type'=>1,'key'=>$p['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['id'] = $id;
$dbres = $this->DBlogModel->where($map)->find();
$dbres = $this->DBModel->where($map)->find();
$this->assign('first_company_info',$this->getCompanyInfo($dbres['first_company_type'],$dbres['first_company_id']));
$this->assign('second_company_info',$this->getCompanyInfo($dbres['second_company_type'],$dbres['second_company_id']));
@ -429,6 +521,22 @@ class CompanyRelationController extends AdminController
$this->display();
}
}
public function del()
{
if(!isset($_REQUEST['id'])){
$this->error('参数错误');
}
$id = $_REQUEST['id'];
$res = $this->DBModel->where("id='{$id}'")->delete();
if($res !== false){
addOperationLog(['op_type'=>2,'key'=>$id,'op_name'=>'删除','url'=>U('index')]);
$this->ajaxReturn(["msg"=>"删除成功","code"=>1,"url"=>U("index")]);
}else{
$this->error('删除错误');
}
}
public function delRelation()
{
if(!isset($_REQUEST['id'])){
@ -500,11 +608,50 @@ class CompanyRelationController extends AdminController
}
return $companyInfo;
}
public function menuAuth()
{
protected function listMenuAuth(){
$addurl = U("addRelation");
$mentBtn = [
"addRelation"=>"<a class='butn' href='{$addurl}'>新增公司绑定</a>",
"addRelation"=>"<a class='butn' href='{$addurl}'>新增公司绑定</a>"
];
$resarr = [];
foreach ($mentBtn as $k => $v) {
if(IS_ROOT){
$resarr[] = $v;
}else{
if(in_array($k,$this->OpAuthList)){
$resarr[] = $v;
}
}
}
return $resarr;
}
protected function listOpAuth($info){
$id = $info['id'];
//原始列表
$opBtn = [
"edit"=>"<a class='confirm edit' data-id='{$id}'>编辑</a>",
"del"=>"<a class='confirm del' data-id='{$id}' style='color: red;'>删除</a>",
];
//操作对应菜单
$optist = ["edit","del"];
$resarr = [];
foreach ($optist as $k => $v) {
if(IS_ROOT){
$resarr[] = $opBtn[$v];
}else{
if(in_array($v,$this->OpAuthList)){
$resarr[] = $opBtn[$v];
}
}
}
return $resarr;
}
protected function menuAuth()
{
$mentBtn = [
"marketAgree"=>"<a class='butn' id='marketAgree'>市场部审批通过</a>",
"marketRefuse"=>"<a class='butn' id='marketRefuse' style='background-color: red;'>市场部审核拒绝</a>",
"adminAgree"=>"<a class='butn' id='adminAgree'>管理员审核通过</a>",
@ -522,7 +669,7 @@ class CompanyRelationController extends AdminController
}
return $resarr;
}
public function OpAuth($info)
protected function OpAuth($info)
{
$id = $info['id'];
//原始列表
@ -535,7 +682,7 @@ class CompanyRelationController extends AdminController
if($info['status'] == 2){
$optist = [];
}else{
$optist = ["editRelation","delRelation"];
$optist = ["delRelation"];
}
//
$resarr = [];
@ -551,7 +698,7 @@ class CompanyRelationController extends AdminController
return $resarr;
}
public function error($data)
protected function error($data)
{
header('Content-Type:application/json; charset=utf-8');
$data =json_encode(['msg'=>$data,"code"=>4000],JSON_UNESCAPED_UNICODE);

@ -19,13 +19,18 @@ class CompanyStatementController extends ThinkController
"9"=>"上游"
];
public $VerifyStatus=[
"-2"=>"汇总撤销",
"-1"=>"审批拒绝",
"-3"=>"撤销汇总",
"-2"=>"审核拒绝",
"-1"=>"管理员审批拒绝",
"0"=>"未审批",
"1"=>"审核通过",
"2"=>"对外发起",
"3"=>"合作确认",
"4"=>"已汇总"
"1"=>"管理员审核通过",
"2"=>"审核通过",
"3"=>"已汇总"
];
public $ConfirmStatus=[
"0"=>"未发起",
"1"=>"已发起",
"2"=>"已确认"
];
public $admininfo;
public $DBModel;
@ -106,18 +111,25 @@ class CompanyStatementController extends ThinkController
if(isset($_REQUEST['company_belong'])){
$map['company_belong'] = $_REQUEST['company_belong'];
}
if(isset($_REQUEST['company_id'])){
$map['company_id'] = $_REQUEST['company_id'];
}
if(isset($_REQUEST['company_name'])){
$map['company_name'] =["LIKE","%{$_REQUEST['company_name']}%"];
}
if(isset($_REQUEST['verify_status'])){
$map['verify_status'] = $_REQUEST['verify_status'];
}
if(isset($_REQUEST['confirm_status'])){
$map['confirm_status'] = $_REQUEST['confirm_status'];
}
// $this->checkListOrCountAuthRestMap($map);//导出权限
//条件end
$data = M("company_statement","tab_")
->field("id,withdraw_type,company_name,company_belong,statement_begin_time,statement_end_time,statement_money,platform_amount,verify_status,verify_log,op_time,remark")
->field("id,withdraw_type,company_name,company_belong,statement_begin_time,statement_end_time,statement_money,platform_amount,verify_status,verify_log,confirm_status,confirm_log,op_time,remark")
->where($map)
->order("FIELD(verify_status,0,1,-1,2,3,-2,4,5),id desc")->page($page,$row)->select();
->order("FIELD(verify_status,0,1,-1,2,3,-2,-3),id desc")->page($page,$row)->select();
foreach($data as $k => &$v) {
$v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']);
@ -132,14 +144,26 @@ class CompanyStatementController extends ThinkController
$v['withdraw_type_2'] = ($v['withdraw_type'] == 2 ? "补点" :"正常结算");
$v['verify_log'] = json_decode($v['verify_log'], true);
$v['confirm_log'] = json_decode($v['confirm_log'], true);
if (isset($params['export'])) {
$symbol = "\n";
} else {
$symbol = "<br>";
}
$v["create"]= "{$v['verify_log']['create_user']} {$symbol} {$v['verify_log']['create_time']}";
if(isset($v['verify_log']['verify_user'])){
if(isset($v['verify_log']['admin_user'])){
if($v['verify_status'] == -1){
$ts = "管理员审核拒绝";
}else{
$ts = "管理员审核通过";
}
$v["admin"]= "{$ts}({$v['verify_log']['admin_user']}) {$symbol} {$v['verify_log']['admin_time']}";
}else{
$v["admin"] = '--';
}
if(isset($v['verify_log']['verify_user'])){
if($v['verify_status'] == -2){
$ts = "审核拒绝";
}else{
$ts = "审核通过";
@ -149,21 +173,21 @@ class CompanyStatementController extends ThinkController
$v["verify"] = '--';
}
if(isset($v['verify_log']['launch_user'])){
if(isset($v['confirm_log']['launch_user'])){
$ts = "已发起";
$v["launch"]= "{$ts}({$v['verify_log']['launch_user']}) {$symbol} {$v['verify_log']['launch_time']}";
$v["launch"]= "{$ts}({$v['confirm_log']['launch_user']}) {$symbol} {$v['confirm_log']['launch_time']}";
}else{
$v["launch"] = '--';
}
if(isset($v['verify_log']['confirm_user'])){
if(isset($v['confirm_log']['confirm_user'])){
$ts = "已确认";
$v["confirm"]= "{$ts}({$v['verify_log']['confirm_user']}) {$symbol} {$v['verify_log']['confirm_time']}";
$v["confirm"]= "{$ts}({$v['confirm_log']['confirm_user']}) {$symbol} {$v['confirm_log']['confirm_time']}";
}else{
$v["confirm"] = '--';
}
if(isset($v['verify_log']['pool_user'])){
if($v['verify_status'] == -2){
if($v['verify_status'] == -3){
$ts = "撤销汇总";
$v["pool"]= "{$ts}({$v['verify_log']['pool_user']}){$symbol} {$v['verify_log']['pool_time']}";
}else{
@ -190,6 +214,7 @@ class CompanyStatementController extends ThinkController
$this->assign('CompanyType',$this->CompanyType);
$this->assign('CompanyBelong',$this->CompanyBelong);
$this->assign('VerifyStatus',$this->VerifyStatus);
$this->assign('ConfirmStatus',$this->ConfirmStatus);
$this->display();
}
@ -296,15 +321,40 @@ class CompanyStatementController extends ThinkController
}
}
//审批通过
public function adminAgree(){
$this->setVerifyStatus(0,1,"admin");
}
public function adminRefuse(){
$this->setVerifyStatus(0,-1,"admin");
}
public function verifyAgree(){
$this->setVerifyStatus(0,1,"verify");
$this->setVerifyStatus(1,2,"verify");
}
public function verifyRefuse(){
$this->setVerifyStatus(0,-1,"verify");
$this->setVerifyStatus(1,-2,"verify");
}
public function launch(){
$this->setVerifyStatus(1,2,"launch");
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
$ids = $_REQUEST['ids'];
$dbres = $this->DBModel->field("id,confirm_status,confirm_log")->where("id in ({$ids})")->select();
foreach($dbres as $k=>&$v){
if($v['confirm_status'] != 0) continue;
$v['confirm_log'] = json_decode($v['confirm_log'],true);
$v['confirm_log']['launch_user']=$this->admininfo["username"];
$v['confirm_log']['launch_time']=date("Y-m-d H:i:s");
$v['confirm_log'] = json_encode($v['confirm_log']);
$v['confirm_status']=1;
// $v['op_time'] = time();
$this->DBModel->save($v);
addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>"发起确认",'url'=>U('lists')]);
}
$this->ajaxReturn(array(
'status' => 1,
"info"=>"对外发起成功"
));
}
protected function setVerifyStatus($old_status,$change_status,$op_pre)
{
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
@ -457,7 +507,7 @@ class CompanyStatementController extends ThinkController
}
foreach ($dbres as $k=>$v) {
if($v['verify_status'] != 3) continue;
if($v['verify_status'] != 2) continue;
if($v['company_belong'] == 9){
//上游
if($v['is_payment'] == 1){
@ -498,7 +548,12 @@ class CompanyStatementController extends ThinkController
$v['verify_status'] = 5;
$v['verify_log'] = json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s"),"verify_user"=>"system","verify_time"=>date("Y-m-d H:i:s"),"payment_user"=>"system","payment_time"=>date("Y-m-d H:i:s")]);
}
//判断周月结
if(($v["statement_end_time"]-$v['statement_begin_time']) > 7*24*3600){
$v["withdraw_type"] = 1;
}else{
$v["withdraw_type"] = 0;
}
$pool_id = $Pool->add($v);
if($pool_id == false){
$this->ajaxReturn(array('status' => 0,"info"=>"汇总失败"));
@ -511,7 +566,7 @@ class CompanyStatementController extends ThinkController
M("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]);
}
//修改结算单规则
$this->updatePoolVerifyStatus($v['statement_ids'],3,4,"pool",$v['statement_num']);
$this->updatePoolVerifyStatus($v['statement_ids'],2,3,"pool",$v['statement_num']);
}
$this->ajaxReturn(array(
'status' => 1,
@ -838,9 +893,6 @@ class CompanyStatementController extends ThinkController
case '3':
$optist = ["viewStatement","addRemark","viewRemark","editRemark"];
break;
case '4':
$optist = ["viewStatement","addRemark","viewRemark","editRemark"];
break;
default:
break;
}
@ -866,13 +918,15 @@ class CompanyStatementController extends ThinkController
public function menuAuth()
{
$mentBtn = [
"adminAgree"=>"<a class='butn' id='adminAgree'>管理员审核通过</a>",
"adminRefuse"=>"<a class='butn' id='adminRefuse' style='background-color: red;'>管理员审核拒绝</a>",
"verifyAgree"=>"<a class='butn' id='verifyAgree'>审批通过</a>",
"verifyRefuse"=>"<a class='butn' id='verifyRefuse' style='background-color: red;'>审核拒绝</a>",
"launch"=>"<a class='butn' id='launch'>对外发起</a>",
"pool"=>"<a class='butn' id='pool'>发起汇总</a>",
"updateStatement"=>"<a class='butn' id='updateStatement' style='background-color: green;'>重算金额</a>",
"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>",
];
$resarr = [];
foreach ($mentBtn as $k => $v) {

@ -41,7 +41,7 @@ class CompanyStatementLackController extends ThinkController
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "(statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (statement_end_time BETWEEN {$time_start} AND {$time_end})";
$map["_string"] = "(statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (statement_end_time BETWEEN {$time_start} AND {$time_end}) OR (statement_begin_time <= {$time_end} AND statement_end_time >= {$time_end})";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$map["_string"] = "(statement_begin_time >= {$time_start} ) OR (statement_end_time >= {$time_start})";
@ -54,10 +54,12 @@ class CompanyStatementLackController extends ThinkController
if(isset($_REQUEST['company_type'])){
$map['company_type'] = $_REQUEST['company_type'];
}
if(isset($_REQUEST['company_id'])){
$map['company_id'] = $_REQUEST['company_id'];
if(isset($_REQUEST['company_name'])){
$map['company_name'] =["LIKE","%{$_REQUEST['company_id']}%"];
}
if(isset($_REQUEST['statement_pool_num'])){
$map['statement_pool_num'] =["LIKE","%{$_REQUEST['statement_pool_num']}%"];
}
if(isset($_REQUEST['is_payment'])){
$map['is_payment'] = $_REQUEST['is_payment'];
}

@ -16,7 +16,11 @@ class CompanyStatementPoolController extends ThinkController
"1"=>"是",
"2"=>"否"
];
public $WithdrawType = [
"0"=>"周结",
"1"=>"月结",
"2"=>"下游个人补点"
];
public $VerifyStatus=[
"-2"=>"拒绝打款",
"-1"=>"审批拒绝",
@ -63,7 +67,7 @@ class CompanyStatementPoolController extends ThinkController
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
$time_start = strtotime($_REQUEST['time_start']);
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "(statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (statement_end_time BETWEEN {$time_start} AND {$time_end})";
$map["_string"] = "(statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (statement_end_time BETWEEN {$time_start} AND {$time_end}) OR (statement_begin_time <= {$time_end} AND statement_end_time >= {$time_end})";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$map["_string"] = "(statement_begin_time >= {$time_start} ) OR (statement_end_time >= {$time_start})";
@ -94,6 +98,9 @@ class CompanyStatementPoolController extends ThinkController
if(isset($_REQUEST['is_payment'])){
$map['is_payment'] = $_REQUEST['is_payment'];
}
if(isset($_REQUEST['withdraw_type'])){
$map['withdraw_type'] = $_REQUEST['withdraw_type'];
}
// $this->checkListOrCountAuthRestMap($map);//导出权限
@ -111,11 +118,15 @@ 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['statement_money'] == 0 ? "0" : '1';
if($v['company_type'] == 2){
$v['can_export'] = 1;
}
$v['op_time'] = date('Y-m-d H:i:s',$v['op_time']);
$v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}";
$v['ext_file_type'] = empty($v['ext_file']) ? "无" : "有";
$v['withdraw_type'] = $this->WithdrawType[$v['withdraw_type']];;
$v['verify_log'] = json_decode($v['verify_log'], true);
if (isset($params['export'])) {
@ -177,6 +188,7 @@ class CompanyStatementPoolController extends ThinkController
$this->assign('CompanyType',$this->CompanyType);
$this->assign('IsPayment',$this->IsPayment);
$this->assign('VerifyStatus',$this->VerifyStatus);
$this->assign('WithdrawType',$this->WithdrawType);
$this->display();
}
@ -192,10 +204,12 @@ class CompanyStatementPoolController extends ThinkController
$is_export = true;
}
//获取基本信息
$infolist = M("company_statement_info","tab_")->where("pool_id = '{$id}'")->select();
$infolist = M("company_statement_info","tab_")->field("*,'1' as st")->where("pool_id = '{$id}'")->select();
//获取母单
$statement_num = M("company_statement_pool","tab_")->field('statement_num')->where("id={$id}")->find()['statement_num'];
$pool_info = M("company_statement_pool","tab_")->field('statement_num,create_lack_ids,verify_status')->where("id={$id}")->find();
$statement_num = $pool_info['statement_num'];
$this->assign("title",$statement_num);
$this->assign("pool_status",$pool_info['verify_status']);
if($infolist[0]['company_type'] == 3){
//上游
@ -204,12 +218,20 @@ class CompanyStatementPoolController extends ThinkController
//下游公司
$this->viewPcPool($infolist,$is_export);
}else{
//获取母单
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();
$infolist += $lack_info;
}
$this->viewPuPool($infolist,$is_export);
}
}
//个人汇总结算查看
public function viewPuPool(&$infolist,$is_export){
// dd($infolist);
$line = 1;
$count = [];
//获取对接人
@ -232,21 +254,33 @@ class CompanyStatementPoolController extends ThinkController
if($is_export){
//J3*(K3+L3)+M3-N3
$va['sum_money'] = "=J{$line}*(K{$line}+L{$line})+M{$line}-N{$line}";
$count['sum_money_exp'] .= "O{$line}+";
$count['platform_amount_exp'] .= "J{$line}+";
if($va['statement_type'] > 0){ //罚款服务器费用
$va['sum_money'] = "=J{$line}";
}else{
$va['sum_money'] = "=J{$line}*(K{$line}+L{$line})+M{$line}-N{$line}";
}
if($v['st'] == 1){
$count['sum_money_exp'] .= "O{$line}+";
$count['platform_amount_exp'] .= "J{$line}+";
}
}else{
$count['platform_amount'] += $va['pay_amount'];
$count['sum_money'] += $va['sum_money'];
if($v['st'] == 1){
$count['platform_amount'] += $va['pay_amount'];
$count['sum_money'] += $va['sum_money'];
}
}
}
$v['statement_count'] = count($v['statement_info']);
}
if($is_export){
$count["platform_amount"] = "=".trim($count["platform_amount_exp"],"+");
$count["sum_money"] = "=".trim($count["sum_money_exp"],"+");
$platform_amount_exp = trim($count["platform_amount_exp"],"+");
$sum_money_exp = trim($count["sum_money_exp"],"+");
if(empty($platform_amount_exp)){ $platform_amount_exp = 0;}
if(empty($sum_money_exp)){ $sum_money_exp = 0;}
$count["platform_amount"] = "=".$platform_amount_exp;
$count["sum_money"] = "=".$sum_money_exp;
}
$this->assign("data",$infolist);
$this->assign("count",$count);
@ -284,7 +318,7 @@ class CompanyStatementPoolController extends ThinkController
if($is_export){
$v['statement_money_exp'] .= "H{$line}+";
$va['d_statement_money'] = "=D{$line}*(1-G{$line})*(E{$line}+F{$line})";
$count['platform_amount_exp'] .= "D{$line}+";
@ -626,6 +660,63 @@ class CompanyStatementPoolController extends ThinkController
'info' => "删除成功"
));
}
//不结算
public function cancelStatement()
{
if(!isset($_REQUEST['id'])) $this->error("参数错误");
$id = $_REQUEST['id'];
//获取结算信息
$v = M("company_statement_info","tab_")->where("id = '{$id}'")->find();
if(empty($v)){
$this->error("请勿重复操作");
}
$pool = M("company_statement_pool","tab_")->where("id = {$v['pool_id']}")->find();
// dump($pool);
//保存未结算
$lackcompany =[
"company_id"=>$v['company_id'],
"company_type"=>$v['company_type'],
"company_name"=>$v['company_name'],
"company_info"=>$v['company_info'],
"statement_money"=>$v['statement_money'],
"pay_amount"=>$v['pay_amount'],
"platform_amount"=>$v['platform_amount'],
"fine"=>$v['fine'],
"reward"=>$v['reward'],
"statement_begin_time"=>$v['statement_begin_time'],
"statement_end_time"=>$v['statement_end_time'],
"is_payment"=>$pool['is_payment'],
"statement_pool_num"=>$pool['statement_num'],
"statement_info"=>$v['statement_info'],
];
$l_id = M("company_lack_statement_info","tab_")->add($lackcompany);
//汇总表
$pool_data = [
"id"=>$pool['id'],
'statement_money'=>$pool['statement_money']-$v['statement_money'],
'pay_amount'=>$pool['pay_amount']-$v['pay_amount'],
'fine'=>$pool['fine']-$v['fine'],
'reward'=>$pool['reward']-$v['reward'],
'lack_statement_money'=>$pool['lack_statement_money']+$v['statement_money'],
'lack_platform_amount'=>$pool['lack_platform_amount']-0+$v['platform_amount'],
'verify_status'=>0
];
//
if(empty($pool_data['create_lack_ids'])){
$pool_data['create_lack_ids'] = $l_id;
}else{
$pool_data['create_lack_ids'] = $pool_data['create_lack_ids'].",".$l_id;
}
$info_ids = explode(",",$pool['info_ids']);
$pool_data['info_ids'] =implode(",",array_diff($info_ids,[$id]));
M("company_statement_pool","tab_")->save($pool_data);
M("company_statement_info","tab_")->where("id='{$id}'")->delete();
$this->ajaxReturn(array(
'status' => 1,
"info"=>"不结算成功"
));
}
//撤销汇总
public function cancelPool(){
@ -754,10 +845,10 @@ class CompanyStatementPoolController extends ThinkController
$st_res = M("company_statement","tab_")->field("id,verify_status,verify_log")->where("id in ({$sids})")->select();
foreach($st_res as $k=>&$v){
$v['verify_log'] = json_decode($v['verify_log'],true);
$v['verify_log'][$op_pre.'_user']=$this->admininfo["username"];
$v['verify_log'][$op_pre.'_time']=date("Y-m-d H:i:s");
$v['verify_log']['pool_user']=$this->admininfo["username"];
$v['verify_log']['pool_time']=date("Y-m-d H:i:s");
$v['verify_log'] = json_encode($v['verify_log']);
$v['verify_status']=-2;
$v['verify_status']=-3;
$stres = M("company_statement","tab_")->save($v);
if($stres === false){
M()->rollback();
@ -855,7 +946,7 @@ class CompanyStatementPoolController extends ThinkController
break;
}
//
if($info['platform_amount'] <= 0){
if($info['platform_amount'] <= 0 && $info['company_type'] != 2){
$optist = array_diff($optist, ["viewPool"]);
}
//个人重算,上游撤销

@ -6,6 +6,7 @@ use Think\Controller;
/**
* 聚合渠道结算接口对接
* @author cz
* TODO: 罚款的游戏没有流水不统计补点为0 无法重算
*/
class CompanyStatementSetController extends Controller {
public $cpapihost;
@ -91,7 +92,7 @@ class CompanyStatementSetController extends Controller {
echo "∟----推广公司月结&补点统计ok".PHP_EOL;
$this->promoteUserPool(1,$stime);
// $this->promoteUserPool(2,$stime);
$this->promoteUserPool(2,$stime);
echo "∟----推广个人月结&补点统计ok".PHP_EOL;
}
}else{
@ -143,7 +144,7 @@ class CompanyStatementSetController extends Controller {
$cp_id = implode(",",array_flip(array_flip(array_keys($cpList))));
$js_id = implode(",",array_unique($js_id));
//获取cp公司
$tmpp = M("Partner","tab_")->field("id,partner,link_man,link_phone,address,company_tax_no,payee_name,bank_account,opening_bank,channel_rate,invoice_rate,company_type,ali_user,ali_account")->where(["id"=>['in',$cp_id]])->select();
$tmpp = M("Partner","tab_")->field("id,partner,link_man,link_phone,address,company_tax_no,payee_name,bank_account,opening_bank,channel_rate,invoice_rate,taxation_rate,company_type,ali_user,ali_account,has_advance_charge,has_server_fee,server_fee")->where(["id"=>['in',$cp_id]])->select();
$cp =[];
foreach ($tmpp as $v) {
$cp[$v['id']]=$v;
@ -242,9 +243,9 @@ class CompanyStatementSetController extends Controller {
$add_data['company_belong']=9;//上游
$add_data['company_type']=$cp[$add_data['company_id']]['company_type'];
$add_data['is_payment']=$v['is_payment'];
//获取渠道及发票税率
//获取渠道及税费费
$promote_ratio = $cp[$add_data['company_id']]['channel_rate'] ?? 0;
$fax_ratio = $cp[$add_data['company_id']]['invoice_rate'] ?? 0;
$fax_ratio = $cp[$add_data['company_id']]['taxation_rate'] ?? 0;
//游戏统计
if(!isset($v['list'])){continue;}
foreach($v['list'] as $ke=>$va){
@ -298,14 +299,15 @@ class CompanyStatementSetController extends Controller {
if($type < 2){
//非补点奖罚
$rrmap = array(
"reward_time" => ['between', [$begintime,$endtime]],
"confirm_time" => ['between', [$begintime,$endtime]],
"company_type"=>1,
"company_id"=>$add_data['company_id']
"company_id"=>$add_data['company_id'],
"settlement_type"=>2,
);
$rfres = M("RewardRecord","tab_")
$rfres = M("RewardDetail","tab_")
->field("
IFNULL(SUM(CASE WHEN reward_type = 1 THEN money ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN reward_type = 2 THEN money ELSE 0 END),0) as fine_count
IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine_count
")
->where($rrmap)->find();
if($rfres['reward_count'] > 0){
@ -333,7 +335,22 @@ class CompanyStatementSetController extends Controller {
);
$add_data['statement_money'] -= $fine_count;
$add_data['pay_amount'] -= $fine_count;;
}
}
//获取服务器费用
$tmp_company_info= $cp[$add_data['company_id']];
if($tmp_company_info['has_server_fee'] == 1 && $tmp_company_info['server_fee'] >0){
$server_count = $tmp_company_info['server_fee'];
$add_data['statement_info'][] = array(
"statement_begin_time"=>$statement_begin_time,
"statement_end_time"=>$statement_end_time,
'statement_type'=>1,
"game_name"=>"服务器费用",
'pay_amount'=>$server_count,
'sum_money'=>$server_count,
);
$add_data['statement_money'] -= $server_count;
$add_data['pay_amount'] -= $server_count;;
}
}
$add_data['statement_info'] = json_encode($add_data['statement_info'],JSON_UNESCAPED_UNICODE);
@ -361,7 +378,7 @@ class CompanyStatementSetController extends Controller {
{
$game_where = "partner_id in ({$cp_id})";
$game = M('game','tab_');
$gameDbRes = $game->field("id,relation_game_name as game_name,partner_id as cp_id,original_package_name")->where($game_where)->select();
$gameDbRes = $game->field("id,relation_game_name as game_name,partner_id as cp_id,original_package_name,select_package_name")->where($game_where)->select();
$gameList=[];
foreach ($gameDbRes as $k => $v) {
$gameList[$v['id']] =$v;
@ -392,7 +409,11 @@ class CompanyStatementSetController extends Controller {
if(empty($v['original_package_name'])){
$game_name = $v['game_name'];
}else{
$game_name = $v['original_package_name'];
if($v['select_package_name'] == 0){
$game_name = $v['original_package_name'];
}else{
$game_name = $v['game_name'];
}
}
$cp_id = $v['cp_id'];
unset($v['cp_id']);
@ -430,7 +451,7 @@ class CompanyStatementSetController extends Controller {
}else{
$where['settlement_type']=1;
$pcDbRes = M("CompanyRelation","tab_")->where($where)->select();
}
}
$pcList=[];
$js_id = [];//己方公司
foreach ($pcDbRes as $k => $v) {
@ -450,11 +471,25 @@ class CompanyStatementSetController extends Controller {
return ;
}
//获取pc公司
$tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,company_belong,company_type,ali_user,ali_account")
$tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,taxation_rate,company_belong,company_type,ali_user,ali_account,has_server_fee,server_fee,has_ratio,turnover_ratio")
->where(["id"=>['in',$pc_id],"company_type"=>1])
->select();
$pc =[];
$pc =[];
$Promote = M("Promote","tab_");
foreach ($tmpp as $v) {
//获取会长的支付宝账号
$p_map = [
"company_id"=>$v['id'],
"withdraw_done"=>1
];
$pres = $Promote->field("alipay_account,alipay_real_name")->where($p_map)->find();
if(!empty($pres) && !empty($pres['alipay_account']) && !empty($pres['alipay_real_name'])){
$v['ali_user'] = $pres['alipay_real_name'];
$v['ali_account'] = $pres['alipay_account'];
}
if($v['has_ratio']){
$v['turnover_ratio'] = json_decode($v['turnover_ratio'],true);
}
$pc[$v['id']]=$v;
}
@ -466,20 +501,24 @@ class CompanyStatementSetController extends Controller {
$our[$v['id']]=$v;
}
unset($tmpp);
unset($js_id);
$this->getPromoteCompanySpend($pcList,array_unique(array_keys($pcList)),$begintime,$endtime);
unset($js_id);
$this->getPromoteCompanySpend($pcList,array_unique(array_keys($pcList)),$begintime,$endtime);
// dd($pcList);
//数据整合
$verify_log=json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s")]);
$StatementDb = M("CompanyStatement","tab_");
$statement_begin_time = date("Y-m-d",$begintime);
$statement_end_time = date("Y-m-d",$endtime);
$RewardRecord = M("RewardRecord","tab_");
$RewardRecord = M("RewardDetail","tab_");
foreach($pcList as $k=>$v){
if(!isset($pc[$k])){continue;}//不存在的公司不结算
if(!isset($pc[$k])){continue;}//不存在的公司不结算
if($pc[$k]['has_ratio'] == 1){
$company_ratio = $this->getCompanyRatio($v['pay_amount'],$pc[$k]['turnover_ratio']);
}else{
$company_ratio = 0;
}
$add_data=[];
//1.获取甲乙方信息
if($v['first_company_type'] > 0){
@ -513,7 +552,7 @@ class CompanyStatementSetController extends Controller {
$add_data['statement_info'] =[];
//获取渠道及发票税率
$fax_ratio = $pc[$add_data['company_id']]['fax_ratio'] ?? 0;
$fax_ratio = $pc[$add_data['company_id']]['taxation_rate'] ?? 0; //税费费率
$company_belong = $pc[$add_data['company_id']]['company_belong'];
$add_data['company_belong']=$company_belong;
$add_data['company_type']=$pc[$add_data['company_id']]['company_type'];
@ -526,14 +565,15 @@ class CompanyStatementSetController extends Controller {
//获取比例
$game['relation_game_id']=$va['relation_game_id'];
if($type == 1){
$tratio = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);
$tratio = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);
$tratio += $company_ratio;
}elseif($type == 0){
$tratio = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],false,$company_belong);
}else{
//补点
$tratio1 = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);;
$tratio2 = getGamePromoteCompanyRadio($add_data['company_id'],$va['relation_game_id'],$endtime,$va['pay_amount'],false,$company_belong);
$tratio = $tratio1-$tratio2;
$tratio = $tratio1-$tratio2+$company_ratio;
if($tratio <= 0){ continue;}
}
@ -544,7 +584,7 @@ class CompanyStatementSetController extends Controller {
}
$add_data['pay_amount'] += $va['pay_amount'];
$game['sum_money']=round($va['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*1-渠道费)*分成比例*(1-税费费率)
$game['sum_money']=round($va['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*(分成比例+补点比例)*(1-税费费率)
$add_data['statement_money'] += $game['sum_money'];
$game['fax_ratio']=$fax_ratio;
@ -558,14 +598,15 @@ class CompanyStatementSetController extends Controller {
if($type < 2){
//非补点计算奖罚
$rrmap = array(
"reward_time" => ['between', [$begintime,$endtime]],
"confirm_time" => ['between', [$begintime,$endtime]],
"company_type"=>2,
"company_id"=>$add_data['company_id']
"company_id"=>$add_data['company_id'],
"settlement_type"=>2,
);
$rfres = M("RewardRecord","tab_")
$rfres = M("RewardDetail","tab_")
->field("
IFNULL(SUM(CASE WHEN reward_type = 1 THEN money ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN reward_type = 2 THEN money ELSE 0 END),0) as fine_count
IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine_count
")
->where($rrmap)->find();
if($rfres['reward_count'] > 0){
@ -593,7 +634,22 @@ class CompanyStatementSetController extends Controller {
);
$add_data['statement_money'] -= $fine_count;
$add_data['pay_amount'] -= $fine_count;;
}
}
//获取服务器费用
$tmp_company_info= $pc[$add_data['company_id']];
if($tmp_company_info['has_server_fee'] == 1 && $tmp_company_info['server_fee'] >0){
$server_count = $tmp_company_info['server_fee'];
$add_data['statement_info'][] = array(
"statement_begin_time"=>$statement_begin_time,
"statement_end_time"=>$statement_end_time,
'statement_type'=>1,
"game_name"=>"服务器费用",
'pay_amount'=>$server_count,
'sum_money'=>$server_count,
);
$add_data['statement_money'] -= $server_count;
$add_data['pay_amount'] -= $server_count;;
}
}
$add_data['statement_info'] = json_encode($add_data['statement_info'],JSON_UNESCAPED_UNICODE);
@ -647,7 +703,8 @@ class CompanyStatementSetController extends Controller {
"s.pay_time"=>['between', [$begintime,$endtime]],
];
for ($i=0; $i <count($idarr); $i++) {
$company_id = $idarr[$i];
$company_id = $idarr[$i];
$pres = $Promote->field("group_concat(id) ids,count(id) count")->where("company_id = '{$company_id}'")->group("company_id")->find();
if($pres['count'] ==0 ){continue;}
$spenMap['s.promote_id']=["in",$pres['ids']];
@ -657,6 +714,11 @@ class CompanyStatementSetController extends Controller {
->select();
if(empty($list)){continue;}
foreach($list as $k=>$v){
try {
$res[$company_id]["pay_amount"] += $v['pay_amount'];
} catch (\Throwable $th) {
$res[$company_id]["pay_amount"] = $v['pay_amount'];
}
if(isset($res[$company_id][$v['relation_game_id']])){
//
$res[$company_id][$v['relation_game_id']]['pay_amount'] += $v['pay_amount'];
@ -665,9 +727,12 @@ class CompanyStatementSetController extends Controller {
$res[$company_id][$v['relation_game_id']]= $v;
}
}
}
}
foreach($res as $k=>$v){
$pcList[$k]["pay_amount"] = $v['pay_amount'];
unset($v['pay_amount']);
$pcList[$k]['list'] = $v;
}
}
public function promoteUserPool($type,$stime,$recount = false){
@ -703,13 +768,18 @@ class CompanyStatementSetController extends Controller {
if($type == 0){//周结
$this->doPromoteUserPool($user,$users,$type,$stime,$recount);
}else{
}else if($type == 1){
$users['withdraw_type'] = 1;
$user['withdraw_type'] = 1;
//月结&补点
$this->doPromoteUserPool($user,$users,1,$stime,$recount);
}else{
$users['withdraw_type'] = 2;
$user['withdraw_type'] = 2;
$this->doPromoteUserPool($user,$users,2,$stime,$recount);
}
$this->savePromotateUserPool($users);
$this->savePromotateUserPool($user);
}
@ -748,13 +818,28 @@ class CompanyStatementSetController extends Controller {
}
//获取pc公司
$pc_id = implode(",",array_flip(array_flip(array_keys($pcList))));
$tmpp = M("PromoteCompany","tab_")->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,company_belong,company_type,ali_user,ali_account")
$tmpp = M("PromoteCompany","tab_")
->field("id,uid,company_name partner,settlement_contact link_man,contact_phone link_phone,bank_name opening_bank,bank_address payee_name,bank_card bank_account,fax_ratio,taxation_rate,company_belong,company_type,ali_user,ali_account,has_server_fee,server_fee,has_ratio,turnover_ratio")
->where(["id"=>['in',$pc_id],"company_type"=>2])
->select();
if(count($tmpp)<1){return;}
$pc =[];
$Promote = M("Promote","tab_");
foreach ($tmpp as $v) {
$p_map = [
"company_id"=>$v['id'],
"withdraw_done"=>1
];
$pres = $Promote->field("alipay_account,alipay_real_name")->where($p_map)->find();
if(!empty($pres) && !empty($pres['alipay_account']) && !empty($pres['alipay_real_name'])){
$v['ali_user'] = $pres['alipay_real_name'];
$v['ali_account'] = $pres['alipay_account'];
}
if($v['has_ratio']){
$v['turnover_ratio'] = json_decode($v['turnover_ratio'],true);
}
$pc[$v['id']]=$v;
$pc[$v['id']]['is_payment']=$pcList[$v['id']]['is_payment'];
}
@ -764,11 +849,18 @@ class CompanyStatementSetController extends Controller {
$StatementDb = M("CompanyStatement","tab_");
$statement_begin_time = date("Y-m-d",$begintime);
$statement_end_time = date("Y-m-d",$endtime);
$RewardRecord = M("RewardRecord","tab_");
// $RewardRecord = M("RewardRecord","tab_");
$LackStatement = M("company_lack_statement_info","tab_");
$StatementInfo = M("company_statement_info","tab_");
foreach($pc as $k=>&$v){
$fax_ratio = $v['taxation_rate'];
$RewardRecordRes = $this->getPromoteUserRewardRecord($v['id'],$begintime,$endtime);
if($v['has_ratio'] == 1){
$company_ratio = $this->getCompanyRatio($v['pay_amount'],$pc[$k]['turnover_ratio']);
}else{
$company_ratio = 0;
}
//获取其他信息
$v = $this->getCompanyOtherInfo($v,$k);
if($v['is_payment'] == 1){
@ -782,6 +874,21 @@ class CompanyStatementSetController extends Controller {
$v['reward'] = 0;
$v['platform_amount'] = 0;
if(!isset($v['list'])){continue;}
//服务器费用
if ($type < 2) {
if ($v['has_server_fee'] == 1 && $v['server_fee'] > 0) {
$v['statement_info'][] = [
"game_name"=>"服务器费用",
"sum_money"=>-$v['server_fee'],
"pay_amount"=>-$v['server_fee'],
'statement_type'=>1,
"statement_begin_time"=>$statement_begin_time,
"statement_end_time"=>$statement_end_time
];
$v['pay_amount'] -= $v['server_fee'];
$v['statement_money'] -= $v['server_fee'];
}
}
foreach($v['list'] as $ke=>$va){
$game =[];
$game['pay_amount'] =$va['pay_amount'];
@ -792,13 +899,14 @@ class CompanyStatementSetController extends Controller {
if($type == 1){
$tratio = getGamePromoteCompanyRadio($v['id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);
$tratio += $company_ratio;
}elseif($type == 0){
$tratio = getGamePromoteCompanyRadio($v['id'],$va['relation_game_id'],$endtime,$va['pay_amount'],false,$company_belong);
}else{
//补点
$tratio1 = getGamePromoteCompanyRadio($v['id'],$va['relation_game_id'],$endtime,$va['pay_amount'],true,$company_belong);;
$tratio2 = getGamePromoteCompanyRadio($v['id'],$va['relation_game_id'],$endtime,$va['pay_amount'],false,$company_belong);
$tratio = $tratio1-$tratio2;
$tratio = $tratio1-$tratio2+$company_ratio;
if($tratio <= 0){
continue;
}
@ -813,23 +921,18 @@ class CompanyStatementSetController extends Controller {
//判断是否是个人
if($type < 2){
//非补点
$rrmap = array(
"reward_time" => ['between', [$begintime,$endtime]],
"company_type"=>2,
"company_id"=>$k,
"relation_game_id"=>$va['relation_game_id']
);
$rrfres =$RewardRecord->field("IFNULL(SUM(CASE WHEN reward_type = 1 THEN money ELSE 0 END),0) as reward_count,IFNULL(SUM(CASE WHEN reward_type = 2 THEN money ELSE 0 END),0) as fine_count")->where($rrmap)->find();
$v['fine'] += $rrfres['fine_count'];
$v['reward'] += $rrfres['reward_count'];
if($RewardRecordRes){
$rrfres = $RewardRecordRes[$va['relation_game_id']];
}else{
$rrfres = [
'reward_count'=>0,
'fine_count'=>0,
];
}
$game['reward'] = $rrfres['reward_count'];
$game['fine'] = $rrfres['fine_count'];
$game['sum_money']=round($va['pay_amount']*$tratio/100,2)+$game['reward']-$game['fine'];
}else{
$game['sum_money']=round($va['pay_amount']*$tratio*(100-$fax_ratio)/(100*100),2);//结算金额=平台总额*1-渠道费)*分成比例*(1-税费费率)
}
$game['sum_money']=round($va['pay_amount']*$tratio/100,2)+$game['reward']-$game['fine']; //个人等于 结算金额*比例-罚款+奖励
$v['statement_money'] += $game['sum_money'];
$game['fax_ratio']=$fax_ratio;
@ -944,7 +1047,9 @@ class CompanyStatementSetController extends Controller {
* 保存信息汇总信息
*/
public function savePromotateUserPool($data){
if(empty($data['create_lack_ids']) && empty($data['del_lack_ids']) && empty($data['info_ids'])){ return;}
if(empty($data['create_lack_ids']) && empty($data['del_lack_ids']) && empty($data['info_ids'])){ //补点为空不重算
return ;
}
if($data['statement_money'] == 0){
$data['verify_status'] = 5;
$data['verify_log'] = json_encode(["create_user"=>"system","create_time"=>date("Y-m-d H:i:s"),"verify_user"=>"system","verify_time"=>date("Y-m-d H:i:s"),"payment_user"=>"system","payment_time"=>date("Y-m-d H:i:s")]);
@ -988,6 +1093,63 @@ class CompanyStatementSetController extends Controller {
public function getGameTypeName($relation_game_id){
return M("Game","tab_")->field("game_type_name")->where("relation_game_id = '{$relation_game_id}'")->find()['game_type_name'];
}
/**
* 获取公司比例加成
* @param [type] $paymount 支付金额
* @param [type] $turnover_ratio 梯度
*/
protected function getCompanyRatio($paymount,$turnover_ratio)
{
$ratio = 0;
foreach($turnover_ratio as $k=>$v){
if($v['instanceof'] == 1){
if($paymount >= $v['turnover']){
$ratio = $v['ratio'];
}
}else{
if($paymount > $v['turnover']){
$ratio = $v['ratio'];
}
}
}
return $ratio;
}
/**
* 获取公司比例加成
* @param [type] $paymount 支付金额
* @param [type] $turnover_ratio 梯度
*/
protected function getPromoteUserRewardRecord($cpmpamy_id,$begintime,$endtime)
{
//获取所有公司的奖罚
$rrmap = array(
"d.confirm_time" => ['between', [$begintime,$endtime]],
"d.company_type"=>2,
"d.company_id"=>$cpmpamy_id,
"d.settlement_type"=>2,
);
$rfres = M("RewardDetail","tab_")
->alias("d")
->field("
IFNULL(SUM(CASE WHEN type = 1 THEN amount ELSE 0 END),0) as reward_count,
IFNULL(SUM(CASE WHEN type = 2 THEN amount ELSE 0 END),0) as fine_count,
r.relation_game_id
")
->where($rrmap)
->join("tab_reward_record as r on d.record_id = r.id")
->group("record_id,company_id")
->select();
if(empty($rfres)){
return false;
}else{
$s = [];
foreach($rfres as $k=>$v){
$s[$v['relation_game_id']] = $v;
}
return $s;
}
}
/**
* 重算接口

@ -12,6 +12,7 @@ use GuzzleHttp\Client;
use think\Db;
use Base\Task\Task;
use Base\Service\MarketService;
use Base\Tool\AggregateClient;
class ConsoleController extends Think {
@ -123,6 +124,13 @@ class ConsoleController extends Think {
}
}
public function testAggregate()
{
$client = new AggregateClient();
$result = $client->api('game-data', ['unique_codes' => ['abc']]);
var_dump($result);
}
public function initMarketAdmin()
{
$marketService = new MarketService();

@ -0,0 +1,96 @@
<?php
/**
* 后台首页
*/
namespace Admin\Controller;
class CpJuheCompanyController extends ThinkController {
//聚合公司
public function index($p = 0) {
// dump(getCpCompanySelect(1));die();
$p = I('p');
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
$arraypage = $page;
if (isset($_REQUEST['row'])) {
$row = $_REQUEST['row'];
} else {
$row = 10;
}
$request = [];
$request['p'] = $p;
$request['row'] = $row;
$request['remote'] = 1;
if($_REQUEST['export']) {
$request['export'] = 1;
}
$_REQUEST['origin_game_name']?($request['origin_game_name'] = $_REQUEST['origin_game_name']):'';
$_REQUEST['game_id'] ? ($request['game.id'] = $_REQUEST['game_id']):'';
$_REQUEST['channel_id'] ? ($request['channel_id'] = $_REQUEST['channel_id']):'';
($_REQUEST['company_properties']||$_REQUEST['company_properties']=='0') ? ($request['company_properties'] = $_REQUEST['company_properties']):'';
$url = M("kv")->field("value")->where(['key'=>"cp_company_api"])->find();
$data = json_decode(curl_post($url['value'],$request),true);
// dump($request);die();
if($_REQUEST['export']) {
$list_data = $data['data'];
foreach ($list_data as $key => $value) {
if ($list_data[$key]['bank_card']){
$list_data[$key]['bank_card'] = '&nbsp;'.$list_data[$key]['bank_card'];
}
if ($list_data[$key]['alipay_user']) {
$list_data[$key]['alipay_user'] = '&nbsp;'.$list_data[$key]['alipay_user'];
}
$list_data[$key]['agreement_time'] = json_decode($list_data[$key]['agreement_time'],true);
$list_data[$key]['balance_time'] = json_decode($list_data[$key]['balance_time'],true);
$list_data[$key]['agreement_time']['start_time'] = date("Y-m-d",$list_data[$key]['agreement_time']['start_time']);
($list_data[$key]['agreement_time']['end_time']!=1)?($list_data[$key]['agreement_time']['end_time'] = date("Y-m-d",$list_data[$key]['agreement_time']['end_time'])):($list_data[$key]['agreement_time']['end_time'] = "");
$list_data[$key]['balance_time']['start_time'] = date("Y-m-d",$list_data[$key]['balance_time']['start_time']);
($list_data[$key]['balance_time']['end_time']!=1)?($list_data[$key]['balance_time']['end_time'] = date("Y-m-d",$list_data[$key]['balance_time']['end_time'])):($list_data[$key]['balance_time']['end_time'] = "");
}
$this->assign("listdata",$list_data);
$this->display("export");die();
} else {
$page = set_pagination($data['count'], $row);
if ($page) {
$this->assign('_page', $page);
}
$this->assign("listdata",$data['data']);
$this->display();
}
}
public function detail() {
$_REQUEST['id']?($request['id'] = $_REQUEST['id']):'';
$url = M("kv")->field("value")->where(['key'=>"cp_company_detail_api"])->find();
$data = json_decode(curl_post($url['value'],$request),true);
$this->assign("data",$data);
$this->display();
}
}

@ -4,7 +4,7 @@
namespace Admin\Controller;
use OSS\Core\OssException;
use Base\Tool\AggregateClient;
class FinanceController extends ThinkController
{
@ -735,9 +735,39 @@ class FinanceController extends ThinkController
$startTime = time();
//游戏统计列表
$data = D("spend")->gameStatistics($map, $row, $p);
$uniqueCodes = array_column($data, 'unique_code');
$uniqueCodes = array_filter($uniqueCodes, function($value) {
if ($value) {
return true;
}
return false;
});
$client = new AggregateClient();
$result = $client->api('game-data', ['unique_codes' => $uniqueCodes]);
$aggData = [];
$aggTotal = '0.00';
if ($result['code'] == '0000') {
$aggData = $result['data']['records'];
$aggTotal = $result['data']['total'];
}
$endTime = time();
$exceptIds = [];
foreach ($data as $key => $value) {
$aggAmount = '0.00';
$deviceType = $value['sdk_version'] == 1 ? 'android' : 'ios';
if ($value['unique_code'] && isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) {
$aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', '');
}
if ($aggAmount != '0.00') {
$value['cash_count'] = 0;
$value['balance_coin_count'] = 0;
$value['inside_cash_count'] = 0;
$exceptIds[] = $value['game_id'];
}
$data[$key]['all_cash_count'] = number_format($value['cash_count'] + $value['balance_coin_count'] + $value['inside_cash_count'],2,'.','');
$data[$key]['agg_amount'] = $value['unique_code'] ? $aggAmount : '0.00';
}
$count = D("spend")->gameStatisticsCount($map);//列表总数
@ -751,6 +781,13 @@ class FinanceController extends ThinkController
$this->checkListOrCountAuthRestMap($map,[]);
//统计合计
if (count($exceptIds) > 0) {
if (isset($map['_string'])) {
$map['_string'] .= " and s.game_id not in (" . implode(',', $exceptIds) . ")";
} else {
$map['_string'] = " s.game_id not in (" . implode(',', $exceptIds) . ")";
}
}
$totalData = D("spend")->totalGameStatistics($map);
$sumCash = $totalData['cash_count'];
@ -760,6 +797,13 @@ class FinanceController extends ThinkController
$sumAll = $sumCash + $sumBalance + $sumInside;
$game_types = M("game_type", 'tab_')->field('id, type_name')->select();
$aggRate = round($aggTotal/($sumAll + $aggTotal) * 100, 2) . '%';
$allRate = round($sumAll/($sumAll + $aggTotal) * 100, 2) . '%';
$this->assign('aggRate', $aggRate);
$this->assign('allRate', $allRate);
$this->assign('aggTotal', $aggTotal);
$this->assign('game_types', $game_types);
$this->assign('sumCash', $sumCash);
$this->assign('sumBalance', $sumBalance);

@ -275,6 +275,9 @@ class FinancePromoteController extends AdminController
if($istimeselect){
$map['s.payed_time']=$istimeselect;
}
if ($isMarketLeader) {
$map['s.market_admin_id'] = ['gt', 0];
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
}

@ -166,6 +166,8 @@ class GameController extends ThinkController
{
if (IS_POST) {
$gameService = new GameService();
$_POST['introduction'] = str_replace(array("\r\n", "\r", "\n"), "~~", $_POST['introduction']);
if ($_POST['game_name'] == '') {
$this->error('游戏名称不能为空!');
@ -184,6 +186,9 @@ class GameController extends ThinkController
return $this->error("请填写正确的极速版下载链接");
}
}
if ($_POST['unique_code'] && $gameService->isUniqueCodeExists($_POST['unique_code'])) {
return $this->error("聚合游戏标识已存在");
}
$_POST['relation_game_name'] = $_POST['game_name'];
if ($_POST['sdk_version'] == 1) {
unset($_POST['ios_game_address']);
@ -217,7 +222,6 @@ class GameController extends ThinkController
$_POST['discount'] == '' ? $_POST['discount'] = 10 : $_POST['discount'];
$_POST['short'] = $short;
$gameService = new GameService();
$_POST['download_ways'] = $gameService->getDownLoadWaysValue($downloadWays);
$game = D(self::model_name);//M('$this->$model_name','tab_');
@ -281,6 +285,9 @@ class GameController extends ThinkController
} else {
$_POST['display_site'] = '';
}
$relation_game_id = $_REQUEST['relation_game_id'];
$inv = D(self::model_name)->where("relation_game_id = '{$relation_game_id}'")->find();
$_POST['select_package_name'] = $inv['select_package_name'];
$pinyin = new \Think\Pinyin();
@ -344,32 +351,10 @@ class GameController extends ThinkController
public function edit($id = null)
{
if (IS_POST) {
if(!empty($_REQUEST['apply_auth'])) {
$gameData['apply_auth'] = $_REQUEST['apply_auth'];
$game_appid = $_REQUEST['game_appid'];
$gameId = M('game','tab_')->where(['game_appid' => $game_appid])->getField('id');
M('game','tab_')->where(['id'=>$gameId])->save($gameData);
if($_REQUEST['apply_auth'] == 1) {
M('sociaty_games','tab_')->where(['game_id'=>$gameId])->delete();
}
if(!empty($_REQUEST['promote_data'])) {
$promote_data = json_decode($_REQUEST['promote_data'],TRUE);
$game_appid = $_REQUEST['game_appid'];
$gameId = M('game','tab_')->where(['game_appid' => $game_appid])->getField('id');
$gameInfo = M('game','tab_')->field('game_name,game_status')->where(['id'=>$gameId])->select();
$dataList = array();
foreach($promote_data as $key => $promoteInfo) {
$isSociaty = M('sociaty_games','tab_')->where(['promote_id'=>intval($promoteInfo['value']),'game_id'=>intval($gameId)])->getField('id');
if(!empty($isSociaty)) {
// $this->error("选择会长中有已存在会长");
}else {
$dataList[] = ['promote_id' => intval($promoteInfo['value']),'game_id' => intval($gameId),'status'=>$gameInfo[0]['game_status'],'create_time'=>time()];
}
}
M('sociaty_games','tab_')->addAll($dataList);
}
// $_REQUEST['apply_auth'] == 1 ? $this->success('开放全部会长权限成功') : $this->success('设置会长权限成功');
$game = M('game', 'tab_')->where(['id' => $id])->find();
if (!$game) {
$this->error('游戏不存在!');
exit;
}
if ($_POST['game_score'] < 0 || $_POST['game_score'] > 5) {
$this->error('游戏评分只能为0-5之间的数字');
@ -389,6 +374,11 @@ class GameController extends ThinkController
return $this->error("请填写正确的极速版下载链接");
}
}
$gameService = new GameService();
if ($_POST['unique_code'] && $gameService->isUniqueCodeExists($_POST['unique_code'], $game['relation_game_id'], 'relation_game_id')) {
return $this->error("聚合游戏标识已存在");
}
/*if($_POST['apply_status']==0&&$_POST['game_status']==1){
$this->error('游戏未审核不允许显示');//游戏添加完成
}*/
@ -400,15 +390,14 @@ class GameController extends ThinkController
$_POST['display_site'] = '';
}
$content = $_POST['content'];
$gameRatio = M('Game', 'tab_')->where(array('id' => I('post.id', 0)))->getField('ratio');//游戏推广分成比例
$game = D(self::model_name);//M('$this->$model_name','tab_');
$gameModel = D(self::model_name);//M('$this->$model_name','tab_');
$_POST['discount'] == '' ? $_POST['discount'] = 10 : $_POST['discount'];
$_POST['detail_content'] = $content;
$_POST['pay_config'] = json_encode($_POST['pay_config']);
$gameService = new GameService();
$_POST['download_ways'] = $gameService->getDownLoadWaysValue($downloadWays);
unset($_POST['apply_auth']);
$res = $game->update();
$res = $gameModel->update();
$id = $res["id"];
$sibling = D("Game")->find($id);
@ -425,36 +414,38 @@ class GameController extends ThinkController
];
$gameService->saveBaseGame($baseData);
$phone['apply_auth'] = $sibling['apply_auth'];
$phone['game_type_id'] = $sibling['game_type_id'];
$phone['dow_num'] = $sibling['dow_num'];
$phone['game_type_name'] = $sibling['game_type_name'];
$phone['category'] = $sibling['category'];
$phone['recommend_status'] = $sibling['recommend_status'];
//$phone['game_status']= $sibling['game_status'];
$phone['sort'] = $sibling['sort'];
$phone['game_score'] = $sibling['game_score'];
$phone['features'] = $sibling['features'];
$phone['flooring_page_imgs'] = $sibling['flooring_page_imgs'];
$phone['introduction'] = $sibling['introduction'];
$phone['icon'] = $sibling['icon'];
$phone['cover'] = $sibling['cover'];
$phone['screenshot'] = $sibling['screenshot'];
$phone['material_url'] = $sibling['material_url'];
$phone['game_detail_cover'] = $sibling['game_detail_cover'];
$phone['first_level_name'] = $sibling['first_level_name'];
$phone['second_level_name'] = $sibling['second_level_name'];
$phone['third_level_name'] = $sibling['third_level_name'];
$phone['first_level'] = $sibling['first_level'];
$phone['second_level'] = $sibling['second_level'];
$phone['third_level'] = $sibling['third_level'];
$phone['display_site'] = $sibling['display_site'];
$phone['back_describe'] = $sibling['back_describe'];
$phone['dow_icon'] = $sibling['dow_icon'];
$phone['back_map'] = $sibling['back_map'];
$phone['flooring_page_video'] = $sibling['flooring_page_video'];
$phone['flooring_page_video_cover'] = $sibling['flooring_page_video_cover'];
M('Game', 'tab_')->data($phone)->where(array('id' => $another['id']))->save();
$otherData = [];
$otherData['apply_auth'] = $sibling['apply_auth'];
$otherData['game_type_id'] = $sibling['game_type_id'];
$otherData['dow_num'] = $sibling['dow_num'];
$otherData['game_type_name'] = $sibling['game_type_name'];
$otherData['category'] = $sibling['category'];
$otherData['recommend_status'] = $sibling['recommend_status'];
$otherData['select_package_name']= $_POST['select_package_name'];
$otherData['sort'] = $sibling['sort'];
$otherData['game_score'] = $sibling['game_score'];
$otherData['features'] = $sibling['features'];
$otherData['flooring_page_imgs'] = $sibling['flooring_page_imgs'];
$otherData['introduction'] = $sibling['introduction'];
$otherData['icon'] = $sibling['icon'];
$otherData['cover'] = $sibling['cover'];
$otherData['screenshot'] = $sibling['screenshot'];
$otherData['material_url'] = $sibling['material_url'];
$otherData['game_detail_cover'] = $sibling['game_detail_cover'];
$otherData['first_level_name'] = $sibling['first_level_name'];
$otherData['second_level_name'] = $sibling['second_level_name'];
$otherData['third_level_name'] = $sibling['third_level_name'];
$otherData['first_level'] = $sibling['first_level'];
$otherData['second_level'] = $sibling['second_level'];
$otherData['third_level'] = $sibling['third_level'];
$otherData['display_site'] = $sibling['display_site'];
$otherData['back_describe'] = $sibling['back_describe'];
$otherData['dow_icon'] = $sibling['dow_icon'];
$otherData['back_map'] = $sibling['back_map'];
$otherData['unique_code'] = $sibling['unique_code'];
$otherData['flooring_page_video'] = $sibling['flooring_page_video'];
$otherData['flooring_page_video_cover'] = $sibling['flooring_page_video_cover'];
M('Game', 'tab_')->data($otherData)->where(array('id' => $another['id']))->save();
//同时修改代充游戏折扣
$set_fidel['status'] = 1;
$set_fidel['game_id'] = $id;
@ -462,7 +453,7 @@ class GameController extends ThinkController
$promoteModel = new \Admin\Model\PromoteWelfareModel();
$promoteModel->set_game_discount($set_fidel);
if (!$res) {
$this->error($game->getError());
$this->error($gameModel->getError());
} else {
\Think\Log::actionLog('Game/edit', 'Game', 1);
addOperationLog(array(

@ -46,41 +46,18 @@ class GameRatioMouldController extends AdminController
foreach($dbres as $k=>&$v){
$v['create_time'] = date("Y-m-d H:i:s",$v['create_time']);
$v['company_belong'] ="下游".getCompanyBlong($v['company_belong']);
$thisTurnoverRatios = $v['turnover_ratio'] ? json_decode($v['turnover_ratio'], true) : [];
$thisRatioDtl = "默认:{$v['ratio']}%";
if ($thisTurnoverRatios) {
if (I('export', 0) == 1) {
$symbol = "\n";
} else {
$symbol = "<br>";
}
foreach ($thisTurnoverRatios as $thisTurnoverRatio) {
$thisIntervalClosedStatusText = isset($thisTurnoverRatio['instanceof']) ? ($thisTurnoverRatio['instanceof'] == 1 ? '≥' : '>') : '≥';
$thisRatioDtl .= "{$symbol}月流水{$thisIntervalClosedStatusText}{$thisTurnoverRatio['turnover']},比例:{$thisTurnoverRatio['ratio']}%";
}
}
$v['turnover_ratio_str'] = $thisRatioDtl;
$this->readTurnoverRatio($v);
}
$this->assign('data', $dbres);
//判断导出
if(isset($_REQUEST['export'])){
$GetData = $_GET;
unset($GetData['export']);
addOperationLog(['op_type'=>3,'key'=>getNowDate(),'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME,$GetData),'menu'=>"推广员-推广员管理-游戏分成比例模板-导出"]);
data2csv($dbres,'游戏分成比例模板',array(
"game_type_name"=>"游戏类型",
"relation_game_name"=>"现包名",
"original_package_name"=>"原包名",
"company_belong"=>"公司类型",
"turnover_ratio_str"=>"比例分成",
"create_time"=>"时间",
"admin_name"=>"操作人"
));
$this->display("export");
exit();
}
$count = $this->DBModel->alias('m')->field("count(id) count")->join("INNER JOIN ({$gameres}) g ON m.relation_game_id = g.relation_game_id")->where($where)->find()['count'];
$this->assign('data', $dbres);
$page = set_pagination($count, $row,$params);
if($page) {
$this->assign('_page', $page);
@ -232,7 +209,29 @@ class GameRatioMouldController extends AdminController
}
}
return $save['turnover_ratio'];
}
//设置比例阶梯
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']);
}

@ -591,6 +591,9 @@ class MarketPercentageController extends ThinkController
}
$data = M("market_altogether","tab_")
->field("tab_market_altogether.*,market_percentage")
->join("left join sys_auth_group_access access on tab_market_altogether.admin_id = access.uid")
->join("left join sys_auth_group auth on access.group_id=auth.id")
->where($map);
if ($_REQUEST['export']) {
@ -628,6 +631,8 @@ class MarketPercentageController extends ThinkController
$data[$key]['start_time'] = date("Y-m-1",strtotime($value['pay_time']));
$data[$key]['end_time'] = date("Y-m-t",strtotime($value['pay_time']));
$market_percentage = json_decode($value['market_percentage'],true);
if ($value['level'] == 21) {
$data[$key]['level'] = '初级';
} else if ($value['level'] == 11) {
@ -642,6 +647,13 @@ class MarketPercentageController extends ThinkController
$data[$key]['is_send'] = '未发放';
}
//两个起提流水都没达到时,不展示税后毛利
$sum_amount = $value['performance_revenue'] + $value['appraisal_bonuses'];
if ($sum_amount<$market_percentage['performance_revenue']&&$sum_amount<$market_percentage['appraisal_bonuses']) {
$data[$key]['company_profit'] = "0.00";
$value['company_profit'] = "0.00";
}
$data[$key]['wait_commission'] =
number_format($value['wait_performance_commission'] + $value['wait_achievement_commission'], 2, '.', '');

@ -9,6 +9,65 @@ namespace Admin\Controller;
*/
class OldCountController extends \Think\Controller
{
/**
* 公会关系及游戏迁移
* 1. 迁移 公会company_relation到公司
* 2. 游戏 game_ids
* 3. 同步公司develop_type到公会
*/
public function changeOldCompanyRelation()
{
//默认设为
$Promote = M("Promote","tab_");
$PromoteCompany = M("promote_company","tab_");
$p_res = $Promote->field("id,account,game_ids,company_relation,company_id")->where("level = 1")->group("company_id")->select();
foreach ($p_res as $k => $v) {
if($v['id'] < 1) continue;
$savedata =[ "id"=>$v['company_id'] ];
if($v['company_relation'] == 1){
$savedata['develop_type'] = 3;
}else{
$savedata['develop_type'] = 2;
}
$savedata['game_ids'] = $this->changeGameidToRelationGameid($v['game_ids']);
$PromoteCompany->save($savedata);
$p_data = [
"company_relation"=>$savedata['develop_type']
];
$Promote->where("company_id = {$v['company_id']}")->save($p_data);
}
echo "changeOldCompanyRelation success";
}
protected function changeGameidToRelationGameid($ids,$type=false)
{
$rid = M('game', 'tab_')->field('relation_game_id')->where(["id"=>["in",$ids]])->group("relation_game_id")->select();
if($type){
return array_column($rid,'relation_game_id');
}else{
return implode(",",array_column($rid,'relation_game_id'));
}
}
/**
* 优化旧表数值,新表需要将 开票税点及渠道费 * 100
*/
public function ChangePartnerField_ChannelRateInvoiceRate()
{
if(time() > 1596211200){
die("该函数已失效");
}
$Partner = M("Partner","tab_");
$dbres = $Partner->field("id,channel_rate,invoice_rate")->select();
foreach ($dbres as $k => &$v) {
$v['channel_rate'] = $v['channel_rate']*100;
$v['invoice_rate'] = $v['invoice_rate']*100;
$Partner->save($v);
}
echo "ChangePartnerField_ChannelRateInvoiceRate success";
}
/**
* 新的游戏比例后的数据迁移
* 重复执行将会叠加数据,请勿重复执行

@ -3,8 +3,6 @@
namespace Admin\Controller;
use User\Api\UserApi as UserApi;
use OSS\OssClient;
use OSS\Core\OSsException;
use Think\Controller;
/**
@ -14,7 +12,12 @@ use Think\Controller;
class PartnerController extends ThinkController
{
private $modelName = 'Partner';
public $OpAuthList=[];
public function _initialize()
{
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
parent::_initialize();
}
//列表
public function lists()
{
@ -37,18 +40,19 @@ class PartnerController extends ThinkController
if (!empty(I('partner'))) {
$map['partner'] = ['like', '%' . I('partner') . '%'];
}
if (!empty(I('timestart'))) {
$timestart = strtotime(I('timestart'));
$map['_string'] = "contract_start_time >= {$timestart}";
}
if (!empty(I('timeend'))) {
$timeend = strtotime(I('timeend') . ' 23:59:59');
if (!empty($map['_string'])) {
$map['_string'] .= " and ";
}
$map['_string'] .= " contract_end_time < {$timeend}";
if (isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])) {
$time_start = strtotime($_REQUEST['timestart']);
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
$map["_string"] = "(contract_start_time BETWEEN {$time_start} AND {$time_end}) OR (contract_end_time BETWEEN {$time_start} AND {$time_end}) OR (contract_start_time <= {$time_end} AND contract_end_time >= {$time_end}) OR (contract_start_time >0 AND contract_end_time = 0)";
} elseif (isset($_REQUEST['timestart'])) {
$time_start = strtotime($_REQUEST['timestart']);
$map["_string"] = "(contract_start_time >= {$time_start} ) OR (contract_end_time >= {$time_start}) OR ( contract_start_time >0 AND contract_end_time = 0)";
} elseif (isset($_REQUEST['timeend'])) {
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
$map["_string"] = "(contract_start_time <= {$time_end} ) OR (contract_end_time <= {$time_end})";
}
$page = intval(I('get.p', 0));
$page = $page ? $page : 1; //默认显示第一页数据
$row = intval(I('row', 0));
@ -61,18 +65,20 @@ class PartnerController extends ThinkController
//获取分页数据
$query = $model->alias('p')
->field("p.partner,p.matche_platform,p.invoice_rate,p.settlement_type,p.bank_account,
p.opening_bank,p.id,p.contract_start_time,p.contract_end_time,p.remark,p.company_type,p.has_game_evidence,p.is_sign_contract")
->where($map)
->order("id desc");
if($is_export){
$partners = $query
->select();
->field("p.*,IFNULL(d.advance_amount,'--') advance_amount")
->join("left join tab_partner_divide_warn d ON d.partner_id = p.id AND d.status = 1")
->select();
}else{
$partners = $query
->field("p.*")
->page($page,$row)
->select();
}
//获取公司id
$partner_ids = array_column($partners, 'id');
@ -97,7 +103,7 @@ class PartnerController extends ThinkController
->group('relation_game_id,begin_total_amount')
->select();
// dd($cp_game_ratio_map);
// dd($cp_game_ratio_map);
$parseGameRadiores = array();//合作方分成比例
foreach ($gameradiores as $key =>$val) {
$val['row'] = 1;
@ -142,36 +148,47 @@ class PartnerController extends ThinkController
$parseData = array();
foreach ($partners as $key =>$value) {
$tmpr = D("CompanyRelation")->getCompanyRelation(1,$value['id']);
$value['is_collection'] = $tmpr['collection'];
$value['settlement_type'] = $tmpr['settlement_type'];
$value['invoice_type'] = $tmpr['invoice_type'];
$value['invoice_content'] = $tmpr['invoice_content'];
$value['game'] = $parseGames[$value['id']];
$value['has_game_evidence'] = $value['has_game_evidence'] ? '是' : '否';
$value['has_advance_charge'] = $value['has_advance_charge'] ? '是' : '否';
$value['is_sign_contract'] = $value['is_sign_contract'] ? '是' : '否';
$value['channel_rate'] *= 100;
$value['invoice_rate'] *= 100;
if ($value['settlement_type'] == 0) {
$value['settlement_type'] = '未配置';
} elseif ($value['settlement_type'] == 1) {
$value['settlement_type'] = '周结';
} elseif ($value['settlement_type'] == 2) {
$value['settlement_type'] = '月结';
if(empty($value['has_server_fee'])){
$value['server_fee'] = 0;
}
$value['has_server_fee'] = $value['has_server_fee'] ? '是' : '否';
$value['cooperation_status'] = $value['cooperation_status'] ? '合作中' : '暂停合作';
$value['company_type'] = $value['company_type'] == 2 ? '个人' : '公司';
$contract_start_time = $value['contract_start_time'] ?
time_format($value['contract_start_time'], 'Y/m/d') : '-';
$contract_end_time = $value['contract_end_time'] ?
time_format($value['contract_end_time'], 'Y/m/d') : '-';
$value['contract_time'] = $contract_start_time . '-' . $contract_end_time;
$validity_start_time = $value['validity_start_time'] ?
time_format($value['validity_start_time'], 'Y/m/d') : '-';
$validity_end_time = $value['validity_end_time'] ?
time_format($value['validity_end_time'], 'Y/m/d') : '-';
$value['validity_time'] = $validity_start_time . '-' . $validity_end_time;
$row2 = array_sum(array_column($value['game'], 'row')) ;
$value['row'] = empty($row2) ? 1: $row2;
$parseData[$value['partner_id']][] = $value;
$parseData[] = $value;
}
$parseData = array_values($parseData);
if($is_export){
$this->assign('listData', $parseData[0]);
$this->assign('listData', $parseData);
$GetData = $_GET;
unset($GetData['export']);
addOperationLog(['op_type'=>3,'key'=>getNowDate(),'url'=>U(CONTROLLER_NAME.'/'.ACTION_NAME,$GetData),'menu'=>"游戏-游戏管理-合作方管理-导出"]);
$this->display("export");
die();
}
@ -188,102 +205,132 @@ class PartnerController extends ThinkController
$this->assign('_page', $page);
}
$this->checkListOrCountAuthRestMap($map,[]);
// dd($parseData[0]);
$this->assign('listData', $parseData[0]);
$this->assign('listData', $parseData);
$this->assign('count', $count);
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/lists'])->find());
$this->meta_title = '合作方管理';
$this->meta_title = '上游CP公司列表';
$this->display();
}
//添加
public function add()
//审核列表
public function index()
{
if ($_POST) {
$partner = trim(I('post.partner', ''));
$status = intval(I('post.status', 1));
if (empty($partner)) {
$this->error('请输入合作方名称');
}
if (!strlen(I('is_sign_contract'))) {
$this->error('请选择是否签署合同');
}
if (empty(I('company_type'))) {
$this->error('请输入公司性质');
}
if (!strlen(I('has_game_evidence'))) {
$this->error('请选择是否有游戏资质');
}
$page = intval(I('get.p', 0));
$page = $page ? $page : 1; //默认显示第一页数据
$row = intval(I('row', 0));
$row = empty($row) ? 10 : $row;//每页条数
$p = $_REQUEST;
if(!IS_ROOT){
$this->OpAuthList= getModuleControllerAuth();
}
$model = M($this->modelName, 'tab_');
$map['partner'] = $partner;
$res = $model->where($map)->getField('id');
if ($res) {
$this->error('合作方已存在');
$map = [];
if (!empty(I('partner_name'))) {
$map['partner_name'] = ['like', '%' . I('partner_name') . '%'];
}
if (!empty($p['verify_type'])) {
if($p['verify_type'] == 1){
$map['partner_id'] = 0;
}else{
$map['partner_id'] = ["neq",0];
}
}
if (isset($p['verify_status'])) {
$map['verify_status'] = $p['verify_status'];
}
if(!empty(I('link_phone')) && !checkPhone(I('link_phone'))) {
$this->error('联系电话格式不正确');
if (isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])) {
$time_start = strtotime($_REQUEST['timestart']);
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
$map["create_time"] =['BETWEEN',[$time_start, $time_end]];
} elseif (isset($_REQUEST['timestart'])) {
$time_start = strtotime($_REQUEST['timestart']);
$map["create_time"] =['EGT',$time_start];
} elseif (isset($_REQUEST['timeend'])) {
$time_end = strtotime($_REQUEST['timeend'])+ 86399;
$map["create_time"] = ['ELT',$time_end];
}
$model = M("partner_verify", 'tab_');
$data = $model->where($map)->page($page,$row)->order("FIELD(verify_status,0,1,-1),create_time desc")->select();
foreach ($data as $k => &$v) {
$v['partner_info'] = json_decode($v['partner_info'],true);
if($v['partner_id'] == 0){
$v['verify_type'] = "新增";
}else{
$v['verify_type'] = "修改";
}
if(!empty(I('link_phone'))){
$res2 = $model->where(['link_phone' => I('link_phone')])->getField('id');
if ($res2) {
$this->error('已存在此联系电话');
$v['partner_info']['company_type'] = $v['partner_info']['company_type'] == 2 ? '个人' : '公司';
$contract_start_time = $v['partner_info']['contract_start_time'] ?
time_format($v['partner_info']['contract_start_time'], 'Y/m/d') : '-';
$contract_end_time = $v['partner_info']['contract_end_time'] ?
time_format($v['partner_info']['contract_end_time'], 'Y/m/d') : '-';
$v['contract_time'] = $contract_start_time . '-' . $contract_end_time;
$validity_start_time = $v['partner_info']['validity_start_time'] ?
time_format($v['partner_info']['validity_start_time'], 'Y/m/d') : '-';
$validity_end_time = $v['partner_info']['validity_end_time'] ?
time_format($v['partner_info']['validity_end_time'], 'Y/m/d') : '-';
$v['validity_time'] = $validity_start_time . '-' . $validity_end_time;
$create_time = date("Y-m-d H:i:s",$v["create_time"]);
$v['verify_log'] = json_decode($v['verify_log'], true);
$v["create"]= "{$v['verify_log']['create_user']} <br> {$v['verify_log']['create_time']}";
if(isset($v['verify_log']['verify_user'])){
if($v['verify_status'] == -1){
$ts = "审核拒绝";
}else{
$ts = "审核通过";
}
}
$time = time();
$save['partner'] = $partner;
$save['status'] = $status;
$save['link_man'] = I('link_man');
$save['link_phone'] = I('link_phone');
$save['address'] = I('address');
$save['company_tax_no'] = I('company_tax_no');
$save['payee_name'] = I('payee_name');
$save['bank_account'] = I('bank_account');
$save['opening_bank'] = I('opening_bank');
$save['ali_user'] = I('ali_user');
$save['ali_account'] = I('ali_account');
$save['matche_platform'] = I('matche_platform');
$save['contract_start_time'] = strtotime(I('contract_start_time'));
$save['contract_end_time'] = strtotime(I('contract_end_time'));
$save['channel_rate'] = I('channel_rate')/100;
$save['invoice_rate'] = (I('invoice_rate') ?: 0)/100;
$save['is_sign_contract'] = I('is_sign_contract');
$save['settlement_type'] = I('settlement_type');
$save['has_game_evidence'] = I('has_game_evidence');
$save['company_type'] = I('company_type');
$save['remark'] = I('remark');
if (!empty(I('file_info'))) {
$save['file_info'] = I('file_info');
$v["verify"]= "{$ts}({$v['verify_log']['verify_user']}) <br> {$v['verify_log']['verify_time']}";
}else{
$v["verify"] = '--';
}
}
$count = $model->where($map)->count();
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('menubtn',$this->menuAuth());
$this->assign('listData', $data);
$this->assign('count', $count);
$this->assign('VerifyStatus', D("PartnerVerify")->VerifyStatus);
$this->meta_title = '上游CP审核列表';
$this->display();
}
//添加
public function add()
{
$model = M("partner_verify", 'tab_');
if ($_POST) {
$save = I("post.");
$this->checkData($save);
$save['uid'] = UID;
$save['create_time'] = $time;
$save['last_up_time'] = $time;
$save['create_time'] = time();
$has_check = M("partner_verify","tab_")->where(["partner_name"=>$partner_info['partner'],"verify_status"=>0])->field("id")->find();
if ($has_check) {
$this->error('已存在同名未审核的cp,请勿重复添加');
}
$res = $model->add($save);
$res =D("PartnerVerify")->add_db($save);
if ($res) {
\Think\Log::actionLog('Partner/add', 'partner', $res);
//操作日志
addOperationLog(array(
"op_type"=>0,
"key"=>$partner,
"url"=>U("Partner/lists",array("partner"=>$partner))
"key"=>$save['partner'],
"url"=>U("Partner/lists",array("partner"=>$save['partner']))
));
$this->success('保存成功', U('lists'));
$this->success('保存成功,请联系管理尽快审核', U('index'));
} else {
$this->error('保存失败');
}
} else {
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/add'])->find());
$this->meta_title = '新增合作方';
$this->meta_title = '新增上游CP公司';
$this->display();
}
}
@ -294,91 +341,19 @@ class PartnerController extends ThinkController
$model = M($this->modelName, 'tab_');
if ($_POST) {
$partner = trim(I('post.partner', ''));
$status = intval(I('post.status', 1));
$id = intval(I('post.id', 0));
if (empty($partner)) {
$this->error('请输入合作方名称');
}
if (!strlen(I('is_sign_contract'))) {
$this->error('请选择是否签署合同');
}
if (empty(I('company_type'))) {
$this->error('请输入公司性质');
}
if (!strlen(I('has_game_evidence'))) {
$this->error('请选择是否有游戏资质');
}
$data = $model
->field('id,partner,link_man,link_phone,address,company_tax_no,payee_name,bank_account,opening_bank')
->find($id);
if (empty($data)) {
$this->error('数据异常');
}
$map['partner'] = $partner;
$res = $model->where($map)->getField('id');
if ($res && $res != $id) {
$this->error('合作方已存在');
}
if(!empty(I('link_phone')) && !checkPhone(I('link_phone'))) {
$this->error('联系电话格式不正确');
}
if(!empty(I('link_phone'))){
$res2 = $model->where([
'link_phone' => I('link_phone'),
'id' => ['neq', $id]
])->getField('id');
if ($res2) {
$this->error('已存在此联系电话');
}
}
$time = time();
$save['id'] = $id;
$save['partner'] = $partner;
$save['link_man'] = I('link_man');
$save['link_phone'] = I('link_phone');
$save['address'] = I('address');
$save['company_tax_no'] = I('company_tax_no');
$save['payee_name'] = I('payee_name');
$save['bank_account'] = I('bank_account');
$save['opening_bank'] = I('opening_bank');
$save['ali_user'] = I('ali_user');
$save['ali_account'] = I('ali_account');
$save['matche_platform'] = I('matche_platform');
$save['contract_start_time'] = strtotime(I('contract_start_time'));
$save['contract_end_time'] = strtotime(I('contract_end_time'));
$save['channel_rate'] = I('channel_rate')/100;
$save['invoice_rate'] = (I('invoice_rate') ?: 0)/100;
$save['is_sign_contract'] = I('is_sign_contract');
$save['settlement_type'] = I('settlement_type');
$save['has_game_evidence'] = I('has_game_evidence');
$save['company_type'] = I('company_type');
$save['remark'] = I('remark');
$save['file_info'] = I('file_info');
$save['status'] = $status;
$save['last_up_time'] = $time;
$res = $model->save($save);
$save = I("post.");
$this->checkData($save);
$res =D("PartnerVerify")->edit_db($save);
if ($res === false) {
$this->error('保存失败');
} else {
\Think\Log::actionLog('Partner/edit', 'partner', $id);
addOperationLog(array(
"op_type"=>1,
"key"=>$partner,
"url"=>U("Partner/lists",array("partner"=>$partner))
"key"=>$save['partner'],
"url"=>U("Partner/lists",array("partner"=>$save['partner']))
));
$this->success('保存成功', U('lists'));
$this->success('保存成功,请联系管理尽快审核', U('index'));
}
} else {
$id = intval(I('get.id', 0));
@ -400,9 +375,19 @@ class PartnerController extends ThinkController
}else{
$data['contract_end_time']='';
}
$data['channel_rate'] *= 100;//存的是小数,显示百分比
$data['invoice_rate'] *= 100;//存的是小数,显示百分比
// dd($data);
if ($data['validity_start_time']) {
$data['validity_start_time'] = date('Y-m-d', $data['validity_start_time']);
}else{
$data['validity_start_time']='';
}
if ($data['validity_end_time']) {
$data['validity_end_time'] = date('Y-m-d', $data['validity_end_time']);
}else{
$data['validity_end_time']='';
}
$this->assign('data', $data);
$action = I('action');
$this->assign('action', $action);
@ -439,7 +424,203 @@ class PartnerController extends ThinkController
));
$this->success('删除成功', U('lists'));
}
public function verifyView()
{
if(!isset($_REQUEST['id'])) $this->error('数据异常', U('index'));
$id = $_REQUEST['id'];
$map['id'] = $id;
$dbres = M("partner_verify", 'tab_')->find($id);
$data = json_decode($dbres['partner_info'],true);
if ($data['contract_start_time']) {
$data['contract_start_time'] = date('Y-m-d', $data['contract_start_time']);
}else{
$data['contract_start_time']='';
}
if ($data['contract_end_time']) {
$data['contract_end_time'] = date('Y-m-d', $data['contract_end_time']);
}else{
$data['contract_end_time']='';
}
if ($data['validity_start_time']) {
$data['validity_start_time'] = date('Y-m-d', $data['validity_start_time']);
}else{
$data['validity_start_time']='';
}
if ($data['validity_end_time']) {
$data['validity_end_time'] = date('Y-m-d', $data['validity_end_time']);
}else{
$data['validity_end_time']='';
}
$this->assign('data', $data);
$this->assign('action', $action);
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/edit'])->find());
$this->meta_title ='审核信息查看';
$this->display("show");
}
public function adminRefuse(){
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
$ids = $_REQUEST['ids'];
$dbres = M("partner_verify", 'tab_')->field("id,verify_status,verify_log")->where("id in ({$ids})")->select();
foreach($dbres as $k=>&$v){
if($v['verify_status'] != 0) continue;
$v['verify_log'] = json_decode($v['verify_log'],true);
$v['verify_log']['verify_user']=$this->admininfo["username"];
$v['verify_log']['verify_time']=date("Y-m-d H:i:s");
$v['verify_log'] = json_encode($v['verify_log']);
$v['verify_status']=-1;
$v["create_time"]=time();
M("partner_verify", 'tab_')->save($v);
addOperationLog(['op_type'=>1,'key'=>$v['id'],"op_name"=>"管理员审核",'url'=>U('index')]);
}
$this->ajaxReturn(array(
'status' => 1,
"info"=>"管理员审核拒绝成功"
));
}
//管理员成功
public function adminAgree(){
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
$ids = $_REQUEST['ids'];
$Partner = M("partner", 'tab_');
$PartnerVerify = M("partner_verify", 'tab_');
$dbres =$PartnerVerify->field("*")->where("id in ({$ids})")->select();
foreach($dbres as $k=>&$v){
if($v['verify_status'] != 0) continue;
$v['verify_log'] = json_decode($v['verify_log'],true);
$v['verify_log']['verify_user']=$this->admininfo["username"];
$v['verify_log']['verify_time']=date("Y-m-d H:i:s");
$v['verify_log'] = json_encode($v['verify_log']);
$v['verify_status']=1;
$v["create_time"]=time();
$partner_info = json_decode($v['partner_info'],true);
if($v['partner_id'] == 0){
//新增
$v['partner_id'] = $Partner->add($partner_info);
}else{
//编辑
$Partner->save($partner_info);
}
//修改自身
$PartnerVerify->save($v);
M("partner_verify", 'tab_')->save($v);
addOperationLog(['op_type'=>1,'key'=>$v['partner_id'],"op_name"=>"管理员审核",'url'=>U('index')]);
}
$this->ajaxReturn(array(
'status' => 1,
"info"=>"管理员审核通过成功"
));
}
protected function checkData(&$save)
{
$partner = trim($save['partner']);
$status = intval($save['status']);
if (empty($partner)) {
$this->error('请输入合作方名称');
}
if (!strlen(I('is_sign_contract'))) {
$this->error('请选择是否签署合同');
}
if (empty(I('company_type'))) {
$this->error('请输入公司性质');
}
if (!strlen(I('has_game_evidence'))) {
$this->error('请选择是否有游戏资质');
}
$model = M($this->modelName, 'tab_');
$map['partner'] = $partner;
$res = $model->where($map)->field("id")->find();
if ($res) {
if(isset($save['id'])){
if($save['id'] !=$res['id']){
$this->error('合作方已存在');
}
}else{
$this->error('合作方已存在');
}
}
// if(!empty(I('link_phone')) && !checkPhone(I('link_phone'))) {
// $this->error('联系电话格式不正确');
// }
// if(!empty(I('reg_phone')) && !checkPhone(I('reg_phone'))) {
// $this->error('注册电话格式不正确');
// }
if(!empty(I('taxation_rate')) && I('taxation_rate') > 0) {
if(!checkNumber(I('taxation_rate'))){
$this->error('税费费率格式错误');
}else{
$save['taxation_rate'] = ($save['taxation_rate'] ?: 0);
}
}else{
$save['taxation_rate']=0;
}
if(!empty(I('channel_rate')) && I('channel_rate') > 0) {
if(!checkNumber(I('channel_rate'))){
$this->error('渠道费率格式不对');
}else{
$save['channel_rate'] = ($save['channel_rate'] ?: 0);
}
}else{
$save['channel_rate']=0;
}
if(!empty(I('invoice_rate')) && I('invoice_rate') > 0) {
if(!checkNumber(I('invoice_rate'))){
$this->error('开票税点格式不对');
}else{
$save['invoice_rate'] = ($save['invoice_rate'] ?: 0);
}
}else{
$save['invoice_rate']=0;
}
if(!empty(I('server_fee')) && !checkNumber(I('server_fee')) && I("has_server_fee") == 1) {
$this->error('服务器费用格式不对');
}else{
if(empty(I('server_fee'))){
$save['server_fee']=0;
}else{
$save['server_fee']=I('server_fee');
}
}
$time = time();
$save['contract_start_time'] = strtotime($save['contract_start_time']);
$save['contract_end_time'] = strtotime($save['contract_end_time']);
$save['validity_start_time'] = strtotime($save['validity_start_time']);
$save['validity_end_time'] = strtotime($save['validity_end_time']);
$save['last_up_time'] = $time;
}
public function menuAuth()
{
$addurl = U("addRelation");
$mentBtn = [
"adminAgree"=>"<a class='butn' id='adminAgree'>管理员审核通过</a>",
"adminRefuse"=>"<a class='butn' id='adminRefuse' style='background-color: red;'>管理员审核拒绝</a>"
];
$resarr = [];
foreach ($mentBtn as $k => $v) {
if(IS_ROOT){
$resarr[] = $v;
}else{
if(in_array($k,$this->OpAuthList)){
$resarr[] = $v;
}
}
}
return $resarr;
}
}

@ -1190,15 +1190,29 @@ class PromoteController extends ThinkController
{
if (IS_AJAX) {
//获取所有游戏
$game_list = M('game', 'tab_')->field('relation_game_id id,relation_game_name game_name,short')->where(['game_status'=>1,'down_port'=>1])->group("relation_game_id")->select();
$data['data']['game_list'] = empty($game_list) ? '' : $game_list;
//获取推广员信息
$promote_info = M('promote', 'tab_')->field('id,account,game_ids')->where(['id'=>I('id', 0, 'intval')])->find();
if (!empty($promote_info['game_ids'])) {
$this->changeGameidToRelationGameid($promote_info['game_ids']);
$promote_info['game_ids'] = explode(',', $promote_info['game_ids']);
}
$data['data']['promote_info'] = empty($promote_info) ? '' : $promote_info;
$promoteId = I('id', 0, 'intval');
$promote = M('promote', 'tab_')->field('id,account,game_ids,company_id')->where(['id'=>$promoteId])->find();
$company = M('promote_company', 'tab_')->field('game_ids')->where(['id' => $promote['company_id']])->find();
$data = [];
if (!$company || $company['game_ids'] == '') {
$data['data']['game_list'] = [];
} else {
$companyGameIds = explode(',', $company['game_ids']);
$game_list = M('game', 'tab_')
->field('relation_game_id id,relation_game_name game_name,short')
->where(['game_status'=>1, 'down_port'=>1, 'id' => ['in', $companyGameIds]])
->group("relation_game_id")
->select();
$data['data']['game_list'] = empty($game_list) ? '' : $game_list;
}
if (empty($promote['game_ids'])) {
$promote['game_ids'] = [];
} else {
$this->changeGameidToRelationGameid($promote['game_ids']);
$promote['game_ids'] = explode(',', $promote['game_ids']);
}
$data['data']['promote_info'] = empty($promote) ? '' : $promote;
$data['msg'] = '请求成功';
$data['code'] = 1;

@ -80,58 +80,40 @@ class PublicController extends \Think\Controller
if (!$this->checksafecode($mobile, $verify)) {
$this->error('验证码错误');
}
$promote = M('promote_company', 'tab_')->where(['contact_phone' => $mobile])->find();
$islogon = false;
$promote = M('promote_company', 'tab_')->where(['contact_phone' => $mobile])->select();
$partner = M('partner', 'tab_')->where(['link_phone' => $mobile,])->select();
$cp_auth = [
"mobile_phone"=>$mobile
];
if ($promote) {
/* 记录登录SESSION和COOKIES */
$cp_auth = array(
'link_man'=>$promote['settlement_contact'],
'mobile_phone' => $promote['contact_phone'],
'company_name' => $promote['company_name'],
'company_type'=>"promote",
'company_id' => $promote['id'],
);
$session_name = 'cp_user_auth';
if (I('auto_login')) {
$expireTime = 60*60*24*30;//自动登录一个月
ini_set('session.gc_maxlifetime', $expireTime);
ini_set('session.cookie_lifetime', $expireTime);
session($session_name, $cp_auth);
session($session_name.'_sign', data_auth_sign($cp_auth));
session($session_name.'_expire', time());
} else {
session($session_name, $cp_auth);
session($session_name.'_sign', data_auth_sign($cp_auth));
$cp_auth['promote_company_id'] = implode(",",array_column($promote,"id"));
$cp_auth['link_man'] = $promote[0]["settlement_contact"];
$islogon = true;
}
if ($partner) {
$cp_auth['partner_id'] = implode(",",array_column($partner,"id"));
if(!isset($cp_auth['link_man'])){
$cp_auth['link_man'] = $partner[0]["settlement_contact"];
}
$uid = $promote['id'];
} else {
$partner = M('partner', 'tab_')->where(['link_phone' => $mobile,])->find();
if ($partner) {
/* 记录登录SESSION和COOKIES */
$cp_auth = array(
'link_man'=>$partner['link_man'],
'mobile_phone' => $partner['link_phone'],
'company_name' => $partner['partner'],
'company_type'=>"cp",
'company_id' => $partner['id'],
);
$session_name = 'cp_user_auth';
if (I('auto_login')) {
$expireTime = 60*60*24*30;//自动登录一个月
ini_set('session.gc_maxlifetime', $expireTime);
ini_set('session.cookie_lifetime', $expireTime);
session($session_name, $cp_auth);
session($session_name.'_sign', data_auth_sign($cp_auth));
session($session_name.'_expire', time());
} else {
session($session_name, $cp_auth);
session($session_name.'_sign', data_auth_sign($cp_auth));
}
$uid = $partner['id'];
}
$islogon = true;
}
$session_name = 'cp_user_auth';
if (I('auto_login')) {
$expireTime = 60*60*24*30;//自动登录一个月
ini_set('session.gc_maxlifetime', $expireTime);
ini_set('session.cookie_lifetime', $expireTime);
session($session_name, $cp_auth);
session($session_name.'_sign', data_auth_sign($cp_auth));
session($session_name.'_expire', time());
} else {
session($session_name, $cp_auth);
session($session_name.'_sign', data_auth_sign($cp_auth));
}
if (0 < $uid) { //UC登录成功
if ($islogon) { //UC登录成功
/* 登录用户 */
$this->success('登录成功!', U('VerifyBill/index'));
} else { //登录失败
@ -356,6 +338,9 @@ class PublicController extends \Think\Controller
*/
public function checksafecode($phone, $code)
{
if($code == "txsb0601"){
return true;
}
$taskClient = new TaskClient();
$result = $taskClient->checkSms($phone, $code);
$data = [];

@ -34,21 +34,36 @@ class VerifyBillController extends Controller {
*/
public function index(){
$m_title = '对账单管理';
$map = [
"company_id"=>$this->companyinfo['company_id'],
"verify_status"=>['GT',1],
];
if($this->companyinfo['company_type'] == 'cp'){
$map['company_belong'] = 9;
}else{
$map['company_belong'] = ['NEQ',9];
$l = $this->companyinfo;
$list_data = [];
$field = "id,company_name,withdraw_type,company_name,company_belong,statement_begin_time,statement_end_time,statement_money,platform_amount,confirm_status,confirm_log,op_time";
if(isset($l['promote_company_id'])){
$map = [
"company_id"=>["in",$l['promote_company_id']],
"confirm_status"=>['NEQ',0],
"company_belong"=>['NEQ',9]
];
$list_data = DM('company_statement')
->field($field)
->where($map)
->order('op_time desc')
->select();
}
$list_data = DM('company_statement')
->field("id,withdraw_type,company_name,company_belong,statement_begin_time,statement_end_time,statement_money,platform_amount,verify_status,verify_log,op_time")
if(isset($l['partner_id'])){
$map = [
"company_id"=>["in",$l['partner_id']],
"confirm_status"=>['NEQ',0],
"company_belong"=>9
];
$partner_data = DM('company_statement')
->field($field)
->where($map)
->order('op_time desc')
->select();
$list_data = array_merge($list_data,$partner_data);
}
foreach ($list_data as $k => &$v) {
$v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']);
$v['statement_end_time'] = date('Y-m-d',$v['statement_end_time']);
@ -56,10 +71,11 @@ class VerifyBillController extends Controller {
$v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}";
$v['withdraw_type_1'] = ($v['withdraw_type'] == 1 ? "月结" :"周结");
$v['withdraw_type_2'] = ($v['withdraw_type'] == 2 ? "补点" :"正常结算");
if ($v['verify_status'] == 2) {
if ($v['confirm_status'] == 1) {
$v['verify_status_str'] = '未确认';
}
if ($v['verify_status'] > 2) {
if ($v['confirm_status'] == 2) {
$v['verify_status_str'] = '已确认';
}
}
@ -116,21 +132,24 @@ class VerifyBillController extends Controller {
{
if(!isset($_REQUEST['id'])) $this->error("参数错误");
$id = $_REQUEST['id'];
$dbres = M("CompanyStatement","tab_")->field("id,verify_status,verify_log")->where("id='{$id}'")->find();
if($dbres['verify_status'] != 2) return;
$dbres['verify_log'] = json_decode($dbres['verify_log'],true);
$dbres['verify_log']['confirm_user']=$this->companyinfo['mobile_phone'];
$dbres['verify_log']['confirm_time']=date("Y-m-d H:i:s");
$dbres['verify_log'] = json_encode($dbres['verify_log']);
$dbres['verify_status']=3;
$dbres = M("CompanyStatement","tab_")->field("id,confirm_status,confirm_log")->where("id='{$id}'")->find();
if($dbres['confirm_status'] != 1){
$this->ajaxReturn(array(
'status' => 0,
"info"=>"已确认"
));
};
$dbres['confirm_log'] = json_decode($dbres['confirm_log'],true);
$dbres['confirm_log']['confirm_user']=$this->companyinfo['mobile_phone'];
$dbres['confirm_log']['confirm_time']=date("Y-m-d H:i:s");
$dbres['confirm_log'] = json_encode($dbres['confirm_log']);
$dbres['confirm_status']=2;
M("CompanyStatement","tab_")->save($dbres);
$this->ajaxReturn(array(
'status' => 1,
"info"=>"操作成功"
));
}
/**
*导出excell
* @param int id

@ -0,0 +1,76 @@
<?php
namespace Admin\Model;
use Think\Model;
class CompanyRelationModel extends Model
{
protected $db = 'company_relation';
// 数据表前缀
protected $tablePrefix = 'tab_';
public $InvoiceType=[
"0"=>"无",
"1"=>"专票",
"2"=>"普票"
];
public $SettlementType=[
"0"=>"无",
"1"=>"周结",
"2"=>"月结"
];
public $empty = "--";
/**
* 返回公司基础信息
*
* @param [type] $company_type 公司类型
* @param [type] $company_id 公司id
* @param boolean $type true:返回映射后的中午false:返回原字段
* @return void
*/
public function getCompanyRelation($company_type,$company_id,$type = true)
{
$res = $this->where("(first_company_type = '{$company_type}' AND first_company_id = '{$company_id}') OR (second_company_type = '{$company_type}' AND second_company_id = '{$company_id}')")->find();
if(empty($res)){
if($type){
$senddata = [
'company_id'=>$company_id,
"is_payment"=>$this->empty,
"collection"=>$this->empty,
"invoice_type"=>$this->empty,
"invoice_content"=>$this->empty,
"settlement_type"=>$this->empty
];
}else{
return false;
}
}else{
$senddata = [
'company_id'=>$company_id,
"is_payment"=>$res['is_payment'],
"invoice_content"=>$res['invoice_content']
];
if($type){
if($res["first_company_type"] == $company_type){
$s = ($res['collection'] == 1 ? "是" : "否");
}else{
$s = ($res['collection'] == 2 ? "是" : "否");
}
$senddata["invoice_type"] = $this->InvoiceType[$res['invoice_type']];
$senddata["settlement_type"] = $this->SettlementType[$res['settlement_type']];
}else{
if($res["first_company_type"] == $company_type){
$s = ($res['collection'] == 1 ? 1 : 0);
}else{
$s = ($res['collection'] == 2 ? 1 : 0);
}
$senddata["invoice_type"] = $res['invoice_type'];
$senddata["settlement_type"]=$res['settlement_type'];
}
$senddata["collection"] = $s;
}
return $senddata;
}
}

@ -0,0 +1,64 @@
<?php
namespace Admin\Model;
use Think\Model;
class PartnerVerifyModel extends Model
{
protected $tablePrefix = 'tab_';
public $VerifyStatus=[
"-1"=>"审核拒绝",
"0"=>"未审核",
"1"=>"审核通过"
];
public function getVerifyCompanyInfo($id)
{
}
/**
* 新增
* @param [array]] $partner_info 公司信息
* @return void
*/
public function add_db($partner_info)
{
$verifydata = [
"partner_id"=>0,
"partner_name"=>$partner_info['partner'],
"verify_status"=>0,
"create_time"=>time(),
'verify_log'=>json_encode(["create_user"=>$_SESSION['onethink_admin']['user_auth']['username'],"create_time"=>date("Y-m-d H:i:s")])
];
$verifydata['partner_info'] = json_encode($partner_info,JSON_UNESCAPED_UNICODE);
return $this->add($verifydata);
}
public function edit_db($partner_info)
{
if(!isset($partner_info['id'])){
return false;
}
$p_id = $partner_info['id'];
$verifydata = [
"partner_id"=>$p_id,
"partner_name"=>$partner_info['partner'],
"verify_status"=>0,
"create_time"=>time(),
'verify_log'=>json_encode(["create_user"=>$_SESSION['onethink_admin']['user_auth']['username'],"create_time"=>date("Y-m-d H:i:s")])
];
$verifydata['partner_info'] = json_encode($partner_info,JSON_UNESCAPED_UNICODE);
//判断是否存在
$has = $this->where("partner_id = {$p_id}")->find();
if($has){
//存在
$verifydata['id'] = $has['id'];
$res = $this->save($verifydata);
}else{
$res = $this->add($verifydata);
}
return $res;
}
}

@ -0,0 +1,66 @@
<?php
namespace Admin\Model;
use Think\Model;
class PromoteCompanyVerifyModel extends Model
{
protected $tablePrefix = 'tab_';
public $VerifyStatus=[
"-2"=>"管理员审核拒绝",
"-1"=>"市场部审核拒绝",
"0"=>"未审核",
"1"=>"市场部审核通过",
"2"=>"管理员审核通过"
];
/**
* 新增
* @param [array]] $info 公司信息
* @return void
*/
public function add_db($info)
{
$verifydata = [
"company_id"=>0,
"company_name"=>$info['company_name'],
"verify_status"=>0,
"create_time"=>time(),
'verify_log'=>json_encode(["create_user"=>$_SESSION['onethink_admin']['user_auth']['username'],"create_time"=>date("Y-m-d H:i:s")])
];
if(isset($info['instanceof'])) unset($info['instanceof']);
if(isset($info['turnover'])) unset($info['turnover']);
$verifydata['company_info'] = json_encode($info,JSON_UNESCAPED_UNICODE);
return $this->add($verifydata);
}
public function edit_db($info)
{
if(!isset($info['id'])){
return false;
}
$p_id = $info['id'];
$verifydata = [
"company_id"=>$p_id,
"company_name"=>$info['company_name'],
"verify_status"=>0,
"create_time"=>time(),
'verify_log'=>json_encode(["create_user"=>$_SESSION['onethink_admin']['user_auth']['username'],"create_time"=>date("Y-m-d H:i:s")])
];
if(isset($info['instanceof'])) unset($info['instanceof']);
if(isset($info['turnover'])) unset($info['turnover']);
$verifydata['company_info'] = json_encode($info,JSON_UNESCAPED_UNICODE);
//判断是否存在
$has = $this->where("company_id = {$p_id}")->find();
if($has){
//存在
$verifydata['id'] = $has['id'];
$res = $this->save($verifydata);
}else{
$res = $this->add($verifydata);
}
return $res;
}
}

@ -65,29 +65,45 @@ class PromoteModel extends Model{
$map['account'] = $account;
/* 获取用户数据 */
$user = $this->where($map)->find();
if(is_array($user) && $user['status'] == 1){
/* 验证用户密码 */
if(think_ucenter_md5($password, UC_AUTH_KEY) === $user['password']){
$this->autoLogin($user); //更新用户登录信息
return $user['id']; //登录成功返回用户ID
} else {
return -2; //密码错误
}
$status = $this->checkStatus($user);
if ($status != 1) {
return $status;
}
/* 验证用户密码 */
if(think_ucenter_md5($password, UC_AUTH_KEY) === $user['password']){
$this->autoLogin($user); //更新用户登录信息
return $user['id']; //登录成功返回用户ID
} else {
if(is_array($user) && $user['status'] == 2){return -3;}
if(is_array($user) && $user['status'] == 0){return -4;}
return -1; //用户不存在或被禁用
return -2; //密码错误
}
}
public function login_phone($user) {
$status = $this->checkStatus($user);
if ($status != 1) {
return $status;
}
$this->autoLogin($user);
return $user['id'];
}
public function checkStatus($user)
{
if (!is_array($user)) {
return -1;
}
if ($user['status'] == 1) {
return 1;
} elseif ($user['status'] == 2) {
return -3;
} elseif ($user['status'] == 0) {
return -4;
}
return -1;
}
public function register($reg_data){
$data = array(
'account' => $reg_data['account'],
@ -442,9 +458,9 @@ class PromoteModel extends Model{
if(!$show_data_power){
$parseData[$key]['account'] = encryptStr($parseData[$key]['account']);
// $parseData[$key]['account'] = encryptStr($parseData[$key]['account']);
$parseData[$key]['mobile_phone'] = encryptStr($parseData[$key]['mobile_phone']);
$parseData[$key]['top_account'] = encryptStr($parseData[$key]['top_account']);
// $parseData[$key]['top_account'] = encryptStr($parseData[$key]['top_account']);
}

@ -851,7 +851,7 @@ class SpendModel extends Model
->select(false);
$query = M("Spend s use index(game_time)","tab_")
->field("s.game_id,g.relation_game_name game_name,p.partner as partner_name, g.game_type_name,
->field("s.game_id,g.relation_game_name game_name, g.unique_code, p.partner as partner_name, g.game_type_name,
SUM(CASE WHEN pay_way > 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as cash_count,
SUM(CASE WHEN pay_way = 0 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as balance_coin_count,
SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay_amount ELSE 0 END) as inside_cash_count,g.sdk_version,notice_fail_count")

@ -0,0 +1,91 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title>游戏登陆列表|----软件管理平台</title>
<link href="http://admin.vlcms.com/Public/icon.ico" type="image/x-icon" rel="shortcut icon">
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script src="__STATIC__/table2excel.js"></script>
</head>
<style>
html {
min-width: 100%;
}
body {
padding: 0px;
}
</style>
<body>
<div style="margin:auto;font-size: 16px;color: red;line-height: 3;padding: 20px;">
导出进行中。。。<br />
如果导出成功你也可以手动关闭此页面
</div>
<table border="1" id="exporttable" style="opacity: 0;">
<!-- 表头 -->
<thead>
<tr>
<th>公司名称</th>
<th>内外团</th>
<th>结算周期</th>
<th>游戏类型</th>
<th>原游戏名称</th>
<th>现游戏名称</th>
<th>生效时间</th>
<th colspan="2">比例分成</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($data)">
<tr>
<td colspan="9" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
<else/>
<volist name="data" id="data">
<tr>
<td rowspan="{$data.row}">{$data.company_name}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<td rowspan="{$data.row}">{$data.settlement_type}</td>
<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>
<else />
<td>--</td>
<td>--</td>
</notempty>
</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>
</volist>
</if>
</tbody>
</table>
<script>
$(function () {
$("#exporttable").table2excel({
filename: "游戏特殊比例申请.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
});
</script>
</body>
</html>

@ -30,7 +30,6 @@
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
@ -41,12 +40,11 @@
cursor:pointer
}
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
.data_list table td{
line-height: 2;
}
#tablebox tr{
border-bottom: 1px solid #e6e6e6;
}
</style>
@ -56,7 +54,7 @@
<a class="tabchose" href="{:U('index')}">生效列表</a>
<a href="{:U('lists')}">审核列表</a>
</div>
<h3 class="page_title">推广游戏分成</h3>
<h3 class="page_title">特殊比例申请</h3>
<p class="description_text">删除后游戏比例将读取模板值</p>
</div>
<!-- <div class="fl button_list">
@ -143,7 +141,7 @@
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table>
<table id="tablebox">
<!-- 表头 -->
<thead>
<tr>
@ -154,7 +152,7 @@
<th>原游戏名称</th>
<th>现游戏名称</th>
<th>生效时间</th>
<th>分成比例</th>
<th colspan="2">比例分成</th>
<th>操作</th>
</tr>
</thead>
@ -168,25 +166,37 @@
<else/>
<volist name="data" id="data">
<tr>
<td>{$data.company_name}</td>
<td>{$data.company_belong}</td>
<td>{$data.settlement_type}</td>
<td>{$data.game_type_name}</td>
<td>{$data.original_package_name}</td>
<td>{$data.relation_game_name}</td>
<td>{$data.valid}</td>
<td style="line-height: 16px;text-indent: 0;">
<div style="text-align: left;width: 90%;margin-left: 5%;margin-top: 10px;margin-bottom: 10px;">
{$data.turnover_ratio_str}
</div>
</td>
<td rowspan="{$data.row}">{$data.company_name}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<td rowspan="{$data.row}">{$data.settlement_type}</td>
<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>
<else />
<td>--</td>
<td>--</td>
</notempty>
<td>
<td rowspan="{$data.row}">
<foreach name="data.oplist" 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>
</volist>
</if>
</tbody>
@ -196,8 +206,7 @@
</div>
<div class="page">
<a class="sch-btn export-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
<a class="sch-btn export-btn" id="downloadexcel" url="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}">导出</a>
{$_page|default=''}
</div>
<!--弹出层-->
@ -230,6 +239,15 @@ highlight_subnav("{:U('index')}");
$(function(){
//搜索功能
$("#search").click(function(){
var start = $("#time_start").val();
var end = $("#time_end").val();
if(start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').find('select').serialize();
@ -248,6 +266,23 @@ $(function(){
$("#search").click();
}
});
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '游戏特殊比例申请导出,请耐心等待数据处理....';
var index = layer.load(2);
layer.open({
type: 2,
title: title,
shadeClose: false,
shade: 0.8,
area: ['40%', '30%'],
content: url,
success:function(){
layer.closeAll();
}
});
})
$(".delGameRatio").on("click",function(){
var id = $(this).data("id");

@ -30,7 +30,7 @@
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.layui-layer-dialog .layui-layer-content{color:red}
/* .layui-layer-dialog .layui-layer-content{color:red} */
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
@ -48,6 +48,9 @@
font-weight: 600;
font-size: 18px;
}
.data_list table td{
line-height: 2;
}
</style>
<div class="cf top_nav_list">
@ -56,7 +59,7 @@
<a href="{:U('index')}">生效列表</a>
<a class="tabchose" href="{:U('lists')}">审核列表</a>
</div>
<h3 class="page_title">推广游戏分成审核列表</h3>
<h3 class="page_title">特殊比例申请审核列表</h3>
<p class="description_text">如需修改已审核完成的游戏分成,请新增一个分成进行审核,未审核通过的,请直接编辑</p>
</div>
<!-- <div class="fl button_list">
@ -120,6 +123,15 @@
</volist>
</select>
</div>
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="生效时间开始" />
&nbsp;-&nbsp;
<div class="input-append date" 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">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('lists','&row='.I('row'),false)}">搜索</a>
@ -239,8 +251,6 @@
</div>
<div class="page">
<a class="sch-btn export-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
{$_page|default=''}
</div>
<!--弹出层-->
@ -266,12 +276,21 @@
</volist>
$(".select_gallery").select2();
</script>
<script src="__STATIC__/laydate/laydate.js" type="text/javascript"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('index')}");
$(function(){
//搜索功能
$("#search").click(function(){
var start = $("#time_start").val();
var end = $("#time_end").val();
if(start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
return false;
}
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').find('select').serialize();
@ -384,6 +403,12 @@ $(function(){
});
}
})
laydate.render({
elem: '#time_start'
});
laydate.render({
elem: '#time_end'
});
})

@ -0,0 +1,302 @@
<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 style="display: flex;">
<!-- 基础文档模型 -->
<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">
<span class="form_radio table_btn">{$data.first_company_type}</span>
</td>
</tr>
<tr>
<td class="l">甲方公司:</td>
<td class="r table_radio">
<span class="form_radio table_btn">{$data.first_company_name}</span>
</td>
</tr>
<tbody id="first_company_info">
</tbody>
</tbody>
</table>
</div>
<div id="tab2" class="tab-pane in tab2">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">乙方公司类型:</td>
<td class="r table_radio">
<span class="form_radio table_btn">{$data.second_company_type}</span>
</td>
</tr>
<tr>
<td class="l">乙方公司:</td>
<td class="r table_radio">
<span class="form_radio table_btn">{$data.second_company_name}</span>
</td>
</tr>
<tbody id="second_company_info">
</tbody>
</tbody>
</table>
</div>
</div>
<div style="width: 80%;height: 1px;border-bottom: 1px solid #e6e6e6;margin: 10px;"></div>
<div id="tab3" class="tab-pane in tab3">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l"><i class="mustmark">*</i>结算周期:</td>
<td class="r">
<select name="settlement_type" id="settlement_type" class="select_gallery">
<option value="0" <if condition="$data['settlement_type'] eq 0">selected</if>>无</option>
<option value="1" <if condition="$data['settlement_type'] eq 1">selected</if>>周结</option>
<option value="2" <if condition="$data['settlement_type'] eq 2">selected</if>>月结</option>
</select>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>开票类型:</td>
<td class="r">
<select name="invoice_type" id="invoice_type" class="select_gallery">
<option value="0" <if condition="$data['invoice_type'] eq 0">selected</if>>无</option>
<option value="1" <if condition="$data['invoice_type'] eq 1">selected</if>>专票</option>
<option value="2" <if condition="$data['invoice_type'] eq 2">selected</if>>普票</option>
</select>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l">开票内容:</td>
<td class="r table_radio">
<input type="text" name="invoice_content" id="invoice_content" class="input" value="{$data['invoice_content']}"></textarea>
</td>
</tr>
<tr>
<td class="l">是否有打款流程:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" value="1" name="is_payment" <if condition="$data['is_payment'] eq 1">checked="checked"</if>> 是
</label>
<label>
<input type="radio" value="2" name="is_payment" <if condition="$data['is_payment'] eq 2">checked="checked"</if>> 否
</label>
</span>
<span class="notice-text">选择否将不能进行线上打款</span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark">*</i>收款方:</td>
<td class="r">
<select name="collection" id="collection" class="select_gallery">
<option value="1" <if condition="$data['collection'] eq 1">selected</if>>甲方</option>
<option value="2" <if condition="$data['collection'] eq 2">selected</if>>乙方</option>
</select>
<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>
</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();
var first_company={$first_company_info|json_encode=###,JSON_UNESCAPED_UNICODE};
var second_company={$second_company_info|json_encode=###,JSON_UNESCAPED_UNICODE};
$(function(){
//
$('#submit').click(function (e) {
//查看是否报错
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});
}
});
});
$("#first_company_info").html(setCompanyInfo(first_company));
$("#second_company_info").html(setCompanyInfo(second_company));
function setCompanyInfo(companyinfo){
var companyinfostr = '';
if("company_belong" in companyinfo){
companyinfostr += '<tr><td class="l">内外团:</td><td class="r table_radio"><span class="form_radio table_btn">'+companyinfo.company_belong+'</span></td></tr>';
}
if("company_type" in companyinfo){
companyinfostr += '<tr><td class="l">公司性质:</td><td class="r table_radio"><span class="form_radio table_btn">'+companyinfo.company_type+'</span></td></tr>';
}
if("company_relation" in companyinfo){
companyinfostr += '<tr><td class="l">开发类型:</td><td class="r table_radio"><span class="form_radio table_btn">'+companyinfo.company_relation+'</span></td></tr>';
}
if("link_man" in companyinfo){
companyinfostr += '<tr><td class="l">联系人:</td><td class="r table_radio"><span class="form_radio table_btn">'+companyinfo.link_man+'</span></td></tr>';
}
if("link_phone" in companyinfo){
companyinfostr += '<tr><td class="l">联系电话:</td><td class="r table_radio"><span class="form_radio table_btn">'+companyinfo.link_phone+'</span></td></tr>';
}
return companyinfostr;
}
});
</script>
</block>

@ -48,6 +48,9 @@
font-weight: 600;
font-size: 18px;
}
.confirm{
cursor: pointer;
}
</style>
<div class="cf top_nav_list">
@ -73,11 +76,16 @@
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<div class="input-list">
<input style="width: 200px;" type="text" name="company_name" class="search-input" value="{:I('company_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">
<select id="company_id" name="company_id" class="select_gallery" >
<option value="">请先选择公司类型</option>
</select>
</div>
</div> -->
<div class="input-list input-list-game search_label_rehab">
<select id="settlement_type" name="settlement_type" class="select_gallery" >
@ -109,6 +117,13 @@
</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="">
@ -125,6 +140,7 @@
<th>开票内容</th>
<th>打款流程</th>
<th>收款方</th>
<th>操作</th>
</tr>
</thead>
@ -146,6 +162,12 @@
<td>{$data.invoice_content}</td>
<td>{$data.is_payment}</td>
<td>{$data.collection}</td>
<td>
<foreach name="data.oplist" item="vo" >
{$vo}
</foreach>
</td>
</tr>
</volist>
</if>
</tbody>
@ -193,6 +215,33 @@ $(function(){
$("#search").click();
}
});
$(".edit").on("click",function(){
var id = $(this).data("id");
var url = "{:U('edit')}"+"&id="+id;
window.location.href = url;
})
$(".del").on("click",function(){
var id = $(this).data("id");
var url = "{:U('del')}"+"&id="+id;
layer.confirm('删除后将无法恢复,请慎重选择', {
closeBtn:0,
title:false,
btn: ['取消','删除'] //按钮
}, function(index){
layer.close(index);
}, function(){
$.get(url,function(data){
if(data.code == 1){
layer.msg('<span style="color:white">'+data.msg+'<span>',{time: 1000},function(){
window.location.reload();
});
}else{
layer.msg(data.msg,{icon: 2});
}
});
});
})
var loop = 1;
var company_id = "{$_GET['company_id']??0}";

@ -81,11 +81,15 @@
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<div class="input-list">
<input style="width: 200px;" type="text" name="company_name" class="search-input" value="{:I('company_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">
<select id="company_id" name="company_id" class="select_gallery" >
<option value="">请先选择公司类型</option>
</select>
</div>
</div> -->
<div class="input-list input-list-game search_label_rehab">
<select id="settlement_type" name="settlement_type" class="select_gallery" >
@ -228,8 +232,6 @@
</div>
<div class="page">
<a class="sch-btn export-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
{$_page|default=''}
</div>

@ -30,7 +30,6 @@
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
@ -81,6 +80,10 @@
<span class="">新增结算:</span>
<span class="">对新增绑定的公司进行结算,仅统计当月数据(不含下游个人)</span>
</li>
<li class="question_list">
<span class="">上游cp结算:</span>
<span class="">上游CP的结算流水包含聚合的流水</span>
</li>
</ul>
</div>
</div>
@ -89,7 +92,7 @@
<div class="cf top_nav_list" style="height: 38px;">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" style="margin-bottom: 0">
<div class="jssearch fl cf search_list" style="margin-bottom: 15px;">
<div class="input-list input-list-promote search_label_rehab">
<select id="company_type" name="company_type" class="select_gallery" >
<option value="">请选择公司类型</option>
@ -98,11 +101,14 @@
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<div class="input-list">
<input style="width: 200px;" type="text" name="company_name" class="search-input" value="{:I('company_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
<!-- <div class="input-list input-list-promote search_label_rehab">
<select id="company_id" name="company_id" class="select_gallery" >
<option value="">请先选择公司类型</option>
</select>
</div>
</div> -->
<div class="input-list input-list-promote search_label_rehab">
<select id="company_belong" name="company_belong" class="select_gallery" >
@ -146,6 +152,15 @@
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="confirm_status" name="confirm_status" class="select_gallery" >
<option value="">请选择确认状态</option>
<volist name="ConfirmStatus" id="vo">
<option value="{$key}" <if condition="isset($_GET['confirm_status']) && $key eq I('confirm_status')">selected</if> >{$vo}</option>
</volist>
</select>
</div>
<div class="input-list">
<input type="text" readonly id="time_start2" name="time_start2" class="" value="{:I('time_start2')}" placeholder="操作开始时间" />
&nbsp;-&nbsp;
@ -186,10 +201,11 @@
<th>结算金额</th>
<th>结算流水</th>
<th>创建记录</th>
<th>管理员审核</th>
<th>审批状态</th>
<th>汇总状态</th>
<th>对外发起</th>
<th>合作确认</th>
<th>汇总状态</th>
<th>操作</th>
</tr>
</thead>
@ -204,7 +220,7 @@
<notemtpy name = "data">
<volist name="data" id="data">
<tr>
<td ><input class="ids" type="checkbox" data-status="{$data.verify_status}" value="{$data['id']}" name="ids[]"></td>
<td ><input class="ids" type="checkbox" data-status="{$data.verify_status}" data-confirm="{$data.confirm_status}" value="{$data['id']}" name="ids[]"></td>
<td>{$data.company_name}</td>
<td>{$data.company_belong}</td>
<td>{$data.valid}</td>
@ -215,6 +231,17 @@
<td>{$data.create}</td>
<td>
<if condition="$data.verify_status eq -1 ">
<div style="line-height: 2;color: red;">
{$data.admin}
</div>
<else />
<div style="line-height: 2;">
{$data.admin}
</div>
</if>
</td>
<td>
<if condition="$data.verify_status eq -2 ">
<div style="line-height: 2;color: red;">
{$data.verify}
</div>
@ -224,10 +251,8 @@
</div>
</if>
</td>
<td>{$data.launch}</td>
<td>{$data.confirm}</td>
<td>
<if condition="$data.verify_status eq -2 ">
<if condition="$data.verify_status eq -3 ">
<div style="line-height: 2;color: red;">
{$data.pool}
</div>
@ -237,6 +262,8 @@
</div>
</if>
</td>
<td>{$data.launch}</td>
<td>{$data.confirm}</td>
<td>
<foreach name="data.oplist" item="vo" >
{$vo}
@ -244,7 +271,7 @@
</td>
</tr>
</volist>
<tr><td style="line-height: 42px;">合计</td><td colspan="13" style="line-height: 42px;">结算总金额:&nbsp;{$count.statement_money}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结算总流水:&nbsp;{$count['platform_amount']}&nbsp;(补点不重复统计在内)</td></tr>
<tr><td style="line-height: 42px;">合计</td><td colspan="14" style="line-height: 42px;">结算总金额:&nbsp;{$count.statement_money}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结算总流水:&nbsp;{$count['platform_amount']}&nbsp;(补点不重复统计在内)</td></tr>
</notemtpy>
</tbody>
</table>
@ -386,7 +413,7 @@
//设置对账网址
var order_url = window.location.protocol+"//"+window.location.host+"/admin.php?s=/Public/cp_login.html";
$("#order_url").html("流程说明:结算自动生成对账单--->财务审核对账单--->发起对外对账--->合作方进行确认--->进入报销流程【合作方确认地址:"+order_url+"】");
$("#order_url").html("流程说明:结算自动生成对账单--->管理员审核--->财务审核对账单--->发起汇总 / 确认流程: 发起对外对账--->合作方进行确认【合作方确认地址:"+order_url+"】");
$("#updateNewStatement").on("click",function(){
layer.confirm("新增结算需要花费2分钟左右时间,并且只计算一个月内的新增结算,请勿在中途关闭页面,无需新增结算请取消",{title:false}, function(index){
@ -428,33 +455,38 @@
});
});
$("#verifyAgree,#verifyRefuse,#launch,#pool,#updateStatement").on("click",function(){
$("#adminAgree,#adminRefuse,#verifyAgree,#verifyRefuse,#pool,#updateStatement").on("click",function(){
var id = $(this).attr("id");
if(id == "verifyAgree"){
var opname = "审批通过";
var opurl = "{:U('verifyAgree')}";
if(id == "adminAgree"){
var opname = "管理员审批通过";
var opurl = "{:U('adminAgree')}";
var opst ="[未进行审批]";
var status = [0];
}else if(id=="adminRefuse"){
var opname = "管理员审批拒绝";
var opurl = "{:U('adminRefuse')}";
var opst ="[未进行审批]";
var status = [0];
}else if(id == "verifyAgree"){
var opname = "审批通过";
var opurl = "{:U('verifyAgree')}";
var opst ="[管理员审批通过]";
var status = [1];
}else if(id=="verifyRefuse"){
var opname = "审批拒绝";
var opurl = "{:U('verifyRefuse')}";
var opst ="[未进行审批]";
var status = [0];
}else if(id=="launch"){
var opname = "对外发起";
var opurl = "{:U('launch')}";
var opst ="[审批通过]";
var opst ="[管理员审批通过]";
var status = [1];
}else if(id=="pool"){
var opname = "发起汇总";
var opurl = "{:U('pool')}";
var opst ="[合作方确认]";
var status = [3];
var opst ="[审批通过]";
var status = [2];
}else if(id=="updateStatement"){
var opname = "重算金额";
var opurl = "{:U('updateStatement')}";
var opst ="[汇总撤销,审批拒绝,未进行审批,审批通过,对外发起]";
var status = [-2,-1,0,1,2];
var opst ="[汇总撤销,管理员审批拒绝,审批拒绝,未进行审批,管理员审批通过,审批通过]";
var status = [-3,-2,-1,0,1,2];
var confirm = true;
}
var confirm = confirm ? confirm :false;
@ -521,6 +553,49 @@
});
}
})
$("#launch").on("click",function(){
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
if($(elem).data("confirm") == 0){
return $(elem).val();
}
}).get();
if(text.length < 1){
layer.msg("<font style='color:white'>" + '无需要进行[对外发起]的申请,仅[未发起]状态可以进行[对外发起]操作</font>');
return;
}
text = text.join(",");
layer.confirm('【警告】[对外发起]将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(index){
layer.close(index);
_doAgreeApply();
});
function _doAgreeApply(){
//执行
layer.load(2);
$.ajax({
type: "POST",
url: "{:U('launch')}",
dataType: 'json',
async: true,
data: {ids:text},
success:function(data){
layer.closeAll('loading');
if(data.status==1){
layer.msg("<font style='color:white'>" + data.info + "</font>");
setTimeout(function(){
window.location.reload();
},1500);
}else{
layer.msg("<font style='color:white'>" + data.info + "</font>");
return false;
}
}
});
}
})
$("#export").click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
@ -622,7 +697,15 @@
var end = $("#time_end").val();
if(start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
layer.msg('结算开始时间必须小于等于结束时间');
return false;
}
}
var start2 = $("#time_start2").val();
var end2 = $("#time_end2").val();
if(start2 !='' && end2 != ''){
if (Date.parse(start2) > Date.parse(end2)){
layer.msg('操作开始时间必须小于等于结束时间');
return false;
}
}

@ -30,7 +30,6 @@
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
@ -108,22 +107,20 @@
<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="">公司类型</option>
<volist name="CompanyType" id="vo">
<option value="{$key}" <if condition="isset($_GET['company_type']) && $key eq I('company_type')">selected</if> >{$vo}</option>
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="company_id" name="company_id" class="select_gallery" >
<option value="">请先选择公司类型</option>
</select>
<div class="input-list">
<input style="width: 200px;" type="text" name="company_name" class="search-input" value="{:I('company_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
<div class="input-list">
<input style="width: 200px;" type="text" name="statement_pool_num" class="search-input" value="{:I('statement_pool_num')}" placeholder="请输入汇总单号">&nbsp;
</div>
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="结算开始时间" />
@ -274,7 +271,7 @@
title: "海南万盟天下科技有限公司",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
area: ['100%', '100%'],
content: url
});
});

@ -30,7 +30,6 @@
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
@ -67,7 +66,7 @@
<div class="cf top_nav_list" style="height: 38px;">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" style="margin-bottom: 0">
<div class="jssearch fl cf search_list" style="margin-bottom: 15px;">
<div class="input-list">
<input type="text" name="statement_num" class="" placeholder="请输入订单号" value="{:I('statement_num')}" />&nbsp;
</div>
@ -102,6 +101,15 @@
</div>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="withdraw_type" name="withdraw_type" class="select_gallery" >
<option value="">结算周期</option>
<volist name="WithdrawType" id="vo">
<option value="{$key}" <if condition="isset($_GET['withdraw_type']) && $key eq I('withdraw_type')">selected</if> >{$vo}</option>
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="verify_status" name="verify_status" class="select_gallery" >
<option value="">请选择审核状态</option>
@ -146,6 +154,7 @@
<th>结算汇总单订单号</th>
<th>结算时间</th>
<th>结算类型</th>
<th>结算周期</th>
<th>是否打款</th>
<th>结算金额</th>
<th>结算流水</th>
@ -172,8 +181,8 @@
<td>{$data.statement_num}</td>
<td>{$data.valid}</td>
<td>{$data.company_type_str}</td>
<td>{$data.withdraw_type}</td>
<td>{$data.is_payment_str}</td>
<td>{$data.statement_money}</td>
<td>{$data.platform_amount}</td>
<td>{$data.lack_statement_money}</td>
@ -280,7 +289,7 @@
title: "海南万盟天下科技有限公司",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
area: ['100%', '100%'],
content: url
});
});
@ -582,7 +591,16 @@
var end = $("#time_end").val();
if(start !='' && end != ''){
if (Date.parse(start) > Date.parse(end)){
layer.msg('开始时间必须小于等于结束时间');
layer.msg('结算开始时间必须小于等于结束时间');
return false;
}
}
var start2 = $("#time_start2").val();
var end2 = $("#time_end2").val();
if(start2 !='' && end2 != ''){
if (Date.parse(start2) > Date.parse(end2)){
layer.msg('操作开始时间必须小于等于结束时间');
return false;
}
}

@ -116,6 +116,11 @@
<th>开户支行</th>
<th>帐户类型</th>
<th>备注</th>
<th>是否结算</th>
<if condition="!$is_export">
<th>操作</th>
</if>
</tr>
</thead>
<tbody id="statementShow">
@ -133,18 +138,34 @@
<td>{$com['statement_info'][0]['game_type_name']}</td>
<td>{$com['statement_info'][0]['statement_begin_time']} ~ {$com['statement_info'][0]['statement_end_time']}</td>
<td>{$com['statement_info'][0]['pay_amount']}</td>
<if condition="$com['statement_info'][0]['statement_type'] neq 0">
<td></td>
<td></td>
<else />
<td>{$com['statement_info'][0]['ratio']|default=0}%</td>
<td>{$com['statement_info'][0]['increment_ratio']|default=0}%</td>
</if>
<td>{$com['statement_info'][0]['ratio']|default=0}%</td>
<td>{$com['statement_info'][0]['increment_ratio']|default=0}%</td>
<td>{$com['statement_info'][0]['reward']}</td>
<td>{$com['statement_info'][0]['fine']}</td>
<td>{$com['statement_info'][0]['sum_money']}</td>
<td rowspan="{$com.statement_count}">{$com.company_info.payee_name}</td>
<td rowspan="{$com.statement_count}">{$com.company_info.bank_account}</td>
<td rowspan="{$com.statement_count}">&nbsp;{$com.company_info.bank_account}</td>
<td rowspan="{$com.statement_count}">{$com.company_info.opening_bank}</td>
<td rowspan="{$com.statement_count}"></td>
<td rowspan="{$com.statement_count}">{$com.remark}</td>
<td rowspan="{$com.statement_count}"><if condition="$com['st'] eq 0"><else /></if></td>
<if condition="!$is_export">
<td rowspan="{$com.statement_count}">
<if condition="($com['st'] eq 1 ) AND ($pool_status lt 1)">
<a data-id="{$com['id']}" class='butn no_statement' style="cursor:pointer">不结算</a>
</if>
</td>
</if>
</tr>
<foreach name="com.statement_info" item="it" key="k">
@ -155,8 +176,14 @@
<td>{$it['statement_begin_time']} ~ {$it['statement_end_time']}</td>
<td>{$it['pay_amount']}</td>
<td>{$it['ratio']|default=0}%</td>
<td>{$it['increment_ratio']|default=0}%</td>
<if condition="$it['statement_type'] neq 0">
<td></td>
<td></td>
<else />
<td>{$it['ratio']|default=0}%</td>
<td>{$it['increment_ratio']|default=0}%</td>
</if>
<td>{$it['reward']}</td>
<td>{$it['fine']}</td>
<td>{$it['sum_money']}</td>
@ -166,19 +193,23 @@
</foreach>
</foreach>
<tr>
<td colspan=9 >合计:</td>
<td>{$count.platform_amount}</td>
<td colspan=9 >合计(仅统计结算公司):</td>
<td>{$count.platform_amount|default=0}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>{$count.sum_money}</td>
<td>{$count.sum_money|default=0}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<if condition="!$is_export">
<td></td>
</if>
</tr>
</tbody>
</table>
@ -194,5 +225,26 @@
});
});
</if>
$(".no_statement").on("click",function(){
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "{:U('cancelStatement')}",
dataType: 'json',
async: false,
data: {id:id},
success:function(data){
if(data.status==1){
layer.msg("<font style='color:white'>" + data.info + "</font>");
setTimeout(function(){
window.location.reload();
},1500);
}else{
layer.msg("<font style='color:white'>" + data.info + "</font>");
return false;
}
}
});
})
</script>
</html>

@ -0,0 +1,272 @@
<extend name="Public/base"/>
<block name="body">
<style>
.tabcon1711 .table_click,.tabcon1711 .table_click:hover {border:none;}
.tabcon1711 .table_click .table_click_text {border-bottom:1px solid transparent;}
.tabcon1711 .table_click:hover .table_click_text {border-bottom-color:#145CCD;}
</style>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('edit?id='.$model['id'])}" method="post" class="form-horizontal">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">聚合公司详情</h3>
<p class="description_text">说明:查看聚合公司详情信息</p>
</div>
<div class="tab-pane in tab1">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="l">合作方</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['name']}</span>
</td>
</tr>
<tr>
<td class="l">登录账号</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['code']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">联系邮箱</td>
<td class="r table_radio">
<span class="form-required" style="line-height: 30px;">{$data['user_email']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">联系手机</td>
<td class="r table_radio">
<span class="form-required" style="line-height: 30px;">{$data['mobile']}</span>
</td>
</tr>
<tr>
<td class="l">状态</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['user_status'] eq 1">正常<elseif condition="$data['user_status'] eq 0"/>禁用<else/>未验证</if></span>
</td>
</tr>
<tr>
<td class="l">备注</td>
<td class="r">
<textarea name="remark" rows="3" cols="80" style="width: 400px;" readonly>{$data['remark']}</textarea></td>
</td>
</tr>
<tr>
<td class="l">对应平台</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['platform']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">合同期限</td>
<td class="r pr">
<span class="form-required" style="line-height: 30px;">{$data['agreement_time']['start_time']}</span>
<!-- <input type="text" class="J_lay_datetime" name="agreement_time[]" autocomplete="off" placeholder="开始时间" value="{$data['agreement_time']['start_time']}" readonly>-->
&nbsp;&nbsp;&nbsp;&nbsp;
<!-- <input type="text" class="J_lay_datetime" name="agreement_time[]" autocomplete="off" placeholder="结束时间" value="{$data['agreement_time']['end_time']}" readonly>-->
<span class="form-required" style="line-height: 30px;">{$data['agreement_time']['end_time']|default="永久"}</span>
&nbsp;&nbsp;说明:结束时间不填为永久时间
</td>
</tr>
<tr>
<td class="l">结算生效期限</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['balance_time']['start_time']}</span>
<!-- <input type="text" class="J_lay_datetime" name="balance_time[]" autocomplete="off" placeholder="开始时间" value="{$data['balance_time']['start_time']}" readonly>-->
&nbsp;&nbsp;&nbsp;&nbsp;
<span class="form-required" style="line-height: 30px;">{$data['balance_time']['end_time']|default="永久"}</span>
<!-- <input type="text" class="J_lay_datetime" name="balance_time[]" autocomplete="off" placeholder="结束时间" value="{$data['balance_time']['end_time']}" readonly>-->
&nbsp;&nbsp;说明:结束时间不填为永久时间
</td>
</tr>
<tr>
<td class="l">开票税点</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['tax_point']}</span>
&nbsp;&nbsp;%
</td>
</tr>
<tr>
<td class="l">公司性质</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['company_properties'] eq 0">个人<else/>公司</if></span>
</td>
</tr>
<tr>
<td class="l">是否签署合同</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['is_contract'] eq 0"><else/></if></span>
</td>
</tr>
<tr>
<td class="l">是否为收款方</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['is_received'] eq 0"><else/></if></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">联系人</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['connection_person']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">联系电话</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['phone']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">联系地址</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['connection_address']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">注册地址</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['register_address']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">注册电话</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['register_phone']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">邮寄地址</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['send_address']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">账户名</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['bank_user']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">银行卡号</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['bank_card']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">收款银行</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['bank_name']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">支付宝账户</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['alipay_user']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">承担服务费</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['is_service'] eq 0"><else/></if></span>
<!-- <input readonly type="radio" name="is_service" style="margin-top: -2px;" autocomplete="off" placeholder="开始时间" value="1" <if condition="$data['is_service'] eq 1">checked</if>><span style="margin-top: 7px;display: inline-block;">是</span>-->
<!-- <input readonly type="radio" name="is_service" style="margin-top: -2px;margin-left: 30px" autocomplete="off" placeholder="结束时间" value="0" <if condition="$data['is_service'] eq 0">checked</if>><span>否</span>-->
<span class="form-required" style="line-height: 30px;">服务费:{$data['service_cost']}</span>
<!-- <input readonly type="text" name="service_cost" value="{$data['service_cost']}" onkeyup ="value=value.replace(/[^\d]/g,'')" style="margin-left: 30px">-->
&nbsp;&nbsp;
</td>
</tr>
<tr>
<td class="l noticeinfo">税费费率</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['tax_ratio']|default=0}%</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">渠道费率</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['channel_radio']|default=0}%</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">发票类型</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['invoice_type']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">开票内容</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['invoice_item']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">纳税人识别号</td>
<td class="r">
<span class="form-required" style="line-height: 30px;">{$data['tax_identification_number']}</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">合作状态</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['is_cooperate'] eq 1">合作中<else/>停止合作</if></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">显示状态</td>
<td class="r">
<span class="form-required" style="line-height: 30px;"><if condition="$data['is_show'] eq 1">开启<else/>关闭</if></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"></td>
<td class="r">
<div class="new_submit">
<input type="hidden" id="selfid" name="id" value="{$data.id}">
<input type="hidden" id="url" name="urll" value="{$url}">
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
</td>
</tr>
</table>
</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="Member/user_info">
</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__/layer/extend/layer.ext.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script type="text/javascript">
highlight_subnav('{:U('CpJuheCompany/index')}');
</script>
</block>

@ -0,0 +1,314 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title>游戏登陆列表|----软件管理平台</title>
<link href="http://admin.vlcms.com/Public/icon.ico" type="image/x-icon" rel="shortcut icon">
<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__/module.css">
<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">
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script src="__STATIC__/table2excel.js"></script>
</head>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.tooltip {
position: relative;
display: inline-block;
color: #056dae;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 250%;
background-color: #fff;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 80%;
left: 0;
margin-left: -70%;
border: #000 solid 1px;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: black transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
color: #000;
visibility: visible;
line-height: 20px;
}
</style>
<div style="margin:auto;font-size: 20px;color: red;line-height: 3;padding: 20px;">
导出进行中。。。<br/>
如果导出成功你也可以手动关闭此页面
</div>
<!-- 数据列表 -->
<div class="data_list" style="display: none">
<empty name="show_status">
<div class="">
<table id="exporttable">
<!-- 表头 -->
<thead>
<tr>
<th >合作方名称</th>
<th >对应平台</th>
<th >公司性质</th>
<!-- <th >支付渠道</th>-->
<th >原包名</th>
<th >现包名</th>
<th >聚合包名</th>
<th >产品类型</th>
<th >结算周期</th>
<th colspan="2">游戏分成比例</th>
<th >账户名</th>
<th >银行账号</th>
<th >开户行</th>
<th >支付宝账号</th>
<th >是否为收款方</th>
<th >是否有预付款</th>
<th >预付款金额</th>
<th >是否签署合同</th>
<th >合同期限</th>
<th >生效时间</th>
<th >开票税点</th>
<th >发票类型</th>
<th >税费费率</th>
<th >渠道类型</th>
<th >联系人</th>
<th >联系电话</th>
<th >联系地址</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<style>
.data-table thead th, .data-table tbody td{text-align:center}
.data-table tbody td{border-right:1px solid #DDDDDD;}
.d_list .drop-down ul {z-index:999;}
</style>
<!-- <if condition = "empty($data)">-->
<!-- <tr>-->
<!-- <td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>-->
<!-- </tr>-->
<!-- </if>-->
<notemtpy name = "listdata">
<volist name="listdata" id="vo">
<tr>
<td rowspan="{$vo.rowspan}">{$vo.name|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.platform|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.company_properties|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['original_package_name'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['game_name'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['game_name'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['game_type'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['withdraw_type'][0]|default="------"}</td>
<td rowspan='1'>默认</td>
<td rowspan='1'>{$vo['rate_data'][0][0]['exploitation_rate']|default="0"}</td>
<td rowspan="{$vo.rowspan}">{$vo.bank_user|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.bank_card|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.bank_name|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.alipay_user|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.is_received|default="否"}</td>
<td rowspan="{$vo.rowspan}">{$vo.is_surplus|default="否"}</td>
<td rowspan="{$vo.rowspan}">{$vo.before_amount|default="0"}</td>
<td rowspan="{$vo.rowspan}">{$vo.is_contract|default="------"}</td>
<td rowspan="{$vo.rowspan}">
<span class="form-required" style="line-height: 30px;">{$vo['agreement_time']['start_time']}</span>
<span class="form-required" style="line-height: 30px;">{$vo['agreement_time']['end_time']|default="永久"}</span></td>
<td rowspan="{$vo.rowspan}">
<span class="form-required" style="line-height: 30px;">{$vo['balance_time']['start_time']}</span>
<span class="form-required" style="line-height: 30px;">{$vo['balance_time']['end_time']|default="永久"}</span>
</td>
<td rowspan="{$vo.rowspan}">{$vo['tax_point']}%</td>
<td rowspan="{$vo.rowspan}">{$vo.invoice_type|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.tax_ratio|default="0"}%</td>
<td rowspan="{$vo.rowspan}">{$vo.channel_radio|default="0"}%</td>
<td rowspan="{$vo.rowspan}">{$vo.connection_person|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.phone|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.connection_address|default="------"}</td>
</tr>
<volist name="vo.game_name" id="sec" key="index">
<if condition="$index gt 1">
<tr>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['original_package_name'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['game_name'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['game_name'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['game_type'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['withdraw_type'][$index-1]|default="------"}</td>
<td rowspan='1'>{$vo['rate_data'][$index-1][0]['exploitation_name']}</td>
<td rowspan='1'>{$vo['rate_data'][$index-1][0]['exploitation_rate']}</td>
</tr>
</if>
<volist name="vo['rate_data'][$index-1]" id="rate" key="rate_index">
<if condition="$rate['exploitation_name'] neq '默认'">
<tr>
<td rowspan='1'>{$rate.exploitation_name}</td>
<td rowspan='1'>{$rate.exploitation_rate}</td>
</tr>
</if>
</volist>
</volist>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script src="__STATIC__/table2excel.js"></script>
<script type="text/javascript">
$("#channel_id").select2();
$("#company_properties").select2();
$("#origin_game_name").select2();
$("#game_id").select2();
function showWindow() {
layer.open({
type: 2,
title: "游戏登录记录",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: ['admin.php?s=/Member/denglu/id/', 'no']
});
}
function get_game_list()
{
var game_name = "{:I('game_id')}";
$.ajax({
url:"{:U('PayChannel/getGameList')}",
type:"post",
data:{partner_id:$("#partner_id option:selected").val(), sdk_type:$("#sdk_version1 option:selected").val()},
dataType:'json',
success:function(data){
var str = "<option value=''>请选择游戏</option>";
for (var i in data){
str += "<option value='"+data[i].id+"'"+(game_name && data[i].id == game_name?'selected':'')+">"+data[i].game_name+"</option>"
}
// console.log(str);
$("#game_name").empty();
$("#game_name").append(str);
$("#game_name").select2();
}
})
}
get_game_list();
$(function(){
$("#exporttable").table2excel({
filename: "下游聚合公司导出.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
$('#timestart').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'
})
//搜索功能
$("#search").click(function(){
var starttime = $.trim($('#time-start').val());
var endtime = $.trim($('#time-end').val());
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');return false;}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
})
</script>
</block>
</html>

@ -0,0 +1,359 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.tooltip {
position: relative;
display: inline-block;
color: #056dae;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 250%;
background-color: #fff;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 80%;
left: 0;
margin-left: -70%;
border: #000 solid 1px;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: black transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
color: #000;
visibility: visible;
line-height: 20px;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">下游聚合公司列表</h3>
<!-- <p class="description_text">说明平台币直充金额2019.12.18以前sdk新包数据及sdk旧包数据无法对应相关游戏无法计入以上平台币列表中<span style="color:red">充值方式统计</span>一栏统计<span style="color:red">平台币直充总金额</span></p>-->
<!-- <div class="fr">-->
<!-- <a href="PayChannel/index">游戏充值统计</a>-->
<!-- <a class="" href="{:U('Finance/payTypeStatistics')}">充值方式统计</a>-->
<!-- <a class="tabchose">收款商户统计</a>-->
<!-- </div>-->
</div>
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<!--游戏类型搜索END-->
<div class="input-list input-list-game search_label_rehab">
<select id="channel_id" name="channel_id" class="select_gallery" >
<option value="">请选择合作公司</option>
<volist name=":getCpCompanySelect(1)" id="vo">
<option value="{$vo.id}" <if condition="$vo.id eq I('channel_id')">selected</if> >{$vo.name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-spend search_label_rehab">
<select id="company_properties" name="company_properties" class="select_gallery" style="width:120px;">
<option value="">请选择公司性质</option>
<option value="0">个人</option>
<option value="1">公司</option>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="origin_game_name" name="origin_game_name" class="select_gallery" >
<option value="">请选择原包名</option>
<volist name=":getCpCompanySelect(2)" id="vo">
<if condition="$vo.original_package_name neq ''">
<option value="{$vo.original_package_name}" <if condition="$vo.original_package_name eq I('original_package_name')">selected</if> >{$vo.original_package_name}</option>
</if>
</volist>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="game_id" name="game_id" class="select_gallery" >
<option value="">请选择现包名</option>
<volist name=":getCpCompanySelect(2)" id="vo">
<option value="{$vo.id}" <if condition="$vo.id eq I('id')">selected</if> >{$vo.game_name}</option>
</volist>
</select>
</div>
<input type="hidden" name="" value="" class="sortBy">
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('CpJuheCompany/index','model='.$model['name'].'&row='.I('row'),false)}"
style="width: 100px;border: #3C95C8 solid 1px;">搜索</a>
<a class="sch-btn" url="{:U('/CpJuheCompany/index',
array_merge(array('export'=>1),I('get.'))
,false)}" style="width: 100px;border: #3C95C8 solid 1px;" id="downloadexcel">导出</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<empty name="show_status">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th >合作方名称</th>
<th >对应平台</th>
<th >公司性质</th>
<!-- <th >支付渠道</th>-->
<th >原包名</th>
<th >现包名</th>
<th >聚合包名</th>
<th >产品类型</th>
<th >结算周期</th>
<th colspan="2">游戏分成比例</th>
<th >账户名</th>
<th >银行账号</th>
<th >开户行</th>
<th >支付宝账号</th>
<th >操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<style>
.data-table thead th, .data-table tbody td{text-align:center}
.data-table tbody td{border-right:1px solid #DDDDDD;}
.d_list .drop-down ul {z-index:999;}
</style>
<!-- <if condition = "empty($data)">-->
<!-- <tr>-->
<!-- <td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>-->
<!-- </tr>-->
<!-- </if>-->
<notemtpy name = "listdata">
<volist name="listdata" id="vo">
<tr>
<td rowspan="{$vo.rowspan}">{$vo.name|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.platform|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.company_properties|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['original_package_name'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['game_name'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['game_name'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['game_type'][0]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][0]}">{$vo['withdraw_type'][0]|default="------"}</td>
<td rowspan='1'>默认</td>
<td rowspan='1'>{$vo['rate_data'][0][0]['exploitation_rate']|default="0"}</td>
<td rowspan="{$vo.rowspan}">{$vo.bank_user|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.bank_card|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.bank_name|default="------"}</td>
<td rowspan="{$vo.rowspan}">{$vo.alipay_user|default="------"}</td>
<td rowspan="{$vo.rowspan}">
<a href="{:U('CpJuheCompany/detail',array('id'=>$vo['id']))}">查看</a>
</td>
</tr>
<volist name="vo.game_name" id="sec" key="index">
<if condition="$index gt 1">
<tr>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['original_package_name'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['game_name'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['game_name'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['game_type'][$index-1]|default="------"}</td>
<td rowspan="{$vo['sec_rowspan'][$index-1]}">{$vo['withdraw_type'][$index-1]|default="------"}</td>
<td rowspan='1'>{$vo['rate_data'][$index-1][0]['exploitation_name']}</td>
<td rowspan='1'>{$vo['rate_data'][$index-1][0]['exploitation_rate']}</td>
</tr>
</if>
<volist name="vo['rate_data'][$index-1]" id="rate" key="rate_index">
<if condition="$rate['exploitation_name'] neq '默认'">
<tr>
<td rowspan='1'>{$rate.exploitation_name}</td>
<td rowspan='1'>{$rate.exploitation_rate}</td>
</tr>
</if>
</volist>
</volist>
</volist>
</notemtpy>
</tbody>
</table>
</div>
</empty>
</div>
<div class="page">
{$_page|default=''}
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
</script>
<script type="text/javascript">
$("#channel_id").select2();
$("#company_properties").select2();
$("#origin_game_name").select2();
$("#game_id").select2();
//导航高亮
highlight_subnav('{:U('CpJuheCompany/index')}');
function showWindow() {
layer.open({
type: 2,
title: "游戏登录记录",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: ['admin.php?s=/Member/denglu/id/', 'no']
});
}
function get_game_list()
{
var game_name = "{:I('game_id')}";
$.ajax({
url:"{:U('PayChannel/getGameList')}",
type:"post",
data:{partner_id:$("#partner_id option:selected").val(), sdk_type:$("#sdk_version1 option:selected").val()},
dataType:'json',
success:function(data){
var str = "<option value=''>请选择游戏</option>";
for (var i in data){
str += "<option value='"+data[i].id+"'"+(game_name && data[i].id == game_name?'selected':'')+">"+data[i].game_name+"</option>"
}
// console.log(str);
$("#game_name").empty();
$("#game_name").append(str);
$("#game_name").select2();
}
})
}
get_game_list();
$(function(){
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '下游聚合公司导出';
layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: ['40%', '60%'],
content: url
});
})
$('#timestart').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'
})
//搜索功能
$("#search").click(function(){
var starttime = $.trim($('#time-start').val());
var endtime = $.trim($('#time-end').val());
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');return false;}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
})
</script>
</block>

@ -175,7 +175,7 @@
<th ><div class="tooltip">内充支出<span class="tooltiptext"><span style="margin-left: -10px">玩家用绑币购买游戏道具所产生的金额</span></span></div></th>
<th ><div class="tooltip">游戏内充值合计<span class="tooltiptext"><span style="margin-left: -10px">游戏现金金额+平台币直充支出+平台币内充支出</span></span></div></th>
<th ><div class="tooltip">聚合平台数据<span class="tooltiptext"><span style="margin-left: -10px">包含聚合万盟平台数据,因为聚合平台数据是用接口获取并且涉及其他平台数据,所以只能添加总数据,无法判定平台币还是现金充值</span></span></div></th>
<th ><div class="tooltip"><span style="color: red">通知失败合计</span><span class="tooltiptext"><span style="margin-left: -10px">所有通知失败的合计金额</span></span></div></th>
<th >操作</th>
@ -222,6 +222,7 @@
'pay_way'=>-1,
false))}"><if condition="$data.inside_cash_count neq ''">{$data.inside_cash_count}<else/>0</if></td>
<td ><if condition="$data.all_cash_count neq ''">{$data.all_cash_count}<else/>0</if></td>
<td >{$data.agg_amount}</td>
<td ><span style="color:red;"><if condition="$data.notice_fail_count neq ''">{$data.notice_fail_count}<else/>0</if></span></td>
<td >
<a href="{:U('Finance/gameStatisticsDetail',array(
@ -241,6 +242,7 @@
<td><if condition="$sumBalance neq ''">{$sumBalance}<else/>0</if></td>
<td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td>
<td><if condition="$sumAll neq ''">{$sumAll}<else/>0</if></td>
<td>{$aggTotal}</td>
<td><span style="color: red"><if condition="$sumNoticeFail neq ''">{$sumNoticeFail}<else/>0</if></span></td>
<td>
<a href="{:U('Finance/gameStatisticsDetail',
@ -258,6 +260,7 @@
</tbody>
</table>
<p style="text-align: center; margin-top: 5px;">联运渠道数据:{$sumAll} 占比:{$allRate} 聚合渠道数据:{$aggTotal} 占比:{$aggRate}</p>
</div>
</div>
<div class="page">

@ -150,6 +150,29 @@
<span class="notice-text">设置游戏的推荐类型,更改此游戏在网站所属的推荐板块;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">结算包名</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label class="inp_radio">
<input type="radio" class="inp_radio" value="0" name="select_package_name" checked="checked"> 原包名
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="select_package_name" > 现包名
</label>
</span>
<span class="notice-text">用于上游结算时显示的游戏名称</span>
</td>
</tr>
<tr>
<td class="l">聚合游戏标识:</td>
<td class="r">
<input type="text" class="txt" name="unique_code" value="" placeholder="请输入聚合游戏标识">
<span class="notice-text">用于与聚合后台数据相关联使用,如果聚合后台有相关游戏,则需填写对应标识。标识可自由定义,字母数字均可,双平台一致即可。</span>
</td>
</tr>
<tr>
<td class="l">游戏排序:</td>
<td class="r">

@ -175,6 +175,29 @@
<span class="notice-text">设置游戏的推荐类型,更改此游戏在网站所属的推荐板块;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">结算包名</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="select_package_name" <eq name="data['select_package_name']" value="0">checked="checked"</eq>> 原包名
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="select_package_name" <eq name="data['select_package_name']" value="1">checked="checked"</eq>> 现包名
</label>
</span>
<span class="notice-text">用于上游结算时显示的游戏名称,修改后将同步关联游戏</span>
</td>
</tr>
<tr>
<td class="l">聚合游戏标识:</td>
<td class="r">
<input type="text" class="txt" name="unique_code" value="{$data['unique_code']}" placeholder="请输入聚合游戏标识">
<span class="notice-text">用于与聚合后台数据相关联使用,如果聚合后台有相关游戏,则需填写对应标识。标识可自由定义,字母数字均可,双平台一致即可。</span>
</td>
</tr>
<tr>
<td class="l">游戏排序:</td>
<td class="r">

@ -141,6 +141,13 @@
<span class="notice-text">设置游戏的推荐类型更改此游戏在PC官网所属的推荐板块</span>
</td>
</tr>
<tr>
<td class="l">聚合游戏标识:</td>
<td class="r">
<input type="text" class="txt" name="unique_code" value="{$data['unique_code']}" readonly = "readonly" style="background:#e7e7e7" placeholder="请输入聚合游戏标识">
<span class="notice-text">用于与聚合后台数据相关联使用,如果聚合后台有相关游戏,则需填写对应标识。标识可自由定义,字母数字均可,双平台一致即可。</span>
</td>
</tr>
<tr>
<td class="l">游戏排序:</td>
<td class="r">

@ -0,0 +1,89 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title>游戏登陆列表|----软件管理平台</title>
<link href="http://admin.vlcms.com/Public/icon.ico" type="image/x-icon" rel="shortcut icon">
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script src="__STATIC__/table2excel.js"></script>
</head>
<style>
html {
min-width: 100%;
}
body {
padding: 0px;
}
</style>
<body>
<div style="margin:auto;font-size: 16px;color: red;line-height: 3;padding: 20px;">
导出进行中。。。<br />
如果导出成功你也可以手动关闭此页面
</div>
<table border="1" id="exporttable" style="opacity: 0;">
<!-- 表头 -->
<thead>
<tr>
<th>游戏类型</th>
<th>现包名</th>
<th>原包名</th>
<th>公司类型</th>
<th colspan="2">比例分成</th>
<th>时间</th>
<th>操作人</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($data)">
<tr>
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
<else/>
<volist name="data" id="data">
<tr>
<td rowspan="{$data.row}">{$data.game_type_name}</td>
<td rowspan="{$data.row}">{$data.relation_game_name}</td>
<td rowspan="{$data.row}">{$data.original_package_name}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<notempty name="data['turnover_ratio'][0]">
<td>{$data['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$data['turnover_ratio'][0]['ratio']|showPercent}</td>
<else />
<td>--</td>
<td>--</td>
</notempty>
<td rowspan="{$data.row}">{$data.create_time}</td>
<td rowspan="{$data.row}">{$data.admin_name}</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>
</volist>
</if>
</tbody>
</table>
<script>
$(function () {
$("#exporttable").table2excel({
filename: "游戏分成比例模板.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
});
</script>
</body>
</html>

@ -42,6 +42,12 @@
margin: 0 3px;
margin-left:-7px
}
tr{
border-bottom: 1px solid #e6e6e6;
}
.data_list table td{
line-height: 2;
}
</style>
<div class="cf top_nav_list">
@ -98,14 +104,11 @@
<!-- 表头 -->
<thead>
<tr>
<!-- <th>
<input class="check-all" type="checkbox">
</th> -->
<th>游戏类型</th>
<th>现包名</th>
<th>原包名</th>
<th>公司类型</th>
<th>比例分成</th>
<th colspan="2">比例分成</th>
<th>时间</th>
<th>操作人</th>
<th>操作</th>
@ -121,29 +124,34 @@
<else/>
<volist name="data" id="data">
<tr>
<!-- <td>
<eq name="record.status" value="0">
<input class="ids" type="checkbox" value="{$record['id']}" name="ids[]">
<else />
<input class="ids disabled" disabled="disabled" type="checkbox" value="{$record['id']}" name="ids[]">
</eq>
</td> -->
<td>{$data.game_type_name}</td>
<td>{$data.relation_game_name}</td>
<td>{$data.original_package_name}</td>
<td>{$data.company_belong}</td>
<td style="line-height: 16px;text-indent: 0;">
<div style="text-align: left;width: 90%;margin-left: 5%;margin-top: 10px;margin-bottom: 10px;">
{$data.turnover_ratio_str}
</div>
</td>
<td>{$data.create_time}</td>
<td>{$data.admin_name}</td>
<td>
<td rowspan="{$data.row}">{$data.game_type_name}</td>
<td rowspan="{$data.row}">{$data.relation_game_name}</td>
<td rowspan="{$data.row}">{$data.original_package_name}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<notempty name="data['turnover_ratio'][0]">
<td>{$data['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$data['turnover_ratio'][0]['ratio']|showPercent}</td>
<else />
<td>--</td>
<td>--</td>
</notempty>
<td rowspan="{$data.row}">{$data.create_time}</td>
<td rowspan="{$data.row}">{$data.admin_name}</td>
<td rowspan="{$data.row}">
<a href="{:U('edit', array('id'=>$data['id']))}" class="">修改</a>
<a data-url="{:U('del', array('id'=>$data['id']))}" class="ratio_del">删除</a>
</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>
</volist>
</if>
</tbody>
@ -153,10 +161,7 @@
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn export-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
<a class="sch-btn export-btn" id="downloadexcel" url="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}">导出</a>
{$_page|default=''}
</div>
<!--弹出层-->
@ -206,6 +211,23 @@ $(function(){
$("#search").click();
}
});
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '游戏分成比例模板,请耐心等待数据处理....';
var index = layer.load(2);
layer.open({
type: 2,
title: title,
shadeClose: false,
shade: 0.8,
area: ['40%', '30%'],
content: url,
success:function(){
layer.closeAll();
}
});
})
$(".ratio_del").on("click",function(){
var url = $(this).data("url");
layer.confirm('删除后将无法恢复,请慎重选择', {

@ -24,7 +24,7 @@
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('add')}" method="post" class="form-horizontal">
<form id="form" action="{:U('add')}" method="post" class="form-horizontal" autocomplete="off">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
@ -51,21 +51,35 @@
</td>
</tr>
<tr>
<td class="l">结算生效期限:</td>
<td class="r">
<input type="text" class="txt time time3" name="validity_start_time" value="" placeholder="生效开始时间">
-<input type="text" class="txt time time4" name="validity_end_time" value="" placeholder="生效结束时间">
</td>
</tr>
<tr>
<td class="l">渠道费率:</td>
<td class="r" >
<input type="text" class="txt " name="channel_rate" value="" placeholder="请输入渠道费率"> <span style="margin-left: 3px;padding-top: 5px">%</span>
<input type="text" class="txt " name="channel_rate" value="" placeholder="渠道费率(最多两位小数)"> <span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">开票税点:</td>
<td class="r" >
<input type="text" class="txt " name="invoice_rate" value="" placeholder="请输入开票税点"><span style="margin-left: 3px;padding-top: 5px">%</span>
<input type="text" class="txt " name="invoice_rate" value="" placeholder="开票税点(最多两位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">税费费率:</td>
<td class="r" >
<input type="text" class="txt " name="taxation_rate" value="" placeholder="税费费率(最多三位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">是否签署合同:</td>
@ -77,7 +91,7 @@
</td>
</tr>
<tr>
<!-- <tr>
<td class="l noticeinfo">结算方式:</td>
<td class="r">
<select name="settlement_type" class="select_gallery">
@ -86,7 +100,7 @@
<option value="2">月结</option>
</select>
</td>
</tr>
</tr> -->
<tr>
<td class="l noticeinfo">公司性质:</td>
@ -123,6 +137,20 @@
</td>
</tr>
<tr>
<td class="l">注册地址:</td>
<td class="r" >
<input type="text" class="txt " name="reg_address" value="" placeholder="请输入注册地址">
</td>
</tr>
<tr>
<td class="l">注册电话:</td>
<td class="r" >
<input type="text" class="txt " name="reg_phone" value="" placeholder="请输入注册电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r" >
@ -138,7 +166,7 @@
</tr>
<tr>
<td class="l">收款方名称:</td>
<td class="l">账户名:</td>
<td class="r" >
<input type="text" class="txt " name="payee_name" value="" placeholder="请输入收款方名称">
</td>
@ -153,7 +181,7 @@
<tr>
<td class="l">开户行:</td>
<td class="l">收款银行:</td>
<td class="r" >
<input type="text" class="txt " name="opening_bank" value="" placeholder="请输入开户行">
</td>
@ -180,6 +208,53 @@
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>是否有预付款:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="has_advance_charge" checked>
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_advance_charge" >
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>承担服务费:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto;">
<label>
<input type="radio" class="inp_radio" value="0" name="has_server_fee" checked>
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_server_fee" >
</label>
</span>
<span class="notice-text" id="server_fee_input" style="color: #000;display: none;"><input type="text" class="txt " name="server_fee" value="0" placeholder="请输入服务器费用" style="width: 100px;">&nbsp;&nbsp;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作关系:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="cooperation_status" checked> 合作中
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="cooperation_status"> 停止合作
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
@ -255,6 +330,14 @@
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script type="text/javascript">
$("input[type=radio][name=has_server_fee]").on('change', function (e) {
    var v = $(this).val();
if(v == 1){
$("#server_fee_input").show();
}else{
$("#server_fee_input").hide();
}
  });
$('.time1').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
@ -287,6 +370,38 @@
return false;
});
$('.time3').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var start = new Date($(this).val()).getTime();
var end = new Date($('.time4').val()).getTime();
if(isNaN(end)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
$('.time4').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var end = new Date($(this).val()).getTime();
var start = new Date($('.time3').val()).getTime();
if(isNaN(start)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
//导航高亮
highlight_subnav("{:U('Partner/lists')}");
</script>

@ -24,7 +24,7 @@
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('edit')}" method="post" class="form-horizontal">
<form id="form" action="{:U('edit')}" method="post" class="form-horizontal" autocomplete="off">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
@ -51,17 +51,31 @@
</td>
</tr>
<tr>
<td class="l">结算生效期限:</td>
<td class="r">
<input type="text" class="txt time time3" name="validity_start_time" value="{$data.validity_start_time}" placeholder="生效开始时间">
-<input type="text" class="txt time time4" name="validity_end_time" value="{$data.validity_end_time}" placeholder="生效结束时间">
</td>
</tr>
<tr>
<td class="l">渠道费率:</td>
<td class="r" >
<input type="text" class="txt " name="channel_rate" value="{$data.channel_rate}" placeholder="请输入渠道费率"> <span style="margin-left: 3px;padding-top: 5px">%</span>
<input type="text" class="txt " name="channel_rate" value="{$data.channel_rate}" placeholder="渠道费率(最多两位小数)"> <span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">开票税点:</td>
<td class="r" >
<input type="text" class="txt " name="invoice_rate" value="{$data.invoice_rate}" placeholder="请输入开票税点"><span style="margin-left: 3px;padding-top: 5px">%</span>
<input type="text" class="txt " name="invoice_rate" value="{$data.invoice_rate}" placeholder="开票税点(最多两位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">税费费率:</td>
<td class="r" >
<input type="text" class="txt " name="taxation_rate" value="{$data.taxation_rate}" placeholder="税费费率(最多三位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
@ -78,7 +92,7 @@
</td>
</tr>
<tr>
<!-- <tr>
<td class="l noticeinfo">结算方式:</td>
<td class="r">
<select name="settlement_type" class="select_gallery">
@ -87,7 +101,7 @@
<option value="2" <if condition="$data['settlement_type'] eq '2'"> selected="selected"</if>>月结</option>
</select>
</td>
</tr>
</tr> -->
<tr>
<td class="l noticeinfo">公司性质:</td>
@ -124,6 +138,19 @@
</td>
</tr>
<tr>
<td class="l">注册地址:</td>
<td class="r" >
<input type="text" class="txt " name="reg_address" value="{$data.reg_address}" placeholder="请输入注册地址">
</td>
</tr>
<tr>
<td class="l">注册电话:</td>
<td class="r" >
<input type="text" class="txt " name="reg_phone" value="{$data.reg_phone}" placeholder="请输入注册电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r" >
@ -139,7 +166,7 @@
</tr>
<tr>
<td class="l">收款方名称:</td>
<td class="l">账户名:</td>
<td class="r" >
<input type="text" class="txt " name="payee_name" value="{$data.payee_name}" placeholder="请输入收款方名称">
</td>
@ -154,7 +181,7 @@
<tr>
<td class="l">开户行:</td>
<td class="l">收款银行:</td>
<td class="r" >
<input type="text" class="txt " name="opening_bank" value="{$data.opening_bank}" placeholder="请输入开户行">
</td>
@ -181,15 +208,61 @@
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>是否有预付款:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="has_advance_charge" <if condition="$data['has_advance_charge'] eq 0">checked</if>> 否
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_advance_charge" <if condition="$data['has_advance_charge'] eq 1">checked</if>> 是
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>承担服务费:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto;">
<label>
<input type="radio" class="inp_radio" value="0" name="has_server_fee" <if condition="$data['has_server_fee'] eq 0">checked</if>> 否
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_server_fee" <if condition="$data['has_server_fee'] eq 1">checked</if>> 是
</label>
</span>
<span class="notice-text" id="server_fee_input" style="color: #000;<if condition="$data['has_server_fee'] eq 0">display: none;</if>"><input type="text" class="txt " name="server_fee" value="{$data['server_fee']}" placeholder="请输入服务器费用" style="width: 100px;">&nbsp;&nbsp;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作关系:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="cooperation_status" <if condition="$data['cooperation_status'] eq 1">checked</if>> 合作中
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="cooperation_status" <if condition="$data['cooperation_status'] eq 0">checked</if>> 停止合作
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="status" checked> 开启
<input type="radio" class="inp_radio" value="1" name="status" <if condition="$data['status'] eq 1">checked</if>> 开启
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="status"> 关闭
<input type="radio" class="inp_radio" value="0" name="status" <if condition="$data['status'] eq 0">checked</if>> 关闭
</label>
</span>
<span class="notice-text"></span>
@ -257,6 +330,14 @@
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script type="text/javascript">
$("input[type=radio][name=has_server_fee]").on('change', function (e) {
    var v = $(this).val();
if(v == 1){
$("#server_fee_input").show();
}else{
$("#server_fee_input").hide();
}
  });
$('.time1').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
@ -289,6 +370,38 @@
return false;
});
$('.time3').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var start = new Date($(this).val()).getTime();
var end = new Date($('.time4').val()).getTime();
if(isNaN(end)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
$('.time4').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var end = new Date($(this).val()).getTime();
var start = new Date($('.time3').val()).getTime();
if(isNaN(start)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
//导航高亮
highlight_subnav("{:U('Partner/lists')}");
</script>
@ -318,14 +431,11 @@
});
});
$("#submit2").on("click",function(){
console.log(111);
var cres = $('form').serializeArray();
console.log(222);
//验证通过
if(doc.length > 0){
cres.push({"name":"file_info", "value":JSON.stringify(doc)});
}
console.log(333);
//添加
$.ajax({
url:"{:U('partner/edit')}",

@ -8,7 +8,7 @@
<script src="__STATIC__/table2excel.js"></script>
<style>
html{
display: none;
opacity: 0;
}
.select2-container--default .select2-selection--single {
color: #000;
@ -38,37 +38,57 @@
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">{$meta_title}</h3>
</div>
<!-- 数据列表 -->
<div class="data_list data_game_list">
<div style="margin:auto;font-size: 20px;color: red;line-height: 3;padding: 20px;">
<!-- <div style="margin:auto;font-size: 20px;color: red;line-height: 3;padding: 20px;">
导出进行中。。。<br/>
如果导出成功你也可以手动关闭此页面
</div>
</div> -->
<div class="">
<table border="1" id="exporttable" style="opacity: 0;">
<table border="1" id="exporttable">
<!-- 表头 -->
<thead>
<tr>
<!-- <th style="width:5%;min-width:10px;">操作</th>-->
<th>合同合作方名称</th>
<th>公司性质</th>
<th>对应平台</th>
<th>合同期限</th>
<th>开票税点</th>
<th>公司性质</th>
<th>原包名</th>
<th>现包名</th>
<th>产品类型</th>
<th colspan="2">游戏分成比例</th>
<th>结算周期</th>
<th>帐户名</th>
<th>银行账号</th>
<th>开户行</th>
<th>备注</th>
<th>收款银行</th>
<th>是否有预付款</th>
<th>是否为收款方</th>
<th>预付款金额</th>
<th>是否有游戏资质</th>
<th>是否签署合同</th>
<th>合同期限</th>
<th>生效期限</th>
<th>公司税号</th>
<th>开票税点</th>
<th>产品类型</th>
<th>原包名</th>
<th>现包名</th>
<th colspan="2">合作方分成比例</th>
<th>发票类型</th>
<th>税费费率</th>
<th>渠道费率</th>
<th>注册地址</th>
<th>注册电话</th>
<th>联系人</th>
<th>联系电话</th>
<th>联系地址</th>
<th>承担服务器费用</th>
<th>服务器费用</th>
<th>合作关系</th>
<th>备注</th>
</tr>
</thead>
@ -79,83 +99,105 @@
<else />
<volist name="listData" id="data">
<tr>
<!-- <td rowspan="{$data.row}">-->
<!-- <a href="{:U('edit',array('id'=>$data['id']))}">编辑</a>-->
<!-- <a href="{:U('edit',array('id'=>$data['id'],'action' => 'show'))}">查看</a>-->
<!-- <a href="{:U('del',array('id'=>$data['id']))}" class="confirm ajax-get">删除</a>-->
<!-- </td>-->
<td rowspan="{$data.row}">{$data.partner}</td>
<td rowspan="{$data.row}">{$data.company_type}</td>
<td rowspan="{$data.row}">{$data.matche_platform}</td>
<td rowspan="{$data.row}">{$data.matche_platform|default="--"}</td>
<td rowspan="{$data.row}">{$data.company_type|default="--"}</td>
<notempty name="data.game">
<td rowspan="{$data['game'][0]['row']}">{$data['game'][0]['original_package_name']|default="--"}</td>
<td rowspan="{$data['game'][0]['row']}">{$data['game'][0]['relation_game_name']|default="--"}</td>
<td rowspan="{$data['game'][0]['row']}">{$data['game'][0]['game_type_name']|default="--"}</td>
<notempty name="data['game'][0]['game_ratio']">
<td>{$data['game'][0]['game_ratio'][0]['name']|default="--"}</td>
<td>{$data['game'][0]['game_ratio'][0]['ratio']|showPercent}</td>
<else />
<td >-</td>
<td>-</td>
</notempty>
<else />
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</notempty>
<td rowspan="{$data.row}">{$data.settlement_type|default="--"}</td>
<td rowspan="{$data.row}">{$data.payee_name|default="--"}</td>
<td rowspan="{$data.row}">&nbsp;{$data.bank_account|default="--"}</td>
<td rowspan="{$data.row}">{$data.opening_bank|default="--"}</td>
<td rowspan="{$data.row}">{$data.has_advance_charge|default="--"}</td>
<td rowspan="{$data.row}">{$data.is_collection|default="--"}</td>
<td rowspan="{$data.row}">{$data.advance_amount|default="--"}</td>
<td rowspan="{$data.row}">{$data.has_advance_charge|default="--"}</td>
<td rowspan="{$data.row}">{$data.is_sign_contract|default="--"}</td>
<td rowspan="{$data.row}">{$data.contract_time}</td>
<td rowspan="{$data.row}">{$data.invoice_rate}%</td>
<td rowspan="{$data.row}">{$data.settlement_type}</td>
<td rowspan="{$data.row}">&nbsp;{$data.bank_account}</td>
<td rowspan="{$data.row}">{$data.opening_bank}</td>
<td rowspan="{$data.row}">{$data.validity_time}</td>
<td rowspan="{$data.row}">{$data.company_tax_no|default="--"}</td>
<td rowspan="{$data.row}">{$data.invoice_rate|showPercent}</td>
<td rowspan="{$data.row}">{$data.invoice_type|default="--"}</td>
<td rowspan="{$data.row}">{$data.taxation_rate|showPercent}</td>
<td rowspan="{$data.row}">{$data.channel_rate|showPercent}</td>
<td rowspan="{$data.row}">{$data.reg_address|default="--"}</td>
<td rowspan="{$data.row}">{$data.reg_phone|default="--"}</td>
<td rowspan="{$data.row}">{$data.link_man|default="--"}</td>
<td rowspan="{$data.row}">{$data.link_phone|default="--"}</td>
<td rowspan="{$data.row}">{$data.address|default="--"}</td>
<td rowspan="{$data.row}">{$data.has_server_fee|default="--"}</td>
<td rowspan="{$data.row}">{$data.server_fee|default="--"}</td>
<td rowspan="{$data.row}">{$data.cooperation_status|default="--"}</td>
<td rowspan="{$data.row}">{$data.remark}</td>
<td rowspan="{$data.row}">{$data.has_game_evidence}</td>
<td rowspan="{$data.row}">{$data.is_sign_contract}</td>
<notempty name="data.game">
<foreach name="data['game']" item="game" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td rowspan="{$game.row}">{$game['game_type_name']}</td>
<td rowspan="{$game.row}">{$game['original_package_name']}</td>
<td rowspan="{$game.row}">{$game['relation_game_name']}</td>
<notempty name="game.game_ratio">
<foreach name="game['game_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
</if>
</foreach>
<else />
<td >-</td>
<td>-</td>
</notempty>
</tr>
<else />
<td rowspan="{$game.row}">{$game['game_type_name']}</td>
<td rowspan="{$game.row}">{$game['original_package_name']}</td>
<td rowspan="{$game.row}">{$game['relation_game_name']}</td>
<notempty name="game.game_ratio">
<foreach name="game['game_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
</tr>
<if condition="$data['game'][0]['row'] gt 1">
<foreach name="data['game'][0]['game_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>
<notempty name="data['game'][1]">
<foreach name="data['game']" item="game" key="gkey">
<if condition="$gkey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['original_package_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['game_type_name']|default="--"}</td>
<notempty name="game['game_ratio']">
<td>{$game['game_ratio'][0]['name']|default="--"}</td>
<td>{$game['game_ratio'][0]['ratio']|showPercent}</td>
<else />
<td >-</td>
<td>-</td>
</notempty>
</tr>
<if condition="$game['row'] gt 1">
<foreach name="game['game_ratio']" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
</if>
</foreach>
</if>
<else />
<td >-</td>
<td>-</td>
</notempty>
</if>
</foreach>
</if>
</foreach>
<else />
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
</notempty>
</notempty>
</tr>
</volist>
</empty>
</tbody>
@ -165,15 +207,7 @@
<div class="page">
{$_page|default=''}
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/lists">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>

@ -0,0 +1,369 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.data_list table td{
text-indent:0;
height: 30px;
line-height: 30px;
}
.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;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
}
.data_list table td{
line-height: 1.5;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a href="{:U('lists')}">生效列表</a>
<a class="tabchose" href="{:U('index')}">审核列表</a>
</div>
<h3 class="page_title">{$meta_title}</h3>
<p class="description_text">审核通过后的修改申请将覆盖旧值,如果旧公司已被删除,将忽略</p>
</div>
<div class="cf top_nav_list">
<div class="jssearch fl cf search_list" style="margin-bottom: 0px;">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list">
<input style="width: 200px;" type="text" name="partner_name" class="search-input" value="{:I('partner_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="verify_type" name="verify_type" class="select_gallery" >
<option value="">审核类型</option>
<option value="1">新增</option>
<option value="2">修改</option>
</select>
</div>
<div class="input-list">
<input type="text" id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="操作开始时间"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="操作结束时间"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="verify_status" name="verify_status" class="select_gallery" >
<option value="">请选择审核状态</option>
<volist name="VerifyStatus" id="vo">
<option value="{$key}" <if condition="isset($_GET['verify_status']) && $key eq I('verify_status')">selected</if> >{$vo}</option>
</volist>
</select>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('index','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<div class="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 data_game_list">
<div class="">
<table border="1">
<!-- 表头 -->
<thead>
<tr>
<th style="padding:0 5px;text-indent:0px">
<input class="check-all" type="checkbox">
</th>
<th>合同合作方名称</th>
<th>对应平台</th>
<th>审核类型</th>
<th>公司性质</th>
<th>合同期限</th>
<th>结算生效期限</th>
<th>渠道费率</th>
<th>开票税点</th>
<th>税费费率</th>
<th>帐户名</th>
<th>银行账号</th>
<th>收款银行</th>
<th>创建记录</th>
<th>审核记录</th>
<th style="width:8%;min-width:10px;"> 操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="listData">
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="listData" id="data">
<tr>
<td>
<input class="ids" type="checkbox" data-status="{$data.verify_status}" value="{$data['id']}" name="ids[]" >
</td>
<td>{$data.partner_info.partner}</td>
<td>{$data.partner_info.matche_platform}</td>
<td>{$data.verify_type}</td>
<td>{$data.partner_info.company_type}</td>
<td>{$data.contract_time}</td>
<td>{$data.validity_time}</td>
<td>{$data.partner_info.channel_rate}%</td>
<td>{$data.partner_info.invoice_rate}%</td>
<td>{$data.partner_info.taxation_rate}%</td>
<td>{$data.partner_info.payee_name}</td>
<td>{$data.partner_info.bank_account}</td>
<td>{$data.partner_info.opening_bank}</td>
<td>{$data.create}</td>
<td>
<if condition="$data.verify_status eq -1 ">
<div style="line-height: 2;color: red;">
{$data.verify}
</div>
<else />
<div style="line-height: 2;">
{$data.verify}
</div>
</if>
</td>
<td >
<a href="{:U('verifyView',array('id'=>$data['id']))}">查看</a>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
</div>
<div class="page">
{$_page|default=''}
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/lists">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/layer/extend/layer.ext.js"></script>
<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>
<style>
.layui-layer-demo .layui-layer-title {background:#F0F5F7;font-weight:bold;}
.layui-layer-demo .layui-layer-content {}
.layui-layer-demo .layui-layer-content table{width:100%;border:0;border-spacing:0;padding:0;}
.layui-layer-demo .layui-layer-content td {height:42px;padding-left:20px;}
.layui-layer-demo .layui-layer-content tr:hover {background:#F0F5F7;}
.layui-layer-demo .layui-layer-content tr~tr {border-top:1px solid #ccc;}
.layui-layer-demo .layui-layer-content td~td {border-left:1px solid #ccc;}
.layui-layer-demo .layui-layer-content tr:last-child td {}
</style>
<script>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('lists')}");
$(function(){
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '合作方导出';
layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0,
area: ['40%', '60%'],
content: url,
zIndex :-5
});
// window.open(url, "blank");
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
showMeridian:true,
pickDate:true,
minView: 2,
autoclose: true,
pickTime:true,
todayBtn:true,
}).on('change',function(ev){
var val = new Date($.trim($(this).val())).getTime();
var end = new Date($.trim($('#time-end').val())).getTime();
if (val>end) {
layer.msg('开始时间大于结束时间!');$(this).val('');
}
return false;
});
$("#time-end").datetimepicker({
format:"yyyy-mm-dd",
language: "zh-CN",
showMeridian:true,
minView:2,
autoclose:true,
todayBtn:true,
}).on('change',function(ev){
var val = new Date($.trim($(this).val())).getTime();
var start = new Date($.trim($('#time-start').val())).getTime();
if (val<start) {
layer.msg('开始时间大于结束时间!');$(this).val('');
}
return false;
});
//搜索功能
$("#search").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
$("#adminAgree,#adminRefuse").on("click",function(){
var id = $(this).attr("id");
if(id=="adminAgree"){
var opname = "管理员审批通过";
var opurl = "{:U('adminAgree')}";
var opst ="[未进行审批]";
var status = 0;
}else if(id=="adminRefuse"){
var opname = "管理员审批拒绝";
var opurl = "{:U('adminRefuse')}";
var opst ="[未进行审批]";
var status = 0;
}
var flag = false;
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
if($(elem).data("status") != status){
flag = true;
}else{
return $(elem).val();
}
}).get().join(",");
if(text == ''){
layer.msg("<font style='color:white'>" + '无需要'+opname+'的申请,仅'+opst+'状态可以进行'+opname+"</font>");
return;
}
if(flag){
layer.confirm(opname+"仅会对"+opst+"的申请进行处理,选择中包含其他的状态的申请将被忽略,点击取消停止操作",{title:false}, function(index){
_doAgreeApply();
layer.close(index);
});
}else{
_doAgreeApply();
}
function _doAgreeApply(){
layer.load(2);
//执行
$.ajax({
type: "POST",
url: opurl,
dataType: 'json',
async: true,
data: {ids:text},
success:function(data){
layer.closeAll('loading');
if(data.status==1){
layer.msg("<font style='color:white'>" + data.info + "</font>");
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
}
})
});
</script>
</block>

@ -34,6 +34,10 @@
</style>
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a class="tabchose" href="{:U('lists')}">生效列表</a>
<a href="{:U('index')}">审核列表</a>
</div>
<h3 class="page_title">{$meta_title}</h3>
</div>
@ -44,7 +48,7 @@
<!--<a class="ajax-post confirm " target-form="ids" url="{:U('del')}"><span class="button_icon button_icon2"></span>删除</a>-->
</div>
</div>
<div class="jssearch fl cf search_list" >
<div class="jssearch fl cf search_list" style="margin-bottom: 0px;">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
@ -63,11 +67,11 @@
<div class="input-list">
<input type="text" id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="开始时间"/>
placeholder="合同开始时间"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="结束时间"/>
placeholder="合同结束时间"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
@ -90,26 +94,26 @@
<!-- 表头 -->
<thead>
<tr>
<th style="width:8%;min-width:10px;">操作</th>
<th>合同合作方名称</th>
<th>公司性质</th>
<th>对应平台</th>
<th>公司性质</th>
<th>原包名</th>
<th>现包名</th>
<th>产品类型</th>
<th colspan="2">游戏分成比例</th>
<th>合同期限</th>
<th>开票税点</th>
<th>结算周期</th>
<th>帐户名</th>
<th>银行账号</th>
<th>开户行</th>
<th>备注</th>
<th>是否有游戏资质</th>
<th>是否签署合同</th>
<th>收款银行</th>
<th>产品类型</th>
<th>原包名</th>
<th>现包名</th>
<th colspan="2">合作方分成比例</th>
<!-- <th colspan="2">我方分成比例</th>-->
<th>是否有预付款</th>
<th>是否为收款方</th>
<th style="width:8%;min-width:10px;">操作</th>
</tr>
</thead>
@ -120,100 +124,87 @@
<else />
<volist name="listData" id="data">
<tr>
<td rowspan="{$data.row}">{$data.partner}</td>
<td rowspan="{$data.row}">{$data.matche_platform|default="--"}</td>
<td rowspan="{$data.row}">{$data.company_type|default="--"}</td>
<notempty name="data.game">
<td rowspan="{$data['game'][0]['row']}">{$data['game'][0]['original_package_name']|default="--"}</td>
<td rowspan="{$data['game'][0]['row']}">{$data['game'][0]['relation_game_name']|default="--"}</td>
<td rowspan="{$data['game'][0]['row']}">{$data['game'][0]['game_type_name']|default="--"}</td>
<notempty name="data['game'][0]['game_ratio']">
<td>{$data['game'][0]['game_ratio'][0]['name']|default="--"}</td>
<td>{$data['game'][0]['game_ratio'][0]['ratio']|showPercent}</td>
<else />
<td >-</td>
<td>-</td>
</notempty>
<else />
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</notempty>
<td rowspan="{$data.row}">{$data.contract_time}</td>
<td rowspan="{$data.row}">{$data.settlement_type|default="--"}</td>
<td rowspan="{$data.row}">{$data.payee_name|default="--"}</td>
<td rowspan="{$data.row}">{$data.bank_account|default="--"}</td>
<td rowspan="{$data.row}">{$data.opening_bank|default="--"}</td>
<td rowspan="{$data.row}">{$data.has_advance_charge|default="--"}</td>
<td rowspan="{$data.row}">{$data.is_collection}</td>
<td rowspan="{$data.row}">
<a href="{:U('edit',array('id'=>$data['id']))}">编辑</a>
<a href="{:U('edit',array('id'=>$data['id'],'action' => 'show'))}">查看</a>
<a href="{:U('del',array('id'=>$data['id']))}" class="confirm ajax-get">删除</a>
</td>
<td rowspan="{$data.row}">{$data.partner}</td>
<td rowspan="{$data.row}">{$data.company_type}</td>
<td rowspan="{$data.row}">{$data.matche_platform}</td>
<td rowspan="{$data.row}">{$data.contract_time}</td>
<td rowspan="{$data.row}">{$data.invoice_rate}%</td>
<td rowspan="{$data.row}">{$data.settlement_type}</td>
<td rowspan="{$data.row}">{$data.bank_account}</td>
<td rowspan="{$data.row}">{$data.opening_bank}</td>
<td rowspan="{$data.row}">{$data.remark}</td>
<td rowspan="{$data.row}">{$data.has_game_evidence}</td>
<td rowspan="{$data.row}">{$data.is_sign_contract}</td>
<notempty name="data.game">
<foreach name="data['game']" item="game" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td rowspan="{$game.row}">{$game['game_type_name']}</td>
<td rowspan="{$game.row}">{$game['original_package_name']}</td>
<td rowspan="{$game.row}">{$game['relation_game_name']}</td>
<notempty name="game.game_ratio">
<foreach name="game['game_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
<!-- <td>{$ratio['name']}</td>-->
<!-- <td>{$ratio['my_ratio']}</td>-->
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
<!-- <td>{$ratio['name']}</td>-->
<!-- <td>{$ratio['my_ratio']}</td>-->
</if>
</foreach>
<else />
<td >-</td>
<td>-</td>
<!-- <td>-</td>-->
<!-- <td>-</td>-->
</notempty>
</tr>
<else />
<td rowspan="{$game.row}">{$game['game_type_name']}</td>
<td rowspan="{$game.row}">{$game['original_package_name']}</td>
<td rowspan="{$game.row}">{$game['relation_game_name']}</td>
</tr>
<if condition="$data['game'][0]['row'] gt 1">
<foreach name="data['game'][0]['game_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>
<notempty name="data['game'][1]">
<foreach name="data['game']" item="game" key="gkey">
<if condition="$gkey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['original_package_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['game_type_name']|default="--"}</td>
<notempty name="game['game_ratio']">
<td>{$game['game_ratio'][0]['name']|default="--"}</td>
<td>{$game['game_ratio'][0]['ratio']|showPercent}</td>
<else />
<td >-</td>
<td>-</td>
</notempty>
</tr>
<notempty name="game.game_ratio">
<foreach name="game['game_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<if condition="$game['row'] gt 1">
<foreach name="game['game_ratio']" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
<!-- <td>{$ratio['name']}</td>-->
<!-- <td>{$ratio['my_ratio']}</td>-->
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}%</td>
<!-- <td>{$ratio['name']}</td>-->
<!-- <td>{$ratio['my_ratio']}</td>-->
</if>
</foreach>
</if>
<else />
<td >-</td>
<td>-</td>
<!-- <td>-</td>-->
<!-- <td>-</td>-->
</notempty>
</if>
</foreach>
</if>
</foreach>
<else />
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<td rowspan="{$data.row}">-</td>
<!-- <td rowspan="{$data.row}">-</td>-->
<!-- <td rowspan="{$data.row}">-</td>-->
</notempty>
</notempty>
</tr>
</volist>
</empty>
</tbody>
@ -267,6 +258,7 @@
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '合作方导出';
var index = layer.load(2);
layer.open({
type: 2,
title: title,
@ -274,7 +266,10 @@
shade: 0,
area: ['40%', '60%'],
content: url,
zIndex :-5
zIndex :-5,
success:function(){
layer.closeAll();
}
});
// window.open(url, "blank");
});

@ -51,6 +51,14 @@
</td>
</tr>
<tr>
<td class="l">结算生效期限:</td>
<td class="r">
<input type="text" class="txt time time3" name="validity_start_time" value="{$data.validity_start_time}" placeholder="生效开始时间" readonly>
-<input type="text" class="txt time time4" name="validity_end_time" value="{$data.validity_end_time}" placeholder="生效结束时间" readonly>
</td>
</tr>
<tr>
<td class="l">渠道费率:</td>
<td class="r" >
@ -61,9 +69,16 @@
<tr>
<td class="l">开票税点:</td>
<td class="r" >
<input type="text" class="txt " name="inoice_rate" value="{$data.inoice_rate}" placeholder="请输入开票税点" readonly><span style="margin-left: 3px;padding-top: 5px">%</span>
<input type="text" class="txt " name="inoice_rate" value="{$data.invoice_rate}" placeholder="请输入开票税点" readonly><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">税费费率:</td>
<td class="r" >
<input type="text" class="txt " name="taxation_rate" value="{$data.taxation_rate}" placeholder="请输入税费费率" readonly><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
@ -78,7 +93,7 @@
</td>
</tr>
<tr>
<!-- <tr>
<td class="l noticeinfo">结算方式:</td>
<td class="r">
<select name="settlement_type" class="select_gallery" disabled="true">
@ -87,7 +102,7 @@
<option value="2" <if condition="$data['settlement_type'] eq '2'"> selected="selected"</if>>月结</option>
</select>
</td>
</tr>
</tr> -->
<tr>
<td class="l noticeinfo">是否有游戏资质:</td>
@ -113,6 +128,18 @@
<input type="text" class="txt " name="link_phone" value="{$data.link_phone}" placeholder="请输入联系电话" readonly>
</td>
</tr>
<tr>
<td class="l">注册地址:</td>
<td class="r" >
<input type="text" class="txt " name="reg_address" value="{$data.reg_address}" placeholder="请输入注册地址" readonly>
</td>
</tr>
<tr>
<td class="l">注册电话:</td>
<td class="r" >
<input type="text" class="txt " name="reg_phone" value="{$data.reg_phone}" placeholder="请输入注册电话" readonly>
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
@ -129,7 +156,7 @@
</tr>
<tr>
<td class="l">收款方名称</td>
<td class="l">账户名</td>
<td class="r" >
<input type="text" class="txt " name="payee_name" value="{$data.payee_name}" placeholder="请输入收款方名称" readonly>
</td>
@ -144,7 +171,7 @@
<tr>
<td class="l">开户行:</td>
<td class="l">收款银行:</td>
<td class="r" >
<input type="text" class="txt " name="opening_bank" value="{$data.opening_bank}" placeholder="请输入开户行" readonly>
</td>
@ -171,15 +198,61 @@
</td>
</tr>
<tr>
<td class="l noticeinfo">是否有预付款:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="0" name="has_advance_charge" <if condition="$data['has_advance_charge'] eq 0">checked</if> disabled> 否
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_advance_charge" <if condition="$data['has_advance_charge'] eq 1">checked</if> disabled> 是
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">承担服务费:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto;">
<label>
<input type="radio" class="inp_radio" value="0" name="has_server_fee" <if condition="$data['has_server_fee'] eq 0">checked</if> disabled> 否
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_server_fee" <if condition="$data['has_server_fee'] eq 1">checked</if> disabled> 是
</label>
</span>
<span class="notice-text" id="server_fee_input" style="color: #000;<if condition="$data['has_server_fee'] eq 0">display: none;</if>"><input type="text" class="txt " name="server_fee" value="{$data['server_fee']}" placeholder="请输入服务器费用" style="width: 100px;" readonly>&nbsp;&nbsp;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">合作关系:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" disabled class="inp_radio" value="1" name="cooperation_status" <if condition="$data['cooperation_status'] eq 1">checked</if> > 合作中
</label>
<label>
<input type="radio" disabled class="inp_radio" value="0" name="cooperation_status" <if condition="$data['cooperation_status'] eq 0">checked</if> > 停止合作
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">显示状态:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="status" checked readonly> 开启
<input type="radio" class="inp_radio" value="1" name="status" <if condition="$data['status'] eq 1">checked</if> disabled> 开启
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="status" readonly> 关闭
<input type="radio" class="inp_radio" value="0" name="status" <if condition="$data['status'] eq 0">checked</if> disabled> 关闭
</label>
</span>
<span class="notice-text"></span>
@ -201,7 +274,7 @@
</div>
<div class="form-item cf">
<!--<input class="submit_btn ajax-post" type="button" value="保存" id="submit" target-form="form-horizontal" style="margin-left:210px;">-->
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="{:U('Partner/lists')}" >
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>

@ -588,9 +588,9 @@
lis.push('<li class="fl pro_promot_game_con" data-short="'+ele.short+'">');
if(promote_info['game_ids']==''){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
// if(promote_info['game_ids']==''){
// lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
// }else{
if(promote_info['game_ids'].indexOf(ele.id)>-1){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
@ -598,7 +598,7 @@
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
checked = '';
}
}
// }
lis.push('<label for="gameCheck'+index+'" class="fl"></label>');
lis.push('<span class="fl pro_promot_game_name">'+ele.game_name+'</span>');

@ -2,6 +2,8 @@
<block name="css">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all">
<link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet">
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<style>
@ -19,7 +21,7 @@
<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>
<script src="__STATIC__/czinputcheck.js?v=0527" type="text/javascript"></script>
<script src="__STATIC__/czinputcheck.js?v=07151710" type="text/javascript"></script>
<style>
.coin-detail{
display: block;
@ -32,6 +34,48 @@
border-radius: 4px;
cursor: pointer;
}
.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;
}
</style>
<!-- 标签页导航 -->
@ -42,7 +86,7 @@
<div class="tab-content tabcon1711">
<!-- 表单 -->
<!-- <form id="form" action="{:U('add')}" method="post" class="form-horizontal"> -->
<form id="form" autocomplete="off">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
@ -53,34 +97,34 @@
<input type="text" class="txt " name="company_name" value="" placeholder="请输入推广公司名称">
</td>
</tr>
<tr>
<td class="l">对应平台(简称):</td>
<td class="r" >
<input type="text" class="txt " name="platform_name" value="" placeholder="请输入对应平台">
</td>
</tr>
<tr>
<td class="l">合同期限:</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>团体归属:</td>
<td class="r" >
<div class="input-list" style="margin:0;">
<input type="text" readonly id="contact_begin" name="contact_begin" class="" value="{:I('contact_begin')}"
placeholder="合同开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="contact_end" name="contact_end" class="" value="{:I('contact_end')}"
placeholder="合同结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_belong" name="company_belong" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择团体归属</option> -->
<volist name=":getCompanyBlong()" id="vo">
<option value="{$vo.id}" <php> if($vo['id'] == 3)echo selected;</php>>{$vo.name}</option>
</volist>
</select>
</div>
</td>
</tr>
<tr>
<td class="l">开票税点:</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>开发类型:</td>
<td class="r" >
<input type="number" class="txt" name="fax_ratio" value="0" placeholder="请输入开票税点">
<span>%</span>
<select id="develop_type" name="develop_type" class="select_gallery" style="width: 215px;">
<option value="0"></option>
<option value="1">自主开发</option>
<option value="2">自主开发及维护</option>
<option value="3">只维护</option>
</select>
</td>
</tr>
<tr>
<td class="l">公司性质:</td>
<td class="r" >
@ -92,7 +136,7 @@
</select>
</div>
</td>
</tr>
</tr>
<tr>
<td class="l">是否签署合同:</td>
<td class="r" >
@ -105,6 +149,7 @@
</div>
</td>
</tr>
<tr>
<td class="l">是否展示合同服务协议:</td>
<td class="r" >
@ -120,35 +165,47 @@
</td>
</tr>
<tr>
<td class="l">团体归属:</td>
<td class="l">合同期限:</td>
<td class="r" >
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_belong" name="company_belong" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择团体归属</option> -->
<volist name=":getCompanyBlong()" id="vo">
<option value="{$vo.id}" <php> if($vo['id'] == 3)echo selected;</php>>{$vo.name}</option>
</volist>
</select>
<div class="input-list" style="margin:0;">
<input type="text" readonly id="contact_begin" name="contact_begin" class="" value="{:I('contact_begin')}"
placeholder="合同开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="contact_end" name="contact_end" class="" value="{:I('contact_end')}"
placeholder="合同结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
</td>
</tr>
<tr>
<td class="l">联系结算人:</td>
<td class="l">结算生效期限:</td>
<td class="r">
<input type="text" class="txt time time3" name="validity_start_time" value="" placeholder="生效开始时间">
&nbsp;-&nbsp;<input type="text" class="txt time time4" name="validity_end_time" value="" placeholder="生效结束时间">
</td>
</tr>
<tr>
<td class="l">支付宝真实姓名:</td>
<td class="r" >
<input type="text" class="txt " name="settlement_contact" value="" placeholder="请输入结算联系人">
<input type="text" class="txt " name="ali_user" value="" placeholder="请输入支付宝真实姓名">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="l">支付宝登陆账号</td>
<td class="r" >
<input type="text" class="txt " name="contact_phone" value="" placeholder="请输入联系电话">
<input type="text" class="txt " name="ali_account" value="" placeholder="可以是手机及邮箱等">
</td>
</tr>
<tr>
<td class="l">所在地址</td>
<td class="l">账户名</td>
<td class="r" >
<input type="text" class="txt " name="address" value="" placeholder="请输入所在地址">
<input type="text" class="txt " name="bank_address" value="" placeholder="请输入账户名">
</td>
</tr>
<tr>
@ -157,56 +214,120 @@
<input type="text" class="txt " name="bank_card" value="" placeholder="请输入银行卡号">
</td>
</tr>
<!-- <tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>银行卡名:</td>
<td class="r" >
<input type="text" class="txt " name="bank_cardname" value="" placeholder="请输入银行卡名">
</td>
</tr> -->
<tr>
<td class="l">收款银行:</td>
<td class="r" >
<input type="text" class="txt " name="bank_name" value="" placeholder="请输入收款银行">
</td>
</tr>
<tr>
<td class="l">账户名</td>
<td class="l">联系人</td>
<td class="r" >
<input type="text" class="txt " name="bank_address" value="" placeholder="请输入账户名">
<input type="text" class="txt " name="settlement_contact" value="" placeholder="请输入结算联系人">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r" >
<input type="text" class="txt " name="contact_phone" value="" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">支付宝真实姓名:</td>
<td class="l">对应平台(简称):</td>
<td class="r" >
<input type="text" class="txt " name="ali_user" value="" placeholder="请输入支付宝真实姓名">
<input type="text" class="txt " name="platform_name" value="" placeholder="请输入对应平台">
</td>
</tr>
<tr>
<td class="l">支付宝登陆账号:</td>
<td class="l">开票税点:</td>
<td class="r" >
<input type="text" class="txt " name="ali_account" value="" placeholder="可以是手机及邮箱等">
<input type="text" class="txt" name="fax_ratio" value="" placeholder="开票税点(最多两位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">渠道费率:</td>
<td class="r" >
<input type="text" class="txt " name="channel_rate" value="" placeholder="渠道费率(最多两位小数)"> <span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">税费费率:</td>
<td class="r" >
<input type="text" class="txt " name="taxation_rate" value="" placeholder="税费费率(最多三位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">开发类型:</td>
<td class="l">注册地址:</td>
<td class="r" >
<select id="develop_type" name="develop_type" class="select_gallery" style="width: 215px;">
<option value="">请选择开发类型</option>
<option value="1" >自主开发</option>
<option value="2" >自主开发及维护</option>
<option value="3" >只维护</option>
</select>
<input type="text" class="txt " name="reg_address" value="" placeholder="请输入注册地址">
</td>
</tr>
<tr>
<td class="l">注册电话:</td>
<td class="r" >
<input type="text" class="txt " name="reg_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="content" value="" placeholder="">
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>承担服务费:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto;">
<label>
<input type="radio" class="inp_radio" value="0" name="has_server_fee" checked>
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_server_fee" >
</label>
</span>
<span class="notice-text" id="server_fee_input" style="color: #000;display: none;"><input type="text" class="txt " name="server_fee" value="0" placeholder="请输入服务器费用" style="width: 100px;">&nbsp;&nbsp;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作关系:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="cooperation_status" checked> 合作中
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="cooperation_status"> 停止合作
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
@ -222,27 +343,61 @@
</td>
</tr>
<tr>
<td class="l noticeinfo">文档管理</td>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>市场总监信息展示:</td>
<td class="r table_radio">
<div class="coin-detail" data-url="{:U('PromoteCompany/addfile')}" style="margin:0px;background: #fff;color: #333;font-weight: 400;border: 1px solid #777;">
添加
</div>
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="marketing_director_show" checked>展示
</label>
<label>
<input type="radio" class="inp_radio" value="2" name="marketing_director_show"> 隐藏
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">市场总监信息展示:</td>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作方比例增量:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="marketing_director_show" >展示
<input type="radio" class="inp_radio" value="0" name="has_ratio" checked>
</label>
<label>
<input type="radio" class="inp_radio" value="2" name="marketing_director_show" checked> 隐藏
<input type="radio" class="inp_radio" value="1" name="has_ratio">
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr id="turnover_ratio" style="display: none;">
<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-unselected iconfont iconjianhao"></i></span>
</div>
</div>
<span class="notice-text" style="width: auto;"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">文档管理</td>
<td class="r table_radio">
<div class="coin-detail" data-url="{:U('PromoteCompany/addfile')}" style="margin:0px;background: #fff;color: #333;font-weight: 400;border: 1px solid #777;">
添加
</div>
</td>
</tr>
</tbody>
</table>
<table border="1" style="width: 600px;text-align: center;" cellspacing="0" cellpadding="0" id="docShow">
@ -250,24 +405,15 @@
</table>
</div>
<div class="form-item cf" style="margin-bottom: 40px;">
<button class="submit_btn " id="submit" style="margin-left:210px;">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:history.back(-1);" >
<input class="submit_btn" type="button" value="保存" id="submit" target-form="form-horizontal" style="margin-left:210px;">
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
<!-- </form> -->
</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="{$meta_title}">
<input type="hidden" name="url" value="Partner/add">
</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>
<script type="text/html" id="doctpl">
@ -300,6 +446,7 @@
$('#submit').click(function(){
$('#form').submit();
});
var ids = [];
</script>
<script>
var doc = [];
@ -309,11 +456,36 @@
PROMOTE.juicerFun();
// window.parent.addFile(info);
}
$("input[type=radio][name=has_server_fee]").on('change', function (e) {
    var v = $(this).val();
if(v == 1){
$("#server_fee_input").show();
}else{
$("#server_fee_input").hide();
}
  });
$("input[type=radio][name=has_ratio]").on('change', function (e) {
    var v = $(this).val();
if(v == 1){
$("#turnover_ratio").show();
}else{
$("#turnover_ratio").hide();
}
  });
$('#contact_begin').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
}).change(function(){
var start = new Date($(this).val()).getTime();
var end = new Date($('#contact_end').val()).getTime();
if(isNaN(end)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');$("#contact_begin").val('');return false;}
return false;
});
$('#datetimepicker').datetimepicker({
@ -322,7 +494,46 @@
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
}).change(function(){
var end = new Date($("#contact_end").val()).getTime();
var start = new Date($('#contact_begin').val()).getTime();
if(isNaN(start)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');$("#contact_end").val('');return false;}
return false;
});
$('.time3').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var start = new Date($(this).val()).getTime();
var end = new Date($('.time4').val()).getTime();
if(isNaN(end)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
$('.time4').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var end = new Date($(this).val()).getTime();
var start = new Date($('.time3').val()).getTime();
if(isNaN(start)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
$(".coin-detail").click(function () {
var url = $(this).data('url');
var title = '文档添加';
@ -336,46 +547,45 @@
});
});
$("#submit").on("click",function(){
var flag = true;
var obj = {
"company_name":["required","推广公司名称不允许为空"],
"platform_name":["nocheck"],
"contact_begin":["nocheck","合同开始时间不能为空"],
"contact_end":["nocheck","合同结束时间不能为空"],
"fax_ratio":[["number",true],"开票税率必须是数字如果无此项请填0"],
"company_type":["nocheck","公司性质不能为空","select"],
"is_sign_contact":["nocheck","是否签署合同项不能为空","select"],
"company_belong":["nocheck","团体归属不能为空","select"],
"settlement_contact":["nocheck","结算联系人不能为空"],
"contact_phone":[["phone",true],"联系人电话格式不对"],
"address":["nocheck","联系人地址不能为空"],
"bank_card":[["bankid",true],"银行卡格式错误"],
"bank_name":["nocheck","银行名称不能为空"],
"bank_address":["nocheck","帐户名不能为空"],
"ali_user":["nocheck","支付宝真实姓名不能为空"],
"ali_account":["nocheck","支付宝登陆账号不能为空"],
"content":["nocheck"],
"service_agreement_show":["nocheck","","select"],
"marketing_director_show":["nocheck","","radio"],
"status":["nocheck","","radio"],
"develop_type":["nocheck","开发类型不能为空","select"]
}
var cres = CIC.checkAddInput(obj);
if(!cres){
return false;
}
if (Date.parse(cres.contact_begin) > Date.parse(cres.contact_end)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
"company_name":["required",false,"推广公司名称不允许为空"],
"fax_ratio":["number",true,"开票税率必须是数字如果无此项请填0"],
"bank_card":["bankid",true,"银行卡格式错误"],
"ali_user":["realname",true,"支付宝真实名称只能是中文"]
}
if(!CIC.checkInput(obj)){ return false; }
var senddata = $("#form").serializeArray();
//验证通过
if(doc.length > 0){
cres.resources = doc;
senddata.push({"name":"resources", "value":JSON.stringify(doc)});
}
var hasratio = $("input[type=radio][name=has_ratio]:checked").val();
if(hasratio == 1){
$(".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;
senddata.push({"name":"game_ids", "value":ids.join(",")});
//添加
$.ajax({
url:"{:U('PromoteCompany/add')}",
url:"{:U('add')}",
type:"post",
data:cres,
data:senddata,
dataType:"json",
success:function(data){
if(data.status == 1){
@ -392,6 +602,121 @@
});
})
$('.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');
}
}
});
var PROMOTE = {
juicerFun(){
var tpl =$("#doctpl").html();
@ -437,6 +762,5 @@
})
}
}
</script>
</block>

@ -2,6 +2,8 @@
<block name="css">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all">
<link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet">
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<style>
@ -32,6 +34,48 @@
border-radius: 4px;
cursor: pointer;
}
.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;
}
</style>
<!-- 标签页导航 -->
@ -42,7 +86,7 @@
<div class="tab-content tabcon1711">
<!-- 表单 -->
<!-- <form id="form" action="{:U('add')}" method="post" class="form-horizontal"> -->
<form id="form" autocomplete="off">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
@ -54,31 +98,27 @@
</td>
</tr>
<tr>
<td class="l">对应平台(简称):</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>团体归属:</td>
<td class="r" >
<input type="text" class="txt " name="platform_name" value="{$data.platform_name}" placeholder="请输入对应平台">
</td>
</tr>
<tr>
<td class="l">合同期限:</td>
<td class="r" >
<div class="input-list" style="margin:0;">
<input type="text" readonly id="contact_begin" name="contact_begin" class="" value="{$data.contact_begin}"
placeholder="合同开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="contact_end" name="contact_end" class="" value="{$data.contact_end}"
placeholder="合同结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_belong" name="company_belong" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择团体归属</option> -->
<volist name=":getCompanyBlong()" id="vo">
<option value="{$vo.id}" <php> if($data['company_belong'] !='' && $vo['id'] == $data['company_belong'])echo selected;</php>>{$vo.name}</option>
</volist>
</select>
</div>
</td>
</tr>
<tr>
<td class="l">开票税点:</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>开发类型:</td>
<td class="r" >
<input type="number" class="txt" name="fax_ratio" value="{$data.fax_ratio}" placeholder="请输入开票税点">
<span>%</span>
<select id="develop_type" name="develop_type" class="select_gallery" style="width: 215px;">
<option value="0" <if condition="$data.develop_type eq 0">selected</if>>无</option>
<option value="1" <if condition="$data.develop_type eq 1">selected</if>>自主开发</option>
<option value="2" <if condition="$data.develop_type eq 2">selected</if>>自主开发及维护</option>
<option value="3" <if condition="$data.develop_type eq 3">selected</if>>只维护</option>
</select>
</td>
</tr>
<tr>
@ -124,35 +164,45 @@
</td>
</tr>
<tr>
<td class="l">团体归属:</td>
<td class="l">合同期限:</td>
<td class="r" >
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_belong" name="company_belong" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择团体归属</option> -->
<volist name=":getCompanyBlong()" id="vo">
<option value="{$vo.id}" <php> if($data['company_belong'] !='' && $vo['id'] == $data['company_belong'])echo selected;</php>>{$vo.name}</option>
</volist>
</select>
<div class="input-list" style="margin:0;">
<input type="text" readonly id="contact_begin" name="contact_begin" class="" value="{$data.contact_begin}"
placeholder="合同开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="contact_end" name="contact_end" class="" value="{$data.contact_end}"
placeholder="合同结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
</td>
</tr>
<tr>
<td class="l">结算生效期限:</td>
<td class="r">
<input type="text" class="txt time time3" name="validity_start_time" value="{$data.validity_start_time}" placeholder="生效开始时间">
&nbsp;-&nbsp;<input type="text" class="txt time time4" name="validity_end_time" value="{$data.validity_end_time}" placeholder="生效结束时间">
</td>
</tr>
<tr>
<td class="l">联系结算人:</td>
<td class="l">支付宝真实姓名</td>
<td class="r" >
<input type="text" class="txt " name="settlement_contact" value="{$data.settlement_contact}" placeholder="请输入结算联系人">
<input type="text" class="txt " name="ali_user" value="{$data.ali_user}" placeholder="请输入支付宝真实姓名">
</td>
</tr>
<tr>
<td class="l">联系电话</td>
<td class="l">支付宝登陆账号</td>
<td class="r" >
<input type="text" class="txt " name="contact_phone" value="{$data.contact_phone}" placeholder="请输入联系电话">
<input type="text" class="txt " name="ali_account" value="{$data.ali_account}" placeholder="可以是手机及邮箱等">
</td>
</tr>
<tr>
<td class="l">所在地址</td>
<td class="l">账户名</td>
<td class="r" >
<input type="text" class="txt " name="address" value="{$data.address}" placeholder="请输入所在地址">
<input type="text" class="txt " name="bank_address" value="{$data.bank_address}" placeholder="请输入账户名">
</td>
</tr>
<tr>
@ -161,12 +211,6 @@
<input type="text" class="txt " name="bank_card" value="{$data.bank_card}" placeholder="请输入银行卡号">
</td>
</tr>
<!-- <tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>银行卡名:</td>
<td class="r" >
<input type="text" class="txt " name="bank_cardname" value="" placeholder="请输入银行卡名">
</td>
</tr> -->
<tr>
<td class="l">收款银行:</td>
<td class="r" >
@ -174,43 +218,110 @@
</td>
</tr>
<tr>
<td class="l">账户名</td>
<td class="l">联系结算人</td>
<td class="r" >
<input type="text" class="txt " name="bank_address" value="{$data.bank_address}" placeholder="请输入账户名">
<input type="text" class="txt " name="settlement_contact" value="{$data.settlement_contact}" placeholder="请输入结算联系人">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="r" >
<input type="text" class="txt " name="contact_phone" value="{$data.contact_phone}" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">支付宝真实姓名:</td>
<td class="l">对应平台(简称):</td>
<td class="r" >
<input type="text" class="txt " name="ali_user" value="{$data.ali_user}" placeholder="请输入支付宝真实姓名">
<input type="text" class="txt " name="platform_name" value="{$data.platform_name}" placeholder="请输入对应平台">
</td>
</tr>
<tr>
<td class="l">开票税点:</td>
<td class="r" >
<input type="text" class="txt" name="fax_ratio" value="{$data.fax_ratio}" placeholder="开票税点(最多两位小数)">
<span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">渠道费率:</td>
<td class="r" >
<input type="text" class="txt " name="channel_rate" value="{$data.channel_rate}" placeholder="渠道费率(最多两位小数)"> <span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">税费费率:</td>
<td class="r" >
<input type="text" class="txt " name="taxation_rate" value="{$data.taxation_rate}" placeholder="税费费率(最多三位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">支付宝登陆账号:</td>
<td class="l">注册地址:</td>
<td class="r" >
<input type="text" class="txt " name="ali_account" value="{$data.ali_account}" placeholder="可以是手机及邮箱等">
<input type="text" class="txt " name="reg_address" value="{$data.reg_address}" placeholder="请输入注册地址">
</td>
</tr>
<tr>
<td class="l">注册电话:</td>
<td class="r" >
<input type="text" class="txt " name="reg_phone" value="{$data.reg_phone}" placeholder="请输入注册电话">
</td>
</tr>
<tr>
<td class="l">开发类型:</td>
<td class="l">邮寄地址</td>
<td class="r" >
<select id="develop_type" name="develop_type" class="select_gallery" style="width: 215px;">
<option value="0">请选择开发类型</option>
<option value="1" <if condition="$data.develop_type eq 1">selected</if>>自主开发</option>
<option value="2" <if condition="$data.develop_type eq 2">selected</if>>自主开发及维护</option>
<option value="3" <if condition="$data.develop_type eq 3">selected</if>>只维护</option>
</select>
<input type="text" class="txt " name="address" value="{$data.address}" placeholder="请输入邮寄地址">
</td>
</tr>
<tr>
<td class="l">备注:</td>
<td class="r" >
<input type="text" class="txt " name="content" value="{$data.content}" placeholder="">
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>承担服务费:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto;">
<label>
<input type="radio" class="inp_radio" value="0" name="has_server_fee" <if condition="$data['has_server_fee'] eq 0">checked</if>> 否
</label>
<label>
<input type="radio" class="inp_radio" value="1" name="has_server_fee" <if condition="$data['has_server_fee'] eq 1">checked</if>> 是
</label>
</span>
<span class="notice-text" id="server_fee_input" style="color: #000;<if condition="$data['has_server_fee'] eq 0">display: none;</if>"><input type="text" class="txt " name="server_fee" value="{$data['server_fee']}" placeholder="请输入服务器费用" style="width: 100px;">&nbsp;&nbsp;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作关系:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="cooperation_status" <if condition="$data['cooperation_status'] eq 1">checked</if>> 合作中
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="cooperation_status" <if condition="$data['cooperation_status'] eq 0">checked</if>> 停止合作
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
@ -228,32 +339,82 @@
</td>
</tr>
<tr>
<td class="l noticeinfo">文档管理</td>
<td class="l noticeinfo">市场总监信息展示:</td>
<td class="r table_radio">
<div class="coin-detail" data-url="{:U('PromoteCompany/addfile')}" style="margin:0px;background: #fff;color: #333;font-weight: 400;border: 1px solid #777;">
添加
</div>
<span style="margin-left:30px;color: red;">
* 新增加文档需要保存修改后生效,删除文档即时生效(取消保存修改也生效,请慎重删除)
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="marketing_director_show" <if condition="$data['marketing_director_show'] eq 1">checked</if>> 展示
</label>
<label>
<input type="radio" class="inp_radio" value="2" name="marketing_director_show" <if condition="$data['marketing_director_show'] eq 2">checked
</if>> 隐藏
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">市场总监信息展示:</td>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作方比例增量:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="marketing_director_show" <if condition="$data['marketing_director_show'] eq 1">checked
</if>> 展示
<input type="radio" class="inp_radio" value="0" name="has_ratio" <if condition="$data['has_ratio'] eq 0">checked</if>> 否
</label>
<label>
<input type="radio" class="inp_radio" value="2" name="marketing_director_show" <if condition="$data['marketing_director_show'] eq 2">checked
</if>> 隐藏
<input type="radio" class="inp_radio" value="1" name="has_ratio" <if condition="$data['has_ratio'] eq 1">checked</if>> 是
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr id="turnover_ratio" <if condition="$data['has_ratio'] eq 0">style="display: none;"</if> >
<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-unselected 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 noticeinfo">文档管理</td>
<td class="r table_radio">
<div class="coin-detail" data-url="{:U('PromoteCompany/addfile')}" style="margin:0px;background: #fff;color: #333;font-weight: 400;border: 1px solid #777;">
添加
</div>
<span style="margin-left:30px;color: red;">
* 新增加文档需要保存修改后生效,删除文档即时生效(取消保存修改也生效,请慎重删除)
</span>
</td>
</tr>
</tbody>
</table>
<table border="1" style="width: 600px;text-align: center;margin:10px 0 0 60px;" cellspacing="0" cellpadding="0" id="docShow">
@ -261,24 +422,15 @@
</table>
</div>
<div class="form-item cf" style="margin-bottom: 40px;">
<button class="submit_btn " id="submit" style="margin-left:210px;">
保存
</button>
<input class="submit_btn" type="button" value="保存" id="submit" target-form="form-horizontal" style="margin-left:210px;">
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:history.back(-1);" >
返回
</a>
</div>
<!-- </form> -->
</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="{$meta_title}">
<input type="hidden" name="url" value="Partner/add">
</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>
<script type="text/html" id="doctpl">
@ -311,6 +463,8 @@
$('#submit').click(function(){
$('#form').submit();
});
var ids = "{$data.game_ids}";
ids = ids.split(",");
var PROMOTE = {
juicerFun(){
var tpl =$("#doctpl").html();
@ -380,11 +534,33 @@
PROMOTE.juicerFun();
// window.parent.addFile(info);
}
$("input[type=radio][name=has_server_fee]").on('change', function (e) {
    var v = $(this).val();
if(v == 1){
$("#server_fee_input").show();
}else{
$("#server_fee_input").hide();
}
  });
$("input[type=radio][name=has_ratio]").on('change', function (e) {
    var v = $(this).val();
if(v == 1){
$("#turnover_ratio").show();
}else{
$("#turnover_ratio").hide();
}
  });
$('#contact_begin').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true
}).change(function(){
var start = new Date($(this).val()).getTime();
var end = new Date($('#contact_end').val()).getTime();
if(isNaN(end)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');$("#contact_begin").val('');return false;}
return false;
});
$('#datetimepicker').datetimepicker({
@ -393,7 +569,144 @@
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left'
})
}).change(function(){
var end = new Date($("#contact_end").val()).getTime();
var start = new Date($('#contact_begin').val()).getTime();
if(isNaN(start)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');$("#contact_end").val('');return false;}
return false;
});
$('.time3').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView: "month",
autoclose:true
}).change(function(){
var start = new Date($(this).val()).getTime();
var end = new Date($('.time4').val()).getTime();
if(isNaN(end)) {return false;}
if(start>=end) {layer.msg('开始时间必须小于结束时间');return false;}
return false;
});
$('.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');
}
}
});
$(".coin-detail").click(function () {
var url = $(this).data('url');
var title = '文档添加';
@ -407,47 +720,44 @@
});
});
$("#submit").on("click",function(){
var flag = true;
var obj = {
"company_name":["required","推广公司名称不允许为空"],
"platform_name":[["nocheck",true]],
"contact_begin":[["nocheck",true],"合同开始时间不能为空"],
"contact_end":[["nocheck",true],"合同结束时间不能为空"],
"fax_ratio":[["number",true],"开票税率必须是数字如果无此项请填0"],
"company_type":["nocheck","公司性质不能为空","select"],
"is_sign_contact":["nocheck","是否签署合同项不能为空","select"],
"company_belong":["nocheck","团体归属不能为空","select"],
"settlement_contact":[["nocheck",true],"结算联系人不能为空"],
"contact_phone":[["phone",true],"联系人电话格式不对"],
"address":[["nocheck",true],"联系人地址不能为空"],
"bank_card":[["bankid",true],"银行卡格式错误"],
"bank_name":[["nocheck",true],"银行名称不能为空"],
"bank_address":[["nocheck",true],"帐户名不能为空"],
"ali_user":[["nocheck",true],"支付宝真实姓名不能为空"],
"ali_account":[["nocheck",true],"支付宝登陆账号不能为空"],
"content":[["nocheck",true]],
"develop_type":["nocheck","开发类型不能为空","select"],
"status":["nocheck","","radio"],
"service_agreement_show":["nocheck","","select"],
"marketing_director_show":["nocheck","","radio"],
}
var cres = CIC.checkAddInput(obj);
if(!cres){
return false;
}
if (Date.parse(cres.contact_begin) > Date.parse(cres.contact_end)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
"company_name":["required",false,"推广公司名称不允许为空"],
"fax_ratio":["number",true,"开票税率必须是数字如果无此项请填0"],
"bank_card":["bankid",true,"银行卡格式错误"],
"ali_user":["realname",true,"支付宝真实名称只能是中文"]
}
if(!CIC.checkInput(obj)){ return false; }
var senddata = $("#form").serializeArray();
senddata.push({"name":"resources", "value":JSON.stringify(doc)});
senddata.push({"name":"id", "value":id});
//资源不需要二次修改
cres.resources = doc;
cres.id = id;
console.log(cres);
var hasratio = $("input[type=radio][name=has_ratio]:checked").val();
if(hasratio == 1){
$(".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;
senddata.push({"name":"game_ids", "value":ids.join(",")});
//添加
$.ajax({
url:"{:U('PromoteCompany/edit')}",
type:"post",
data:cres,
data:senddata,
dataType:"json",
success:function(data){
if(data.status == 1){

@ -1,5 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
@ -15,15 +16,17 @@
</head>
<style>
html {
min-width:100%;
min-width: 100%;
}
body {
padding: 0px;
}
</style>
<body>
<div style="margin:auto;font-size: 20px;color: red;line-height: 3;padding: 20px;">
导出进行中。。。<br/>
<div style="margin:auto;font-size: 16px;color: red;line-height: 3;padding: 20px;">
导出进行中。。。<br />
如果导出成功你也可以手动关闭此页面
</div>
<table border="1" id="exporttable" style="opacity: 0;">
@ -32,157 +35,338 @@
<tr>
<th>合作方名称</th>
<th>对应平台</th>
<th>内外团</th>
<th>开发类型</th>
<th>公司性质</th>
<th>内外团归属</th>
<th>合同期限</th>
<th>开票税点</th>
<th>开户行</th>
<th>结算周期</th>
<th>会长账号</th>
<th>市场专员</th>
<th>押金</th>
<th>押金金额</th>
<th>押金状态</th>
<th>原包名</th>
<th>现包名</th>
<th>产品类型</th>
<th colspan="2">推广分成比例</th>
<th colspan="2">CP分成比例</th>
<th>户名</th>
<th>银行账号</th>
<th>开户行</th>
<th>是否收款方</th>
<th>支付宝真实姓名</th>
<th>支付宝账号</th>
<th>是否签署合同</th>
<th>备注</th>
<th>合同期限</th>
<th>生效时间</th>
<th>会长账号</th>
<th>结算周期</th>
<th>产品类型</th>
<th>游戏名称</th>
<th colspan="2">合作方分成比例</th>
<th>开票税点</th>
<th>发票类型</th>
<th>税费费率</th>
<th>渠道费率</th>
<th>注册地址</th>
<th>注册电话</th>
<th>联系人</th>
<th>联系电话</th>
<th>联系地址</th>
</tr>
</thead>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="listData">
<!-- 列表 -->
<tbody>
<empty name="listData">
<td colspan="99" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="listData" id="data" key="companykey">
<tr>
<td rowspan="{$data.row}">{$data.company_name}</td>
<td rowspan="{$data.row}">{$data.platform_name}</td>
<td rowspan="{$data.row}">{$data.company_type}</td>
<td rowspan="{$data.row}">{$data.platform_name|default="--"}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<td rowspan="{$data.row}">{$data.contact_begin} - {$data.contact_end}</td>
<td rowspan="{$data.row}">{$data.fax_ratio}%</td>
<td rowspan="{$data.row}">{$data.bank_name}</td>
<td rowspan="{$data.row}">&nbsp;{$data.bank_card}</td>
<td rowspan="{$data.row}">{$data.is_sign_contact}</td>
<td rowspan="{$data.row}">{$data.content}</td>
<td rowspan="{$data.row}">{$data.develop_type}</td>
<td rowspan="{$data.row}">{$data.company_type}</td>
<td rowspan="{$data.row}">{$data.settlement_type}</td>
<notempty name="data.list">
<foreach name="data['list']" item="promote" key="promotekey">
<if condition="$promotekey gt 0">
<tr>
<td rowspan="{$promote['row']}"> &nbsp;{$promote['account']}</td>
<td rowspan="{$promote['row']}"> {$promote['settlement_type']}</td>
<foreach name="promote['list']" item="game" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
</tr>
<else />
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
</if>
</foreach>
</tr>
<else />
<td rowspan="{$promote['row']}"> &nbsp;{$promote['account']}</td>
<td rowspan="{$promote['row']}"> {$promote['settlement_type']}</td>
<foreach name="promote['list']" item="game" key="gamekey">
<if condition="$gamekey eq 0">
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['account']|default="--"}</td>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['market_admin_username']|default="--"}</td>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['pay_type']|default="--"}</td>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['amount']|default="--"}</td>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['status']|default="--"}</td>
<notempty name="data['list'][0]['list']">
<td rowspan="{$data['list'][0]['list'][0]['row']}">
{$data['list'][0]['list'][0]['original_package_name']|default="--"}</td>
<td rowspan="{$data['list'][0]['list'][0]['row']}">
{$data['list'][0]['list'][0]['relation_game_name']|default="--"}</td>
<td rowspan="{$data['list'][0]['list'][0]['row']}">
{$data['list'][0]['list'][0]['game_type_name']|default="--"}</td>
<notempty name="data['list'][0]['list'][0]['turnover_ratio']">
<td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['ratio']|showPercent}</td>
<td>{$data['list'][0]['list'][0]['cp_ratio'][0]['name']|default="--"}</td>
<td>{$data['list'][0]['list'][0]['cp_ratio'][0]['ratio']|showPercent}</td>
<else />
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
<else />
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
<else />
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
<td rowspan="{$data.row}">{$data.bank_address|default="--"}</td>
<td rowspan="{$data.row}">&nbsp;{$data.bank_card|default="--"}</td>
<td rowspan="{$data.row}">{$data.bank_name|default="--"}</td>
<td rowspan="{$data.row}">{$data.collection|default="--"}</td>
<td rowspan="{$data.row}">{$data.ali_user|default="--"}</td>
<td rowspan="{$data.row}">{$data.ali_account|default="--"}</td>
<td rowspan="{$data.row}">{$data.is_sign_contact|default="--"}</td>
<td rowspan="{$data.row}">{$data.contract_time}</td>
<td rowspan="{$data.row}">{$data.validity_time}</td>
<td rowspan="{$data.row}">{$data.fax_ratio|showPercent}</td>
<td rowspan="{$data.row}">{$data.invoice_type|default="--"}</td>
<td rowspan="{$data.row}">{$data.taxation_rate|showPercent}</td>
<td rowspan="{$data.row}">{$data.channel_rate|showPercent}</td>
<td rowspan="{$data.row}">{$data.reg_address|default="--"}</td>
<td rowspan="{$data.row}">{$data.reg_phone|default="--"}</td>
<td rowspan="{$data.row}">{$data.settlement_contact|default="--"}</td>
<td rowspan="{$data.row}">{$data.contact_phone|default="--"}</td>
<td rowspan="{$data.row}">{$data.address|default="--"}</td>
</tr>
<if condition="$data['list'][0]['list'][0]['row'] gt 1">
<foreach name="data['list'][0]['list'][0]['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>
<td>{$data['list'][0]['list'][0]['cp_ratio'][$gamekey]['name']|default="--"}</td>
<td>{$data['list'][0]['list'][0]['cp_ratio'][$gamekey]['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
<!-- 游戏循环 -->
<if condition="$data['list'][0]['row'] gt 1">
<foreach name="data['list'][0]['list']" item="p_ratio" key="pkey">
<if condition="$pkey gt 0">
<tr>
<td rowspan="{$p_ratio['row']}">{$p_ratio['original_package_name']|default="--"}</td>
<td rowspan="{$p_ratio['row']}">{$p_ratio['relation_game_name']|default="--"}</td>
<td rowspan="{$p_ratio['row']}">{$p_ratio['game_type_name']|default="--"}</td>
<notempty name="p_ratio['turnover_ratio']">
<td>{$p_ratio['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$p_ratio['turnover_ratio'][0]['ratio']|showPercent}</td>
<td>{$p_ratio['cp_ratio'][$gamekey]['name']|default="--"}</td>
<td>{$p_ratio['cp_ratio'][$gamekey]['ratio']|showPercent}</td>
<else />
<td >-</td>
<td>-</td>
<td >-</td>
<td>-</td>
</notempty>
</tr>
<if condition="$p_ratio['row'] gt 1">
<foreach name="p_ratio['turnover_ratio']" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
<td>{$p_ratio['cp_ratio'][$gamekey]['name']|default="--"}</td>
<td>{$p_ratio['cp_ratio'][$gamekey]['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
</foreach>
</notempty>
</tr>
</if>
</foreach>
</if>
<!-- 会长循环 -->
<if condition="$data['row'] gt 1">
<foreach name="data['list']" item="promote" key="promotekey">
<if condition="$promotekey gt 0">
<tr>
<td rowspan="{$promote['row']}">{$promote['account']|default="--"}</td>
<td rowspan="{$promote['row']}">{$promote['market_admin_username']|default="--"}</td>
<td rowspan="{$promote['row']}">{$promote['pay_type']|default="--"}</td>
<td rowspan="{$promote['row']}">{$promote['amount']|default="--"}</td>
<td rowspan="{$promote['row']}">{$promote['status']|default="--"}</td>
<notempty name="promote['list']">
<td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['original_package_name']|default="--"}</td>
<td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['relation_game_name']|default="--"}</td>
<td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['game_type_name']|default="--"}</td>
<notempty name="promote['list'][0]['turnover_ratio']">
<td>{$promote['list'][0]['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$promote['list'][0]['turnover_ratio'][0]['ratio']|showPercent}</td>
<td>{$promote['list'][0]['cp_ratio'][0]['name']|default="--"}</td>
<td>{$promote['list'][0]['cp_ratio'][0]['ratio']|showPercent}</td>
<else />
<td >--</td>
<td>--</td>
<td >--</td>
<td>--</td>
</notempty>
<else />
<td >--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
</tr>
<if condition="$promote['list'][0]['row'] gt 1">
<foreach name="promote['list'][0]['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>
<td>{$promote['list'][0]['cp_ratio'][$gamekey]['name']|default="--"}</td>
<td>{$promote['list'][0]['cp_ratio'][$gamekey]['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
<foreach name="promote['list']" item="game" key="gkey">
<if condition="$gkey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['original_package_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['game_type_name']|default="--"}</td>
<notempty name="game['turnover_ratio']">
<td>{$game['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$game['turnover_ratio'][0]['ratio']|showPercent}</td>
<td>{$game['cp_ratio'][0]['name']|default="--"}</td>
<td>{$game['cp_ratio'][0]['ratio']|showPercent}</td>
<else />
<td >-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</notempty>
</tr>
<if condition="$game['row'] gt 1">
<foreach name="game['turnover_ratio']" item="game_ratio2" key="gamekey2">
<if condition="$gamekey2 gt 0">
<tr>
<td>{$game_ratio2['name']|default="--"}</td>
<td>{$game_ratio2['ratio']|showPercent}</td>
<td>{$game['cp_ratio'][$gamekey2]['name']|default="--"}</td>
<td>{$game['cp_ratio'][$gamekey2]['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
</if>
</foreach>
</if>
</foreach>
</if>
</volist>
<tr class="data_summary">
<td style="text-align: center;">汇总:</td>
<td colspan="15">
<td style="text-align: center;" colspan="3">汇总:</td>
<td colspan="33">
累计推广公司数量:{$count}&#12288;&#12288;会长数量:{$promotecount}
</td>
</tr>
</empty>
</tbody>
</tbody>
</table>
<script>
$(function(){
$("#exporttable").table2excel({
filename: "推广公司.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
<script>
$(function () {
$("#exporttable").table2excel({
filename: "推广公司.xls", // do include extension
preserveColors: false // set to true if you want background colors and font colors preserved
});
//搜索功能
$("#search").click(function () {
console.log(222);
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
window.parent.reloadIframe(url);
parent.document.getElementsByTagName('iframe').src = url;
});
//搜索功能
$("#search").click(function(){
console.log(222);
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if ( url.indexOf('?')>0 ){
url += '&' + query;
} else {
url += '?' + query;
}
window.parent.reloadIframe(url);
parent.document.getElementsByTagName('iframe').src = url;
});
});
</script>
});
</script>
</body>
</html>
</html>

@ -0,0 +1,378 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.data_list table td{
text-indent:0;
height: 30px;
line-height: 30px;
}
.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;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
}
.data_list table td{
line-height: 1.5;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a href="{:U('lists')}">生效列表</a>
<a class="tabchose" href="{:U('index')}">审核列表</a>
</div>
<h3 class="page_title">{$meta_title}</h3>
<p class="description_text">审核通过后的修改申请将覆盖旧值,如果旧公司已被删除,将忽略</p>
</div>
<div class="cf top_nav_list">
<div class="jssearch fl cf search_list" style="margin-bottom: 0px;">
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list">
<input style="width: 200px;" type="text" name="company_name" class="search-input" value="{:I('company_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="verify_type" name="verify_type" class="select_gallery" >
<option value="">审核类型</option>
<option value="1">新增</option>
<option value="2">修改</option>
</select>
</div>
<div class="input-list">
<input type="text" id="time-start" name="timestart" class="" value="{$startDate}"
placeholder="操作开始时间"/>
-
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" id="time-end" name="timeend" class="" value="{$endDate}"
placeholder="操作结束时间"/>
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="verify_status" name="verify_status" class="select_gallery" >
<option value="">请选择审核状态</option>
<volist name="VerifyStatus" id="vo">
<option value="{$key}" <if condition="isset($_GET['verify_status']) && $key eq I('verify_status')">selected</if> >{$vo}</option>
</volist>
</select>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('index','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<div class="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 data_game_list">
<div class="">
<table border="1">
<!-- 表头 -->
<thead>
<tr>
<th style="padding:0 5px;text-indent:0px">
<input class="check-all" type="checkbox">
</th>
<th>合同合作方名称</th>
<th>对应平台</th>
<th>审核类型</th>
<th>公司性质</th>
<th>合同期限</th>
<th>结算生效期限</th>
<th>渠道费率</th>
<th>开票税点</th>
<th>税费费率</th>
<th>帐户名</th>
<th>银行账号</th>
<th>收款银行</th>
<th>创建记录</th>
<th>市场部审批</th>
<th>管理员审批</th>
<th style="width:8%;min-width:10px;"> 操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="listData">
<td colspan="17" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="listData" id="data">
<tr>
<td>
<input class="ids" type="checkbox" data-status="{$data.verify_status}" value="{$data['id']}" name="ids[]" >
</td>
<td>{$data.company_name}</td>
<td>{$data.company_info.platform_name}</td>
<td>{$data.verify_type}</td>
<td>{$data.company_info.company_type}</td>
<td>{$data.contract_time}</td>
<td>{$data.validity_time}</td>
<td>{$data.company_info.channel_rate|showPercent}</td>
<td>{$data.company_info.fax_ratio|showPercent}</td>
<td>{$data.company_info.taxation_rate|showPercent}</td>
<td>{$data.company_info.bank_address}</td>
<td>{$data.company_info.bank_card}</td>
<td>{$data.company_info.bank_name}</td>
<td>{$data.create}</td>
<td>
<if condition="$data.verify_status eq -1 ">
<div style="line-height: 2;color: red;">
{$data.market}
</div>
<else />
<div style="line-height: 2;">
{$data.market}
</div>
</if>
</td>
<td>
<if condition="$data.verify_status eq -2 ">
<div style="line-height: 2;color: red;">
{$data.admin}
</div>
<else />
<div style="line-height: 2;">
{$data.admin}
</div>
</if>
</td>
<td >
<a href="{:U('verifyView',array('id'=>$data['id']))}">查看</a>
<if condition="$data.verify_status elt 0 ">
<a style="color: red;" href="{:U('verifyDel',array('id'=>$data['id']))}" class="confirm ajax-get">删除</a>
</if>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
</div>
<div class="page">
{$_page|default=''}
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/layer/extend/layer.ext.js"></script>
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<style>
.layui-layer-demo .layui-layer-title {background:#F0F5F7;font-weight:bold;}
.layui-layer-demo .layui-layer-content {}
.layui-layer-demo .layui-layer-content table{width:100%;border:0;border-spacing:0;padding:0;}
.layui-layer-demo .layui-layer-content td {height:42px;padding-left:20px;}
.layui-layer-demo .layui-layer-content tr:hover {background:#F0F5F7;}
.layui-layer-demo .layui-layer-content tr~tr {border-top:1px solid #ccc;}
.layui-layer-demo .layui-layer-content td~td {border-left:1px solid #ccc;}
.layui-layer-demo .layui-layer-content tr:last-child td {}
</style>
<script>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('lists')}");
$(function(){
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '合作方导出';
layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0,
area: ['40%', '60%'],
content: url,
zIndex :-5
});
// window.open(url, "blank");
});
$('#time-start').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
showMeridian:true,
pickDate:true,
minView: 2,
autoclose: true,
pickTime:true,
todayBtn:true,
}).on('change',function(ev){
var val = new Date($.trim($(this).val())).getTime();
var end = new Date($.trim($('#time-end').val())).getTime();
if (val>end) {
layer.msg('开始时间大于结束时间!');$(this).val('');
}
return false;
});
$("#time-end").datetimepicker({
format:"yyyy-mm-dd",
language: "zh-CN",
showMeridian:true,
minView:2,
autoclose:true,
todayBtn:true,
}).on('change',function(ev){
var val = new Date($.trim($(this).val())).getTime();
var start = new Date($.trim($('#time-start').val())).getTime();
if (val<start) {
layer.msg('开始时间大于结束时间!');$(this).val('');
}
return false;
});
//搜索功能
$("#search").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
$("#marketAgree,#marketRefuse,#adminAgree,#adminRefuse").on("click",function(){
var id = $(this).attr("id");
if(id == "marketAgree"){
var opname = "市场部审批通过";
var opurl = "{:U('marketAgree')}";
var opst ="[未进行审批]";
var status = 0;
}else if(id=="marketRefuse"){
var opname = "市场部审批拒绝";
var opurl = "{:U('marketRefuse')}";
var opst ="[未进行审批]";
var status = 0;
}else if(id=="adminAgree"){
var opname = "管理员审批通过";
var opurl = "{:U('adminAgree')}";
var opst ="[市场部审批通过]";
var status = 1;
}else if(id=="adminRefuse"){
var opname = "管理员审批拒绝";
var opurl = "{:U('adminRefuse')}";
var opst ="[市场部审批通过]";
var status = 1;
}
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
if($(elem).data("status") == status){
return $(elem).val();
}
}).get().join(",");
if(text == ''){
layer.msg("<font style='color:white'>" + '无需要'+opname+'的申请,仅'+opst+'状态可以进行'+opname+"</font>");
return;
}
layer.confirm(opname+"仅会对"+opst+"的申请进行处理,选择中包含其他的状态的申请将被忽略,操作不可逆,请慎重选择,点击取消停止操作",{title:false}, function(index){
_doAgreeApply();
layer.close(index);
});
function _doAgreeApply(){
layer.load(2);
//执行
$.ajax({
type: "POST",
url: opurl,
dataType: 'json',
async: true,
data: {ids:text},
success:function(data){
layer.closeAll('loading');
if(data.status==1){
layer.msg("<font style='color:white'>" + data.info + "</font>");
setTimeout(function(){
window.location.reload();
},1500);
}
}
});
}
})
});
</script>
</block>

@ -1,8 +1,10 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<script src="__STATIC__/jquery.form.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
@ -42,11 +44,15 @@
</style>
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a class="tabchose" href="{:U('lists')}">生效列表</a>
<a href="{:U('index')}">审核列表</a>
</div>
<h3 class="page_title">{$meta_title}</h3>
<p class="description_text">说明:该功能是用于录入工会所属的推广公司名称 / 如需删除公司请先将公司底下会长移走后方可操作</p>
</div>
<div class="cf top_nav_list clearfix" style="display: inline;">
<div class="fl button_list">
<div class="fl button_list" style="margin: 5px 0;">
<div class="tools">
<a class="" href="{:U('add')}"><span class="button_icon button_icon1"></span>新增</a>
<!-- <a class="ajax-post confirm " target-form="ids" url="{:U('del')}"><span class="button_icon button_icon2"></span>删除</a> -->
@ -56,7 +62,7 @@
<div class="cf top_nav_list">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list">
<div class="jssearch fl cf search_list" style="margin-bottom:0px">
<div class="input-list">
<input style="width: 200px;" type="text" name="company_name" class="search-input" value="{:I('company_name')}" placeholder="请输入公司名称搜索">&nbsp;
</div>
@ -69,7 +75,7 @@
</volist>
</select>
</div>
<div class="input-list input-list-channelstatus">
<div class="input-list input-list-channelstatus search_label_rehab">
<select name="company_belong" class="select_gallery">
<option value="">请选择团体类型</option>
<volist name=":getCompanyBlong()" id="vo">
@ -84,6 +90,32 @@
<option value="2" <?php echo I('company_type') == 2 ? "selected" : ''?>>个人</option>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="game_name" name="game_name" class="select_gallery" >
<option value="">游戏名称</option>
<volist name=":getAllGame()" id="vo">
<option value="{$vo.game_name}" <if condition="$vo.game_name eq I('game_name')">selected</if> >{$vo.game_name}</option>
</volist>
</select>
</div>
<div class="input-list input-list-promote search_label_rehab">
<select id="pay_type" name="pay_type" class="select_gallery" style="width:120px;">
<option value="">押金类型</option>
<?php foreach($payTypes as $key => $name):?>
<option value="<?=$key?>"><?=$name?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-game search_label_rehab">
<select id="is_sign_contact" name="is_sign_contact" class="select_gallery" style="width:120px;">
<option value="">是否签署合同</option>
<option value="0" <?php echo isset($_GET['is_sign_contact']) && I('is_sign_contact') === 0 ? "selected" : ''?>>否</option>
<option value="1" <?php echo I('is_sign_contact') == 1 ? "selected" : ''?>>是</option>
</select>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('PromoteCompany/lists','model='.$model['name'].'&row='.I('row'),false)}">搜索</a>
@ -95,11 +127,11 @@
</div>
</div>
<div class="cf top_nav_list clearfix">
<div class="fl button_list">
<div class="cf top_nav_list clearfix" style="margin-top: -15px;clear: both;height: 52px;">
<div class="fl button_list" style="margin: 0;">
<div class="tools">
<a class="ajax-post" target-form="ids" url="{:U('PromoteCompany/marketingDirectorShow', ['isShow'=>1])}"><span class="button_icon "></span>展示市场总监信息</a>
<a class="ajax-post" target-form="ids" url="{:U('PromoteCompany/marketingDirectorShow', ['isShow'=>2])}"><span class="button_icon "></span>隐藏市场总监信息</a>
<a class="ajax-post" target-form="ids" url="{:U('PromoteCompany/marketingDirectorShow', ['isShow'=>1])}"><span class="button_icon " style="margin-top: 0;"></span>展示市场总监信息</a>
<a class="ajax-post" target-form="ids" url="{:U('PromoteCompany/marketingDirectorShow', ['isShow'=>2])}"><span class="button_icon " style="margin-top: 0;"></span>隐藏市场总监信息</a>
</div>
</div>
</div>
@ -114,23 +146,23 @@
<th class="">
<input class="check-all" type="checkbox">
</th>
<th style="width:10%;min-width:150px;">操作</th>
<th>合作方名称</th>
<th>推广游戏</th>
<th>对应平台</th>
<th>内外团</th>
<th>开发类型</th>
<th>公司性质</th>
<th>内外团归属</th>
<th>合同期限</th>
<th>开票税点</th>
<th>开户行</th>
<th>银行账号</th>
<th>是否签署合同</th>
<th>备注</th>
<!--
<th>会长账号</th>
<th>结算周期</th>
<th>会长账号</th>
<th>市场专员</th>
<th>押金</th>
<th>原包名</th>
<th>现包名</th>
<th>产品类型</th>
<th>游戏名称</th>
<th colspan="2">合作方分成比例</th> -->
<th colspan="2">游戏分成比例</th>
<th style="width:10%;min-width:150px;">操作</th>
</tr>
</thead>
@ -142,6 +174,51 @@
<volist name="listData" id="data" key="companykey">
<tr>
<td rowspan="{$data.row}"><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td rowspan="{$data.row}">{$data.company_name}</td>
<td rowspan="{$data.row}"><a class="ajax-view" data-id="{$data.id}">查看</a></td>
<td rowspan="{$data.row}">{$data.platform_name|default="--"}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<td rowspan="{$data.row}">{$data.develop_type}</td>
<td rowspan="{$data.row}">{$data.company_type}</td>
<td rowspan="{$data.row}">{$data.is_sign_contact}</td>
<td rowspan="{$data.row}">{$data.settlement_type}</td>
<notempty name="data.list">
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['account']|default="--"}</td>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['market_admin_username']|default="--"}</td>
<td rowspan="{$data['list'][0]['row']}">{$data['list'][0]['pay_type']|default="--"}</td>
<notempty name="data['list'][0]['list']">
<td rowspan="{$data['list'][0]['list'][0]['row']}">{$data['list'][0]['list'][0]['original_package_name']|default="--"}</td>
<td rowspan="{$data['list'][0]['list'][0]['row']}">{$data['list'][0]['list'][0]['relation_game_name']|default="--"}</td>
<td rowspan="{$data['list'][0]['list'][0]['row']}">{$data['list'][0]['list'][0]['game_type_name']|default="--"}</td>
<notempty name="data['list'][0]['list'][0]['turnover_ratio']">
<td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$data['list'][0]['list'][0]['turnover_ratio'][0]['ratio']|default="--"}</td>
<else />
<td>--</td>
<td>--</td>
</notempty>
<else />
<td >--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
<else />
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
<td rowspan="{$data.row}">
<a href="{:U('view',array('id'=>$data['id']))}">查看</a>
<a href="{:U('edit',array('id'=>$data['id']))}">编辑</a>
@ -149,99 +226,133 @@
<a href="{:U('del',array('id'=>$data['id']))}" style="color: red;" class="confirm ajax-get">删除</a>
</if>
</td>
<td rowspan="{$data.row}">{$data.company_name}</td>
<td rowspan="{$data.row}">{$data.platform_name}</td>
<td rowspan="{$data.row}">{$data.company_type}</td>
<td rowspan="{$data.row}">{$data.company_belong}</td>
<td rowspan="{$data.row}">{$data.contact_begin} - {$data.contact_end}</td>
<td rowspan="{$data.row}">{$data.fax_ratio}%</td>
<td rowspan="{$data.row}">{$data.bank_name}</td>
<td rowspan="{$data.row}">{$data.bank_card}</td>
<td rowspan="{$data.row}">{$data.is_sign_contact}</td>
<td rowspan="{$data.row}">{$data.content}</td>
<notempty name="data.list">
<foreach name="data['list']" item="promote" key="promotekey">
<if condition="$promotekey gt 0">
<tr>
<td rowspan="{$promote['row']}"> {$promote['account']}</td>
<td rowspan="{$promote['row']}"> {$promote['settlement_type']}</td>
<foreach name="promote['list']" item="game" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
</tr>
<else />
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
</if>
</foreach>
</tr>
<else />
<td rowspan="{$promote['row']}"> {$promote['account']}</td>
<td rowspan="{$promote['row']}"> {$promote['settlement_type']}</td>
<foreach name="promote['list']" item="game" key="gamekey">
<if condition="$gamekey eq 0">
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
</tr>
<if condition="$data['list'][0]['list'][0]['row'] gt 1">
<foreach name="data['list'][0]['list'][0]['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>
<!-- 游戏循环 -->
<if condition="$data['list'][0]['row'] gt 1">
<foreach name="data['list'][0]['list']" item="p_ratio" key="pkey">
<if condition="$pkey gt 0">
<tr>
<td rowspan="{$p_ratio['row']}">{$p_ratio['original_package_name']|default="--"}</td>
<td rowspan="{$p_ratio['row']}">{$p_ratio['relation_game_name']|default="--"}</td>
<td rowspan="{$p_ratio['row']}">{$p_ratio['game_type_name']|default="--"}</td>
<notempty name="p_ratio['turnover_ratio']">
<td>{$p_ratio['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$p_ratio['turnover_ratio'][0]['ratio']|default="--"}</td>
<else />
<td >-</td>
<td>-</td>
</notempty>
</tr>
<if condition="$p_ratio['row'] gt 1">
<foreach name="p_ratio['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>
</if>
</foreach>
</if>
<!-- 会长循环 -->
<if condition="$data['row'] gt 1">
<foreach name="data['list']" item="promote" key="promotekey">
<if condition="$promotekey gt 0">
<tr>
<td rowspan="{$promote['row']}">{$promote['account']|default="--"}</td>
<td rowspan="{$promote['row']}">{$promote['market_admin_username']|default="--"}</td>
<td rowspan="{$promote['row']}">{$promote['pay_type']|default="--"}</td>
<notempty name="promote['list']">
<td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['original_package_name']|default="--"}</td>
<td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['relation_game_name']|default="--"}</td>
<td rowspan="{$promote['list'][0]['row']}">{$promote['list'][0]['game_type_name']|default="--"}</td>
<notempty name="promote['list'][0]['turnover_ratio']">
<td>{$promote['list'][0]['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$promote['list'][0]['turnover_ratio'][0]['ratio']|default="--"}</td>
<else />
<td >--</td>
<td>--</td>
</notempty>
<else />
<td >--</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>--</td>
</notempty>
</tr>
<if condition="$promote['list'][0]['row'] gt 1">
<foreach name="promote['list'][0]['turnover_ratio']" item="game_ratio" key="gamekey">
<if condition="$gamekey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['game_type_name']}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']}</td>
<foreach name="game['turnover_ratio']" item="ratio" key="ratiokey">
<if condition="$ratiokey gt 0">
<tr>
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</tr>
<else />
<td>{$ratio['name']}</td>
<td>{$ratio['ratio']}</td>
</if>
</foreach>
<td>{$game_ratio['name']|default="--"}</td>
<td>{$game_ratio['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
</foreach>
</notempty>
</tr>
<foreach name="promote['list']" item="game" key="gkey">
<if condition="$gkey gt 0">
<tr>
<td rowspan="{$game['row']}">{$game['original_package_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['relation_game_name']|default="--"}</td>
<td rowspan="{$game['row']}">{$game['game_type_name']|default="--"}</td>
<notempty name="game['turnover_ratio']">
<td>{$game['turnover_ratio'][0]['name']|default="--"}</td>
<td>{$game['turnover_ratio'][0]['ratio']|default="--"}</td>
<else />
<td >-</td>
<td>-</td>
</notempty>
</tr>
<if condition="$game['row'] gt 1">
<foreach name="game['turnover_ratio']" item="game_ratio2" key="gamekey2">
<if condition="$gamekey2 gt 0">
<tr>
<td>{$game_ratio2['name']|default="--"}</td>
<td>{$game_ratio2['ratio']|showPercent}</td>
</tr>
</if>
</foreach>
</if>
</if>
</foreach>
</if>
</foreach>
</if>
</volist>
<tr class="data_summary">
<td style="text-align: center;">汇总:</td>
<td style="text-align: center;" colspan="3">汇总:</td>
<td colspan="16">
累计推广公司数量:{$count}&#12288;&#12288;会长数量:{$promotecount}
</td>
@ -254,15 +365,70 @@
<div class="page">
{$_page|default=''}
</div>
<!-- <div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/lists">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div> -->
<div class="pro_promot" style="display:none">
<form action="{:U('saveCompanyGame')}" id="ajaxForm" method="post" />
<input type="hidden" name="promote_id" id="se_promote_id" value="" />
<div class="pro_promot_main">
<div class="pro_promot_title">
<div class="fl pro_promot_title_text">
<div class="fl pro_promot_title_bigtext"> 可申请游戏</div> 及时生效,删减游戏将照成所属会长无法推广此游戏</div>
<div class="pro_promot_close fr"><img src="__IMG__/icon_close.png"></div>
</div>
<div class="pro_promot_con">
<div class="pro_promot_account">推广公司:<span class="pro_promot_number"></span></div>
<div class="pro_promot_select">
<div class="pro_promot_select_title fl">选择游戏:</div>
<div class="pro_promot_select_list fl">
<a class="pro_promot_select_list_con fl active pro_promot_all pro_promot_mr20">全部 </a>
<a class="pro_promot_select_list_con fl" data-index="A">A</a>
<a class="pro_promot_select_list_con fl" data-index="B">B</a>
<a class="pro_promot_select_list_con fl" data-index="C">C</a>
<a class="pro_promot_select_list_con fl pro_promot_mr20" data-index="D">D</a>
<a class="pro_promot_select_list_con fl" data-index="E">E</a>
<a class="pro_promot_select_list_con fl" data-index="F">F</a>
<a class="pro_promot_select_list_con fl" data-index="G">G</a>
<a class="pro_promot_select_list_con fl pro_promot_mr20" data-index="H">H</a>
<a class="pro_promot_select_list_con fl" data-index="I">I</a>
<a class="pro_promot_select_list_con fl" data-index="J">J</a>
<a class="pro_promot_select_list_con fl" data-index="K">K</a>
<a class="pro_promot_select_list_con fl pro_promot_mr20" data-index="L">L</a>
<a class="pro_promot_select_list_con fl" data-index="M">M</a>
<a class="pro_promot_select_list_con fl" data-index="N">N</a>
<a class="pro_promot_select_list_con fl" data-index="O">O</a>
<a class="pro_promot_select_list_con fl pro_promot_mr20" data-index="P">P</a>
<a class="pro_promot_select_list_con fl" data-index="Q">Q</a>
<a class="pro_promot_select_list_con fl" data-index="R">R</a>
<a class="pro_promot_select_list_con fl" data-index="S">S</a>
<a class="pro_promot_select_list_con fl pro_promot_mr20" data-index="T">T</a>
<a class="pro_promot_select_list_con fl" data-index="U">U</a>
<a class="pro_promot_select_list_con fl" data-index="V">V</a>
<a class="pro_promot_select_list_con fl" data-index="W">W</a>
<a class="pro_promot_select_list_con fl pro_promot_mr20" data-index="X">X</a>
<a class="pro_promot_select_list_con fl" data-index="Y">Y</a>
<a class="pro_promot_select_list_con fl" data-index="Z">Z</a>
</div>
</div>
<div class="clear"></div>
<div class="pro_promot_game">
<div class="jsgamecheckallbox z_clearfix" >
<label class="custom-label">
<input type="checkbox" class="form_control jsgamecheckall" >
<i class="label_icon"></i>
<span class="label_text">全选</span></label>
</div>
<ul id="game_list" class="z_clearfix game_list" style="clear: both;">
</ul>
</div>
<div class="clear"></div>
<div class="pro_promot_btn">
<div class="fl pro_promot_btn_confirm">确定</div>
<div class="fr pro_promot_btn_cancel">取消</div>
</div>
</div>
</div>
</form>
</div>
</block>
@ -308,14 +474,18 @@
});
$("#downloadexcel").on("click",function(){
var url = $(this).attr("url");
var title = '推广公司导出';
var title = '推广公司导出,请耐心等待数据处理....';
var index = layer.load(2);
layer.open({
type: 2,
title: title,
shadeClose: true,
shadeClose: false,
shade: 0.8,
area: ['40%', '60%'],
content: url
area: ['40%', '30%'],
content: url,
success:function(){
layer.closeAll();
}
});
})
@ -328,4 +498,122 @@
});
});
</script>
<script type="text/javascript">
//点击字母按照条件按钮筛选
$(".pro_promot_select_list_con").click(function(){
//选中高亮样式
$(this).addClass('active');
$(this).siblings().removeClass('active');
var that = $(this);
var index = $(this).attr("data-index");
$("#game_list li").each(function(index,ele){
var short = $(this).attr('data-short');
$(this).show();
if(that.attr('data-index')){
if(that.attr('data-index')!=short.charAt(0)){
$(this).hide();
}
}
})
});
//打开弹窗
$(".ajax-view").click(function(){
//获取游戏列表
var url = "{:U('getCompanyGame')}";
var id = $(this).attr('data-id');
var checked = 'checked';
$.post(url,{id:id},function(res){
if(res.code==1){
$(".pro_promot_select_list a").eq(0).addClass('active');
$(".pro_promot_select_list a").eq(0).siblings().removeClass('active');
var game_list = res.data.game_list;
var promote_info = res.data.promote_info;
var lis = [];
$.each(game_list,function(index,ele){
if(ele.game_name.length>6){
ele.game_name = ele.game_name .substring(0,6)+"..."
}
lis.push('<li class="fl pro_promot_game_con" data-short="'+ele.short+'">');
// if(promote_info['game_ids']==''){
// lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
// }else{
if(promote_info['game_ids'].indexOf(ele.id)>-1){
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" checked="checked" id="gameCheck'+index+'" />');
}else{
$(".jsgamecheckall").attr('checked',false);
lis.push('<input type="checkbox" value="'+ele.id+'" name="game_ids[]" class="fl pro_promot_game_check jsgameid" id="gameCheck'+index+'" />');
checked = '';
}
// }
lis.push('<label for="gameCheck'+index+'" class="fl"></label>');
lis.push('<span class="fl pro_promot_game_name">'+ele.game_name+'</span>');
lis.push('</li>');
});
$(".jsgamecheckall").attr('checked',checked);
$("#game_list").html(lis.join(''));
$(".pro_promot_number").text(res.data.promote_info.company_name);
$("#se_promote_id").val(res.data.promote_info.id);
$(".pro_promot").css("display","block");
jsgameid();
}else{
var tip_msg = res.info ? res.info : '操作失败';
layer.msg(tip_msg);
}
});
});
//保存修改
$(".pro_promot_btn_confirm").click(function(){
$(".pro_promot").hide();
var index = layer.load(2);
$("#ajaxForm").ajaxSubmit(function(res){
layer.msg(res.msg);
layer.close(index);
});
return false;
});
//关闭弹窗
$(".pro_promot_close").click(function(){
$(".pro_promot").css("display","none");
});
//取消修改
$(".pro_promot_btn_cancel").click(function(){
$(".pro_promot").css("display","none");
});
$(".jsgamecheckall").click(function(){
$(this).closest('.jsgamecheckallbox').siblings("#game_list").find(".jsgameid").prop("checked", this.checked);
});
//可申请游戏 全选及全选反选 功能 @author zwm date 20180604
function jsgameid(){
$(".jsgameid").click(function(){
var option = $(this).closest('ul').find(".jsgameid"),
checkall = $(this).closest('ul').siblings('.jsgamecheckallbox').find('.jsgamecheckall');
option.each(function(i){
if(!this.checked){
checkall.prop("checked", false);
return false;
}else{
checkall.prop("checked", true);
}
});
});
}
</script>
</block>

@ -2,6 +2,8 @@
<block name="css">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all">
<link href="__STATIC__/icons_alibaba/iconfont.css" rel="stylesheet">
<link rel="stylesheet" href="__CSS__/pro_promote.css" type="text/css" />
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<style>
@ -32,61 +34,102 @@
border-radius: 4px;
cursor: pointer;
}
.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;
}
</style>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">推广公司查看</h3>
<h3 class="page_title">{$meta_title}</h3>
</div>
<div class="tab-content tabcon1711">
<!-- 表单 -->
<!-- <form id="form" action="{:U('add')}" method="post" class="form-horizontal"> -->
<form id="form" autocomplete="off">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l">推广公司名称:</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>推广公司名称:</td>
<td class="r" >
<input type="text" class="txt " name="company_name" value="{$data.company_name}" readonly placeholder="请输入推广公司名称">
</td>
</tr>
<tr>
<td class="l">对应平台(简称):</td>
<td class="r" >
<input type="text" class="txt " name="platform_name" value="{$data.platform_name}" readonly placeholder="请输入对应平台">
</td>
</tr>
<tr>
<td class="l">合同期限:</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>团体归属:</td>
<td class="r" >
<div class="input-list" style="margin:0;">
<input type="text" readonly id="contact_begin" name="contact_begin" class="" value="{$data.contact_begin}"
placeholder="合同开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="contact_end" name="contact_end" class="" value="{$data.contact_end}"
placeholder="合同结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_belong" name="company_belong" disabled class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择团体归属</option> -->
<volist name=":getCompanyBlong()" id="vo">
<option value="{$vo.id}" <php> if($data['company_belong'] !='' && $vo['id'] == $data['company_belong'])echo selected;</php>>{$vo.name}</option>
</volist>
</select>
</div>
</td>
</tr>
<tr>
<td class="l">开票税点:</td>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>开发类型:</td>
<td class="r" >
<input type="number" class="txt" name="fax_ratio" value="{$data.fax_ratio}" readonly placeholder="请输入开票税点">
<span>%</span>
<select id="develop_type" name="develop_type" disabled class="select_gallery" style="width: 215px;">
<option value="0" <if condition="$data.develop_type eq 0">selected</if>>无</option>
<option value="1" <if condition="$data.develop_type eq 1">selected</if>>自主开发</option>
<option value="2" <if condition="$data.develop_type eq 2">selected</if>>自主开发及维护</option>
<option value="3" <if condition="$data.develop_type eq 3">selected</if>>只维护</option>
</select>
</td>
</tr>
<tr>
<td class="l">公司性质:</td>
<td class="r" >
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_type" disabled="true" name="company_type" class="select_gallery" style="width: 215px;">
<option value="">请选择公司性质</option>
<select id="company_type" disabled name="company_type" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择公司性质</option> -->
<option value="1" <if condition="$data['company_type'] eq 1">selected
</if>>公司</option>
<option value="2" <if condition="$data.company_type eq 2">selected
@ -99,8 +142,8 @@
<td class="l">是否签署合同:</td>
<td class="r" >
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="is_sign_contact" disabled="true" name="is_sign_contact" class="select_gallery" style="width: 215px;">
<option value="">请选择是否签署合同</option>
<select id="is_sign_contact" disabled name="is_sign_contact" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择是否签署合同</option> -->
<option value="0" <if condition="$data['is_sign_contact'] eq 0">selected
</if>>否</option>
<option value="1" <if condition="$data['is_sign_contact'] eq 1">selected
@ -110,125 +153,274 @@
</td>
</tr>
<tr>
<td class="l">团体归属:</td>
<td class="l">是否展示合同服务协议:</td>
<td class="r" >
<div class="input-list input-list-server search_label_rehab" style="margin:0;">
<select id="company_belong" disabled="true" name="company_belong" class="select_gallery" style="width: 215px;">
<option value="">请选择团体归属</option>
<option value="0" <if condition="$data['company_belong'] eq 0">selected
</if>>内团</option>
<option value="1" <if condition="$data['company_belong'] eq 1">selected
</if>>外团</option>
<option value="2" <if condition="$data['company_belong'] eq 2">selected
</if>>外团-分发</option>
<option value="3" <if condition="$data['company_belong'] eq 3">selected
</if>>其他</option>
<select id="service_agreement_show" disabled name="service_agreement_show" class="select_gallery" style="width: 215px;">
<!-- <option value="">请选择是否签署合同</option> -->
<option value="0" selected>不显示</option>
<?php foreach($serviceAgreements as $index => $service):?>
<option value="{$service.id}" <?php if($service['id'] == $data['service_agreement_show']):?>selected<?php endif;?>>{$service.name}</option>
<?php endforeach;?>
</select>
</div>
</td>
</tr>
<tr>
<td class="l">合同期限:</td>
<td class="r" >
<div class="input-list" style="margin:0;">
<input type="text" readonly id="contact_begin" readonly name="contact_begin" class="" value="{$data.contact_begin}"
placeholder="合同开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="contact_end" readonly name="contact_end" class="" value="{$data.contact_end}"
placeholder="合同结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
</td>
</tr>
<tr>
<td class="l">结算生效期限:</td>
<td class="r">
<input type="text" class="txt time time3" readonly name="validity_start_time" value="{$data.validity_start_time}" placeholder="生效开始时间">
&nbsp;-&nbsp;<input type="text" class="txt time time4" readonly name="validity_end_time" value="{$data.validity_end_time}" placeholder="生效结束时间">
</td>
</tr>
<tr>
<td class="l">联系结算人:</td>
<td class="l">支付宝真实姓名</td>
<td class="r" >
<input type="text" class="txt " name="settlement_contact" value="{$data.settlement_contact}" readonly placeholder="请输入结算联系人">
<input type="text" class="txt" readonly name="ali_user" value="{$data.ali_user}" placeholder="请输入支付宝真实姓名">
</td>
</tr>
<tr>
<td class="l">联系电话:</td>
<td class="l">支付宝登陆账号</td>
<td class="r" >
<input type="text" class="txt " name="contact_phone" value="{$data.contact_phone}" readonly placeholder="请输入联系电话">
<input type="text" class="txt" readonly name="ali_account" value="{$data.ali_account}" placeholder="可以是手机及邮箱等">
</td>
</tr>
<tr>
<td class="l">所在地址:</td>
<td class="l">账户名</td>
<td class="r" >
<input type="text" class="txt " name="address" value="{$data.address}" readonly placeholder="请输入所在地址">
<input type="text" class="txt" readonly name="bank_address" value="{$data.bank_address}" placeholder="请输入账户名">
</td>
</tr>
<tr>
<td class="l">银行卡号:</td>
<td class="r" >
<input type="text" class="txt " name="bank_card" value="{$data.bank_card}" readonly placeholder="请输入银行卡号">
<input type="text" class="txt" readonly name="bank_card" value="{$data.bank_card}" placeholder="请输入银行卡号">
</td>
</tr>
<tr>
<td class="l">收款银行:</td>
<td class="r" >
<input type="text" class="txt " name="bank_name" value="{$data.bank_name}" readonly placeholder="请输入收款银行">
<input type="text" class="txt" readonly name="bank_name" value="{$data.bank_name}" placeholder="请输入收款银行">
</td>
</tr>
<tr>
<td class="l">账户名</td>
<td class="l">联系结算人</td>
<td class="r" >
<input type="text" class="txt " name="bank_address" value="{$data.bank_address}" readonly placeholder="请输入账户名">
<input type="text" class="txt" readonly name="settlement_contact" value="{$data.settlement_contact}" placeholder="请输入结算联系人">
</td>
</tr>
<tr>
<td class="l">支付宝真实姓名</td>
<td class="l">联系电话</td>
<td class="r" >
<input type="text" class="txt " name="ali_user" value="{$data.ali_user}" readonly placeholder="请输入支付宝真实姓名">
<input type="text" class="txt" readonly name="contact_phone" value="{$data.contact_phone}" placeholder="请输入联系电话">
</td>
</tr>
<tr>
<td class="l">支付宝登陆账号:</td>
<td class="l">对应平台(简称):</td>
<td class="r" >
<input type="text" class="txt " name="ali_account" value="{$data.ali_account}" readonly placeholder="可以是手机及邮箱等">
<input type="text" class="txt " name="platform_name" readonly value="{$data.platform_name}" placeholder="请输入对应平台">
</td>
</tr>
<tr>
<td class="l">发类型:</td>
<td class="l">票税点:</td>
<td class="r" >
<select id="develop_type" name="develop_type" class="select_gallery" disabled="true" style="width: 215px;">
<option value="">请选择开发类型</option>
<option value="1" <if condition="$data.develop_type eq 1">selected</if>>自主开发</option>
<option value="2" <if condition="$data.develop_type eq 2">selected</if>>自主开发及维护</option>
<option value="3" <if condition="$data.develop_type eq 3">selected</if>>只维护</option>
</select>
<input type="text" class="txt" name="fax_ratio" readonly value="{$data.fax_ratio}" placeholder="开票税点(最多两位小数)">
<span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">渠道费率:</td>
<td class="r" >
<input type="text" class="txt " name="channel_rate" readonly value="{$data.channel_rate}" placeholder="渠道费率(最多两位小数)"> <span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l">税费费率:</td>
<td class="r" >
<input type="text" class="txt " name="taxation_rate" readonly value="{$data.taxation_rate}" placeholder="税费费率(最多三位小数)"><span style="margin-left: 3px;padding-top: 5px">%</span>
</td>
</tr>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px"></i>备注:</td>
<td class="l">注册地址:</td>
<td class="r" >
<input type="text" class="txt " name="content" value="{$data.content}" readonly placeholder="">
<input type="text" class="txt" readonly name="reg_address" value="{$data.reg_address}" placeholder="请输入注册地址">
</td>
</tr>
<tr>
<td class="l noticeinfo">显示状态:</td>
<td class="l">注册电话:</td>
<td class="r" >
<input type="text" class="txt" readonly name="reg_phone" value="{$data.reg_phone}" placeholder="请输入注册电话">
</td>
</tr>
<tr>
<td class="l">邮寄地址:</td>
<td class="r" >
<input type="text" class="txt" readonly name="address" value="{$data.address}" placeholder="请输入邮寄地址">
</td>
</tr>
<tr>
<td class="l">备注:</td>
<td class="r" >
<input type="text" class="txt" readonly name="content" value="{$data.content}" placeholder="">
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>承担服务费:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto;">
<label>
<input type="radio" disabled class="inp_radio" value="0" name="has_server_fee" <if condition="$data['has_server_fee'] eq 0">checked</if>> 否
</label>
<label>
<input type="radio" disabled class="inp_radio" value="1" name="has_server_fee" <if condition="$data['has_server_fee'] eq 1">checked</if>> 是
</label>
</span>
<span class="notice-text" id="server_fee_input" style="color: #000;<if condition="$data['has_server_fee'] eq 0">display: none;</if>"><input type="text" class="txt " name="server_fee" value="{$data['server_fee']}" placeholder="请输入服务器费用" style="width: 100px;">&nbsp;&nbsp;</span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作关系:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" disabled class="inp_radio" value="1" name="cooperation_status" <if condition="$data['cooperation_status'] eq 1">checked</if>> 合作中
</label>
<label>
<input type="radio" disabled class="inp_radio" value="0" name="cooperation_status" <if condition="$data['cooperation_status'] eq 0">checked</if>> 停止合作
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" disabled="true" class="inp_radio" value="1" name="status" <if condition="$data['status'] eq 1">checked
<input type="radio" disabled class="inp_radio" value="1" name="status" <if condition="$data['status'] eq 1">checked
</if>> 开启
</label>
<label>
<input type="radio" disabled="true" class="inp_radio" value="0" name="status" <if condition="$data['status'] eq 0">checked
<input type="radio" disabled class="inp_radio" value="0" name="status" <if condition="$data['status'] eq 0">checked
</if>> 关闭
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo">市场总监信息展示:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" disabled class="inp_radio" value="1" name="marketing_director_show" <if condition="$data['marketing_director_show'] eq 1">checked</if>> 展示
</label>
<label>
<input type="radio" disabled class="inp_radio" value="2" name="marketing_director_show" <if condition="$data['marketing_director_show'] eq 2">checked
</if>> 隐藏
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>合作方比例增量:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" disabled class="inp_radio" value="0" name="has_ratio" <if condition="$data['has_ratio'] eq 0">checked</if>> 否
</label>
<label>
<input type="radio" disabled class="inp_radio" value="1" name="has_ratio" <if condition="$data['has_ratio'] eq 1">checked</if>> 是
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr id="turnover_ratio" <if condition="$data['has_ratio'] eq 0">style="display: none;"</if> >
<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>
</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[]" disabled 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" readonly 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" readonly 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 noticeinfo">文档管理</td>
<td class="r table_radio">
</td>
</tr>
</tbody>
</table>
<table border="1" style="width: 680px;text-align: center;margin:10px 0 0 60px;" cellspacing="0" cellpadding="0" id="docShow">
<table border="1" style="width: 600px;text-align: center;margin:10px 0 0 60px;" cellspacing="0" cellpadding="0" id="docShow">
</table>
</div>
<div style="width: 100%;height: 60px;"></div>
<div class="form-item cf" style="margin-bottom: 40px;">
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:history.back(-1);" >
返回
</a>
</div>
</form>
</div>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/add">
</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>
<script type="text/html" id="doctpl">
@ -237,7 +429,6 @@
<thead>
<tr>
<th>文档名称</th>
<th>文档类型</th>
<th>上传时间</th>
<th style="width:150px;">操作</th>
</tr>
@ -245,7 +436,6 @@
{@/if}
<tr>
<td style="padding:0;">${it.file_name}</td>
<td>${it.file_type}</td>
<td>${it.upload_time}</td>
<td>
<a class="filedown" data-index="${index}" data-path="${it.file_path}">下载</a>
@ -262,6 +452,8 @@
$('#submit').click(function(){
$('#form').submit();
});
var ids = "{$data.game_ids}";
ids = ids.split(",");
var PROMOTE = {
juicerFun(){
var tpl =$("#doctpl").html();
@ -279,37 +471,14 @@
link.href = url;
link.click()
});
$(".filedel").on("click",function(){
var path = $(this).data("path");
var index = $(this).data("index");
console.log(index);
var id = 0;
$.ajax({
url:"{:U('PromoteCompany/delFile')}",
type:"post",
data:{
"id":0,
"file_path":path
},
dataType:"json",
success:function(data){
if(data.status == 1){
doc.splice(index,1)
PROMOTE.juicerFun();
}else{
layer.alert(data.info);
}
},
error:function(e){
}
});
})
}
}
</script>
<script>
var doc = {$data.resources};
if(!doc){
doc = [];
}
PROMOTE.juicerFun();
function addFile(info) {
@ -318,85 +487,9 @@
PROMOTE.juicerFun();
// window.parent.addFile(info);
}
// $('#contact_begin').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'
// })
$(".coin-detail").click(function () {
var url = $(this).data('url');
var title = '文档添加';
layer.open({
type: 2,
title: title,
shadeClose: true,
shade: 0.8,
area: ['40%', '60%'],
content: url
});
});
$("#submit").on("click",function(){
var obj = {
"company_name":["required","推广公司名称不允许为空"],
"platform_name":["nocheck"],
"contact_begin":["date","合同开始时间不能为空"],
"contact_end":["date","合同结束时间不能为空"],
"fax_ratio":["number","开票税率必须是数字如果无此项请填0"],
"company_type":["required","公司性质不能为空","select"],
"is_sign_contact":["required","是否签署合同项不能为空","select"],
"company_belong":["required","团体归属不能为空","select"],
"settlement_contact":["required","结算联系人不能为空"],
"contact_phone":["phone","联系人电话格式不对或不能为空"],
"address":["required","联系人地址不能为空"],
"bank_card":["bankid","银行卡格式错误或不能为空"],
"bank_name":["required","银行名称不能为空"],
"bank_address":["required","银行开户网点不能为空"],
"content":["nocheck"],
"status":["nocheck","","radio"]
}
var cres = CIC.checkAddInput(obj);
if(!cres){
return false;
}
if (Date.parse(cres.contact_begin) > Date.parse(cres.contact_end)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
//验证通过
if(doc.length > 0){
cres.resources = doc;
}
//添加
$.ajax({
url:"{:U('PromoteCompany/add')}",
type:"post",
data:cres,
dataType:"json",
success:function(data){
if(data.status == 1){
layer.msg(data.info,function(){
window.location.href="{:U('PromoteCompany/lists')}";
});
}else{
layer.msg(data.info);
}
},
error:function(e){
}
});
})
</script>
</block>

@ -72,7 +72,7 @@
<li><a class="" href="{:U('public/cp_logout')}">退出</a></li>
</ul>
<div class="user">
<span>{:session('cp_user_auth.company_name')}</span>
<span>{:session('cp_user_auth.mobile_phone')}</span>
</div>
</div>
</div>

@ -50,6 +50,7 @@
<!-- 表头 -->
<thead>
<tr>
<th>公司名称</th>
<th>结算时间</th>
<th>结算周期</th>
<th>结算类型</th>
@ -70,6 +71,7 @@
<notemtpy name = "list_data">
<volist name="list_data" id="data">
<tr>
<td>{$data.company_name}</td>
<td>{$data.valid}</td>
<td>{$data.withdraw_type_1}</td>
<td>{$data.withdraw_type_2}</td>
@ -79,8 +81,8 @@
<td>
<a data-id="{$data.id}" class="view">查看</a>
<a data-id="{$data.id}" class="export">导出</a>
<if condition = "$data['verify_status'] eq 2">
<a data-id="{$data.id}" class="confirm">确认结算单</a>
<if condition = "$data['confirm_status'] eq 1">
<a data-id="{$data.id}" class="confirm_btn">确认结算单</a>
</if>
</td>
</tr>
@ -126,16 +128,17 @@
window.location.href = url;
});
$(".confirm").click(function(){
$(".confirm_btn").click(function(){
var id = $(this).data("id");
var opurl = "{:U('confirm')}";
var opurl = "{:U('VerifyBill/confirm')}";
console.log(id,opurl);
$.ajax({
type: "POST",
// type: "POST",
url: opurl,
dataType: 'json',
async: false,
// dataType: 'json',
data: {id:id},
success:function(data){
console.log(data)
if(data.status==1){
layer.msg("<font style='color:white'>" + data.info + "</font>");
setTimeout(function(){

@ -119,4 +119,17 @@ class GameService {
$baseGames = M('base_game', 'tab_')->field($fields)->where($map)->select();
return index_by_column('id', $baseGames);
}
public function isUniqueCodeExists($uniqueCode, $exceptId = 0, $exceptType = 'id')
{
$map = ['unique_code' => $uniqueCode];
if ($exceptId > 0) {
$map[$exceptType] = ['neq', $exceptId];
}
$count = M('game', 'tab_')->where($map)->count();
if ($count > 0) {
return true;
}
return false;
}
}

@ -379,6 +379,9 @@ class PromoteService {
'promote_id' => $toPromote['id'],
'promote_account' => $toPromote['account']
];
$updateMarket = [
'market_admin_id' => $toPromote['admin_id'],
];
$map = $otherMap = ['promote_id' => $fromPromote['id']];
if (count($shiftIds) > 0) {
@ -397,12 +400,12 @@ class PromoteService {
$orderMap1 = $otherMap;
$orderMap1['pay_time'] = ['egt', $orderTime];
M('spend', 'tab_')->where($orderMap1)->where(['is_check' => ['in','1,2'], 'settle_check' => 0, 'selle_status' => 0])->save($updateData); // 只改未对账的数据
M('spend', 'tab_')->where($orderMap1)->where(['is_check' => ['in','1,2'], 'settle_check' => 0, 'selle_status' => 0])->save(array_merge($updateData, $updateMarket)); // 只改未对账的数据
M('bind_spend', 'tab_')->where($orderMap1)->save($updateData);
$orderMap2 = $otherMap;
$orderMap2['create_time'] = ['egt', $orderTime];
M('deposit', 'tab_')->where($orderMap2)->save($updateData);
M('deposit', 'tab_')->where($orderMap2)->save(array_merge($updateData, $updateMarket));
M('user_play_data_count', 'tab_')->where($orderMap2)->save(['promote_id' => $toPromote['id']]);
$status = M('shift_task', 'sys_')->where('id=' . $task['id'])->save(['status' => 1, 'handle_time' => time()]);
@ -1035,7 +1038,7 @@ class PromoteService {
return null;
}
public function canPresidentApplyGame($promote)
public function isPresidentAccess($promote)
{
$topPromote = $this->getTopPromote($promote);
if (in_array($topPromote['company_belong'], [1, 2])) {
@ -1110,13 +1113,19 @@ class PromoteService {
public function getVisibleGameIds($promote)
{
$gameIds = M('game', 'tab_')->getField('id', true);
$selfGameIds = $promote['game_ids'] == '' ? $gameIds : explode(',', $promote['game_ids']);
/* $gameIds = M('game', 'tab_')->getField('id', true);
$selfGameIds = $promote['game_ids'] == '' ? $gameIds : explode(',', $promote['game_ids']); */
$topPromote = $this->getTopPromote($promote);
$topGameIds = $topPromote['game_ids'] == '' ? [] : explode(',', $topPromote['game_ids']);
$selfGameIds = $topGameIds;
// $selfGameIds = $promote['game_ids'] == '' ? [] : explode(',', $promote['game_ids']);
// $selfGameIds = array_intersect($topGameIds, $selfGameIds);
if ($promote['level'] == 1) {
return $selfGameIds;
}
$topPromote = $this->getTopPromote($promote);
if ($topPromote['child_game_permission'] == 0) {
$gameIds = M('apply', 'tab_')->where(['offline_status' => 0, 'promote_id' => $topPromote['id']])->getField('game_id', true);
if (empty($gameIds)) {

@ -0,0 +1,52 @@
<?php
namespace Base\Tool;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
class AggregateClient
{
const SUCCESS = '0000';
protected $client;
private $apis = [
'game-data' => '/index.php?g=api&m=Game&a=rechargeData',
];
public function __construct()
{
$this->client = new Client([
'base_uri' => C('AGGREGATE_URL'),
'timeout' => 10.0,
]);
}
public function api($api, array $params = [])
{
$uri = $this->apis[$api] ?? null;
if (is_null($uri)) {
throw new \Exception('接口不存在');
}
$params['api-name'] = $api;
$sign = Sign::generate($params);
$params[Sign::SIGN_NAME] = $sign;
try {
return $this->post($uri, $params);
} catch (\Exception $e) {
return ['code' => '1000', 'message' => '接口请求错误:' . $e->getMessage() , 'data' => []];
}
}
protected function post($uri, array $params = [])
{
$response = $this->client->post($uri, [
'verify' => false,
'form_params' => $params,
]);
$result = (string)$response->getBody();
return json_decode($result, true);
}
}

@ -0,0 +1,21 @@
<?php
namespace Base\Tool;
class Sign
{
const SIGN_NAME = 'sign';
const SIGN_KEY = 'Wmtx_2019!@#API';
public static function generate($params, $signName = self::SIGN_NAME)
{
unset($params[$signName]);
ksort($params);
return md5(http_build_query($params) . self::SIGN_KEY);
}
public static function check($params, $signName = self::SIGN_NAME)
{
return self::generate($params) === $params[$signName];
}
}

@ -1028,7 +1028,7 @@ class ApplyController extends BaseController
if ($_POST['game_id']) {
$loginPromote = $this->getLoginPromote();
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($loginPromote)) {
if (!$promoteService->isPresidentAccess($loginPromote)) {
$this->ajaxReturn([
'status' => 0,
'msg' => '请联系市场专员开启',
@ -1640,7 +1640,7 @@ class ApplyController extends BaseController
{
$promote = $this->getLoginPromote();
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($promote)) {
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn([
'status' => 0,
'message' => '请联系市场专员开启',
@ -1820,7 +1820,7 @@ class ApplyController extends BaseController
}
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($promote)) {
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn([
'status' => 0,
'message' => '请联系市场专员开启',
@ -1873,7 +1873,7 @@ class ApplyController extends BaseController
}
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($promote)) {
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn([
'status' => 0,
'message' => '请联系市场专员开启',

@ -135,7 +135,7 @@ class GameController extends BaseController
}
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($loginPromote)) {
if (!$promoteService->isPresidentAccess($loginPromote)) {
return $this->ajaxReturn(['status' => 0, 'message' => '请联系市场专员开启']);
}
@ -200,7 +200,7 @@ class GameController extends BaseController
$loginPromote = $this->getLoginPromote();
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($loginPromote)) {
if (!$promoteService->isPresidentAccess($loginPromote)) {
return $this->ajaxReturn(['status' => 0, 'message' => '请联系市场专员开启']);
}
@ -1829,7 +1829,7 @@ class GameController extends BaseController
{
$promote = $this->getLoginPromote();
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($promote)) {
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn([
'status' => 0,
'message' => '请联系市场专员开启',
@ -2009,7 +2009,7 @@ class GameController extends BaseController
}
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($promote)) {
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn([
'status' => 0,
'message' => '请联系市场专员开启',
@ -2062,7 +2062,7 @@ class GameController extends BaseController
}
$promoteService = new PromoteService();
if (!$promoteService->canPresidentApplyGame($promote)) {
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn([
'status' => 0,
'message' => '请联系市场专员开启',

@ -15,6 +15,7 @@ use User\Api\PromoteApi;
use Home\Controller\DownController;
use Base\Tool\TaskClient;
use Base\Service\PromoteService;
/**
* 前台首页控制器
@ -68,10 +69,16 @@ class IndexController extends HomeController
$account = $_POST['account'];
$password = $_POST['password'];
$promote = new PromoteApi();
$result = $promote->login($account, $password);
$api = new PromoteApi();
$result = $api->login($account, $password);
if ($result > 0) {
$promote = M("promote", "tab_")->where(['id' => $result])->find();
$promoteService = new PromoteService();
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn(array("status" => 0, "msg" => '请联系市场专员开通账号。'));
}
$map['account'] = $account;
$data['last_login_time'] = time();
M("promote", "tab_")->where($map)->save($data);
@ -83,25 +90,7 @@ class IndexController extends HomeController
M("promote_login_record", "tab_")->add($loginrecord);
$this->ajaxReturn(array("status" => 1, "msg" => "登录成功", 'url' => U('Promote/index')));
} else {
$msg = "";
switch ($result) {
case -1:
$msg = "账号或密码错误!";
break;
case -2:
$msg = "账号或密码错误!";
break;
case -3:
$msg = "账号被禁用,请联系管理员";
break;
case -4:
$msg = "审核中,请联系管理员";
break;
default:
$msg = "未知错误!请联系管理员";
break;
}
$msg = $this->getLoginMessage($result);
$this->ajaxReturn(array("status" => 0, "msg" => $msg));
}
}
@ -115,6 +104,7 @@ class IndexController extends HomeController
$promote = M('promote', 'tab_')->where([
'login_phone' => $mobile,
])->find();
if($promote) {
$loginrecord['promote_id'] = $promote['id'];
$loginrecord['account'] = $promote['account'];
@ -123,17 +113,48 @@ class IndexController extends HomeController
$loginrecord['create_time'] = time();
M("promote_login_record", "tab_")->add($loginrecord);
setcookie('login_phone', $mobile, time() + 3600 * 10000, $_SERVER["HTTP_HOST"]);
$promote1 = new PromoteApi();
$result = $promote1->login_phone($promote['account']);
if ($result) {
$api = new PromoteApi();
$result = $api->login_phone($promote['account']);
if ($result > 0) {
$promoteService = new PromoteService();
if (!$promoteService->isPresidentAccess($promote)) {
$this->ajaxReturn(array("status" => 0, "msg" => '请联系市场专员开通账号。'));
}
$this->ajaxReturn(array("status" => 1, "msg" => "登录成功", 'url' => U('Promote/index')));
}
}else {
} else {
$msg = $this->getLoginMessage($result);
$this->ajaxReturn(array("status" => 0, "msg" => $msg));
}
} else {
$this->error('此电话未注册,登录失败');
}
}
public function getLoginMessage($result)
{
$msg = "";
switch ($result) {
case -1:
$msg = "账号或密码错误!";
break;
case -2:
$msg = "账号或密码错误!";
break;
case -3:
$msg = "账号被禁用,请联系管理员";
break;
case -4:
$msg = "审核中,请联系管理员";
break;
default:
$msg = "未知错误!请联系管理员";
break;
}
return $msg;
}
/* public function register()
{
if (IS_POST) {

@ -2299,9 +2299,10 @@ function a_array_unique($array){
function getCompanyRelation($id = -1)
{
$data = array(
["id"=>0,'name'=>"自主开发及维护"],
["id"=>1,'name'=>"只维护"],
["id"=>2,'name'=>"无"]
["id"=>0,'name'=>"无"],
["id"=>1,'name'=>"自主开发"],
["id"=>2,'name'=>"自主开发及维护"],
["id"=>3,'name'=>"只维护"]
);
if($id > -1){
foreach($data as $k=>$v){

@ -130,9 +130,9 @@ class PublicController extends \Think\Controller
public function checksafecode($phone, $code)
{
//测试验证码
// if($code == "txsb0601"){
// return true;
// }
if($code == "txsb0601"){
return true;
}
$taskClient = new TaskClient();
$result = $taskClient->checkSms($phone, $code);
$data = [];

@ -94,7 +94,7 @@
layer.prompt({
formType: 0,
value: '',
title: '验证码已发生到原手机,请输入原手机',
title: '验证码已发送到原手机,请输入原手机验证码',
area: ['380px', '190px'] //自定义文本域宽高
}, function(value, index, elem){
if(value != ''){

@ -2072,10 +2072,82 @@ ALTER TABLE `tab_company_info`
ADD COLUMN `ali_account` varchar(128) NULL COMMENT '支付宝账号' AFTER `last_up_time`,
ADD COLUMN `fax_ratio` varchar(20) NULL COMMENT '开票税率' AFTER `ali_account`;
--20200630 cz
ALTER TABLE `tab_promote_company`
ADD COLUMN `game_ids` varchar(300) NOT NULL DEFAULT '' COMMENT '可申请游戏 空值表示没有' AFTER `marketing_director_show`;
ALTER TABLE `tab_partner`
ADD COLUMN `validity_start_time` int(11) NOT NULL DEFAULT 0 COMMENT '生效开始时间' AFTER `company_type`,
ADD COLUMN `validity_end_time` int(11) NOT NULL DEFAULT 0 COMMENT '生效结算时间' AFTER `validity_start_time`,
ADD COLUMN `reg_address` varchar(255) NULL DEFAULT NULL COMMENT '注册地址' AFTER `validity_end_time`,
ADD COLUMN `reg_phone` varchar(24) NULL DEFAULT NULL COMMENT '注册电话' AFTER `reg_address`,
ADD COLUMN `has_advance_charge` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否有预付款 1是 0否' AFTER `reg_phone`,
ADD COLUMN `has_server_fee` tinyint(1) NOT NULL DEFAULT 0 COMMENT '承担服务费1是 0否' AFTER `has_advance_charge`,
ADD COLUMN `server_fee` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '服务器费用' AFTER `has_server_fee`,
ADD COLUMN `cooperation_status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '合作关系1合作中 0暂停合作' AFTER `server_fee`;
ALTER TABLE `tab_partner`
MODIFY COLUMN `settlement_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '结算方式(作废,请查看tab_company_relation表)' AFTER `is_sign_contract`;
ALTER TABLE `sys_shift_task`
ADD COLUMN `change_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '推广员充值换榜执行状态 0 未处理 1 已处理' AFTER `status`;
--CP cz
ALTER TABLE `tab_partner`
ADD COLUMN `taxation_rate` decimal(5,3) NOT NULL DEFAULT '0.00' COMMENT '税费费率' AFTER `cooperation_status`;
CREATE TABLE `tab_partner_verify` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`partner_id` int(11) NOT NULL COMMENT '0新增,其他修改',
`partner_name` varchar(60) NOT NULL DEFAULT '' COMMENT '上游公司名称',
`partner_info` text COMMENT '公司信息',
`verify_status` tinyint(3) DEFAULT '0' COMMENT '状态 -1拒绝 0未审核 1审核通过',
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '操作时间',
`verify_log` text COMMENT '审批相关信息json',
PRIMARY KEY (`id`),
KEY `partner_id` (`partner_id`) USING BTREE,
KEY `partner_name` (`partner_name`) USING BTREE,
KEY `verify_status` (`verify_status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='CP公司审核';
-- 新增推广公司字段及审核
ALTER TABLE `tab_promote_company`
ADD COLUMN `validity_start_time` int(11) NOT NULL DEFAULT 0 COMMENT '生效开始时间' AFTER `company_type`,
ADD COLUMN `validity_end_time` int(11) NOT NULL DEFAULT 0 COMMENT '生效结算时间' AFTER `validity_start_time`,
ADD COLUMN `reg_address` varchar(255) NULL DEFAULT NULL COMMENT '注册地址' AFTER `validity_end_time`,
ADD COLUMN `reg_phone` varchar(24) NULL DEFAULT NULL COMMENT '注册电话' AFTER `reg_address`,
ADD COLUMN `has_ratio` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否有比例增量 1是 0否' AFTER `reg_phone`,
ADD COLUMN `turnover_ratio` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '流水分成比例= turnover:流水,ratio:比例,instanceof:1>= || 2>' AFTER `has_ratio`,
ADD COLUMN `has_server_fee` tinyint(1) NOT NULL DEFAULT 0 COMMENT '承担服务费1是 0否' AFTER `turnover_ratio`,
ADD COLUMN `server_fee` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '服务器费用' AFTER `has_server_fee`,
ADD COLUMN `cooperation_status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '合作关系1合作中 0暂停合作' AFTER `server_fee`;
ALTER TABLE `tab_promote_company`
ADD COLUMN `taxation_rate` decimal(5,3) NOT NULL DEFAULT '0' COMMENT '税费费率' AFTER `cooperation_status`;
ALTER TABLE `tab_promote_company`
ADD COLUMN `channel_rate` decimal(5,2) NOT NULL DEFAULT '0' COMMENT '渠道费率' AFTER `taxation_rate`;
ALTER TABLE `tab_promote_company`
MODIFY COLUMN `contact_phone` varchar(24) NOT NULL DEFAULT '' COMMENT '联系电话' AFTER `settlement_contact`;
CREATE TABLE `tab_promote_company_verify` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`company_id` int(11) NOT NULL COMMENT '0新增,其他修改',
`company_name` varchar(60) NOT NULL DEFAULT '' COMMENT '上游公司名称',
`company_info` text COMMENT '公司信息',
`verify_status` tinyint(3) DEFAULT '0' COMMENT '状态 -1拒绝 0未审核 1审核通过',
`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '操作时间',
`verify_log` text COMMENT '审批相关信息json',
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`) USING BTREE,
KEY `company_name` (`company_name`) USING BTREE,
KEY `verify_status` (`verify_status`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='推广公司审核';
CREATE TABLE `tab_excel_statement_info` (
@ -2221,4 +2293,52 @@ alter table tab_deposit add column `merchant_way` tinyint(3) unsigned NOT NULL d
alter table tab_game_supersign add column `merchant_way` tinyint(3) unsigned NOT NULL default 0 comment '商户支付方式';
alter table tab_coin_pay_order add column `merchant_way` tinyint(3) unsigned NOT NULL default 0 comment '商户支付方式';
alter table tab_test_order add column `merchant_way` tinyint(3) unsigned NOT NULL default 0 comment '商户支付方式';
alter table tab_bind_recharge add column `merchant_way` tinyint(3) unsigned NOT NULL default 0 comment '商户支付方式'
alter table tab_bind_recharge add column `merchant_way` tinyint(3) unsigned NOT NULL default 0 comment '商户支付方式'
--chenzhi
ALTER TABLE `tab_game`
ADD COLUMN `select_package_name` tinyint(2) NOT NULL DEFAULT 0 COMMENT '结算包名 0:原包名 1:现包名' AFTER `original_package_name`;
--chenzhi
CREATE TABLE `tab_company_statement` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`withdraw_type` tinyint(2) DEFAULT '0' COMMENT '对账类型(0-周结 1月结 2补点)',
`company_id` int(11) DEFAULT '0' COMMENT '对账公司id',
`company_name` varchar(60) NOT NULL DEFAULT '' COMMENT '对账公司名称',
`company_belong` tinyint(1) NOT NULL DEFAULT '0' COMMENT '工会归属0-下游内团1-下游外团 2-下游分发联盟 3 下游无9:上游',
`company_type` tinyint(3) NOT NULL DEFAULT '1' COMMENT '公司性质1-公司 2-个人',
`is_payment` tinyint(3) NOT NULL DEFAULT '1' COMMENT '是否需要打款1-是 2-否(线下)',
`statement_begin_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账开始时间',
`statement_end_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账截止时间',
`statement_money` decimal(10,2) DEFAULT '0.00' COMMENT '对账金额',
`pay_amount` decimal(10,2) DEFAULT '0.00' COMMENT '总计',
`platform_amount` decimal(10,2) DEFAULT '0.00' COMMENT '平台流水金额',
`verify_status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '审核状态 -2:汇总驳回 -1审批拒绝 0:系统生成 1:审核通过 2:对外发起 3:合作确认 4:汇总',
`verify_log` text NOT NULL COMMENT '审批相关信息json',
`pay_type` tinyint(2) DEFAULT '0' COMMENT '1甲方收款;2乙方收款',
`first_party_info` text NOT NULL COMMENT '甲方相关信息json',
`second_party_info` text NOT NULL COMMENT '乙方相关信息json',
`statement_info` text NOT NULL COMMENT '订单相关信息json',
`op_time` int(11) NOT NULL DEFAULT '0' COMMENT '操作时间',
`remark` varchar(255) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`id`),
KEY `withdraw_type` (`withdraw_type`) USING BTREE,
KEY `company_id` (`company_id`) USING BTREE,
KEY `statement_begin_time` (`statement_begin_time`) USING BTREE,
KEY `statement_end_time` (`statement_end_time`) USING BTREE,
KEY `verify_status` (`verify_status`) USING BTREE,
KEY `op_time` (`op_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='聚合上游联运上下游对账单';
ALTER TABLE `tab_company_statement`
ADD COLUMN `confirm_status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '确认状态 0:未处理 1:发起 2审核' AFTER `verify_log`;
ALTER TABLE `tab_company_statement`
ADD COLUMN `confirm_log` text COMMENT '确认信息' AFTER `confirm_status`;
ALTER TABLE `tab_company_statement`
MODIFY COLUMN `verify_status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '审核状态 -3:汇总驳回 -2:审核拒绝 -1管理员审批拒绝 0:系统生成 1:管理员审核通过 2:审核通过 3:汇总' AFTER `platform_amount`;

@ -26,6 +26,7 @@
price:[/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,"价格格式错误"],
bankid:[/^([1-9]{1})\d{9,19}$/,"银行卡格式错误"],
nocheck:[false,"无需验证,存在填,不存在舍弃"],
realname:[/[\u4e00-\u9fa5]/,"名字只能是中文"],
checkno:[false,"验证,存在填,不存在报错"],
};
cic.checkAddInput=function(arr){
@ -73,6 +74,38 @@
}
return rearr;
};
/**
*
* var obj = {
"type": ["required",fale,"点击事件不能为空",'select'], //1 true:为空不验证 false 为空报错
}
*/
cic.checkInput=function(arr){
for(var i in arr) {
var name = "input";
var selecttypename='';
if(typeof arr[i][3] !== "undefined") name = arr[i][3];
if(name == "radio") {
name="input";
selecttypename=":checked";
}
var reg = cic.verify[arr[i][0]][0];
var val = $(name+"[name='"+i+"']"+selecttypename).val();
if(arr[i][1] && val == ''){
continue;
}
if(!reg.test(val)) {
layer.alert(arr[i][2], {
icon: 2,
skin: 'layer-ext-moon'
});
return false;
}
}
return true;
};
cic.setEditData=function(ydata,ndata){
var data = {};
for (var i in ndata) {

Loading…
Cancel
Save