From 5a28025906c766ce627502241aa61c3dee588e37 Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Fri, 1 Dec 2023 15:44:16 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=E0=B8=9C=E0=B8=A5=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=9E=E0=B8=B4?= =?UTF-8?q?=E0=B8=88=E0=B8=B2=E0=B8=A3=E0=B8=93=E0=B8=B2=E0=B8=97=E0=B8=B2?= =?UTF-8?q?=E0=B8=87=E0=B8=A7=E0=B8=B4=E0=B8=99=E0=B8=B1=E0=B8=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/11_discipline/api.discipline.ts | 2 + .../4_Result/DialogSendToCommand.vue | 208 ++++--------- .../components/4_Result/EditPage.vue | 9 +- .../components/4_Result/Form.vue | 280 +++++++++++++++--- .../11_discipline/interface/request/result.ts | 34 ++- .../11_discipline/store/ResultStore.ts | 21 +- 6 files changed, 361 insertions(+), 193 deletions(-) diff --git a/src/api/11_discipline/api.discipline.ts b/src/api/11_discipline/api.discipline.ts index 292bb3a4b..e9731bf54 100644 --- a/src/api/11_discipline/api.discipline.ts +++ b/src/api/11_discipline/api.discipline.ts @@ -72,4 +72,6 @@ export default { suspendById: (id: string) => `${suspend}/${id}`, suspendReport: () => `${suspend}/report`, + + reportresult:(id:string)=>`${disciplineMain}/result/report/${id}`, }; diff --git a/src/modules/11_discipline/components/4_Result/DialogSendToCommand.vue b/src/modules/11_discipline/components/4_Result/DialogSendToCommand.vue index e58dbb534..32240db54 100644 --- a/src/modules/11_discipline/components/4_Result/DialogSendToCommand.vue +++ b/src/modules/11_discipline/components/4_Result/DialogSendToCommand.vue @@ -1,10 +1,21 @@ { :display-value="$q.lang.table.columns" emit-value map-options - :options="columns2" + :options="props.columns" option-value="name" options-cover style="min-width: 150px" @@ -296,11 +217,11 @@ onMounted(async () => { @@ -312,7 +233,6 @@ onMounted(async () => { v-model="scope.selected" /> - diff --git a/src/modules/11_discipline/components/4_Result/EditPage.vue b/src/modules/11_discipline/components/4_Result/EditPage.vue index 9d45efa62..53efffbb7 100644 --- a/src/modules/11_discipline/components/4_Result/EditPage.vue +++ b/src/modules/11_discipline/components/4_Result/EditPage.vue @@ -6,7 +6,7 @@ import FormComplaints from "@/modules/11_discipline/components/1_Complaint/Form. import FormInvestigatefacts from "@/modules/11_discipline/components/2_InvestigateFacts/Form.vue"; //สืบสวนข้อเท็จจริง import FormDisciplinary from "@/modules/11_discipline/components/3_InvestigateDisciplinary/Form.vue"; // สอบสวนความผิดทางวินัย import FormResult from "@/modules/11_discipline/components/4_Result/Form.vue"; // สอบสวนความผิดทางวินัย -import type { FormData } from "@/modules/11_discipline/interface/request/result"; +import type { DataListRow } from "@/modules/11_discipline/interface/request/result"; import type { FormData as FormDataComplaint, ArrayPerson, @@ -18,7 +18,9 @@ import { useCounterMixin } from "@/stores/mixin"; import { useDisciplineResultStore } from "@/modules/11_discipline/store/ResultStore"; import { useQuasar } from "quasar"; import DialogSendToCommand from "@/modules/11_discipline/components/4_Result/DialogSendToCommand.vue"; +import { useDisciplineMainStore } from "@/modules/11_discipline/store"; +const mainStore = useDisciplineMainStore(); const $q = useQuasar(); const mixin = useCounterMixin(); const store = useDisciplineResultStore(); @@ -28,7 +30,6 @@ const route = useRoute(); const id = ref(route.params.id as string); const type = ref(""); - /** * บันทึกข้อมูลที่เเก้ไข * @param id ระบุ บุคคล @@ -60,7 +61,7 @@ function sentIssue() { // ); } -const dataResult = ref([]); +const dataResult = ref([]); /** function เรียกรายละเอียดผลการพิจารณาทางวินัย*/ async function fetchDetailResult() { showLoader(); @@ -322,6 +323,8 @@ watch( v-model:Modal="modal" :closeModal="closeModal" :rows2="[]" + :columns="mainStore.columnsDirector" + :visibleColumns="mainStore.visibleColumnsDirector" :data="dataResult" v-model:filterKeyword2="filterKeyword" :getData="getData" diff --git a/src/modules/11_discipline/components/4_Result/Form.vue b/src/modules/11_discipline/components/4_Result/Form.vue index df19629ad..e9be65818 100644 --- a/src/modules/11_discipline/components/4_Result/Form.vue +++ b/src/modules/11_discipline/components/4_Result/Form.vue @@ -1,4 +1,4 @@ - diff --git a/src/modules/11_discipline/interface/request/result.ts b/src/modules/11_discipline/interface/request/result.ts index e016aa593..cdbc5b631 100644 --- a/src/modules/11_discipline/interface/request/result.ts +++ b/src/modules/11_discipline/interface/request/result.ts @@ -7,4 +7,36 @@ interface FormRef { [key: string]: any; } -export type { FormData, FormRef }; +interface DataOption { + id: string; + name: string; +} +interface DataOptionRes { + organizationId: string; + organizationName: string; +} +interface DataListRow { + id: string + idInvestigate: string + idComplaint: string + respondentType: string + persons: PersonType + organizationId: string + resultDescription: string +} + +interface PersonType{ + id: string + idcard: string + name: string + prefix: string + firstName: string + lastName: string + position: string + positionLevel: string + salary: number + personId: string + posNo: string + organization: string + } +export type { FormData, FormRef,DataOption,DataOptionRes,personType,DataListRow}; diff --git a/src/modules/11_discipline/store/ResultStore.ts b/src/modules/11_discipline/store/ResultStore.ts index afd319e08..7ec74aa53 100644 --- a/src/modules/11_discipline/store/ResultStore.ts +++ b/src/modules/11_discipline/store/ResultStore.ts @@ -10,9 +10,10 @@ import type { DataResult, DataResultList, } from "@/modules/11_discipline/interface/response/result"; +import { useCounterMixin } from "@/stores/mixin"; import { useDisciplineMainStore } from "@/modules/11_discipline/store"; -import { useCounterMixin } from "@/stores/mixin"; + const mixin = useCounterMixin(); const storeMain = useDisciplineMainStore(); const { date2Thai } = mixin; @@ -25,6 +26,21 @@ export const useDisciplineResultStore = defineStore( const rows2 = ref([]); const selected = ref([]); + const complainantoptions = ref( + storeMain.complainantoptionsMain + ); + + function filterSelector(val: string, update: Function, type: string) { + update(() => { + const needle = val.toLowerCase(); + if (type === "filterrespondentType") { + complainantoptions.value = storeMain.complainantoptionsMain.filter( + (v: any) => v.name.toLowerCase().indexOf(needle) > -1 + ); + } + }); + } + async function fetchList(data: DataResult[]) { const datalist: DataResultList[] = data.map((e: DataResult) => ({ id: e.id, @@ -47,6 +63,7 @@ export const useDisciplineResultStore = defineStore( rows.value = datalist; } + async function fecthDirector(data: directorType[]) { let datalistDirector: directorType[] = data.map((e: directorType) => ({ nameDirector: e.nameDirector, @@ -239,6 +256,8 @@ export const useDisciplineResultStore = defineStore( columns, visibleColumnsDirector, columnsDirector, + complainantoptions, + filterSelector }; } );