123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace app\activity\controller;
- use app\activity\model\ActivityJoinModel;
- use cmf\controller\AdminBaseController;
- class AdminActivityJoinController extends AdminBaseController
- {
- /**
- * 活动列表
- */
- public function index()
- {
- $this->checkSite();
- $param = $this->request->param();
- //搜索条件
- $sessionAdminId = session('ADMIN_ID');
- $where = [['a.user_id', '=', $sessionAdminId]];
- if (!empty($param['keyword'])) {
- $where[] = ['a.title', 'like', "%{$param['keyword']}%"];
- }
- if (!empty($param['activity_id'])) {
- $where[] = ['aj.activity_id', '=', $param['activity_id']];
- }
- if (isset($param['status']) && ($param['status'] === '0' || $param['status'] > 0)) {
- $where[] = ['aj.status', '=', $param['status']];
- }
- $activity = ActivityJoinModel::alias('aj')
- ->leftJoin('activity a', 'aj.activity_id = a.id')
- ->leftJoin('user u', 'aj.user_id = u.id')
- ->field('aj.*,a.title,u.user_name,u.mobile')
- ->where($where)
- ->order('create_time', 'DESC')
- ->paginate(10, false, ['query' => $param]);
- $this->assign('keyword', isset($param['keyword']) ? $param['keyword'] : '');
- $this->assign('activity_id', isset($param['activity_id']) ? $param['activity_id'] : '');
- $this->assign('status', isset($param['status']) ? $param['status'] : '');
- $this->assign('activity', $activity->items());
- $this->assign('page', $activity->render());
- return $this->fetch();
- }
- public function export()
- {
- $param = $this->request->param();
- //搜索条件
- $sessionAdminId = session('ADMIN_ID');
- $where = [['a.user_id', '=', $sessionAdminId]];
- if (!empty($param['ids'])) {
- $where[] = ['aj.id', 'in', $param['ids']];
- } else {
- if (!empty($param['keyword'])) {
- $where[] = ['a.title', 'like', "%{$param['keyword']}%"];
- }
- if (!empty($param['activity_id'])) {
- $where[] = ['aj.activity_id', '=', $param['activity_id']];
- }
- if (isset($param['status']) && ($param['status'] === '0' || $param['status'] > 0)) {
- $where[] = ['aj.status', '=', $param['status']];
- }
- }
- //获取数据
- $activity = ActivityJoinModel::alias('aj')
- ->leftJoin('activity a', 'aj.activity_id = a.id')
- ->leftJoin('user u', 'aj.user_id = u.id')
- ->field('aj.*,a.title,u.user_name,u.mobile')
- ->where($where)
- ->order('create_time', 'DESC')
- ->select();
- //表头
- $header = [
- 'id' => 'id',
- 'activity_id' => '活动id',
- 'title' => '活动标题',
- 'user_id' => '用户id',
- 'user_name' => '用户姓名',
- 'mobile' => '用户电话',
- 'status' => '状态',
- 'create_time' => '报名时间',
- ];
- //表格内容
- foreach ($activity as $v) {
- $v['create_time'] = date('Y-m-d H:i', $v['create_time']);
- $v['status'] = $v['status'] == 0 ? '未签到' : '已签到';
- }
- export_excel_data($header, $activity, '报名列表', ['mobile','create_time']);
- }
- }
|