common.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. use think\Db;
  3. /**
  4. * 导出excel文件
  5. */
  6. function phpExcelListNew($field=[],$list=[],$title='文件'){
  7. $PHPExcel=new \PHPExcel();
  8. $PHPSheet=$PHPExcel->getActiveSheet();
  9. $PHPSheet->setTitle('demo'); //给当前活动sheet设置名称
  10. foreach($list as $key=>$value)
  11. {
  12. foreach($field as $k=>$v){
  13. if($key == 0){
  14. $PHPSheet= $PHPExcel->getActiveSheet()->setCellValue($k.'1',$v[1]);
  15. }
  16. $i=$key+2;
  17. $PHPExcel->getActiveSheet()->setCellValue($k . $i, $value[$v[0]]);
  18. }
  19. }
  20. $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007'); //按照指定格式生成Excel文件,
  21. header('Content-Type: application/vnd.ms-excel'); // 告诉浏览器生成一个excel05版的表格
  22. header("Content-Disposition: attachment;filename={$title}.xls"); //告诉浏览器输出文件的名称
  23. header('Cache-Control: max-age=0'); //禁止缓存
  24. $PHPWriter->save("php://output"); //输出到浏览器
  25. }
  26. /*
  27. * 活动状态
  28. */
  29. function av_status($id){
  30. //1活动未开始、2活动报名中、3报名已满、4报名结束、5活动进中、6活动结束
  31. $avtivity = Db::name('store_activity')->where('id',$id)->field('av_statime,av_endtime,sig_statime,sig_endtime,av_number')->find();
  32. $sing = Db::name('store_activity_sing')->where('a_id',$id)->count();
  33. $av_statime = strtotime($avtivity['av_statime']);
  34. $av_endtime = strtotime($avtivity['av_endtime']);
  35. $sig_statime = strtotime($avtivity['sig_statime']);
  36. $sig_endtime = strtotime($avtivity['sig_endtime']);
  37. $time = time();
  38. if($av_statime>$time){
  39. $status = 1;
  40. }
  41. if($av_statime<$time&&$av_endtime>$time){
  42. $status = 5;
  43. }
  44. if($av_statime<$time&&$sig_statime<$time){
  45. $status = 2;
  46. }
  47. if($av_statime<$time&&$sig_statime<$time&&$avtivity['av_number']<$sing){
  48. $status = 3;
  49. }
  50. if($av_statime<$time&&$sig_endtime<$time){
  51. $status = 4;
  52. }
  53. if($av_endtime<$time){
  54. $status = 6;
  55. }
  56. Db::name('store_activity')->where('id',$id)->update(['status'=>$status]);
  57. return $status;
  58. }