diff --git a/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue b/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue index 74c9b65ef..dfc4cabaa 100644 --- a/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue +++ b/src/modules/03_recruiting/views/02_qualify/DisableDetailEx.vue @@ -13,7 +13,7 @@ const $q = useQuasar(); const router = useRouter(); const route = useRoute(); const mixin = useCounterMixin(); -const { messageError, showLoader, hideLoader } = mixin; +const { messageError, showLoader, hideLoader, dialogMessageNotify } = mixin; const profile_id = ref(""); const birthdate = ref(""); @@ -75,6 +75,8 @@ async function fetchData() { scoreSum.value = data.scoreResult.scoreSum; examResultinscore.value = data.scoreResult.examResult; } + } else { + dialogMessageNotify($q, "แข่งขัน ไม่พบข้อมูล"); } }) .catch((e) => { diff --git a/src/modules/21_report/components/01_org/DialogOrg.vue b/src/modules/21_report/components/01_org/DialogOrg.vue new file mode 100644 index 000000000..bb0c75997 --- /dev/null +++ b/src/modules/21_report/components/01_org/DialogOrg.vue @@ -0,0 +1,152 @@ + + + diff --git a/src/modules/21_report/interface/Main.ts b/src/modules/21_report/interface/Main.ts index bb4059f08..a8675cc90 100644 --- a/src/modules/21_report/interface/Main.ts +++ b/src/modules/21_report/interface/Main.ts @@ -84,6 +84,112 @@ interface DataOption { name: string; } +interface RangeAge { + min: number; + max: number; +} + +interface DataStructureTree { + labelName: string; + orgCode: string; + orgLevel: number; + orgName: string; + orgRevisionId: string; + orgRootName: string; + orgTreeCode: string; + orgTreeFax: string; + orgTreeId: string; + orgTreeName: string; + orgTreeOrder: number; + orgTreePhoneEx: string; + orgTreePhoneIn: string; + orgTreeRank: string; + orgTreeRankSub: string; + orgTreeShortName: string; + responsibility: string; + totalPosition: number; + totalPositionCurrentUse: number; + totalPositionCurrentVacant: number; + totalPositionNextUse: number; + totalPositionNextVacant: number; + totalRootPosition: number; + totalRootPositionCurrentUse: number; + totalRootPositionCurrentVacant: number; + totalRootPositionNextUse: number; + totalRootPositionNextVacant: number; + children: DataStructureTree[]; + orgRootCode: string; + orgRootShortName: string; +} + +interface DataNodeData { + name: string; + nodeId: string | null | undefined; + node: string | null | undefined | number; +} + +interface FormFilter { + page: number; + pageSize: number; + keyword: string; + type: string; + searchType?: string; + posType: string; + posLevel: string; + retireYear: string | null; + rangeYear: { min: number; max: number }; + isShowRetire: boolean | null; + isProbation: boolean | null; + isAll?: boolean; + nodeId?: string | null; + node?: string | null | number; + retireType?: null | string; +} + +interface PosType { + id: string; + posTypeName: string; + posTypeRank: number; + posLevels: PosLevel[]; + createdAt: Date | null; + lastUpdatedAt: Date | null; + lastUpdateFullName: string; +} + +interface PosLevel { + id: string; + posLevelName: string; + posLevelRank: number; + posLevelAuthority: string; + createdAt: Date | null; + lastUpdatedAt: Date | null; + lastUpdateFullName: string; +} + +interface OptionExecutive { + id: string; + posExecutiveName: string; +} + +interface ResOptionPerson { + createdAt: string; + createdFullName: string; + createdUserId: string; + id: string; + lastUpdateFullName: string; + lastUpdateUserId: string; + lastUpdatedAt: string; + name: string; +} + +interface DataEducationLevel { + createdAt: string; + createdFullName: string; + id: string; + lastUpdatedAt: string; + name: string; + rank: number; +} export type { ListDataText, DataSurvey, @@ -93,4 +199,13 @@ export type { ProbationReportType, FileType, DataOption, + RangeAge, + DataStructureTree, + DataNodeData, + FormFilter, + PosType, + PosLevel, + OptionExecutive, + ResOptionPerson, + DataEducationLevel }; diff --git a/src/modules/21_report/store.ts b/src/modules/21_report/store.ts new file mode 100644 index 000000000..815a65d79 --- /dev/null +++ b/src/modules/21_report/store.ts @@ -0,0 +1,33 @@ +import { defineStore } from "pinia"; +import { ref, reactive } from "vue"; + +import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main"; +import type { + DataType, + DataLevel, +} from "@/modules/04_registryPerson/interface/response/Main"; +import type { FormFilter } from "@/modules/21_report/interface/Main"; + +export const useReportStore = defineStore("reportStore", () => { + const formFilter = reactive({ + page: 1, + pageSize: 12, + keyword: "", + type: "officer", + posType: "", + posLevel: "", + retireYear: "", + rangeYear: { min: 0, max: 60 }, + isShowRetire: false, + isProbation: false, + isAll: true, + nodeId: null, + node: null, + searchType: "fullName", + retireType: null, + }); + + return { + formFilter, + }; +}); diff --git a/src/modules/21_report/views/02_reportRegistry.vue b/src/modules/21_report/views/02_reportRegistry.vue index 842d1e43b..4f54be26a 100644 --- a/src/modules/21_report/views/02_reportRegistry.vue +++ b/src/modules/21_report/views/02_reportRegistry.vue @@ -1,6 +1,6 @@