diff --git a/Application/Admin/Controller/PresidentDepositController.class.php b/Application/Admin/Controller/PresidentDepositController.class.php index 43e4a6c7a..4e6f34fe5 100644 --- a/Application/Admin/Controller/PresidentDepositController.class.php +++ b/Application/Admin/Controller/PresidentDepositController.class.php @@ -10,8 +10,45 @@ use Base\Service\PresidentDepositService; */ class PresidentDepositController extends ThinkController { - public function records() { - $promotes = M('promote', 'tab_')->where(['company_belong' => 1, 'level' => 1])->select(); + public function records() + { + $companyType = I('company_type'); + $payType = I('pay_type'); + $status = I('status'); + $promoteId = I('promote_id'); + + $query = M('promote', 'tab_')->where(['level' => 1])->where(['company_belong' => ['in', [1, 2]]]); + + $idStrWhere = []; + if ($promoteId !== '') { + $idStrWhere[] = 'id = ' . $promoteId; + } + if ($companyType !== '') { + $query->where(['company_belong' => $companyType]); + } + + $promoteIds = []; + if ($status !== '') { + $tempPromoteIds = M('president_deposit', 'tab_')->where(['status' => $status])->getField('promote_id', true); + if (count($tempPromoteIds) > 0) { + $idStrWhere[] = 'id in (' . implode(',', $tempPromoteIds) . ')'; + } else { + $idStrWhere[] = '1<>1'; + } + } + if ($payType !== '') { + $tempPromoteIds = M('president_deposit', 'tab_')->where(['pay_type' => $payType])->getField('promote_id', true); + if (count($tempPromoteIds) > 0) { + $idStrWhere[] = 'id in (' . implode(',', $tempPromoteIds) . ')'; + } else { + $idStrWhere[] = '1<>1'; + } + } + if (count($idStrWhere) > 0) { + $query->where(['_string' => implode(' and ', $idStrWhere)]); + } + + $promotes = $query->select(); $relationQuery = M('promote_company', 'tab_')->field(['id', 'company_name']); $promotes = $this->mergeOneReletions('company', $promotes, $relationQuery, 'company_id', 'id'); $relationQuery = M('president_deposit', 'tab_'); @@ -20,8 +57,13 @@ class PresidentDepositController extends ThinkController var_dump($promotes); echo ''; die();*/ + $companyTypes = [ + 1 => '外团', + 2 => '外团-分发联盟', + ]; $this->assign('payWays', PresidentDepositService::$payWays); $this->assign('payTypes', PresidentDepositService::$payTypes); + $this->assign('companyTypes', $companyTypes); $this->assign('statusList', PresidentDepositService::$statusList); $this->assign('promotes', $promotes); $this->display(); @@ -30,6 +72,9 @@ class PresidentDepositController extends ThinkController private function mergeOneReletions($name, $records, $relationQuery, $selfColumn, $relationColumn = 'id') { $values = array_column($records, $selfColumn); + if (count($values) == 0) { + return []; + } $rows = $relationQuery->where([$relationColumn => ['in', $values]])->select(); foreach ($records as &$record) { $record[$name] = null; @@ -46,11 +91,14 @@ class PresidentDepositController extends ThinkController public function edit() { + $this->meta_title = '编辑/查看会长押金'; $id = I('id', 0); $promote = M('promote', 'tab_')->field(['account', 'id'])->where(['id' => $id])->find(); + $record = M('president_deposit', 'tab_')->where(['promote_id' => $id])->find(); $this->assign('payWays', PresidentDepositService::$payWays); $this->assign('payTypes', PresidentDepositService::$payTypes); $this->assign('promote', $promote); + $this->assign('record', $record); $this->display('form'); } @@ -59,13 +107,21 @@ class PresidentDepositController extends ThinkController $payWay = I('pay_way', 0); $payType = I('pay_type', 0); $promoteId = I('id', 0); - $payAccount = I('pay_account', 0); - $amount = I('amount', 0); - $payer = I('payer', 0); + $payAccount = I('pay_account', ''); + $amount = floatval(I('amount', 0)); + $payer = I('payer', ''); $record = M('president_deposit', 'tab_')->where(['promote_id' => $promoteId])->find(); if (!$record) { + + if ($payType == 0) { + return $this->error('请选择押金付款方式'); + } + if ($payWay == 0) { + return $this->error('请选择付款方式'); + } + $data = []; $data['pay_way'] = $payWay; $data['pay_type'] = $payType; @@ -73,8 +129,33 @@ class PresidentDepositController extends ThinkController $data['pay_account'] = $payAccount; $data['amount'] = $amount; $data['payer'] = $payer; + $data['create_time'] = time(); + $data['update_time'] = time(); M('president_deposit', 'tab_')->add($data); + return $this->success('保存成功', U('PresidentDeposit/records')); + } + + if ($record['status'] != 0) { + return $this->error('该状态下不可编辑/修改'); } + + if ($amount == 0) { + return $this->error('请输入金额'); + } + if ($payer == '') { + return $this->error('请输入付款人'); + } + if ($payAccount == '') { + return $this->error('请输入付款账号'); + } + + $data = []; + $data['pay_account'] = $payAccount; + $data['amount'] = $amount; + $data['payer'] = $payer; + $data['update_time'] = time(); + M('president_deposit', 'tab_')->where(['promote_id' => $promoteId])->save($data); + return $this->success('保存成功'); } public function delete() @@ -119,9 +200,27 @@ class PresidentDepositController extends ThinkController 'message' => '无选中项' ]); } - M('president_deposit', 'tab_')->where(['promote_id' => ['in', $promoteIds]])->update([ - 'status' => $payType, - 'refund_time' => time() + + $checkStatus = true; + $records = M('president_deposit', 'tab_')->field(['id', 'status'])->where(['promote_id' => ['in', $promoteIds]])->select(); + foreach ($records as $record) { + if ($record['status'] != 1) { + $checkStatus = false; + break; + } + } + if (!$checkStatus) { + $this->ajaxReturn([ + 'status' => 0, + 'message' => '含有非已到账状态记录,不可批量操作' + ]); + } + + + M('president_deposit', 'tab_')->where(['promote_id' => ['in', $promoteIds]])->save([ + 'status' => 2, + 'refund_time' => time(), + 'update_time' => time() ]); $this->ajaxReturn([ 'status' => 1, @@ -138,9 +237,24 @@ class PresidentDepositController extends ThinkController 'message' => '无选中项' ]); } - M('president_deposit', 'tab_')->where(['promote_id' => ['in', $promoteIds]])->update([ - 'status' => $payType, - 'pay_confirm_time' => time() + $checkStatus = true; + $records = M('president_deposit', 'tab_')->field(['id', 'status'])->where(['promote_id' => ['in', $promoteIds]])->select(); + foreach ($records as $record) { + if ($record['status'] != 0) { + $checkStatus = false; + break; + } + } + if (!$checkStatus) { + $this->ajaxReturn([ + 'status' => 0, + 'message' => '含有非待确认状态记录,不可批量操作' + ]); + } + M('president_deposit', 'tab_')->where(['promote_id' => ['in', $promoteIds]])->save([ + 'status' => 1, + 'pay_confirm_time' => time(), + 'update_time' => time() ]); $this->ajaxReturn([ 'status' => 1, diff --git a/Application/Admin/View/PresidentDeposit/form.html b/Application/Admin/View/PresidentDeposit/form.html index 48ca11a4a..80a517f1d 100644 --- a/Application/Admin/View/PresidentDeposit/form.html +++ b/Application/Admin/View/PresidentDeposit/form.html @@ -90,10 +90,10 @@ *押金付款方式: - disabled> $name):?> - + @@ -102,33 +102,33 @@ *付款方式: - disabled> $name):?> - + - *金额: + *金额: - + disabled placeholder="请输入金额"> - *付款人: + *付款人: - + disabled placeholder="请输入付款人"> - *付款账号: + *付款账号: - + disabled placeholder="请输入付款账号"> @@ -137,9 +137,11 @@
+ + 返回 @@ -167,7 +169,7 @@
@@ -67,15 +65,15 @@
- - +
- $name):?> @@ -83,15 +81,23 @@
- $name):?>
+
+ +
- 搜索 + 搜索
- aOh! 暂时还没有内容! + aOh! 暂时还没有内容! - - - - - + + + + + {$data.company.company_name} {$data.account} - {$data.company_belong} + - + @@ -202,42 +208,6 @@ 已添加添加至常用设置
- -
-
- - - -
    -
  1. -
    - *说明: - -
    -
    驳回
    -
  2. -
  3. -
    - *汇款证明: -
    - -
    -
    选择文件
    -
    -
    -
    -
    - -
    -
    - -
    -
    -
    保存
    -
  4. -
-
-
@@ -254,23 +224,6 @@ //导航高亮 highlight_subnav('{:U('PresidentDeposit/records')}'); $(function(){ - $(".paixu").click(function(){ - var that=$(this); - $data_order=that.attr('data-order'); - $order_type='{$userarpu_order}'; - console.log($order_type); - if($order_type==''||$order_type=='4'){ - $(".sortBy").attr('name','data_order'); - val='3,'+$data_order; - $(".sortBy").attr('value',val); - $("#search").click(); - }else if($order_type=='3'){ - $(".sortBy").attr('name','data_order'); - val='4,'+$data_order; - $(".sortBy").attr('value',val); - $("#search").click(); - } - }); //搜索功能 $("#search").click(function(){ var url = $(this).attr('url'); @@ -312,6 +265,55 @@ }) } }) + $('#refund-btn').on({ + click: function() { + var ids = getIds(); + $.ajax({ + url: '{:U("refund")}', + type: 'post', + dataType: 'json', + data: {ids: ids}, + success: function(result) { + if (result.status == 1) { + layer.msg(result.message) + setTimeout(function() { + window.location.href = window.location.href + }, 200) + } else { + layer.msg(result.message) + } + } + }) + } + }) + $('#pay-confirm-btn').on({ + click: function() { + var ids = getIds(); + $.ajax({ + url: '{:U("payConfirm")}', + type: 'post', + dataType: 'json', + data: {ids: ids}, + success: function(result) { + if (result.status == 1) { + layer.msg(result.message) + setTimeout(function() { + window.location.href = window.location.href + }, 200) + } else { + layer.msg(result.message) + } + } + }) + } + }) + function getIds() { + var ids = []; + $('.ids:checked').each(function() { + ids.push($(this).val()); + }) + return ids; + } $('.delete-btn').on({ click: function() { var id = $(this).parents('tr').eq(0).attr('data-id'); @@ -334,18 +336,6 @@ } }) }); - - function details(id){ - layer.open({ - type: 2, - title: '结算详情', - shadeClose: true, - shade: 0.8, - area: ['80%', '70%'], - content: '/admin.php?s=/Query/withdrawDetails/id/'+id+'' //iframe的url - }); - } - $(".export-btn").on("click",function(e){ e.preventDefault(); window.location.href=$(this).attr("href")