From e6d81b55dab63d0f5c5f74811dbcb4b57a1a8c85 Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Thu, 23 Nov 2023 10:13:13 +0700 Subject: [PATCH 1/2] =?UTF-8?q?=E0=B8=95=E0=B9=88=E0=B8=AD=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/11_discipline/api.discipline.ts | 4 +- .../1_Complaint/AddComplaintPage.vue | 21 +++- .../components/1_Complaint/Form.vue | 51 +++++---- .../components/1_Complaint/MainPage.vue | 106 ++++++++++-------- .../components/1_Complaint/TableComplaint.vue | 98 ++++++++++++---- .../6_BasicInformation/Director/MainPage.vue | 2 +- .../interface/request/complaint.ts | 26 ++--- .../interface/response/complaint.ts | 28 +++-- .../11_discipline/store/ComplaintsStore.ts | 54 ++++++--- 9 files changed, 249 insertions(+), 141 deletions(-) diff --git a/src/api/11_discipline/api.discipline.ts b/src/api/11_discipline/api.discipline.ts index 2b1a00910..8d36352fa 100644 --- a/src/api/11_discipline/api.discipline.ts +++ b/src/api/11_discipline/api.discipline.ts @@ -12,7 +12,9 @@ export default { /**ลบ ช่องทางการร้องเรียน * @param id type */ - complaintChannelbyId:(id:string) => `${discipline}/complaint_Channel/${id}` + complaintChannelbyId:(id:string) => `${discipline}/complaint_Channel/${id}`, + complaintAdd:() => `${discipline}/complaint`, + complaintList:(page:number,pageSize:number,keyword:string) => `${discipline}/complaint?page=${page}&pageSize=${pageSize}&keyword=${keyword}`, }; diff --git a/src/modules/11_discipline/components/1_Complaint/AddComplaintPage.vue b/src/modules/11_discipline/components/1_Complaint/AddComplaintPage.vue index 5e099bbf7..39f94614d 100644 --- a/src/modules/11_discipline/components/1_Complaint/AddComplaintPage.vue +++ b/src/modules/11_discipline/components/1_Complaint/AddComplaintPage.vue @@ -1,13 +1,30 @@ diff --git a/src/modules/11_discipline/components/1_Complaint/Form.vue b/src/modules/11_discipline/components/1_Complaint/Form.vue index 62e606060..8dd9448d4 100644 --- a/src/modules/11_discipline/components/1_Complaint/Form.vue +++ b/src/modules/11_discipline/components/1_Complaint/Form.vue @@ -18,6 +18,8 @@ import { useCounterMixin } from "@/stores/mixin"; import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore"; import DialogAddPersonal from "@/components/Dialogs/AddPersonal.vue"; +import config from "@/app.config"; +import http from "@/plugins/http"; const $q = useQuasar(); const router = useRouter(); @@ -32,7 +34,7 @@ const { selectComplainantTpye, filterSelector } = complainstStore; // function /** validateForm */ const respondentTypeRef = ref(null); const complainantRef = ref(null); -const officeRef = ref(null); +const organizationIdRef = ref(null); const consideredAgencyRef = ref(null); const titleRef = ref(null); const descriptionRef = ref(null); @@ -57,16 +59,6 @@ const props = defineProps({ }, }); -/** ข้อมูล form*/ -const personOj = reactive({ - idcard: "", - name: "", - positionNo: "", - position: "", - positionLevel: "", - salary: "", - organization: "", -}); const fileListOj = reactive({ id: "", @@ -77,7 +69,7 @@ const fileListOj = reactive({ const formData = reactive({ respondentType: "", - office: "", + organizationId: null, consideredAgency: "", title: "", description: "", @@ -90,17 +82,14 @@ const formData = reactive({ appellant: "", documentFile: null, complaintStatus: "", - persons: [personOj], - personId: [], - organizationId: null, - respondentId: [], - fileList: [fileListOj], + persons: [], + fileList:fileList.value?? null }); /** maping ref เข้าตัวแปรเพื่อเตรียมตรวจสอบ */ const objectComplaintsRef: MyObjectComplaintsRef = { respondentType: respondentTypeRef, - office: officeRef, + organizationId: organizationIdRef, consideredAgency: consideredAgencyRef, title: titleRef, description: descriptionRef, @@ -227,7 +216,7 @@ const visibleColumns = ref([ * @param val บุคคล หน่วยงาน กทม */ async function selectComplainant(val: string) { - formData.office = ""; + formData.organizationId = ""; formData.consideredAgency = ""; if (val === "0") { await fetchListname(); // ถ้าเลือกบุกคลจะเรียก function fetchListname เรียกรายชื่อจากทะเบียน @@ -316,7 +305,7 @@ function onSubmit() { $q, async () => { console.log(formData); - props.onSubmit(); + props.onSubmit(formData); }, "ยืนยันการบันทึกข้อมูล", "ต้องการยืนยันการบันทึกข้อมูลนี้หรือไม่ ?" @@ -394,7 +383,7 @@ function confirmDelete(id: string) { */ watch(props.data, async () => { formData.respondentType = props.data.respondentType; - formData.office = props.data.office; + formData.organizationId = props.data.organizationId; formData.consideredAgency = props.data.consideredAgency; formData.title = props.data.title; formData.description = props.data.description; @@ -417,9 +406,19 @@ watch(props.data, async () => { */ function handleSave(returnData: any) { console.log("returnData:", returnData); + formData.persons = returnData } +function getOc(){ + http + .get(config.API.typeOc()) + .then((res)=>{ + const data = res.data.result + complainstStore.ocListFn(data) + }) +} onMounted(() => { + getOc() complainstStore.columns = columns.value; complainstStore.visibleColumns = visibleColumns.value; }); @@ -469,12 +468,12 @@ onMounted(() => {
-import { ref, onMounted } from "vue"; +import { ref, onMounted, watch } from "vue"; import { useRouter } from "vue-router"; - +import { useQuasar } from "quasar"; +import { useCounterMixin } from "@/stores/mixin"; // import type import type { DataList } from "@/modules/11_discipline/interface/response/complaint"; // importStroe import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore"; // impoet Components import TableComplaint from "@/modules/11_discipline/components/1_Complaint/TableComplaint.vue"; +import config from "@/app.config"; +import http from "@/plugins/http"; +import { max } from "moment"; +const $q = useQuasar(); +const mixin = useCounterMixin(); + +const { showLoader, messageError, hideLoader } = mixin; const router = useRouter(); /** stoer */ @@ -16,54 +24,55 @@ const complainstStore = useComplainstDataStore(); const { fetchComplainst } = complainstStore; const filterTable = ref(""); +const filterKeyword = ref(""); +const maxPage = ref(1); +const page = ref(1); +const rowsPerPage = ref(10); -/**เรีนกรายการเรื่องร้องเรียน */ -async function fetchListComplaints() { - const listData: DataList[] = [ - { - id: "001", - title: "ทุจริตในหน้าที่", - description: "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน", - respondent: "นางศิรินภา คงน้อย", - descMistake: "ร้ายแรง", - createdAt: new Date("2023-12-01"), - devLevel: "ด่วนมาก", - considerationDate: new Date("2023-12-02"), - complaintStatus: 'NEW', - }, - { - id: "002", - title: "ทุจริตในหน้าที่", - description: "มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน", - respondent: "นายแก้ว คำ", - descMistake: "ร้ายแรง", - createdAt: new Date("2023-12-01"), - devLevel: "ด่วนมาก", - considerationDate: new Date("2023-12-02"), - complaintStatus: 'STOP', - }, - { - id: "003", - title: "ทุจริตในหน้าที่", - description:"มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน มีข้อร้องเรียนเรื่องการทุจริตทางการเงิน", - respondent: "นายภัทรานุย คงนอย", - descMistake: "ร้ายแรง", - createdAt: new Date("2023-12-01"), - devLevel: "ด่วนมาก", - considerationDate: new Date("2023-12-02"), - complaintStatus: 'SEND_INVESTIGATE', - }, - ]; - await fetchComplainst(listData); +async function updatePagingProp(rowPerpage:number,pageCurrent:number) { + rowsPerPage.value = rowPerpage + page.value = pageCurrent + await getList() } + +async function getList() { + showLoader(); + await http + .get( + config.API.complaintList( + page.value, + rowsPerPage.value, + filterKeyword.value + ) + + ) + // + .then((res) => { + maxPage.value = Math.ceil(res.data.result.total/ rowsPerPage.value); + const data = res.data.result.data; + fetchComplainst(data); + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +} + /** ไปยังหน้าเพิ่มข้อมูล */ function redirectToPageadd() { router.push(`/discipline/complaints/add`); } +function filterFn() { + getList(); + console.log("enter", filterKeyword.value); +} + /** เรียกใช้งาน ฟังชั่น ตอนเริ่มโหลดหน้า */ onMounted(async () => { - await fetchListComplaints(); + await getList(); }); @@ -86,22 +95,23 @@ onMounted(async () => {
- + - + {
- +
diff --git a/src/modules/11_discipline/components/1_Complaint/TableComplaint.vue b/src/modules/11_discipline/components/1_Complaint/TableComplaint.vue index df4fd918e..bf454a350 100644 --- a/src/modules/11_discipline/components/1_Complaint/TableComplaint.vue +++ b/src/modules/11_discipline/components/1_Complaint/TableComplaint.vue @@ -1,11 +1,11 @@