Очень странный код в .filter находится
По сути проходя каждый элемент - каждый раз проверяется опять ВЕСЬ СПИСОК и даже фильтрует, но всё равно каждый раз возвращает или елемент который был, или елемент которые нашёлся, поэтому в итоге получается тот же массив.
Скорее нужно как-то так
return this.items
...
.filter((item) => {
return
item.name.toLowerCase().indexOf(this.filterItems.name) > -1 ||
item.last_name.toLowerCase().indexOf(this.filterItems.last_name ) > -1 ||
// и остальные так же; Этот код ищет в имени символы с поисковой строки
});
Или лучше было бы переделать через pipes воообще