diff --git a/src/components/PopupCheckFeatures.vue b/src/components/PopupCheckFeatures.vue index 8ed0d1684..d936249b5 100644 --- a/src/components/PopupCheckFeatures.vue +++ b/src/components/PopupCheckFeatures.vue @@ -18,6 +18,7 @@ const props = defineProps({ }, clickClose: { type: Function, + default: () => {}, }, type: { type: String, @@ -46,7 +47,7 @@ const rows = ref([]); const columns = ref([ { name: "degree", - align: "center", + align: "left", label: "คุณวุฒิ", sortable: false, field: "degree", @@ -55,7 +56,7 @@ const columns = ref([ }, { name: "level", - align: "left", + align: "center", label: "ระดับ", sortable: true, field: "level", @@ -76,63 +77,137 @@ const columns = ref([ ]); const visibleColumns = ref(["degree", "level", "Expert"]); +const columnsSpecial = ref([ + { + name: "degree", + align: "left", + label: "คุณวุฒิ", + sortable: false, + field: "degree", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "level", + align: "center", + 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: "Special", + align: "center", + label: "ชำนาญการพิเศษ", + sortable: false, + field: "Special", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, +]); +const visibleColumnsSpecial = ref(["degree", "level", "Special"]); diff --git a/src/modules/09_leave/components/2_Leave/DetailLeave.vue b/src/modules/09_leave/components/2_Leave/DetailLeave.vue index c1dea856f..965f02cca 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeave.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeave.vue @@ -525,9 +525,10 @@ async function onClickDownloadFile(id: string, fileName: string, type: string) { ) " > - ดาวน์โหลดไฟล์ .docx + + ไฟล์ .DOCX - ดาวน์โหลดไฟล์ .pdf + + ไฟล์ .PDF diff --git a/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue b/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue index efe5ed3af..642e62e69 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue @@ -462,14 +462,15 @@ async function onClickDownloadFile(id: string, fileName: string, type: string) { @click=" onClickDownloadFile( formData.id, - formData.leaveTypeName, + 'ยกเลิก' + formData.leaveTypeName, typeDocx ) " > - ดาวน์โหลดไฟล์ .docx + + ไฟล์ .DOCX - ดาวน์โหลดไฟล์ .pdf + + ไฟล์ .PDF diff --git a/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue index f53b05e26..88cba9de5 100644 --- a/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue +++ b/src/modules/12_evaluatePersonal/components/Meeting/AddPage.vue @@ -24,12 +24,12 @@ function addData(formData: any) { showLoader(); http .post(config.API.meeting(), { - Round: formData.rounded ?? "", - Tittle: formData.title, - DateEnd: formData.dateMeetingEnd, - DateStart: formData.dateMeetingStart, - Result: formData.consider, - Duration: formData.period, + round: formData.rounded ?? "", + tittle: formData.title, + dateEnd: formData.dateMeetingEnd, + dateStart: formData.dateMeetingStart, + result: formData.consider, + duration: formData.period, }) .then((res) => { success($q, "บันทึกข้อมูลสำเร็จ"); diff --git a/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue index 2175677a7..72edfc48e 100644 --- a/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue +++ b/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue @@ -11,7 +11,9 @@ import config from "@/app.config"; import type { formData } from "@/modules/09_leave/interface/request/workTime"; const route = useRoute(); -const personalId = ref(route.params.id.toString()); +const personalId = ref(route.params.id as string); +console.log(personalId.value); + const $q = useQuasar(); const mixin = useCounterMixin(); const { @@ -21,6 +23,7 @@ const { dialogConfirm, success, date2Thai, + dateToISO, } = mixin; /**เมื่อเริ่มโหลดหน้า @@ -53,16 +56,13 @@ const fetchData = async () => { .get(config.API.meetingById(personalId.value)) .then((res) => { const dataApi = res.data.result; - personalId.value = dataApi.id; - data.title = dataApi.Tittle; - data.rounded = dataApi.Round; - data.consider = dataApi.Result; - data.period = dataApi.Duration; - data.dateMeetingStart = dataApi.DateStart; - data.dateMeetingEnd = date2Thai(dataApi.DateEnd, false, true); + data.title = dataApi.tittle; + data.rounded = dataApi.round; + data.consider = dataApi.result; + data.period = dataApi.duration; + data.dateMeetingStart = dataApi.dateStart; + data.dateMeetingEnd = dataApi.dateEnd; data.file = dataApi.file; - - console.log(data.dateMeetingStart); }) .catch((e) => { messageError($q, e); @@ -78,18 +78,19 @@ const fetchData = async () => { */ function onSubmit(formData: FormData) { dialogConfirm($q, () => putData(formData)); + console.log(personalId.value); } -function putData(formData: FormData) { +function putData(formData: any) { showLoader(); http .put(config.API.meetingById(personalId.value), { - Round: formData.rounded ?? "", - Tittle: formData.title, - DateStart: formData.dateMeetingStart, - DateEnd: formData.dateMeetingEnd, - Result: formData.consider, - Duration: formData.period, + round: formData.rounded ?? "", + tittle: formData.title, + dateStart: dateToISO(formData.dateMeetingStart), + dateEnd: dateToISO(formData.dateMeetingEnd), + result: formData.consider, + duration: formData.period, }) .then((res) => { success($q, "บันทึกข้อมูลสำเร็จ"); @@ -98,7 +99,8 @@ function putData(formData: FormData) { messageError($q, e); }) .finally(async () => { - router.push(`/discipline/meeting`); + hideLoader(); + router.push(`/evaluate/meeting`); }); } diff --git a/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue index 7f551eeef..a4e772adf 100644 --- a/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue +++ b/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue @@ -54,15 +54,16 @@ async function getList() { showLoader(); await http .get( - config.API.meeting( + config.API + .meeting // currentPage.value, // rowsPerPage.value, // filterKeyword.value - ) + () ) .then((res) => { // maxPage.value = Math.ceil(res.data.result.total / rowsPerPage.value); - const data = res.data.result + const data = res.data.result; dataStore.fetchData(data); }) .catch((e) => { @@ -71,8 +72,6 @@ async function getList() { .finally(() => { hideLoader(); }); - - } /** @@ -88,6 +87,7 @@ function clickDelete(id: string) { * @param id type */ async function deleteData(id: string) { + console.log(id); showLoader(); await http .delete(config.API.meetingById(id)) diff --git a/src/modules/12_evaluatePersonal/store/MeetingStore.ts b/src/modules/12_evaluatePersonal/store/MeetingStore.ts index f03620535..3ed0d01fc 100644 --- a/src/modules/12_evaluatePersonal/store/MeetingStore.ts +++ b/src/modules/12_evaluatePersonal/store/MeetingStore.ts @@ -60,22 +60,22 @@ export const useEvaluateMeetingDataStore = defineStore( const rows = ref([]); function fetchData(data: any[]) { const dataList: any[] = data.map((item: any) => ({ - id: item.Id, - createdAt: item.CreatedAt, - createdUserId: item.CreatedUserId, - lastUpdatedAt: item.LastUpdatedAt, - lastUpdateUserId: item.LastUpdateUserId, - createdFullName: item.CreatedFullName, - lastUpdateFullName: item.LastUpdateFullName, - title: item.Tittle, - round: item.Round, - date: `${date2Thai(item.DateStart as Date, false, true)} - ${date2Thai( - item.DateEnd as Date, + id: item.id, + createdAt: item.createdAt, + createdUserId: item.createdUserId, + lastUpdatedAt: item.lastUpdatedAt, + lastUpdateUserId: item.lastUpdateUserId, + createdFullName: item.createdFullName, + lastUpdateFullName: item.lastUpdateFullName, + title: item.tittle, + round: item.round, + date: `${date2Thai(item.dateStart as Date, false, true)} - ${date2Thai( + item.dateEnd as Date, false, true )}`, - result: item.Result, - duration: item.Duration, + result: item.result, + duration: item.duration, })); rows.value = dataList; } diff --git a/src/modules/12_evaluatePersonal/views/MainPage.vue b/src/modules/12_evaluatePersonal/views/MainPage.vue index 14b6a1baf..988b330a7 100644 --- a/src/modules/12_evaluatePersonal/views/MainPage.vue +++ b/src/modules/12_evaluatePersonal/views/MainPage.vue @@ -56,6 +56,10 @@ watch( } ); +function filterFn() { + getList(); + console.log("enter", filter.value); +} function getList() { showLoader(); http @@ -92,6 +96,41 @@ onMounted(async () => { รายการคำขอประเมิน +
+ + + + + + +