@php use App\Models\Activity; $loan = $activity->loanData; $contact = $activity->contact; $user = auth()->user(); $pick = fn (string $col) => Activity::firstFilled($loan?->{$col}, $contact?->{$col}); $name = $activity->displayName() ?? 'Unnamed lead'; $mobile = $activity->displayMobile(); // Legacy varchar dates are d-m-Y; needs Y-m-d. $dateVal = function (?string $v) { if (Activity::isBlank($v)) return null; foreach (['d-m-Y', 'Y-m-d', 'd/m/Y'] as $f) { try { $d = \Carbon\Carbon::createFromFormat('!'.$f, trim($v)); if ($d && $d->format($f) === trim($v)) return $d->format('Y-m-d'); } catch (\Throwable) {} } return null; }; $val = fn (string $f) => old($f, $activity->clean($f)); $allocated = \App\Services\Crm\ActivityListQuery::allocationDate($activity); $lead = array_filter([ 'Mobile' => $mobile, 'Other phone' => $pick('other_phone'), 'Reg no' => $pick('car_reg_no'), 'Make' => $pick('mfg_pick_list'), 'Model' => Activity::firstFilled($contact?->model_picklist, $loan?->model_picklist), 'Sub model' => $pick('sub_model'), 'Vahan year' => $pick('vahan_year_pick_list'), 'Segment' => $pick('car_seg_new'), 'Fuel' => $pick('fuel_type'), 'Reg date' => Activity::firstFilled($contact?->reg_date, $loan?->reg_date), 'HPA' => Activity::firstFilled($contact?->hpa_pick_easy_at_calling_update, $loan?->hpa_pick_easy_at_calling_update), 'Bank type' => $pick('bank_type_new'), 'Insurance co.' => $pick('insurance_company_name'), 'Ins start' => $pick('ins_start_date_new'), 'Location' => $pick('location'), 'Dealer' => $pick('dealar_name'), 'Loan city' => $loan?->loan_chat_type, 'Data allocated' => $allocated, 'Note' => $loan?->NOTE, ], fn ($v) => ! Activity::isBlank($v)); $leadLink = null; if ($loan) { foreach (['contacts.show', 'contacts.edit', 'loan-data.show', 'loan-data.edit'] as $r) { if (Route::has($r)) { try { $leadLink = route($r, $loan->id); break; } catch (\Throwable) {} } } } $back = request('back'); $back = is_string($back) && str_starts_with($back, url('/activities')) ? $back : route('activities.index'); $sel = fn (string $f) => $options[$f] ?? []; $initial = [ 'status' => old('status', $activity->status ?: Activity::STATUS_NOT_STARTED), 'final_remark_ins_loan' => (string) $val('final_remark_ins_loan'), 'task_for' => (string) $val('task_for'), 'inq_status' => (string) $val('inq_status'), 'field_manager' => (string) $val('field_manager'), 'exe_remark' => (string) $val('exe_remark'), 'exe_marking' => (string) $val('exe_marking'), 'exe_inq_handle' => (string) $val('exe_inq_handle'), 'source' => (string) $val('source'), 'due_date' => (string) old('due_date', $activity->due_date?->format('Y-m-d')), ]; @endphp @if ($mobile) Call {{ $mobile }} @endif Back to list
{{-- Lead information (read-only) --}}
{{ mb_strtoupper(mb_substr($name, 0, 1)) }}

{{ $name }}

{{ $activity->status ?: 'Unknown' }} @if ($activity->clean('task_for')){{ $activity->clean('task_for') }}@endif @if ($activity->isOverdue())Overdue@endif
@forelse ($lead as $label => $value)
{{ $label }}
{{ $value }}
@empty
No lead record is linked to this activity.
@endforelse
@if ($leadLink) Open lead record → @endif
Assigned to
{{ $activity->user?->name ?? '—' }}
Field manager
{{ $activity->clean('field_manager') ?? '—' }}
Due date
{{ $activity->due_date?->format('d-m-Y') ?? '—' }}
Last updated
{{ $activity->modified_by?->format('d-m-Y H:i') ?? '—' }}
@if ($activity->clean('closed_time'))
Closed
{{ $activity->clean('closed_time') }}
@endif @if ($activity->clean('app_version'))
Mobile app
v{{ $activity->app_version }}
@endif
Activity ID
#{{ $activity->id }}
@if ($related->isNotEmpty()) @endif @if ($history->isEmpty())

No changes recorded yet.

@else
    @foreach ($history as $h) @php($meta = json_decode($h->meta ?? '[]', true) ?: [])
  1. @switch($h->action) @case('activity.updated') Follow-up saved @break @case('activity.sms_field_manager') Lead SMS sent ({{ $meta['sent'] ?? 0 }}) @break @default {{ $h->action }} @endswitch
    {{ $h->name ?? 'System' }} · {{ \Carbon\Carbon::parse($h->created_at)->format('d-m-Y H:i') }}
    @if (! empty($meta['status']) && $meta['status'][0] !== $meta['status'][1])
    Status: {{ $meta['status'][0] ?? '—' }} → {{ $meta['status'][1] }}
    @endif @if (! empty($meta['final_remark']) && $meta['final_remark'][0] !== $meta['final_remark'][1])
    Remark: {{ $meta['final_remark'][0] ?? '—' }} → {{ $meta['final_remark'][1] ?? '—' }}
    @endif
  2. @endforeach
@endif
{{-- Follow-up form --}}
@csrf @method('PUT')

Set automatically from the final remark.

@error('due_date')

{{ $message }}

@enderror

Today up to {{ \App\Services\Crm\ActivityRules::MAX_DUE_DAYS }} days ahead.

{{-- Inquiry (final remark = INQ GENERATED) --}}
{{-- Executive update (inq status = SEND EXE FOR CONVINCE) --}}
{{-- Loan disbursement (inq status = DISB) --}}
{{-- Login details (inq status = LOGIN) --}}
Cancel
@push('scripts') @endpush