เพิ่มคอมเมนต์ code 05_Leave
This commit is contained in:
parent
82b4134afd
commit
6621dfd7f0
7 changed files with 1065 additions and 1314 deletions
|
|
@ -1,3 +1,135 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, watch, onMounted } from "vue"
|
||||
import FullCalendar from "@fullcalendar/vue3"
|
||||
import dayGridPlugin from "@fullcalendar/daygrid"
|
||||
import type { CalendarOptions } from "@fullcalendar/core"
|
||||
import timeGridPlugin from "@fullcalendar/timegrid"
|
||||
import interactionPlugin from "@fullcalendar/interaction"
|
||||
import allLocales from "@fullcalendar/core/locales-all"
|
||||
import listPlugin from "@fullcalendar/list"
|
||||
|
||||
/**
|
||||
* Option ของปฏิทิน
|
||||
*/
|
||||
const fullCalendar = ref<any>() //ref calendar
|
||||
const calendarOptions = ref<CalendarOptions>({
|
||||
plugins: [
|
||||
dayGridPlugin,
|
||||
timeGridPlugin,
|
||||
interactionPlugin, // needed for dateClick
|
||||
listPlugin,
|
||||
],
|
||||
buttonText: {
|
||||
listYear: "รายการ",
|
||||
dayGridMonth: "ปฏิทิน",
|
||||
test: "เพิ่มวันหยุด",
|
||||
},
|
||||
headerToolbar: false,
|
||||
initialView: "dayGridMonth",
|
||||
initialEvents: [], // alternatively, use the `events` setting to fetch from a feed
|
||||
selectable: true,
|
||||
dayMaxEvents: true,
|
||||
weekends: true,
|
||||
locale: "th",
|
||||
locales: allLocales,
|
||||
expandRows: true,
|
||||
nowIndicator: true,
|
||||
height: "100%",
|
||||
eventColor: "#fff",
|
||||
eventTextColor: "#4A5568",
|
||||
eventBorderColor: "#50a5fc",
|
||||
displayEventTime: false,
|
||||
editable: true,
|
||||
events: [
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-10", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-11-10", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-11", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-12", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-13", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "2", title: "ลาป่วย", start: "2023-10-19", allDay: true, status: "proceed", color: "#e4f3ff" },
|
||||
{ groupId: "1", title: "ลาป่วย", start: "2023-10-20", allDay: true, status: "new", color: "#FFF1CC" },
|
||||
],
|
||||
})
|
||||
|
||||
/**
|
||||
* ตัวแปรทั้งหมด
|
||||
*/
|
||||
const modalCancel = ref(false)
|
||||
const title = ref("")
|
||||
const location = ref("บ้าน")
|
||||
const subject = ref("ลาป่วย")
|
||||
const dateStart = ref("20 ส.ค. 2566")
|
||||
const dateEnd = ref("21 ส.ค. 2566")
|
||||
const numDate = ref("20")
|
||||
const place = ref("บ้าน")
|
||||
const phone = ref("000-00000000")
|
||||
const reason = ref("ยกเลิกการลา")
|
||||
const model = ref(null)
|
||||
const modeCancel = ref(true)
|
||||
|
||||
/** รับ props มาจากหน้าหลัก */
|
||||
const props = defineProps({
|
||||
dateYear: {
|
||||
//filter ปี วันหยุด
|
||||
type: Number,
|
||||
default: () => new Date().getFullYear(),
|
||||
},
|
||||
dateMonth: {
|
||||
//filter เดือน วันหยุด
|
||||
type: Number,
|
||||
default: () => new Date().getMonth(),
|
||||
},
|
||||
// refreshData: {
|
||||
// //หน้า main มีการอัพเดทค่าให้ refresh data
|
||||
// type: Boolean,
|
||||
// required: true,
|
||||
// },
|
||||
fetchDataSummaryCalendar: {
|
||||
//ฟังก์ชันอัพเดทสรุปวันหยุด
|
||||
type: Function,
|
||||
default: () => console.log("not function"),
|
||||
},
|
||||
})
|
||||
|
||||
/**
|
||||
* เรียกฟังก์ชันทั้งหมดตอนเรียกใช้ไฟล์นี้
|
||||
*/
|
||||
onMounted(async () => {
|
||||
if (fullCalendar !== undefined) {
|
||||
const calen = fullCalendar.value.getApi()
|
||||
const date = new Date(props.dateYear, props.dateMonth)
|
||||
calen.gotoDate(date)
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* ค่า props(วันเดือนปีที่เลือก) ตอนอัพเดท ค่าฏิทินให้อัพเดทใหม่
|
||||
*/
|
||||
watch(props, async (count, prevCount) => {
|
||||
const calen = fullCalendar.value.getApi()
|
||||
const date = new Date(props.dateYear, props.dateMonth)
|
||||
calen.gotoDate(date)
|
||||
})
|
||||
|
||||
/**
|
||||
* ฟังชันน์ยกเลิก model
|
||||
* @param text
|
||||
*/
|
||||
const cancel = async (text: string) => {
|
||||
title.value = text
|
||||
modalCancel.value = true
|
||||
modeCancel.value = true
|
||||
}
|
||||
/**
|
||||
* ฟังชันน์เปิด model
|
||||
* @param text
|
||||
*/
|
||||
const view = async (text: string) => {
|
||||
title.value = text
|
||||
modalCancel.value = true
|
||||
modeCancel.value = false
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div class="q-mt-sm">
|
||||
<div class="row q-gutter-sm q-pb-sm main-content">
|
||||
|
|
@ -79,119 +211,6 @@
|
|||
</q-card>
|
||||
</q-dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, watch, onMounted } from "vue"
|
||||
import FullCalendar from "@fullcalendar/vue3"
|
||||
import dayGridPlugin from "@fullcalendar/daygrid"
|
||||
import type { CalendarOptions } from "@fullcalendar/core"
|
||||
import timeGridPlugin from "@fullcalendar/timegrid"
|
||||
import interactionPlugin from "@fullcalendar/interaction"
|
||||
import allLocales from "@fullcalendar/core/locales-all"
|
||||
import listPlugin from "@fullcalendar/list"
|
||||
const fullCalendar = ref<any>() //ref calendar
|
||||
const calendarOptions = ref<CalendarOptions>({
|
||||
plugins: [
|
||||
dayGridPlugin,
|
||||
timeGridPlugin,
|
||||
interactionPlugin, // needed for dateClick
|
||||
listPlugin,
|
||||
],
|
||||
buttonText: {
|
||||
listYear: "รายการ",
|
||||
dayGridMonth: "ปฏิทิน",
|
||||
test: "เพิ่มวันหยุด",
|
||||
},
|
||||
headerToolbar: false,
|
||||
initialView: "dayGridMonth",
|
||||
initialEvents: [], // alternatively, use the `events` setting to fetch from a feed
|
||||
selectable: true,
|
||||
dayMaxEvents: true,
|
||||
weekends: true,
|
||||
locale: "th",
|
||||
locales: allLocales,
|
||||
expandRows: true,
|
||||
nowIndicator: true,
|
||||
height: "100%",
|
||||
eventColor: "#fff",
|
||||
eventTextColor: "#4A5568",
|
||||
eventBorderColor: "#50a5fc",
|
||||
displayEventTime: false,
|
||||
editable: true,
|
||||
events: [
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-10", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-11-10", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-11", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-12", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "3", title: "ลากิจส่วนตัว", start: "2023-10-13", allDay: true, status: "done", color: "#E3FDDA" },
|
||||
{ groupId: "2", title: "ลาป่วย", start: "2023-10-19", allDay: true, status: "proceed", color: "#e4f3ff" },
|
||||
{ groupId: "1", title: "ลาป่วย", start: "2023-10-20", allDay: true, status: "new", color: "#FFF1CC" },
|
||||
],
|
||||
})
|
||||
|
||||
const modalCancel = ref(false)
|
||||
const title = ref("")
|
||||
const location = ref("บ้าน")
|
||||
const subject = ref("ลาป่วย")
|
||||
const dateStart = ref("20 ส.ค. 2566")
|
||||
const dateEnd = ref("21 ส.ค. 2566")
|
||||
const numDate = ref("20")
|
||||
const place = ref("บ้าน")
|
||||
const phone = ref("000-00000000")
|
||||
const reason = ref("ยกเลิกการลา")
|
||||
const model = ref(null)
|
||||
const modeCancel = ref(true)
|
||||
const props = defineProps({
|
||||
dateYear: {
|
||||
//filter ปี วันหยุด
|
||||
type: Number,
|
||||
default: () => new Date().getFullYear(),
|
||||
},
|
||||
dateMonth: {
|
||||
//filter เดือน วันหยุด
|
||||
type: Number,
|
||||
default: () => new Date().getMonth(),
|
||||
},
|
||||
// refreshData: {
|
||||
// //หน้า main มีการอัพเดทค่าให้ refresh data
|
||||
// type: Boolean,
|
||||
// required: true,
|
||||
// },
|
||||
fetchDataSummaryCalendar: {
|
||||
//ฟังก์ชันอัพเดทสรุปวันหยุด
|
||||
type: Function,
|
||||
default: () => console.log("not function"),
|
||||
},
|
||||
})
|
||||
/**
|
||||
* เรียกฟังก์ชันทั้งหมดตอนเรียกใช้ไฟล์นี้
|
||||
*/
|
||||
onMounted(async () => {
|
||||
if (fullCalendar !== undefined) {
|
||||
const calen = fullCalendar.value.getApi()
|
||||
const date = new Date(props.dateYear, props.dateMonth)
|
||||
calen.gotoDate(date)
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* ค่า props(วันเดือนปีที่เลือก) ตอนอัพเดท ค่าฏิทินให้อัพเดทใหม่
|
||||
*/
|
||||
watch(props, async (count, prevCount) => {
|
||||
const calen = fullCalendar.value.getApi()
|
||||
const date = new Date(props.dateYear, props.dateMonth)
|
||||
calen.gotoDate(date)
|
||||
})
|
||||
const cancel = async (text: string) => {
|
||||
title.value = text
|
||||
modalCancel.value = true
|
||||
modeCancel.value = true
|
||||
}
|
||||
const view = async (text: string) => {
|
||||
title.value = text
|
||||
modalCancel.value = true
|
||||
modeCancel.value = false
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scope lang="scss">
|
||||
.main-content {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue