127 lines
5.4 KiB
PHP
127 lines
5.4 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', __('managementtools::lang.scores'))
|
|
|
|
@section('content')
|
|
@include('managementtools::layouts.nav')
|
|
|
|
<section class="content no-print mt-page">
|
|
<div class="mt-page-header">
|
|
<h1><i class="fas fa-star" style="color:#2563eb;margin-left:8px;"></i> @lang('managementtools::lang.scores')</h1>
|
|
<div>
|
|
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ScoreCardController::class, 'index']) }}" class="btn btn-default">
|
|
<i class="fa fa-id-card"></i> @lang('managementtools::lang.score_cards')
|
|
</a>
|
|
<button type="button" class="mt-btn-primary btn-modal" style="margin-right:8px;"
|
|
data-href="{{ action([\Modules\ManagementTools\Http\Controllers\ScoreController::class, 'create']) }}"
|
|
data-container=".mt_score_modal">
|
|
<i class="fa fa-plus"></i> @lang('managementtools::lang.assign_score')
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
@if($cards->isEmpty())
|
|
<div class="alert alert-warning">
|
|
@lang('managementtools::lang.no_score_cards_defined')
|
|
<a href="{{ action([\Modules\ManagementTools\Http\Controllers\ScoreCardController::class, 'index']) }}">@lang('managementtools::lang.define_score_cards')</a>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="mt-card">
|
|
<div class="mt-card-header">
|
|
<h3 class="mt-card-title">@lang('managementtools::lang.score_assignments')</h3>
|
|
<select id="mt_score_user_filter" class="form-control input-sm">
|
|
<option value="">@lang('managementtools::lang.all_employees')</option>
|
|
@foreach($users as $uid => $uname)
|
|
<option value="{{ $uid }}">{{ $uname }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="mt-card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered table-striped" id="mt_scores_table" style="width:100%">
|
|
<thead>
|
|
<tr>
|
|
<th>@lang('managementtools::lang.employee')</th>
|
|
<th>@lang('managementtools::lang.score_card')</th>
|
|
<th>@lang('managementtools::lang.score_value')</th>
|
|
<th>@lang('managementtools::lang.related_task')</th>
|
|
<th>@lang('managementtools::lang.description')</th>
|
|
<th>@lang('managementtools::lang.date')</th>
|
|
<th>@lang('managementtools::lang.action')</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="modal fade mt_score_modal" tabindex="-1" role="dialog"></div>
|
|
@endsection
|
|
|
|
@section('javascript')
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
var scores_table = $('#mt_scores_table').DataTable({
|
|
processing: true,
|
|
serverSide: true,
|
|
ajax: {
|
|
url: '{{ action([\Modules\ManagementTools\Http\Controllers\ScoreController::class, "index"]) }}',
|
|
data: function(d) {
|
|
d.user_id = $('#mt_score_user_filter').val();
|
|
d.table = 'assignments';
|
|
}
|
|
},
|
|
columns: [
|
|
{ data: 'employee', name: 'employee', orderable: false, searchable: false },
|
|
{ data: 'card_preview', name: 'card_preview', orderable: false, searchable: false },
|
|
{ data: 'points_fmt', name: 'points_fmt', orderable: false },
|
|
{ data: 'task_title', name: 'task_title', orderable: false, searchable: false },
|
|
{ data: 'description', name: 'description' },
|
|
{ data: 'created_at', name: 'created_at' },
|
|
{ data: 'action', name: 'action', orderable: false, searchable: false }
|
|
],
|
|
order: [[5, 'desc']]
|
|
});
|
|
|
|
$('#mt_score_user_filter').on('change', function() { scores_table.ajax.reload(); });
|
|
|
|
$(document).on('submit', 'form#mt_score_form', function(e) {
|
|
e.preventDefault();
|
|
var form = $(this);
|
|
$.ajax({
|
|
method: form.find('input[name="_method"]').val() === 'PUT' ? 'PUT' : 'POST',
|
|
url: form.attr('action'),
|
|
dataType: 'json',
|
|
data: form.serialize(),
|
|
success: function(result) {
|
|
if (result.success) {
|
|
$('.mt_score_modal').modal('hide');
|
|
toastr.success(result.msg);
|
|
scores_table.ajax.reload();
|
|
} else { toastr.error(result.msg); }
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.delete_mt_score', function() {
|
|
var url = $(this).data('href');
|
|
swal({ title: LANG.sure, icon: 'warning', buttons: true, dangerMode: true }).then(function(willDelete) {
|
|
if (willDelete) {
|
|
$.ajax({ method: 'DELETE', url: url, dataType: 'json', success: function(result) {
|
|
if (result.success) { toastr.success(result.msg); scores_table.ajax.reload(); }
|
|
else { toastr.error(result.msg); }
|
|
}});
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('change', '.mt-card-radio', function() {
|
|
$('.mt-score-card-picker-item').css('outline', 'none');
|
|
$(this).closest('.mt-score-card-picker-item').css('outline', '2px solid #2563eb');
|
|
});
|
|
});
|
|
</script>
|
|
@endsection
|