This commit is contained in:
xman 2025-05-31 14:14:29 +08:00
parent d8a8bcfb71
commit b482a351c1
5 changed files with 51 additions and 10676 deletions

View File

@ -50,7 +50,7 @@ class Dispatcher extends Backend
{
//$this->chart();
//$today = now()->sub('')->format('Y-m-d' );
$today = now()->sub(new \DateInterval('P7D'))->format('Y-m-d');
$today = now()->format('Y-m-01');
$today_end = now()->format('Y-m-d');
@ -59,7 +59,7 @@ class Dispatcher extends Backend
if (false === $this->request->isAjax()) {
$this->assign('daterange',$today.' - '.$today_end);
$this->assignconfig('default_daterange',now()->format('Y-m-d 00:00:00').' - '.now()->format('Y-m-d 23:59:59'));
$this->assignconfig('default_daterange',now()->format('Y-m-01 00:00:00').' - '.now()->format('Y-m-d 23:59:59'));
return $this->view->fetch();
}
@ -67,6 +67,14 @@ class Dispatcher extends Backend
$filter = $this->request->param('filter');
$filter = json_decode($filter,true);
$orderByData = [
'sort' => $this->request->get('sort','dispatch_admin_id'),
'order' => $this->request->get('order','desc')
];
$filter['orderBy'] = $orderByData;
if(!empty($filter['daterange'])){
$arr = explode(' - ',$filter['daterange']);
if(trim($arr[0])){
@ -77,11 +85,6 @@ class Dispatcher extends Backend
}
}
if(!empty($filter['admin_user'])){
$adminIds = Admin::where('username','like','%'.$filter['admin_user'].'%')->column('id');
$filter['admin_user_ids'] = $adminIds;
}
$list = $this->chart($filter,false);
$result = array("total" => $list->total(), "rows" => $list->items());
@ -147,8 +150,12 @@ class Dispatcher extends Backend
->field($fields);
//->where('dispatch_admin_id','>',0);
if(isset($filter['admin_user_ids'])){
$builder->whereIn('dispatch_admin_id',$filter['admin_user_ids']);
if(!empty($filter['orderBy'])){
$builder->order($filter['orderBy']['sort'],$filter['orderBy']['order']);
}
if(isset($filter['dispatch_admin_id'])){
$builder->whereIn('dispatch_admin_id',$filter['dispatch_admin_id']);
}
if(!empty($filter['start_time']) && !empty($filter['end_time'])){

View File

@ -312,6 +312,23 @@ class Worker extends Backend
$filter = $this->request->get("filter", '');
$op = $this->request->get("op", '', 'trim');
$sort = $this->request->get("sort", !empty($this->model) && $this->model->getPk() ? $this->model->getPk() : 'id');
$asortFields = ['dispatch_count','get_count','refuse_count','arrive_count'];
$bsortFields = ['finish_num','total','performance','refund_total','refund_count','cost'];
$csortFields = ['good_count'];
if(!empty($sort) ){
if(in_array($sort,$asortFields)){
$sort = 'a.'.$sort;
}
if(in_array($sort,$bsortFields)){
$sort = 'b.'.$sort;
}
if(in_array($sort,$csortFields)){
$sort = 'c.'.$sort;
}
}
$order = $this->request->get("order", "DESC");
$offset = max(0, $this->request->get("offset/d", 0));
$limit = max(0, $this->request->get("limit/d", 0));

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
table2.bootstrapTable({
url: 'statistics/dispatcher/index' + location.search,
toolbar: '#toolbar1',
sortName: 'id',
sortName: 'dispatch_admin_id',
search: false,
commonSearch:true,
visible: false,
@ -30,14 +30,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
[
//{field: 'id', title: __('Id')},
{field: 'id', title: __('ID'),visible:true,operate: false},
{field: 'admin_user', title: __('派单员'),operate: "LIKE"},
{field: 'count_num', title: __('总订单数'),operate: false},
{field: 'finish_num', title: __('完单数'),operate: false},
{field: 'total', title: __('成效额(¥)'), operate: false},
{field: 'performance', title: __('总业绩(¥)'), operate: false},
{field: 'cost_total', title: __('总成本(¥)'), operate: false},
{field: 'refund_total', title: __('退款金额(¥)'), operate: false},
{field: 'refund_count', title: __('退款单数'), operate: false},
{field: 'admin_user', title: __('派单员'),operate: false},
{field: 'count_num', title: __('总订单数'),operate: false,sortable:true},
{field: 'finish_num', title: __('完单数'),operate: false,sortable:true},
{field: 'total', title: __('成效额(¥)'), operate: false,sortable:true},
{field: 'performance', title: __('总业绩(¥)'), operate: false,sortable:true},
{field: 'cost_total', title: __('总成本(¥)'), operate: false,sortable:true},
{field: 'refund_total', title: __('退款金额(¥)'), operate: false,sortable:true},
{field: 'refund_count', title: __('退款单数'), operate: false,sortable:true},
{field: 'performance_rate', title: __('利润率(%)'), operate: false},
{field: 'trans_rate', title: __('转化率(%)'), operate: false},
@ -50,6 +50,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
//{field: 'admin_user', title: __('派单员'),operate: "LIKE",visible:false},
//{field: 'city_name', title: __('城市'),operate: "LIKE",visible:false},
//{field: 'city_name', title: __('城市'),operate: "LIKE",visible:false},
{field: 'dispatch_admin_id', title: __('派单员'), searchList:$.getJSON("orders/configorder/getadminuser"),operate: 'IN',visible:false},
{field: 'time_by', title: __('时间维度'), visible:false,searchList: {"1":__('录单时间'),"2":__('派单时间')},defaultValue:1, formatter: Table.api.formatter.normal},
{field: 'daterange', title: __('时间筛选'), addclass:'datetimerange',
autocomplete:false,

View File

@ -30,14 +30,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
[
//{field: 'id', title: __('Id')},
{field: 'id', title: __('ID'),visible:true},
{field: 'name', title: __('姓名'),operate: "="},
{field: 'tel', title: __('电话'),operate: "="},
{field: 'name', title: __('姓名'),operate: "like"},
{field: 'tel', title: __('电话'),operate: "like"},
{field: 'area2.name', title: __('城市'),operate: false},
{field: 'star', title: __('评分'),operate: false},
{field: 'performance', title: __('总业绩(¥)'), operate: false},
{field: 'get_count', title: __('接单数'),operate: false},
{field: 'finish_num', title: __('完单数'),operate: false},
{field: 'cost', title: __('收入(¥)'), operate: false},
{field: 'get_count', title: __('接单数'),operate: false,sortable:true},
{field: 'finish_num', title: __('完单数'),operate: false,sortable:true},
{field: 'cost', title: __('收入(¥)'), operate: false,sortable:true},
{field: 'performance_rate', title: __('利润率(%)'), operate: false},
{field: 'trans_rate', title: __('转化率(%)'), operate: false},
{field: 'cash_value', title: __('变现值'), operate: false},
@ -46,7 +46,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
{field: 'good_rate', title: __('好评率(%)'), operate: false},
//{field: 'refund_total', title: __('退款金额(¥)'), operate: false},
{field: 'refund_count', title: __('退款单数'), operate: false},
{field: 'refund_count', title: __('退款单数'), operate: false,sortable:true},
{field: 'avg_time_diff', title: __('联系时效(小时)'), operate: false},