refector code

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-09-02 17:37:08 +07:00
parent 067ac5f173
commit 23d6801f80
9 changed files with 338 additions and 217 deletions

View file

@ -1,9 +1,15 @@
<script setup lang="ts">
import { ref, watch } from 'vue'
import { PropType } from 'vue'
import HeaderPopup from '@/components/HeaderPopup.vue'
import FormTime from '@/components/FormTime.vue'
import type { DataCheckIn } from '@/interface/index/Main'
import HeaderPopup from '@/components/HeaderPopup.vue' // popup
import FormTime from '@/components/FormTime.vue' //
/**
* props จาก components TableHistory
*/
const props = defineProps({
modal: {
type: Boolean,
@ -18,7 +24,7 @@ const props = defineProps({
default: null,
},
dataById: {
type: Object,
type: Object as PropType<DataCheckIn>,
default: null,
},
fetchData: {
@ -27,15 +33,25 @@ const props = defineProps({
},
})
const data = ref<any>()
const data = ref<DataCheckIn>() //
/**
* popup
* เรยกใชงก props.clickClose()
*/
function clickClosePopup() {
props.clickClose()
}
/**
* watch การเปลยนแปลงของ props.modal
*/
watch(
() => props.modal,
() => {
data.value = props.modal ? props.dataById : null
if (props.modal) {
data.value = props?.dataById
}
}
)
</script>
@ -43,10 +59,11 @@ watch(
<q-dialog v-model="props.modal" persistent>
<q-card :style="$q.screen.lt.sm ? 'width: 100%;' : 'width: 320px;'">
<HeaderPopup :title="props.title" :clickClose="clickClosePopup" />
<FormTime
:dataById="data"
:closePopup="clickClosePopup"
:fetchData="props.fetchData"
:data-byId="data"
:close-popup="clickClosePopup"
:fetch-data="props.fetchData"
/>
</q-card>
</q-dialog>