1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
/**
* @author 河南鼎汉软件科技
* @copyright Copyright (c) 2017 HNDH Software Technology Co., Ltd.
* createtime: 2017/9/29 20:35
*/
namespace backend\modules\game\controllers;
use backend\controllers\ControllerBase;
use common\models\GameProve;
use common\widgets\daterangepicker\DateRangePicker;
use moonland\phpexcel\Excel;
class ProveController extends ControllerBase
{
/**
* @return string
*/
public function actionIndex()
{
$request = \Yii::$app->request;
$sort = $request->get('sort');
$orderBy = empty($sort) ? 'id DESC' : '';
$query = GameProve::find()->orderBy($orderBy);
// 搜索
$searchArr = ['keywords' => '', 'status' => '', 'date' => ['start' => '2017-01-01 00:00', 'end' => date('Y-m-d H:i')]];
$keywords = $request->get('keywords', '');
if (!empty($keywords)) {
$searchArr['keywords'] = $keywords;
$query->andWhere("uid = '{$keywords}'");
}
$status = $request->get('status', '');
if (!empty($status)) {
$searchArr['status'] = $status;
$query->andWhere(['status' => $status]);
}
$date = $request->get('date', []);
if (!empty($date)) {
$tmp = explode(DateRangePicker::SEPARATOR, $date);
$searchArr['date'] = ['start' => $tmp['0'], 'end' => $tmp['1']];
$query->andWhere(['between', 'created_at', strtotime($tmp['0']), strtotime($tmp['1'])]);
}
// 导出Excel
if ($request->get('op') == 'export') {
return Excel::export([
'models' => $query->all(),
'fileName' => '认证记录_' . date('YmdHs') . '.xlsx',
'columns' => [
'id',
'uid',
'num',
'service_price',
't_num',
'g_num',
['attribute' => 'status', 'format' => 'raw', 'value' => function ($model) {
return $model->status == 1 ? '已领取' : '未领取';
}],
['attribute' => 'effective_at', 'format' => ['date', 'php:Y-m-d H:i:s']],
['attribute' => 'created_at', 'format' => ['date', 'php:Y-m-d H:i:s']]
],
]);
}
return $this->render('index', ['query' => $query, 'searchArr' => $searchArr]);
}
}