From 068a41769588f1b52ce44882843a709527eb664a Mon Sep 17 00:00:00 2001 From: developer Date: Wed, 29 Apr 2026 16:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=83=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=D0=B2=D0=BE=D1=80=D0=BE=D0=B2:=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B2=D0=B5=D0=BB=20=D1=81=D1=82=D0=BE=D0=BB=D0=B1=D1=86=D1=8B?= =?UTF-8?q?,=20=D0=BF=D0=B5=D1=80=D0=B5=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=81=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=BA=D1=83=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../livewire/clients-table.blade copy.php | 187 +++++++++++ .../views/livewire/clients-table.blade.php | 292 +++++++++--------- resources/views/user/dashboard.blade.php | 4 +- 3 files changed, 332 insertions(+), 151 deletions(-) create mode 100644 resources/views/livewire/clients-table.blade copy.php diff --git a/resources/views/livewire/clients-table.blade copy.php b/resources/views/livewire/clients-table.blade copy.php new file mode 100644 index 0000000..30ed5b2 --- /dev/null +++ b/resources/views/livewire/clients-table.blade copy.php @@ -0,0 +1,187 @@ +
+
+
+ Loading... +
+
+
+ @if ($clients->count() == 0) +
Нет данных для отображения
+ @endif +
+ @foreach ($clients as $client) + deals(); + if (array_key_exists('status', $filter)) { + $clientDeals->where('status', $filter['status']); + } + + if (array_key_exists('complexes', $filter)) { + $complexes = []; + foreach ($filter['complexes'] as $selectedComplex) { + $complexes[] = $selectedComplex['id']; + } + $clientDeals->whereIn('complex_id', $complexes); + } + //echo 'cId:' . $client->id; + foreach ($clientDeals->get() as $deal) { + //echo 'dId:' . $deal->id; + $filterRow[] = 'filter[deal_id][]=' . $deal->id; + $complexesNames[] = '' + . $deal->complex?->name + . (($deal->unique_until) ? '' . '' . '' : '') + . ''; + $companiesNames[] = $deal->agent?->company?->name; + $agentsNames[] = $deal->agent?->user?->name; + } + $filterRow = implode('&', $filterRow); + $complexesNames = array_unique($complexesNames); + $companiesNames = array_unique($companiesNames); + $companiesNames = implode('
', $companiesNames); + $agentsNames = array_unique($agentsNames); + $agentsNames = implode('
', $agentsNames); + $dealsWithContracts = $client->deals()->whereHas('contract'); + ?> + @if ($mode == 'full') +
+
+
+ {{ $client->name }} + @if (env('APP_DEBUG')) +
+ @foreach($client->deals as $deal) +
Bitrix ID: {{ $deal->bitrixId() }}
+ @endforeach +
+ @endif +
+ +
+
+ @if(count($complexesNames) > 1) +
{!! $complexesNames[0] !!} + + {{ count($complexesNames) - 1 }} +
+ @endif + {!! implode('
', array: $complexesNames) !!} +
+
+ @if (auth()->user()->isCityManager()) +
+ {!! $companiesNames !!} +
+ +
+ {!! $agentsNames !!} +
+ @endif + +
+ {{ $client->phone }} +
+
+ +
+ @else +
+ @if ($dealsWithContracts->count() == 1) + + {{ $client->name }} + @if (auth()->user()->isCityManager()) +
+ {!! $companiesNames !!} +
+ @endif + + + + +
+ @elseif($dealsWithContracts->count() > 1) + deals as $deal) { + $filterRow[] = 'filter[deal_id][]=' . $deal->id; + } + $filterRow = implode('&', $filterRow); + ?> + + {{ $client->name }} + @if (auth()->user()->isCityManager()) +
+ {!! $companiesNames !!} +
+ @endif + + + +
+ @else + + {{ $client->name }} + @if (auth()->user()->isCityManager()) +
+ {!! $companiesNames !!} +
+ @endif +
+ @endif +
+ @endif + @endforeach +
+
+ @if($mode == 'full') + @if($clientsCount > $count) +
+
    +
  • + +
  • + @for($pageNum = 1; $pageNum <= $clientsCount / $count; $pageNum++) +
  • {{ $pageNum }}
  • + @endfor +
  • + +
  • +
+
+ @endif + @endif +
\ No newline at end of file diff --git a/resources/views/livewire/clients-table.blade.php b/resources/views/livewire/clients-table.blade.php index 30ed5b2..e9f25e3 100644 --- a/resources/views/livewire/clients-table.blade.php +++ b/resources/views/livewire/clients-table.blade.php @@ -6,165 +6,159 @@ class="d-none d-flex position-absolute w-100 h-100 top-0 start-0 align-items-cen Loading... -
+
@if ($clients->count() == 0)
Нет данных для отображения
@endif -
- @foreach ($clients as $client) - deals(); - if (array_key_exists('status', $filter)) { - $clientDeals->where('status', $filter['status']); - } - - if (array_key_exists('complexes', $filter)) { - $complexes = []; - foreach ($filter['complexes'] as $selectedComplex) { - $complexes[] = $selectedComplex['id']; + + @if ($mode == 'full') + + + + + @endif + + @foreach ($clients as $client) + deals(); + if (array_key_exists('status', $filter)) { + $clientDeals->where('status', $filter['status']); } - $clientDeals->whereIn('complex_id', $complexes); - } - //echo 'cId:' . $client->id; - foreach ($clientDeals->get() as $deal) { - //echo 'dId:' . $deal->id; - $filterRow[] = 'filter[deal_id][]=' . $deal->id; - $complexesNames[] = '' - . $deal->complex?->name - . (($deal->unique_until) ? '' . '' . '' : '') - . ''; - $companiesNames[] = $deal->agent?->company?->name; - $agentsNames[] = $deal->agent?->user?->name; - } - $filterRow = implode('&', $filterRow); - $complexesNames = array_unique($complexesNames); - $companiesNames = array_unique($companiesNames); - $companiesNames = implode('
', $companiesNames); - $agentsNames = array_unique($agentsNames); - $agentsNames = implode('
', $agentsNames); - $dealsWithContracts = $client->deals()->whereHas('contract'); - ?> - @if ($mode == 'full') -
-
-
- {{ $client->name }} - @if (env('APP_DEBUG')) -
- @foreach($client->deals as $deal) -
Bitrix ID: {{ $deal->bitrixId() }}
- @endforeach -
- @endif -
-
-
- @if(count($complexesNames) > 1) -
{!! $complexesNames[0] !!} - + {{ count($complexesNames) - 1 }} -
- @endif - {!! implode('
', array: $complexesNames) !!} -
-
- @if (auth()->user()->isCityManager()) -
- {!! $companiesNames !!} -
- -
- {!! $agentsNames !!} -
- @endif - -
- {{ $client->phone }} -
-
- -
- @else - + @if ($mode == 'full') + + @if (auth()->user()->isCityManager()) -
+
+ @endif - - @endif - - @endif - @endforeach - + + @else + + @endif + + @endforeach + +
Клиент + ЖК + @if (auth()->user()->isCityManager()) + Агентства + Агенты + @endif + +
+ {{ $client->name }} +
{{ $client->phone }}
+ @if (env('APP_DEBUG')) +
+ @foreach($client->deals as $deal) +
Bitrix ID: {{ $deal->bitrixId() }}
+ @endforeach
@endif - - - - - @else - - {{ $client->name }} +
+ Жилой комплекс + @if(count($complexesNames) > 1) +
{!! $complexesNames[0] !!} + + {{ count($complexesNames) - 1 }} +
+ @endif +
+ Агентство {!! $companiesNames !!} - + + Агент + {!! $agentsNames !!} + + @php($contractRoute = "") + @if ($dealsWithContracts->count() == 1) + @php($contractRoute = route('contract', ['contract' => $dealsWithContracts->first()->contract])) + @elseif($dealsWithContracts->count() > 1) + @php($contractRoute = route('contracts', [$filterRow])) + @endif + + + + + @if ($dealsWithContracts->count() == 1) + + {{ $client->name }} + + + + + + @elseif($dealsWithContracts->count() > 1) + + {{ $client->name }} + + + + + @else + {{ $client->name }} + @endif +
@if($mode == 'full') @if($clientsCount > $count) diff --git a/resources/views/user/dashboard.blade.php b/resources/views/user/dashboard.blade.php index 07f7e87..6cf5d78 100644 --- a/resources/views/user/dashboard.blade.php +++ b/resources/views/user/dashboard.blade.php @@ -34,7 +34,7 @@ class="btn list-group-item list-group-item-action p-3 bg-white rounded border bo
@endif -
+
Клиенты
@@ -42,7 +42,7 @@ class="btn list-group-item list-group-item-action p-3 bg-white rounded border bo
- @livewire('clientsTable', ['count' => 4, 'mode' => 'short']) + @livewire('clientsTable', ['count' => 10, 'mode' => 'short'])