diff --git a/src/modules/11_discipline/components/1_Complaint/MainPage.vue b/src/modules/11_discipline/components/1_Complaint/MainPage.vue index 8dfd73302..c7fab72c0 100644 --- a/src/modules/11_discipline/components/1_Complaint/MainPage.vue +++ b/src/modules/11_discipline/components/1_Complaint/MainPage.vue @@ -10,6 +10,7 @@ import http from "@/plugins/http"; import { checkPermission } from "@/utils/permissions"; import { useCounterMixin } from "@/stores/mixin"; import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore"; +import { useDisciplineMainStore } from "@/modules/11_discipline/store/Main"; import type { DataOption } from "@/modules/11_discipline/interface/index/Main"; @@ -19,10 +20,11 @@ import DialogSearchAdvanced from "@/modules/11_discipline/components/DialogSearc const $q = useQuasar(); const router = useRouter(); +const store = useDisciplineMainStore(); const mixin = useCounterMixin(); const complainstStore = useComplainstDataStore(); const { fetchComplainst } = complainstStore; -const { showLoader, messageError, hideLoader } = mixin; +const { showLoader, messageError, hideLoader, convertDateToAPI } = mixin; const filterRef = ref(null); const filterTable = ref(""); @@ -42,36 +44,21 @@ const pagination = ref({ }); /** ดึงข้อมูล เรื่องร้องเรียน */ -async function getList(data?: any) { +async function getList(page?: number) { const body = { - page: pagination.value.page, + page: page ? page : pagination.value.page, pageSize: pagination.value.rowsPerPage, keyword: filterKeyword.value.trim(), status: statusFilter.value, - ...(data && data.dateReceivedStart - ? { dateReceivedStart: data.dateReceivedStart } - : {}), - ...(data && data.dateReceivedEnd - ? { dateReceivedEnd: data.dateReceivedEnd } - : {}), - ...(data && data.respondentType - ? { respondentType: data.respondentType } - : {}), - ...(data && data.offenseDetails - ? { offenseDetails: data.offenseDetails } - : {}), - ...(data && data.levelConsideration - ? { levelConsideration: data.levelConsideration } - : {}), - ...(data && data.dateConsiderationStart - ? { dateConsiderationStart: data.dateConsiderationStart } - : {}), - ...(data && data.dateConsiderationEnd - ? { dateConsiderationEnd: data.dateConsiderationEnd } - : {}), + ...(store.formComplaint.dateReceived?.[0] && { dateReceivedStart: convertDateToAPI(store.formComplaint.dateReceived[0])}), + ...(store.formComplaint.dateReceived?.[1] && { dateReceivedEnd: convertDateToAPI(store.formComplaint.dateReceived[1])}), + ...(store.formComplaint.respondentType && { respondentType: store.formComplaint.respondentType}), + ...(store.formComplaint.offenseDetails && { offenseDetails: store.formComplaint.offenseDetails}), + ...(store.formComplaint.levelConsideration && { levelConsideration: store.formComplaint.levelConsideration}), + ...(store.formComplaint.dateConsideration?.[0] && { dateConsiderationStart: convertDateToAPI( store.formComplaint.dateConsideration[0])}), + ...(store.formComplaint.dateConsideration?.[1] && { dateConsiderationEnd: convertDateToAPI( store.formComplaint.dateConsideration[1])}), }; showLoader(); - await http .post(config.API.complaintList(), body) // @@ -183,7 +170,7 @@ onMounted(async () => { > - + (dataInvestigate.statusOptions); @@ -36,36 +38,45 @@ const pagination = ref({ const attrs = ref(useAttrs()); /** ดึงข้อมูลบสวน */ -async function getList(data?: any) { +async function getList(page?: number) { const body = { - page: pagination.value.page, + page: page ? page : pagination.value.page, pageSize: pagination.value.rowsPerPage, keyword: filterKeyword.value.trim(), status: statusFilter.value, - ...(data && data.respondentType - ? { respondentType: data.respondentType } - : {}), - ...(data && data.offenseDetails - ? { offenseDetails: data.offenseDetails } - : {}), - ...(data && data.investigationDetail - ? { investigationDetail: data.investigationDetail } - : {}), - ...(data && data.investigationDateStart - ? { investigationDateStart: data.investigationDateStart } - : {}), - ...(data && data.investigationDateEnd - ? { investigationDateEnd: data.investigationDateEnd } - : {}), - ...(data && data.dateReceivedStart - ? { dateReceivedStart: data.dateReceivedStart } - : {}), - ...(data && data.dateReceivedEnd - ? { dateReceivedEnd: data.dateReceivedEnd } - : {}), - ...(data && data.investigationStatusResult - ? { investigationStatusResult: data.investigationStatusResult } - : {}), + ...(store.formInvestigateFacts.respondentType && { + respondentType: store.formInvestigateFacts.respondentType, + }), + ...(store.formInvestigateFacts.offenseDetails && { + offenseDetails: store.formInvestigateFacts.offenseDetails, + }), + ...(store.formInvestigateFacts.investigationDetail && { + investigationDetail: store.formInvestigateFacts.investigationDetail, + }), + ...(store.formInvestigateFacts.investigationDate?.[0] && { + investigationDateStart: convertDateToAPI( + store.formInvestigateFacts.investigationDate[0] + ), + }), + ...(store.formInvestigateFacts.investigationDate?.[1] && { + investigationDateEnd: convertDateToAPI( + store.formInvestigateFacts.investigationDate[1] + ), + }), + ...(store.formInvestigateFacts.dateReceived?.[0] && { + dateReceivedStart: convertDateToAPI( + store.formInvestigateFacts.dateReceived[0] + ), + }), + ...(store.formInvestigateFacts.dateReceived?.[1] && { + dateReceivedEnd: convertDateToAPI( + store.formInvestigateFacts.dateReceived[1] + ), + }), + ...(store.formInvestigateFacts.investigationStatusResult && { + investigationStatusResult: + store.formInvestigateFacts.investigationStatusResult, + }), }; showLoader(); await http @@ -148,7 +159,7 @@ onMounted(async () => { รายการสืบสวนข้อเท็จจริง -
+
{ - + (""); //search data table const status = ref("NEW"); -async function fetchListDisciplinary(data?: any) { +async function fetchListDisciplinary(page?: number) { const body = { - page: pagination.value.page, + page: page ? page : pagination.value.page, pageSize: pagination.value.rowsPerPage, keyword: filter.value.trim(), status: status.value, - ...(data && data.respondentType - ? { respondentType: data.respondentType } - : {}), - ...(data && data.offenseDetails - ? { offenseDetails: data.offenseDetails } - : {}), - ...(data && data.disciplinaryFaultLevel - ? { disciplinaryFaultLevel: data.disciplinaryFaultLevel } - : {}), - ...(data && data.disciplinaryCaseFault - ? { disciplinaryCaseFault: data.disciplinaryCaseFault } - : {}), - ...(data && data.disciplinaryDateStart - ? { disciplinaryDateStart: data.disciplinaryDateStart } - : {}), - ...(data && data.disciplinaryDateEnd - ? { disciplinaryDateEnd: data.disciplinaryDateEnd } - : {}), - ...(data && data.dateReceivedStart - ? { dateReceivedStart: data.dateReceivedStart } - : {}), - ...(data && data.dateReceivedEnd - ? { dateReceivedEnd: data.dateReceivedEnd } - : {}), + ...(store.formInvestigateDisciplinary.respondentType && { + respondentType: store.formInvestigateDisciplinary.respondentType, + }), + ...(store.formInvestigateDisciplinary.offenseDetails && { + offenseDetails: store.formInvestigateDisciplinary.offenseDetails, + }), + ...(store.formInvestigateDisciplinary.disciplinaryFaultLevel && { + disciplinaryFaultLevel: + store.formInvestigateDisciplinary.disciplinaryFaultLevel, + }), + ...(store.formInvestigateDisciplinary.disciplinaryCaseFault && { + disciplinaryCaseFault: + store.formInvestigateDisciplinary.disciplinaryCaseFault.trim(), + }), + ...(store.formInvestigateDisciplinary.disciplinaryDate?.[0] && { + disciplinaryDateStart: convertDateToAPI( + store.formInvestigateDisciplinary.disciplinaryDate[0] + ), + }), + ...(store.formInvestigateDisciplinary.disciplinaryDate?.[1] && { + disciplinaryDateEnd: convertDateToAPI( + store.formInvestigateDisciplinary.disciplinaryDate[1] + ), + }), + ...(store.formInvestigateDisciplinary.dateReceived?.[0] && { + dateReceivedStart: convertDateToAPI( + store.formInvestigateDisciplinary.dateReceived[0] + ), + }), + ...(store.formInvestigateDisciplinary.dateReceived?.[1] && { + dateReceivedEnd: convertDateToAPI( + store.formInvestigateDisciplinary.dateReceived[1] + ), + }), }; showLoader(); await http @@ -99,9 +112,9 @@ function filterStatus(statusReturn: string) { getSearch(); } -function getSearch(data?:any) { +function getSearch(page?: number) { pagination.value.page = 1; - fetchListDisciplinary(data); + fetchListDisciplinary(page); } watch( diff --git a/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue b/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue index c45d1aefb..a6d5db40a 100644 --- a/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue +++ b/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue @@ -171,7 +171,7 @@ function updatePagination(newPagination: any) { - + (""); const status = ref("DONE"); @@ -31,38 +32,46 @@ const pagination = ref({ }); /** function เรียกรายการสรุปผลการพิจารณาทางวินัย*/ -async function fetchListResult(data?: any) { +async function fetchListResult(page?: number) { const body = { - page: pagination.value.page, + page: page ? page : pagination.value.page, pageSize: pagination.value.rowsPerPage, keyword: filter.value.trim(), status: status.value, - ...(data && data.respondentType - ? { respondentType: data.respondentType } - : {}), - ...(data && data.offenseDetails - ? { offenseDetails: data.offenseDetails } - : {}), - ...(data && data.disciplinaryFaultLevel - ? { disciplinaryFaultLevel: data.disciplinaryFaultLevel } - : {}), - ...(data && data.disciplinaryCaseFault - ? { disciplinaryCaseFault: data.disciplinaryCaseFault } - : {}), - ...(data && data.disciplinaryDateStart - ? { disciplinaryDateStart: data.disciplinaryDateStart } - : {}), - ...(data && data.disciplinaryDateEnd - ? { disciplinaryDateEnd: data.disciplinaryDateEnd } - : {}), - ...(data && data.resultDisciplineType - ? { resultDisciplineType: data.resultDisciplineType } - : {}), - ...(data && data.resultTitleType - ? { resultTitleType: data.resultTitleType } - : {}), - ...(data && data.resultOc ? { resultOc: data.resultOc } : {}), - ...(data && data.resultYear ? { resultYear: data.resultYear } : {}), + ...(store.formResult.respondentType && { + respondentType: store.formResult.respondentType, + }), + ...(store.formResult.offenseDetails && { + offenseDetails: store.formResult.offenseDetails, + }), + ...(store.formResult.disciplinaryFaultLevel && { + disciplinaryFaultLevel: store.formResult.disciplinaryFaultLevel, + }), + ...(store.formResult.disciplinaryCaseFault && { + disciplinaryCaseFault: store.formResult.disciplinaryCaseFault.trim(), + }), + ...(store.formResult.disciplinaryDate?.[0] && { + disciplinaryDateStart: convertDateToAPI( + store.formResult.disciplinaryDate[0] + ), + }), + ...(store.formResult.disciplinaryDate?.[1] && { + disciplinaryDateEnd: convertDateToAPI( + store.formResult.disciplinaryDate[1] + ), + }), + ...(store.formResult.resultDisciplineType && { + resultDisciplineType: store.formResult.resultDisciplineType.trim(), + }), + ...(store.formResult.resultTitleType && { + resultTitleType: store.formResult.resultTitleType.trim(), + }), + ...(store.formResult.resultOc && { + resultOc: store.formResult.resultOc.trim(), + }), + ...(store.formResult.resultYear && { + resultYear: store.formResult.resultYear, + }), }; showLoader(); await http @@ -103,9 +112,9 @@ function filterStatus(statusReturn: string) { getSearch(); } -function getSearch(data?: any) { +function getSearch(page?: number) { pagination.value.page = 1; - fetchListResult(data); + fetchListResult(page); } watch( @@ -131,11 +140,11 @@ onMounted(async () => {
- + -import { ref, reactive } from "vue"; +import { ref, reactive, watchEffect } from "vue"; import { useRoute } from "vue-router"; import { useCounterMixin } from "@/stores/mixin"; @@ -26,36 +26,6 @@ const modal = ref(false); /** เปิด popup ค้นหาขั้นสูง */ function onSearch() { modal.value = true; - - formComplaint.dateReceived = null; - formComplaint.respondentType = ""; - formComplaint.offenseDetails = ""; - formComplaint.levelConsideration = ""; - formComplaint.dateConsideration = null; - - formInvestigateFacts.respondentType = ""; - formInvestigateFacts.offenseDetails = ""; - formInvestigateFacts.investigationDetail = ""; - formInvestigateFacts.investigationDate = null; - formInvestigateFacts.dateReceived = null; - formInvestigateFacts.investigationStatusResult = ""; - - formInvestigateDisciplinary.respondentType = ""; - formInvestigateDisciplinary.offenseDetails = ""; - formInvestigateDisciplinary.disciplinaryFaultLevel = ""; - formInvestigateDisciplinary.disciplinaryCaseFault = ""; - formInvestigateDisciplinary.disciplinaryDate = null; - formInvestigateDisciplinary.dateReceived = null; - - formResult.respondentType = ""; - formResult.offenseDetails = ""; - formResult.disciplinaryFaultLevel = ""; - formResult.disciplinaryCaseFault = ""; - formResult.disciplinaryDate = null; - formResult.resultDisciplineType = ""; - formResult.resultTitleType = ""; - formResult.resultOc = ""; - formResult.resultYear = null; } /** ปิด popup ค้นหาขั้นสูง */ @@ -63,179 +33,46 @@ function onClose() { modal.value = false; } -/** ตัวแปร ค้นหาขั้นสูง เรื่องร้องเรียน*/ -const formComplaint = reactive<{ - dateReceived: [Date, Date] | null; - respondentType: string; - offenseDetails: string; - levelConsideration: string; - dateConsideration: [Date, Date] | null; -}>({ - dateReceived: null, // วันที่รับเรื่องเริ่มต้น[0] - สิ้นสุด[1] - respondentType: "", // ผู้ถูกร้องเรียน - offenseDetails: "", // ลักษณะความผิด - levelConsideration: "", // ระดับการพิจารณา - dateConsideration: null, // วันที่เริ่มต้น[0] - สิ้นสุดการพิจารณา[1] -}); - -const formInvestigateFacts = reactive<{ - respondentType: string; - offenseDetails: string; - investigationDetail: string; - investigationDate: [Date, Date] | null; - dateReceived: [Date, Date] | null; - investigationStatusResult: string; -}>({ - respondentType: "", // ผู้ถูกสืบสวน - offenseDetails: "", // ลักษณะความผิด - investigationDetail: "", // ลักษณะการสืบสวน - investigationDate: null, // วันที่สืบสวนเริ่มต้น[0] - สิ้นสุด[1] - dateReceived: null, // วันที่รับเรื่องเริ่มต้น[0] - สิ้นสุด[1] - investigationStatusResult: "", // ผลการสืบสวน -}); - -const formInvestigateDisciplinary = reactive<{ - respondentType: string; - offenseDetails: string; - disciplinaryFaultLevel: string; - disciplinaryCaseFault: string; - disciplinaryDate: [Date, Date] | null; - dateReceived: [Date, Date] | null; -}>({ - respondentType: "", // ผู้ถูกสอบสวน - offenseDetails: "", // ลักษณะความผิด - disciplinaryFaultLevel: "", // ระดับโทษความผิด - disciplinaryCaseFault: "", // กรณีความผิด - disciplinaryDate: null, // วันที่สอบสวนเริ่มต้น[0]-สิ้นสุด[1] - dateReceived: null, // วันที่รับเรื่องเริ่มต้น[0]-สิ้นสุด[1] -}); - -const formResult = reactive<{ - respondentType: string; - offenseDetails: string; - disciplinaryFaultLevel: string; - disciplinaryCaseFault: string; - disciplinaryDate: [Date, Date] | null; - resultDisciplineType: string; - resultTitleType: string; - resultOc: string; - resultYear: number | null; -}>({ - respondentType: "", // ผู้ถูกสอบสวน - offenseDetails: "", // ลักษณะความผิด - disciplinaryFaultLevel: "", // ระดับโทษความผิด - disciplinaryCaseFault: "", // กรณีความผิด - disciplinaryDate: null, // วันที่สอบสวนเริ่มต้น[0]-สิ้นสุด[1] - resultDisciplineType: "", // ประเภทวินัย input - resultTitleType: "", // ประเภทของเรื่อง - resultOc: "", // หน่วยงาน/ส่วนราชการ - resultYear: null, // ปีงบประมาณ -}); - -/** fn ค้นหาขั้นสูง */ -function complaintBody() { - return { - dateReceivedStart: formComplaint.dateReceived?.[0] - ? convertDateToAPI(formComplaint.dateReceived[0]) - : null, - dateReceivedEnd: formComplaint.dateReceived?.[1] - ? convertDateToAPI(formComplaint.dateReceived[1]) - : null, - respondentType: formComplaint.respondentType, - offenseDetails: formComplaint.offenseDetails, - levelConsideration: formComplaint.levelConsideration, - dateConsiderationStart: formComplaint.dateConsideration?.[0] - ? convertDateToAPI(formComplaint.dateConsideration[0]) - : null, - dateConsiderationEnd: formComplaint.dateConsideration?.[1] - ? convertDateToAPI(formComplaint.dateConsideration[1]) - : null, - }; -} - -function investigateFactsBody() { - return { - respondentType: formInvestigateFacts.respondentType, - offenseDetails: formInvestigateFacts.offenseDetails, - investigationDetail: formInvestigateFacts.investigationDetail, - investigationDateStart: formInvestigateFacts.investigationDate?.[0] - ? convertDateToAPI(formInvestigateFacts.investigationDate[0]) - : null, - investigationDateEnd: formInvestigateFacts.investigationDate?.[1] - ? convertDateToAPI(formInvestigateFacts.investigationDate[1]) - : null, - dateReceivedStart: formInvestigateFacts.dateReceived?.[0] - ? convertDateToAPI(formInvestigateFacts.dateReceived[0]) - : null, - dateReceivedEnd: formInvestigateFacts.dateReceived?.[1] - ? convertDateToAPI(formInvestigateFacts.dateReceived[1]) - : null, - investigationStatusResult: formInvestigateFacts.investigationStatusResult, - }; -} - -function disciplinaryBody() { - return { - respondentType: formInvestigateDisciplinary.respondentType, - offenseDetails: formInvestigateDisciplinary.offenseDetails, - disciplinaryFaultLevel: formInvestigateDisciplinary.disciplinaryFaultLevel, - disciplinaryCaseFault: - formInvestigateDisciplinary.disciplinaryCaseFault.trim(), - disciplinaryDateStart: formInvestigateDisciplinary.disciplinaryDate?.[0] - ? convertDateToAPI(formInvestigateDisciplinary.disciplinaryDate[0]) - : null, - disciplinaryDateEnd: formInvestigateDisciplinary.disciplinaryDate?.[1] - ? convertDateToAPI(formInvestigateDisciplinary.disciplinaryDate[1]) - : null, - dateReceivedStart: formInvestigateDisciplinary.dateReceived?.[0] - ? convertDateToAPI(formInvestigateDisciplinary.dateReceived[0]) - : null, - dateReceivedEnd: formInvestigateDisciplinary.dateReceived?.[1] - ? convertDateToAPI(formInvestigateDisciplinary.dateReceived[1]) - : null, - }; -} - -function resultBody() { - return { - respondentType: formResult.respondentType, - offenseDetails: formResult.offenseDetails, - disciplinaryFaultLevel: formResult.disciplinaryFaultLevel, - disciplinaryCaseFault: formResult.disciplinaryCaseFault.trim(), - disciplinaryDateStart: formResult.disciplinaryDate?.[0] - ? convertDateToAPI(formResult.disciplinaryDate[0]) - : null, - disciplinaryDateEnd: formResult.disciplinaryDate?.[1] - ? convertDateToAPI(formResult.disciplinaryDate[1]) - : null, - resultDisciplineType: formResult.resultDisciplineType.trim(), - resultTitleType: formResult.resultTitleType.trim(), - resultOc: formResult.resultOc.trim(), - resultYear: formResult.resultYear, - }; -} - function fnSearch() { - let body: any; - - switch (route.name) { - case "disciplineComplaints": - body = complaintBody(); - break; - case "disciplineInvestigatefacts": - body = investigateFactsBody(); - break; - case "disciplineDisciplinary": - body = disciplinaryBody(); - break; - case "disciplineResult": - body = resultBody(); - break; - } - - props.getData?.(body); + props.getData?.(1); onClose(); } + +function resetForms() { + store.formComplaint.dateReceived = null; + store.formComplaint.respondentType = ""; + store.formComplaint.offenseDetails = ""; + store.formComplaint.levelConsideration = ""; + store.formComplaint.dateConsideration = null; + + store.formInvestigateFacts.respondentType = ""; + store.formInvestigateFacts.offenseDetails = ""; + store.formInvestigateFacts.investigationDetail = ""; + store.formInvestigateFacts.investigationDate = null; + store.formInvestigateFacts.dateReceived = null; + store.formInvestigateFacts.investigationStatusResult = ""; + + store.formInvestigateDisciplinary.respondentType = ""; + store.formInvestigateDisciplinary.offenseDetails = ""; + store.formInvestigateDisciplinary.disciplinaryFaultLevel = ""; + store.formInvestigateDisciplinary.disciplinaryCaseFault = ""; + store.formInvestigateDisciplinary.disciplinaryDate = null; + store.formInvestigateDisciplinary.dateReceived = null; + + store.formResult.respondentType = ""; + store.formResult.offenseDetails = ""; + store.formResult.disciplinaryFaultLevel = ""; + store.formResult.disciplinaryCaseFault = ""; + store.formResult.disciplinaryDate = null; + store.formResult.resultDisciplineType = ""; + store.formResult.resultTitleType = ""; + store.formResult.resultOc = ""; + store.formResult.resultYear = null; +} + +watchEffect(() => { + resetForms(); +});