Merge branch 'master' of 47.111.118.107:wmtx/platform into hotfix/market_percentage
commit
114e51ebe2
@ -0,0 +1,392 @@
|
|||||||
|
<?php
|
||||||
|
namespace Payment\Controller;
|
||||||
|
/**
|
||||||
|
* 后台首页控制器
|
||||||
|
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
|
||||||
|
*/
|
||||||
|
class ExcelPaymentController extends BaseController
|
||||||
|
{
|
||||||
|
public $PayStatus=[
|
||||||
|
"-1"=>"打款失败",
|
||||||
|
"0"=>"未打款",
|
||||||
|
"1"=>"打款成功"
|
||||||
|
];
|
||||||
|
public $CompanyType = [
|
||||||
|
"1"=>"下游公司",
|
||||||
|
"2"=>"下游个人",
|
||||||
|
"3"=>"上游CP"
|
||||||
|
];
|
||||||
|
public $ALIRSP=[
|
||||||
|
"out_biz_no"=>"商户订单号",
|
||||||
|
"order_id"=>"支付订单号",
|
||||||
|
"pay_fund_order_id"=>"资金流水号",
|
||||||
|
"status"=>"转账状态",
|
||||||
|
"trans_date"=>"订单支付时间",
|
||||||
|
"msg"=>"支付信息",
|
||||||
|
"sub_msg"=>"失败描述",
|
||||||
|
"sub_code"=>"失败码",
|
||||||
|
"remark"=>"打款备注",
|
||||||
|
"code"=>"打款状态码"
|
||||||
|
];
|
||||||
|
public function _initialize()
|
||||||
|
{
|
||||||
|
$this->admininfo = session('payment_user');;
|
||||||
|
// $this->DBModel = M("CompanyStatementPool","tab_");
|
||||||
|
parent::_initialize();
|
||||||
|
}
|
||||||
|
public function lists()
|
||||||
|
{
|
||||||
|
$params = I('get.');
|
||||||
|
$page = $params['p'] ? intval($params['p']) : 1;
|
||||||
|
$row = $params['row'] ? intval($params['row']) : 10;
|
||||||
|
|
||||||
|
$map=[
|
||||||
|
"_string"=>"1=1",
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isset($_REQUEST['time_start']) && isset($_REQUEST['time_end'])) {
|
||||||
|
$time_start = strtotime($_REQUEST['time_start']);
|
||||||
|
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
|
||||||
|
$map["_string"] = "(i.statement_begin_time BETWEEN {$time_start} AND {$time_end}) OR (i.statement_end_time BETWEEN {$time_start} AND {$time_end})";
|
||||||
|
} elseif (isset($_REQUEST['time_start'])) {
|
||||||
|
$time_start = strtotime($_REQUEST['time_start']);
|
||||||
|
$map["_string"] = "(i.statement_begin_time >= {$time_start} ) OR (i.statement_end_time >= {$time_start})";
|
||||||
|
} elseif (isset($_REQUEST['time_end'])) {
|
||||||
|
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
|
||||||
|
$map["_string"] = "(i.statement_begin_time <= {$time_end} ) OR (i.statement_end_time <= {$time_end})";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_REQUEST['pay_time_start']) && isset($_REQUEST['pay_time_end'])) {
|
||||||
|
$map['i.pay_time'] = ['between', [strtotime($_REQUEST['pay_time_start']), strtotime($_REQUEST['pay_time_end']) + 86399]];
|
||||||
|
} elseif (isset($_REQUEST['pay_time_start'])) {
|
||||||
|
$map['i.pay_time'] = ['EGT', strtotime($_REQUEST['pay_time_start'])];
|
||||||
|
} elseif (isset($_REQUEST['pay_time_end'])) {
|
||||||
|
$map['i.pay_time'] = ['ELT', strtotime($_REQUEST['pay_time_end']) + 86399];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($_REQUEST['company_name'])){
|
||||||
|
$map['i.company_name'] = ['LIKE',"%".$_REQUEST['company_name']."%"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($_REQUEST['pay_status'])){
|
||||||
|
$map['i.pay_status'] = $_REQUEST['pay_status'];
|
||||||
|
}
|
||||||
|
if(isset($_REQUEST['batch_num'])){
|
||||||
|
$map['i.batch_num'] = ["LIKE","%{$_REQUEST['batch_num']}%"];
|
||||||
|
}
|
||||||
|
|
||||||
|
$CompanyInfo = M("excel_statement_info","tab_")
|
||||||
|
->alias('i')
|
||||||
|
->field("i.*")
|
||||||
|
->where($map)
|
||||||
|
->page($page,$row)
|
||||||
|
->order("FIELD(pay_status,0,-1,1)")
|
||||||
|
->select();
|
||||||
|
foreach($CompanyInfo as $k=>&$v){
|
||||||
|
$v['can_pay'] = 1;
|
||||||
|
if($v['pay_status'] == 1){ $v['can_pay'] = 0; }
|
||||||
|
if($v['statement_money'] < 0.1){ $v['can_pay'] = 0; }
|
||||||
|
|
||||||
|
$v['company_type'] = $this->CompanyType[$v['company_type']];
|
||||||
|
$v["pay_status_str"] = $this->PayStatus[$v['pay_status']];
|
||||||
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
||||||
|
// $v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']);
|
||||||
|
// $v['statement_end_time'] = date('Y-m-d',$v['statement_end_time']);
|
||||||
|
if(empty($v['pay_time'])){
|
||||||
|
$v['pay_time'] = "--";
|
||||||
|
}else{
|
||||||
|
$v['pay_time'] = date('Y-m-d H:i:s',$v['pay_time']);
|
||||||
|
}
|
||||||
|
// $v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}";
|
||||||
|
}
|
||||||
|
|
||||||
|
//统计待打款金额
|
||||||
|
$field = "IFNULL(SUM(CASE WHEN pay_status = 1 THEN statement_money ELSE 0 END),0) as success_money,
|
||||||
|
IFNULL(SUM(CASE WHEN pay_status = 0 THEN statement_money ELSE 0 END),0) as statement_money,
|
||||||
|
IFNULL(SUM(CASE WHEN pay_status = -1 THEN statement_money ELSE 0 END),0) as error_money";
|
||||||
|
$money = M("excel_statement_info","tab_")->alias('i')->field( $field)->where($map)->find();
|
||||||
|
|
||||||
|
$count = M("excel_statement_info","tab_")->alias('i')->field("count(id) count")->where($map)->find();
|
||||||
|
$page = set_pagination_all($count['count'], $row);
|
||||||
|
if ($page) {
|
||||||
|
$this->assign('_page', $page);
|
||||||
|
}
|
||||||
|
// echo($page);die();
|
||||||
|
$this->meta_title = '线下打款';
|
||||||
|
$this->assign("data",$CompanyInfo);
|
||||||
|
$this->assign("money",$money);
|
||||||
|
$this->assign("CompanyType", $this->CompanyType);
|
||||||
|
$this->assign("PayStatus", $this->PayStatus);
|
||||||
|
$this->display();
|
||||||
|
}
|
||||||
|
public function add()
|
||||||
|
{
|
||||||
|
$batch = date('Ymd').date('His').sp_random_num(3);
|
||||||
|
$this->assign("batch",$batch);
|
||||||
|
$this->meta_title = 'EXCEL导入';
|
||||||
|
$this->display();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
public function loopAdd()
|
||||||
|
{
|
||||||
|
$p = $_REQUEST;
|
||||||
|
// $statement_begin_time = strtotime($p['statement_begin_time']);
|
||||||
|
// $statement_end_time = strtotime($p['statement_end_time'])+86399;
|
||||||
|
$batch = $p['batch'];
|
||||||
|
$checkarr = $p['checkarr'];
|
||||||
|
//循环获取添加
|
||||||
|
if(count($checkarr) < 1){
|
||||||
|
$this->ajaxReturn(["status"=>1,"msg"=>"ok"]);
|
||||||
|
}
|
||||||
|
$ExcelStatementInfo = M('ExcelStatementInfo',"tab_");
|
||||||
|
foreach ($checkarr as $k => &$v) {
|
||||||
|
$company_info = $v['company_info'];
|
||||||
|
// $v['statement_begin_time'] = $statement_begin_time;
|
||||||
|
// $v['statement_end_time'] = $statement_end_time;
|
||||||
|
$v['batch_num'] = $batch;
|
||||||
|
$v['statement_info'] = json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE);
|
||||||
|
$v['company_info'] = json_encode($v['company_info'],JSON_UNESCAPED_UNICODE);
|
||||||
|
$v['company_type'] = 2;
|
||||||
|
$v['create_time'] = time();
|
||||||
|
$v['statement_num'] = "JS_".date('Ymd').date('His').$v['company_id'].sp_random_string(5);
|
||||||
|
$dm = [
|
||||||
|
"mobile"=>$this->admininfo['mobile'],
|
||||||
|
"real_name"=>$this->admininfo['real_name'],
|
||||||
|
"time"=>date("Y-m-d H:i:s")
|
||||||
|
];
|
||||||
|
$v['document_maker'] = json_encode($dm,JSON_UNESCAPED_UNICODE);
|
||||||
|
|
||||||
|
if(!isset($company_info['ali_user']) || !isset($company_info['ali_account']) || $company_info['ali_user'] == '' || $company_info['ali_account'] == ''){
|
||||||
|
M('ExcelStatementInfo',"tab_")->where("batch_num = '{$v['batch_num']}'")->delete();
|
||||||
|
$this->ajaxReturn(["status"=>0,"msg"=>"支付宝真实姓名及登陆账号不允许为空"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = $ExcelStatementInfo->add($v);
|
||||||
|
if($res === false){
|
||||||
|
M('ExcelStatementInfo',"tab_")->where("batch_num = '{$v['batch_num']}'")->delete();
|
||||||
|
$this->ajaxReturn(["status"=>0,"msg"=>"添加失败"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->ajaxReturn(["status"=>1,"msg"=>"ok"]);
|
||||||
|
}
|
||||||
|
//查看
|
||||||
|
public function viewPool()
|
||||||
|
{
|
||||||
|
if(!isset($_REQUEST['id'])){
|
||||||
|
$this->error('参数错误');
|
||||||
|
}
|
||||||
|
$id = $_REQUEST['id'];
|
||||||
|
$is_export= false;
|
||||||
|
if (isset($_REQUEST['export']) && $_REQUEST['export']==1){
|
||||||
|
$is_export = true;
|
||||||
|
}
|
||||||
|
//获取基本信息
|
||||||
|
if($is_export && isset($_REQUEST['exporttype']) && $_REQUEST['exporttype']=='all'){
|
||||||
|
$dbres = M("ExcelStatementInfo","tab_")->where("id in ({$id})")->select();
|
||||||
|
$title = date("YmdHis");
|
||||||
|
}else{
|
||||||
|
$dbres = M("ExcelStatementInfo","tab_")->where("id ='{$id}'")->select();
|
||||||
|
$title = $dbres[0]['company_name'].date("YmdHis");
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assign("title",$title);
|
||||||
|
$this->viewPuPool($dbres,$is_export);
|
||||||
|
|
||||||
|
}
|
||||||
|
public function delItem()
|
||||||
|
{
|
||||||
|
if(!isset($_REQUEST['ids'])){
|
||||||
|
$this->error('参数错误');
|
||||||
|
}
|
||||||
|
$ids = $_REQUEST['ids'];
|
||||||
|
$map = [
|
||||||
|
"pay_status"=>["NEQ",1],
|
||||||
|
"id"=>["IN",$ids]
|
||||||
|
];
|
||||||
|
$dbres = M("ExcelStatementInfo","tab_")->where($map)->delete();
|
||||||
|
if($dbres === false){
|
||||||
|
$this->ajaxReturn(["status"=>0,"info"=>"删除失败"]);
|
||||||
|
}
|
||||||
|
$this->ajaxReturn(["status"=>1,"info"=>"删除成功"]);
|
||||||
|
|
||||||
|
}
|
||||||
|
//个人汇总结算查看
|
||||||
|
public function viewPuPool(&$infolist,$is_export){
|
||||||
|
$line = 1;
|
||||||
|
$count = [];
|
||||||
|
//获取对接人
|
||||||
|
foreach($infolist as $k=>&$v){
|
||||||
|
$v['statement_info'] = json_decode($v['statement_info'],true);
|
||||||
|
$v['company_info'] = json_decode($v['company_info'],true);
|
||||||
|
// $v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']);
|
||||||
|
// $v['statement_end_time'] = date('Y-m-d',$v['statement_end_time']);
|
||||||
|
|
||||||
|
$cline = $line+1;
|
||||||
|
if($is_export){
|
||||||
|
$v['sum_money_exp'] = "=";
|
||||||
|
$hh = "\n";
|
||||||
|
}else{
|
||||||
|
$hh = "<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$dm = json_decode($v['document_maker'],true);
|
||||||
|
$v['document_maker'] = $dm['mobile'].$hh."({$dm['real_name']})";
|
||||||
|
if(!empty($v['payment_user'])){
|
||||||
|
$pu = json_decode($v['payment_user'],true);
|
||||||
|
$v['payment_user'] = $pu['mobile'].$hh."({$pu['real_name']})";
|
||||||
|
}else{
|
||||||
|
$v['payment_user'] = "--";
|
||||||
|
}
|
||||||
|
$v["pay_status_str"] = $this->PayStatus[$v['pay_status']];
|
||||||
|
if(!empty($v['pay_time'])){
|
||||||
|
$v['pay_time'] = date('Y-m-d H:i:s',$v['pay_time']);
|
||||||
|
}else{
|
||||||
|
$v['pay_time'] = '--';
|
||||||
|
}
|
||||||
|
|
||||||
|
$row = 0;
|
||||||
|
foreach($v['statement_info'] as $ke=>&$va){
|
||||||
|
$va['row'] = count($va['game_list']);
|
||||||
|
$row += count($va['game_list']);
|
||||||
|
foreach($va['game_list'] as $key=>&$val){
|
||||||
|
$line ++;
|
||||||
|
if(isset($val['ratio'])){
|
||||||
|
$val['increment_ratio'] = 0;
|
||||||
|
}else{
|
||||||
|
$val['ratio'] = 0;
|
||||||
|
}
|
||||||
|
$val['ratio'] = $val['ratio']*100;
|
||||||
|
$val['increment_ratio'] = $val['increment_ratio']*100;
|
||||||
|
if($is_export){
|
||||||
|
|
||||||
|
//J3*(K3+L3)+M3-N3
|
||||||
|
$val['sum_money'] = "=J{$line}*(K{$line}+L{$line})+M{$line}-N{$line}";
|
||||||
|
}else{
|
||||||
|
$count['platform_amount'] += $val['pay_amount'];
|
||||||
|
$count['sum_money'] += $val['sum_money'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$v['row'] = $row;
|
||||||
|
}
|
||||||
|
if($is_export){
|
||||||
|
$count["platform_amount"] = "=SUM(J2:J".$line.")";
|
||||||
|
$count["sum_money"] = "=SUM(O2:O".$line.")";
|
||||||
|
}
|
||||||
|
$this->assign("data",$infolist);
|
||||||
|
$this->assign("count",$count);
|
||||||
|
$this->assign("is_export",$is_export);
|
||||||
|
$this->display("viewPuPool");
|
||||||
|
}
|
||||||
|
|
||||||
|
public function showPayment()
|
||||||
|
{
|
||||||
|
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
||||||
|
$ids = $_REQUEST['ids'];
|
||||||
|
|
||||||
|
$CompanyInfo = M("ExcelStatementInfo","tab_")
|
||||||
|
->alias('i')
|
||||||
|
->field("i.id,i.company_name,i.company_info,i.statement_money,i.batch_num,i.remark,i.pay_status")
|
||||||
|
->where("i.id in ({$ids})")
|
||||||
|
->select();
|
||||||
|
foreach($CompanyInfo as $k=>&$v){
|
||||||
|
$v['company_info'] = json_decode($v['company_info'],true);
|
||||||
|
$v['company_info']['ali_user'] ?? '';
|
||||||
|
$v['company_info']['ali_account'] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$count = M("ExcelStatementInfo","tab_")->field("sum(statement_money) statement_money")->where("id in ({$ids})")->find();
|
||||||
|
$this->getAccountMoney();
|
||||||
|
// dd($CompanyInfo);
|
||||||
|
|
||||||
|
$this->assign("CompanyInfo",$CompanyInfo);
|
||||||
|
$this->assign("mobile",$this->admininfo['mobile']);
|
||||||
|
$this->assign("count",$count);
|
||||||
|
$this->display();
|
||||||
|
|
||||||
|
// $this->display();
|
||||||
|
|
||||||
|
}
|
||||||
|
public function getAccountMoney(){
|
||||||
|
Vendor("Alipay2020/Fund");
|
||||||
|
$fund = new \Fund();
|
||||||
|
$money = $fund->account();
|
||||||
|
if($money !== -1){
|
||||||
|
$money = $money['amount'];
|
||||||
|
}else{
|
||||||
|
$money = "--";
|
||||||
|
}
|
||||||
|
$this->assign("money",$money);
|
||||||
|
}
|
||||||
|
//以下打款流程
|
||||||
|
public function checkVerify()
|
||||||
|
{
|
||||||
|
$mobile = $this->admininfo['mobile'];
|
||||||
|
$verify = $_REQUEST['verify'];
|
||||||
|
if (!A("Public")->checksafecode($mobile, $verify)) {
|
||||||
|
$this->ajaxReturn(["error"=>"验证码错误"]);
|
||||||
|
}
|
||||||
|
$this->ajaxReturn(["success"=>"验证码验证成功","data"=>[]]);
|
||||||
|
}
|
||||||
|
//执行打款
|
||||||
|
public function doPayment()
|
||||||
|
{
|
||||||
|
$id = $_REQUEST['id'];
|
||||||
|
$remark = $_REQUEST['remark'];
|
||||||
|
|
||||||
|
Vendor("Alipay2020/Fund");
|
||||||
|
$fund = new \Fund();
|
||||||
|
|
||||||
|
$dbres = M("ExcelStatementInfo","tab_")->where("id='{$id}'")->find();
|
||||||
|
$company_info = json_decode($dbres['company_info'],true);
|
||||||
|
|
||||||
|
if($dbres['pay_status'] != 1){
|
||||||
|
//执行打款
|
||||||
|
$title = $remark;
|
||||||
|
$amount = $dbres['statement_money'];
|
||||||
|
$payres = $fund->transfer($company_info['ali_account'],$company_info['ali_user'],$dbres['statement_num'],$amount, $title);
|
||||||
|
$resultCode = $payres->code;
|
||||||
|
|
||||||
|
$savedata = ["id"=>$dbres['id']];
|
||||||
|
if(!empty($resultCode)&&$resultCode == 10000){
|
||||||
|
$savedata["pay_status"]=1;
|
||||||
|
} else {
|
||||||
|
$savedata["pay_status"]=-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$payres = json_decode( json_encode($payres),true);
|
||||||
|
$payres["remark"] = $remark;
|
||||||
|
|
||||||
|
$savedata["pay_info"] = json_encode($payres,JSON_UNESCAPED_UNICODE);
|
||||||
|
$savedata["pay_time"]=time();
|
||||||
|
$pu = [
|
||||||
|
"mobile"=>$this->admininfo['mobile'],
|
||||||
|
"real_name"=>$this->admininfo['real_name'],
|
||||||
|
"time"=>date("Y-m-d H:i:s")
|
||||||
|
];
|
||||||
|
$savedata['payment_user'] = json_encode($pu,JSON_UNESCAPED_UNICODE);
|
||||||
|
}
|
||||||
|
M("ExcelStatementInfo","tab_")->save($savedata);
|
||||||
|
$this->ajaxReturn(["success"=>"打款成功","data"=>[]]);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 打款详情
|
||||||
|
*/
|
||||||
|
public function paymentInfo()
|
||||||
|
{
|
||||||
|
if(!isset($_REQUEST['id'])) $this->error("参数错误");
|
||||||
|
$id = $_REQUEST['id'];
|
||||||
|
$info = M("ExcelStatementInfo","tab_")->field("pay_info")->where("id='{$id}'")->find()['pay_info'];
|
||||||
|
$info = json_decode($info,true);
|
||||||
|
$senddata = [];
|
||||||
|
foreach($info as $k => &$v){
|
||||||
|
if(isset($this->ALIRSP[$k])){
|
||||||
|
$senddata[$this->ALIRSP[$k]] = $v;
|
||||||
|
}else{
|
||||||
|
$senddata[$k] = $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->assign("info",$senddata);
|
||||||
|
$this->display();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
<?php
|
||||||
|
namespace Payment\Controller;
|
||||||
|
/**
|
||||||
|
* 后台首页控制器
|
||||||
|
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
|
||||||
|
*/
|
||||||
|
class UserController extends BaseController
|
||||||
|
{
|
||||||
|
|
||||||
|
public function _initialize()
|
||||||
|
{
|
||||||
|
$this->admininfo = session('payment_user');;
|
||||||
|
// $this->DBModel = M("CompanyStatementPool","tab_");
|
||||||
|
parent::_initialize();
|
||||||
|
}
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$params = I('get.');
|
||||||
|
$page = $params['p'] ? intval($params['p']) : 1;
|
||||||
|
$row = $params['row'] ? intval($params['row']) : 10;
|
||||||
|
|
||||||
|
$data = M("PaymentMember","tab_")->page($page,$row)->order("id desc")->select();
|
||||||
|
$count = M("PaymentMember","tab_")->count("id");
|
||||||
|
$page = set_pagination($count, $row);
|
||||||
|
if ($page) {
|
||||||
|
$this->assign('_page', $page);
|
||||||
|
}
|
||||||
|
$this->meta_title = '打款结算单';
|
||||||
|
$this->assign("data",$data);
|
||||||
|
|
||||||
|
$this->display();
|
||||||
|
}
|
||||||
|
public function add()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (IS_POST) {
|
||||||
|
$p = $_REQUEST;
|
||||||
|
$mobile = $p['mobile'];
|
||||||
|
/*检测用户名是否为空*/
|
||||||
|
if (empty($p['mobile'])) {
|
||||||
|
$this->error('手机号码不能为空!');
|
||||||
|
}
|
||||||
|
if (!preg_match('/^1[1-9]\d{9}$/', $p['mobile'])) {
|
||||||
|
return $this->error("手机号码格式错误");
|
||||||
|
}
|
||||||
|
if (empty($p['real_name'])) {
|
||||||
|
$this->error('姓名允许为空');
|
||||||
|
}
|
||||||
|
//判断手机唯一
|
||||||
|
$check_mobile = M("Kv")->field("value")->where("`key`='payment_check_mobile' AND `value`= '{$mobile}'")->find();
|
||||||
|
if(empty($check_mobile)){
|
||||||
|
//获取普通登陆
|
||||||
|
$plogin = M("payment_member","tab_")->where("`mobile`= '{$mobile}'")->find();
|
||||||
|
if(!empty($plogin)){
|
||||||
|
$this->error('手机号码已存在');
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$this->error('手机号码已存在');
|
||||||
|
}
|
||||||
|
M("payment_member","tab_")->add($p);
|
||||||
|
$this->success('用户添加成功!', U('index'));
|
||||||
|
} else {
|
||||||
|
$this->meta_title = '新增制表人';
|
||||||
|
$this->display();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public function delete($id)
|
||||||
|
{
|
||||||
|
$res = M('payment_member',"tab_")->where("id = '{$id}'")->delete();
|
||||||
|
if ($res) {
|
||||||
|
$this->success('删除成功');
|
||||||
|
} else {
|
||||||
|
$this->error('删除失败');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,517 @@
|
|||||||
|
<extend name="Public/base" />
|
||||||
|
|
||||||
|
<block name="body">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
|
||||||
|
<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">
|
||||||
|
<style>
|
||||||
|
.tabcon1711 td:first-child {
|
||||||
|
width: auto;
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="cf main-place top_nav_list navtab_list">
|
||||||
|
<h3 class="page_title">新增excel导入</h3>
|
||||||
|
<p class="description_text">说明:导入预付款数据</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 标签页导航 -->
|
||||||
|
<div class="tab-wrap" style="display: flex;">
|
||||||
|
|
||||||
|
<div class="tab-content tabcon1711" style="min-width:700px;">
|
||||||
|
<!-- 基础文档模型 -->
|
||||||
|
<div id="tab1" class="tab-pane in tab1">
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="l">本次批次号:</td>
|
||||||
|
<td class="r">
|
||||||
|
<div class="input-list" id="batch" style="margin-left: 0;line-height: 30px;font-size: 16px;">
|
||||||
|
</div>
|
||||||
|
<span class="notice-text" style="margin-left: 20px;">用于检索使用</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>文件上传:</td>
|
||||||
|
<td class="r">
|
||||||
|
<div class="input-list" style="margin-left: 0;">
|
||||||
|
<input type="file" id="fileinput" name="file">
|
||||||
|
</div>
|
||||||
|
<span class="notice-text" style="margin-left: 0;">暂只支持.xls .xlsx 格式文件</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="form-item cf">
|
||||||
|
<button class="submit_btn" id="submit_btn">
|
||||||
|
保存
|
||||||
|
</button>
|
||||||
|
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();">
|
||||||
|
返回
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 60px;" id="firle">
|
||||||
|
<div style="width: 100%;height: 45px;font-size: 16px;">
|
||||||
|
文件格式参考:<span style="color: #777;font-size: 12px;margin-left: 20px;">请严格按此格式,文件的第一行必须是字段名,且字段名不允许修改</span>
|
||||||
|
</div>
|
||||||
|
<style>
|
||||||
|
#firle td,#firle th{
|
||||||
|
padding: 10px 5px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<table id="cktable" style="width: 100%;margin: 0;padding: 0;text-align: center;border: 1px solid #777;" border="1px">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>序号</th>
|
||||||
|
<th>下游名称</th>
|
||||||
|
<th>会长账号</th>
|
||||||
|
<th>下游类型</th>
|
||||||
|
<th>市场员</th>
|
||||||
|
<th>下游性质</th>
|
||||||
|
<th>产品</th>
|
||||||
|
<th>产品类型</th>
|
||||||
|
<th>结算时间</th>
|
||||||
|
<th>推广流水</th>
|
||||||
|
<th>分成比例</th>
|
||||||
|
<th>补点</th>
|
||||||
|
<th>奖励</th>
|
||||||
|
<th>罚款</th>
|
||||||
|
<th>结算金额</th>
|
||||||
|
<th>支付宝真实姓名</th>
|
||||||
|
<th>支付宝账号</th>
|
||||||
|
<th>备注</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>1</td>
|
||||||
|
<td>海南万盟天下科技</td>
|
||||||
|
<td>leilihua</td>
|
||||||
|
<td>外团开发</td>
|
||||||
|
<td>小明</td>
|
||||||
|
<td>个人</td>
|
||||||
|
<td>秦汉风云</td>
|
||||||
|
<td>策略</td>
|
||||||
|
<td>2020.6.22-2020.6.28 5626</td>
|
||||||
|
<td>5626</td>
|
||||||
|
<td>1%</td>
|
||||||
|
<td>0%</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>56.26</td>
|
||||||
|
<td>小花</td>
|
||||||
|
<td>12345678910</td>
|
||||||
|
<td>不重要的备注</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100vw;height: 100vh;padding: 0;position: absolute;top: 0;z-index: 9999;display: none;" id="creat_msg">
|
||||||
|
<div class="layui-layer layui-layer-dialog layui-layer-border layui-layer-msg layui-layer-hui"
|
||||||
|
type="dialog" times="1" showtime="50000" contype="string" style="z-index: 19891015; top:30%; left:30%;">
|
||||||
|
<div class="layui-layer-content" style="padding: 15px 0 5px;font-size: 20px;font-weight: 600;">执行进度</div>
|
||||||
|
<div id="tip_msg" class="layui-layer-content">开始时间与结束时间都不允许为空</div>
|
||||||
|
<div class="layui-layer-content" style="padding: 5px 10px 15px;font-size: 10px;color: #BBB;">TIP:未执行完成之前请勿刷新或关闭此页面</div>
|
||||||
|
<span class="layui-layer-setwin"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block name="script">
|
||||||
|
<script type="text/javascript" src="__STATIC__/xlsx.core.min.js" charset="UTF-8"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
|
||||||
|
charset="UTF-8"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
//导航高亮
|
||||||
|
highlight_subnav("{:U('lists')}");
|
||||||
|
var MSG={
|
||||||
|
showmsg:function(str){
|
||||||
|
$("#creat_msg").show();
|
||||||
|
$("#tip_msg").html(str);
|
||||||
|
},
|
||||||
|
hidemsg:function(){
|
||||||
|
$("#creat_msg").hide();
|
||||||
|
$("#tip_msg").html('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var COMPARE={
|
||||||
|
publiucAjax:function(url,senddata,callback){
|
||||||
|
$.ajax({
|
||||||
|
type: 'post',
|
||||||
|
url: url,
|
||||||
|
data:senddata,
|
||||||
|
success: function(data) {
|
||||||
|
if(data.status == 1){
|
||||||
|
callback();
|
||||||
|
}else{
|
||||||
|
MSG.hidemsg();
|
||||||
|
layer.alert(data.msg);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
MSG.hidemsg();
|
||||||
|
layer.alert("网络错误或超时");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//循环比较
|
||||||
|
loopCheck:function(page,callback){
|
||||||
|
if(page > sendDefaultData.check_page){
|
||||||
|
MSG.showmsg("添加成功,执行跳转中");
|
||||||
|
callback();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var senddata = {
|
||||||
|
statement_begin_time:sendDefaultData.begin_time,
|
||||||
|
statement_end_time:sendDefaultData.end_time,
|
||||||
|
batch:sendDefaultData.batch,
|
||||||
|
checkarr:sendDefaultData.filedata.splice(0,check_size)
|
||||||
|
}
|
||||||
|
COMPARE.publiucAjax("{:U('loopAdd')}",senddata,function(data){
|
||||||
|
var checkok = page*check_size > sendDefaultData.filedata_count ? sendDefaultData.filedata_count : page*check_size;
|
||||||
|
MSG.showmsg("数据插入 ["+checkok+"/"+sendDefaultData.filedata_count+"] ......");
|
||||||
|
page++;
|
||||||
|
COMPARE.loopCheck(page,callback)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
checkData:function(callback){
|
||||||
|
MSG.showmsg("数据校验中...");
|
||||||
|
var d = sendDefaultData.filedata;
|
||||||
|
for (const key in d) {
|
||||||
|
var c = d[key].company_info;
|
||||||
|
if(!c.hasOwnProperty('ali_user') || c.ali_user == '' || !c.hasOwnProperty('ali_account') || c.ali_account == ''){
|
||||||
|
MSG.hidemsg();
|
||||||
|
layer.msg('支付宝真实姓名及登陆账号不允许为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var isfile = false;
|
||||||
|
var rABS = false; //是否将文件读取为二进制字符串
|
||||||
|
var check_size = 10;//每次验证的数量
|
||||||
|
var batch = '{$batch}';
|
||||||
|
var sendDefaultData = {
|
||||||
|
"filedata_count": 0,
|
||||||
|
"check_page":0,
|
||||||
|
"filedata":[],
|
||||||
|
"pay_way":-1,
|
||||||
|
"batch":batch
|
||||||
|
}
|
||||||
|
$("#batch").html(batch);
|
||||||
|
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
|
||||||
|
|
||||||
|
$("#submit_btn").on("click", function () {
|
||||||
|
//获取文件
|
||||||
|
if (!isfile) {
|
||||||
|
layer.msg('excel文件不能为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//执行
|
||||||
|
readFileInput(function () {
|
||||||
|
if(sendDefaultData.filedata_count == 0){
|
||||||
|
MSG.hidemsg();
|
||||||
|
layer.msg('excel内容不能为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//获取需要循环的次数
|
||||||
|
sendDefaultData.check_page = Math.ceil(sendDefaultData.filedata_count/check_size);
|
||||||
|
COMPARE.checkData(function(){
|
||||||
|
COMPARE.loopCheck(1,function(){
|
||||||
|
setTimeout(function(){
|
||||||
|
window.location.href="{:U('lists',['row'=>999999,'page'=>1,'batch_num'=>$batch])}";
|
||||||
|
},1500);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$("#fileinput").change(function () {
|
||||||
|
var p = $(this).val();
|
||||||
|
var ext = p.substr(p.lastIndexOf(".")).toLowerCase();
|
||||||
|
if (ext != ".xls" && ext != ".xlsx") {
|
||||||
|
layer.msg("文件仅支持excel文件格式");
|
||||||
|
$(this).val('');
|
||||||
|
p = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p != '') {
|
||||||
|
isfile = true;
|
||||||
|
} else {
|
||||||
|
isfile = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
function readFileInput(callback) {
|
||||||
|
MSG.showmsg("读取excle中。。。");
|
||||||
|
var wb;//读取完成的数据
|
||||||
|
var f = $("#fileinput")[0].files[0];
|
||||||
|
var reader = new FileReader();
|
||||||
|
if (rABS) {
|
||||||
|
reader.readAsArrayBuffer(f);
|
||||||
|
} else {
|
||||||
|
reader.readAsBinaryString(f);
|
||||||
|
}
|
||||||
|
reader.onload = function (e) {
|
||||||
|
MSG.showmsg("文件读取完成,添加命令初始化。。。");
|
||||||
|
var data = e.target.result;
|
||||||
|
if (rABS) {
|
||||||
|
wb = XLSX.read(btoa(fixdata(data)), {
|
||||||
|
type: 'base64'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
wb = XLSX.read(data, {
|
||||||
|
type: 'binary'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// console.log(wb);
|
||||||
|
try {
|
||||||
|
var filedata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
|
||||||
|
sendDefaultData.filedata = resetCount(filedata);
|
||||||
|
sendDefaultData.filedata_count = sendDefaultData.filedata.length;
|
||||||
|
callback();
|
||||||
|
} catch (error) {
|
||||||
|
MSG.hidemsg();
|
||||||
|
isfile = false;
|
||||||
|
layer.msg('excel内容不符或不能为空');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// document.getElementById("demo").innerHTML= JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetCount(fdata){
|
||||||
|
var titleKey={
|
||||||
|
"序号": "sort",
|
||||||
|
"下游名称": "company_name",
|
||||||
|
"会长账号": "account",
|
||||||
|
"下游类型": "company_relation_str",
|
||||||
|
"市场员": "nickname",
|
||||||
|
"下游性质": "company_type_str",
|
||||||
|
"产品": "game_name",
|
||||||
|
"产品类型": "game_type_name",
|
||||||
|
"结算时间": "statement_time",
|
||||||
|
"推广流水": "pay_amount",
|
||||||
|
"分成比例": "ratio",
|
||||||
|
"补点": "increment_ratio",
|
||||||
|
"奖励": "reward",
|
||||||
|
"罚款": "fine",
|
||||||
|
"结算金额":"sum_money",
|
||||||
|
"账户名": "payee_name",
|
||||||
|
"银行卡号": "bank_account",
|
||||||
|
"开户支行": "opening_bank",
|
||||||
|
"账户类型": "bank_type",
|
||||||
|
"支付宝真实姓名": "ali_user",
|
||||||
|
"支付宝账号": "ali_account",
|
||||||
|
"备注": "remark",
|
||||||
|
}
|
||||||
|
var data = [];
|
||||||
|
//临时公司
|
||||||
|
var temp ={
|
||||||
|
statement_money:0,
|
||||||
|
platform_amount:0,
|
||||||
|
fine:0,
|
||||||
|
reward:0,
|
||||||
|
statement_info:[],
|
||||||
|
company_info:{}
|
||||||
|
};
|
||||||
|
var game_name = '';
|
||||||
|
var game_type= '';
|
||||||
|
for (let index = 0; index < fdata.length; index++) {
|
||||||
|
const e = fdata[index];
|
||||||
|
//全量公司
|
||||||
|
if (e.hasOwnProperty("序号")) {
|
||||||
|
if(index != 0){
|
||||||
|
temp.statement_money = temp.statement_money/100;
|
||||||
|
temp.platform_amount = temp.platform_amount/100;
|
||||||
|
temp.fine = temp.fine/100;
|
||||||
|
temp.reward = temp.reward/100;
|
||||||
|
data.push(temp);//上次的走掉
|
||||||
|
temp ={
|
||||||
|
statement_money:0,
|
||||||
|
platform_amount:0,
|
||||||
|
fine:0,
|
||||||
|
reward:0,
|
||||||
|
statement_info:[],
|
||||||
|
company_info:{}
|
||||||
|
};//重置
|
||||||
|
}
|
||||||
|
var acc = {
|
||||||
|
game_list:[]
|
||||||
|
};
|
||||||
|
var gamet = {}
|
||||||
|
for (const k in e) {
|
||||||
|
if(k == "会长账号"){
|
||||||
|
acc[titleKey[k]] = e[k];
|
||||||
|
}else if(k=="产品" || k=="产品类型" || k == "结算时间" || k == "推广流水" || k == "分成比例" || k == "补点" || k == "奖励" || k == "罚款" || k == "结算金额"){
|
||||||
|
if(k=="产品") game_name = e[k];
|
||||||
|
if(k=="产品类型") game_type = e[k];
|
||||||
|
|
||||||
|
if(k=="奖励") temp.reward += Math.round(e[k]*100);
|
||||||
|
if(k=="罚款") temp.fine += Math.round(e[k]*100);
|
||||||
|
if(k=="推广流水") temp.platform_amount +=Math.round(e[k]*100);
|
||||||
|
if(k=="结算金额") temp.statement_money += Math.round(e[k]*100);
|
||||||
|
if(k == "推广流水" || k == "奖励" || k == "罚款" || k == "结算金额"){
|
||||||
|
e[k] = Math.round(e[k]*100)/100;
|
||||||
|
}
|
||||||
|
gamet[titleKey[k]] = e[k];
|
||||||
|
}else if(k=="下游类型" ||k=="市场员" || k=="下游性质" || k == "账户名" || k == "银行卡号" || k == "开户支行" || k == "账户类型" || k == "支付宝真实姓名" || k == "支付宝账号"){
|
||||||
|
temp.company_info[titleKey[k]] = e[k];
|
||||||
|
}else{
|
||||||
|
temp[titleKey[k]] = e[k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!gamet.hasOwnProperty("game_name")){
|
||||||
|
gamet.game_name =game_name;
|
||||||
|
}
|
||||||
|
if(!gamet.hasOwnProperty("game_type_name")){
|
||||||
|
gamet.game_type_name =game_type;
|
||||||
|
}
|
||||||
|
acc.game_list.push(gamet);
|
||||||
|
temp.statement_info.push(acc);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//含会长信息
|
||||||
|
if (e.hasOwnProperty("会长账号")) {
|
||||||
|
|
||||||
|
var acc = {
|
||||||
|
game_list:[]
|
||||||
|
};
|
||||||
|
var gamet = {}
|
||||||
|
for (const k in e) {
|
||||||
|
if(k == "会长账号"){
|
||||||
|
acc[titleKey[k]] = e[k];
|
||||||
|
}else if(k=="产品" || k=="产品类型" || k == "结算时间" || k == "推广流水" || k == "分成比例" || k == "补点" || k == "奖励" || k == "罚款" || k == "结算金额"){
|
||||||
|
if(k=="产品") game_name = e[k];
|
||||||
|
if(k=="产品类型") game_type = e[k];
|
||||||
|
if(k=="奖励") temp.reward += Math.round(e[k]*100);
|
||||||
|
if(k=="罚款") temp.fine += Math.round(e[k]*100);
|
||||||
|
if(k=="推广流水") temp.platform_amount += Math.round(e[k]*100);
|
||||||
|
if(k=="结算金额") temp.statement_money += Math.round(e[k]*100);
|
||||||
|
if(k == "推广流水" || k == "奖励" || k == "罚款" || k == "结算金额"){
|
||||||
|
e[k] = Math.round(e[k]*100)/100;
|
||||||
|
}
|
||||||
|
gamet[titleKey[k]] = e[k];
|
||||||
|
}else if(k=="下游类型" || k=="市场员" || k=="下游性质" || k == "账户名" || k == "银行卡号" || k == "开户支行" || k == "账户类型" || k == "支付宝真实姓名" || k == "支付宝账号"){
|
||||||
|
temp.company_info[titleKey[k]] = e[k];
|
||||||
|
}else{
|
||||||
|
temp[titleKey[k]] = e[k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!gamet.hasOwnProperty("game_name")){
|
||||||
|
gamet.game_name =game_name;
|
||||||
|
}
|
||||||
|
if(!gamet.hasOwnProperty("game_type_name")){
|
||||||
|
gamet.game_type_name =game_type;
|
||||||
|
}
|
||||||
|
acc.game_list.push(gamet);
|
||||||
|
temp.statement_info.push(acc);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//只含有游戏的信息
|
||||||
|
var gamet = {}
|
||||||
|
for (const k in e) {
|
||||||
|
if(k == "会长账号"){
|
||||||
|
acc[titleKey[k]] = e[k];
|
||||||
|
}else if(k=="产品" || k=="产品类型" || k == "结算时间" || k == "推广流水" || k == "分成比例" || k == "补点" || k == "奖励" || k == "罚款" || k == "结算金额"){
|
||||||
|
if(k=="产品") game_name = e[k];
|
||||||
|
if(k=="产品类型") game_type = e[k];
|
||||||
|
if(k=="奖励") temp.reward += Math.round(e[k]*100);
|
||||||
|
if(k=="罚款") temp.fine += Math.round(e[k]*100);
|
||||||
|
if(k=="推广流水") temp.platform_amount +=Math.round(e[k]*100);
|
||||||
|
if(k=="结算金额") temp.statement_money += Math.round(e[k]*100);
|
||||||
|
if(k == "推广流水" || k == "奖励" || k == "罚款" || k == "结算金额"){
|
||||||
|
e[k] = Math.round(e[k]*100)/100;
|
||||||
|
}
|
||||||
|
gamet[titleKey[k]] = e[k];
|
||||||
|
}else if( k=="下游类型" || k=="市场员" || k=="下游性质" || k == "账户名" || k == "银行卡号" || k == "开户支行" || k == "账户类型" || k == "支付宝真实姓名" || k == "支付宝账号"){
|
||||||
|
temp.company_info[titleKey[k]] = e[k];
|
||||||
|
}else{
|
||||||
|
temp[titleKey[k]] = e[k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!gamet.hasOwnProperty("game_name")){
|
||||||
|
gamet.game_name =game_name;
|
||||||
|
}
|
||||||
|
if(!gamet.hasOwnProperty("game_type_name")){
|
||||||
|
gamet.game_type_name =game_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
temp.statement_info[temp.statement_info.length-1].game_list.push(gamet);
|
||||||
|
}
|
||||||
|
//判断
|
||||||
|
temp.statement_money = temp.statement_money/100;
|
||||||
|
temp.platform_amount = temp.platform_amount/100;
|
||||||
|
temp.fine = temp.fine/100;
|
||||||
|
temp.reward = temp.reward/100;
|
||||||
|
data.push(temp);//最后一次
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNowDate(){
|
||||||
|
var da = new Date();
|
||||||
|
var trade =da.getFullYear();
|
||||||
|
var mt =da.getMonth() + 1 >10 ? da.getMonth() + 1 : "0"+(da.getMonth() + 1);
|
||||||
|
var dt =da.getDate() >=10 ? da.getDate() : "0"+da.getDate();
|
||||||
|
var dh =da.getHours() >=10 ? da.getHours() : "0"+da.getHours();
|
||||||
|
var dm =da.getMinutes() >=10 ? da.getMinutes() : "0"+da.getMinutes();
|
||||||
|
var ds =da.getSeconds() >=10 ? da.getSeconds() : "0"+da.getSeconds();
|
||||||
|
var dms =(Array(3).join(0) + da.getMilliseconds()).slice(-3);
|
||||||
|
return trade+=""+mt+""+dt+""+dh+""+dm+""+ds+''+dms;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fixdata(data) { //文件流转BinaryString
|
||||||
|
var o = "",
|
||||||
|
l = 0,
|
||||||
|
w = 10240;
|
||||||
|
for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
|
||||||
|
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#time_start').datetimepicker({
|
||||||
|
format: 'yyyy-mm-dd',
|
||||||
|
language: "zh-CN",
|
||||||
|
minView: 2,
|
||||||
|
autoclose: true
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#datetimepicker').datetimepicker({
|
||||||
|
format: 'yyyy-mm-dd',
|
||||||
|
language: "zh-CN",
|
||||||
|
minView: 2,
|
||||||
|
autoclose: true,
|
||||||
|
pickerPosition: 'bottom-left'
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</block>
|
@ -0,0 +1,67 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title></title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
|
||||||
|
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
||||||
|
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
|
||||||
|
|
||||||
|
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__JS__/select2.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
|
||||||
|
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
|
||||||
|
<script src="__STATIC__/table2excel.js"></script>
|
||||||
|
</head>
|
||||||
|
<style>
|
||||||
|
html {
|
||||||
|
min-width:100%;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
padding: 0px 10px 150px 10px;
|
||||||
|
/* width: 960px; */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body>
|
||||||
|
<div class="tab-wrap">
|
||||||
|
|
||||||
|
<div class="tab-content tabcon1711 tabcon17112">
|
||||||
|
<div id="tab1" class="tab-pane in tab1">
|
||||||
|
<form action="{:U('saveTool')}" method="post" class="form-horizontal qq_login form_info_ml">
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<foreach name="info" item="v" key="k">
|
||||||
|
<tr>
|
||||||
|
<td class="l noticeinfo">{$k}:</td>
|
||||||
|
<td class="r table_radio">
|
||||||
|
{$v}
|
||||||
|
<!-- <input type="text" class="text input-large" value="{$wechat_url}"> -->
|
||||||
|
<!-- <span class="notice-text">请将此地址复制到微信公众平台接口URL项</span> -->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</html>
|
@ -0,0 +1,315 @@
|
|||||||
|
<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>
|
||||||
|
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
|
||||||
|
.tabcon1711 table {
|
||||||
|
width: 480px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidebox {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.r {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.l {
|
||||||
|
width: 180px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
color: #000;
|
||||||
|
resize: none;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
|
||||||
|
box-shadow: 0px 3px 3px #F7F8F9 inset;
|
||||||
|
height: 35px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
line-height: 35px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
height: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||||
|
height: 26px;
|
||||||
|
line-height: 26px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results__option[aria-selected] {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-list,
|
||||||
|
.i_list {
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#sendSasfeCode {
|
||||||
|
border-radius:3px;
|
||||||
|
width:100px;
|
||||||
|
cursor:pointer;
|
||||||
|
border:1px solid;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
height:40px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
.g-btntn{
|
||||||
|
border-color: grey;
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
.g-btn{
|
||||||
|
border-color: #2697FF;
|
||||||
|
color: #2697FF;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="cf main-place top_nav_list navtab_list">
|
||||||
|
<h3 class="page_title">批量打款</h3>
|
||||||
|
<p class="description_text">确认打款前请先确认账户余额是否足够</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="data_list box_mt">
|
||||||
|
<div class="">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">序号</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">合作公司</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">支付宝真实名称</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">支付宝账号</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">批次号</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">金额(元)</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">备注</th>
|
||||||
|
<th style="border-right: solid 1px #b6cad2;">打款备注</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="statementShow">
|
||||||
|
<foreach name="CompanyInfo" item="vo" >
|
||||||
|
<tr>
|
||||||
|
<td>{$key-0+1}</td>
|
||||||
|
<td>{$vo.company_name}</td>
|
||||||
|
<td>{$vo.company_info.ali_user}</td>
|
||||||
|
<td>{$vo.company_info.ali_account}</td>
|
||||||
|
<td>{$vo.batch_num}</td>
|
||||||
|
<td>{$vo.statement_money}</td>
|
||||||
|
<td>{$vo.remark}</td>
|
||||||
|
<td><input type="text" class="txt paymentset" data-id="{$vo.id}" data-pool="{$vo.pool_id}" name="remark" value="" placeholder="打款备注"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</foreach>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">合计:</td>
|
||||||
|
<td colspan="6">打款总金额: {$count['statement_money']} <span <if condition="$count['statement_money'] gt $money ">style="color: red;"</if>> 账户金额: {$money}</span></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="display: flex;padding:20px 10px;line-height: 40px;justify-content:center;">
|
||||||
|
<input name="verify" type="text" class="login_input verify" value="" placeholder="请填写验证码"/>
|
||||||
|
<div id="sendSasfeCode" class="g-btn" style="margin-left: 20px;">获取验证码</div>
|
||||||
|
<div style="margin-left: 20px;">接收验证码手机:{$mobile}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="search_list" style="display:flex;justify-content:flex-end;width:100%;">
|
||||||
|
<div class="input-list" style="margin-left: 30px;float: right;">
|
||||||
|
<a class="sch-btn" href="javascript:;" id="setPayment" style="width: 150px;">确认打款</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="width: 100vw;height: 100vh;padding: 0;position: absolute;top: 0;z-index: 9999;display: none;" id="creat_msg">
|
||||||
|
<div class="layui-layer layui-layer-dialog layui-layer-border layui-layer-msg layui-layer-hui"
|
||||||
|
type="dialog" times="1" showtime="50000" contype="string" style="z-index: 19891015; top:30%; left:45%;">
|
||||||
|
<div class="layui-layer-content" style="padding: 15px 0 5px;font-size: 20px;font-weight: 600;">执行进度</div>
|
||||||
|
<div id="tip_msg" class="layui-layer-content">开始时间与结束时间都不允许为空</div>
|
||||||
|
<div class="layui-layer-content" style="padding: 5px 10px 15px;font-size: 10px;color: #BBB;">TIP:未执行完成之前请勿刷新或关闭此页面</div>
|
||||||
|
<span class="layui-layer-setwin"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</block>
|
||||||
|
<block name="script">
|
||||||
|
<script>
|
||||||
|
var DATA={};
|
||||||
|
// $("#creat_msg").show();
|
||||||
|
highlight_subnav("{:U('lists')}");
|
||||||
|
|
||||||
|
var MSG={
|
||||||
|
showmsg:function(str){
|
||||||
|
$("#creat_msg").show();
|
||||||
|
$("#tip_msg").html(str);
|
||||||
|
},
|
||||||
|
hidemsg:function(){
|
||||||
|
$("#creat_msg").hide();
|
||||||
|
$("#tip_msg").html('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var COMPARE={
|
||||||
|
publiucAjax:function(url,senddata,callback){
|
||||||
|
$.ajax({
|
||||||
|
type: 'post',
|
||||||
|
url: url,
|
||||||
|
data:senddata,
|
||||||
|
success: function(data) {
|
||||||
|
if(data.success){
|
||||||
|
callback(data.data);
|
||||||
|
}else{
|
||||||
|
MSG.hidemsg();
|
||||||
|
layer.alert(data.error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
MSG.hidemsg();
|
||||||
|
layer.alert("网络错误或超时");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//验证验证码
|
||||||
|
checkVerify:function(callback){
|
||||||
|
MSG.showmsg("验证码验证中....");
|
||||||
|
COMPARE.publiucAjax("{:U('checkVerify')}",{verify:DATA.verify},function(data){
|
||||||
|
MSG.showmsg("验证码验证通过,开始进行打款 [0/"+DATA.datacount+"] ......");
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//打款
|
||||||
|
doPayment:function(callback){
|
||||||
|
var senddata = DATA.data[(DATA.now-1)];
|
||||||
|
console.log(senddata);
|
||||||
|
COMPARE.publiucAjax("{:U('doPayment')}",senddata,function(){
|
||||||
|
MSG.showmsg("开始进行打款 ["+DATA.now+"/"+DATA.datacount+"] ......");
|
||||||
|
DATA.now ++;
|
||||||
|
if( DATA.now > DATA.datacount){
|
||||||
|
callback();
|
||||||
|
}else{
|
||||||
|
COMPARE.doPayment(callback)
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var r = function(i, t) {
|
||||||
|
if (i>0) {
|
||||||
|
var r = 60;
|
||||||
|
e='#sendSasfeCode';
|
||||||
|
$(e).removeClass('g-btn').addClass('g-btntn');
|
||||||
|
var a = setInterval(function() {
|
||||||
|
r--;
|
||||||
|
$(e).text(r + '秒');
|
||||||
|
0 == r && ($(e).removeClass('g-btntn').addClass('g-btn'),
|
||||||
|
$(e).text('获取验证码'),
|
||||||
|
clearInterval(a))
|
||||||
|
},1000)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$('#sendSasfeCode').on('click',function() {
|
||||||
|
if ($(this).hasClass('g-btntn')) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var phone = "{$mobile}";
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
dataType:'json',
|
||||||
|
data:'phone='+phone,
|
||||||
|
url:'{:U("Public/telsafecode")}',
|
||||||
|
success:function(data) {
|
||||||
|
if (data.status ==1) {
|
||||||
|
r(1);
|
||||||
|
} else {
|
||||||
|
alert(data.msg);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function() {
|
||||||
|
alert('服务器开小差了,请稍后再试。');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
$("#setPayment").on("click",function(){
|
||||||
|
MSG.showmsg("程序初始化中...");
|
||||||
|
var verify = $("input[name='verify']").val();
|
||||||
|
if($.trim(verify) == ''){
|
||||||
|
MSG.hidemsg();
|
||||||
|
alert('验证码不能为空');
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
DATA.data=[];
|
||||||
|
DATA.now=1;
|
||||||
|
DATA.verify=verify;
|
||||||
|
var text = $("input[name='remark']").map(function(index,elem) {
|
||||||
|
var t = {};
|
||||||
|
t.id = $(elem).data("id");
|
||||||
|
t.remark = $(elem).val();
|
||||||
|
DATA.data.push(t);
|
||||||
|
});
|
||||||
|
DATA.datacount = DATA.data.length;
|
||||||
|
//执行流程
|
||||||
|
COMPARE.checkVerify(function(){
|
||||||
|
COMPARE.doPayment(function(){
|
||||||
|
MSG.showmsg("打款结束,执行跳转中......");
|
||||||
|
setTimeout(function(){
|
||||||
|
window.location.href = "{:U('lists')}";
|
||||||
|
},2000)
|
||||||
|
})
|
||||||
|
});
|
||||||
|
})
|
||||||
|
function cancelPoolAjax(opurl,senddata){
|
||||||
|
//执行
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: opurl,
|
||||||
|
dataType: 'json',
|
||||||
|
async: false,
|
||||||
|
data: senddata,
|
||||||
|
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>
|
||||||
|
</block>
|
@ -0,0 +1,278 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title></title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
|
||||||
|
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
|
||||||
|
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
||||||
|
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
|
||||||
|
|
||||||
|
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__JS__/select2.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
||||||
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
|
||||||
|
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
|
||||||
|
<script src="__STATIC__/table2excel.js"></script>
|
||||||
|
</head>
|
||||||
|
<style>
|
||||||
|
html {
|
||||||
|
min-width:100%;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
padding: 0px 10px 150px 10px;
|
||||||
|
/* width: 960px; */
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
/* .tabcon1711 table{
|
||||||
|
width: 480px;
|
||||||
|
} */
|
||||||
|
table{
|
||||||
|
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
tr{
|
||||||
|
border-bottom: dotted 1px #c7c7c7;
|
||||||
|
}
|
||||||
|
.hidebox{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.r{
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
.l{
|
||||||
|
width: 180px;
|
||||||
|
}
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
color: #000;
|
||||||
|
resize: none;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
|
||||||
|
box-shadow: 0px 3px 3px #F7F8F9 inset;
|
||||||
|
height: 35px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
line-height: 35px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
height: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||||
|
height: 26px;
|
||||||
|
line-height: 26px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-results__option[aria-selected] {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.input-list, .i_list {
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#statementShow td{
|
||||||
|
line-height: 1.5;
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body>
|
||||||
|
<!-- <div style="width: 100%;line-height: 100px;font-size: 25px;font-weight: 600;text-align: center;">
|
||||||
|
海南万盟天下科技有限公司
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="data_list box_mt" style="margin-top: 10px;">
|
||||||
|
<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>推广流水</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 id="statementShow">
|
||||||
|
<foreach name="data" item="com">
|
||||||
|
<tr>
|
||||||
|
<td rowspan="{$com.row}">{$key-0+1}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.company_name}</td>
|
||||||
|
|
||||||
|
<!-- <td rowspan="{$com.statement_count}">{$com.company_info.account}</td> -->
|
||||||
|
|
||||||
|
<notempty name="com['statement_info']">
|
||||||
|
<td rowspan="{$com['statement_info'][0]['row']}">{$com['statement_info'][0]['account']}</td>
|
||||||
|
<else />
|
||||||
|
<td>-</td>
|
||||||
|
</notempty>
|
||||||
|
|
||||||
|
<td rowspan="{$com.row}">{$com.company_info.company_relation_str}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.company_info.nickname}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.company_info.company_type_str}</td>
|
||||||
|
|
||||||
|
<notempty name="com['statement_info'][0]['game_list']">
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['game_name']}</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['game_type_name']}</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['statement_time']}</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['pay_amount']}</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['ratio']|default=0}%</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['increment_ratio']|default=0}%</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['reward']}</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['fine']}</td>
|
||||||
|
<td>{$com['statement_info'][0]['game_list'][0]['sum_money']}</td>
|
||||||
|
<else />
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
</notempty>
|
||||||
|
|
||||||
|
<td rowspan="{$com.row}">{$com.company_info.ali_user}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.company_info.ali_account}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.document_maker}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.payment_user}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.pay_status_str}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.pay_time}</td>
|
||||||
|
<td rowspan="{$com.row}">{$com.remark}</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<if condition="$com['statement_info'][0]['row'] gt 1">
|
||||||
|
<foreach name="com['statement_info'][0]['game_list']" item="game" key="gamekey">
|
||||||
|
<if condition="$gamekey gt 0">
|
||||||
|
<tr>
|
||||||
|
<td>{$game['game_name']}</td>
|
||||||
|
<td>{$game['game_type_name']}</td>
|
||||||
|
<td>{$game['statement_time']}</td>
|
||||||
|
<td>{$game['pay_amount']}</td>
|
||||||
|
<td>{$game['ratio']|default=0}%</td>
|
||||||
|
<td>{$game['increment_ratio']|default=0}%</td>
|
||||||
|
<td>{$game['reward']}</td>
|
||||||
|
<td>{$game['fine']}</td>
|
||||||
|
<td>{$game['sum_money']}</td>
|
||||||
|
</tr>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
|
||||||
|
<notempty name="com['statement_info'][1]">
|
||||||
|
|
||||||
|
<foreach name="com['statement_info']" item="account" key="akey">
|
||||||
|
<if condition="$akey gt 0">
|
||||||
|
<tr>
|
||||||
|
<td rowspan="{$account['row']}">{$account['account']}</td>
|
||||||
|
|
||||||
|
<notempty name="account['game_list']">
|
||||||
|
<td>{$account['game_list'][0]['game_name']}</td>
|
||||||
|
<td>{$account['game_list'][0]['game_type_name']}</td>
|
||||||
|
<td>{$account['game_list'][0]['statement_time']}</td>
|
||||||
|
<td>{$account['game_list'][0]['pay_amount']}</td>
|
||||||
|
<td>{$account['game_list'][0]['ratio']|default=0}%</td>
|
||||||
|
<td>{$account['game_list'][0]['increment_ratio']|default=0}%</td>
|
||||||
|
<td>{$account['game_list'][0]['reward']}</td>
|
||||||
|
<td>{$account['game_list'][0]['fine']}</td>
|
||||||
|
<td>{$account['game_list'][0]['sum_money']}</td>
|
||||||
|
<else />
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>-</td>
|
||||||
|
</notempty>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<if condition="$account['row'] gt 1">
|
||||||
|
<foreach name="account['game_list']" item="game" key="gamekey">
|
||||||
|
<if condition="$gamekey gt 0">
|
||||||
|
<tr>
|
||||||
|
<td>{$game['game_name']}</td>
|
||||||
|
<td>{$game['game_type_name']}</td>
|
||||||
|
<td>{$game['statement_time']}</td>
|
||||||
|
<td>{$game['pay_amount']}</td>
|
||||||
|
<td>{$game['ratio']|default=0}%</td>
|
||||||
|
<td>{$game['increment_ratio']|default=0}%</td>
|
||||||
|
<td>{$game['reward']}</td>
|
||||||
|
<td>{$game['fine']}</td>
|
||||||
|
<td>{$game['sum_money']}</td>
|
||||||
|
</tr>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
|
||||||
|
</notempty>
|
||||||
|
</foreach>
|
||||||
|
<tr>
|
||||||
|
<td colspan=9 >合计:</td>
|
||||||
|
<td>{$count.platform_amount}</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td>{$count.sum_money}</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
<if condition="$is_export">
|
||||||
|
$(function(){
|
||||||
|
$("#exporttable").table2excel({
|
||||||
|
filename: "{$title}.xls", // do include extension
|
||||||
|
preserveColors: false // set to true if you want background colors and font colors preserved
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</if>
|
||||||
|
</script>
|
||||||
|
</html>
|
@ -0,0 +1,50 @@
|
|||||||
|
<extend name="Public/base"/>
|
||||||
|
|
||||||
|
<block name="body">
|
||||||
|
<div class="tabcon1711">
|
||||||
|
<form action="{:U()}" method="post" class="form-horizontal form_info_ml">
|
||||||
|
|
||||||
|
<div class="cf main-place top_nav_list navtab_list">
|
||||||
|
<h3 class="page_title">新增制单人</h3>
|
||||||
|
<p class="description_text"></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="l"><i class="mustmark">*</i>姓名:</td>
|
||||||
|
<td class="r">
|
||||||
|
<input name="real_name" type="text" class="">
|
||||||
|
<span class="notice-text">制单人姓名</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="l"><i class="mustmark">*</i>手机号码:</td>
|
||||||
|
<td class="r">
|
||||||
|
<input name="mobile" type="text" class="">
|
||||||
|
<span class="notice-text">制单人登陆用的手机</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="form-item cf">
|
||||||
|
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal">
|
||||||
|
保存
|
||||||
|
</button>
|
||||||
|
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back(-1);" >
|
||||||
|
返回
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block name="script">
|
||||||
|
<script type="text/javascript">
|
||||||
|
//导航高亮
|
||||||
|
highlight_subnav('{:U('User/index')}');
|
||||||
|
</script>
|
||||||
|
</block>
|
@ -0,0 +1,84 @@
|
|||||||
|
<extend name="Public/base" />
|
||||||
|
|
||||||
|
<block name="body">
|
||||||
|
<!-- 标题栏 -->
|
||||||
|
|
||||||
|
<div class="cf main-place top_nav_list navtab_list">
|
||||||
|
<h3 class="page_title">制单账号</h3>
|
||||||
|
<p class="description_text">说明:可设置制单账号</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cf top_nav_list">
|
||||||
|
<div class="fl button_list">
|
||||||
|
<a class="" href="{:U('add')}"><span class="button_icon button_icon1"></span>新增</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 数据列表 -->
|
||||||
|
<div class="data_list">
|
||||||
|
<table class="">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="">姓名</th>
|
||||||
|
<th class="">手机号码</th>
|
||||||
|
|
||||||
|
|
||||||
|
<th class="" style="width:8%;min-width:110px;">操作</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<notempty name="data">
|
||||||
|
<volist name="data" id="vo">
|
||||||
|
<tr>
|
||||||
|
<td>{$vo.real_name}</td>
|
||||||
|
<td>{$vo.mobile} </td>
|
||||||
|
<td>
|
||||||
|
<a href="{:U('User/delete',['id'=>$vo['id']])}" class="confirm ajax-get">删除</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</volist>
|
||||||
|
<else/>
|
||||||
|
<td colspan="9" class="text-center">aOh! 暂时还没有内容!</td>
|
||||||
|
</notempty>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="page">
|
||||||
|
|
||||||
|
{$_page}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</block>
|
||||||
|
|
||||||
|
<block name="script">
|
||||||
|
<script src="__STATIC__/thinkbox/jquery.thinkbox.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
Think.setValue('status',"{:I('status')}");
|
||||||
|
Think.setValue('row',"{:I('row',10)}");
|
||||||
|
//搜索功能
|
||||||
|
$("#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;
|
||||||
|
});
|
||||||
|
//回车搜索
|
||||||
|
$(".search-input").keyup(function(e){
|
||||||
|
if(e.keyCode === 13){
|
||||||
|
$("#search").click();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//导航高亮
|
||||||
|
highlight_subnav('{:U('User/index')}');
|
||||||
|
</script>
|
||||||
|
</block>
|
@ -1,19 +1,19 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIDtTCCAp2gAwIBAgIQICAGGS5p70QviSuHRfPPBjANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
MIIDtTCCAp2gAwIBAgIQICAHED3e6K/ggqeAVyIHETANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||||
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||||
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||||
YXNzIDIgUjEwHhcNMjAwNjE5MDc1OTUwWhcNMjIwNjE5MDc1OTUwWjCBlTELMAkGA1UEBhMCQ04x
|
YXNzIDIgUjEwHhcNMjAwNzEwMDgwMzI0WhcNMjIwNzEwMDgwMzI0WjCBlTELMAkGA1UEBhMCQ04x
|
||||||
MDAuBgNVBAoMJ+emj+W7uumHkeiPoOiPnOe9kee7nOenkeaKgOaciemZkOWFrOWPuDEPMA0GA1UE
|
MDAuBgNVBAoMJ+emj+W7uumHkeiPoOiPnOe9kee7nOenkeaKgOaciemZkOWFrOWPuDEPMA0GA1UE
|
||||||
CwwGQWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZkOWF
|
CwwGQWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZkOWF
|
||||||
rOWPuC0yMDg4MzMxMDgyODM1NDIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApGA7
|
rOWPuC0yMDg4NzMxOTg2NjA0MjExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1mzN
|
||||||
3xiJnGXsrIPCqTSgq9C/4uNArsX3/xBE1qSl6n4X2NR+oejR9fVzM3+rlo4npJPUDh5sq3udfUNW
|
HVTVj+5LOxqUA/J5MVtRBMnd8IkZqKfqjTtq0+OJEIMqm+8AY4evq5/intUT7yjar8sNF/F0HzAj
|
||||||
kC5Gb4MzHyNExNWD97pV+xNjwwKIV95ysll44qNFhSIeeiHg3duPV9ZJ3GxUS2lAE0Mw3+6eU5QF
|
GErjVq2QIhZ/ttxMkEzaiq2mnd8jpS9Cmd3JtluIGdl079nZlfr7lC/0IF+/AbxoTxksKOg+5vrl
|
||||||
AjYHmBsozCXz3RKk9UxVNBR3VkjLzkUh7kyg00kv/pIFM03i4l804FQ3ssbzE5FSL9maucibwRib
|
QNQUZiTz2uVs2bP3bJTvnKjkAT1yPUMvb3ywcmbAhles8zE9NeHtgO5/sHK3nhXYJ8+IxLW6CUaI
|
||||||
AnStR778bM9r9PLNZ48v9XeAGThfk9WFoOfbJB8UQMgO05QmT77iWMuOJZqP6Q1w1LF1W8eM1jz4
|
0wIA0uS7SDzJ7uckCuvLoVRf0qercSy7xaO5Iw3nxgJbCUaj3AAagO9R1FBxCO7W53XxxThMcJ+J
|
||||||
MzjgTyauYndZBqvXnyPBKnUYoIBNI/6bGwIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJKoZI
|
B76yrUTGVgWf2DlpNG/mS0MEi0Qn9dgB6QIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJKoZI
|
||||||
hvcNAQELBQADggEBAAHPfzWNY149me8+Rxnf0BXI09At2z/JpF3htT09lRkma1qSuIwwKkZzvgOm
|
hvcNAQELBQADggEBAG6x4fRx3bfTIrwk3VYH1dE4kVPpLum0nEYcLRi2Q/C/DTmyLY3kp/kBZWF2
|
||||||
pTnUE7+3YJ6lxzTrdEAeL3Z6lY/YQJjW/ewrqfJBtducXeeTdoBlZLNLfAR/6ap4HtsUH33ftjzK
|
J9zYWk9tGnTxD9DIW+2B0D+nU5YK/5z2o3jB9D6TA1OwKex5DS0NoGu2khHHAOqIb0NWvj0s00tH
|
||||||
WA9JyiqKiAwqfNDJo/RjxPLCAwMFXmfoZdwgF7pib/I6Y4HkrU8RFcFEg+I/5DHbR6giaFflZ6n/
|
osdXXlfQ+5KYHz36iS53er/ZlpPJcuF1NlhqRSDmKKDLkhqqM2rQG+eVqmi4uMEbOMBC7ELN+KLl
|
||||||
lhbFo+t8luMO+4J3eKdE1Qp/KuohbWxXpc+4AtWYMxUuhWulFP87c1SUKSWinnTrtLpamvFkYyIH
|
DbTfDSwltpSkI6ZVrdEE7PuR/YX6TAj/8N1Wb8DxHCTRmXxlgq60GQgYhW1DqUsg4HmFxUKZMaDW
|
||||||
zPuF6lENjKScnzFUZTjkGs5Ms1LzfrlnjN7ZX6c4M3qQGDlktyaHwYk=
|
nlUasi9YwAH2gj0CCmNSi0Q7xPyEL/c9FMQFkeoWDo4IGA1YFZvM5gw=
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDtTCCAp2gAwIBAgIQICAGGS5p70QviSuHRfPPBjANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||||
|
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||||
|
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||||
|
YXNzIDIgUjEwHhcNMjAwNjE5MDc1OTUwWhcNMjIwNjE5MDc1OTUwWjCBlTELMAkGA1UEBhMCQ04x
|
||||||
|
MDAuBgNVBAoMJ+emj+W7uumHkeiPoOiPnOe9kee7nOenkeaKgOaciemZkOWFrOWPuDEPMA0GA1UE
|
||||||
|
CwwGQWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZkOWF
|
||||||
|
rOWPuC0yMDg4MzMxMDgyODM1NDIxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApGA7
|
||||||
|
3xiJnGXsrIPCqTSgq9C/4uNArsX3/xBE1qSl6n4X2NR+oejR9fVzM3+rlo4npJPUDh5sq3udfUNW
|
||||||
|
kC5Gb4MzHyNExNWD97pV+xNjwwKIV95ysll44qNFhSIeeiHg3duPV9ZJ3GxUS2lAE0Mw3+6eU5QF
|
||||||
|
AjYHmBsozCXz3RKk9UxVNBR3VkjLzkUh7kyg00kv/pIFM03i4l804FQ3ssbzE5FSL9maucibwRib
|
||||||
|
AnStR778bM9r9PLNZ48v9XeAGThfk9WFoOfbJB8UQMgO05QmT77iWMuOJZqP6Q1w1LF1W8eM1jz4
|
||||||
|
MzjgTyauYndZBqvXnyPBKnUYoIBNI/6bGwIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJKoZI
|
||||||
|
hvcNAQELBQADggEBAAHPfzWNY149me8+Rxnf0BXI09At2z/JpF3htT09lRkma1qSuIwwKkZzvgOm
|
||||||
|
pTnUE7+3YJ6lxzTrdEAeL3Z6lY/YQJjW/ewrqfJBtducXeeTdoBlZLNLfAR/6ap4HtsUH33ftjzK
|
||||||
|
WA9JyiqKiAwqfNDJo/RjxPLCAwMFXmfoZdwgF7pib/I6Y4HkrU8RFcFEg+I/5DHbR6giaFflZ6n/
|
||||||
|
lhbFo+t8luMO+4J3eKdE1Qp/KuohbWxXpc+4AtWYMxUuhWulFP87c1SUKSWinnTrtLpamvFkYyIH
|
||||||
|
zPuF6lENjKScnzFUZTjkGs5Ms1LzfrlnjN7ZX6c4M3qQGDlktyaHwYk=
|
||||||
|
-----END CERTIFICATE-----
|
@ -0,0 +1,88 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
|
||||||
|
EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
|
||||||
|
MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
|
||||||
|
UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
|
||||||
|
MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
|
||||||
|
V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
|
||||||
|
W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
|
||||||
|
MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
|
||||||
|
53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
|
||||||
|
pDoiVhsLwg==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
|
||||||
|
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
|
||||||
|
YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
|
||||||
|
YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
|
||||||
|
MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
|
||||||
|
BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
|
||||||
|
aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
|
||||||
|
AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
|
||||||
|
rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
|
||||||
|
xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
|
||||||
|
dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
|
||||||
|
vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
|
||||||
|
YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
|
||||||
|
Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
|
||||||
|
DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
|
||||||
|
SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
|
||||||
|
PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
|
||||||
|
9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
|
||||||
|
AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
|
||||||
|
tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
|
||||||
|
nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
|
||||||
|
tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
|
||||||
|
JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
|
||||||
|
IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
|
||||||
|
05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
|
||||||
|
T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
|
||||||
|
kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
|
||||||
|
PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
|
||||||
|
1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
|
||||||
|
jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
|
||||||
|
77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
|
||||||
|
kT9qhqn+lw==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
|
||||||
|
EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
|
||||||
|
dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
|
||||||
|
dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
|
||||||
|
WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
|
||||||
|
CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
|
||||||
|
YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
|
||||||
|
IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
|
||||||
|
WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
|
||||||
|
rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
|
||||||
|
4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
|
||||||
|
zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
|
||||||
|
wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
|
||||||
|
Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
|
||||||
|
BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
|
||||||
|
E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
|
||||||
|
MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
|
||||||
|
MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
|
||||||
|
bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
|
||||||
|
b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
|
||||||
|
nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
|
||||||
|
4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
|
||||||
|
wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
|
||||||
|
WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
|
||||||
|
z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
|
||||||
|
KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
|
||||||
|
uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
|
||||||
|
MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
|
||||||
|
emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
|
||||||
|
U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
|
||||||
|
UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
|
||||||
|
DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
|
||||||
|
1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
|
||||||
|
Yf4Zr0fJsGuv
|
||||||
|
-----END CERTIFICATE-----
|
@ -0,0 +1,24 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEtDCCA5ygAwIBAgIQICAHEM2RAO/JML4UhVYc5TANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||||
|
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||||
|
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||||
|
YXNzIDEgUjEwHhcNMjAwNzEwMDgwMzI0WhcNMjIwNzEwMDgwMzI0WjB8MQswCQYDVQQGEwJDTjEw
|
||||||
|
MC4GA1UECgwn56aP5bu66YeR6I+g6I+c572R57uc56eR5oqA5pyJ6ZmQ5YWs5Y+4MQ8wDQYDVQQL
|
||||||
|
DAZBbGlwYXkxKjAoBgNVBAMMITIwODg3MzE5ODY2MDQyMTEtMjAyMTAwMTE1MDYyMTQ4OTCCASIw
|
||||||
|
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKJGs7ZYl4HuKQ6DVlVXWDUqujfgXu8TVNiwSgDY
|
||||||
|
YXT30p8tVXQgYJ+227klwN/Lm5FWfMWf6BXDx2tCzGeSovYUZ7VPkcu7yTeZCsKj9Ql/KwlVo9ic
|
||||||
|
diLk1DXRQNU8wki1dVDDbyCJBUxZ5CVEfvmFqENhAQ2LkLHHEm73meFOWx3+MaKTYUONmt5cFcri
|
||||||
|
WgQt6v5uKS1ZASMbqT+x0oHNzP2T9BAR0aKuucB60bFu9ANyT2ApimsPvVtKnjNn5kl44VNFO00t
|
||||||
|
UMsli8GmIJBWckhbHBmFYBui9Xc3VZEm0MZXKf95BAUF58E4HTgwQnaDawwWciLXjDpc32djCv0C
|
||||||
|
AwEAAaOCASkwggElMB8GA1UdIwQYMBaAFHEH4gRhFuTl8mXrMQ/J4PQ8mtWRMB0GA1UdDgQWBBQ3
|
||||||
|
VuZDLA1/hKP5jOXefOfhsU6oETBABgNVHSAEOTA3MDUGB2CBHAFuAQEwKjAoBggrBgEFBQcCARYc
|
||||||
|
aHR0cDovL2NhLmFsaXBheS5jb20vY3BzLnBkZjAOBgNVHQ8BAf8EBAMCBsAwLwYDVR0fBCgwJjAk
|
||||||
|
oCKgIIYeaHR0cDovL2NhLmFsaXBheS5jb20vY3JsNDMuY3JsMGAGCCsGAQUFBwEBBFQwUjAoBggr
|
||||||
|
BgEFBQcwAoYcaHR0cDovL2NhLmFsaXBheS5jb20vY2E2LmNlcjAmBggrBgEFBQcwAYYaaHR0cDov
|
||||||
|
L2NhLmFsaXBheS5jb206ODM0MC8wDQYJKoZIhvcNAQELBQADggEBAFluCa29FOM18vO2AXd4BQMR
|
||||||
|
2sgeObShsGcmg18dR7qlwznEbcpur+RwsBB29r8efeQlx2c6yb1ed3gDsYj/eWQzlB7o5Zk/xgnp
|
||||||
|
5ns5bxjkVOOX2+dwm8tBYgMZdl7N7B4rcvluok40XRhf55lSmHROpVC95HkteAWi1E3fx4noLOkZ
|
||||||
|
PSNy/0jYbEx2AsnMcgYb6/5wakCWyr8wJs9c/iCtacp65MTU5pi+/3ww7UZIPrvWMBD2Exx3dOaJ
|
||||||
|
HBbTS7msy0juJQIeu1K/+kA4TAYrP5gXB+ui3I3Gb71nJw24/J5cM8W3PVndb4xYlOIMgj6HRffx
|
||||||
|
4K1cC2iofo9ENUY=
|
||||||
|
-----END CERTIFICATE-----
|
Loading…
Reference in New Issue