Files
portal/app/resources/js/components/common/ResponsiveTable.vue
T
Дмитрий dc64226ec3 fix(portal): карточки вместо таблицы на планшете-портрете (Сделки/Списания)
Широкая таблица (7 колонок) не влезала в узкую колонку планшета рядом с
rail-меню — правые колонки «Комментарий»/«Поставлен» обрезались на 600–1279px.
ResponsiveTable теперь показывает карточки на телефоне И планшете, таблицу —
только на десктопе (>=1280). Тесты табличного слоя зафиксированы на десктоп-ширину.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 18:57:07 +03:00

25 lines
1.1 KiB
Vue

<script setup lang="ts">
/**
* Обёртка: десктоп (>=1280) — слот #table (обычный v-data-table),
* телефон и планшет (<1280) — слот #card (список карточек по каждому item).
* Широкие таблицы (Сделки/Списания) не влезают в узкую колонку планшета-портрета
* рядом с rail-меню — правые колонки обрезались, поэтому на планшете тоже карточки.
* Данные прокидываются через слот-пропсы, чтобы вызывающий сам рисовал карточку.
*/
import { useLayoutTier } from '../../composables/useLayoutTier';
defineProps<{ items: unknown[] }>();
const { isDesktop } = useLayoutTier();
</script>
<template>
<div>
<template v-if="isDesktop">
<slot name="table" :items="items" />
</template>
<template v-else>
<slot name="card" :items="items" />
</template>
</div>
</template>