kunjungan pasien

This commit is contained in:
ahdan15
2024-12-18 10:05:57 +07:00
parent 9999faa387
commit a069659fec
6 changed files with 322 additions and 142 deletions

View File

@@ -1,166 +1,108 @@
<template>
<div>
<v-main>
<v-app>
<v-main>
<v-container>
<v-card title="List Kunjungan pasien" flat>
<v-card title="List Kunjungan Pasien" elevation="2" flat class="mx-auto my-8">
<template v-slot:text>
<v-row>
<v-col>
<div class="border-thin">
<VForm
@submit.prevent="get_data">
<v-container >
<v-row>
<v-col cols="12" md="2">
<v-text-field
v-model="reqtanggalkunjungan.tanggalawal"
label="Tanggal Awal"
type="date"
></v-text-field>
</v-col>
<v-col cols="12" md="2">
<VueDatePicker v-model="reqtanggalkunjungan.tanggalakhir" :enable-time-picker="false" label="Tanggal Akhir"/>
</v-col>
</v-row>
<v-row>
</v-row>
<VBtn class="mb-5"
variant="tonal"
type="submit">
C A R I
</VBtn>
<v-text-field v-model="search" label="Search" prepend-inner-icon="mdi-magnify" variant="outlined" hide-details single-line class="rounded elevation-1"></v-text-field>
<v-data-table class="elevation-1" :headers="headers" :items="surkon.list_data" F :search="search">
</v-data-table>
</v-card>
</v-container>
</v-main>
</v-container>
</VForm>
</div>
</v-col>
</v-row>
<v-row>
<v-text-field v-model="search" label="Search" prepend-inner-icon="mdi-magnify" variant="outlined" hide-details single-line class="rounded elevation-1" width="500px"></v-text-field>
</v-row>
</template>
<v-data-table
:headers="headers"
:items="dataKunjunganPasien"
:search="search">
</v-data-table>
</v-card>
</v-container>
</v-main>
</v-app>
</div>
</template>
<script setup>
import VueDatePicker from '@vuepic/vue-datepicker';
import '@vuepic/vue-datepicker/dist/main.css'
import { ref, reactive } from "vue";
import Swal from "sweetalert2";
import { storeToRefs } from "pinia";
const noRM = ref('');
const noSEP = ref('');
const tanggal_awal = ref('');
const tanggal_akhir = ref('');
const poliklinik = ref('');
// const itemsPerPage= 5;
const search = ref("");
const headers = [
const today = new Date();
const date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
console.log("DATE : ", date)
const headers = [
{
align: 'start',
key: 'name',
sortable: false,
},
{ key: 'Nomor_surat_kontrol', title: 'Tanggal Masuk' },
{ key: 'Nomor_sep', title: 'Jam Masuk' },
{ key: 'Tanggal_cetak_surat_kontrol', title: 'Nomer Rekam Medik' },
{ key: 'Tanggal_rencana_kontrol', title: 'Nama' },
{ key: 'No_rm', title: 'Umur' },
{ key: '', title: 'Jenis Kelamin' },
{ key: '', title: 'Ruang' },
{ key: '', title: 'Dpjp' },
{ key: 'tanggalmasukkunjungan', title: 'Tanggal Masuk' },
{ key: 'jammasukkunjungan', title: 'Jam Masuk' },
{ key: 'nomr', title: 'Nomer Rekam Medik' },
{ key: 'namalengkap', title: 'Nama' },
{ key: 'umur', title: 'Umur' },
{ key: 'jeniskelamin', title: 'Jenis Kelamin' },
{ key: 'namaruang', title: 'Ruang' },
{ key: 'namalengkapdokter', title: 'Dpjp' },
];
const payload = {
no_rm: "",
no_sep: "",
poliklinik: "",
tanggal_awal: "",
tanggal_akhir: "",
tipe_surkon : "1",
offset: "0",
};
const { surkon } = storeToRefs(useSurkonStorePost());
const { loadSurKon } = useSurkonStorePost();
const { subspesialis,loadSubspesialisData } = useSubspesialisStore();
const headers2 = [
{
align: 'start',
key: 'name',
sortable: false,
},
{ key: 'id', title: 'ID' },
{ key: 'Kode', title: 'Kode' },
{ key: 'Subspesialis', title: 'Subspesialis' },
{ key: 'FK_daftar_spesialis_ID', title: 'FK_daftar_spesialis_ID' },
{ key: 'Spesialis', title: 'Spesialis' },
{ text: "", value: "action" },
];
const form_proses = async() => {
payload.no_rm = noRM._value;
payload.no_sep = noSEP._value;
payload.tanggal_awal = tanggal_awal._value;
payload.tanggal_akhir = tanggal_akhir._value;
payload.poliklinik = poliklinik._value.toString();
Swal.fire({
title: 'Berhasil Menampilkan Data' ,
icon: 'success',
showConfirmButton: false,
timer: 1000,
const reqtanggalkunjungan = reactive({
tanggalawal : "2024-12-17",
tanggalakhir : date,
})
loadSurKon(payload);
}
const { dataKunjunganPasien } = storeToRefs(useDataKunjunganPasien());
const { loadDataKunjunganPasien } = useDataKunjunganPasien();
const get_data = async() => {
console.log(reqtanggalkunjungan)
loadDataKunjunganPasien(reqtanggalkunjungan);
console.log("DATA", dataKunjunganPasien)
}
onMounted(() => {
loadSubspesialisData();
onMounted(() => {
loadDataKunjunganPasien(reqtanggalkunjungan);
("DATA", reqtanggalkunjungan)
});
const dataedit = reactive({
idxdaftar: '',
noSEP: '',
kodeHFIS: '',
id_dokter: '',
kodePoli: '',
subspesialis: '',
tglRencanaKontrol: '',
user: '',
kode_diagnosa: '',
nama_diagnosa: '',
tipe_surkon: '',
tipe_rawat: '',
})
const proses_edit = (item)=>{
const {data_edit} = storeToRefs(useSurkonStorePost());
const { proses_edit } = useSurkonStorePost();
proses_edit(item);
var aksi = false;
watchEffect(() => {
if (data_edit.value) {
aksi=true;
dataedit.idxdaftar = data_edit.value.Idx_daftar || '';
dataedit.noSEP = data_edit.value.Nomor_sep || '';
dataedit.kodeHFIS = data_edit.value.kodeHFIS || '';//?
dataedit.id_dokter = data_edit.value.id_dokter || '';
dataedit.kodePoli = data_edit.value.Kode_poli || '';
dataedit.subspesialis = data_edit.value.Subspesialis || '';
dataedit.tglRencanaKontrol = data_edit.value.Tanggal_rencana_kontrol || '';
dataedit.user = data_edit.value.NamaDokter || '';
dataedit.kode_diagnosa = data_edit.value.Kode_diagnosa || '';
dataedit.nama_diagnosa = data_edit.value.Nama_diagnosa || '';
dataedit.tipe_surkon = data_edit.value.Tipe_SurKon || '';
dataedit.tipe_rawat = data_edit.value.tipe_rawat || '';//?
}
})
}
const dialog = ref(false);
const hapusData = ref('');
const modal_hapus = (item) => {
hapusData.value = item;
}
const proses_hapus = () => {
console.log("proses hapus")
console.log(hapusData.value)
// console.log(hapusData.value.id)
dialog.dialog = false;
}
const tambah = reactive({
dialog:false
})
</script>

View File

@@ -0,0 +1,130 @@
<template>
<div>
<v-app>
<v-main>
<v-container>
<v-card title="List Kunjungan Pasien" flat>
<template v-slot:text>
<v-row>
<v-col>
<div class="border-thin">
<VForm
@submit.prevent="get_data">
<v-container >
<v-row>
<v-col cols="12" md="6">
<v-text-field
v-model="reqtanggalkunjungan.tanggalawal"
label="Tanggal Awal"
type="date"
></v-text-field>
</v-col>
<v-col cols="12" md="6">
<v-text-field
v-model="reqtanggalkunjungan.tanggalakhir"
label="Tanggal Akhir"
type="date"
></v-text-field>
</v-col>
</v-row>
<v-row>
</v-row>
<VBtn class="mb-5"
variant="tonal"
type="submit">
C A R I
</VBtn>
</v-container>
</VForm>
</div>
</v-col>
</v-row>
<v-row>
<v-text-field v-model="search" label="Search" prepend-inner-icon="mdi-magnify" variant="outlined" hide-details single-line class="rounded elevation-1"></v-text-field>
</v-row>
<!-- </template>
<template> -->
</template>
<v-data-table :headers="headers" :items="dataKunjunganPasien" :search="search" hide-default-header>
<template v-slot:body="{items}">
<tr>
<th>Tanggal Masuk</th>
<th>Jam Masuk</th>
<th>No Rm</th>
<th>Nama</th>
<th>Umur</th>
<th>Jenis Kelamin</th>
<th> Ruang </th>
<th> DPJP </th>
</tr>
<tr v-for="(item,index) in items" :key="index">
<td v-if="index===0 || item.tanggalmasukkunjungan !== items[index-1].tanggalmasukkunjungan"> {{ item.tanggalmasukkunjungan }} </td>
<td v-else></td>
<td>{{ item.jammasukkunjungan }}</td>
<td>{{ item.nomr }}</td>
<td>{{ item.namalengkap }}</td>
<td>{{ item.umur }} Tahun</td>
<td>{{ item.jeniskelamin }}</td>
<td> {{ item.namaruang }} </td>
<td>{{ item.namalengkapdokter }}</td>
</tr>
</template>
</v-data-table>
</v-card>
</v-container>
</v-main>
</v-app>
</div>
</template>
<script setup>
const search = ref("");
const today = new Date();
const date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
console.log("DATE : ", date)
const headers = [
{
align: 'start',
key: 'name',
sortable: false,
},
{ key: 'tanggalmasukkunjungan', title: 'Tanggal Masuk' },
{ key: 'jammasukkunjungan', title: 'Jam Masuk' },
{ key: 'nomr', title: 'Nomer Rekam Medik' },
{ key: 'namalengkap', title: 'Nama' },
{ key: 'umur', title: 'Umur' },
{ key: 'jeniskelamin', title: 'Jenis Kelamin' },
{ key: 'namaruang', title: 'Ruang' },
{ key: 'namalengkapdokter', title: 'Dpjp' },
];
const reqtanggalkunjungan = reactive({
tanggalawal : "2024-12-16",
tanggalakhir : date,
})
const { dataKunjunganPasien } = storeToRefs(useDataKunjunganPasien());
const { loadDataKunjunganPasien } = useDataKunjunganPasien();
const get_data = async() => {
loadDataKunjunganPasien(reqtanggalkunjungan);
console.log("DATA", dataKunjunganPasien)
}
onMounted(() => {
loadDataKunjunganPasien(reqtanggalkunjungan);
("DATA", dataKunjunganPasien)
});
</script>