updaet from dell

This commit is contained in:
Daeng Deni Mardaeni 2023-06-15 16:41:25 +07:00
parent f9906b44f4
commit 966097f60f
8 changed files with 76 additions and 31 deletions

View File

@ -33,13 +33,7 @@
}
})
->addIndexColumn()
->addColumn('checkbox', function ($item) {
return '<div class="form-check form-check-sm form-check-custom form-check-solid">
<input class="form-check-input" name="checkbox[]" type="checkbox" value="' . $item->id . '" />
</div>';
})
->addColumn('action', 'cetaklabel::app.cardboard._action')
->rawColumns(['checkbox', 'action'])
->setRowId('id');
}
@ -80,7 +74,6 @@
: array
{
return [
Column::make('checkbox')->title('')->orderable(false)->searchable(false)->exportable(false)->printable(false)->width(10),
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
Column::make('kode'),
Column::make('directorat.name')->title('Direktorat'),

View File

@ -3,6 +3,7 @@
namespace Modules\Cetaklabel\DataTables;
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
use Modules\Cetaklabel\Entities\CardboardDetail;
use Modules\Cetaklabel\Entities\Document;
use Modules\Cetaklabel\Entities\DocumentDetail;
use Yajra\DataTables\EloquentDataTable;
@ -21,6 +22,8 @@
: EloquentDataTable
{
$query = $query->with(['directorat', 'sub_directorat', 'job', 'job.sub_job', 'job.sub_job.sub_sub_job']);
$odners = CardboardDetail::where('cardboard_id',request()->get('id'))->pluck('document_id')->toArray();
$query = $query->whereNotIn('id', $odners);
return (new EloquentDataTable($query))
->filter(function ($query) {
@ -54,8 +57,7 @@
<input class="form-check-input" name="checkbox[]" type="checkbox" value="' . $item->id . '" />
</div>';
})
->addColumn('action', 'cetaklabel::app.cardboard-detail._action')
->rawColumns(['checkbox', 'action'])
->rawColumns(['checkbox'])
->setRowId('id');
}
@ -105,12 +107,7 @@
Column::make('sub_job')->title('Sub Jenis Pekerjaan'),
Column::make('sub_sub_job')->title('Sub Sub Jenis Pekerjaan'),
Column::make('jumlah_halaman')->title('Jumlah Halaman'),
Column::make('sequence_odner')->title('Sequence'),
Column::computed('action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('sequence_odner')->title('Sequence')
];
}

View File

@ -19,7 +19,6 @@
public function dataTable(QueryBuilder $query)
: EloquentDataTable
{
return (new EloquentDataTable($query))
->filter(function ($query) {
if (request()->has('search')) {
@ -56,7 +55,7 @@
{
return $model->newQuery()
->with(['directorat', 'sub_directorat', 'job', 'sub_job', 'sub_sub_job'])
->select('documents.*')->groupBy('documents.kode');
->groupBy('documents.kode');
}
/**

View File

@ -6,7 +6,6 @@
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Modules\Cetaklabel\DataTables\CardboardDataTable;
use Modules\Cetaklabel\DataTables\CardboardDetailDataTable;
use Modules\Cetaklabel\DataTables\CardboardOdnerDataTable;
use Modules\Cetaklabel\Entities\CardboardDetail;
@ -30,13 +29,16 @@
*
* @return mixed
*/
public function index(CardboardOdnerDataTable $dataTable)
public function index(CardboardOdnerDataTable $dataTable, Request $request)
{
if (is_null($this->user) || !$this->user->can('document.read')) {
abort(403, 'Sorry !! You are Unauthorized to view any document data !');
}
return $dataTable->render('cetaklabel::app.cardboard-detail.odner');
$cardboard_id = $request->id;
$current_odner = CardboardDetail::where('cardboard_id', $cardboard_id)->count();
return $dataTable->render('cetaklabel::app.cardboard-detail.odner', compact('cardboard_id', 'current_odner'));
}
/**
@ -50,21 +52,23 @@
abort(403, 'Sorry !! You are Unauthorized to create any document data !');
}
// Validate the request...
$validated = $request->validated();
$documents = explode(',', $request->document_id);
print_r($documents);
foreach ($documents as $document) {
$data = [
'cardboard_id' => $request->cardboard_id,
'document_id' => $document
];
// Store the Cardboard...
if ($validated) {
try {
CardboardDetail::create($validated);
CardboardDetail::updateOrCreate($data);
echo json_encode(['status' => 'success', 'message' => 'Cardboard created successfully.']);
} catch (Exception $e) {
echo json_encode(['status' => 'error', 'message' => 'Cardboard created failed.']);
}
return;
}
echo json_encode(['status' => 'error', 'message' => 'Cardboard created failed.']);
}
/**

View File

@ -85,6 +85,30 @@
}
})
})
var selected = [];
var current_odner = parseInt($("#current_odner").val());
LaravelDataTables["cardboard-odner-table"].on('click', '.form-check-input', function (event) {
if($(this).is(':checked')){
selected.push($(this).val());
}else{
selected.splice(selected.indexOf($(this).val()), 1);
}
if(selected.length > 0) {
if(current_odner + selected.length > 5) {
$("#save-odner").hide();
Swal.fire({
text: "Odner More Than 5, Please Select 5 Odner or Less",
icon: 'warning'});
}else{
$("#save-odner").show();
}
} else {
$("#save-odner").hide();
}
$("#document_id").val(selected);
})
})
</script>
@endpush

View File

@ -28,7 +28,6 @@
</div>
<div class="card-toolbar">
<!--begin::Export dropdown-->
<button type="button" class="btn btn-light-primary" data-kt-menu-trigger="click"
data-kt-menu-placement="bottom-end">

View File

@ -29,6 +29,24 @@
<div class="card-toolbar">
<form action="{{ route('cardboard-detail.store') }}" method="POST">
@csrf
<!--begin::Export dropdown-->
<input type="hidden" name="cardboard_id" value="{{ $cardboard_id }}">
<input type="hidden" name="current_odner" id="current_odner" value="{{ $current_odner }}">
<input type="hidden" name="document_id" id="document_id">
<button type="submit" class="btn btn-light-success" id="save-odner" data-kt-menu-trigger="click"
data-kt-menu-placement="bottom-end" style="display: none">
<i class="ki-duotone ki-add-item">
<i class="path1"></i>
<i class="path2"></i>
<i class="path3"></i>
</i>
Save
</button>
<!--begin::Menu-->
</form> &nbsp;
<!--begin::Export dropdown-->
<button type="button" class="btn btn-light-primary" data-kt-menu-trigger="click"
data-kt-menu-placement="bottom-end">

View File

@ -13,8 +13,19 @@
<div class="menu-item {{ $route[0] == 'document' ? 'here' : '' }}">
<!--begin:Menu link-->
<a class="menu-link {{ $route[0] == 'document' ? 'active' : '' }}" href="{{ route('document.index') }}">
<span class="menu-icon">{!! getIcon('file', 'fs-2') !!}</span>
<span class="menu-title">File Management</span>
<span class="menu-icon">{!! getIcon('document', 'fs-2') !!}</span>
<span class="menu-title">Document Management</span>
</a>
<!--end:Menu link-->
</div>
<!--end:Menu item-->
<!--begin:Menu item-->
<div class="menu-item {{ $route[0] == 'filemanager' ? 'here' : '' }}">
<!--begin:Menu link-->
<a class="menu-link {{ $route[0] == 'filemanager' ? 'active' : '' }}" href="{{ route('filemanager.index') }}">
<span class="menu-icon">{!! getIcon('notepad-bookmark', 'fs-2') !!}</span>
<span class="menu-title">Report</span>
</a>
<!--end:Menu link-->
</div>