diff --git a/src/components/TableView.vue b/src/components/TableView.vue new file mode 100644 index 0000000..4f17b78 --- /dev/null +++ b/src/components/TableView.vue @@ -0,0 +1,481 @@ + + + + + + แก้ไขข้อมูล + + + + ยกเลิก + + + + + เพิ่มข้อมูล + + + + + บันทึกร่าง + + + + ลบบันทึกร่าง + + + + + + เผยแพร่ + + + + + ข้อมูลยังไม่เผยแพร่ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ col.label }} + + + + + + + + + + + + + + + + + + + ต้องการเผยแพร่ข้อมูลนี้หรือไม่? + + ข้อมูลที่กำลังถูกเผยแพร่นี้จะมีผลใช้งานทันที + + + + + + + + + + + + + + + + + + + ต้องการลบข้อมูลบันทึกร่างนี้หรือไม่? + + ข้อมูลบันทึกร่างที่กำลังถูกลบนี้จะมีผลใช้งานทันที + + + + + + + + + + + + diff --git a/src/interface/main/index.ts b/src/interface/main/index.ts index f5bc0bc..3c39ec2 100644 --- a/src/interface/main/index.ts +++ b/src/interface/main/index.ts @@ -33,15 +33,8 @@ const menuList = readonly([ key: 2, icon: 'o_person', activeIcon: 'person', - label: 'ข้อมูลหลัก01', - path: 'meta01' - }, - { - key: 3, - icon: 'o_person', - activeIcon: 'person', - label: 'ข้อมูลหลัก02', - path: 'meta02' + label: 'รายการสอบทั้งหมด', + path: 'exam' } ]) @@ -70,7 +63,7 @@ const notiList = readonly([ { id: 1, sender: 'ท', - body: 'ขอแก้ไขข้อมูลทะเบียนประวัติ', + body: 'ขอแก้ไขข้อมูลรายการสอบทั้งหมด', timereceive: '13/12/2565' } ]) diff --git a/src/main.ts b/src/main.ts index eec266f..2e526e1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import { createApp } from 'vue' +import { createApp, defineAsyncComponent } from 'vue' import { createPinia } from 'pinia' import { Dialog, Notify, Quasar } from 'quasar' @@ -34,4 +34,9 @@ app.use( quasarUserOptions ) +app.component( + 'data-table', + defineAsyncComponent(() => import('./components/TableView.vue')) +) + app.mount('#app') diff --git a/src/modules/01_exam/components/ExamDetail.vue b/src/modules/01_exam/components/ExamDetail.vue new file mode 100644 index 0000000..5088497 --- /dev/null +++ b/src/modules/01_exam/components/ExamDetail.vue @@ -0,0 +1,65 @@ + + + รายละเอียดการสอบ + + + + {{ exam.displayText }} ({{ exam.description }}) + ประกาศวันที่ {{ date2Thai(exam.createdUtc) }} + ประจำปีงบประมาณ {{ exam.budgetYear }} + + เปิดรับสมัครวันที่ {{ date2Thai(exam.startDate) }} - {{ date2Thai(exam.endDate) }} + + ค่าธรรมเนียมการสมัคร {{ exam.fee }} บาท + + + + ประกาศเกี่ยวกับการสอบนี้ + + + + {{ + file.displayText + }} + + + + + + + + + + + + + + ข้อควรระวัง + 1. ผู้สมัครสามารถสมัครได้เพียงครั้งเดียว + + 2. ชื่อ และนามสกุล ที่ท่านกรอกลงใน "ใบสมัครออนไลน์" + จะต้องเป็นชื่อที่ตรงกับบัตรประจำตัวประชาชน + + + 3. กรุณาตรวจสอบเลขประจำตัวประชาชนของท่านให้ถูกต้อง + เนื่องจากเลขประจำตัวประชาชนของท่านจะใช้อ้างอิงตลอดการสอบ + + + 4. ชื่อ และนามสกุล ที่ท่านกรอกลงใน "ใบสมัครออนไลน์" + จะต้องเป็นชื่อที่ตรงกับบัตรประจำตัวประชาชน + + + + + + + + diff --git a/src/modules/01_exam/components/ExamFinished.vue b/src/modules/01_exam/components/ExamFinished.vue new file mode 100644 index 0000000..0f69f3b --- /dev/null +++ b/src/modules/01_exam/components/ExamFinished.vue @@ -0,0 +1,43 @@ + + + คุณ xxxxxxx xxxxxx ได้สมัครสอบสำเร็จ + + + + + + + diff --git a/src/modules/01_exam/components/ExamForm.vue b/src/modules/01_exam/components/ExamForm.vue new file mode 100644 index 0000000..699a8d0 --- /dev/null +++ b/src/modules/01_exam/components/ExamForm.vue @@ -0,0 +1,1278 @@ + + + + + + + + + + + + + + + + คำนำหน้า + + + + + ชื่อ + + + + + + + นามสกุล + + + + + + + วัน เดือน ปีเกิด(พ.ศ.) + + + + + + + + + + + + + + + + + + + เพศ + + + + + + + สถานภาพ + + + + + + + หมู่โลหิต + + + + + + + สัญชาติ + + + + + + + เชื้อชาติ + + + + + + + ศาสนา + + + + + + + เบอร์โทรศัพท์ + + + + + + + อีเมล + + + + + + + + + + + + เลขประจำตัวประชาชน + + + + + + ออกให้ ณ จังหวัด + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + บัตรประจำตัวเจ้าหน้าที่รัฐ (ถ้ามี) + + + + + + + วันออกบัตรประชาชน + + + + + + + + + + + + + + + + + หมดอายุวันที่ + + + + + + + + + + + + + + + + + + + + + + + ที่อยู่ตามทะเบียนบ้าน + + + + + + จังหวัด + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + เขต/อำเภอ + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + แขวง/ตำบล + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + รหัสไปรษณีย์ + + + + + + + + + + ที่อยู่ตามทะเบียนบ้าน + + + + + + จังหวัด + + + + + + เขต/อำเภอ + + + + + + แขวง/ตำบล + + + + + + รหัสไปรษณีย์ + + + + + + + + + + + + ที่อยู่ปัจจุบัน + + + + + + จังหวัด + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + เขต/อำเภอ + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + แขวง/ตำบล + + + + ไม่พบจังหวัดที่คุณค้นหา + + + + + + รหัสไปรษณีย์ + + + + + + + + + + ที่อยู่ปัจจุบัน + + + + + + จังหวัด + + + + + + เขต/อำเภอ + + + + + + แขวง/ตำบล + + + + + + รหัสไปรษณีย์ + + + + + + + + + + + + วุฒิการศึกษา + + + + + + สาขา + + + + + + มหาวิทยาลัย + + + + + + ระดับการศึกษา + + + + + + วันที่สำเร็จการศึกษา + + + + + + + + + + + + + + + + เกรด + + + + + + ความสามารถพิเศษ + + + + + + + + + + + + + ใบประกอบวิชาชีพ + + + + + + เลขที่ + + + + + + วันที่ใช้งานได้ + + + + + + + + + + + + + + + + วันที่หมดอายุ + + + + + + + + + + + + + + + + + + + + + + อาชีพ + + + + + + อายุงาน + + + + + + ตำแหน่ง + + + + + + บริษัท + + + + + + เบอร์โทรบริษัท + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/01_exam/components/ExamPayment.vue b/src/modules/01_exam/components/ExamPayment.vue new file mode 100644 index 0000000..ed149dc --- /dev/null +++ b/src/modules/01_exam/components/ExamPayment.vue @@ -0,0 +1,11 @@ + + + ชำระค่าธรรมเนียมการสอบ + + + + + + diff --git a/src/modules/01_exam/interface/index/Main.ts b/src/modules/01_exam/interface/index/Main.ts new file mode 100644 index 0000000..46133c9 --- /dev/null +++ b/src/modules/01_exam/interface/index/Main.ts @@ -0,0 +1,10 @@ +interface Pagination { + rowsPerPage: number; +} + +interface DataOption { + id: string; + name: string; +} + +export type { Pagination, DataOption }; diff --git a/src/modules/01_exam/interface/request/Certificate.ts b/src/modules/01_exam/interface/request/Certificate.ts new file mode 100644 index 0000000..76a39d2 --- /dev/null +++ b/src/modules/01_exam/interface/request/Certificate.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; + } + + //ข้อมูล + interface RequestItemsObject { + id: string; + name: string; + certiNumber: string; + start: Date; + end: Date; + } + + //columns + interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; + } + + export type { RequestItemsObject, Columns, DataProps }; + \ No newline at end of file diff --git a/src/modules/01_exam/interface/request/Coin.ts b/src/modules/01_exam/interface/request/Coin.ts new file mode 100644 index 0000000..b5d3d05 --- /dev/null +++ b/src/modules/01_exam/interface/request/Coin.ts @@ -0,0 +1,27 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + receiveDate: Date; + detail: string; + agency: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Discipline.ts b/src/modules/01_exam/interface/request/Discipline.ts new file mode 100644 index 0000000..334f2e8 --- /dev/null +++ b/src/modules/01_exam/interface/request/Discipline.ts @@ -0,0 +1,29 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + status: string; + level: string; + refNo: string; + refDate: Date; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Document.ts b/src/modules/01_exam/interface/request/Document.ts new file mode 100644 index 0000000..9e1c218 --- /dev/null +++ b/src/modules/01_exam/interface/request/Document.ts @@ -0,0 +1,19 @@ +//ข้อมูล +interface RequestItemsObject { + name: String; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns }; diff --git a/src/modules/01_exam/interface/request/Education.ts b/src/modules/01_exam/interface/request/Education.ts new file mode 100644 index 0000000..3b4a37f --- /dev/null +++ b/src/modules/01_exam/interface/request/Education.ts @@ -0,0 +1,31 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + level: string; + levelId: string; + name: string; + start: number; + end: number; + education: string; + major: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Insignia.ts b/src/modules/01_exam/interface/request/Insignia.ts new file mode 100644 index 0000000..fb7eb81 --- /dev/null +++ b/src/modules/01_exam/interface/request/Insignia.ts @@ -0,0 +1,36 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + year: number; + receiveDate: Date; + insigniaType: string; + insigniaTypeId: string; + insignia: string; + insigniaId: string; + no: string; + gazetteNo: string; + volume: string; + book: string; + section: string; + page: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Leave.ts b/src/modules/01_exam/interface/request/Leave.ts new file mode 100644 index 0000000..5e36e33 --- /dev/null +++ b/src/modules/01_exam/interface/request/Leave.ts @@ -0,0 +1,38 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + year: number; + holiday: string; + sick: string; + government: string; + late: string; + other: string; + business: string; + maternity: string; + helpMaternity: string; + ordination: string; + study: string; + international: string; + spouse: string; + rehabilitation: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Main.ts b/src/modules/01_exam/interface/request/Main.ts new file mode 100644 index 0000000..dc6b137 --- /dev/null +++ b/src/modules/01_exam/interface/request/Main.ts @@ -0,0 +1,30 @@ +//ข้อมูล +interface RequestItemsObject { + id: number; + fullname: String; + avatar: String; + citizenId: String; + position: String; + line: String; + linePosition: String; + level: String; + positionFormalManage: String; + positionManage: String; + numberPosition: String; + government: String; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns }; diff --git a/src/modules/01_exam/interface/request/Other.ts b/src/modules/01_exam/interface/request/Other.ts new file mode 100644 index 0000000..986ae23 --- /dev/null +++ b/src/modules/01_exam/interface/request/Other.ts @@ -0,0 +1,25 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + detail: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Record.ts b/src/modules/01_exam/interface/request/Record.ts new file mode 100644 index 0000000..2a7235a --- /dev/null +++ b/src/modules/01_exam/interface/request/Record.ts @@ -0,0 +1,27 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + detail: string; + reference: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Salary.ts b/src/modules/01_exam/interface/request/Salary.ts new file mode 100644 index 0000000..f80c788 --- /dev/null +++ b/src/modules/01_exam/interface/request/Salary.ts @@ -0,0 +1,33 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + date: Date; + position: string; + positionId: string; + posNo: string; + posNoId: string; + level: string; + levelId: string; + salary: string; + reference: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Talent.ts b/src/modules/01_exam/interface/request/Talent.ts new file mode 100644 index 0000000..dada96a --- /dev/null +++ b/src/modules/01_exam/interface/request/Talent.ts @@ -0,0 +1,27 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + side: string; + detail: string; + note: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Train.ts b/src/modules/01_exam/interface/request/Train.ts new file mode 100644 index 0000000..107895e --- /dev/null +++ b/src/modules/01_exam/interface/request/Train.ts @@ -0,0 +1,31 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + course: string; + start: Date; + end: Date; + location: string; + detail: string; + organize: string; + gen: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/request/Work.ts b/src/modules/01_exam/interface/request/Work.ts new file mode 100644 index 0000000..4631317 --- /dev/null +++ b/src/modules/01_exam/interface/request/Work.ts @@ -0,0 +1,28 @@ +interface DataProps { + row: RequestItemsObject; + rowIndex: number; +} + +//ข้อมูล +interface RequestItemsObject { + id: string; + start: Date; + end: Date; + detail: string; + reference: string; +} + +//columns +interface Columns { + [index: number]: { + name: String; + align: String; + label: String; + sortable: Boolean; + field: String; + headerStyle: String; + style: String; + }; +} + +export type { RequestItemsObject, Columns, DataProps }; diff --git a/src/modules/01_exam/interface/response/Certificate.ts b/src/modules/01_exam/interface/response/Certificate.ts new file mode 100644 index 0000000..a3d4017 --- /dev/null +++ b/src/modules/01_exam/interface/response/Certificate.ts @@ -0,0 +1,11 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + status: string; + level: string; + refNo: string; + refDate: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Coin.ts b/src/modules/01_exam/interface/response/Coin.ts new file mode 100644 index 0000000..ea73301 --- /dev/null +++ b/src/modules/01_exam/interface/response/Coin.ts @@ -0,0 +1,9 @@ +//ข้อมูล +interface ResponseObject { + id: string; + receiveDate: Date; + detail: string; + agency: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Discipline.ts b/src/modules/01_exam/interface/response/Discipline.ts new file mode 100644 index 0000000..a3d4017 --- /dev/null +++ b/src/modules/01_exam/interface/response/Discipline.ts @@ -0,0 +1,11 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + status: string; + level: string; + refNo: string; + refDate: Date; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Document.ts b/src/modules/01_exam/interface/response/Document.ts new file mode 100644 index 0000000..4365fe3 --- /dev/null +++ b/src/modules/01_exam/interface/response/Document.ts @@ -0,0 +1,6 @@ +//ข้อมูล +interface ResponseObject { + name: String; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Education.ts b/src/modules/01_exam/interface/response/Education.ts new file mode 100644 index 0000000..2910198 --- /dev/null +++ b/src/modules/01_exam/interface/response/Education.ts @@ -0,0 +1,13 @@ +//ข้อมูล +interface ResponseObject { + id: string; + level: string; + levelId: string; + name: string; + start: number; + end: number; + education: string; + major: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Insignia.ts b/src/modules/01_exam/interface/response/Insignia.ts new file mode 100644 index 0000000..f42502d --- /dev/null +++ b/src/modules/01_exam/interface/response/Insignia.ts @@ -0,0 +1,18 @@ +//ข้อมูล +interface ResponseObject { + id: string; + year: number; + receiveDate: Date; + insigniaType: string; + insigniaTypeId: string; + insignia: string; + insigniaId: string; + no: string; + gazetteNo: string; + volume: string; + book: string; + section: string; + page: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Leave.ts b/src/modules/01_exam/interface/response/Leave.ts new file mode 100644 index 0000000..320552a --- /dev/null +++ b/src/modules/01_exam/interface/response/Leave.ts @@ -0,0 +1,20 @@ +//ข้อมูล +interface ResponseObject { + id: string; + year: number; + holiday: string; + sick: string; + government: string; + late: string; + other: string; + business: string; + maternity: string; + helpMaternity: string; + ordination: string; + study: string; + international: string; + spouse: string; + rehabilitation: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Main.ts b/src/modules/01_exam/interface/response/Main.ts new file mode 100644 index 0000000..6771a73 --- /dev/null +++ b/src/modules/01_exam/interface/response/Main.ts @@ -0,0 +1,17 @@ +//ข้อมูล +interface ResponseObject { + id: number; + fullname: String; + avatar: String; + citizenId: String; + position: String; + line: String; + linePosition: String; + level: String; + positionFormalManage: String; + positionManage: String; + numberPosition: String; + government: String; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Other.ts b/src/modules/01_exam/interface/response/Other.ts new file mode 100644 index 0000000..c2469ac --- /dev/null +++ b/src/modules/01_exam/interface/response/Other.ts @@ -0,0 +1,7 @@ +//ข้อมูล +interface ResponseObject { + id: string; + detail: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Record.ts b/src/modules/01_exam/interface/response/Record.ts new file mode 100644 index 0000000..5ed887b --- /dev/null +++ b/src/modules/01_exam/interface/response/Record.ts @@ -0,0 +1,9 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + detail: string; + reference: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Salary.ts b/src/modules/01_exam/interface/response/Salary.ts new file mode 100644 index 0000000..e8bc9ed --- /dev/null +++ b/src/modules/01_exam/interface/response/Salary.ts @@ -0,0 +1,15 @@ +//ข้อมูล +interface ResponseObject { + id: string; + date: Date; + position: string; + positionId: string; + posNo: string; + posNoId: string; + level: string; + levelId: string; + salary: string; + reference: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Talent.ts b/src/modules/01_exam/interface/response/Talent.ts new file mode 100644 index 0000000..7f6ec19 --- /dev/null +++ b/src/modules/01_exam/interface/response/Talent.ts @@ -0,0 +1,9 @@ +//ข้อมูล +interface ResponseObject { + id: string; + side: string; + detail: string; + note: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Train.ts b/src/modules/01_exam/interface/response/Train.ts new file mode 100644 index 0000000..2566c6a --- /dev/null +++ b/src/modules/01_exam/interface/response/Train.ts @@ -0,0 +1,13 @@ +//ข้อมูล +interface ResponseObject { + id: string; + course: string; + start: Date; + end: Date; + location: string; + detail: string; + organize: string; + gen: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/interface/response/Work.ts b/src/modules/01_exam/interface/response/Work.ts new file mode 100644 index 0000000..cb0b0a1 --- /dev/null +++ b/src/modules/01_exam/interface/response/Work.ts @@ -0,0 +1,10 @@ +//ข้อมูล +interface ResponseObject { + id: string; + start: Date; + end: Date; + detail: string; + reference: string; +} + +export type { ResponseObject }; diff --git a/src/modules/01_exam/router.ts b/src/modules/01_exam/router.ts new file mode 100644 index 0000000..697bfad --- /dev/null +++ b/src/modules/01_exam/router.ts @@ -0,0 +1,23 @@ +const Main = () => import('@/modules/01_exam/views/ExamMain.vue') +const Detail = () => import('@/modules/01_exam/views/ExamDetail.vue') + +export default [ + { + path: '/exam', + name: 'exam', + component: Main, + meta: { + Auth: true + // Key: [7] + } + }, + { + path: '/exam/:id', + name: 'examDetail', + component: Detail, + meta: { + Auth: true, + Key: [7] + } + } +] diff --git a/src/modules/01_exam/store.ts b/src/modules/01_exam/store.ts new file mode 100644 index 0000000..26f5d89 --- /dev/null +++ b/src/modules/01_exam/store.ts @@ -0,0 +1,26 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useExamDataStore = defineStore('exam', () => { + interface exam { + main: { columns: String[] } + } + + const examData = ref({ + main: { columns: [] } + }) + + const changeExamColumns = (system: String, val: String[]) => { + if (system == 'main') examData.value.main.columns = val + localStorage.setItem('exam', JSON.stringify(examData.value)) + } + + if (localStorage.getItem('exam') !== null) { + examData.value = JSON.parse(localStorage.getItem('exam') || '{}') + } + + return { + examData, + changeExamColumns + } +}) diff --git a/src/modules/01_exam/views/ExamDetail.vue b/src/modules/01_exam/views/ExamDetail.vue new file mode 100644 index 0000000..73fdcea --- /dev/null +++ b/src/modules/01_exam/views/ExamDetail.vue @@ -0,0 +1,87 @@ + + + + + กลับ + + สมัครสอบ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/01_exam/views/ExamMain.vue b/src/modules/01_exam/views/ExamMain.vue new file mode 100644 index 0000000..9f4d7e7 --- /dev/null +++ b/src/modules/01_exam/views/ExamMain.vue @@ -0,0 +1,231 @@ + + + + รายการสอบทั้งหมด + + + + + + + + + {{ props.rowIndex + 1 }} + + + + + + + {{ props.row.fullname }} + + + {{ props.row.citizenId }} + + + + + + {{ col.value }} + + + + + + + + + + diff --git a/src/modules/01_meta/interface/index/main.ts b/src/modules/01_meta/interface/index/main.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/modules/01_meta/interface/request/index.ts b/src/modules/01_meta/interface/request/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/modules/01_meta/interface/response/index.ts b/src/modules/01_meta/interface/response/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/modules/01_meta/router.ts b/src/modules/01_meta/router.ts deleted file mode 100644 index b9982e7..0000000 --- a/src/modules/01_meta/router.ts +++ /dev/null @@ -1,13 +0,0 @@ -const Meta = () => import('@/modules/01_meta/views/Meta01View.vue') - -export default [ - { - path: '/meta01', - name: 'meta01', - component: Meta, - meta: { - Auth: true - // Key: [7] - } - } -] diff --git a/src/modules/01_meta/store.ts b/src/modules/01_meta/store.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/modules/01_meta/views/Meta01View.vue b/src/modules/01_meta/views/Meta01View.vue deleted file mode 100644 index 17ad0af..0000000 --- a/src/modules/01_meta/views/Meta01View.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - This is an about META01 - - - - diff --git a/src/router/index.ts b/src/router/index.ts index c9a28d6..8ab2472 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,6 +1,6 @@ import { createRouter, createWebHistory } from 'vue-router' import HomeView from '../views/HomeView.vue' -import Meta01 from '@/modules/01_meta/router' +import Exam from '@/modules/01_exam/router' import Meta02 from '@/modules/02_meta/router' const MainLayout = () => import('@/views/MainLayout.vue') @@ -22,7 +22,7 @@ const router = createRouter({ Key: [7] } }, - ...Meta01, + ...Exam, ...Meta02 ] } diff --git a/src/views/MainLayout.vue b/src/views/MainLayout.vue index 91d182b..eb2c506 100644 --- a/src/views/MainLayout.vue +++ b/src/views/MainLayout.vue @@ -63,7 +63,7 @@ const doLogout = () => { - + @@ -365,7 +365,6 @@ const doLogout = () => { .toptitle { font-size: 1.2rem; font-weight: bold; - margin-bottom: 1%; } .q-field--outlined .q-field__control {
+ {{ + file.displayText + }} +