152 lines
7.7 KiB
PHP
152 lines
7.7 KiB
PHP
@extends('layouts.app')
|
|
@inject('employeeRepository', 'Modules\Employee\Repositories\EmployeeRepository')
|
|
@push('css')
|
|
<link rel="stylesheet" type="text/css" href="{{ asset('assets/libs/dragula/dragula.min.css') }}" />
|
|
@endpush
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<x-dashboard.breadcumb :title="$title" />
|
|
|
|
@include('pms::task.partials.filter')
|
|
|
|
@include('pms::task.partials.menu')
|
|
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
|
|
<div class="tasks-board mb-3" id="kanbanboard">
|
|
@foreach ($columnsWithTasks as $column)
|
|
<div class="tasks-list border-end pe-3" data-status-key="{{ $column->id }}">
|
|
<div class="d-flex border-bottom mb-2">
|
|
<div class="flex-grow-1">
|
|
<h6 class="fs-12 text-uppercase fw-semibold mb-0">{{ $column->name }} <small
|
|
class="badge totaltask-badge ms-1 align-bottom"
|
|
style="background: {{ $column->color }}">{{ (int) $column->tasks->count() }}</small>
|
|
</h6>
|
|
</div>
|
|
<div class="flex-shrink-0">
|
|
<a href="javascript:void(0);" class="text-muted" id="dropdownMenuLink12" data-bs-toggle="dropdown"
|
|
aria-expanded="false"><i class="ri-more-fill"></i></a>
|
|
<ul class="dropdown-menu" aria-labelledby="dropdownMenuLink12">
|
|
|
|
@can('kanbanColumn.edit')
|
|
<li><a class="dropdown-item edit-item-btn" href="javascript:void(0);"
|
|
data-link="{{ route('kanbanColumn.edit', $column->id) }}"><i
|
|
class="ri-edit-2-fill text-muted me-2 align-bottom"></i>
|
|
Edit</a></li>
|
|
@endcan
|
|
|
|
@can('kanbanColumn.destroy')
|
|
<li><a class="dropdown-item remove-item-btn" href="javascript:void(0);"
|
|
data-link="{{ route('kanbanColumn.destroy', $column->id) }}" data-id="{{ $column->id }}"><i
|
|
class="ri-delete-bin-5-line text-muted me-2 align-bottom"></i>
|
|
Delete</a></li>
|
|
@endcan
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-simplebar class="tasks-wrapper mx-n3 px-3">
|
|
<div id="{{ str()->slug($column->name) }}-task" @class(['tasks', 'noTask' => !$column->tasks()->exists()])>
|
|
@foreach ($column->tasks as $task)
|
|
<div class="card tasks-box" data-id="{{ $task->id }}">
|
|
<div class="card-body">
|
|
<div class="d-flex border-bottom mb-3">
|
|
<div class="flex-grow-1 flex-wrap">
|
|
<h6 class="fs-15 text-truncate task-title mb-0"><a
|
|
href="{{ route('task.show', $task->id) }}" class="d-block">{{ $task->title }}</a>
|
|
</h6>
|
|
</div>
|
|
<div class="flex-shrink-0">
|
|
<a href="javascript:void(0);" class="text-muted" id="dropdownMenuLink12"
|
|
data-bs-toggle="dropdown" aria-expanded="false"><i class="ri-more-fill"></i></a>
|
|
<ul class="dropdown-menu" aria-labelledby="dropdownMenuLink12">
|
|
@can('task.show')
|
|
<li><a class="dropdown-item" href="{{ route('task.show', $task->id) }}"><i
|
|
class="ri-eye-fill text-muted me-2 align-bottom"></i>
|
|
View</a></li>
|
|
@endcan
|
|
@can('task.edit')
|
|
<li><a class="dropdown-item" href="{{ route('task.edit', $task->id) }}"><i
|
|
class="ri-edit-2-fill text-muted me-2 align-bottom"></i>
|
|
Edit</a></li>
|
|
@endcan
|
|
@can('task.destroy')
|
|
<li><a class="dropdown-item remove-item-btn" href="javascript:void(0);"
|
|
data-link="{{ route('task.destroy', $task->id) }}" data-id="{{ $task->id }}"><i
|
|
class="ri-delete-bin-5-line text-muted me-2 align-bottom"></i>
|
|
Delete</a></li>
|
|
@endcan
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
@if ($task->desc)
|
|
<span class="fs-14 mb-0">
|
|
{!! Str::limit($task->desc, 150) !!}
|
|
</span>
|
|
@endif
|
|
<p class="fs-14 mb-0"><i class="ri-stack-line"></i>{{ $task->product?->name }}</p>
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-grow-1">
|
|
<span
|
|
class="badge bg-secondary-subtle text-dark fs-12"><em>{{ $task->taskCategory?->title }}</em></span>
|
|
</div>
|
|
|
|
<div class="flex-shrink-0">
|
|
<div class="avatar-group">
|
|
@foreach ($task->assignedUser as $assignedId)
|
|
<a href="javascript: void(0);" class="avatar-group-item" data-bs-toggle="tooltip"
|
|
data-bs-trigger="hover" data-bs-placement="top" title="{{ $assignedId->full_name }}">
|
|
<img src="{{ $assignedId->profile_pic }}" alt=""
|
|
class="rounded-circle avatar-xxs">
|
|
</a>
|
|
@endforeach
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card-footer border-top-dashed">
|
|
<div class="d-flex">
|
|
<div class="flex-grow-1">
|
|
<span class="fs-12"><i class="ri-time-line text-success align-bottom"></i>
|
|
{{ date('d M, Y', strtotime($task->start_date)) }}</span>
|
|
</div>
|
|
<div class="flex-shrink-0">
|
|
{!! $task->priority_status !!}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="progress progress-sm">
|
|
<div class="progress-bar"
|
|
style="background-color: {{ $column->color }}; --vz-bg-opacity: 1; width: 100%;"
|
|
role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
@include('pms::task-category.modal')
|
|
@include('pms::task.modal.task-status')
|
|
@endsection
|
|
|
|
@push('js')
|
|
<script>
|
|
var columnLists = @json($columnLists);
|
|
</script>
|
|
<script src="{{ asset('assets/libs/dragula/dragula.min.js') }}"></script>
|
|
<script src="{{ asset('assets/libs/dom-autoscroller/dom-autoscroller.min.js') }}"></script>
|
|
<script src="{{ asset('assets/js/pages/tasks-kanban.init.js') }}"></script>
|
|
@endpush
|