Сделайте dashboard как отдельное приложение. Будет просто удобнее . Меньше проблем с уровнями доступа, меньше путаницы с апи и т.д. Нет пересечения стилей.
То как вы пытаетесь решить задачу - больше похоже на jQuery, нежели на vue.
Вот тут показано как получать позицию курсора: https://codepen.io/martinandersen3d/pen/eeKZGb
Далее можете создать computed свойство, которое возвращает объект со стилем, который будет задавать позицию нужного вам объекта. Ну и соответственно биндите этот объект на ваш див(:style="objectWithPosition"). Думаю с css все понятно будет.
Проблема решена.
Моя ошибка была в инициализации стора прямо в _app.js
Я сделал инициализацию стора в отдельном файле в export default, таким образом теперь я просто импортирую стор из этого файла и получаю доступ к state без проблем.
Берешь функцию, которая описывает нужную тебе кривую и ищешь координаты равномерно распределенных точек(количество объектов) на этой кривой, кладешь их в массив и расставляешь элементы через js редактируя inline стили.
https://vuetifyjs.com - лучшее что есть на данный момент.
Сегодня как раз 2.0 версия релизнулась, а там md 2.0 и куча других фишек. Сам долго использую этот инструмент.
С nuxt дружит отлично, там в nuxt'e даже стандартный пресет есть с vuetify.
border по конкретным краям можно сделать при помощи атрибутов border-right, border-left, border-bottom, border-top. Градиент же можно задать при помощи border-image: linear-gradient(...)
Также можешь попробовать через псевдо-элементы.
А вообще, не проще ли сделать такую картинку в графическом редакторе? Или вам такой border для других целей нужен?