From ccf194ed8a58eae4fafa071a2c32da7225d1cab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 17 May 2026 15:24:51 +0300 Subject: [PATCH] =?UTF-8?q?feat(deals):=20DealsTable=20=E2=80=94=20lead-re?= =?UTF-8?q?gistry=20columns=20(=D0=A2=D0=B5=D0=BB=D0=B5=D1=84=D0=BE=D0=BD/?= =?UTF-8?q?=D0=98=D1=81=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D0=BA/=D0=93=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B4/=D0=A1=D1=82=D0=B0=D1=82=D1=83=D1=81/=D0=9D?= =?UTF-8?q?=D0=B0=D0=BF=D0=BE=D0=BC=D0=B8=D0=BD=D0=B0=D0=BD=D0=B8=D0=B5/?= =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8?= =?UTF-8?q?=D0=B9/=D0=9F=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/components/deals/DealsTable.vue | 156 ++++++++---------- app/tests/Frontend/DealsTable.spec.ts | 71 ++++---- 2 files changed, 105 insertions(+), 122 deletions(-) diff --git a/app/resources/js/components/deals/DealsTable.vue b/app/resources/js/components/deals/DealsTable.vue index 27afbf0d..ed0872c7 100644 --- a/app/resources/js/components/deals/DealsTable.vue +++ b/app/resources/js/components/deals/DealsTable.vue @@ -1,32 +1,21 @@ @@ -55,72 +48,61 @@ function formatCost(cost: number): string { :model-value="selectedIds" :items="deals" :headers="[ - { title: 'Лид', key: 'name', sortable: true }, + { title: 'Телефон', key: 'phone', sortable: true }, + { title: 'Источник', key: 'project', sortable: false }, + { title: 'Город', key: 'city', sortable: false }, { title: 'Статус', key: 'statusSlug', sortable: false }, - { title: 'Проект', key: 'project', sortable: false }, - { title: 'Менеджер', key: 'manager', sortable: false }, - { title: 'Стоимость', key: 'cost', align: 'end', sortable: true }, - { title: 'Время', key: 'receivedMinutesAgo', align: 'end', sortable: true }, + { title: 'Напоминание', key: 'nextReminderAt', sortable: true }, + { title: 'Комментарий', key: 'comment', sortable: false }, + { title: 'Поставлен', key: 'receivedAt', align: 'end', sortable: true }, ]" show-select item-value="id" items-per-page="-1" hide-default-footer hover - :density="rowHeight && rowHeight < 40 ? 'compact' : 'comfortable'" - :row-props="() => ({ class: 'ld-hover-lift ld-stagger-row', style: { height: rowHeight + 'px' } })" - @update:model-value="onSelectedUpdate" + :row-props="(p: { item: MockDeal }) => rowProps(p.item)" + @update:model-value="(v: number[]) => emit('update:selectedIds', v)" @click:row="(_e: Event, { item }: { item: MockDeal }) => emit('row-click', item)" > - -