1) Подрубаем в контекст vue плагин
current-device. Я рекомендую его добавлять в прототип Vue. Через Vue install чтоб он всегда был под рукой. Если не шаришь, погугли чёт типа creating plugin Vue.install - там всё просто.
2) Создаём отдельно табы, отдельно аккордеоны. У них должна быть одинаковая модель данных само собой.
3) Создаём обёртку табокордеонов, И под рутом ставим
<template v-if='$device.desktop()'><tabs.../></template>
<template v-else><accordions.../></template>
Вуаля. В зависимости от юзерагента вью зарендерит модель в нужном представлении