Модальное окно на vue.js в готовый проект на битрикс?
Мы используем Vue для реализации отдельных компонентов, в том числе и на "традиционных" сайтах.
Можно и с модальным окном (полноценным, с portal-vue и т.д.).  Упрощённый пример:import Vue from 'vue';
import Modal from '@/scripts/vue/components/Modal.vue';

// Находим элемент-компонент
// Скорее всего тут будет не id, а что-то вроде селектора по классу js-some-thing и т.д.
const el = document.getElementById('some-id');

// Создаём элемент для vue-компонента
// И помещаем его внутрь
// Не обязательно, но так удобно потом "прибираться"
const mountingPoint = document.createElement('div');
el.appendChild(mountingPoint);

// Создаём инстанс vue, монтируем его в наш элемент
let modal = new Vue({
  el: mountingPoint,
  render(h) {
    // А вот и модалка
    return h(Modal);
  },
});
Соответственно можно передавать props, вкладывать другие компоненты в модалку, изменять дата, слушать события и т.д. и т.п.
Подробнее про рендер-функции https://ru.vuejs.org/v2/guide/render-function.html
Когда нужно прибраться за собой:modal.$destroy();
  modal.$el.parentElement.removeChild(modal.$el);
  modal = null;
Как вариант - не совать целый фреймворк туда, где можно парой строк обычного жс обойтись для показа модального окна