dataRange() ->catchSearch() ->append(['depart_name', 'alarm_state_text','creator_user','model_name']) ->order($this->aliasField('id'), 'desc') ->paginate(); return $res; } /** * 获取轨迹地图列表定位不分页 只查询有定位时间的 */ public function queryLocationList() { $res = $this->dataRange() ->catchSearch() ->select(); return $res; } /** * 获取导入用户(文本) */ public function getCreatorUserAttr($value) { $uid = $this->creator_id; return Db::table('users')->where('id', $uid)->value('username') ?: ''; } /** * 使用状态 */ public function getIsUsedAttr($value) { if($value!=0){ return true; }else{ return false; } } /** * 获取部门名称(文本) */ public function getDepartNameAttr() { $id = $this->getData('department_id'); return Db::table('departments')->where('id', $id)->value('department_name'); } /** * 获取类型名称 */ public function getModelAttr($value) { return (int)$value; } /** * 获取类型名称 */ public function getModelNameAttr() { $id = $this->getData('model'); return Db::table('device_mold')->where('id', $id)->value('name'); } /** * 获取部门名称(文本) */ public function getOnlineTimeAttr($value) { if($value){ return date('Y-m-d H:i:s',$value); }else{ return '-'; } } /** * 获取告警状态文本 */ public function getAlarmStateTextAttr($value) { $alarm_state = $this->getData('alarm_state'); return $alarm_state ? '告警' : '正常'; } /** * 根据部门搜索 */ public function searchDepartmentIdAttr($query, $value, $data) { if ($value) { $id = end($value); return $query->where('department_id', '=', $id); } } /** * 根据number搜索 */ public function searchNumberAttr($query, $value, $data) { return $query->where('number', 'like', '%'.$value.'%'); } /** * 根据name搜索 */ public function searchNameAttr($query, $value, $data) { return $query->where('name', 'like', '%'.$value.'%'); } /** * 根据model搜索 */ public function searchModelAttr($query, $value, $data) { return $query->where('model', 'like', '%'.$value.'%'); } /** * 根据name搜索 */ public function searchIsUsedAttr($query, $value, $data) { return $query->where('is_used', $value); } }