From 13e44d7c45b9c5f1e3ba1a12ab68bc0d370e5645 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Thu, 6 Jun 2024 14:20:23 +0700 Subject: [PATCH 1/2] fix bug --- .../components/DialogAddPosition.vue | 235 ------ .../components/DialogFormPosition.vue | 727 ------------------ .../components/DialogHistoryPos.vue | 168 ---- .../components/DialogMovePos.vue | 349 --------- .../components/DialogPositionDetail.vue | 76 -- .../components/DialogSelectPerson.vue | 693 ----------------- .../components/DialogSortPosition.vue | 158 ---- .../components/DialogSuccession.vue | 411 ---------- .../components/TreeMain.vue | 168 ---- .../components/TreeTable.vue | 705 ----------------- .../components/TreeView.vue | 318 -------- .../interface/index/Main.ts | 147 ---- .../interface/index/organizational.ts | 107 --- .../interface/request/Main.ts | 14 - .../interface/request/organizational.ts | 21 - .../interface/response/organizational.ts | 203 ----- src/modules/16_positionEmployee/router.ts | 14 - .../store/organizational.ts | 137 ---- .../16_positionEmployee/views/main.vue | 60 -- 19 files changed, 4711 deletions(-) delete mode 100644 src/modules/16_positionEmployee/components/DialogAddPosition.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogFormPosition.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogHistoryPos.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogMovePos.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogPositionDetail.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogSelectPerson.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogSortPosition.vue delete mode 100644 src/modules/16_positionEmployee/components/DialogSuccession.vue delete mode 100644 src/modules/16_positionEmployee/components/TreeMain.vue delete mode 100644 src/modules/16_positionEmployee/components/TreeTable.vue delete mode 100644 src/modules/16_positionEmployee/components/TreeView.vue delete mode 100644 src/modules/16_positionEmployee/interface/index/Main.ts delete mode 100644 src/modules/16_positionEmployee/interface/index/organizational.ts delete mode 100644 src/modules/16_positionEmployee/interface/request/Main.ts delete mode 100644 src/modules/16_positionEmployee/interface/request/organizational.ts delete mode 100644 src/modules/16_positionEmployee/interface/response/organizational.ts delete mode 100644 src/modules/16_positionEmployee/router.ts delete mode 100644 src/modules/16_positionEmployee/store/organizational.ts delete mode 100644 src/modules/16_positionEmployee/views/main.vue diff --git a/src/modules/16_positionEmployee/components/DialogAddPosition.vue b/src/modules/16_positionEmployee/components/DialogAddPosition.vue deleted file mode 100644 index 7bee3f75..00000000 --- a/src/modules/16_positionEmployee/components/DialogAddPosition.vue +++ /dev/null @@ -1,235 +0,0 @@ - - - diff --git a/src/modules/16_positionEmployee/components/DialogFormPosition.vue b/src/modules/16_positionEmployee/components/DialogFormPosition.vue deleted file mode 100644 index 29b766e0..00000000 --- a/src/modules/16_positionEmployee/components/DialogFormPosition.vue +++ /dev/null @@ -1,727 +0,0 @@ - - - - - diff --git a/src/modules/16_positionEmployee/components/DialogHistoryPos.vue b/src/modules/16_positionEmployee/components/DialogHistoryPos.vue deleted file mode 100644 index 1e047116..00000000 --- a/src/modules/16_positionEmployee/components/DialogHistoryPos.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - diff --git a/src/modules/16_positionEmployee/components/DialogMovePos.vue b/src/modules/16_positionEmployee/components/DialogMovePos.vue deleted file mode 100644 index dff18423..00000000 --- a/src/modules/16_positionEmployee/components/DialogMovePos.vue +++ /dev/null @@ -1,349 +0,0 @@ - - - - diff --git a/src/modules/16_positionEmployee/components/DialogPositionDetail.vue b/src/modules/16_positionEmployee/components/DialogPositionDetail.vue deleted file mode 100644 index 1c2b1a59..00000000 --- a/src/modules/16_positionEmployee/components/DialogPositionDetail.vue +++ /dev/null @@ -1,76 +0,0 @@ - - diff --git a/src/modules/16_positionEmployee/components/DialogSelectPerson.vue b/src/modules/16_positionEmployee/components/DialogSelectPerson.vue deleted file mode 100644 index 59095264..00000000 --- a/src/modules/16_positionEmployee/components/DialogSelectPerson.vue +++ /dev/null @@ -1,693 +0,0 @@ - - - - - diff --git a/src/modules/16_positionEmployee/components/DialogSortPosition.vue b/src/modules/16_positionEmployee/components/DialogSortPosition.vue deleted file mode 100644 index 6f796c65..00000000 --- a/src/modules/16_positionEmployee/components/DialogSortPosition.vue +++ /dev/null @@ -1,158 +0,0 @@ - - diff --git a/src/modules/16_positionEmployee/components/DialogSuccession.vue b/src/modules/16_positionEmployee/components/DialogSuccession.vue deleted file mode 100644 index 3334c340..00000000 --- a/src/modules/16_positionEmployee/components/DialogSuccession.vue +++ /dev/null @@ -1,411 +0,0 @@ - - - - - diff --git a/src/modules/16_positionEmployee/components/TreeMain.vue b/src/modules/16_positionEmployee/components/TreeMain.vue deleted file mode 100644 index b72ff449..00000000 --- a/src/modules/16_positionEmployee/components/TreeMain.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - diff --git a/src/modules/16_positionEmployee/components/TreeTable.vue b/src/modules/16_positionEmployee/components/TreeTable.vue deleted file mode 100644 index e022d9b4..00000000 --- a/src/modules/16_positionEmployee/components/TreeTable.vue +++ /dev/null @@ -1,705 +0,0 @@ - - - - - diff --git a/src/modules/16_positionEmployee/components/TreeView.vue b/src/modules/16_positionEmployee/components/TreeView.vue deleted file mode 100644 index 659a8ab4..00000000 --- a/src/modules/16_positionEmployee/components/TreeView.vue +++ /dev/null @@ -1,318 +0,0 @@ - - - - - diff --git a/src/modules/16_positionEmployee/interface/index/Main.ts b/src/modules/16_positionEmployee/interface/index/Main.ts deleted file mode 100644 index 95adf29d..00000000 --- a/src/modules/16_positionEmployee/interface/index/Main.ts +++ /dev/null @@ -1,147 +0,0 @@ -interface Pagination { - rowsPerPage: number; -} - -interface DataOption { - id: string; - name: string; -} - -interface ListMenu { - label: string; - icon: string; - type: string; - color: string; -} - -interface FormDataAgency { - orgName: string; - orgShortName: string; - orgCode: string; - orgPhoneEx: string; - orgPhoneIn: string; - orgFax: string; - orgLevel: string; - orgLevelSub: string; -} - -interface FormDataPosition { - shortName: string; - prefixNo: string; - positionNo: string; - suffixNo: string; - reason: string; -} - -interface FormDataNewStructure { - orgRevisionId: string; - orgRevisionName: string; - typeDraft: string; -} - -interface FormAgencyRef { - orgName: object | null; - orgShortName: object | null; - orgCode: object | null; - // orgPhoneEx: object | null; - // orgPhoneIn: object | null; - // orgFax: object | null; - orgLevel: object | null; - [key: string]: any; -} - -interface FormPositionRef { - prefixNo: object | null; - positionNo: object | null; - [key: string]: any; -} - -interface FormDateTimeRef { - dateTime: object | null; - [key: string]: any; -} - -interface FormNewStructureRef { - orgRevisionName: object | null; - orgRevisionId: object | null; - type: object | null; - [key: string]: any; -} - -interface HistoryType { - orgRevisionId: string; - orgRevisionName: string; - orgRevisionIsCurrent: boolean; - orgRevisionIsDraft: boolean; - orgRevisionCreatedAt: Date | string; -} -interface HistoryPostType { - id: string; - name: string; - lastUpdatedAt: Date; - orgRevisionName: string; -} - -interface FormPositionSelect { - positionId: string; - positionName: string; - positionField: string; - positionType: string; - positionLevel: string; - positionExecutive: string; - positionExecutiveField: string; - positionArea: string; -} - -interface FormPositionSelectRef { - positionName: object | null; - positionField: object | null; - positionType: object | null; - positionLevel: object | null; - positionExecutive: object | null; - positionExecutiveField: object | null; - positionArea: object | null; - [key: string]: any; -} - -interface RowDetailPositions { - id: string; - positionId: string; - positionName: string; - positionField: string; - positionType: string; - positionLevel: string; - positionExecutive: string; - positionExecutiveField: string; - positionArea: string; - posTypeId: string; - posLevelId: string; - posExecutiveId: string; - isSpecial: boolean; -} - -interface NewPagination { - descending: boolean; - page: number; - rowsPerPage: number; - sortBy: string; -} - -export type { - Pagination, - DataOption, - FormDataAgency, - FormDataPosition, - FormAgencyRef, - FormPositionRef, - FormDateTimeRef, - FormDataNewStructure, - FormNewStructureRef, - HistoryType, - ListMenu, - FormPositionSelect, - RowDetailPositions, - HistoryPostType, - FormPositionSelectRef, - NewPagination, -}; diff --git a/src/modules/16_positionEmployee/interface/index/organizational.ts b/src/modules/16_positionEmployee/interface/index/organizational.ts deleted file mode 100644 index f6f21bd6..00000000 --- a/src/modules/16_positionEmployee/interface/index/organizational.ts +++ /dev/null @@ -1,107 +0,0 @@ -interface DataPosition { - id: string; - orgRootId: string; - orgChild1Id: string | null; - orgChild2Id: string | null; - orgChild3Id: string | null; - orgChild4Id: string | null; - posMasterNoPrefix: string; - posMasterNo: string; - posMasterNoSuffix: string; - orgShortname: string; - positions: Position[]; - positionName: string; - positionField: string; - posTypeId: string; - posTypeName: string; - posLevelId: string; - posLevelName: string; - posExecutiveId: string; - posExecutiveName: string; - positionExecutiveField: string; - positionArea: string; - positionIsSelected: string | boolean; -} - -interface Position { - id: string; - positionName: string; - positionField: string; - posTypeId: string; - posTypeName: string; - posLevelId: string; - posLevelName: string; - posExecutiveId: string; - posExecutiveName: string; - positionExecutiveField: string; - positionArea: string; - positionIsSelected: boolean; -} - -interface FormDetailPosition { - positionNo: string; - positionType: string; - positionPathSide: string; - positionLine: string; - positionSide: string; - positionLevel: string; - positionExecutive: string; - positionExecutiveSide: string; - status: string; -} - -interface DataTree { - orgTreeId: string; - orgRootId?: string; - orgLevel: number; - orgName: string; - orgTreeName: string; - orgTreeShortName: string; - orgTreeCode: string; - orgCode: string; - orgTreeRank: string; - orgTreeOrder: number; - orgRootCode?: string; - orgTreePhoneEx: string; - orgTreePhoneIn: string; - orgTreeFax: string; - orgRevisionId: string; - orgRootName: string; - totalPosition: number; - totalPositionCurrentUse: number; - totalPositionCurrentVacant: number; - totalPositionNextUse: number; - totalPositionNextVacant: number; - totalRootPosition: number; - totalRootPositionCurrentUse: number; - totalRootPositionCurrentVacant: number; - totalRootPositionNextUse: number; - totalRootPositionNextVacant: number; - - children?: DataTree[]; -} - -interface SeaechResult { - id: string; - citizenId: string; - name: string; - posTypeName: string; - posLevelName: string; -} -interface FormPositionFilter { - positionNo: string; - positionType: string; - positionLevel: string; - personal: string; - position: string; - status: string; -} - -export type { - DataPosition, - Position, - FormDetailPosition, - DataTree, - SeaechResult, - FormPositionFilter, -}; diff --git a/src/modules/16_positionEmployee/interface/request/Main.ts b/src/modules/16_positionEmployee/interface/request/Main.ts deleted file mode 100644 index b5eb23bd..00000000 --- a/src/modules/16_positionEmployee/interface/request/Main.ts +++ /dev/null @@ -1,14 +0,0 @@ -interface DataSumCalendarObject { - id: number; - monthFull: String; - count: number; - color: String; -} - -interface DataListsObject { - id: number; - count: number; - name: string; -} - -export type { DataSumCalendarObject, DataListsObject }; diff --git a/src/modules/16_positionEmployee/interface/request/organizational.ts b/src/modules/16_positionEmployee/interface/request/organizational.ts deleted file mode 100644 index 074095c3..00000000 --- a/src/modules/16_positionEmployee/interface/request/organizational.ts +++ /dev/null @@ -1,21 +0,0 @@ -interface FilterMaster { - id: string; //*Id node - type: number; //*ประเภทnode - isAll: boolean; //*(true->ทั้งหมด, false->ในระดับตัวเอง) - page: number; //*หน้า - pageSize: number; //*จำนวนแถวต่อหน้า - keyword: string; //ข้อความที่ต้องการค้นหา - revisionId?: string -} -interface MovePos { - id: string; - type: number; - positionMaster: string[]; -} - -interface Inherit { - draftPositionId: string; - publishPositionId: string; -} - -export type { FilterMaster, MovePos, Inherit }; diff --git a/src/modules/16_positionEmployee/interface/response/organizational.ts b/src/modules/16_positionEmployee/interface/response/organizational.ts deleted file mode 100644 index d674b577..00000000 --- a/src/modules/16_positionEmployee/interface/response/organizational.ts +++ /dev/null @@ -1,203 +0,0 @@ -interface DataActive { - activeId: string; - activeName: string; - draftId: string; - draftName: string; - isPublic: boolean; - orgPublishDate: Date | null; -} - -interface SumPosition { - totalPosition: number; - totalPositionCurrentUse: number; - totalPositionCurrentVacant: number; - totalPositionNextUse: number; - totalPositionNextVacant: number; - totalRootPosition: number; - totalRootPositionCurrentUse: number; - totalRootPositionCurrentVacant: number; - totalRootPositionNextUse: number; - totalRootPositionNextVacant: number; -} - -interface OrgTree { - orgTreeId: string; - orgRootId: string; - orgLevel: number; - orgTreeName: string; - orgTreeShortName: string; - orgTreeCode: string; - orgCode: string; - orgTreeRank: string; - orgTreeOrder: number | null; - orgRootCode: string; - orgTreePhoneEx: string; - orgTreePhoneIn: string; - orgTreeFax: string; - orgRevisionId: string; - children: OrgTree[]; -} - -interface OrgRevision { - orgRevisionCreatedAt: string | null; - orgRevisionId: string; - orgRevisionIsCurrent: boolean; - orgRevisionIsDraft: boolean; - orgRevisionName: string; -} - -interface OptionType { - id: string; - posTypeName: string; -} - -interface OptionLevel { - id: string; - posLevelName: string; -} - -interface OptionExecutive { - id: string; - posExecutiveName: string; -} - -interface DataPosition { - id: string; - posExecutiveId: string; - posExecutiveName: string; - posLevelId: string; - posLevelName: string; - posTypeId: string; - posTypeName: string; - positionArea: string; - positionExecutiveField: string; - positionField: string; - positionIsSelected: boolean; - positionName: string; -} - -interface Position { - id: string; // id ตำแหน่ง - positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) - positionField: string; // สายงาน - posTypeId: string; // ประเภทตำแหน่ง - posTypeName: string; // ประเภทตำแหน่ง - posLevelId: string; // ระดับตำแหน่ง - posLevelName: string; // ระดับตำแหน่ง - posExecutiveId: string; // ตำแหน่งทางการบริหาร - posExecutiveName: string; // ตำแหน่งทางการบริหาร - positionExecutiveField: string; // ด้านทางการบริหาร - positionArea: string; // ด้าน/สาขา - positionIsSelected: boolean; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? -} - -interface PosMaster { - id: string; // id อัตรากำลัง posmaster - orgShortname: string; // อักษรย่อตำแหน่ง - posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) - posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข - posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช. - positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) - positionField: string; // สายงาน - posTypeId: string; // ประเภทตำแหน่ง - posTypeName: string; // ประเภทตำแหน่ง - posLevelId: string; // ระดับตำแหน่ง - posLevelName: string; // ระดับตำแหน่ง - posExecutiveId: string; // ตำแหน่งทางการบริหาร - posExecutiveName: string; // ตำแหน่งทางการบริหาร - positionExecutiveField: string; // ด้านทางการบริหาร - positionArea: string; // ด้าน/สาขา - positionIsSelected: boolean; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? - fullNameCurrentHolder: string | null; - fullNameNextHolder: string | null; - positions: Position[]; // ตำแหน่ง - isSit: boolean; - profilePosition: string; - profilePostype: string; - profilePoslevel: string; -} -interface Position2 { - id: string; // id ตำแหน่ง - positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) - positionField: string; // สายงาน - posTypeId: string; // ประเภทตำแหน่ง - posTypeName: string; // ประเภทตำแหน่ง - posLevelId: string; // ระดับตำแหน่ง - posLevelName: string; // ระดับตำแหน่ง - posExecutiveId: string; // ตำแหน่งทางการบริหาร - posExecutiveName: string; // ตำแหน่งทางการบริหาร - positionExecutiveField: string; // ด้านทางการบริหาร - positionArea: string; // ด้าน/สาขา - positionIsSelected: string; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? -} - -interface PosMaster2 { - id: string; // id อัตรากำลัง posmaster - orgShortname: string; // อักษรย่อตำแหน่ง - posMasterNoPrefix: string; // Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) - posMasterNo: number | string; // เลขที่ตำแหน่ง เป็นตัวเลข - posMasterNoSuffix: string | null; // Suffix หลังเลขที่ตำแหน่ง เช่น ช. - positionName: string; // ชื่อตำแหน่งในสายงาน (ชื่อตำแหน่ง) - positionField: string; // สายงาน - posTypeId: string; // ประเภทตำแหน่ง - posTypeName: string; // ประเภทตำแหน่ง - posLevelId: string; // ระดับตำแหน่ง - posLevelName: string; // ระดับตำแหน่ง - posExecutiveId: string; // ตำแหน่งทางการบริหาร - posExecutiveName: string; // ตำแหน่งทางการบริหาร - positionExecutiveField: string; // ด้านทางการบริหาร - positionArea: string; // ด้าน/สาขา - positionIsSelected: string; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? - positions: Position[]; // ตำแหน่ง -} - -interface HistoryPos { - id: string; //id node - orgShotName: string; //ชื่อย่อส่วนราชการ - lastUpdatedAt: Date; //วันที่แก้ไข - posMasterNoPrefix: string; //Prefix นำหน้าเลขที่ตำแหน่ง เป็น Optional (ไม่ใช่อักษรย่อของหน่วยงาน/ส่วนราชการ) - posMasterNo: number; //เลขที่ตำแหน่ง เป็นตัวเลข - posMasterNoSuffix: string; //Suffix หลังเลขที่ตำแหน่ง เช่น ช. -} - -interface SelectPerson { - citizenId: string; - firstName: string; - id: string; - lastName: string; - posLevel: string; - posType: string; - position: string; - prefix: string; -} - -interface PosLevels { - id: string; - posLevelAuthority: null; - posLevelName: string; - posLevelRank: number; -} -interface TypePos { - id: string; - PosLevels: PosLevels[]; - posTypeName: string; - posTypeRank: number; -} - -export type { - DataActive, - OrgTree, - OrgRevision, - OptionType, - OptionLevel, - OptionExecutive, - DataPosition, - PosMaster, - PosMaster2, - Position, - Position2, - SumPosition, - HistoryPos, - SelectPerson, - TypePos, -}; diff --git a/src/modules/16_positionEmployee/router.ts b/src/modules/16_positionEmployee/router.ts deleted file mode 100644 index 9865b0d1..00000000 --- a/src/modules/16_positionEmployee/router.ts +++ /dev/null @@ -1,14 +0,0 @@ -const mainPage = () => import("@/modules/16_positionEmployee/views/main.vue"); - -export default [ - { - path: "/position-employee", - name: "positionEmployee", - component: mainPage, - meta: { - Auth: true, - Key: [1], - Role: "positionEmployee", - }, - }, -]; diff --git a/src/modules/16_positionEmployee/store/organizational.ts b/src/modules/16_positionEmployee/store/organizational.ts deleted file mode 100644 index 3db85426..00000000 --- a/src/modules/16_positionEmployee/store/organizational.ts +++ /dev/null @@ -1,137 +0,0 @@ -import { defineStore } from "pinia"; -import { reactive, ref } from "vue"; - -/** importType*/ -import type { - DataActive, - SumPosition, - PosMaster, -} from "@/modules/16_positionEmployee/interface/response/organizational"; - -export const usePositionEmp = defineStore("positionEmpStore", () => { - const typeOrganizational = ref("current"); - const statusView = ref("list"); - - const dataActive = ref(); - const activeId = ref(); - const draftId = ref(); - const historyId = ref(); - const treeId = ref(); - const level = ref(); - const isPublic = ref(false); - const orgPublishDate = ref(null); - const sumPosition = reactive({ - total: 0, - use: 0, - vacant: 0, - totalRoot: 0, - useRoot: 0, - vacantRoot: 0, - }); - - function getSumPosition(data: SumPosition) { - sumPosition.total = data.totalPosition; - sumPosition.totalRoot = data.totalRootPosition ? data.totalRootPosition : 0; - - if (typeOrganizational.value == "draft") { - sumPosition.use = data.totalPositionNextUse; - sumPosition.useRoot = data.totalRootPositionNextUse - ? data.totalRootPositionNextUse - : 0; - - sumPosition.vacant = data.totalPositionNextVacant; - sumPosition.vacantRoot = data.totalRootPositionNextVacant - ? data.totalRootPositionNextVacant - : 0; - } else { - sumPosition.use = data.totalPositionCurrentUse; - sumPosition.useRoot = data.totalRootPositionCurrentUse - ? data.totalRootPositionCurrentUse - : 0; - - sumPosition.vacant = data.totalPositionCurrentVacant; - sumPosition.vacantRoot = data.totalRootPositionCurrentVacant - ? data.totalRootPositionCurrentVacant - : 0; - } - } - - function fetchDataActive(data: DataActive) { - activeId.value = data.activeId; - draftId.value = data.draftId; - dataActive.value = data; - isPublic.value = data.isPublic; - orgPublishDate.value = data.orgPublishDate; - } - - function fetchPosMaster(data: PosMaster[]) { - const newPosMaster = data.map((e: PosMaster) => ({ - ...e, - positionIsSelected: e.fullNameCurrentHolder - ? e.fullNameCurrentHolder - : "ว่าง", - posMasterNo: - e.orgShortname + - (e.posMasterNoPrefix ? e.posMasterNoPrefix : "") + - (e.posMasterNo ? e.posMasterNo : "") + - (e.posMasterNoSuffix ? e.posMasterNoSuffix : ""), - positionName: e.isSit ? e.profilePosition : e.positionName, - posTypeName: e.isSit ? e.profilePostype : e.posTypeName, - posLevelName: e.isSit ? e.profilePoslevel : e.posLevelName, - posExecutiveName: e.posExecutiveName, - isSit: e.isSit, - })); - - return newPosMaster; - } - - function checkLevel(type: number) { - switch (type) { - case 0: - return "Root"; - case 1: - return "Child1"; - case 2: - return "Child2"; - case 3: - return "Child3"; - default: - return "Child4"; - } - } - - function convertType(type: string) { - switch (type) { - case "DEPARTMENT": - return "ระดับสำนัก"; - case "OFFICE": - return "ระดับกอง/สำนักงาน/ส่วนราชการ/โรงพยาบาล/เทียบเท่ากอง"; - case "DIVISION": - return "ระดับส่วน/กลุ่มภารกิจ"; - case "SECTION": - return "ระดับฝ่าย/กลุ่มงาน"; - default: - return "-"; - } - } - - return { - typeOrganizational, - statusView, - - // - fetchDataActive, - checkLevel, - convertType, - draftId, - activeId, - historyId, - treeId, - level, - isPublic, - orgPublishDate, - fetchPosMaster, - sumPosition, - getSumPosition, - }; -}); diff --git a/src/modules/16_positionEmployee/views/main.vue b/src/modules/16_positionEmployee/views/main.vue deleted file mode 100644 index cc797634..00000000 --- a/src/modules/16_positionEmployee/views/main.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - From 7a54b6d9b2b953f3a167c5e6e29c97a0afbef60e Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Thu, 6 Jun 2024 14:33:31 +0700 Subject: [PATCH 2/2] fix bug --- src/api/14_KPI/api.KPI.ts | 70 +++++++++ src/api/15_development/api.development.ts | 51 +++++++ src/api/index.ts | 4 +- src/app.config.ts | 9 ++ .../indicatorByPlan/IndicatorByPlan.vue | 2 +- .../01_metadata/interface/request/Main.ts | 2 +- .../01_metadata/stores/organizational.ts | 137 ++++++++++++++++++ 7 files changed, 271 insertions(+), 4 deletions(-) create mode 100644 src/api/14_KPI/api.KPI.ts create mode 100644 src/api/15_development/api.development.ts create mode 100644 src/modules/01_metadata/stores/organizational.ts diff --git a/src/api/14_KPI/api.KPI.ts b/src/api/14_KPI/api.KPI.ts new file mode 100644 index 00000000..97e20ae6 --- /dev/null +++ b/src/api/14_KPI/api.KPI.ts @@ -0,0 +1,70 @@ +import env from "../index"; +const KPI = `${env.API_URI}/kpi`; +const kpiPeriod = `${env.API_URI}/kpi/period`; +const kpiEvaluation = `${env.API_URI}/kpi/evaluation`; +const kpiUserEvaluation = `${env.API_URI}/kpi/user/evaluation`; +const kpiPlan = `${env.API_URI}/kpi/plan`; +const kpiRole = `${env.API_URI}/kpi/role`; +const kpiSpecial = `${env.API_URI}/kpi/special`; +const kpiCapacity = `${env.API_URI}/kpi/capacity`; +const KpiFile = `${env.API_URI}/salary/file`; +const KpiEvaluationInfo = `${env.API_URI}/kpi/evaluation`; +const Kpiorg = `${env.API_URI}/org/profile/commander`; + +const KpiUser = `${env.API_URI}/kpi/user`; +const kpiAchievement = `${env.API_URI}/kpi/user/achievement`; +const kpiReason = `${env.API_URI}/kpi/reason`; + +const urlFile = `${env.API_URI}/salary`; + +const kpiGroup = `${env.API_URI}/kpi/group`; +const kpiLink = `${env.API_URI}/kpi/link`; + +export default { + KPI, + kpiUserEvaluation, + /** รอบการประเมินผล*/ + kpiPeriod, + kpiPeriodById: (id: string) => `${kpiPeriod}/${id}`, + + kpiEvaluation, + kpiPlan, + kpiPlanById: (id: string) => `${kpiPlan}/${id}`, + + /** role */ + kpiRole, + kpiRoleMainList: `${KPI}/role`, + + kpiSpecial, + kpiCapacity, + KpiFile: KpiFile, + + kpiAchievement: (type: string) => `${kpiAchievement}/${type}`, + kpiAchievementPoint: (type: string) => `${kpiAchievement}/${type}/point`, + + kpiScoreTotal: () => `${kpiEvaluation}/point`, + + /** ผลสัมฤทธิ์ของงาน*/ + fileByFile: (name: string, group: string, id: string, fileName: string) => + `${urlFile}/file/${name}/${group}/${id}/${fileName}`, + kpiUserCapacity: `${KpiUser}/capacity`, + KpiEvaluationInfo, + Kpiorg, + kpiEvaluationCheck: `${kpiEvaluation}/check`, + kpiSendToStatus: (id: string) => `${kpiEvaluation}/status/${id}`, + kpiReqEdit: (id: string) => `${kpiEvaluation}/edit/${id}`, + /**ประเมิน*/ + kpiAchievementDevelop: `${kpiAchievement}/development`, + + kpiCommentP: (typP: string, type: string, role: string, id: string) => + `${kpiReason}/${typP}/${type}/${role}/${id}`, + + kpiGroup, + kpiGroupById: (id: string) => `${kpiGroup}/${id}`, + + /** สมรรถนะ */ + + kpiLink, + + profilePosition: () => `${env.API_URI}/org/profile/keycloak/position`, +}; diff --git a/src/api/15_development/api.development.ts b/src/api/15_development/api.development.ts new file mode 100644 index 00000000..f7649aa4 --- /dev/null +++ b/src/api/15_development/api.development.ts @@ -0,0 +1,51 @@ +import env from "../index"; +const development = `${env.API_URI}/development`; +const developmentOrg = `${env.API_URI}/org`; +const devScholarship = `${env.API_URI}/development/scholarship`; +const developmentReport = `${env.API_URI}/development/report`; +const devStrategy = `${env.API_URI}/development/strategy`; +export default { + development, + /** history */ + developmentHistoryList: (type: string) => + `${development}/history/${type}/filter`, + developmentHistoryListByid: (type: string, id: string) => + `${development}/history/${type}/${id}`, + developmentHistoryAdd: (type: string) => `${development}/history/${type}`, + developmentProjectSearch: () => `${development}/main/search`, + developmentHistoryListOrg: (type: string, year: number) => + `${development}/history/${type}/org/${year}`, + + /** history employee */ + developmentProjectSearchEmployee: () => `${developmentOrg}/profile-employee/`, + + /** รายการโครงการ*/ + developmentMain: `${development}/main`, + developmentMainById: (id: string) => `${development}/main/${id}`, + developmentMainTab: (tab: string, id: string) => + `${development}/main/${tab}/${id}`, + + /** ทุนการศึกษา/ฝึกอบรม*/ + devScholarship, + devScholarshipByid: (id: string) => `${devScholarship}/${id}`, + devScholarshipStatus: (id: string, status: string) => + `${devScholarship}/status/${id}/${status}`, + + /** download File */ + developmentReportMain: () => `${developmentReport}/main`, + developmentReportHistory: () => `${developmentReport}/history-officer`, + developmentReportHistoryOfficer: () => + `${developmentReport}/history-employee`, + developmentReportScholarship: () => `${developmentReport}/scholarship`, + + // ปิดโครงการ + developmentMainFinish: (id: string) => `${development}/main/finish/${id}`, + // ข้อมูล status ของโครงการ + developmentMainStatus: (id: string) => `${development}/main/status/${id}`, + + /** โครงการ tab ข้อมูลเบื้องต้น */ + developmentBasicInfoById: (id: string) => `${development}/main/tab1/${id}`, + + /**API ยุทธศาสตร์*/ + devStrategy, +}; diff --git a/src/api/index.ts b/src/api/index.ts index 478cc27a..077efbf3 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -2,8 +2,8 @@ import { ref } from "vue" const env = ref(process.env.NODE_ENV || "development") -// export const apiUrlConfigPublish = import.meta.env.VITE_API_PUBLISH_URL; -// export const apiUrlConfigReport = import.meta.env.VITE_API_REPORT_URL; +export const apiUrlConfigPublish = import.meta.env.VITE_API_PUBLISH_URL; +export const apiUrlConfigReport = import.meta.env.VITE_API_REPORT_URL; // if (process.env.VUE_APP_TEST) { // env = "test"; // } diff --git a/src/app.config.ts b/src/app.config.ts index 6e0175fd..264dd6bd 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -32,6 +32,12 @@ import file from "./api/file/api.file"; /** API ManagementUsers*/ import menagement from "./api/manage/api.management"; +/** API ระเมินผลการปฏิบัติราชการระดับบุคคล*/ +import KPI from "./api/14_KPI/api.KPI"; + +/** API เงินเดือน/ค่าจ้าง*/ +import development from "./api/15_development/api.development"; + // environment variables export const compettitivePanel = import.meta.env.VITE_COMPETITIVE_EXAM_PANEL; export const qualifyDisableExamPanel = import.meta.env @@ -69,6 +75,9 @@ const API = { /** menagement*/ ...menagement, + /** KPI*/ + ...KPI, + ...development, }; export default { diff --git a/src/modules/01_metadata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue b/src/modules/01_metadata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue index 9011c5da..b5a1fa3a 100644 --- a/src/modules/01_metadata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue +++ b/src/modules/01_metadata/components/Indicators/indicatorByPlan/IndicatorByPlan.vue @@ -9,7 +9,7 @@ import http from "@/plugins/http"; import type { DataOption } from "@/modules/01_metadata/interface/index/Main"; /** importStore*/ -import { usePositionEmp } from "@/modules/16_positionEmployee/store/organizational"; +import { usePositionEmp } from "@/modules/01_metadata/stores/organizational"; import { useCounterMixin } from "@/stores/mixin"; /**use*/ diff --git a/src/modules/01_metadata/interface/request/Main.ts b/src/modules/01_metadata/interface/request/Main.ts index 61316352..0dec0732 100644 --- a/src/modules/01_metadata/interface/request/Main.ts +++ b/src/modules/01_metadata/interface/request/Main.ts @@ -28,7 +28,7 @@ interface FormDataRole { includingName: string; target: string; unit: string; - weight: string; + weight: string | null; meaning: string; formula: string; documentInfoEvidence: string; diff --git a/src/modules/01_metadata/stores/organizational.ts b/src/modules/01_metadata/stores/organizational.ts new file mode 100644 index 00000000..5d52a52e --- /dev/null +++ b/src/modules/01_metadata/stores/organizational.ts @@ -0,0 +1,137 @@ +import { defineStore } from "pinia"; +import { reactive, ref } from "vue"; + +// /** importType*/ +// import type { +// DataActive, +// SumPosition, +// PosMaster, +// } from "@/modules/16_positionEmployee/interface/response/organizational"; + +export const usePositionEmp = defineStore("positionEmpStore", () => { + const typeOrganizational = ref("current"); + const statusView = ref("list"); + + const dataActive = ref(); + const activeId = ref(); + const draftId = ref(); + const historyId = ref(); + const treeId = ref(); + const level = ref(); + const isPublic = ref(false); + const orgPublishDate = ref(null); + const sumPosition = reactive({ + total: 0, + use: 0, + vacant: 0, + totalRoot: 0, + useRoot: 0, + vacantRoot: 0, + }); + + function getSumPosition(data: any) { + sumPosition.total = data.totalPosition; + sumPosition.totalRoot = data.totalRootPosition ? data.totalRootPosition : 0; + + if (typeOrganizational.value == "draft") { + sumPosition.use = data.totalPositionNextUse; + sumPosition.useRoot = data.totalRootPositionNextUse + ? data.totalRootPositionNextUse + : 0; + + sumPosition.vacant = data.totalPositionNextVacant; + sumPosition.vacantRoot = data.totalRootPositionNextVacant + ? data.totalRootPositionNextVacant + : 0; + } else { + sumPosition.use = data.totalPositionCurrentUse; + sumPosition.useRoot = data.totalRootPositionCurrentUse + ? data.totalRootPositionCurrentUse + : 0; + + sumPosition.vacant = data.totalPositionCurrentVacant; + sumPosition.vacantRoot = data.totalRootPositionCurrentVacant + ? data.totalRootPositionCurrentVacant + : 0; + } + } + + function fetchDataActive(data: any) { + activeId.value = data.activeId; + draftId.value = data.draftId; + dataActive.value = data; + isPublic.value = data.isPublic; + orgPublishDate.value = data.orgPublishDate; + } + + function fetchPosMaster(data: any[]) { + const newPosMaster = data.map((e: any) => ({ + ...e, + positionIsSelected: e.fullNameCurrentHolder + ? e.fullNameCurrentHolder + : "ว่าง", + posMasterNo: + e.orgShortname + + (e.posMasterNoPrefix ? e.posMasterNoPrefix : "") + + (e.posMasterNo ? e.posMasterNo : "") + + (e.posMasterNoSuffix ? e.posMasterNoSuffix : ""), + positionName: e.isSit ? e.profilePosition : e.positionName, + posTypeName: e.isSit ? e.profilePostype : e.posTypeName, + posLevelName: e.isSit ? e.profilePoslevel : e.posLevelName, + posExecutiveName: e.posExecutiveName, + isSit: e.isSit, + })); + + return newPosMaster; + } + + function checkLevel(type: number) { + switch (type) { + case 0: + return "Root"; + case 1: + return "Child1"; + case 2: + return "Child2"; + case 3: + return "Child3"; + default: + return "Child4"; + } + } + + function convertType(type: string) { + switch (type) { + case "DEPARTMENT": + return "ระดับสำนัก"; + case "OFFICE": + return "ระดับกอง/สำนักงาน/ส่วนราชการ/โรงพยาบาล/เทียบเท่ากอง"; + case "DIVISION": + return "ระดับส่วน/กลุ่มภารกิจ"; + case "SECTION": + return "ระดับฝ่าย/กลุ่มงาน"; + default: + return "-"; + } + } + + return { + typeOrganizational, + statusView, + + // + fetchDataActive, + checkLevel, + convertType, + draftId, + activeId, + historyId, + treeId, + level, + isPublic, + orgPublishDate, + fetchPosMaster, + sumPosition, + getSumPosition, + }; +});