|
@@ -31,7 +31,7 @@ class OrderController extends Controller
|
31
|
31
|
$offset = ($page-1) * $pageSize;
|
32
|
32
|
|
33
|
33
|
$self_role = session('role_name');
|
34
|
|
- if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '管理员'){
|
|
34
|
+ if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '管理员' || $self_role == '售后管理员'){
|
35
|
35
|
$admin_id = $request->input('admin_id');
|
36
|
36
|
$search_admin = 1;
|
37
|
37
|
}else{
|
|
@@ -41,7 +41,7 @@ class OrderController extends Controller
|
41
|
41
|
|
42
|
42
|
$team_id = $request->input('team_id');
|
43
|
43
|
#只能看自己团队的
|
44
|
|
- if($self_role != '超级管理员'){
|
|
44
|
+ if($self_role != '超级管理员' && $self_role != '售后管理员'){
|
45
|
45
|
$self_id = session('admin_id');
|
46
|
46
|
$team_id = DB::table('admin')->where('id', $self_id)->pluck('team_id');
|
47
|
47
|
}
|
|
@@ -225,6 +225,133 @@ class OrderController extends Controller
|
225
|
225
|
}
|
226
|
226
|
|
227
|
227
|
/**
|
|
228
|
+ * 预售订单列表
|
|
229
|
+ */
|
|
230
|
+ public function predictOrder(Request $request){
|
|
231
|
+ $page = (int)$request->input('page');
|
|
232
|
+ $pageSize = 20;
|
|
233
|
+ if($page<=0){
|
|
234
|
+ $page = 1;
|
|
235
|
+ }
|
|
236
|
+
|
|
237
|
+ $offset = ($page-1) * $pageSize;
|
|
238
|
+
|
|
239
|
+ $self_role = session('role_name');
|
|
240
|
+ if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '管理员' || $self_role == '售后管理员'){
|
|
241
|
+ $admin_id = $request->input('admin_id');
|
|
242
|
+ $search_admin = 1;
|
|
243
|
+ }else{
|
|
244
|
+ $admin_id = session('admin_id');
|
|
245
|
+ $search_admin = 0;
|
|
246
|
+ }
|
|
247
|
+
|
|
248
|
+ $team_id = $request->input('team_id');
|
|
249
|
+ #只能看自己团队的
|
|
250
|
+ if($self_role != '超级管理员' && $self_role != '售后管理员'){
|
|
251
|
+ $self_id = session('admin_id');
|
|
252
|
+ $team_id = DB::table('admin')->where('id', $self_id)->pluck('team_id');
|
|
253
|
+ }
|
|
254
|
+
|
|
255
|
+ //假如有团队筛选,检索销售队员
|
|
256
|
+ $sale_ids = null;
|
|
257
|
+ if($team_id>0){
|
|
258
|
+ $sale_ids = DB::table('admin')->where('team_id', $team_id)->lists('id');
|
|
259
|
+ }
|
|
260
|
+
|
|
261
|
+ $stime = $request->input('stime');
|
|
262
|
+ $etime = $request->input('etime');
|
|
263
|
+ $receiverName = trim($request->input('receiverName'));
|
|
264
|
+ $receiverMobile = trim($request->input('receiverMobile'));
|
|
265
|
+ $status = $request->input('status');
|
|
266
|
+ if($status === null){
|
|
267
|
+ $status = -1;
|
|
268
|
+ }
|
|
269
|
+
|
|
270
|
+ //预售逻辑 -> 预发货时间大于下单时间
|
|
271
|
+ $count = Order::where(function($query) use($admin_id, $stime, $etime, $receiverName, $receiverMobile, $self_role, $sale_ids, $status){
|
|
272
|
+ if($admin_id) $query->where('admin_id', $admin_id);
|
|
273
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
274
|
+ if($etime) $query->where('createTime', '<=', $etime);
|
|
275
|
+ if($receiverName) $query->where('receiverName', 'like', $receiverName . '%');
|
|
276
|
+ if($receiverMobile) $query->where('receiverMobile', $receiverMobile);
|
|
277
|
+ if($self_role == '管理员') $query->where('status','>',0);
|
|
278
|
+ if(!empty($sale_ids)) $query->whereIn('admin_id', $sale_ids);
|
|
279
|
+ if(($status>=0)) $query->where('status', $status);
|
|
280
|
+ })->where('is_del',0)->where(DB::raw('delivery_date>createTime'))->count();
|
|
281
|
+ if ($count > 1) {
|
|
282
|
+ // 总页数
|
|
283
|
+ $pages = ceil($count/$pageSize);
|
|
284
|
+ }else{
|
|
285
|
+ // 总页数
|
|
286
|
+ $pages = 1;
|
|
287
|
+ }
|
|
288
|
+
|
|
289
|
+ $result = Order::where(function($query) use($admin_id, $stime, $etime, $receiverName, $receiverMobile, $self_role, $sale_ids, $status){
|
|
290
|
+ if($admin_id) $query->where('admin_id', $admin_id);
|
|
291
|
+ if($stime) $query->where('createTime', '>=', $stime);
|
|
292
|
+ if($etime) $query->where('createTime', '<=', $etime);
|
|
293
|
+ if($receiverName) $query->where('receiverName', 'like', $receiverName . '%');
|
|
294
|
+ if($receiverMobile) $query->where('receiverMobile', $receiverMobile);
|
|
295
|
+ if($self_role == '管理员') $query->where('status','>',0);
|
|
296
|
+ if(!empty($sale_ids)) $query->whereIn('admin_id', $sale_ids);
|
|
297
|
+ if(($status>=0)) $query->where('status', $status);
|
|
298
|
+ })->where('is_del',0)->orderBy('id', 'desc')->offset($offset)->limit($pageSize)->get();
|
|
299
|
+ $result = json_decode(json_encode($result),true);
|
|
300
|
+
|
|
301
|
+ $status_arr = array(
|
|
302
|
+ 0 => '已录入',
|
|
303
|
+ 1 => '待审核',
|
|
304
|
+ 2 => '已审核',
|
|
305
|
+ 3 => '已发货',
|
|
306
|
+ );
|
|
307
|
+ foreach($result as $k=>&$v){
|
|
308
|
+ /*
|
|
309
|
+ //获取商品信息
|
|
310
|
+ $v['goods'] = '';
|
|
311
|
+ $goods = DB::table('order_goods')->where('outerParentCode', $v['outerCode'])->get();
|
|
312
|
+ foreach($goods as $item){
|
|
313
|
+ $v['goods'][] = $item->goodsName.' 单价:¥'.$item->price.' 件数:'.$item->quantity.'';
|
|
314
|
+ }
|
|
315
|
+ */
|
|
316
|
+ #加粉时间
|
|
317
|
+ $fanTime = DB::table('customers')->select('fanTime')->where('phone', $v['receiverMobile'])->first();
|
|
318
|
+ $v['fanTime'] = isset($fanTime->fanTime) ? $fanTime->fanTime : '';
|
|
319
|
+ $v['receiverMobile'] = substr($v['receiverMobile'], 0, 3).'****'.substr($v['receiverMobile'], 7);
|
|
320
|
+
|
|
321
|
+ #获取状态机
|
|
322
|
+ if($self_role == '销售' && !in_array($v['status'], [0]) ){
|
|
323
|
+ $v['enable_status'] = [];
|
|
324
|
+ }else{
|
|
325
|
+ $v['enable_status'] = $this->getEnableStatus($v['status']);
|
|
326
|
+ }
|
|
327
|
+
|
|
328
|
+ $v['status_name'] = $status_arr[$v['status']];
|
|
329
|
+ }
|
|
330
|
+
|
|
331
|
+ #销售筛选
|
|
332
|
+ $saler_ids = DB::table('admin_role')->where('role_name', '销售')->lists('user_id');
|
|
333
|
+ $adminList = DB::table('admin')->select('id', 'realname', 'username')->whereIn('id', $saler_ids)->where(function($query) use($team_id){
|
|
334
|
+ if($team_id>0) $query->where('team_id', $team_id);
|
|
335
|
+ })->where('id','>', 1)->get();
|
|
336
|
+ $adminList = json_decode(json_encode($adminList), true);
|
|
337
|
+ return view('order/orderlist', ['result' =>$result,
|
|
338
|
+ 'page' =>$page,
|
|
339
|
+ 'count' =>$count,
|
|
340
|
+ 'pages' =>$pages,
|
|
341
|
+ 'admin_id' =>$admin_id,
|
|
342
|
+ 'team_id' =>$team_id,
|
|
343
|
+ 'stime' =>$stime,
|
|
344
|
+ 'etime' =>$etime,
|
|
345
|
+ 'adminlist' =>$adminList,
|
|
346
|
+ 'search_admin' =>$search_admin,
|
|
347
|
+ 'self_role' =>$self_role,
|
|
348
|
+ 'receiverName' =>$receiverName,
|
|
349
|
+ 'receiverMobile' =>$receiverMobile,
|
|
350
|
+ 'status' =>$status,
|
|
351
|
+ ]);
|
|
352
|
+ }
|
|
353
|
+
|
|
354
|
+ /**
|
228
|
355
|
* 添加订单
|
229
|
356
|
* @return \Illuminate\View\View
|
230
|
357
|
*/
|
|
@@ -667,7 +794,7 @@ class OrderController extends Controller
|
667
|
794
|
public function order_export(Request $request){
|
668
|
795
|
|
669
|
796
|
$self_role = session('role_name');
|
670
|
|
- if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '管理员' || $self_role == 'A仓库管理员' || $self_role == 'B仓库管理员'){
|
|
797
|
+ if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '管理员' || $self_role == 'A仓库管理员' || $self_role == 'B仓库管理员' || $self_role == '售后管理员'){
|
671
|
798
|
$admin_id = $request->input('admin_id');
|
672
|
799
|
}else{
|
673
|
800
|
$admin_id = session('admin_id');
|
|
@@ -688,7 +815,7 @@ class OrderController extends Controller
|
688
|
815
|
|
689
|
816
|
$team_id = $request->input('team_id');
|
690
|
817
|
#只能看自己团队的
|
691
|
|
- if($self_role != '超级管理员'){
|
|
818
|
+ if($self_role != '超级管理员' && $self_role != '售后管理员'){
|
692
|
819
|
$admin_id = session('admin_id');
|
693
|
820
|
$team_id = DB::table('admin')->where('id', $admin_id)->pluck('team_id');
|
694
|
821
|
}
|