Files
antrean-operasi/components/pendaftaran/StatusPasienOperasi.vue
T

115 lines
5.4 KiB
Vue

<script setup lang="ts">
interface Props {
readonly?: boolean;
}
const props = withDefaults(defineProps<Props>(), {
readonly: false
});
const statusPasienData = defineModel<{
tanggalSelesai: string;
statusOperasi: string;
keteranganStatus: string;
}>({ required: true });
</script>
<template>
<v-card elevation="10">
<v-card-item>
<h5 class="text-h5 font-weight-bold">Data Status Pasien Operasi</h5>
</v-card-item>
<v-divider></v-divider>
<v-card-text>
<v-row>
<!-- Status Operasi -->
<v-col cols="12">
<v-label class="mb-2 font-weight-medium">Status Operasi <span class="text-error">*</span></v-label>
<v-row class="mt-2">
<v-col cols="12" sm="6" md="3">
<v-btn
block
size="large"
:variant="statusPasienData.statusOperasi === 'Belum' ? 'flat' : 'outlined'"
:color="statusPasienData.statusOperasi === 'Belum' ? 'primary' : 'default'"
@click="!readonly && (statusPasienData.statusOperasi = 'Belum')"
:disabled="readonly"
>
<v-icon left class="mr-2">{{ statusPasienData.statusOperasi === 'Belum' ? 'mdi-radiobox-marked' : 'mdi-radiobox-blank' }}</v-icon>
Belum
</v-btn>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-btn
block
size="large"
:variant="statusPasienData.statusOperasi === 'Selesai' ? 'flat' : 'outlined'"
:color="statusPasienData.statusOperasi === 'Selesai' ? 'primary' : 'default'"
@click="!readonly && (statusPasienData.statusOperasi = 'Selesai')"
:disabled="readonly"
>
<v-icon left class="mr-2">{{ statusPasienData.statusOperasi === 'Selesai' ? 'mdi-radiobox-marked' : 'mdi-radiobox-blank' }}</v-icon>
Selesai
</v-btn>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-btn
block
size="large"
:variant="statusPasienData.statusOperasi === 'Tunda' ? 'flat' : 'outlined'"
:color="statusPasienData.statusOperasi === 'Tunda' ? 'primary' : 'default'"
@click="!readonly && (statusPasienData.statusOperasi = 'Tunda')"
:disabled="readonly"
>
<v-icon left class="mr-2">{{ statusPasienData.statusOperasi === 'Tunda' ? 'mdi-radiobox-marked' : 'mdi-radiobox-blank' }}</v-icon>
Tunda
</v-btn>
</v-col>
<v-col cols="12" sm="6" md="3">
<v-btn
block
size="large"
:variant="statusPasienData.statusOperasi === 'Batal' ? 'flat' : 'outlined'"
:color="statusPasienData.statusOperasi === 'Batal' ? 'primary' : 'default'"
@click="!readonly && (statusPasienData.statusOperasi = 'Batal')"
:disabled="readonly"
>
<v-icon left class="mr-2">{{ statusPasienData.statusOperasi === 'Batal' ? 'mdi-radiobox-marked' : 'mdi-radiobox-blank' }}</v-icon>
Batal
</v-btn>
</v-col>
</v-row>
</v-col>
<!-- Tanggal Selesai Operasi -->
<v-col cols="6">
<v-label class="mb-2 font-weight-medium">Tanggal Selesai Operasi</v-label>
<v-text-field
v-model="statusPasienData.tanggalSelesai"
type="date"
variant="outlined"
density="comfortable"
hide-details="auto"
:readonly="readonly"
:bg-color="readonly ? 'grey-lighten-3' : undefined"
></v-text-field>
</v-col>
<!-- Keterangan Status Pasien -->
<v-col cols="12">
<v-label class="mb-2 font-weight-medium">Keterangan Status Pasien</v-label>
<v-textarea
v-model="statusPasienData.keteranganStatus"
variant="outlined"
rows="3"
hide-details="auto"
:readonly="readonly"
:bg-color="readonly ? 'grey-lighten-3' : undefined"
placeholder="Keterangan status tunda / batal"
></v-textarea>
</v-col>
</v-row>
</v-card-text>
</v-card>
</template>