新增导出

master
chenzhi 5 years ago
parent 88c70c29db
commit 3b8d6eb128

@ -468,7 +468,7 @@ class CompanyStatementController extends ThinkController
$Statemen = M("company_statement","tab_");
foreach ($datas as $k => $v) {
if(count($v['company_list']) <= 0){continue;}
$v['statement_num'] = "PL_".date('Ymd').date('His').sp_random_num(3);
//保存公司信息
$company_list = $v['company_list'];
foreach ($company_list as $ke => $va) {
@ -477,12 +477,18 @@ class CompanyStatementController extends ThinkController
if(empty($v['create_lack_ids']) && empty($v['del_lack_ids']) && empty($v['info_ids'])){ continue;}
$v['statement_ids'] = implode(",",$v['statement_ids']);
$v['statement_num'] = "PL_".date('Ymd').date('His').sp_random_num(3);
$v['create_lack_ids'] = implode(",",$v['create_lack_ids']);
$v['del_lack_ids'] = implode(",",$v['del_lack_ids']);
$info = implode(",",$v['info_ids']);
unset($v['info_ids']);
unset($v['company_list']);
if($v['statement_money'] == 0){
$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")]);
}
$pool_id = $Pool->add($v);
if($pool_id == false){
$this->ajaxReturn(array('status' => 0,"info"=>"汇总失败"));
@ -491,7 +497,7 @@ class CompanyStatementController extends ThinkController
$save["pool_id"]=$pool_id;
M("company_statement_info","tab_")->where("id in ({$info})")->save($save);
}
if(!empty($data['del_lack_ids'])){
if(!empty($v['del_lack_ids'])){
M("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]);
}
//修改结算单规则
@ -533,6 +539,12 @@ class CompanyStatementController extends ThinkController
unset($value["second_ratio"]);
}
}
if($k=="ups" || $k=='downs'){
$is_payment = 1;
}else{
$is_payment = 2;
}
//创建基础未满基础信息
if($va['statement_money'] < 300){
$lackcompany =[
@ -547,6 +559,8 @@ class CompanyStatementController extends ThinkController
"reward"=>$va['reward'],
"statement_begin_time"=>$v['statement_begin_time'],
"statement_end_time"=>$v['statement_end_time'],
"is_payment"=>$is_payment,
"statement_pool_num"=>$v['statement_num'],
"statement_info"=>json_encode($va['statement_info'],JSON_UNESCAPED_UNICODE),
];
}

@ -0,0 +1,364 @@
<?php
namespace Admin\Controller;
/**
* 上下游结算单
* @author cz
*/
class CompanyStatementLackController extends ThinkController
{
public $CompanyType = [
"1"=>"下游公司",
"2"=>"下游个人",
"3"=>"上游公司"
];
public $IsPayment = [
"1"=>"是",
"2"=>"否"
];
public $admininfo;
public $DBModel;
public function _initialize()
{
$this->admininfo = $_SESSION['onethink_admin']['user_auth'];
$this->DBModel = M("CompanyLackStatementInfo","tab_");
parent::_initialize();
}
public function lists() {
$params = I('get.');
$page = $params['p'] ? intval($params['p']) : 1;
$row = $params['row'] ? intval($params['row']) : 10;
//权限分配
if(!IS_ROOT){
$this->OpAuthList= getModuleControllerAuth();
}
$this->assign('menubtn',$this->menuAuth());
$map = [
"is_pool"=>0
];
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})";
} elseif (isset($_REQUEST['time_start'])) {
$time_start = strtotime($_REQUEST['time_start']);
$map["_string"] = "(statement_begin_time >= {$time_start} ) OR (statement_end_time >= {$time_start})";
} elseif (isset($_REQUEST['time_end'])) {
$time_end = strtotime($_REQUEST['time_end'])+ 86399;
$map["_string"] = "(statement_begin_time <= {$time_end} ) OR (statement_end_time <= {$time_end})";
}
//其他
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['is_payment'])){
$map['is_payment'] = $_REQUEST['is_payment'];
}
$this->checkListOrCountAuthRestMap($map);//导出权限
//条件end
$data = $this->DBModel
->field("*")
->where($map)
->page($page,$row)
->select();
foreach($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']);
$v['is_payment_str'] = $this->IsPayment[$v['is_payment']];
$v['company_type_str'] = $this->CompanyType[$v['company_type']];
$v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}";
$v['oplist'] = $this->OpAuth($v);
}
$count = $this->DBModel->field("count(id) count,sum(statement_money) statement_money")->where($map)->find();
// dd($count);
$parameter['p'] = $page;
$parameter['row'] = $row;
$page = set_pagination($count['count'], $row, $parameter);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('data',$data);
$this->assign('count',$count);
$this->assign('CompanyType',$this->CompanyType);
$this->assign('IsPayment',$this->IsPayment);
$this->display();
}
//查看
public function viewStatement()
{
if(!isset($_REQUEST['id'])){
$this->error('参数错误');
}
$id = $_REQUEST['id'];
$is_export= false;
if (isset($_REQUEST['export']) && $_REQUEST['export']==1){
$is_export = true;
}
//获取基本信息
$dbres = $this->DBModel->where("id='{$id}'")->select();
if($dbres[0]['company_type'] == 3){
//上游
A("CompanyStatementPool")->viewCpPool($dbres,$is_export);
}elseif($infolist[0]['company_type'] == 1){
//下游公司
A("CompanyStatementPool")->viewPcPool($dbres,$is_export);
}else{
A("CompanyStatementPool")->viewPuPool($dbres,$is_export);
}
}
//汇总
public function pool()
{
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
$ids = $_REQUEST['ids'];
$dbres = $this->DBModel->field("*")->where("id in ({$ids})")->select();
//分单
$basedata = [
"pay_amount"=>0,
"statement_money"=>0,
"lack_statement_money"=>0,
"platform_amount"=>0,
"lack_platform_amount"=>0,
"del_lack_ids"=>[],
"info_ids"=>[],
"statement_begin_time"=>0,
"statement_end_time"=>0,
"fine"=>0,
"reward"=>0,
"verify_status"=>0,
"verify_log"=>json_encode(["create_user"=>$this->admininfo["username"],"create_time"=>date("Y-m-d H:i:s")]),
"op_time"=>time(),
"company_list"=>[]
];
$datas = ["ups","up","downs","down","user","users"];
//初始化数据
foreach($datas as $k=>$v){
if($v =="ups"){
$basedata['company_type']=3;
$basedata['is_payment']=1;
}
if($v =="up"){
$basedata['company_type']=3;
$basedata['is_payment']=2;
}
if($v =="downs"){
$basedata['company_type']=1;
$basedata['is_payment']=1;
}
if($v =="down"){
$basedata['company_type']=1;
$basedata['is_payment']=2;
}
if($v =="users"){
$basedata['company_type']=2;
$basedata['is_payment']=1;
}
if($v =="user"){
$basedata['company_type']=2;
$basedata['is_payment']=2;
}
$datas[$v]=$basedata;
unset($datas[$k]);
}
foreach ($dbres as $k=>$v) {
if($v['company_type'] == 3){
//上游
if($v['is_payment'] == 1){
$this->setDf($datas['ups'],$v);
}else{
$this->setDf($datas['up'],$v);
}
}elseif($v['company_type'] == 1){
if($v['is_payment'] == 1){
$this->setDf($datas['downs'],$v);
}else{
$this->setDf($datas['down'],$v);
}
}else{
if($v['is_payment'] == 1){
$this->setDf($datas['users'],$v);
}else{
$this->setDf($datas['user'],$v);
}
}
}
$Pool = M("company_statement_pool","tab_");
$Statemen = M("company_statement","tab_");
foreach ($datas as $k => $v) {
if(count($v['company_list']) <= 0){continue;}
//保存公司信息
$company_list = $v['company_list'];
foreach ($company_list as $ke => $va) {
$this->addStatementInfo($va,$ke,$v);
}
if(empty($v['create_lack_ids']) && empty($v['del_lack_ids']) && empty($v['info_ids'])){ continue;}
$v['statement_num'] = "QZ_".date('Ymd').date('His').sp_random_num(3);
$v['del_lack_ids'] = implode(",",$v['del_lack_ids']) ?? '';
$info = implode(",",$v['info_ids']);
unset($v['info_ids']);
unset($v['company_list']);
$pool_id = $Pool->add($v);
if($pool_id == false){
$this->ajaxReturn(array('status' => 0,"info"=>"汇总失败"));
}
if(!empty($info)){
$save["pool_id"]=$pool_id;
M("company_statement_info","tab_")->where("id in ({$info})")->save($save);
}
if(!empty($v['del_lack_ids'])){
M("company_lack_statement_info","tab_")->where("id in ({$v['del_lack_ids']})")->save(["is_pool"=>1]);
}
}
$this->ajaxReturn(array(
'status' => 1,
"info"=>"汇总成功"
));
}
protected function addStatementInfo($va,$ke,&$v){
$StatementInfo = M("company_statement_info","tab_");
if($va['pay_amount'] > 0){
//存成功
$company =[
"pool_id"=>0,
"company_id"=>$ke,
"company_type"=>$v['company_type'],
"company_name"=>$va['company_name'],
"company_info"=>$va['company_info'],
"fine"=>$va['fine'],
"reward"=>$va['reward'],
"statement_money"=>$va['statement_money'],
"pay_amount"=>$va['pay_amount'],
"platform_amount"=>$va['platform_amount'],
"statement_money"=>$va['statement_money'],
"statement_begin_time"=>$v['statement_begin_time'],
"statement_end_time"=>$v['statement_end_time'],
"statement_info"=>json_encode($va['statement_info'],JSON_UNESCAPED_UNICODE),
"statement_num"=>$va['statement_num']
];
$companyid = $StatementInfo->add($company);
$v['info_ids'][] =$companyid;
$v['statement_money'] +=$va['statement_money'];
$v['pay_amount'] +=$va['pay_amount'];
$v['platform_amount'] +=$va['platform_amount'];
$v['fine'] +=$va['fine'];
$v['reward'] +=$va['reward'];
}
}
//设定组合的子操作
protected function setDf(&$savedata,$v)
{
$savedata['del_lack_ids'][] = $v['id'];
unset($v['id']);
$v['statement_info'] = json_decode( $v['statement_info'],true);
$fine = $v['fine'];
$reward = $v['reward'];
if(isset($savedata['company_list'][$v['company_id']])){
//存在游戏合并
$a = &$savedata['company_list'][$v['company_id']];
$a['fine'] += $fine;
$a['reward'] += $reward;
$a['statement_info'] = array_merge($a['statement_info'],$v['statement_info']);
// dump($a['statement_info']);
$a['platform_amount'] += $v['platform_amount'];
$a['pay_amount'] += $v['pay_amount'];
$a['statement_money'] += $v['statement_money'];
}else{
//先分配好订单号,防止重复提交
$tdata = [
"company_info"=>$v['company_info'],
"company_name"=>$v['company_name'],
"platform_amount"=>$v['platform_amount'],
"pay_amount"=>$v['pay_amount'],
"statement_money"=>$v['statement_money'],
"fine"=>$fine,
"reward"=>$reward,
"statement_info"=>$v['statement_info'],
"statement_num"=>"JS_".date('Ymd').date('His').$v['company_id'].sp_random_string(5)
];
$savedata['company_list'][$v['company_id']] = $tdata;
}
// $savedata['fine'] += $v['fine'];
// $savedata['reward'] += $v['reward'];
// $savedata['pay_amount'] += $v['pay_amount'];
// $savedata['statement_money'] += $v['statement_money'];
// $savedata['platform_amount'] += $v['platform_amount'];
if($savedata['statement_begin_time'] == 0){
$savedata['statement_begin_time'] = $v['statement_begin_time'];
}elseif($v['statement_begin_time'] < $savedata['statement_begin_time']){
$savedata['statement_begin_time'] = $v['statement_begin_time'];
}
if($savedata['statement_end_time'] == 0){
$savedata['statement_end_time'] = $v['statement_end_time'];
}elseif($v['statement_end_time'] > $savedata['statement_end_time']){
$savedata['statement_end_time'] = $v['statement_end_time'];
}
}
//设定并保存数据
public function OpAuth($info)
{
$id = $info['id'];
$type = $info['company_type'];
//原始列表
$opBtn = [
"viewStatement"=>"<a class='confirm viewStatement' data-id='{$id}' data-companytype='{$type}'>查看</a>",
];
//操作对应菜单
$optist = ["viewStatement"];
$resarr = [];
foreach ($optist as $k => $v) {
if(IS_ROOT){
$resarr[] = $opBtn[$v];
}else{
if(in_array($v,$this->OpAuthList)){
$resarr[] = $opBtn[$v];
}
}
}
return $resarr;
}
public function menuAuth()
{
$mentBtn = [
"pool"=>"<a class='butn' id='pool'>发起汇总</a>",
"export"=>"<a class='butn' id='export'>批量导出</a>"
];
$resarr = [];
foreach ($mentBtn as $k => $v) {
if(IS_ROOT){
$resarr[] = $v;
}else{
if(in_array($k,$this->OpAuthList)){
$resarr[] = $v;
}
}
}
return $resarr;
}
}

@ -24,7 +24,8 @@ class CompanyStatementPoolController extends ThinkController
"1"=>"审批通过",
"2"=>"待打款",
"3"=>"打款中",
"4"=>"打款成功"
"4"=>"打款成功",
"5"=>"无需打款"
];
public $admininfo;
public $DBModel;
@ -95,8 +96,9 @@ class CompanyStatementPoolController extends ThinkController
$v['statement_begin_time'] = date('Y-m-d',$v['statement_begin_time']);
$v['statement_end_time'] = date('Y-m-d',$v['statement_end_time']);
$v['company_type'] = $this->CompanyType[$v['company_type']];
$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';
$v['op_time'] = date('Y-m-d H:i:s',$v['op_time']);
$v["valid"] = "{$v['statement_begin_time']} ~ {$v['statement_end_time']}";
@ -139,6 +141,9 @@ class CompanyStatementPoolController extends ThinkController
$ts="线下打款成功";
}
$v["payment"]= "{$ts}({$v['verify_log']['payment_user']}){$symbol} {$v['verify_log']['payment_time']}";
}elseif($v['verify_status'] == 5){
$ts="无需打款";
$v["payment"]= "{$ts}({$v['verify_log']['payment_user']}){$symbol} {$v['verify_log']['payment_time']}";
}
}else{
$v["payment"] = '--';
@ -189,7 +194,7 @@ class CompanyStatementPoolController extends ThinkController
}
//个人汇总结算查看
protected function viewPuPool(&$infolist,$is_export){
public function viewPuPool(&$infolist,$is_export){
$line = 1;
$count = [];
//获取对接人
@ -231,10 +236,10 @@ class CompanyStatementPoolController extends ThinkController
$this->assign("data",$infolist);
$this->assign("count",$count);
$this->assign("is_export",$is_export);
$this->display("viewPuPool");
$this->display("CompanyStatementPool/viewPuPool");
}
//下游汇总结算查看
protected function viewPcPool(&$infolist,$is_export){
public function viewPcPool(&$infolist,$is_export){
$line = 1;
$count = [];
//获取对接人
@ -307,12 +312,12 @@ class CompanyStatementPoolController extends ThinkController
$this->assign("data",$infolist);
$this->assign("count",$count);
$this->assign("is_export",$is_export);
$this->display("viewPcPool");
$this->display("CompanyStatementPool/viewPcPool");
}
//上游汇总查看及导出
protected function viewCpPool(&$infolist,$is_export)
public function viewCpPool(&$infolist,$is_export)
{
$line = 2;
$count = [];
@ -376,7 +381,7 @@ class CompanyStatementPoolController extends ThinkController
$this->assign("data",$infolist);
$this->assign("count",$count);
$this->assign("is_export",$is_export);
$this->display("viewCpPool");
$this->display("CompanyStatementPool/viewCpPool");
}
//审批通过
@ -584,6 +589,18 @@ class CompanyStatementPoolController extends ThinkController
$id = $info['id'];
$img = $info['ext_file'];
$remark = $info['remark'];
$create_lack_ids = $info['create_lack_ids'];
$is_qz = (substr($info['statement_num'],0,2) == "QZ" ? true :false); //强制汇总的都允许回退
$re_op = true;
if(!empty($create_lack_ids) && !$is_qz){
$clsi = M("company_lack_statement_info","tab_")->where("is_pool = 1 and id in ({$create_lack_ids})")->find();
$re_op = true;
if(!empty($clsi)){
$re_op = false; //被引用无法重算
}
}
//原始列表
$opBtn = [
"viewPool"=>"<a class='confirm viewPool' data-id='{$id}'>查看</a>",
@ -600,6 +617,9 @@ class CompanyStatementPoolController extends ThinkController
"editPayment"=>"<a class='confirm setPayment' data-id='{$id}'>打款信息编辑</a>",
"viePayment"=>"<a class='confirm setPayment' data-id='{$id}'>打款详情</a>",
'reCount'=>"<a class='confirm reCount' data-id='{$id}'>重算</a>",
'cancelPool'=>"<a class='confirm cancelPool' data-id='{$id}'>撤销汇总</a>",
];
//操作对应菜单
$optist = [];
@ -607,7 +627,7 @@ class CompanyStatementPoolController extends ThinkController
case '-2':
case '-1':
case '0':
$optist = ["viewPool"];
$optist = ["viewPool","reCount","cancelPool"];
break;
case '1':
$optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","setPayment"];
@ -618,6 +638,12 @@ class CompanyStatementPoolController extends ThinkController
case '3':
$optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","viePayment"];
break;
case '4':
$optist = ["viewPool","addRemark","viewRemark","editRemark","viewVoucher","editVoucher","uploadVoucher","viePayment"];
break;
case '5':
$optist = ["viewPool","addRemark","viewRemark","editRemark","reCount","cancelPool"];
break;
default:
break;
}
@ -625,6 +651,23 @@ class CompanyStatementPoolController extends ThinkController
if($info['platform_amount'] <= 0){
$optist = array_diff($optist, ["viewPool"]);
}
//个人重算,上游撤销
if($re_op){
if($is_qz){
$optist = array_diff($optist, ["reCount"]);
}else{
if($info['company_type'] == 2){
$optist = array_diff($optist, ["cancelPool"]);
}else{
$optist = array_diff($optist, ["reCount"]);
}
}
}else{
$optist = array_diff($optist, ["cancelPool","reCount"]);
}
if(empty($info['ext_file'])){
//未上传凭证
$optist = array_diff($optist, ["viewVoucher", "editVoucher"]);
@ -656,7 +699,6 @@ class CompanyStatementPoolController extends ThinkController
$mentBtn = [
"verifyAgree"=>"<a class='butn' id='verifyAgree'>审批通过</a>",
"verifyRefuse"=>"<a class='butn' id='verifyRefuse' style='background-color: red;'>审核拒绝</a>",
"cancelPool"=>"<a class='butn' id='cancelPool' style='background-color: green;'>撤销汇总</a>",
"export"=>"<a class='butn' id='export'>批量导出</a>"
];
$resarr = [];

@ -832,6 +832,10 @@ class CompanyStatementSetController extends Controller {
"reward"=>$v['reward'],
"statement_begin_time"=>$begintime,
"statement_end_time"=>$endtime,
"statement_pool_num"=>$countdata['statement_num'],//母单
"is_payment"=>$v['is_payment'],
"statement_info"=>json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE)
];
}
@ -865,7 +869,7 @@ class CompanyStatementSetController extends Controller {
}
}else{
if($v['pay_amount'] > 0){
//存成功
//存成功配置单号
$company =[
"pool_id"=>0,
"company_id"=>$k,
@ -879,7 +883,8 @@ class CompanyStatementSetController extends Controller {
"reward"=>$v['reward'],
"statement_begin_time"=>$begintime,
"statement_end_time"=>$endtime,
"statement_info"=>json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE)
"statement_info"=>json_encode($v['statement_info'],JSON_UNESCAPED_UNICODE),
"statement_num"=>"JS_".date('Ymd').date('His').$v['company_id'].sp_random_string(5)
];
$companyid = $StatementInfo->add($company);
$countdata['info_ids'][] =$companyid;
@ -900,6 +905,10 @@ class CompanyStatementSetController extends Controller {
*/
protected function savePromotateUserPool($data){
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")]);
}
$data['create_lack_ids'] = implode(",",$data['create_lack_ids']);
$data['del_lack_ids'] = implode(",",$data['del_lack_ids']);
$info = implode(",",$data['info_ids']);

@ -0,0 +1,407 @@
<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>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.layui-layer-dialog .layui-layer-content{color:red}
.butnbox {padding:10px 0 10px;}
.butnbox .butnlist {overflow:hidden;clear:both;}
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
.butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;}
.butnbox .butnlist .butn.last {background:#009900;}
.butnbox .butnlist .butn~.butn {margin-left:20px;}
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
.layui-layer-title {
text-align: center;
height: 80px;
line-height: 80px;
font-weight: 600;
font-size: 18px;
}
/* .data_list table td{
line-height: 2;
} */
.layui-layer-title {
text-align: center;
height: 42px;
line-height: 42px;
font-weight: 400;
font-size: 14px;
}
.tooltip {
position: relative;
/* display: block; */
/* color: #056dae; */
}
.tooltip .tooltiptext {
display: none;
width: 100%;
background-color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 10px 5px 5px;
position: absolute;
z-index: 1;
bottom: 80%;
left: 0;
border: #000 solid 1px;
line-height: 20px;
}
.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: #333;
display: block;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">未汇总打款管理</h3>
<p class="description_text" id="order_url">未达到打款条件的汇总单列表,强制汇总后将不可回退</p>
</div>
<div class="cf top_nav_list" style="height: 38px;">
<!-- 高级搜索 -->
<div class="jssearch fl cf search_list" style="margin-bottom: 0">
<div class="input-list input-list-promote search_label_rehab">
<select id="company_type" name="company_type" class="select_gallery" >
<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>
<div class="input-list">
<input type="text" readonly id="time_start" name="time_start" class="" value="{:I('time_start')}" placeholder="结算开始时间" />
&nbsp;-&nbsp;
<div class="input-append date" id="datetimepicker" style="display:inline-block">
<input type="text" readonly id="time_end" name="time_end" class="" value="{:I('time_end')}" placeholder="结算结束时间" />
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('lists','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<div class="butnbox" >
<div class="butnlist jscheckbutn" style="margin-left: 2px">
<foreach name="menubtn" item="vo" >
{$vo}
</foreach>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th><input class="check-all" type="checkbox"></th>
<th>合作公司</th>
<th>公司类型</th>
<th>结算时间</th>
<th>打卡流程</th>
<th>结算金额</th>
<th>结算流水</th>
<th class="tooltip">生成母单<span class="tooltiptext">来源的汇总单,母单重算将影响子单</span></th>
<th>操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<if condition = "empty($data)">
<tr>
<td colspan="16" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<notemtpy name = "data">
<volist name="data" id="data">
<tr>
<td ><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td>{$data.company_name}</td>
<td>{$data.company_type_str}</td>
<td>{$data.valid}</td>
<td>{$data.is_payment_str}</td>
<td>{$data.statement_money}</td>
<td>{$data.platform_amount}</td>
<td>{$data.statement_pool_num}</td>
<td>
<foreach name="data.oplist" item="vo" >
{$vo}
</foreach>
</td>
</tr>
</volist>
<tr><td style="line-height: 42px;">合计</td><td colspan="13" style="line-height: 42px;">结算总金额:&nbsp;{$count.statement_money}</td></tr>
</notemtpy>
</tbody>
</table>
</div>
</div>
<div class="page">
<if condition="$role_export_check eq true ">
<a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
</if>
{$_page|default=''}
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<php>if(C('COLOR_STYLE')=='blue_color') echo '
<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">
';
</php>
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script src="__STATIC__/layer/extend/layer.ext.js"></script>
<script type="text/javascript">
</script>
<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 reload() {
window.location.reload();
}
$(function(){
var company_id = "{$_GET['company_id']??0}";
$("#company_type").on("change",function(){
var val = $(this).find("option:selected").val();
var type = 0;
if(val == 3){
type = 1
}else{
type = 2;
}
var url = "{:U('Ajax/getCompanyList')}"+"&company_type="+type;
$.get(url,function(data){
var company = data;
var companystr = '<option value="">请选择合作公司</option>';
for (var i in company) {
if(company[i].id == company_id){
companystr += "<option value='" + company[i].id + "' selected='selected'>" + company[i].name + "</option>"
}else{
companystr += "<option value='" + company[i].id + "'>" + company[i].name + "</option>"
}
}
$("#company_id").html(companystr);
$("#company_id").select2();
})
})
$("#company_type").change();
$(".viewStatement").click(function () {
var id = $(this).data("id");
var url = "{:U('viewStatement')}"+"&id="+id
layer.open({
type: 2,
title: "海南万盟天下科技有限公司",
shadeClose: true,
shade: 0.8,
area: ['70%', '80%'],
content: url
});
});
$("#pool").on("click",function(){
var id = $(this).attr("id");
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get();
if(text.length > 40){
layer.msg("<font style='color:white'>" + '为保证效率暂不支持超过40条的批量操作' + "</font>");
return;
}
if(text.length < 1){
layer.msg("<font style='color:white'>" + '无需要汇总的操作'+"</font>");
return;
}
text = text.join(",");
if(confirm){
layer.confirm('【警告】汇总后将不可回退,如需继续请点击确认', {
btn: ['确认','取消'],
title:false
}, function(){
_doAgreeApply();
});
}else{
_doAgreeApply();
}
function _doAgreeApply(){
//执行
$.ajax({
type: "POST",
url: "{:U('pool')}",
dataType: 'json',
async: false,
data: {ids:text},
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;
}
}
});
}
})
$("#export").click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get();
if(text.length > 20){
layer.msg("<font style='color:white'>" + '暂不支持超过20条的批量导出' + "</font>");
return;
}
if(text.length < 1){
layer.msg("<font style='color:white'>" + '请先选择要导出的结算单' + "</font>");
return;
}
for (var index = 0; index < text.length; index++) {
var id = text[index];
var url ="{:U('export')}"+"&id="+id;
var iframeExcel = "<iframe src='"+url+"' width='0px' height='0px' style='z-index:-1;position: absolute;top: -999999px;'></iframe>"//添加下载的地址到iframe这里是公司信息我用**表示了。
$("body").append(iframeExcel)
}
})
$("#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();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
query = query.replace(/^&/g,'');
if( url.indexOf('?')>0 ){
url += '&' + query;
}else{
url += '?' + query;
}
window.location.href = url;
});
$('#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'
})
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
})
</script>
</block>

@ -168,10 +168,10 @@
<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-export="{$data.can_export}" value="{$data['id']}" name="ids[]"></td>
<td>{$data.statement_num}</td>
<td>{$data.valid}</td>
<td>{$data.company_type}</td>
<td>{$data.company_type_str}</td>
<td>{$data.is_payment_str}</td>
<td>{$data.statement_money}</td>
@ -286,7 +286,7 @@
});
$("#verifyAgree,#verifyRefuse,#cancelPool").on("click",function(){
$("#verifyAgree,#verifyRefuse").on("click",function(){
var id = $(this).attr("id");
if(id == "verifyAgree"){
var opname = "审批通过";
@ -298,12 +298,6 @@
var opurl = "{:U('verifyRefuse')}";
var opst ="[未进行审批]";
var status = [0];
}else if(id=="cancelPool"){
var opname = "撤销汇总";
var opurl = "{:U('cancelPool')}";
var opst ="[审批通过]";
var status = [-2,-1,0,1,2];
var confirm = true;
}
var confirm = confirm ? confirm :false;
@ -368,8 +362,13 @@
})
$("#export").click(function () {
var flag = false;
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
if($(elem).data("export") == 1){
return $(elem).val();
}else{
flag = true;
}
}).get();
if(text.length > 20){
@ -380,11 +379,21 @@
layer.msg("<font style='color:white'>" + '请先选择要导出的结算单' + "</font>");
return;
}
for (var index = 0; index < text.length; index++) {
var id = text[index];
var url ="{:U('export')}"+"&id="+id;
var iframeExcel = "<iframe src='"+url+"' width='0px' height='0px' style='z-index:-1;position: absolute;top: -999999px;'></iframe>"//添加下载的地址到iframe这里是公司信息我用**表示了。
$("body").append(iframeExcel)
if(flag){
layer.confirm("仅结算金额不等于0的会进行导出将忽略结算金额等于0的汇总单点击取消停止操作",{title:false}, function(index){
_export();
layer.close(index);
});
}else{
_export();
}
function _export(){
for (var index = 0; index < text.length; index++) {
var id = text[index];
var url ="{:U('viewPool')}"+"&id="+id+"&export=1";
var iframeExcel = "<iframe src='"+url+"' width='0px' height='0px' style='z-index:-1;position: absolute;top: -999999px;'></iframe>"//添加下载的地址到iframe这里是公司信息我用**表示了。
$("body").append(iframeExcel)
}
}
})
//新增批注

@ -1975,6 +1975,8 @@ CREATE TABLE `tab_company_lack_statement_info` (
`statement_begin_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账开始时间',
`statement_end_time` int(11) NOT NULL DEFAULT '0' COMMENT '对账截止时间',
`statement_info` text NOT NULL DEFAULT '' COMMENT '订单相关信息json',
`statement_pool_num` varchar(500) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '生成此单的汇总单单号',
`is_payment` tinyint(3) NOT NULL DEFAULT '1' COMMENT '是否需要打款1-是 2-否(线下)',
`is_pool` tinyint(3) NOT NULL DEFAULT '0' COMMENT '是否被汇总:0否/1是',
PRIMARY KEY (`id`),
KEY `company_tid` (`company_id`,`company_type`) USING BTREE,

Loading…
Cancel
Save