|
@@ -0,0 +1,228 @@
|
|
|
+<?php
|
|
|
+namespace app\operate\controller;
|
|
|
+use app\common\model\User;
|
|
|
+use library\Controller;
|
|
|
+use think\Db;
|
|
|
+/**
|
|
|
+ * 主办方
|
|
|
+ * Class Sponsor
|
|
|
+ * @package app\operate\controller
|
|
|
+ */
|
|
|
+class Sponsor extends Controller
|
|
|
+{
|
|
|
+ protected $table = 'ActivitySponsor';
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 列表
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function index()
|
|
|
+ {
|
|
|
+ $this->title = '列表';
|
|
|
+ $where = [];
|
|
|
+ $where[] = ['f.is_deleted','=',0];
|
|
|
+ if($title = input('title')) $where[] = ['f.title','like','%'.$title.'%'];
|
|
|
+ $query = $this->_query($this->table)->alias('f')
|
|
|
+ ->field('f.*')
|
|
|
+ ->where($where)
|
|
|
+ ->order('sort desc,f.id asc')->page();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function add()
|
|
|
+ {
|
|
|
+ $this->title = '添加';
|
|
|
+ $this->_form($this->table, 'form');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function edit()
|
|
|
+ {
|
|
|
+ $this->title = '编辑';
|
|
|
+ $this->_form($this->table, 'form');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除
|
|
|
+ * @auth true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function del()
|
|
|
+ {
|
|
|
+ $this->_save($this->table, ['is_deleted' => '1']);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 表单数据处理
|
|
|
+ * @param array $data
|
|
|
+ */
|
|
|
+ protected function _form_filter(&$data)
|
|
|
+ {
|
|
|
+ if ($this->request->isGet() && $this->request->action() == 'add') {
|
|
|
+ $this->isAddMode = 1;
|
|
|
+ $this->ladder = [];
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($this->request->isGet() && $this->request->action() == 'edit') {
|
|
|
+ $this->isAddMode = 0;
|
|
|
+ $this->ladder = isset_full($data,'ladder') ? json_decode($data['ladder'],true):[];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 报名记录
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function apply()
|
|
|
+ {
|
|
|
+ $id = $this->request->get('act_id');
|
|
|
+ $name = $this->request->get('name');
|
|
|
+ $phone = $this->request->get('phone');
|
|
|
+ $this->title = '报名记录';
|
|
|
+ $where = [];
|
|
|
+ $where[]= ['a.act_id','=' ,$id];
|
|
|
+ $where[]= ['a.is_deleted','=' ,0];
|
|
|
+ $where[]= ['a.status','=' ,1];
|
|
|
+ $where[]= ['a.status','=' ,1];
|
|
|
+ if($name) $where[]= ['a.name','like' ,'%'.$name.'%'];
|
|
|
+ if($phone) $where[]= ['a.phone','like' ,'%'.$phone.'%'];
|
|
|
+ $query = $this->_query('activity_apply')
|
|
|
+ ->alias('a')
|
|
|
+ ->field('a.*,u.name user_name,u.headimg')
|
|
|
+ ->where($where)
|
|
|
+ ->leftJoin('store_member u','u.id = a.user_id')
|
|
|
+ ->order('a.id desc')->page();
|
|
|
+ $this->fetch();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上架
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function up()
|
|
|
+ {
|
|
|
+ $this->_save($this->table, ['status' => '1']);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取消
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function down()
|
|
|
+ {
|
|
|
+ $this->_save($this->table, ['status' => '2']);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public function export(){
|
|
|
+
|
|
|
+ $id = $this->request->get('act_id');
|
|
|
+ $name = $this->request->get('name');
|
|
|
+ $phone = $this->request->get('phone');
|
|
|
+ $this->title = '报名记录';
|
|
|
+ $where = [];
|
|
|
+ $where[]= ['a.act_id','=' ,$id];
|
|
|
+ $where[]= ['a.is_deleted','=' ,0];
|
|
|
+ $where[]= ['a.status','=' ,1];
|
|
|
+ $where[]= ['a.status','=' ,1];
|
|
|
+ if($name) $where[]= ['a.name','like' ,'%'.$name.'%'];
|
|
|
+ if($phone) $where[]= ['a.phone','like' ,'%'.$phone.'%'];
|
|
|
+ $data =Db::name('activity_apply')
|
|
|
+ ->alias('a')
|
|
|
+ ->field('a.*,u.name user_name,u.headimg')
|
|
|
+ ->where($where)
|
|
|
+ ->leftJoin('store_member u','u.id = a.user_id')
|
|
|
+ ->order('a.id desc')->select();
|
|
|
+ if(empty($data)) $this->error('暂无可以导出的数据');
|
|
|
+ foreach ($data as $k=>&$v) {
|
|
|
+
|
|
|
+ }
|
|
|
+ $field=array(
|
|
|
+ 'A' => array('order_no', '订单号'),
|
|
|
+ 'B' => array('name', '联系人'),
|
|
|
+ 'C' => array('phone', '电话'),
|
|
|
+ 'D' => array('money','订单金额'),
|
|
|
+ 'E' => array('num','人数'),
|
|
|
+ 'F' => array('email','邮箱'),
|
|
|
+ 'G' => array('create_at', '时间'),
|
|
|
+ );
|
|
|
+ $this->phpExcelList($field,$data,'报名列表');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function phpExcelList($field=[],$list=[],$title='文件'){
|
|
|
+ $PHPExcel=new \PHPExcel();
|
|
|
+ $PHPSheet=$PHPExcel->getActiveSheet();
|
|
|
+ $PHPSheet->setTitle('demo'); //给当前主办方sheet设置名称
|
|
|
+ foreach($list as $key=>$value)
|
|
|
+ {
|
|
|
+ foreach($field as $k=>$v){
|
|
|
+ if($key == 0){
|
|
|
+ $PHPSheet= $PHPExcel->getActiveSheet()->setCellValue($k.'1',$v[1]);
|
|
|
+ }
|
|
|
+ $i=$key+2;
|
|
|
+ $PHPExcel->getActiveSheet()->setCellValue($k . $i, $value[$v[0]]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007'); //按照指定格式生成Excel文件,
|
|
|
+ header('Content-Type: application/vnd.ms-excel'); // 告诉浏览器生成一个excel05版的表格
|
|
|
+ header("Content-Disposition: attachment;filename={$title}.xls"); //告诉浏览器输出文件的名称
|
|
|
+ header('Cache-Control: max-age=0'); //禁止缓存
|
|
|
+ $PHPWriter->save("php://output"); //输出到浏览器
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function _form_result(&$data)
|
|
|
+ {
|
|
|
+ $this->success('操作成功', 'javascript:history.back()');
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|