| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- @php
- $delivery = $delivery ?? null;
- $formId = $delivery ? 'production-order-delivery-'.$delivery->id : 'production-order-delivery-new';
- $value = static fn (string $field, mixed $default = null): mixed => $delivery?->$field ?? $default;
- @endphp
- <form id="{{ $formId }}" method="POST" action="{{ $delivery
- ? route('schedule.orders.deliveries.update', [$order, $delivery])
- : route('schedule.orders.deliveries.store', $order) }}" class="border rounded p-3 mb-2">
- @csrf
- @if($delivery) @method('PUT') @endif
- <input type="hidden" name="nav" value="{{ $nav ?? '' }}">
- <div class="row g-2 align-items-end">
- <div class="col-md-3">
- <label for="{{ $formId }}-date" class="form-label small">Дата доставки <sup>*</sup></label>
- <input id="{{ $formId }}-date" type="date" name="delivery_date" required
- value="{{ $value('delivery_date')?->toDateString() }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-2">
- <label for="{{ $formId }}-time" class="form-label small">Время</label>
- <input id="{{ $formId }}-time" type="time" name="delivery_time"
- value="{{ substr((string) $value('delivery_time'), 0, 5) }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-4">
- <label for="{{ $formId }}-driver" class="form-label small">Водитель <sup>*</sup></label>
- <select id="{{ $formId }}-driver" name="driver_id" required class="form-select form-select-sm">
- <option value="">Выберите...</option>
- @foreach($drivers as $driverId => $driverName)
- <option value="{{ $driverId }}" @selected((int) $value('driver_id') === (int) $driverId)>
- {{ $driverName }}
- </option>
- @endforeach
- </select>
- </div>
- <div class="col-md-3 d-flex gap-2">
- <button type="submit" class="btn btn-sm btn-primary">
- {{ $delivery ? 'Сохранить' : 'Добавить доставку' }}
- </button>
- @if($delivery)
- <button type="submit" form="{{ $formId }}-delete" class="btn btn-sm btn-outline-danger"
- onclick="return confirm('Удалить доставку?')">Удалить</button>
- @endif
- </div>
- </div>
- <details class="mt-3" @if($delivery && collect([
- 'carrier', 'request_number', 'request_date', 'carrier_note', 'contact_position', 'contact_name',
- 'contact_phone', 'desired_time', 'access_system', 'unloading_place', 'advance_notice',
- 'document_signing_method', 'note',
- ])->contains(fn ($field) => filled($delivery->$field))) open @endif>
- <summary class="small cursor-pointer">Данные заявки и перевозки</summary>
- <div class="row g-2 mt-1">
- <div class="col-md-4">
- <label class="form-label small">Перевозчик</label>
- <input type="text" name="carrier" maxlength="255" value="{{ $value('carrier') }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-2">
- <label class="form-label small">№ заявки</label>
- <input type="text" name="request_number" maxlength="100" value="{{ $value('request_number') }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-2">
- <label class="form-label small">Дата заявки</label>
- <input type="date" name="request_date" value="{{ $value('request_date')?->toDateString() }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-2">
- <label class="form-label small">Желаемое время</label>
- <input type="time" name="desired_time" value="{{ substr((string) $value('desired_time'), 0, 5) }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-6">
- <label class="form-label small">Примечание перевозчику</label>
- <textarea name="carrier_note" rows="2" maxlength="5000" class="form-control form-control-sm">{{ $value('carrier_note') }}</textarea>
- </div>
- <div class="col-md-2">
- <label class="form-label small">Должность</label>
- <input type="text" name="contact_position" maxlength="255" value="{{ $value('contact_position') }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-2">
- <label class="form-label small">Контактное лицо</label>
- <input type="text" name="contact_name" maxlength="255" value="{{ $value('contact_name') }}" class="form-control form-control-sm">
- </div>
- <div class="col-md-2">
- <label class="form-label small">Телефон</label>
- <input type="text" name="contact_phone" maxlength="100" value="{{ $value('contact_phone') }}" class="form-control form-control-sm">
- </div>
- @foreach([
- 'access_system' => 'Пропускная система',
- 'unloading_place' => 'Место выгрузки',
- 'advance_notice' => 'Предварительное предупреждение',
- 'document_signing_method' => 'Способ подписания документов',
- ] as $field => $label)
- <div class="col-md-6">
- <label class="form-label small">{{ $label }}</label>
- <textarea name="{{ $field }}" rows="2" maxlength="5000" class="form-control form-control-sm">{{ $value($field) }}</textarea>
- </div>
- @endforeach
- <div class="col-md-6">
- <label class="form-label small">Дополнительный комментарий</label>
- <textarea name="note" rows="2" maxlength="10000" class="form-control form-control-sm">{{ $value('note') }}</textarea>
- </div>
- <div class="col-md-6 d-flex align-items-end pb-1">
- <input type="hidden" name="has_passports_and_certificates" value="0">
- <div class="form-check">
- <input type="checkbox" name="has_passports_and_certificates" value="1"
- id="{{ $formId }}-passports" class="form-check-input" @checked((bool) $value('has_passports_and_certificates'))>
- <label for="{{ $formId }}-passports" class="form-check-label small">Паспорта и сертификаты в комплекте</label>
- </div>
- </div>
- </div>
- </details>
- </form>
- @if($delivery)
- <form id="{{ $formId }}-delete" method="POST"
- action="{{ route('schedule.orders.deliveries.destroy', [$order, $delivery]) }}">
- @csrf
- @method('DELETE')
- <input type="hidden" name="nav" value="{{ $nav ?? '' }}">
- </form>
- @endif
|