diff --git a/src/modules/09_leave/components/2_Leave/DetailLeave.vue b/src/modules/09_leave/components/2_Leave/DetailLeave.vue index dbae7f7fd..55625d3f8 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeave.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeave.vue @@ -158,82 +158,130 @@ async function fetchDetailLeave(paramsId: string) { ? data.reasonCommander : "-"; formData.reasonOligarch = data.reasonOligarch ? data.reasonOligarch : "-"; - formData.positionName = data.positionName; - formData.positionLevelName = data.positionLevelName; - formData.organizationName = data.organizationName; - formData.leaveTypeName = data.leaveTypeName; - formData.leaveTypeId = data.leaveTypeId; - formData.fullName = data.fullName; + formData.positionName = data.positionName ? data.positionName : "-"; + formData.positionLevelName = data.positionLevelName + ? data.positionLevelName + : "-"; + formData.organizationName = data.organizationName + ? data.organizationName + : "-"; + formData.leaveTypeName = data.leaveTypeName ? data.leaveTypeName : "-"; + formData.leaveTypeId = data.leaveTypeId ? data.leaveTypeId : "-"; + formData.fullName = data.fullName ? data.fullName : "-"; formData.dateSendLeave = data.dateSendLeave && date2Thai(data.dateSendLeave); formData.leaveDateStart = data.leaveStartDate && date2Thai(data.leaveStartDate); formData.leaveDateEnd = data.leaveEndDate && date2Thai(data.leaveEndDate); - formData.leaveCount = data.leaveCount; + formData.leaveCount = data.leaveCount ? data.leaveCount : "0"; formData.status = data.status && stores.convertSatatus(data.status); - formData.leaveLimit = data.leaveLimit; - formData.leaveSummary = data.leaveSummary; - formData.leaveRemain = data.leaveRemain; - formData.leaveWrote = data.leaveWrote; - formData.leaveAddress = data.leaveAddress; - formData.leaveNumber = data.leaveNumber; - formData.leaveDetail = data.leaveDetail; + formData.leaveLimit = data.leaveLimit ? data.leaveLimit : "0"; + formData.leaveSummary = data.leaveSummary ? data.leaveSummary : "0"; + formData.leaveRemain = data.leaveRemain ? data.leaveRemain : "0"; + formData.leaveWrote = data.leaveWrote ? data.leaveWrote : "-"; + formData.leaveAddress = data.leaveAddress ? data.leaveAddress : "-"; + formData.leaveNumber = data.leaveNumber ? data.leaveNumber : "-"; + formData.leaveDetail = data.leaveDetail ? data.leaveDetail : "-"; formData.leaveDocument = data.leaveDocument; formData.leaveDraftDocument = data.leaveDraftDocument; formData.leaveLastStart = data.leaveLastStart && date2Thai(data.leaveLastStart); formData.leaveLastEnd = data.leaveLastStart && date2Thai(data.leaveLastEnd); - formData.leaveTotal = data.leaveTotal; + formData.leaveTotal = data.leaveTotal ? data.leaveTotal : "0"; formData.leavebirthDate = - data.leavebirthDate && date2Thai(data.leavebirthDate); + data.leaveBirthDate && date2Thai(data.leaveBirthDate); formData.leavegovernmentDate = - data.leavegovernmentDate && date2Thai(data.leavegovernmentDate); - formData.leaveSalary = data.leaveSalary; - formData.leaveSalaryText = data.leaveSalaryText; + data.leaveGovernmentDate && date2Thai(data.leaveGovernmentDate); + formData.leaveSalary = data.leaveSalary ? data.leaveSalary : "-"; + formData.leaveSalaryText = data.leaveSalaryText ? data.leaveSalaryText : "-"; formData.leaveTypeDay = data.leaveTypeDay && stores.convertLeaveDaytype(data.leaveTypeDay); - formData.wifeDayName = data.wifeDayName; + formData.wifeDayName = data.wifeDayName ? data.wifeDayName : "-"; formData.wifeDayDateBorn = data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn); - formData.restDayOldTotal = data.restDayOldTotal; - formData.restDayCurrentTotal = data.restDayCurrentTotal; + formData.restDayOldTotal = data.restDayOldTotal + ? data.restDayOldTotal + : "0"; + formData.restDayCurrentTotal = data.restDayCurrentTotal + ? data.restDayCurrentTotal + : "0"; formData.ordainDayStatus = data.ordainDayStatus; - formData.ordainDayLocationName = data.ordainDayLocationName; - formData.ordainDayLocationAddress = data.ordainDayLocationAddress; - formData.ordainDayLocationNumber = data.ordainDayLocationNumber; + formData.ordainDayLocationName = data.ordainDayLocationName + ? data.ordainDayLocationName + : "-"; + formData.ordainDayLocationAddress = data.ordainDayLocationAddress + ? data.ordainDayLocationAddress + : "-"; + formData.ordainDayLocationNumber = data.ordainDayLocationNumber + ? data.ordainDayLocationNumber + : "-"; formData.ordainDayOrdination = data.ordainDayOrdination && date2Thai(data.ordainDayOrdination); - formData.ordainDayBuddhistLentName = data.ordainDayBuddhistLentName; - formData.ordainDayBuddhistLentAddress = data.ordainDayBuddhistLentAddress; + formData.ordainDayBuddhistLentName = data.ordainDayBuddhistLentName + ? data.ordainDayBuddhistLentName + : "-"; + formData.ordainDayBuddhistLentAddress = data.ordainDayBuddhistLentAddress + ? data.ordainDayBuddhistLentAddress + : "-"; formData.hajjDayStatus = data.hajjDayStatus; - formData.absentDaySummon = data.absentDaySummon; - formData.absentDayLocation = data.absentDayLocation; + formData.absentDaySummon = data.absentDaySummon + ? data.absentDaySummon + : "-"; + formData.absentDayLocation = data.absentDayLocation + ? data.absentDayLocation + : "-"; formData.absentDayRegistorDate = data.absentDayRegistorDate && date2Thai(data.absentDayRegistorDate); - formData.absentDayGetIn = data.absentDayGetIn; - formData.absentDayAt = data.absentDayAt; - formData.studyDaySubject = data.studyDaySubject; - formData.studyDayDegreeLevel = data.studyDayDegreeLevel; - formData.studyDayUniversityName = data.studyDayUniversityName; - formData.studyDayTrainingSubject = data.studyDayTrainingSubject; - formData.studyDayTrainingName = data.studyDayTrainingName; - formData.studyDayCountry = data.studyDayCountry; - formData.studyDayScholarship = data.studyDayScholarship; - formData.coupleDayName = data.coupleDayName; - formData.coupleDayPosition = data.coupleDayPosition; - formData.coupleDayLevel = data.coupleDayLevel; - formData.coupleDayLevelCountry = data.coupleDayLevelCountry; - formData.coupleDayCountryHistory = data.coupleDayCountryHistory; - formData.coupleDayTotalHistory = data.coupleDayTotalHistory; + formData.absentDayGetIn = data.absentDayGetIn ? data.absentDayGetIn : "-"; + formData.absentDayAt = data.absentDayAt ? data.absentDayAt : "-"; + formData.studyDaySubject = data.studyDaySubject + ? data.studyDaySubject + : "-"; + formData.studyDayDegreeLevel = data.studyDayDegreeLevel + ? data.studyDayDegreeLevel + : "-"; + formData.studyDayUniversityName = data.studyDayUniversityName + ? data.studyDayUniversityName + : "-"; + formData.studyDayTrainingSubject = data.studyDayTrainingSubject + ? data.studyDayTrainingSubject + : "-"; + formData.studyDayTrainingName = data.studyDayTrainingName + ? data.studyDayTrainingName + : "-"; + formData.studyDayCountry = data.studyDayCountry + ? data.studyDayCountry + : "-"; + formData.studyDayScholarship = data.studyDayScholarship + ? data.studyDayScholarship + : "-"; + formData.coupleDayName = data.coupleDayName ? data.coupleDayName : "-"; + formData.coupleDayPosition = data.coupleDayPosition + ? data.coupleDayPosition + : "-"; + formData.coupleDayLevel = data.coupleDayLevel ? data.coupleDayLevel : "-"; + formData.coupleDayLevelCountry = data.coupleDayLevelCountry + ? data.coupleDayLevelCountry + : "-"; + formData.coupleDayCountryHistory = data.coupleDayCountryHistory + ? data.coupleDayCountryHistory + : "-"; + formData.coupleDayTotalHistory = data.coupleDayTotalHistory + ? data.coupleDayTotalHistory + : "-"; formData.coupleDayStartDateHistory = data.coupleDayStartDateHistory && date2Thai(data.coupleDayStartDateHistory); formData.coupleDayEndDateHistory = data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory); - formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory; + formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory + ? data.coupleDaySumTotalHistory + : "-"; formData.approveStep = data.approveStep; formData.dear = data.dear ? data.dear : "-"; + console.log(formData); + await fectOptionType(); /** ส่งประเภทของการลาไป Function เช็คประเภทการลา*/ diff --git a/src/modules/09_leave/stores/SpecialTimeStore.ts b/src/modules/09_leave/stores/SpecialTimeStore.ts index 376476bb7..9069ff8e8 100644 --- a/src/modules/09_leave/stores/SpecialTimeStore.ts +++ b/src/modules/09_leave/stores/SpecialTimeStore.ts @@ -78,11 +78,15 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => { timeMorning: e.startTimeMorning == null ? "-" - : e.checkInEdit == true ? e.startTimeMorning + " - " + e.endTimeMorning:'-', + : e.checkInEdit == true + ? e.startTimeMorning + " - " + e.endTimeMorning + : "-", timeAfternoon: e.startTimeAfternoon == null ? "-" - : e.checkOutEdit == true ? e.startTimeAfternoon + " - " + e.endTimeAfternoon:'-', + : e.checkOutEdit == true + ? e.startTimeAfternoon + " - " + e.endTimeAfternoon + : "-", startTimeMorning: e.startTimeMorning, endTimeMorning: e.endTimeMorning, startTimeAfternoon: e.startTimeAfternoon, diff --git a/src/modules/11_discipline/router.ts b/src/modules/11_discipline/router.ts index e095c9609..cae70eafe 100644 --- a/src/modules/11_discipline/router.ts +++ b/src/modules/11_discipline/router.ts @@ -46,7 +46,6 @@ const complaintEdit = () => import("@/modules/11_discipline/components/1_Complaint/EditPage.vue"); const reportType = () => import("@/modules/11_discipline/components/5_Report/DetailPage.vue"); - const InvestigateDisciplinaryAdd = () => import( "@/modules/11_discipline/components/3_InvestigateDisciplinary/AddPage.vue" @@ -68,9 +67,12 @@ const listSuspendMainPage = () => const suspendEditPage = () => import("@/modules/11_discipline/components/7_ListSuspend/DetailPage.vue"); -const appealComplain = () => import('@/modules/11_discipline/components/8_AppealComplain/MainPage.vue') -const appealComplainAdd = () => import('@/modules/11_discipline/components/8_AppealComplain/AddPage.vue') -const appealComplainEdit = () => import('@/modules/11_discipline/components/8_AppealComplain/EditPage.vue') +const appealComplain = () => + import("@/modules/11_discipline/components/8_AppealComplain/MainPage.vue"); +const appealComplainAdd = () => + import("@/modules/11_discipline/components/8_AppealComplain/AddPage.vue"); +const appealComplainEdit = () => + import("@/modules/11_discipline/components/8_AppealComplain/EditPage.vue"); export default [ { path: "/discipline/complaints", diff --git a/src/modules/12_Evaluate/MainPage.vue b/src/modules/12_Evaluate/MainPage.vue new file mode 100644 index 000000000..91f98d6d4 --- /dev/null +++ b/src/modules/12_Evaluate/MainPage.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/modules/12_Evaluate/components/DetailPage.vue b/src/modules/12_Evaluate/components/DetailPage.vue new file mode 100644 index 000000000..e69de29bb diff --git a/src/modules/12_Evaluate/components/Table.vue b/src/modules/12_Evaluate/components/Table.vue new file mode 100644 index 000000000..862cb5f87 --- /dev/null +++ b/src/modules/12_Evaluate/components/Table.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/src/modules/12_Evaluate/interface/index/Main.ts b/src/modules/12_Evaluate/interface/index/Main.ts new file mode 100644 index 000000000..15bf08932 --- /dev/null +++ b/src/modules/12_Evaluate/interface/index/Main.ts @@ -0,0 +1,86 @@ +interface DataOption { + id: string; + name: string; +} +interface DataOptionYear { + id: number; + name: string; +} +interface DataOptioGroup { + id: string; + name: string; + + disable: Boolean; +} + +interface DataNumberOption { + id: number; + name: string; +} + +interface InvestigatefactsDataRowType { + id: string; + title: string; + respondentType: string; + offenseDetails: string; + investigationDetail: string; + dateInvestigate: string; + investigationStatusResult: string; + status: string; +} + +interface investigateDisDataRowType { + id: string; //id รายการ + title: string; //เรื่องร้องเรียน + interrogated: string; //ผู้ถูกสอบสวน + descMistake: string; //ลักษณะความผิด + mistakeLevel: string; //ระดับโทษความผิด + mistakeCase: string; //กรณีความผิด + investigationDate: Date | null; //วันที่สอบสวน + status: string | null; //สถานะ + isResultConfirmed: Boolean; //ยืนยันผลเเล้ว/ยังไม่ได้ยืนยันผล +} + +interface directorType { + id: string; + directorId?: string; + prefix: string; + firstName: string; + lastName: string; + position: string; + email: string; + phone: string; + total?: number; + duty?: string; +} +interface responseType { + id: string; + directorId?: string; + prefix: string; + firstName: string; + lastName: string; + position: string; + email: string; + phone: string; + total?: number; + duty?: string; + +} + +interface FileLists { + id: string; //id เอกสาร + fileName: string; //ชื่่อเอกสาร + pathName: string; //link file +} + +export type { + DataOption, + InvestigatefactsDataRowType, + investigateDisDataRowType, + directorType, + DataNumberOption, + responseType, + FileLists, + DataOptioGroup, + DataOptionYear, +}; diff --git a/src/modules/12_Evaluate/router.ts b/src/modules/12_Evaluate/router.ts new file mode 100644 index 000000000..48ee1c3f8 --- /dev/null +++ b/src/modules/12_Evaluate/router.ts @@ -0,0 +1,25 @@ +const Evaluate = () => import("@/modules/12_Evaluate/MainPage.vue"); +const EvaluateDetail = () => + import("@/modules/12_Evaluate/components/DetailPage.vue"); +export default [ + { + path: "/evaluate", + name: "evaluate", + component: Evaluate, + meta: { + Auth: true, + Key: [12], + Role: "evaluate", + }, + }, + { + path: "/evaluate/detail", + name: "evaluateDetail", + component: EvaluateDetail, + meta: { + Auth: true, + Key: [12.1], + Role: "evaluate", + }, + }, +]; diff --git a/src/modules/12_Evaluate/store/Evaluate.ts b/src/modules/12_Evaluate/store/Evaluate.ts new file mode 100644 index 000000000..80e4e9498 --- /dev/null +++ b/src/modules/12_Evaluate/store/Evaluate.ts @@ -0,0 +1,114 @@ +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 "NEW": + // return "กำลังสรุปผลการพิจารณา"; + // case "STOP": + // return "ยุติเรื่อง"; + case "DONE": + return "กำลังสรุปผลการพิจารณา"; + case "REPORT": + return "ส่งไปออกคำสั่ง"; + } + } + + const visibleColumns = ref([ + "citizanId", + "fullName", + "position", + "level", + "positionNumber", + "agency", + "status", + ]); + const rows = ref([]); + + 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, + }; +});