сделал вывод информации о менеджере сделки в договор из поля add_info

This commit is contained in:
developer 2026-04-22 14:25:48 +08:00
parent e865d6d544
commit 7a54d26bba
3 changed files with 53 additions and 4 deletions

View File

@ -4,6 +4,9 @@
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
use Modules\Main\Models\Deal\Deal;
class Contract extends Model
@ -25,9 +28,13 @@ class Contract extends Model
'reg_date',//Дата регистрации ДДУ
'payment_type',//Вид оплаты
'plan7_id',//ид помещения из plan7
'base64_image'
'base64_image',
'add_info'
];
protected $casts = [
'add_info' => JsonCasting::class,
];
public function deal()
{
return $this->belongsTo(Deal::class, 'deal_id');

View File

@ -0,0 +1,20 @@
<?php
namespace Modules\Contracts\Models;
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
use Illuminate\Database\Eloquent\Model;
class JsonCasting implements CastsAttributes
{
public function get(Model $model, string $key, mixed $value, array $attributes): array
{
if ($value == null) return [];
return json_decode($value, true);
}
public function set(Model $model, string $key, mixed $value, array $attributes): string
{
return json_encode($value);
}
}
?>

View File

@ -36,13 +36,34 @@ class="bi bi-arrow-right" viewBox="0 0 16 16">
<div class="col-9">
<div class="fs-5 fw-bold my-2">{{ $contract->deal->complex->city->name }}</div>
<div class="fs-5 fw-bold text-secondary my-2">{{ $contract->deal->complex->name }}</div>
@if($contract->deal->unique_until)
@if($contract->deal->unique_until)
<div class="text-secondary my-2">
<i class="bi bi-info-circle-fill"></i> Срок уникальности истечет {{ \Carbon\Carbon::parse($contract->deal->unique_until)->format('d.m.Y') }}
<i class="bi bi-info-circle-fill"></i> Срок уникальности истечет
{{ \Carbon\Carbon::parse($contract->deal->unique_until)->format('d.m.Y') }}
</div>
@endif
</div>
<div class="col-3 text-end">
@if(array_key_exists('manager', $contract->add_info))
<div class="fs-6 text-secondary">Менеджер сделки</div>
<div class="fw-bold fs-5 text-truncate text-dark-emphasis">
@if(array_key_exists('name', $contract->add_info['manager']))
{{ $contract->add_info['manager']['name'] }}
@endif
@if(array_key_exists('phone', $contract->add_info['manager']))
<div class="fs-6">
<i class="bi bi-telephone-fill"></i> {{ $contract->add_info['manager']['phone'] }}
</div>
@endif
@if(array_key_exists('email', $contract->add_info['manager']))
<div class="fs-6">
<i class="bi bi-envelope-at-fill"></i> {{ $contract->add_info['manager']['email'] }}
</div>
@endif
</div>
@endif
</div>
</div>
<!--Основная часть-->
@ -127,6 +148,7 @@ class="bi bi-arrow-right" viewBox="0 0 16 16">
</div>
</div>
</div>
<div class="row pt-3 border-1 border-top">
<div class="col">
<div class="fs-6 text-secondary hstack gap-2">
@ -150,7 +172,7 @@ class="bi bi-pen" viewBox="0 0 16 16">
</div>
</div>
</div>
<div class="col-12 col-lg-4 py-3 text-dark" style="background-color:#eef5fb">
<div class="col-12 col-lg-4 py-3 text-dark rounded" style="background-color: #ffffff47;box-shadow: -4px 0px 5px 2px #0000002b;">
<div class="fw-bold fs-5 mb-3">История договора</div>
@if ($contract->deal->notifications->count() == 0)
<div class="d-flex justify-content-center align-items-center">