Browse Source

Merge branch 'community_report_1201'

master
liangyuyan 5 years ago
parent
commit
1822817b53
  1. 8
      app/Admin/Actions/Tools/ReportCommunityExport.php
  2. 8
      app/Admin/Controllers/v3/ReportCommunityController.php
  3. 26
      app/Admin/Repositories/v3/ReportCommunity.php
  4. 30
      config/role.php

8
app/Admin/Actions/Tools/ReportCommunityExport.php

@ -33,6 +33,7 @@ class ReportCommunityExport extends AbstractTool
$storeId = $request->get('user_id',0); $storeId = $request->get('user_id',0);
$startTime = $request->get('start_time',''); $startTime = $request->get('start_time','');
$endTime = $request->get('end_time',''); $endTime = $request->get('end_time','');
$position = $request->get('position','');
if(empty($startTime) && empty($endTime)){ if(empty($startTime) && empty($endTime)){
return $this->response()->error('请先选择时间查询!'); return $this->response()->error('请先选择时间查询!');
} }
@ -52,10 +53,12 @@ class ReportCommunityExport extends AbstractTool
if(!empty($startTime)){ if(!empty($startTime)){
$url .= '&start_time='.$startTime; $url .= '&start_time='.$startTime;
} }
if(!empty($endTime)){ if(!empty($endTime)){
$url .= '&end_time='.$endTime; $url .= '&end_time='.$endTime;
} }
if(!empty($position)){
$url .= '&position='.$position;
}
return $this->response() return $this->response()
->success('导出中~') ->success('导出中~')
->redirect($url); ->redirect($url);
@ -68,7 +71,8 @@ class ReportCommunityExport extends AbstractTool
'market_id' => request()->input('market_id',0), 'market_id' => request()->input('market_id',0),
'user_id' => request()->input('user_id',0), 'user_id' => request()->input('user_id',0),
'start_time' => request()->input('start_time',''), 'start_time' => request()->input('start_time',''),
'end_time' => request()->input('end_time',''),
'end_time' => request()->input('end_time',''),
'position' => request()->input('position',''),
]; ];
} }
/** /**

8
app/Admin/Controllers/v3/ReportCommunityController.php

@ -73,6 +73,7 @@ class ReportCommunityController extends AdminController
$grid->column('plat_new_user_order_online_count','平台新增用户线上订单数'); $grid->column('plat_new_user_order_online_count','平台新增用户线上订单数');
$grid->filter(function (Filter $filter) use($marketList) { $grid->filter(function (Filter $filter) use($marketList) {
$positionList = config('role.select_show');
// 更改为 panel 布局 // 更改为 panel 布局
$filter->panel(); $filter->panel();
$filter->where('start_time',function(){ $filter->where('start_time',function(){
@ -81,10 +82,12 @@ class ReportCommunityController extends AdminController
$filter->equal('end_time','结束时间')->date()->width(2); $filter->equal('end_time','结束时间')->date()->width(2);
$filter->equal('user_id','懒ID')->placeholder('多个懒ID使用英文逗号隔开')->width(2); $filter->equal('user_id','懒ID')->placeholder('多个懒ID使用英文逗号隔开')->width(2);
$filter->equal('name','姓名')->width(2);
if(!$this->marketId){ if(!$this->marketId){
$filter->equal('market_id','市场')->select($marketList)->width(2); $filter->equal('market_id','市场')->select($marketList)->width(2);
} }
$filter->equal('name','姓名')->width(2);
$filter->in('position','职位')->select($positionList)->default(9)->width(2);
$filter->equal('status','状态')->select(EmployeesModel::$_STATUS)->width(2); $filter->equal('status','状态')->select(EmployeesModel::$_STATUS)->width(2);
}); });
@ -128,7 +131,7 @@ class ReportCommunityController extends AdminController
}else{ }else{
$this->tools[] = new ReportCommunityExport(); $this->tools[] = new ReportCommunityExport();
} }
return $content->title('社区代理点统计报表') return $content->title('社区代理点统计报表')
->body(function(Row $row){ ->body(function(Row $row){
$row->column(12,$this->grid()); $row->column(12,$this->grid());
@ -149,6 +152,7 @@ class ReportCommunityController extends AdminController
'user_id' => $request->input('user_id',null), 'user_id' => $request->input('user_id',null),
'start_time' => $request->input('start_time',null), 'start_time' => $request->input('start_time',null),
'end_time' => $request->input('end_time',null), 'end_time' => $request->input('end_time',null),
'position' => $request->input('position',null),
]; ];
$name = date('Y-m-d-His',time()); $name = date('Y-m-d-His',time());

26
app/Admin/Repositories/v3/ReportCommunity.php

@ -61,6 +61,7 @@ class ReportCommunity extends EloquentRepository
'user_id' => $params['user_id'] ?? request()->input('user_id', null), 'user_id' => $params['user_id'] ?? request()->input('user_id', null),
'market_id' => $params['market_id'] ?? request()->input('market_id',null), 'market_id' => $params['market_id'] ?? request()->input('market_id',null),
'name' => $params['name'] ?? request()->input('name',false), 'name' => $params['name'] ?? request()->input('name',false),
'position' => $params['position'] ?? request()->input('position',false),
]; ];
if(empty($startTime) && empty($endTime)){ if(empty($startTime) && empty($endTime)){
return []; return [];
@ -76,9 +77,10 @@ class ReportCommunity extends EloquentRepository
}else{ }else{
$endTime = $endTime . ' 23:59:59'; $endTime = $endTime . ' 23:59:59';
} }
// 获取懒族员工 // 获取懒族员工
$employeesData = $this->getEmployeesData($selectsEmp,$params); $employeesData = $this->getEmployeesData($selectsEmp,$params);
$employeesData->orderBy('id','desc'); $employeesData->orderBy('id','desc');
if($isPerPage){ if($isPerPage){
$employeeList = $employeesData->paginate($this->perPage); $employeeList = $employeesData->paginate($this->perPage);
@ -90,7 +92,7 @@ class ReportCommunity extends EloquentRepository
'data' => $list 'data' => $list
]; ];
} }
if(!isset($employeeList['data']) || count($employeeList['data']) <= 0 ) { if(!isset($employeeList['data']) || count($employeeList['data']) <= 0 ) {
return $employeeList; return $employeeList;
} }
@ -169,7 +171,8 @@ class ReportCommunity extends EloquentRepository
*/ */
public function getEmployeesData($selects, $params = []) public function getEmployeesData($selects, $params = [])
{ {
$departments = config('role.department_value');
$positions = explode(',', $departments[9]);
$model = Model::select(DB::raw($selects)); $model = Model::select(DB::raw($selects));
if(isset($params['status']) && is_numeric($params['status'])){ if(isset($params['status']) && is_numeric($params['status'])){
@ -185,6 +188,23 @@ class ReportCommunity extends EloquentRepository
if(isset($params['market_id']) && is_numeric($params['market_id'])){ if(isset($params['market_id']) && is_numeric($params['market_id'])){
$model->where('market_id', $params['market_id']); $model->where('market_id', $params['market_id']);
} }
if(!(isset($params['position']) && $params['position'] == 0)){
// $model->whereJsonContains('position', $positions);
$model->where(function ($query) use ($positions) {
foreach($positions as $key => $value){
if($key == 0){
$query->whereJsonContains('position', [$value]);
}else{
$query->orWhere(function ($query) use($value){
$query->whereJsonContains('position', $value);
});
}
}
});
}
return $model; return $model;
} }

30
config/role.php

@ -38,5 +38,35 @@ return [
29 => '骑手', 29 => '骑手',
30 => '服务专员', 30 => '服务专员',
],
'department_list' => [
0 => '全部',
1 => '总经办',
2 => '人力资源部',
3 => '金融投资部',
4 => '技术研发中心',
// 5 => '运营中心',
6 => '招商营销部',
7 => '策划部',
8 => '运维部',
9 => '市场部'
],
'department_value' => [
0 => '',
1 => '1,2',
2 => '3,27',
3 => '5,28',
4 => '4,8,14,19,20,21,22',
// 5 => '',
6 => '7,23',
7 => '15,17,18',
8 => '13,16,25',
9 => '9,10,11,12,26,29,30'
],
'select_show' => [
0 => '全部',
9 => '市场部'
] ]
]; ];
Loading…
Cancel
Save