Update Tampilan Yang beda antara 1 role dengan yang lain
This commit is contained in:
parent
207948aeb3
commit
13591da5b4
@ -13,7 +13,7 @@ _Must be completed first to ensure basic process flow is correct._
|
||||
- Prevent redundant validation actions
|
||||
- [ ] **T-003:** Restrict Print/Save-to-PDF to CS Role only
|
||||
- Lab can only preview, CS can print/save
|
||||
- [ ] **T-004:** Update User Role levels
|
||||
- [X] **T-004:** Update User Role levels
|
||||
- Standardize roles: Superuser, Admin, Lab, Phlebo, CS
|
||||
|
||||
---
|
||||
@ -22,7 +22,7 @@ _Must be completed first to ensure basic process flow is correct._
|
||||
|
||||
_Features that improve speed and correctness of lab operations._
|
||||
|
||||
- [ ] **T-005:** Role-Based Dashboard Filtering
|
||||
- [X] **T-005:** Role-Based Dashboard Filtering
|
||||
- Filter by patient_status or service_type (Klinik+Lab vs Lab Only)
|
||||
- [ ] **T-006:** Create Clinical Patients Dashboard
|
||||
- Hide "No Lab" column for clinical workflows
|
||||
|
||||
@ -25,33 +25,24 @@
|
||||
('LISFSE', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 0, 'SYSTEM'),
|
||||
('ABB', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Ardea Bagus Bimantara, S.Tr.Kes'),
|
||||
('AHT', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 1, 'dr. Arifoe Hajat, Sp.PK(K)'),
|
||||
|
||||
('ASW', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Asti Sri Wiyanti, A.Md.AK'),
|
||||
('BYS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Betha Yogyanti Setyarini, A.Md.AK'),
|
||||
|
||||
('FKS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Fairushafa Khairunnisa Sasmita, S.Tr.Kes'),
|
||||
('HAY', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Hewi Aryanti, A.Md.Kep'),
|
||||
|
||||
('KNS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Kartya Nur Sholihatul Umah, S.Kep.Ns'),
|
||||
('LPS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Lintang Pramuli Suradi, S.S.T'),
|
||||
|
||||
('LDK', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Lidya Dwindana Kartikasari, A.Md.Kes'),
|
||||
|
||||
('RID', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 4, 'Rhemanda Ivena Dinta, A.Md.Bns'),
|
||||
('MDW', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Margareta Dwi Widiani, A.Md.Kep'),
|
||||
('MJS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Mentari Jaya Sari, A.Md.AK'),
|
||||
('MRS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Maria Scholastica, A.Md.Kep'),
|
||||
|
||||
('AQP', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Anjani Okta Prastiwi, A.Md.Kep'),
|
||||
|
||||
('RSW', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 0, 'Ratna Setyowati, A.Md.T'),
|
||||
('SAI', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 1, 'Sri Andayani, A.Md.Kes'),
|
||||
('SFB', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Stevani Florentina Bihi, S.Pd., S.Tr.Kes'),
|
||||
|
||||
('VSO', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Veronica Sulistyo, A.Md.Kes'),
|
||||
('YAA', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 2, 'Yulia Anita, A.Md.Kes'),
|
||||
('SYA', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Sutyi Yuliyana, A.Md.Kep'),
|
||||
|
||||
('MTP', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 0, 'Muhammad Tegar Prasetya, S.Kom'),
|
||||
('NRR', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 0, 'Nur Rizky Romadhon, M.Tr.Kom'),
|
||||
('LAS', '$2y$10$qUKTBKk.gJsgIKKlNB5QwuJ4TFLBl6buARUjaY9eSSmdDX3EO/tSi', 3, 'Luthfi Anindyani Sulistiono, S.Kep.Ns'),
|
||||
|
||||
@ -14,4 +14,8 @@ class Admin extends BaseController {
|
||||
return view('admin/index');
|
||||
}
|
||||
|
||||
public function users() {
|
||||
return view('admin/users');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -319,7 +319,7 @@
|
||||
sortCol: 'REQDATE',
|
||||
sortAsc: false,
|
||||
currentPage: 1,
|
||||
pageSize: 15,
|
||||
pageSize: 30,
|
||||
|
||||
sort(col) {
|
||||
if (this.sortCol === col) {
|
||||
|
||||
@ -14,8 +14,8 @@
|
||||
<tr>
|
||||
<td>Note</td>
|
||||
<td colspan='3'>
|
||||
<textarea x-text="item.comment" class="textarea textarea-bordered w-full"></textarea>
|
||||
<button class="btn btn-sm btn-primary mt-2" @click="saveComment(item.accessnumber)">Save</button>
|
||||
<textarea x-text="item.comment" class="textarea textarea-bordered w-full" disabled></textarea>
|
||||
<!-- <button class="btn btn-sm btn-primary mt-2" @click="saveComment(item.accessnumber)">Save</button> -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -33,18 +33,17 @@
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td> <td>Collection</td> <td></td> <td></td>
|
||||
<td><button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td> <td>All</td> <td></td> <td></td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></i></button>
|
||||
<button class="btn btn-sm btn-success px-2 py-1" onclick=""><h6 class="p-0 m-0">Coll.</h6></button>
|
||||
<!-- <button class="btn btn-sm btn-success px-2 py-1" onclick=""><h6 class="p-0 m-0">Coll.</h6></button> -->
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td> <td>Collection</td> <td></td> <td></td>
|
||||
<td><button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></button></td>
|
||||
</tr>
|
||||
|
||||
<template x-for="sample in item.samples">
|
||||
<tr>
|
||||
@ -58,7 +57,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></button>
|
||||
<template x-if="sample.colstatus == 0">
|
||||
<!-- <template x-if="sample.colstatus == 0">
|
||||
<button class="btn btn-sm btn-success px-2 py-1" @click="collect(sample.sampcode, item.accessnumber)">
|
||||
<h6 class="p-0 m-0">Coll.</h6>
|
||||
</button>
|
||||
@ -72,7 +71,7 @@
|
||||
<button class="btn btn-sm btn-error px-2 py-1" @click="unreceive(sample.sampcode, item.accessnumber)">
|
||||
<h6 class="p-0 m-0">Un-Recv.</h6>
|
||||
</button>
|
||||
</template>
|
||||
</template> -->
|
||||
</td>
|
||||
<td>
|
||||
|
||||
|
||||
@ -159,14 +159,14 @@
|
||||
:class="sortCol === 'Name' ? (sortAsc ? 'fa-sort-up' : 'fa-sort-down') : 'fa-sort opacity-20'"></i>
|
||||
</div>
|
||||
</th>
|
||||
<th style='width:7%;' @click="sort('SP_ACCESSNUMBER')"
|
||||
<!-- <th style='width:7%;' @click="sort('SP_ACCESSNUMBER')"
|
||||
class="cursor-pointer hover:bg-base-200 transition-colors select-none">
|
||||
<div class="flex items-center gap-1">
|
||||
No Lab
|
||||
<i class="fa text-xs"
|
||||
:class="sortCol === 'SP_ACCESSNUMBER' ? (sortAsc ? 'fa-sort-up' : 'fa-sort-down') : 'fa-sort opacity-20'"></i>
|
||||
</div>
|
||||
</th>
|
||||
</th> -->
|
||||
<th style='width:7%;' @click="sort('HOSTORDERNUMBER')"
|
||||
class="cursor-pointer hover:bg-base-200 transition-colors select-none">
|
||||
<div class="flex items-center gap-1">
|
||||
@ -211,8 +211,8 @@
|
||||
<tr class="hover:bg-base-300">
|
||||
<td x-text="req.REQDATE"></td>
|
||||
<td x-text="req.Name"></td>
|
||||
<td x-text="req.SP_ACCESSNUMBER" class="font-bold cursor-pointer" :class="statusColor[req.STATS]"
|
||||
@click="openSampleDialog(req.SP_ACCESSNUMBER)"></td>
|
||||
<!-- <td x-text="req.SP_ACCESSNUMBER" class="font-bold cursor-pointer" :class="statusColor[req.STATS]"
|
||||
@click="openSampleDialog(req.SP_ACCESSNUMBER)"></td> -->
|
||||
<td x-text="req.HOSTORDERNUMBER" class="font-bold cursor-pointer" :class="statusColor[req.STATS]"
|
||||
@click="openSampleDialog(req.SP_ACCESSNUMBER)"></td>
|
||||
<td x-text="req.REFF"></td>
|
||||
@ -238,7 +238,7 @@
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<template x-if="req.STATS !== 'PartColl' && req.STATS !== 'Coll' && req.STATS !== 'Pend'">
|
||||
<template x-if="req.VAL1USER && req.VAL2USER">
|
||||
<button class="btn btn-xs btn-outline btn-primary"
|
||||
@click="openPreviewDialog(req.SP_ACCESSNUMBER, 'preview', req)">Preview</button>
|
||||
</template>
|
||||
@ -274,7 +274,7 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<?php echo $this->include('cs/dialog_sample'); ?>
|
||||
<?php echo $this->include('cs/dialog_unval'); ?>
|
||||
<?php echo $this->include('cs/dialog_preview'); ?>
|
||||
@ -319,7 +319,7 @@
|
||||
sortCol: 'REQDATE',
|
||||
sortAsc: false,
|
||||
currentPage: 1,
|
||||
pageSize: 15,
|
||||
pageSize: 30,
|
||||
|
||||
sort(col) {
|
||||
if (this.sortCol === col) {
|
||||
|
||||
@ -319,7 +319,7 @@
|
||||
sortCol: 'REQDATE',
|
||||
sortAsc: false,
|
||||
currentPage: 1,
|
||||
pageSize: 15,
|
||||
pageSize: 30,
|
||||
|
||||
sort(col) {
|
||||
if (this.sortCol === col) {
|
||||
|
||||
@ -33,18 +33,17 @@
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td> <td>Collection</td> <td></td> <td></td>
|
||||
<td><button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td> <td>All</td> <td></td> <td></td>
|
||||
<td>
|
||||
<button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></i></button>
|
||||
<button class="btn btn-sm btn-success px-2 py-1" onclick=""><h6 class="p-0 m-0">Coll.</h6></button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td> <td>Collection</td> <td></td> <td></td>
|
||||
<td><button class="btn btn-sm btn-secondary px-2 py-1"><i class="fa-solid fa-print"></i></button></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<template x-for="sample in item.samples">
|
||||
<tr>
|
||||
|
||||
@ -194,7 +194,7 @@
|
||||
<th style='width:15%;'>Tests</th>
|
||||
<th style='width:3%;'>ResTo</th>
|
||||
<th style='width:5%;'>Val</th>
|
||||
<th style='width:5%;'>Result</th>
|
||||
<!-- <th style='width:5%;'>Result</th> -->
|
||||
<th style='width:4%;' @click="sort('STATS')"
|
||||
class="cursor-pointer hover:bg-base-200 transition-colors select-none">
|
||||
<div class="flex items-center gap-1">
|
||||
@ -237,12 +237,12 @@
|
||||
</template>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<!-- <td>
|
||||
<template x-if="req.STATS !== 'PartColl' && req.STATS !== 'Coll' && req.STATS !== 'Pend'">
|
||||
<button class="btn btn-xs btn-outline btn-primary"
|
||||
@click="openPreviewDialog(req.SP_ACCESSNUMBER, 'preview', req)">Preview</button>
|
||||
</template>
|
||||
</td>
|
||||
</td> -->
|
||||
<td x-text="req.STATS === 'Fin' ? 'Final' : req.STATS" class="font-bold cursor-pointer"
|
||||
:class="statusColor[req.STATS]" @click="openSampleDialog(req.SP_ACCESSNUMBER)"></td>
|
||||
</tr>
|
||||
@ -319,7 +319,7 @@
|
||||
sortCol: 'REQDATE',
|
||||
sortAsc: false,
|
||||
currentPage: 1,
|
||||
pageSize: 15,
|
||||
pageSize: 30,
|
||||
|
||||
sort(col) {
|
||||
if (this.sortCol === col) {
|
||||
|
||||
@ -319,7 +319,7 @@
|
||||
sortCol: 'REQDATE',
|
||||
sortAsc: false,
|
||||
currentPage: 1,
|
||||
pageSize: 15,
|
||||
pageSize: 30,
|
||||
|
||||
sort(col) {
|
||||
if (this.sortCol === col) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user