Merge pull request #38 from arieeefajar/fix/master-rule

fix(master-land): fix view table data rule
This commit is contained in:
Arie Fajar Bachtiar 2025-04-23 13:42:19 +07:00 committed by GitHub
commit 0bf8da3cdc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 52 additions and 100 deletions

View File

@ -12,9 +12,10 @@ class RuleController extends Controller
{ {
public function index() public function index()
{ {
$rules = Indicator::with('rules')->get(); $indicators = Indicator::with('rules')->get();
$indicators = Indicator::select('id', 'name')->get(); // $indicators = Indicator::select('id', 'name')->get();
return view('master-data.aturan.index', compact('rules', 'indicators')); // dd($indicators);
return view('master-data.aturan.index', compact('indicators'));
} }
public function store(Request $request) public function store(Request $request)
@ -62,7 +63,6 @@ public function store(Request $request)
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
// dd($request->all());
$customMessage = [ $customMessage = [
'parameter_type.required' => 'Jenis parameter wajib diisi', 'parameter_type.required' => 'Jenis parameter wajib diisi',
'parameter_type.string' => 'Jenis parameter harus berupa teks', 'parameter_type.string' => 'Jenis parameter harus berupa teks',

View File

@ -61,7 +61,7 @@ function validateCfInput(input) {
var perPage = 10, var perPage = 10,
options = { options = {
valueNames: ["id", "parameter_type", "description", "status"], valueNames: ["id", "category", "description", "status"],
page: perPage, page: perPage,
pagination: !0, pagination: !0,
plugins: [ListPagination({ left: 2, right: 2 })], plugins: [ListPagination({ left: 2, right: 2 })],

View File

@ -24,7 +24,7 @@
</div> </div>
</div> </div>
@foreach ($rules as $rule) {{-- @foreach ($rules as $rule)
<div class="row"> <div class="row">
<div class="col lg-12"> <div class="col lg-12">
<div class="card"> <div class="card">
@ -106,15 +106,14 @@ class="fw-medium link-primary">#VZ2101</a>
</div> </div>
</div> </div>
</div> </div>
@endforeach @endforeach --}}
{{-- <div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col lg-12">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<h4 class="card-title mb-0">Data Aturan</h4> <h4 class="card-title mb-0">Data Rule</h4>
</div> </div>
<!-- end card header -->
<div class="card-body"> <div class="card-body">
<div id="customerList"> <div id="customerList">
@ -122,7 +121,7 @@ class="fw-medium link-primary">#VZ2101</a>
<div class="col-sm-auto"> <div class="col-sm-auto">
<div class="d-flex justify-content-sm-end"> <div class="d-flex justify-content-sm-end">
<div class="search-box ms-2"> <div class="search-box ms-2">
<input type="text" class="form-control search" placeholder="Search..." /> <input type="text" class="form-control search" placeholder="Search...">
<i class="ri-search-line search-icon"></i> <i class="ri-search-line search-icon"></i>
</div> </div>
</div> </div>
@ -130,108 +129,62 @@ class="fw-medium link-primary">#VZ2101</a>
</div> </div>
<div class="table-responsive table-card mt-3 mb-1"> <div class="table-responsive table-card mt-3 mb-1">
<table class="table align-middle table-nowrap" id="customerTable"> <table class="table align-middle table-nowrap" id="indicatorTable">
<thead class="table-light"> <thead class="table-light">
<tr class="text-center"> <tr class="text-center">
<th class="sort" data-sort="no"> <th class="sort" data-sort="no">No</th>
No <th class="sort" data-sort="indicator">Indikator</th>
</th> <th class="sort" data-sort="category">Kategori</th>
<th class="sort" data-sort="indicator_name">
Indikator
</th>
<th class="sort" data-sort="parameter_type">Jenis Indikator</th>
<th class="sort" data-sort="description">Deskripsi</th> <th class="sort" data-sort="description">Deskripsi</th>
<th class="sort" data-sort="status"> <th class="sort" data-sort="status">CF(e)</th>
CF(e)
</th>
<th class="sort" data-sort="action">Action</th> <th class="sort" data-sort="action">Action</th>
</tr> </tr>
</thead> </thead>
<tbody class="list form-check-all"> <tbody class="list form-check-all">
@foreach ($rules as $rule) @foreach ($indicators as $indicator)
<tr class="text-center"> @foreach ($indicator->rules as $index => $rule)
<td class="no">{{ $loop->iteration }}</td> <tr class="text-center">
<td class="id" style="display: none"> @if ($index === 0)
<a href="javascript:void(0);" <td rowspan="{{ $indicator->rules->count() }}">
class="fw-medium link-primary">#VZ2101</a> {{ $loop->iteration }}</td>
</td> <td class="indicator"
<td class="indicator_name">{{ $rule->name }}</td> rowspan="{{ $indicator->rules->count() }}">
<td class="parameter_type"> {{ $indicator->name }}</td>
<ul class="list-unstyled mb-0"> @endif
@foreach ($rule->rules as $item) <td class="id" style="display: none">
<li class="mb-2">{{ $item->parameter_type }}</li> <a href="javascript:void(0);"
@endforeach class="fw-medium link-primary">#VZ2101</a>
</ul> </td>
</td> <td class="category">
<td class="description"> {{ $rule->parameter_type }}
<ul class="list-unstyled mb-0"> </td>
@foreach ($rule->rules as $item) <td class="description">{{ $rule->description }}</td>
<li class="mb-2">{{ $item->description }}</li> <td class="status">{{ $rule->cf }}</td>
@endforeach <td>
</ul> <div class="d-flex gap-2 justify-content-center">
</td> <div class="edit">
<td class="status"> <button class="btn btn-sm btn-warning edit-item-btn"
<ul class="list-unstyled mb-0"> data-bs-toggle="modal"
@foreach ($rule->rules as $item) data-bs-target="#showModal">Edit</button>
<li class="mb-2"><span>{{ $item->cf }}</span></li> </div>
@endforeach <div class="remove">
</ul> <button class="btn btn-sm btn-danger remove-item-btn"
</td> data-bs-toggle="modal"
<td> data-bs-target="#deleteRecordModal">Hapus</button>
<div class="d-flex gap-2 justify-content-center"> </div>
<div class="edit">
<button class="btn btn-sm btn-warning edit-item-btn"
data-bs-toggle="modal" data-bs-target="#showModal"
onclick="updateData({{ $item }})">
Edit
</button>
</div> </div>
<div class="remove"> </td>
<button class="btn btn-sm btn-danger remove-item-btn" </tr>
data-bs-toggle="modal" @endforeach
data-bs-target="#deleteRecordModal"
onclick="deleteData({{ $rule->id }})">
Hapus
</button>
</div>
</div>
</td>
</tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
<div class="noresult" style="display: none">
<div class="text-center">
<lord-icon src="https://cdn.lordicon.com/msoeawqm.json" trigger="loop"
colors="primary:#25a0e2,secondary:#00bd9d"
style="width: 75px; height: 75px">
</lord-icon>
<h5 class="mt-2">Maaf! Data Tidak Ditemukan</h5>
<p class="text-muted mb-0">Silahkan gunakan kata kunci lain</p>
</div>
</div>
</div>
<div class="d-flex justify-content-end">
<div class="pagination-wrap hstack gap-2">
<a class="page-item pagination-prev disabled" href="#">
Kembali
</a>
<ul class="pagination listjs-pagination mb-0"></ul>
<a class="page-item pagination-next" href="#">
Selanjutnya
</a>
</div>
</div> </div>
</div> </div>
</div> </div>
<!-- end card -->
</div> </div>
<!-- end col -->
</div> </div>
<!-- end col --> </div>
</div> --}}
<!-- end row -->
{{-- add modal --}} {{-- add modal --}}
<div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
@ -248,8 +201,7 @@ class="fw-medium link-primary">#VZ2101</a>
<div class="modal-body"> <div class="modal-body">
<div class="mb-3" id="modal-id" style="display: none"> <div class="mb-3" id="modal-id" style="display: none">
<label for="id-field" class="form-label">ID</label> <label for="id-field" class="form-label">ID</label>
<input type="text" id="id-field" class="form-control" placeholder="ID" <input type="text" id="id-field" class="form-control" placeholder="ID" readonly />
readonly />
</div> </div>
<div class="mb-3"> <div class="mb-3">