From 32d4de70757ce63662e2626f79ce6b728261a6bc Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Mon, 15 Jan 2024 17:52:25 +0700 Subject: [PATCH] =?UTF-8?q?refactor=20code=20(=E0=B8=A2=E0=B8=B1=E0=B8=87?= =?UTF-8?q?=E0=B9=84=E0=B8=A1=E0=B9=88=E0=B8=AB=E0=B8=A1=E0=B8=94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/1_Complaint/EditPage.vue | 2 +- .../components/8_AppealComplain/AddPage.vue | 7 ++- .../components/8_AppealComplain/EditPage.vue | 13 +++-- .../components/8_AppealComplain/Form.vue | 23 +++++++- .../components/8_AppealComplain/MainPage.vue | 14 ++--- .../components/9_Order/MainPage.vue | 57 ++++++++++-------- .../components/9_Order/TableOrder.vue | 6 +- .../components/DialogDirector.vue | 9 +++ .../components/DirectorTable.vue | 1 - .../components/PopupSendToNext.vue | 15 +---- .../11_discipline/components/UploadFile.vue | 8 +++ .../store/AppealComplainStore.ts | 44 +++++++++----- .../11_discipline/store/ChannelStore.ts | 5 ++ .../11_discipline/store/ComplaintsStore.ts | 55 +++++++++++++----- .../11_discipline/store/DirectorStore.ts | 5 +- .../store/InvestigateDisStore.ts | 29 ++++++++++ .../store/InvestigateFactStore.ts | 58 ++++++++++++++----- .../11_discipline/store/ReportStore.ts | 6 ++ .../11_discipline/store/ResultStore.ts | 16 ++++- .../11_discipline/store/SuspendStore.ts | 13 +++-- src/modules/11_discipline/store/main.ts | 32 +++++++++- 21 files changed, 309 insertions(+), 109 deletions(-) diff --git a/src/modules/11_discipline/components/1_Complaint/EditPage.vue b/src/modules/11_discipline/components/1_Complaint/EditPage.vue index ee5260da7..9a4fdc218 100644 --- a/src/modules/11_discipline/components/1_Complaint/EditPage.vue +++ b/src/modules/11_discipline/components/1_Complaint/EditPage.vue @@ -192,7 +192,7 @@ async function getData() { } /** - * บันทึกข้อมูล + * บันทึกข้อมูลเมื่อแก้ไข * @param data ข้อมูลจากฟอร์ม */ async function onSubmit(data: any) { diff --git a/src/modules/11_discipline/components/8_AppealComplain/AddPage.vue b/src/modules/11_discipline/components/8_AppealComplain/AddPage.vue index c20efb9db..d11a88f93 100644 --- a/src/modules/11_discipline/components/8_AppealComplain/AddPage.vue +++ b/src/modules/11_discipline/components/8_AppealComplain/AddPage.vue @@ -12,7 +12,10 @@ const { showLoader, messageError, hideLoader, dialogConfirm, success } = mixin; const $q = useQuasar(); const router = useRouter(); -/** บันทึกข้อมูลเเละ route กลับหน้าหลัก */ +/** + * บันทึกข้อมูล อุทธรณ์/ร้องทุกข์ + * @param data ชุดข้อมูล + */ async function onSubmit(data: any) { console.log("add", data); const formData = new FormData(); @@ -33,6 +36,7 @@ async function onSubmit(data: any) { .post(config.API.appealAdd() + "/admin", formData) .then((res) => { success($q, "บันทึกข้อมูลสำเร็จ"); + //เปลี่ยนหน้าไปหน้ารายละเอียด router.push(`/discipline-appealcomplain/${res.data.result}`); }) .catch((e) => { @@ -41,7 +45,6 @@ async function onSubmit(data: any) { .finally(async () => { hideLoader(); }); - // router.push(`/discipline-appealcomplain`); } diff --git a/src/modules/11_discipline/components/8_AppealComplain/EditPage.vue b/src/modules/11_discipline/components/8_AppealComplain/EditPage.vue index 2fcf982dc..b20096bc7 100644 --- a/src/modules/11_discipline/components/8_AppealComplain/EditPage.vue +++ b/src/modules/11_discipline/components/8_AppealComplain/EditPage.vue @@ -50,9 +50,12 @@ const data = reactive({ historyStatus: [historyStatusOb], disciplineComplaint_Appeal_Docs: [fileOb], }); -/** บันทึกข้อมูลเเละ route กลับหน้าหลัก */ + +/** + * บันทึกข้อมูล อุทธรณ์/ร้องทุกข์ + * @param data ชุดข้อมูล + */ async function onSubmit(data: any) { - console.log(data) const dataList = { title: data.title, description: data.description, @@ -69,17 +72,17 @@ async function onSubmit(data: any) { .put(config.API.appealByID(id.value), dataList) .then((res) => { success($q, "บันทึกข้อมูลสำเร็จ"); + getData(); }) .catch((e) => { messageError($q, e); }) .finally(async () => { - getData(); hideLoader(); }); - // router.push(`/discipline-appealcomplain`); } +/** ดึงข้อมูลจาก API หน้ารายการ */ function getData() { showLoader(); http @@ -112,8 +115,8 @@ function getData() { hideLoader(); }); } + onMounted(() => { - // fetchData(); getData(); }); diff --git a/src/modules/11_discipline/components/8_AppealComplain/Form.vue b/src/modules/11_discipline/components/8_AppealComplain/Form.vue index ec8faa5bd..c57524a8c 100644 --- a/src/modules/11_discipline/components/8_AppealComplain/Form.vue +++ b/src/modules/11_discipline/components/8_AppealComplain/Form.vue @@ -184,8 +184,11 @@ async function addPerson(data: any) { toggleModal(); } +/** + * เก็บค่า list บุคคลไว้ใน row + * @param returnData ชุดข้อมูล บุคคล + */ function handleSave(returnData: any) { - console.log(returnData); modalPerson.value = false; dataStore.rowsAdd = returnData.map((item: any) => ({ profileId: item.personId, @@ -196,6 +199,10 @@ function handleSave(returnData: any) { })); } +/** + * ส่งค่า css ออกไปตามเงื่อนไข + * @param val true/false + */ function inputEdit(val: boolean) { return { "full-width cursor-pointer inputgreen ": val, @@ -203,6 +210,7 @@ function inputEdit(val: boolean) { }; } +/** อัปโหลดเอกสาร */ function uploadFile() { /** uploadFile */ const Data = new FormData(); @@ -214,7 +222,6 @@ function uploadFile() { console.log(res); success($q, "อัปโหลดไฟล์สำเร็จ"); props.getData(); - // router.push(`/discipline/complaints`); }) .catch((e) => { messageError($q, e); @@ -225,10 +232,18 @@ function uploadFile() { }); } +/** + * เปิดไฟล์เอกสาร + * @param link link ของไฟล์ + */ function downloadFile(link: string) { window.open(link, "_blank"); } +/** + * ลบไฟลืจาก id + * @param id id ของไฟล์ + */ function deleteFile(id: string) { dialogRemove($q, () => confirmDelete(id)); } @@ -284,14 +299,17 @@ watch(props.data, async () => { } }); +/** ปิด popup */ function close() { modalHistory.value = false; } +/** เปิด pop up history */ function historyStatus() { modalHistory.value = true; } +/** save ข้อมูล */ function onSubmit() { dialogConfirm( $q, @@ -318,6 +336,7 @@ function onSubmit() { "ต้องการยืนยันการบันทึกข้อมูลนี้หรือไม่ ?" ); } + onMounted(() => { dataStore.columns = columns.value; dataStore.visibleColumns = visibleColumns.value; diff --git a/src/modules/11_discipline/components/8_AppealComplain/MainPage.vue b/src/modules/11_discipline/components/8_AppealComplain/MainPage.vue index f3ec83786..798946d79 100644 --- a/src/modules/11_discipline/components/8_AppealComplain/MainPage.vue +++ b/src/modules/11_discipline/components/8_AppealComplain/MainPage.vue @@ -193,25 +193,21 @@ function redirectToPageadd() { router.push(`/discipline-appealcomplain/add`); } +/** เปิดหน้า แก้ไข */ function editPage(id: string) { router.push(`/discipline-appealcomplain/${id}`); } + +/** ดึงข้อมูลเมื่อ กด enter */ function filterFn() { - console.log("enter", filterKeyword.value); getData(); } +/** ปิด pop up */ function close() { modalStatusEdit.value = false; } -function editStatusReturn(data: any) { - dialogConfirm($q, () => { - console.log("saveStatus"); - modalStatusEdit.value = false; - }); -} - /** ดึงข้อมูลเริ่มต้น */ async function getData() { showLoader(); @@ -249,6 +245,7 @@ function yearAll() { getData(); } +/** ฟังชั่น เคลียฟิลเตอร์ */ function resetFilter() { filterKeyword.value = ""; getData(); @@ -470,7 +467,6 @@ onMounted(async () => { :modal="modalStatusEdit" :data="dataRow" :close="close" - @editStatusReturn="editStatusReturn" /> diff --git a/src/modules/11_discipline/components/9_Order/MainPage.vue b/src/modules/11_discipline/components/9_Order/MainPage.vue index 8edb7981b..2cfe32973 100644 --- a/src/modules/11_discipline/components/9_Order/MainPage.vue +++ b/src/modules/11_discipline/components/9_Order/MainPage.vue @@ -198,7 +198,26 @@ const OrderType = ref(""); const OrderTypeFilter1 = ref([]); const OrderTypeOption = ref([{ id: "", name: "ทั้งหมด" }]); -const OrderTypeFilter = async () => { +// รายการข้อมูลสถานะคำสั่ง +const OrderStatus = ref("ทั้งหมด"); +const OrderStatusOption = ref([ + { id: "ทั้งหมด", name: "ทั้งหมด" }, +]); +const OrderStatusFilter1 = ref([ + { id: "ทั้งหมด", name: "ทั้งหมด" }, +]); +const addedOrderStatusValues: string[] = []; + +// ค้นหาในตาราง +const filterKeyword = ref(""); +const filterRef = ref(null); + +function resetFilter(){ + filterKeyword.value = ""; + filterRef.value.focus(); +}; + +async function OrderTypeFilter(){ await http .get(config.API.typeOrder()) .then((res) => { @@ -218,16 +237,12 @@ const OrderTypeFilter = async () => { }); }; -// รายการข้อมูลสถานะคำสั่ง -const OrderStatus = ref("ทั้งหมด"); -const OrderStatusOption = ref([ - { id: "ทั้งหมด", name: "ทั้งหมด" }, -]); -const OrderStatusFilter1 = ref([ - { id: "ทั้งหมด", name: "ทั้งหมด" }, -]); -const addedOrderStatusValues: string[] = []; -const OrderStatusFilter = async () => { +/** ฟังชั่นฟิลเตอร์ตามค่า ประเภท สถานะ ปี */ +async function searchFilterTable(){ + stroe.filterListOrder(OrderType.value, OrderStatus.value, fiscalyear.value); +}; + +async function OrderStatusFilter(){ for (let data of stroe.mainData) { const OrderStatusValue = data.orderStatusName; @@ -248,19 +263,13 @@ const OrderStatusFilter = async () => { } }; -// ค้นหาในตาราง -const filterKeyword = ref(""); -const filterRef = ref(null); -const resetFilter = () => { - filterKeyword.value = ""; - filterRef.value.focus(); -}; - -const searchFilterTable = async () => { - stroe.filterListOrder(OrderType.value, OrderStatus.value, fiscalyear.value); -}; - -const filterSelector = (val: any, update: Function, refData: string) => { +/** + * ฟิลเตอร์ข้อมูลจาก input + * @param val ค่าที่ป้อนให้ input + * @param update function จาก quasar + * @param refData type ที่กำหนด ของ input นั้นๆ + */ +function filterSelector(val: any, update: Function, refData: string){ switch (refData) { case "fiscalyearOP": update(() => { diff --git a/src/modules/11_discipline/components/9_Order/TableOrder.vue b/src/modules/11_discipline/components/9_Order/TableOrder.vue index 9be4c2e97..bbb933eba 100644 --- a/src/modules/11_discipline/components/9_Order/TableOrder.vue +++ b/src/modules/11_discipline/components/9_Order/TableOrder.vue @@ -185,7 +185,11 @@ const pagination = ref({ rowsPerPage: 10, }); -// redirect ไปยัง step ปัจจุบัน +/** + * ฟังชั่น redirect + * @param id id ออกคำสั่ง + * @param status status + */ const redirectToPage = (id?: string, status?: string) => { let step = 1; switch (status) { diff --git a/src/modules/11_discipline/components/DialogDirector.vue b/src/modules/11_discipline/components/DialogDirector.vue index 2add43205..282c66b20 100644 --- a/src/modules/11_discipline/components/DialogDirector.vue +++ b/src/modules/11_discipline/components/DialogDirector.vue @@ -141,6 +141,10 @@ async function directorSave() { emit("returnDirector", selected.value); } +/** + * ส่งค่า input กลับไปหน้าหลัก + * @param value ค่าจาก input ฟิลเตอร์ + */ function updateInput(value: any) { emit("update:filterKeyword2", value); } @@ -150,6 +154,11 @@ function Reset() { emit("update:filterKeyword2", ""); } +/** + * ส่งเลขหน้า กลับไปหน้าหลัก + * @param newPagination จำนวนข้อมูลที่ต้องการแสดง + * @param page เลขหน้าปัจจุบัน + */ function updateProp(newPagination: any, page: number) { // ส่ง event ไปยัง parent component เพื่ออัพเดทค่า props emit("update:pagination", newPagination, page); diff --git a/src/modules/11_discipline/components/DirectorTable.vue b/src/modules/11_discipline/components/DirectorTable.vue index f16399bb4..641d4cb04 100644 --- a/src/modules/11_discipline/components/DirectorTable.vue +++ b/src/modules/11_discipline/components/DirectorTable.vue @@ -3,7 +3,6 @@ import { ref, useAttrs } from "vue"; const attrs = ref(useAttrs()); const table = ref(null); -const filterRef = ref(null); /** รับ props มาจากหน้าหลัก */ const props = defineProps({ diff --git a/src/modules/11_discipline/components/PopupSendToNext.vue b/src/modules/11_discipline/components/PopupSendToNext.vue index dc0d12115..5bd0881cc 100644 --- a/src/modules/11_discipline/components/PopupSendToNext.vue +++ b/src/modules/11_discipline/components/PopupSendToNext.vue @@ -7,9 +7,7 @@ import { useCounterMixin } from "@/stores/mixin"; const mixin = useCounterMixin(); const $q = useQuasar(); - const { dialogConfirm, dialogMessageNotify } = mixin; - const props = defineProps({ title: { type: String, @@ -50,18 +48,15 @@ const props = defineProps({ }); const emit = defineEmits(["returnPerson"]); -/** หัวตาราง */ - const selected = ref([]); const inspectionResults = ref(""); const filter = ref(""); -// const inputRef = ref(null); - const initialPagination = ref({ descending: false, rowsPerPage: 25, }); +/** ฟังชั่นส่งคนไปออกคำสั่ง */ function onclickSend() { if (selected.value.length === 0) { dialogMessageNotify($q, "กรุณาเลือกอย่างน้อย 1 บุคคล"); @@ -69,7 +64,6 @@ function onclickSend() { dialogConfirm( $q, async () => { - // success($q, `ส่งข้อมูล${props.title}สำเร็จ`); await emit("returnPerson", selected.value); props.fetchData(); props.close?.(); @@ -80,6 +74,7 @@ function onclickSend() { } } +/** ปิด pop up */ function onClickClose() { props.close?.(); } @@ -161,12 +156,6 @@ watch([() => props.modal], () => {