param('id'); $type = $request->param('type'); if (!$request->isAjax()) { View::assign('type', $type); View::assign('id', $id); return View::fetch(); } $param = $request->param(); $condition = []; $order = isset($param['order']) ? $param['order'] : 'id desc'; setCondition($param, ['org', 'org_id'], '=', $condition); setCondition($param, ['employee', 'employee_id'], '=', $condition); setCondition($param, 'state', '=', $condition); setCondition($param, ['type', 'pipe_type'], '=', $condition); setCondition($param, ['id', 'pipe_id'], '=', $condition); $data = ClueLogic::list($condition, $param['page'], $param['limit'], $order); $count = ClueLogic::count($condition); //浏览时长 if ($data) { $uids = array_column($data->toArray(), 'uid'); $where[] = ['uid','in',$uids]; $where[] = ['pipe_type','=',$type]; $foots = Footprints::where($where)->whereRaw('reg_info->"$.id" = '. $param['id'])->order('id desc')->field('visit_due_time,uid,addtime')->select()->toArray(); $uids = []; foreach ($foots as $v) { $uids[$v['uid']] = $v; } foreach ($data as $k => &$v) { if (isset($uids[$v['uid']])) { $v['visit_due_time'] = $uids[$v['uid']]['visit_due_time'] ?: 0; $v['addtime'] = $uids[$v['uid']]['addtime']; }else{ $v['visit_due_time'] = 0; $v['addtime'] = ''; } } } return json(['code' => 0, 'data' => $data, 'count'=>$count]); } }