/ resources / views / livewire / resolutions / global-index.blade.php
global-index.blade.php
  1  <div>
  2      <x-card title="{{ __('resolutions.cards.index') }}" headerClasses="bg-primary-600 rounded-t text-white">
  3  
  4          <x-slot name="action">
  5              <x-dropdown>
  6                  <x-slot name="trigger">
  7                      <button class="rounded-full focus:outline-none focus:ring-2 focus:ring-white">
  8                          <x-icon name="dots-vertical" class="w-4 h-4 text-white"/>
  9                      </button>
 10                  </x-slot>
 11  
 12                  <x-dropdown.item wire:click='exportToCSV({{ $this->dossierId }})'
 13                                   label="{{ __('resolutions.cards.actions.download.excel') }}"/>
 14              </x-dropdown>
 15          </x-slot>
 16  
 17          <div class="flex flex-col space-y-4">
 18              <x-card title="{{ __('resolutions.cards.filters') }}"
 19                      headerClasses="bg-primary-600 rounded-t text-white text-sm">
 20                  <div class="grid grid-cols-12 gap-4 w-full">
 21                      <div class="col-span-4">
 22                          <x-input :label="__('resolutions.filters.search')"
 23                                   :placeholder="__('resolutions.filters.placeholders.filter')" wire:model="search"/>
 24                      </div>
 25                      <div class="col-span-2">
 26                          <x-input :label="__('resolutions.filters.resolution_year')"
 27                                   :placeholder="__('resolutions.filters.placeholders.resolution_year')"
 28                                   wire:model="filters.resolution_year"/>
 29                      </div>
 30  
 31                      <div class="col-span-2">
 32                          <x-select class="w-full" multiselect :label="__('resolutions.filters.resolution_number')"
 33                                    wire:model="filters.code"
 34                                    :async-data="route('filter.resolutions.resolution_numbers')" option-label="name"
 35                                    option-value="id"/>
 36                      </div>
 37                      <div class="col-span-2">
 38                          <x-select class="w-full" select :label="__('resolutions.filters.approved')"
 39                                    wire:model="filters.approved"
 40                                    :options="$this->resolutionResults" option-label="name" option-value="value"/>
 41                      </div>
 42                      <div class="col-span-2">
 43                          <x-select class="w-full" multiselect :label="__('toes.toe.title')"
 44                                    wire:model="filters.toe_ids" :options="$this->toes" option-label="name"
 45                                    option-value="id"/>
 46                      </div>
 47                      <div class="col-span-2">
 48                          <x-datetime-picker :label="__('resolutions.filters.published_at_since')"
 49                                             wire:model="filters.published_at_since"/>
 50                      </div>
 51                      <div class="col-span-2">
 52                          <x-datetime-picker :label="__('resolutions.filters.published_at_to')"
 53                                             wire:model="filters.published_at_to"/>
 54                      </div>
 55                  </div>
 56              </x-card>
 57  
 58              <div wire:init="fetchData" class="space-y-4">
 59                  <x-table.table>
 60                      <x-slot name="head">
 61                          <x-table.heading sortable class="text-center">
 62                              {{ __('resolutions.table.resolution_number') }}
 63                          </x-table.heading>
 64  
 65                          <x-table.heading sortable class="text-center">
 66                              {{ __('resolutions.table.dossier_code') }}
 67                          </x-table.heading>
 68  
 69                          <x-table.heading sortable class="text-center">
 70                              {{ __('resolutions.table.toe_name') }}
 71                          </x-table.heading>
 72  
 73                          <x-table.heading sortable class="text-center">
 74                              {{ __('resolutions.table.approve') }}</x-table.heading>
 75  
 76                          <x-table.heading sortable class="text-center">
 77                              {{ __('resolutions.table.resolution_proposal') }}</x-table.heading>
 78  
 79                          <x-table.heading sortable class="text-center">
 80                              {{ __('resolutions.table.certification_report') }}</x-table.heading>
 81  
 82                          <x-table.heading sortable class="text-center">
 83                              {{ __('resolutions.table.resolution_date') }}</x-table.heading>
 84  
 85                          <x-table.heading sortable class="text-center">
 86                              {{ __('resolutions.table.BOE_code') }}</x-table.heading>
 87  
 88                          <x-table.heading sortable class="text-center">
 89                              {{ __('resolutions.table.publication_date') }}</x-table.heading>
 90  
 91  
 92                      </x-slot>
 93                      <x-slot name="body">
 94                          @forelse ($this->resolutions as $resolution)
 95                              <x-table.row wire:loading.class.delay="opacity-50" wire:ignore.self>
 96  
 97                                  <x-table.cell class="text-xs text-center text-gray-500">
 98                                      {{ $resolution->resolutionNumber }}
 99                                  </x-table.cell>
100  
101                                  <x-table.cell class="text-xs text-center text-gray-500">
102                                      {{ $resolution->dossier->code }}
103                                  </x-table.cell>
104  
105                                  <x-table.cell class="text-xs text-center text-gray-500">
106                                      {{ $resolution->dossier?->toe?->name ?? __('app.none')}}
107                                  </x-table.cell>
108  
109                                  <x-table.cell class="text-xs text-center text-gray-500">
110                                      @if ($resolution->approved === null)
111                                          <x-badge flat secondary label="N/A"/>
112                                      @elseif ($resolution->approved)
113                                          <x-badge flat positive label="{{ __('resolutions.panel.status.approved') }}"/>
114                                      @else
115                                          <x-badge flat negative label="{{ __('resolutions.panel.status.rejected') }}"/>
116                                      @endif
117                                  </x-table.cell>
118  
119                                  <x-table.cell class="text-xs text-center text-gray-500">
120                                      {{ $resolution->resolvedDoc->name ?? 'N/A' }}
121                                  </x-table.cell>
122  
123                                  <x-table.cell class="text-xs text-center text-gray-500">
124                                      {{ $resolution->inforCert->name ?? 'N/A' }}
125                                  </x-table.cell>
126  
127                                  <x-table.cell class="text-xs text-center text-gray-500">
128                                      <x-show-date :date="$resolution->resolution_date" format="d/m/Y"/>
129                                  </x-table.cell>
130  
131                                  <x-table.cell class="text-xs text-center text-gray-500">
132                                      {{ ($resolution->approved ? $resolution->BOE_code : __('resolutions.panel.status.not_applicable')) ?? 'N/A' }}
133                                  </x-table.cell>
134  
135                                  <x-table.cell class="text-xs text-center text-gray-500">
136                                      <x-show-date :date="$resolution->publication_date" format="d/m/Y"/>
137                                  </x-table.cell>
138  
139                              </x-table.row>
140                          @empty
141                              <x-table.empty-row message="{{ __('resolutions.table.empty') }}" colspan="10"/>
142                          @endforelse
143                      </x-slot>
144                  </x-table.table>
145              </div>
146  
147              @if ($this->readyToLoad)
148                  {{ $this->resolutions->links() }}
149              @endif
150          </div>
151      </x-card>
152  </div>