progress penambahan fitur
This commit is contained in:
parent
73d48d5499
commit
6ab9aada1f
@ -662,7 +662,6 @@ class DashboardController extends Controller
|
||||
}
|
||||
|
||||
|
||||
$status = null;
|
||||
// if(auth()->user()->masterPersetujuan){
|
||||
// $unitPegawaiIds = auth()->user()->masterPersetujuan->details->pluck('unit_pegawai_id')->unique()->toArray();
|
||||
// $status = in_array($id_unit_kerja, $unitPegawaiIds)
|
||||
@ -679,6 +678,8 @@ class DashboardController extends Controller
|
||||
'pegawai_nama_entry' => auth()->user()->dataUser->namalengkap ?? null,
|
||||
'tanggal_terbit' => $data['date_active'] ?? null,
|
||||
'no_dokumen' => $data['no_dokumen'] ?? null,
|
||||
'nama_dokumen' => $data['nama_dokumen'] ?? null,
|
||||
'tgl_expired' => $data['tgl_expired'] ?? null,
|
||||
'permission_file' => ($data['is_permission'] ?? null) == "1",
|
||||
'status_action' => $status,
|
||||
'action_by' => $status && $status === "approved" ? auth()->user()->objectpegawaifk : null,
|
||||
@ -710,7 +711,8 @@ class DashboardController extends Controller
|
||||
DB::connection('dbDirectory')->commit();
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Data berhasil disimpan'
|
||||
'message' => 'Data berhasil disimpan',
|
||||
'status_action' => $isAtasan ? 'approved' : null
|
||||
], 200);
|
||||
} catch (\Throwable $th) {
|
||||
DB::connection('dbDirectory')->rollback();
|
||||
|
||||
@ -73,7 +73,7 @@
|
||||
<div class="mt-2 text-success fw-semibold d-none file-name"></div>
|
||||
</div>
|
||||
<div class="form-text text-muted">
|
||||
Bisa upload lebih dari 1 file. Format yang didukung: <b>PDF</b>.
|
||||
Format yang didukung: <b>PDF</b>.
|
||||
</div>
|
||||
</div>
|
||||
<div id="col_add_file" class="col-12"></div>
|
||||
|
||||
@ -183,11 +183,10 @@
|
||||
<th class="text-center" style="width: 36px;">
|
||||
<input type="checkbox" id="checkAllRows" class="form-check-input">
|
||||
</th>
|
||||
<th>Nomor Surat</th>
|
||||
<th>File</th>
|
||||
<th>No Dokumen</th>
|
||||
<th>Nama Dokumen</th>
|
||||
<th>Kategori</th>
|
||||
<th>Unit</th>
|
||||
<th>Sub Unit </th>
|
||||
<th>Tanggal Upload</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -223,6 +222,21 @@
|
||||
const checkAllEl = document.getElementById('checkAllRows');
|
||||
const selectedIds = new Set();
|
||||
|
||||
document.addEventListener('change', function(e){
|
||||
if(!e.target.classList.contains('toggle-expired')) return;
|
||||
const targetId = e.target.getAttribute('data-target');
|
||||
if(!targetId) return;
|
||||
const fieldWrap = document.getElementById(targetId);
|
||||
if(!fieldWrap) return;
|
||||
if(e.target.checked){
|
||||
fieldWrap.classList.remove('d-none');
|
||||
}else{
|
||||
fieldWrap.classList.add('d-none');
|
||||
const input = fieldWrap.querySelector('input[type="date"]');
|
||||
if(input) input.value = '';
|
||||
}
|
||||
});
|
||||
|
||||
if(pageSizeSelect){
|
||||
const initialSize = parseInt(pageSizeSelect.value);
|
||||
if(!isNaN(initialSize)) tableState.pageSize = initialSize;
|
||||
@ -290,7 +304,7 @@
|
||||
<a href="#"
|
||||
class="file-link ${statusLabel === "Pending" ? 'file-pending' : ''}"
|
||||
data-file="${item.file}"
|
||||
data-fileName="${fileName}"
|
||||
data-fileName="${item.nama_dokumen || '-'}"
|
||||
data-id="${item.file_directory_id}"
|
||||
data-no_dokumen="${item.no_dokumen || '-'}"
|
||||
data-tanggal_terbit="${item.tanggal_terbit || '-'}"
|
||||
@ -303,49 +317,10 @@
|
||||
word-break:break-word;
|
||||
"
|
||||
>
|
||||
${fileName}
|
||||
${item.nama_dokumen || '-'}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- BARIS BAWAH (LABEL) -->
|
||||
<div style="padding-left:24px;">
|
||||
|
||||
${
|
||||
item.permission_file
|
||||
? `
|
||||
<span style="
|
||||
display:inline-block;
|
||||
padding:2px 10px;
|
||||
font-size:11px;
|
||||
border-radius:6px;
|
||||
background:#ecfdf5;
|
||||
color:#047857;
|
||||
border:1px solid #a7f3d0;
|
||||
font-weight:500;
|
||||
cursor:default;
|
||||
">
|
||||
Umum
|
||||
</span>
|
||||
`
|
||||
: `
|
||||
<span style="
|
||||
display:inline-block;
|
||||
padding:2px 10px;
|
||||
font-size:11px;
|
||||
border-radius:6px;
|
||||
background:#eff6ff;
|
||||
color:#1d4ed8;
|
||||
border:1px solid #bfdbfe;
|
||||
font-weight:500;
|
||||
cursor:default;
|
||||
">
|
||||
Internal Unit
|
||||
</span>
|
||||
`
|
||||
}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@ -355,9 +330,6 @@
|
||||
<td>
|
||||
${unitName}
|
||||
</td>
|
||||
<td>
|
||||
${subName}
|
||||
</td>
|
||||
<td class="text-nowrap">${formatTanggal(item.entry_at)}</td>
|
||||
</tr>
|
||||
`;
|
||||
@ -730,7 +702,7 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nomor Dokumen</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">#</span>
|
||||
@ -739,18 +711,35 @@
|
||||
name="data[${colCount}][no_dokumen]"
|
||||
placeholder="Contoh: 001/RS/IT/I/2026">
|
||||
</div>
|
||||
<div class="form-text text-muted">Opsional, isi jika ada nomor resmi dokumen.</div>
|
||||
<div class="form-text text-muted"></div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nama Dokumen</label>
|
||||
<input type="text" class="form-control"
|
||||
name="data[${colCount}][nama_dokumen]"
|
||||
placeholder="Contoh: 001/RS/IT/I/2026">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Tanggal Terbit</label>
|
||||
<input class="form-control"
|
||||
type="date"
|
||||
name="data[${colCount}][date_active]"
|
||||
required>
|
||||
name="data[${colCount}][date_active]">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2 d-flex align-items-end">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input toggle-expired"
|
||||
type="checkbox"
|
||||
id="hasExpired_${colCount}"
|
||||
data-target="expiredField_${colCount}">
|
||||
<label class="form-check-label" for="hasExpired_${colCount}">Ada Expired?</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 d-none" id="expiredField_${colCount}">
|
||||
<label class="form-label fw-semibold">Tanggal Expired</label>
|
||||
<input class="form-control" type="date" name="data[${colCount}][tgl_expired]">
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<label class="form-label fw-semibold">Boleh dilihat unit lain? <span class="text-danger">*</span></label>
|
||||
|
||||
<div class="border rounded-3 p-2 bg-light">
|
||||
@ -779,7 +768,6 @@
|
||||
|
||||
<div class="col-md-12">
|
||||
<label for="fileUpload_${colCount}" class="form-label fw-semibold">📂 Upload Dokumen (PDF)</label>
|
||||
|
||||
<div class="border rounded-3 p-3 bg-white shadow-sm">
|
||||
<input class="form-control"
|
||||
type="file"
|
||||
@ -985,11 +973,26 @@
|
||||
color: "#fff",
|
||||
}
|
||||
}).showToast();
|
||||
const modalInstance = bootstrap.Modal.getInstance(modalCreate);
|
||||
modalInstance?.hide();
|
||||
resetCreateForm();
|
||||
fetchData()
|
||||
submitBtn.prop('disabled', false).text('Simpan')
|
||||
const modalInstance = bootstrap.Modal.getInstance(modalCreate);
|
||||
modalInstance?.hide();
|
||||
if(responseData.status_action === null || responseData.status_action === undefined){
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Perlu Persetujuan',
|
||||
text: 'Dokumen yang Anda upload butuh persetujuan dari atasan. Untuk melihatnya, kunjungi halaman Pengajuan File atau klik Tutup untuk tetap di sini.',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: 'Ke Pengajuan File',
|
||||
cancelButtonText: 'Tutup'
|
||||
}).then((result) => {
|
||||
if(result.isConfirmed){
|
||||
window.location.href = '/pengajuan-file';
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
throw new Error(responseData.message || 'Terjadi kesalahan saat menyimpan data.');
|
||||
}
|
||||
|
||||
@ -14,39 +14,61 @@
|
||||
<div class="modal-body">
|
||||
<div class="container" style="max-height: 70vh; overflow-y:auto;">
|
||||
<div class="row g-3">
|
||||
<div class="col-12">
|
||||
<div class="p-2 rounded-3 bg-light border">
|
||||
<span class="fw-semibold">Informasi Dokumen</span>
|
||||
<div class="small text-muted">Lengkapi detail dokumen sebelum upload.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Unit <span class="text-danger">*</span></label>
|
||||
<select class="form-control unit_kerja" name="data[0][id_unit_kerja]" id="select_id_unit_kerja_0" required>
|
||||
<option value="" disable>Select Choose</option>
|
||||
<option value="" disable>Pilih Unit</option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Sub Unit <span class="text-danger">*</span></label>
|
||||
<select class="form-control" name="data[0][id_sub_unit_kerja]" id="select_id_sub_unit_kerja_0" required>
|
||||
<option value="" disable selected>Select Choose</option>
|
||||
<option value="" disable selected>Pilih Sub Unit</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Kategori Dokumen <span class="text-danger">*</span></label>
|
||||
<select class="form-control" name="data[0][master_kategori_directory_id]" id="select_kategori_0" required>
|
||||
<option value="" disable>Select Choose</option>
|
||||
<option value="" disable>Pilih Kategori</option>
|
||||
@foreach ($katDok as $kat)
|
||||
<option value="{{ $kat->master_kategori_directory_id }}/{{ $kat->nama_kategori_directory }}">{{ $kat->nama_kategori_directory }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nomor Dokumen</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">#</span>
|
||||
<input type="text" class="form-control" name="data[0][no_dokumen]" placeholder="Contoh: 001/RS/IT/I/2026">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nama Dokumen</label>
|
||||
<input type="text" class="form-control" name="data[0][nama_dokumen]" placeholder="Contoh: Panduan Mencuci Tangan">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Tanggal Terbit</label>
|
||||
<input class="form-control" type="date" name="data[0][date_active]">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2 d-flex align-items-end">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input toggle-expired" type="checkbox" id="hasExpired0" data-target="expiredField_0">
|
||||
<label class="form-check-label" for="hasExpired0">Ada Expired?</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 d-none" id="expiredField_0">
|
||||
<label class="form-label fw-semibold">Tanggal Expired</label>
|
||||
<input class="form-control" type="date" name="data[0][tgl_expired]">
|
||||
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<label class="form-label fw-semibold">Boleh dilihat unit lain? <span class="text-danger">*</span></label>
|
||||
|
||||
<div class="border rounded-3 p-2 bg-light">
|
||||
@ -64,6 +86,7 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-2">
|
||||
@ -73,7 +96,7 @@
|
||||
<div class="mt-2 text-success fw-semibold d-none file-name"></div>
|
||||
</div>
|
||||
<div class="form-text text-muted">
|
||||
Bisa upload lebih dari 1 file. Format yang didukung: <b>PDF</b>.
|
||||
Format yang didukung: <b>PDF</b>.
|
||||
</div>
|
||||
</div>
|
||||
<div id="col_add_fileV2" class="col-12"></div>
|
||||
|
||||
@ -202,12 +202,12 @@
|
||||
<th class="text-center" style="width: 36px;">
|
||||
<input type="checkbox" id="checkAllRows" class="form-check-input">
|
||||
</th>
|
||||
<th>Nomor Surat</th>
|
||||
<th>File</th>
|
||||
<th>No Dokumen</th>
|
||||
<th>Nama Dokumen</th>
|
||||
<th>Kategori</th>
|
||||
<th>Unit</th>
|
||||
<th>Sub Unit </th>
|
||||
<th>Tanggal Upload</th>
|
||||
<th>Pengunggah</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tableDataUnit">
|
||||
@ -245,6 +245,21 @@
|
||||
const checkAllEl = document.getElementById('checkAllRows');
|
||||
const selectedIds = new Set();
|
||||
|
||||
document.addEventListener('change', function(e){
|
||||
if(!e.target.classList.contains('toggle-expired')) return;
|
||||
const targetId = e.target.getAttribute('data-target');
|
||||
if(!targetId) return;
|
||||
const fieldWrap = document.getElementById(targetId);
|
||||
if(!fieldWrap) return;
|
||||
if(e.target.checked){
|
||||
fieldWrap.classList.remove('d-none');
|
||||
}else{
|
||||
fieldWrap.classList.add('d-none');
|
||||
const input = fieldWrap.querySelector('input[type="date"]');
|
||||
if(input) input.value = '';
|
||||
}
|
||||
});
|
||||
|
||||
if(pageSizeSelect){
|
||||
const initialSize = parseInt(pageSizeSelect.value);
|
||||
if(!isNaN(initialSize)) tableState.pageSize = initialSize;
|
||||
@ -307,13 +322,13 @@
|
||||
<a href="#"
|
||||
class="file-link ${statusLabel === "Pending" ? 'file-pending' : ''}"
|
||||
data-file="${item.file}"
|
||||
data-fileName="${fileName}"
|
||||
data-fileName="${item.nama_dokumen || '-'}"
|
||||
data-id="${item.file_directory_id}"
|
||||
data-no_dokumen="${item.no_dokumen || '-'}"
|
||||
data-tanggal_terbit="${item.tanggal_terbit || '-'}"
|
||||
data-permission_file="${item.permission_file || '-'}"
|
||||
>
|
||||
${fileName}
|
||||
${item.nama_dokumen || '-'}
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
@ -323,10 +338,8 @@
|
||||
<td>
|
||||
${unitName}
|
||||
</td>
|
||||
<td>
|
||||
${subName}
|
||||
</td>
|
||||
<td class="text-nowrap">${formatTanggal(item.entry_at)}</td>
|
||||
<td class="text-nowrap">${item.pegawai_nama_entry || '-'}</td>
|
||||
</tr>
|
||||
`;
|
||||
}
|
||||
@ -698,7 +711,7 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nomor Dokumen</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">#</span>
|
||||
@ -707,18 +720,40 @@
|
||||
name="data[${colCount}][no_dokumen]"
|
||||
placeholder="Contoh: 001/RS/IT/I/2026">
|
||||
</div>
|
||||
<div class="form-text text-muted">Opsional, isi jika ada nomor resmi dokumen.</div>
|
||||
<div class="form-text text-muted"></div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nama Dokumen</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
name="data[${colCount}][nama_dokumen]"
|
||||
placeholder="Contoh: Panduan Mencuci Tangan">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Tanggal Terbit</label>
|
||||
<input class="form-control"
|
||||
type="date"
|
||||
name="data[${colCount}][date_active]"
|
||||
required>
|
||||
name="data[${colCount}][date_active]">
|
||||
</div>
|
||||
<div class="col-md-2 d-flex align-items-end">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input toggle-expired"
|
||||
type="checkbox"
|
||||
id="hasExpired_${colCount}"
|
||||
data-target="expiredField_${colCount}">
|
||||
<label class="form-check-label" for="hasExpired_${colCount}">Ada Expired?</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-5 d-none" id="expiredField_${colCount}">
|
||||
<label class="form-label fw-semibold">Tanggal Expired</label>
|
||||
<input class="form-control"
|
||||
type="date"
|
||||
name="data[${colCount}][tgl_expired]">
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<label class="form-label fw-semibold">Boleh dilihat unit lain? <span class="text-danger">*</span></label>
|
||||
|
||||
<div class="border rounded-3 p-2 bg-light">
|
||||
@ -953,11 +988,26 @@
|
||||
color: "#fff",
|
||||
}
|
||||
}).showToast();
|
||||
const modalInstance = bootstrap.Modal.getInstance(modalCreate);
|
||||
modalInstance?.hide();
|
||||
resetCreateForm();
|
||||
fetchData()
|
||||
submitBtn.prop('disabled', false).text('Simpan')
|
||||
const modalInstance = bootstrap.Modal.getInstance(modalCreate);
|
||||
modalInstance?.hide();
|
||||
if(responseData.status_action === null || responseData.status_action === undefined){
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Perlu Persetujuan',
|
||||
text: 'Dokumen yang Anda upload butuh persetujuan dari atasan. Untuk melihatnya, kunjungi halaman Pengajuan File atau klik Tutup untuk tetap di sini.',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: 'Ke Pengajuan File',
|
||||
cancelButtonText: 'Tutup'
|
||||
}).then((result) => {
|
||||
if(result.isConfirmed){
|
||||
window.location.href = '/pengajuan-file';
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
throw new Error(responseData.message || 'Terjadi kesalahan saat menyimpan data.');
|
||||
}
|
||||
|
||||
@ -14,39 +14,61 @@
|
||||
<div class="modal-body">
|
||||
<div class="container" style="max-height: 70vh; overflow-y:auto;">
|
||||
<div class="row g-3">
|
||||
<div class="col-12">
|
||||
<div class="p-2 rounded-3 bg-light border">
|
||||
<span class="fw-semibold">Informasi Dokumen</span>
|
||||
<div class="small text-muted">Lengkapi detail dokumen sebelum upload.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Unit <span class="text-danger">*</span></label>
|
||||
<select class="form-control unit_kerja" name="data[0][id_unit_kerja]" id="select_id_unit_kerja_0" required>
|
||||
<option value="" disable>Select Choose</option>
|
||||
<option value="" disable>Pilih Unit</option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Sub Unit <span class="text-danger">*</span></label>
|
||||
<select class="form-control" name="data[0][id_sub_unit_kerja]" id="select_id_sub_unit_kerja_0" required>
|
||||
<option value="" disable selected>Select Choose</option>
|
||||
<option value="" disable selected>Pilih Sub Unit</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Kategori Dokumen <span class="text-danger">*</span></label>
|
||||
<select class="form-control" name="data[0][master_kategori_directory_id]" id="select_kategori_0" required>
|
||||
<option value="" disable>Select Choose</option>
|
||||
<option value="" disable>Pilih Kategori</option>
|
||||
@foreach ($katDok as $kat)
|
||||
<option value="{{ $kat->master_kategori_directory_id }}/{{ $kat->nama_kategori_directory }}">{{ $kat->nama_kategori_directory }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nomor Dokumen</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">#</span>
|
||||
<input type="text" class="form-control" name="data[0][no_dokumen]" placeholder="Contoh: 001/RS/IT/I/2026">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Nama Dokumen</label>
|
||||
<input type="text" class="form-control" name="data[0][nama_dokumen]" placeholder="Contoh: Panduan Mencuci Tangan">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label fw-semibold">Tanggal Terbit</label>
|
||||
<input class="form-control" type="date" name="data[0][date_active]">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2 d-flex align-items-end">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input toggle-expired" type="checkbox" id="hasExpired0" data-target="expiredField_0">
|
||||
<label class="form-check-label" for="hasExpired0">Ada Expired?</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 d-none" id="expiredField_0">
|
||||
<label class="form-label fw-semibold">Tanggal Expired</label>
|
||||
<input class="form-control" type="date" name="data[0][tgl_expired]">
|
||||
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<label class="form-label fw-semibold">Boleh dilihat unit lain? <span class="text-danger">*</span></label>
|
||||
|
||||
<div class="border rounded-3 p-2 bg-light">
|
||||
@ -64,6 +86,7 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mb-2">
|
||||
@ -73,7 +96,7 @@
|
||||
<div class="mt-2 text-success fw-semibold d-none file-name"></div>
|
||||
</div>
|
||||
<div class="form-text text-muted">
|
||||
Bisa upload lebih dari 1 file. Format yang didukung: <b>PDF</b>.
|
||||
Format yang didukung: <b>PDF</b>.
|
||||
</div>
|
||||
</div>
|
||||
<div id="col_add_fileV2" class="col-12"></div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user