diff --git a/src/interface/request/main/main.ts b/src/interface/request/main/main.ts index f03753da2..9594a2523 100644 --- a/src/interface/request/main/main.ts +++ b/src/interface/request/main/main.ts @@ -417,7 +417,7 @@ const menuList = readonly([ { key: 11, icon: "mdi-scale-balance", - activeIcon: "mdi-calendar", + activeIcon: "mdi-scale-balance", label: "วินัย", role: "discipline", children: [ @@ -483,13 +483,72 @@ const menuList = readonly([ }, ], }, + // { + // key: 11, + // icon: "mdi-account-check", + // activeIcon: "mdi-account-check", + // label: "ประเมิน", + // // path: "evaluate", + // role: "discipline", // evaluate + // children: [ + // { + // key: 12.1, + // label: "ประเมินบุคคล", + // path: "evaluate", + // role: "discipline", + // }, + // { + // label: "ข้อมูลพื้นฐาน", + // path: "", + // key: 12.2, + // role: "discipline", + // children: [ + // { + // label: "กรรมการ", + // path: "evaluateDirector", + // role: "discipline", + // }, + // { + // label: "การประชุม", + // path: "evaluateMeeting", + // role: "discipline", + // }, + // ], + // }, + // ], + // }, { - key: 12, + key: 11, icon: "mdi-account-check", - activeIcon: "evaluate", + activeIcon: "mdi-account-check", label: "ประเมินบุคคล", - path: "evaluate", - role: "discipline", // evaluate + role: "discipline", + children: [ + { + key: 11.1, + label: "คำขอประเมิน", + path: "evaluate", + role: "discipline", + }, + { + label: "กรรมการและการประชุม", + path: "", + key: 11.7, + role: "discipline", + children: [ + { + label: "กรรมการ", + path: "evaluateDirector", + role: "discipline", + }, + { + label: "การประชุม", + path: "evaluateMeeting", + role: "discipline", + }, + ], + }, + ], }, ]); diff --git a/src/modules/12_evaluate/components/Detail/viewstep/viewStep1.vue b/src/modules/12_evaluate/components/Detail/viewstep/viewStep1.vue new file mode 100644 index 000000000..9c84ddb58 --- /dev/null +++ b/src/modules/12_evaluate/components/Detail/viewstep/viewStep1.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/src/modules/12_evaluate/store/Evaluate.ts b/src/modules/12_evaluate/store/Evaluate.ts new file mode 100644 index 000000000..a5dfe0efc --- /dev/null +++ b/src/modules/12_evaluate/store/Evaluate.ts @@ -0,0 +1,149 @@ +import { defineStore } from "pinia"; +import { ref } from "vue"; +import type { QTableProps } from "quasar"; +import type { DataOption } from "@/modules/12_Evaluate/interface/index/Main"; +import { useCounterMixin } from "@/stores/mixin"; + +const mixin = useCounterMixin(); +const { date2Thai } = mixin; +export const useEvalutuonStore = defineStore("EvalutuonStore", () => { + /** function สถานะ*/ + function convertStatus(val: string) { + switch (val) { + case "CHECK_SPEC": + return "ตรวจสอบคุณสมบัติด้วยตนเอง"; + case "PREPARE_DOC_V1": + return "จัดเตรียมเอกสารเล่ม"; + case "CHECK_DOC_V1": + return "ตรวจสอบความถูกต้องของเอกสารเล่ม"; + case "WAIT_CHECK_DOC_V1": + return "รอตรวจสอบคุณสมบัติ"; + case "ANNOUNCE_WEB": + return "ประกาศบนเว็บไซต์"; + case "PREPARE_DOC_V2": + return "จัดเตรียมเอกสารเล่ม"; + case "WAIT_CHECK_DOC_V2": + return "รอพิจารณาผลการประเมิน"; + case "CHECK_DOC_V2": + return "ตรวจสอบความถูกต้องของเอกสารเล่ม"; + case "DONE": + return "เสร็จสิ้น"; + } + } + + // ตรวจสอบคุณสมบัติด้วยตนเอง -> CHECK_SPEC + // จัดเตรียมเอกสารเล่ม 1-> PREPARE_DOC_V1 + // ตรวจสอบความถูกต้องของเอกสารเล่ม 1 -> CHECK_DOC_V1 + // รอตรวจสอบคุณสมบัติ -> WAIT_CHECK_DOC_V1 + // ประกาศบนเว็บไซต์ -> ANNOUNCE_WEB + // จัดเตรียมเอกสารเล่ม 2 -> PREPARE_DOC_V2 + // ตรวจสอบความถูกต้องของเอกสารเล่ม 2 -> CHECK_DOC_V2 + // รอพิจารณาผลการประเมิน -> WAIT_CHECK_DOC_V2 + // เสร็จสิ้น -> DONE + + const visibleColumns = ref([ + "citizanId", + "fullName", + "position", + "level", + "positionNumber", + "agency", + "status", + ]); + const rows = ref([]); + function fetchData(data: any[]) { + const dataList: any[] = data.map((data: any) => ({ + citizanId: data.citizanId, + fullName: data.fullName, + position: data.position, + level: data.level, + positionNumber: data.positionNumber, + agency: data.agency, + status: convertStatus(data.status), + })); + rows.value = dataList; + console.log(dataList); + } + + const columns = ref([ + { + name: "citizanId", + align: "center", + label: "เลขประจำตัวประชาชน", + sortable: false, + field: "citizanId", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "fullName", + align: "left", + label: "ชื่อ-นามสกุล", + sortable: true, + field: "fullName", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "position", + align: "left", + label: "ตำแหน่ง", + sortable: true, + field: "position", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "level", + align: "left", + label: "ระดับ", + sortable: true, + field: "level", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "positionNumber", + align: "left", + label: "ตำแหน่งเลขที่", + sortable: true, + field: "positionNumber", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "agency", + align: "left", + label: "สังกัด", + sortable: true, + field: "agency", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "status", + align: "left", + label: "สถานะ(ตรวจสอบคุณสมบัติ)", + sortable: true, + field: "status", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + ]); + + return { + visibleColumns, + columns, + rows, + convertStatus, + fetchData, + }; +});