浏览代码

售后管理员

sunhao 5 年之前
父节点
当前提交
fe07fa6e4b
共有 2 个文件被更改,包括 134 次插入7 次删除
  1. 3 3
      app/Http/Controllers/Admin/CustReportController.php
  2. 131 4
      app/Http/Controllers/Admin/OrderController.php

+ 3 - 3
app/Http/Controllers/Admin/CustReportController.php

@@ -211,7 +211,7 @@ class custReportController extends Controller
211 211
     public function total_export(Request $request){
212 212
         
213 213
         $self_role = session('role_name');
214
-        if($self_role == '超级管理员' || $self_role == '团队主管'){
214
+        if($self_role == '超级管理员' || $self_role == '团队主管'  || $self_role == '售后管理员'){
215 215
             $admin_id = $request->input('admin_id');
216 216
         }else{
217 217
             $admin_id = session('admin_id');
@@ -323,7 +323,7 @@ class custReportController extends Controller
323 323
         $offset = ($page-1) * $pageSize;
324 324
         
325 325
         $self_role = session('role_name');
326
-        if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '运营投放'){
326
+        if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '运营投放'  || $self_role == '售后管理员'){
327 327
             $admin_id = $request->input('admin_id');
328 328
             $search_admin = 1;
329 329
         }else{
@@ -543,7 +543,7 @@ class custReportController extends Controller
543 543
     public function detail_export(Request $request){
544 544
         
545 545
         $self_role = session('role_name');
546
-        if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '运营投放'){
546
+        if($self_role == '超级管理员' || $self_role == '团队主管' || $self_role == '运营投放'  || $self_role == '售后管理员'){
547 547
             $admin_id = $request->input('admin_id');
548 548
         }else{
549 549
             $admin_id = session('admin_id');

+ 131 - 4
app/Http/Controllers/Admin/OrderController.php

@@ -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.'&nbsp; 单价:¥'.$item->price.'&nbsp; 件数:'.$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
         }