params = $params; } public function headings(): array { $startTime = $this->params['start_time'] ?? null; $endTime = $this->params['end_time'] ?? null; $nowDay = date('Y年m月d日', time()); if(empty($startTime)){ $startTime = '2020年7月1日'; }else if(empty($endTime)){ $endTime = $nowDay; } return [ '统计时间:'.$startTime.' 至 '.$endTime ]; } public function styles(Worksheet $sheet) { $sheet->mergeCells('A1:H1');// 合并 $sheet->getRowDimension(1)->setRowHeight(40); // 行高 $sheet->getRowDimension(2)->setRowHeight(25); // 行高 $sheet->getStyle('A1:H1')->getAlignment()->setVertical('center');// 垂直居中 $sheet->getStyle('A1:H1')->getAlignment()->setHorizontal('center');// 水平居中 $sheet->getStyle('A2:H2')->getAlignment()->setVertical('center');// 垂直居中 return [ 1 => ['font' => ['bold' => true,'size' => 18, 'name' => '微软雅黑 Light']], 2 => ['font' => ['bold' => true,'size' => 12, 'name' => '微软雅黑 Light']], ]; } public function array(): array { $result = [[ '市场', '懒ID', '姓名', '新拓展代理点数', '新增绑定用户数', '平台新增用户数', '绑定用户线上订单总数', '平台新增用户线上订单数' ]]; $data = $this->getData($this->params); $markets = MarketModel::getMarketArray(); foreach ($data['data'] as $value){ $item = [ $markets[$value['market_id']] ?? '', $value['user_id'] ?? 0, $value['name'] ?? '', $value['new_cs_count'] ?? 0, $value['new_bind_user_count'] ?? 0, $value['plat_new_user_count'] ?? 0, $value['bound_order_online_count'] ?? 0, $value['plat_new_user_order_online_count'] ?? 0, ]; $result[] = $item; } return $result; } /** * 获取数据 */ public function getData($option = []) { $params = $option; $repository = new ReportCommunityRepository(); $selects = 'id,user_id,market_id,name'; $data = $repository->getDataModel($selects,$params,false); return $data; } /** * sheet 表名称 * @return string */ public function title(): string { return '统计'; } }