dataRange() ->catchSearch() ->append(['device_type_name', 'creator_name', 'fan_model_name']) ->order($this->aliasField('id'), 'desc') ->paginate(); return $res; } /** * 名称搜索 */ public function searchNameAttr($query, $value, $data) { return $query->where('name', 'like', '%' . $value . '%'); } /** * 设备类型搜索 */ public function searchDeviceTypeAttr($query, $value, $data) { return $query->where('device_type', '=', $value); } /** * 设备类型名称 */ public function getDeviceTypeNameAttr() { $value = $this->getData('device_type'); return (new SysDictData())->getValueByCode('Maintenance', $value) ?: ''; } public function getFanModelAttr() { $value = $this->getData('fan_model'); return $value ? intval($value) : null; } public function getFanModelNameAttr() { $value = $this->getData('fan_model'); $where[] = ['device_type', '=', 4]; $where[] = ['id', '=', $value]; $name = Db::name('device_mold')->where($where)->value('name'); return $name; } //下发数据 工作部件/工作位置 public function addContent(&$obj) { //var_dump($obj); $data = null; $content = null; if ($obj->device_type == 1) { $data = [ 'id' => $obj->id, 'name' => $obj['name'], ]; $content['data'] = $data; $content['type'] = 'WorkingParts'; } else if ($obj->device_type == 2) { $fmodel = Db::name('device_mold')->where('id', $obj->fan_model)->value('name'); $parts = $this->where('device_type', 1)->where('value', $obj->parts)->value('name'); $data = [ 'id' => $obj->id, 'fmodel' => $fmodel ? $fmodel : '', 'name' => $obj['name'], 'Parts' => $parts ? $parts : '' ]; $content['data'] = $data; $content['type'] = 'WorkingPosition'; } else { $content['is_filter'] = true; } return $content; } }