diff --git a/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue b/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue index 13f0e362d..455b700c0 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue @@ -2,20 +2,8 @@ import { ref, onMounted } from "vue"; import { useQuasar } from "quasar"; -import Stepper from "@/modules/12_evaluatePersonal/components/Detail/Stepper.vue"; -import Step1 from "@/modules/12_evaluatePersonal/components/Detail/step/step1.vue"; -import Step2 from "@/modules/12_evaluatePersonal/components/Detail/step/step2.vue"; -import Step3 from "@/modules/12_evaluatePersonal/components/Detail/step/step3.vue"; -import Step4 from "@/modules/12_evaluatePersonal/components/Detail/step/step4.vue"; -import Step5 from "@/modules/12_evaluatePersonal/components/Detail/step/step5.vue"; -import Step6 from "@/modules/12_evaluatePersonal/components/Detail/step/step6.vue"; -import Step7 from "@/modules/12_evaluatePersonal/components/Detail/step/step7.vue"; -import Step8 from "@/modules/12_evaluatePersonal/components/Detail/step/step8.vue"; -import Step9 from "@/modules/12_evaluatePersonal/components/Detail/step/step9.vue"; - -import ViewStep1 from "@/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep1.vue"; -import ViewStep3 from "@/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep3.vue"; -import ViewStep7 from "@/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep7.vue"; +import CardDirector from "@/modules/12_evaluatePersonal/components/Detail/viewTab2/CardDirector.vue"; +import CardMeet from "@/modules/12_evaluatePersonal/components/Detail/viewTab2/CardMeet.vue"; import { useEvaluateDetailStore } from "@/modules/12_evaluatePersonal/store/EvaluateDetail"; import { useCounterMixin } from "@/stores/mixin"; @@ -26,31 +14,18 @@ const { dialogConfirm } = mixin; const $q = useQuasar(); -function onCilckNextStep() { - store.step < 9 && - dialogConfirm($q, () => { - store.step++; - }); -} - -function onCilckprPeviousStep() { - store.step > 1 && - dialogConfirm($q, () => { - store.step--; - }); -} - -onMounted(() => { - store.step = 1; -}); +// onMounted(() => { +// store.step = 1; +// }); diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewTab2/CardDirector.vue b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/CardDirector.vue new file mode 100644 index 000000000..40f0b69fe --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/CardDirector.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewTab2/CardMeet.vue b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/CardMeet.vue new file mode 100644 index 000000000..7f55144bc --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/CardMeet.vue @@ -0,0 +1,163 @@ + + + + diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogDirector.vue b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogDirector.vue new file mode 100644 index 000000000..8580dbf48 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogDirector.vue @@ -0,0 +1,253 @@ + + + diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue new file mode 100644 index 000000000..6a2d008f1 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/modules/12_evaluatePersonal/components/Director/AddPage.vue b/src/modules/12_evaluatePersonal/components/Director/AddPage.vue new file mode 100644 index 000000000..4abd3a368 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Director/AddPage.vue @@ -0,0 +1,64 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Director/EditPage.vue b/src/modules/12_evaluatePersonal/components/Director/EditPage.vue new file mode 100644 index 000000000..98692b300 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Director/EditPage.vue @@ -0,0 +1,111 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Director/Form.vue b/src/modules/12_evaluatePersonal/components/Director/Form.vue new file mode 100644 index 000000000..351cf92bf --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Director/Form.vue @@ -0,0 +1,297 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Director/MainPage.vue b/src/modules/12_evaluatePersonal/components/Director/MainPage.vue new file mode 100644 index 000000000..d3e648423 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Director/MainPage.vue @@ -0,0 +1,246 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue new file mode 100644 index 000000000..183dfd9c0 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue @@ -0,0 +1,64 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue new file mode 100644 index 000000000..27c50fba8 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue @@ -0,0 +1,111 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Meeting/Form.vue b/src/modules/12_evaluatePersonal/components/Meeting/Form.vue new file mode 100644 index 000000000..e40f3a613 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Meeting/Form.vue @@ -0,0 +1,349 @@ + + diff --git a/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue new file mode 100644 index 000000000..7d49ce0a3 --- /dev/null +++ b/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue @@ -0,0 +1,291 @@ + + diff --git a/src/modules/12_evaluatePersonal/interface/index/meeting.ts b/src/modules/12_evaluatePersonal/interface/index/meeting.ts new file mode 100644 index 000000000..0099dad4b --- /dev/null +++ b/src/modules/12_evaluatePersonal/interface/index/meeting.ts @@ -0,0 +1,43 @@ +interface DataResponseList { + id: string + rounded: string + title: string + dateStart: Date + dateEnd: Date +} + +interface MainList { + id: string + rounded: string + title: string + date: string +} + +interface FormData { + rounded: string + dateMeeting: string + consider: string + period: string + file: FileOj[] +} + +interface FileOj{ + id:string + pathName:string + fileName:string +} + +interface FormRef { + rounded: object | null; + dateMeeting: object | null; + consider: object | null; + period: object | null; + [key: string]: any; +} +export type { + DataResponseList, + MainList, + FormData, + FormRef, + FileOj +} \ No newline at end of file diff --git a/src/modules/12_evaluatePersonal/router.ts b/src/modules/12_evaluatePersonal/router.ts index ae43d644e..26881fe1c 100644 --- a/src/modules/12_evaluatePersonal/router.ts +++ b/src/modules/12_evaluatePersonal/router.ts @@ -1,6 +1,13 @@ const mainPage = () => import("@/modules/12_evaluatePersonal/views/MainPage.vue"); -const detailPage = () => - import("@/modules/12_evaluatePersonal/views/DetailPage.vue"); +const detailPage = () => import("@/modules/12_evaluatePersonal/views/DetailPage.vue"); + +const directorPage = () => import("@/modules/12_evaluatePersonal/components/Director/MainPage.vue"); +const directorAddPage = () => import("@/modules/12_evaluatePersonal/components/Director/AddPage.vue"); +const directorEditPage = () => import("@/modules/12_evaluatePersonal/components/Director/EditPage.vue"); + +const meetingPage = () => import("@/modules/12_evaluatePersonal/components/Meeting/MainPage.vue"); +const meetingAddPage = () => import("@/modules/12_evaluatePersonal/components/Meeting/AddPage.vue"); +const meetingEditPage = () => import("@/modules/12_evaluatePersonal/components/Meeting/EditPage.vue"); export default [ { @@ -23,4 +30,64 @@ export default [ Role: "evaluate", }, }, + { + path: "/evaluate/director", + name: "evaluateDirector", + component: directorPage, + meta: { + Auth: true, + Key: [12.2], + Role: "discipline", + }, + }, + { + path: "/evaluate/director/add", + name: "evaluateDirectorAdd", + component: directorAddPage, + meta: { + Auth: true, + Key: [12.2], + Role: "discipline", + }, + }, + { + path: "/evaluate/director/:id", + name: "evaluateDirectorEdit", + component: directorEditPage, + meta: { + Auth: true, + Key: [12.2], + Role: "discipline", + }, + }, + { + path: "/evaluate/meeting", + name: "evaluateMeeting", + component: meetingPage, + meta: { + Auth: true, + Key: [12.2], + Role: "discipline", + }, + }, + { + path: "/evaluate/meeting/add", + name: "evaluateMeetingAdd", + component: meetingAddPage, + meta: { + Auth: true, + Key: [12.2], + Role: "discipline", + }, + }, + { + path: "/evaluate/meeting/:id", + name: "evaluateMeetingEdit", + component: meetingEditPage, + meta: { + Auth: true, + Key: [12.2], + Role: "discipline", + }, + }, ]; \ No newline at end of file diff --git a/src/modules/12_evaluatePersonal/store/MeetingStore.ts b/src/modules/12_evaluatePersonal/store/MeetingStore.ts new file mode 100644 index 000000000..cf675888d --- /dev/null +++ b/src/modules/12_evaluatePersonal/store/MeetingStore.ts @@ -0,0 +1,80 @@ +import { defineStore } from "pinia"; +import { ref } from "vue"; +import { useCounterMixin } from "@/stores/mixin"; +import type { DataResponseList, MainList } from "@/modules/12_evaluatePersonal/interface/index/meeting"; +import type { QTableProps } from "quasar"; + +// store ระบบวินัย >> ข้อมูลพื้นฐาน >> กรรมการ +export const useEvaluateMeetingDataStore = defineStore( + "evaluateMeeting", + () => { + const mixin = useCounterMixin() + const { date2Thai } = mixin + //ค้นหา คอลัมน์ คอลัมน์ที่แสดง + const visibleColumns = ref([ + "no", + "rounded", + "title", + "date", + ]); + + // หัวตาราง + const columns = ref([ + { + name: "no", + align: "left", + label: "ลำดับ", + sortable: false, + field: "no", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "rounded", + align: "left", + label: "ครั้งที่", + sortable: true, + field: "rounded", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "title", + align: "left", + label: "เรื่อง", + sortable: true, + field: "title", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "date", + align: "left", + label: "วันเวลาในการประชุม", + sortable: true, + field: "date", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + ]); + + // ข้อมูลในตาราง + const rows = ref([]); + function fetchData(data: DataResponseList[]) { + const dataList: MainList[] = data.map((item: DataResponseList) => ({ + id: item.id, + rounded: item.rounded, + title: item.title, + date: `${date2Thai(item.dateStart as Date)} - ${date2Thai(item.dateEnd as Date)}` + })) + rows.value = dataList + } + + return { + visibleColumns, + columns, + rows, + fetchData + }; + } +);