dataRange() ->catchSearch() ->append(['type_text','rfid_type_text','state_text','timeRange','stations','bw_names','creator']) ->order($this->aliasField('id'), 'desc') ->paginate(); return $res; } //根据姓名搜索 public function searchNameAttr($query, $value, $data) { return $query->where('name', 'like', '%' . $value . '%'); } public function getCreatorAttr($value){ $val= $this->getData('creator_id'); return Db::table('users')->where('id',$val)->value('realname'); } public function getTimeRangeAttr($value){ $start_time = $this->getData('start_time'); $end_time = $this->getData('end_time'); return [date('Y-m-d H:i:s',$start_time),date('Y-m-d H:i:s',$end_time)]; } public function getStateTextAttr($value){ $state = $this->getData('state'); return (new SysDictData())->getValueByCode('ControlStateEnum', $state) ?: ''; } public function getStationsAttr($value){ $obj = $this->getData('control_obj'); return $obj; } public function getBwNamesAttr($value){ $ids = $this->getData('bw_ids'); $idArr=explode(',',$ids); $name=''; foreach($idArr as $val){ $name.=','.Db::table('bw_list')->where('id',$val)->value('name'); } return trim($name,','); } public function getTypeTextAttr($value){ $type = $this->getData('type'); if($type=='1'){ return '车辆布控'; }elseif($type=='2'){ return '区域布控'; }else{ return '未知'; } } public function getStartTimeAttr($value){ return $value?date('Y-m-d H:i:s',$value):''; } public function getEndTimeAttr($value){ return $value?date('Y-m-d H:i:s',$value):''; } }