Чисто vue решение:
Создаете json файл со списком шагов, полей, описываете в нем логику переходов.
При заходе на страницу, получаете этот файл, парсите, строите поля, прогрессбар и т.д.
Тут надо быть готовым к перезагрузке страницы, и возможно, сохранять промежуточные данные в localstorage например.