@extends('layouts.project') @section('subtitle', __('project.jobs')) @section('action-buttons') @can('create', new App\Entities\Projects\Job) {!! html_link_to_route('projects.jobs.create', __('job.create'), [$project], ['class' => 'btn btn-success', 'icon' => 'plus']) !!} {!! html_link_to_route('projects.jobs.add-from-other-project', __('job.add_from_other_project'), [$project], ['class' => 'btn btn-default', 'icon' => 'plus']) !!} @endcan @endsection @section('content-project') @if ($jobs->isEmpty())

{{ __('project.no_jobs') }}, {{ link_to_route('projects.jobs.create', __('job.create'), [$project]) }}.

@else @foreach($jobs->groupBy('type_id') as $key => $groupedJobs)
@can('update', $project) @if (request('action') == 'sort_jobs') {{ link_to_route('projects.jobs.index', __('app.done'), [$project], ['class' => 'btn btn-default btn-xs pull-right', 'style' => 'margin-top: -2px; margin-left: 6px; margin-right: -8px']) }} @else {{ link_to_route('projects.jobs.index', __('project.sort_jobs'), [$project, 'action' => 'sort_jobs', '#project-jobs'], ['class' => 'btn btn-default btn-xs pull-right', 'style' => 'margin-top: -2px; margin-left: 6px; margin-right: -8px']) }} @can('see-pricings', $project) {!! link_to_route('projects.jobs-export', __('project.jobs_list_export_html'), [$project, 'html', 'job_type' => $key], ['class' => '', 'target' => '_blank']) !!} | {!! link_to_route('projects.job-progress-export', __('project.jobs_progress_export_html'), [$project, 'html', 'job_type' => $key], ['class' => '', 'target' => '_blank']) !!} @endcan @endif @endcan

{{ $key == 1 ? __('project.jobs') : __('project.additional_jobs') }} @if (request('action') == 'sort_jobs') : {{ __('project.sort_jobs') }} @endif

@if (request('action') == 'sort_jobs') @else @can('see-pricings', new App\Entities\Projects\Job) @endcan {{-- --}} @forelse($groupedJobs as $key => $job) @php $no = 1 + $key; $job->progress = $job->tasks->avg('progress'); @endphp progress <= 50 ? 'style="background-color: #faebcc"' : '' !!}> @can('see-pricings', $job) @endcan @empty @endforelse @can('see-pricings', new App\Entities\Projects\Job) @endcan
{{ __('app.table_no') }} {{ __('job.name') }} {{ __('job.tasks_count') }} {{ __('job.progress') }}{{ __('job.price') }}{{ __('job.worker') }}{{ __('time.updated_at') }} {{ __('app.action') }}
{{ $no }} {{ $job->name }} @if ($job->tasks->isEmpty() == false)
    @foreach($job->tasks as $task)
  • {{ $task->name }}
  • @endforeach
@endif
{{ $job->tasks_count = $job->tasks->count() }} {{ format_decimal($job->progress) }} %{{ format_money($job->price) }} {{ $job->updated_at->diffForHumans() }}
{{ __('job.worker') }} : {{ $job->worker->name }}
@can('view', $job) {!! html_link_to_route('jobs.show', '',[$job->id],['icon' => 'search', 'title' => __('job.show'), 'class' => 'btn btn-info btn-xs', 'id' => 'show-job-' . $job->id]) !!} @endcan @can('edit', $job) {!! html_link_to_route('jobs.edit', '',[$job->id],['icon' => 'edit', 'title' => __('job.edit'), 'class' => 'btn btn-warning btn-xs']) !!} @endcan
{{ __('job.empty') }}
Total {{ $groupedJobs->sum('tasks_count') }} {{ format_decimal($groupedJobs->sum('progress') / $groupedJobs->count()) }} % ({{ format_decimal($project->getJobOveralProgress()) }} %) {{ format_money($groupedJobs->sum('price')) }} @can('update', $project) @if (request('action') == 'sort_jobs') {{ link_to_route('projects.jobs.index', __('app.done'), [$project->id], ['class' => 'btn btn-default btn-xs pull-right']) }} @else {{ link_to_route('projects.jobs.index', __('project.sort_jobs'), [$project->id, 'action' => 'sort_jobs', '#project-jobs'], ['class' => 'btn btn-default btn-xs pull-right']) }} @endif @endcan
@endif
@endforeach @endif @endsection @can('update', $project) @if (request('action') == 'sort_jobs') @section('ext_js') {!! Html::script(url('assets/js/plugins/jquery-ui.min.js')) !!} @endsection @section('script') @endsection @endif @endcan