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);
$startTime = $request->get('start_time','');
$endTime = $request->get('end_time','');
$position = $request->get('position','');
if(empty($startTime) && empty($endTime)){
return $this->response()->error('请先选择时间查询!');
}
@ -52,10 +53,12 @@ class ReportCommunityExport extends AbstractTool
if(!empty($startTime)){
$url .= '&start_time='.$startTime;
}
if(!empty($endTime)){
$url .= '&end_time='.$endTime;
}
if(!empty($position)){
$url .= '&position='.$position;
}
return $this->response()
->success('导出中~')
->redirect($url);
@ -68,7 +71,8 @@ class ReportCommunityExport extends AbstractTool
'market_id' => request()->input('market_id',0),
'user_id' => request()->input('user_id',0),
'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->filter(function (Filter $filter) use($marketList) {
$positionList = config('role.select_show');
// 更改为 panel 布局
$filter->panel();
$filter->where('start_time',function(){
@ -81,10 +82,12 @@ class ReportCommunityController extends AdminController
$filter->equal('end_time','结束时间')->date()->width(2);
$filter->equal('user_id','懒ID')->placeholder('多个懒ID使用英文逗号隔开')->width(2);
$filter->equal('name','姓名')->width(2);
if(!$this->marketId){
$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);
});
@ -128,7 +131,7 @@ class ReportCommunityController extends AdminController
}else{
$this->tools[] = new ReportCommunityExport();
}
return $content->title('社区代理点统计报表')
->body(function(Row $row){
$row->column(12,$this->grid());
@ -149,6 +152,7 @@ class ReportCommunityController extends AdminController
'user_id' => $request->input('user_id',null),
'start_time' => $request->input('start_time',null),
'end_time' => $request->input('end_time',null),
'position' => $request->input('position',null),
];
$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),
'market_id' => $params['market_id'] ?? request()->input('market_id',null),
'name' => $params['name'] ?? request()->input('name',false),
'position' => $params['position'] ?? request()->input('position',false),
];
if(empty($startTime) && empty($endTime)){
return [];
@ -76,9 +77,10 @@ class ReportCommunity extends EloquentRepository
}else{
$endTime = $endTime . ' 23:59:59';
}
// 获取懒族员工
$employeesData = $this->getEmployeesData($selectsEmp,$params);
$employeesData->orderBy('id','desc');
if($isPerPage){
$employeeList = $employeesData->paginate($this->perPage);
@ -90,7 +92,7 @@ class ReportCommunity extends EloquentRepository
'data' => $list
];
}
if(!isset($employeeList['data']) || count($employeeList['data']) <= 0 ) {
return $employeeList;
}
@ -169,7 +171,8 @@ class ReportCommunity extends EloquentRepository
*/
public function getEmployeesData($selects, $params = [])
{
$departments = config('role.department_value');
$positions = explode(',', $departments[9]);
$model = Model::select(DB::raw($selects));
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'])){
$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;
}

30
config/role.php

@ -38,5 +38,35 @@ return [
29 => '骑手',
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