title = '会员信息管理'; $query = $this->_query($this->table)->where('is_deleted',0)->like('name,phone'); $query->dateBetween('create_at')->order('id desc')->page(); } /** * 数据列表处理 * @auth true * @menu true * @param array $data * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ protected function _index_page_filter(&$data) { foreach ($data as $k=>&$v){ } } //删除货主 public function remove() { $this->_save($this->table, ['is_deleted' => '1']); } //禁用货主 public function forbid() { $this->_save($this->table, ['status' => '0']); } //启用货主 public function resume() { $this->_save($this->table, ['status' => '1']); } public function integral(){ $this->title = '积分变更'; $this->_form($this->table, 'form'); } protected function _form_filter(&$data){ if($this->request->isPost() && $this->request->action() == 'integral') { if($data['id']) { if($data['int_type'] == 6) { update_user_integral($data['id'],$data['int_num'],$data['int_type'],'后台增加'); }else{ update_user_integral($data['id'],$data['int_num'] * -1,$data['int_type'],'后台扣减'); } } } } public function export(){ $get_data = $this->request->get(); $time = explode(' - ',$get_data['create_at']); $phone = $get_data['phone']; $name = $get_data['name']; $where = []; $where[] = ['status',1]; $where[] = ['is_deleted',0]; $where_str = ' status = 1 AND is_deleted = 0'; if($name) $where_str .=' AND name like '."'%".$name."%'"; if($phone) $where_str .=' AND phone like '."'%".$phone."%'"; if($get_data['create_at']) $where_str.=" AND create_at > '".$time[0]."'AND create_at <'".$time[1]."'"; //var_dump("SELECT name,headimg,true_name,phone,create_at,synopsis FROM store_member WHERE".$where_str.' ORDER BY id DESC');die(); $data = Db::query("SELECT name,headimg,true_name,phone,create_at,synopsis FROM store_member WHERE".$where_str.' ORDER BY id DESC'); if(empty($data)) $this->error('暂无可以导出的数据'); foreach ($data as $k=>&$v) { if(!$v) $v = '--'; } $field=array( 'A' => array('name', '昵称'), 'B' => array('true_name', '真实姓名'), 'C' => array('phone', '联系电话'), 'D' => array('synopsis', '个人简介'), 'E' => array('create_at', '注册时间'), //'F' => array('headimg', '头像地址'), ); $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"); //输出到浏览器 } }