Merge branch 'master' of https://github.com/davila-erdianita/vuetify3 into ahdan-punya
This commit is contained in:
@@ -54,6 +54,12 @@
|
||||
to="/satu_rssa/logapi"
|
||||
></v-list-item>
|
||||
|
||||
<v-list-item
|
||||
v-bind="props"
|
||||
title="Jadwal Dokter"
|
||||
to="/satu_rssa/jadwal_dokter"
|
||||
></v-list-item>
|
||||
|
||||
<v-list-item
|
||||
v-bind="props"
|
||||
title="Kunjungan Pasien"
|
||||
|
||||
@@ -27,6 +27,11 @@ export default defineNuxtConfig({
|
||||
download:false,
|
||||
useStylesheet:true,
|
||||
},
|
||||
runtimeConfig:{
|
||||
public:{
|
||||
API_URL: process.env.API_URL
|
||||
},
|
||||
},
|
||||
|
||||
compatibilityDate: "2024-09-09",
|
||||
});
|
||||
75
pages/satu_rssa/jadwal_dokter/index.vue
Normal file
75
pages/satu_rssa/jadwal_dokter/index.vue
Normal file
@@ -0,0 +1,75 @@
|
||||
<template>
|
||||
<div>
|
||||
<v-app>
|
||||
<v-main>
|
||||
<v-container>
|
||||
<v-row>
|
||||
<v-col><h3>Jadwal Dokter</h3></v-col>
|
||||
</v-row>
|
||||
<v-card title="" flat class="mx-auto my-8 pt-3" elevation="3" min-width="300">
|
||||
<div class="d-inline-flex ml-5 mb-3">
|
||||
<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>
|
||||
</div>
|
||||
<v-data-table class="elevation-1 px-5" :headers="headers" :items="JadwalDokter" F :search="search" hide-default-header>
|
||||
<template v-slot:body="{items}">
|
||||
<!-- <thead>-->
|
||||
<tr>
|
||||
<th>Hari</th>
|
||||
<th>Waktu</th>
|
||||
<th>Spesialis</th>
|
||||
<th>Subspesialis</th>
|
||||
<th>Namalengkap</th>
|
||||
</tr>
|
||||
<!-- </thead> -->
|
||||
<!-- <tbody> -->
|
||||
<tr v-for="(item,index) in items" :key="index">
|
||||
<td v-if="index===0||item.hari !== items[index-1].hari">{{ item.hari }}</td>
|
||||
<td v-else></td>
|
||||
<!-- <td>{{ item.hari }}</td> -->
|
||||
<td>{{ item.waktu }}</td>
|
||||
<td v-if="index===0||item.spesialis !== items[index-1].spesialis">{{ item.spesialis }}</td>
|
||||
<td v-else></td>
|
||||
<!-- <td>{{ item.spesialis }}</td> -->
|
||||
<td v-if="index===0||item.subspesialis !== items[index-1].subspesialis">{{ item.subspesialis }}</td>
|
||||
<td v-else></td>
|
||||
<!-- <td>{{ item.subspesialis }}</td> -->
|
||||
<td>{{ item.namalengkap }}</td>
|
||||
</tr>
|
||||
<!-- </tbody> -->
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-card>
|
||||
</v-container>
|
||||
</v-main>
|
||||
</v-app>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
|
||||
const {JadwalDokter} = storeToRefs(useJadwalDokter());
|
||||
const {loadJadwalDokter} = useJadwalDokter();
|
||||
const dataJadwalDokter = ref([]);
|
||||
const search = ref("");
|
||||
const headers = [
|
||||
{
|
||||
align:'start',
|
||||
key:'name',
|
||||
sortable:false,
|
||||
},
|
||||
{key:'hari', title:'hari'},
|
||||
{key:'waktu', title:'waktu'},
|
||||
{key:'spesialis', title:'spesialis'},
|
||||
{key:'subspesialis', title:'subspesialis'},
|
||||
{key:'namalengkap', title:'namalengkap'},
|
||||
]
|
||||
|
||||
|
||||
onMounted(()=> {
|
||||
loadJadwalDokter();
|
||||
// console.log(JadwalDokter)
|
||||
// console.log(hari)
|
||||
})
|
||||
</script>
|
||||
18
server/api/satu_rssa/jadwal_dokter/index.get.ts
Normal file
18
server/api/satu_rssa/jadwal_dokter/index.get.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import axios from "axios";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const url = useRuntimeConfig().public.API_URL+"/jadwaldokter/detail";
|
||||
// console.log("data"+url)
|
||||
try {
|
||||
const response = await axios.get(url)
|
||||
// const response = await axios.get("http://10.10.150.129:8082/api/jadwaldokter/detail")
|
||||
return response.data
|
||||
} catch (error) {
|
||||
console.error("Error:", error);
|
||||
|
||||
throw createError({
|
||||
statusCode: 500,
|
||||
statusMessage: "Failed to fetch data from satu RSSA API",
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -209,6 +209,22 @@ export const useDataKunjunganPasien = defineStore("DataKunjunganPasien", () => {
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
export const useJadwalDokter = defineStore("JadwalDokter", () => {
|
||||
const JadwalDokter = ref<any[]>([]);
|
||||
const loadJadwalDokter = async() => {
|
||||
try {
|
||||
JadwalDokter.value = await $fetch("/api/satu_rssa/jadwal_dokter")
|
||||
} catch (error) {
|
||||
console.error("Failed to load jadwal dokter:", error);
|
||||
}
|
||||
}
|
||||
return{
|
||||
JadwalDokter,
|
||||
loadJadwalDokter,
|
||||
}
|
||||
})
|
||||
|
||||
//Path:stores/users.ts
|
||||
if (import.meta.hot) {
|
||||
// import.meta.hot.accept(acceptHMRUpdate(useUsersStore, import.meta.hot))
|
||||
|
||||
Reference in New Issue
Block a user