по нескольким полям (более 50),
И они явно все неуникальные.
Всего может типов 5 наберется(select/multiselect/string/number/range/datepicker) -> выносите каждый тип в компонент -> код уменьшается в несколько раз.
Чтобы нормально работать с данными берете vuex.
Из вашего большого кода убирается большая часть работы с состоянием, а не через миллион пропсов/data свойств.
Все фильтры соответсвенно тоже работают с vuex, а не через миллион пропсов/data свойств.
Чтобы фильтровать/сортировать данные возможно более лаконично будет выглядеть lodash какой-нибудь, хотя можно и нативно почти таким же количество кода всё это делать.
Этого достаточно чтобы уменьшить ваш код в несколько или больше раз.