From c1b7b25981128a07a5c87de2ec144684ec178d34 Mon Sep 17 00:00:00 2001 From: AnandaTon <125332905+anandaAiemvong@users.noreply.github.com> Date: Wed, 14 Jun 2023 15:12:38 +0700 Subject: [PATCH] Pinia Store data positionEmployee --- src/api/manage/api.positionEmployee.ts | 6 + .../components/positionEmployee/Group.vue | 72 ++- .../components/positionEmployee/Level.vue | 73 ++- .../components/positionEmployee/Line.vue | 72 ++- .../components/positionEmployee/Position.vue | 74 ++- .../positionEmployee/PositionSide.vue | 74 ++- .../components/positionEmployee/Status.vue | 72 ++- src/modules/01_metadata/store.ts | 610 +++++++++++++++++- 8 files changed, 862 insertions(+), 191 deletions(-) diff --git a/src/api/manage/api.positionEmployee.ts b/src/api/manage/api.positionEmployee.ts index a57137a7e..240d943cd 100644 --- a/src/api/manage/api.positionEmployee.ts +++ b/src/api/manage/api.positionEmployee.ts @@ -14,6 +14,7 @@ export default { /** * api ตำแหน่ง */ + positionEmployeePosition, listPositionEmployeePositionHistory: `${positionEmployeePosition}history`, listPositionEmployeePositionHistoryId: (id: string) => `${positionEmployeePosition}history/${id}`, @@ -23,6 +24,7 @@ export default { /** * api ด้านของตำแหน่ง */ + positionEmployeePositionSide, listPositionEmployeePositionSideHistory: `${positionEmployeePositionSide}history`, listPositionEmployeePositionSideHistoryId: (id: string) => `${positionEmployeePositionSide}history/${id}`, @@ -32,6 +34,7 @@ export default { /** * api กลุ่มงาน */ + positionEmployeeGroup, listPositionEmployeeGroupHistory: `${positionEmployeeGroup}history`, listPositionEmployeeGroupHistoryId: (id: string) => `${positionEmployeeGroup}history/${id}`, @@ -41,6 +44,7 @@ export default { /** * api สายงาน */ + positionEmployeeLine, listPositionEmployeeLineHistory: `${positionEmployeeLine}history`, listPositionEmployeeLineHistoryId: (id: string) => `${positionEmployeeLine}history/${id}`, @@ -50,6 +54,7 @@ export default { /** * api ระดับชั้นงาน */ + positionEmployeeLevel, listPositionEmployeeLevelHistory: `${positionEmployeeLevel}history`, listPositionEmployeeLevelHistoryId: (id: string) => `${positionEmployeeLevel}history/${id}`, @@ -59,6 +64,7 @@ export default { /** * api สถานะของตำแหน่ง */ + positionEmployeeStatus, listPositionEmployeeStatusHistory: `${positionEmployeeStatus}history`, listPositionEmployeeStatusHistoryId: (id: string) => `${positionEmployeeStatus}history/${id}`, diff --git a/src/modules/01_metadata/components/positionEmployee/Group.vue b/src/modules/01_metadata/components/positionEmployee/Group.vue index 36d83bf4c..26f32eca3 100644 --- a/src/modules/01_metadata/components/positionEmployee/Group.vue +++ b/src/modules/01_metadata/components/positionEmployee/Group.vue @@ -204,7 +204,12 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { + manageData, + changeManageColumns, + getPositionEmployeeGroup, + dataPositionEmployeeGroup, +} = store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -363,37 +368,42 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); - rows.value.splice(0); - showLoader(); - await http - .get(config.API.listPositionEmployeeGroupHistory) - .then((res) => { - let data = res.data.result; - version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ - idVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { - rows.value.push({ - id: e.id, - name: e.name, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - }); - }); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - updateData.value = false; - hideLoader(); - }); + const result = await getPositionEmployeeGroup(false, load); + version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + idVersion.value = result.idversion; //เลข id ใน mongodb + rows.value = result.data; + updateData.value = false; + // rows.value.splice(0); + // showLoader(); + // await http + // .get(config.API.listPositionEmployeeGroupHistory) + // .then((res) => { + // let data = res.data.result; + // version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + // idVersion.value = data.id; //เลข id ใน mongodb + // data.items.map((e: RequestItemsHistoryObject) => { + // rows.value.push({ + // id: e.id, + // name: e.name, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // }); + // }); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(() => { + // updateData.value = false; + // hideLoader(); + // }); }; /** diff --git a/src/modules/01_metadata/components/positionEmployee/Level.vue b/src/modules/01_metadata/components/positionEmployee/Level.vue index 15896590b..58e30aa71 100644 --- a/src/modules/01_metadata/components/positionEmployee/Level.vue +++ b/src/modules/01_metadata/components/positionEmployee/Level.vue @@ -204,7 +204,12 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { + manageData, + changeManageColumns, + getPositionEmployeeLevel, + dataPositionEmployeeLevel, +} = store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -362,37 +367,43 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); - rows.value.splice(0); - showLoader(); - await http - .get(config.API.listPositionEmployeeLevelHistory) - .then((res) => { - let data = res.data.result; - version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ - idVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { - rows.value.push({ - id: e.id, - name: e.name, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - }); - }); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - updateData.value = false; - hideLoader(); - }); + const result = await getPositionEmployeeLevel(false, load); + version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + idVersion.value = result.idversion; //เลข id ใน mongodb + rows.value = result.data; + updateData.value = false; + + // rows.value.splice(0); + // showLoader(); + // await http + // .get(config.API.listPositionEmployeeLevelHistory) + // .then((res) => { + // let data = res.data.result; + // version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + // idVersion.value = data.id; //เลข id ใน mongodb + // data.items.map((e: RequestItemsHistoryObject) => { + // rows.value.push({ + // id: e.id, + // name: e.name, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // }); + // }); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(() => { + // updateData.value = false; + // hideLoader(); + // }); }; /** diff --git a/src/modules/01_metadata/components/positionEmployee/Line.vue b/src/modules/01_metadata/components/positionEmployee/Line.vue index 037e47d18..031581b62 100644 --- a/src/modules/01_metadata/components/positionEmployee/Line.vue +++ b/src/modules/01_metadata/components/positionEmployee/Line.vue @@ -204,7 +204,12 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { + manageData, + changeManageColumns, + getPositionEmployeeLine, + dataPositionEmployeeLine, +} = store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -363,37 +368,42 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); - rows.value.splice(0); - showLoader(); - await http - .get(config.API.listPositionEmployeeLineHistory) - .then((res) => { - let data = res.data.result; - version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ - idVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { - rows.value.push({ - id: e.id, - name: e.name, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - }); - }); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - updateData.value = false; - hideLoader(); - }); + const result = await getPositionEmployeeLine(false, load); + version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + idVersion.value = result.idversion; //เลข id ใน mongodb + rows.value = result.data; + updateData.value = false; + // rows.value.splice(0); + // showLoader(); + // await http + // .get(config.API.listPositionEmployeeLineHistory) + // .then((res) => { + // let data = res.data.result; + // version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + // idVersion.value = data.id; //เลข id ใน mongodb + // data.items.map((e: RequestItemsHistoryObject) => { + // rows.value.push({ + // id: e.id, + // name: e.name, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // }); + // }); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(() => { + // updateData.value = false; + // hideLoader(); + // }); }; /** diff --git a/src/modules/01_metadata/components/positionEmployee/Position.vue b/src/modules/01_metadata/components/positionEmployee/Position.vue index 6d8f6663d..e27bbf862 100644 --- a/src/modules/01_metadata/components/positionEmployee/Position.vue +++ b/src/modules/01_metadata/components/positionEmployee/Position.vue @@ -216,7 +216,12 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { + manageData, + changeManageColumns, + getPositionEmployee, + dataPositionEmployee, +} = store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -399,38 +404,43 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); - rows.value.splice(0); - showLoader(); - await http - .get(config.API.listPositionEmployeePositionHistory) - .then((res) => { - let data = res.data.result; - version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ - idVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { - rows.value.push({ - id: e.id, - name: e.name, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - note: e.note, - }); - }); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - updateData.value = false; - hideLoader(); - }); + const result = await getPositionEmployee(false, load); + version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + idVersion.value = result.idversion; //เลข id ใน mongodb + rows.value = result.data; + updateData.value = false; + // rows.value.splice(0); + // showLoader(); + // await http + // .get(config.API.listPositionEmployeePositionHistory) + // .then((res) => { + // let data = res.data.result; + // version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + // idVersion.value = data.id; //เลข id ใน mongodb + // data.items.map((e: RequestItemsHistoryObject) => { + // rows.value.push({ + // id: e.id, + // name: e.name, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // note: e.note, + // }); + // }); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(() => { + // updateData.value = false; + // hideLoader(); + // }); }; /** diff --git a/src/modules/01_metadata/components/positionEmployee/PositionSide.vue b/src/modules/01_metadata/components/positionEmployee/PositionSide.vue index b40942375..22584ada8 100644 --- a/src/modules/01_metadata/components/positionEmployee/PositionSide.vue +++ b/src/modules/01_metadata/components/positionEmployee/PositionSide.vue @@ -216,7 +216,12 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { + manageData, + changeManageColumns, + getPositionEmployeeSide, + dataPositionEmployeeSide, +} = store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -399,38 +404,43 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); - rows.value.splice(0); - showLoader(); - await http - .get(config.API.listPositionEmployeePositionSideHistory) - .then((res) => { - let data = res.data.result; - version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ - idVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { - rows.value.push({ - id: e.id, - name: e.name, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - note: e.note, - }); - }); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - updateData.value = false; - hideLoader(); - }); + const result = await getPositionEmployeeSide(false, load); + version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + idVersion.value = result.idversion; //เลข id ใน mongodb + rows.value = result.data; + updateData.value = false; + // rows.value.splice(0); + // showLoader(); + // await http + // .get(config.API.listPositionEmployeePositionSideHistory) + // .then((res) => { + // let data = res.data.result; + // version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + // idVersion.value = data.id; //เลข id ใน mongodb + // data.items.map((e: RequestItemsHistoryObject) => { + // rows.value.push({ + // id: e.id, + // name: e.name, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // note: e.note, + // }); + // }); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(() => { + // updateData.value = false; + // hideLoader(); + // }); }; /** diff --git a/src/modules/01_metadata/components/positionEmployee/Status.vue b/src/modules/01_metadata/components/positionEmployee/Status.vue index f636feec4..ba2fe9bac 100644 --- a/src/modules/01_metadata/components/positionEmployee/Status.vue +++ b/src/modules/01_metadata/components/positionEmployee/Status.vue @@ -204,7 +204,12 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { + manageData, + changeManageColumns, + getPositionEmployeeStatus, + dataPositionEmployeeStatus, +} = store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -363,37 +368,42 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); - rows.value.splice(0); - showLoader(); - await http - .get(config.API.listPositionEmployeeStatusHistory) - .then((res) => { - let data = res.data.result; - version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ - idVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { - rows.value.push({ - id: e.id, - name: e.name, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - }); - }); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - updateData.value = false; - hideLoader(); - }); + const result = await getPositionEmployeeStatus(false, load); + version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + idVersion.value = result.idversion; //เลข id ใน mongodb + rows.value = result.data; + updateData.value = false; + // rows.value.splice(0); + // showLoader(); + // await http + // .get(config.API.listPositionEmployeeStatusHistory) + // .then((res) => { + // let data = res.data.result; + // version.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + // idVersion.value = data.id; //เลข id ใน mongodb + // data.items.map((e: RequestItemsHistoryObject) => { + // rows.value.push({ + // id: e.id, + // name: e.name, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // }); + // }); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(() => { + // updateData.value = false; + // hideLoader(); + // }); }; /** diff --git a/src/modules/01_metadata/store.ts b/src/modules/01_metadata/store.ts index d080bb3f0..84269c7dc 100644 --- a/src/modules/01_metadata/store.ts +++ b/src/modules/01_metadata/store.ts @@ -7,6 +7,13 @@ import { useCounterMixin } from "@/stores/mixin"; import type { RequestItemsHistoryObject } from "@/modules/01_metadata/interface/request/person/Prefix"; import type { RequestItemsHistoryObject as InsigniaResponse } from "@/modules/01_metadata/interface/request/insignia/Insignia"; import type { RequestItemsHistoryObject as InsigniaTypeResponse } from "@/modules/01_metadata/interface/request/insignia/InsigniaType"; +import type { RequestItemsHistoryObject as positionEmployeeResponse } from "@/modules/01_metadata/interface/request/positionEmployee/Position"; +import type { RequestItemsHistoryObject as positionEmployeeSideResponse } from "@/modules/01_metadata/interface/request/positionEmployee/PositionSide"; +import type { RequestItemsHistoryObject as positionEmployeeGroupResponse } from "@/modules/01_metadata/interface/request/positionEmployee/Group"; +import type { RequestItemsHistoryObject as positionEmployeeLineResponse } from "@/modules/01_metadata/interface/request/positionEmployee/Line"; +import type { RequestItemsHistoryObject as positionEmployeeLevelResponse } from "@/modules/01_metadata/interface/request/positionEmployee/Level"; +import type { RequestItemsHistoryObject as positionEmployeeStatusResponse } from "@/modules/01_metadata/interface/request/positionEmployee/Status"; + const $q = useQuasar(); const mixin = useCounterMixin(); const { success, messageError, showLoader, hideLoader } = mixin; @@ -18,6 +25,18 @@ export const useManageDataStore = defineStore("manage", () => { const draftInsignia = ref([]); //list data table const dataInsigniaType = ref([]); //list data table const draftInsigniaType = ref([]); //list data table + const dataPositionEmployee = ref([]); //list data table + const draftPositionEmployee = ref([]); //list data table + const dataPositionEmployeeSide = ref([]); //list data table + const draftPositionEmployeeSide = ref([]); //list data table + const dataPositionEmployeeGroup = ref([]); //list data table + const draftPositionEmployeeGroup = ref([]); //list data table + const dataPositionEmployeeLine = ref([]); //list data table + const draftPositionEmployeeLine = ref([]); //list data table + const dataPositionEmployeeLevel = ref([]); //list data table + const draftPositionEmployeeLevel = ref([]); //list data table + const dataPositionEmployeeStatus = ref([]); //list data table + const draftPositionEmployeeStatus = ref([]); //list data table const storeIdVersion = ref(""); //id data ใน mongodb const storeVersion = ref("published"); //รายการข้อมูลล่าสุดได้เผยแพร่หรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ @@ -333,6 +352,180 @@ export const useManageDataStore = defineStore("manage", () => { } }; + const getPositionEmployee = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionEmployee.value.length === 0) { + await fetchPositionEmployee(true, selector); + return { + data: draftPositionEmployee.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionEmployee(true, selector); + return { + data: draftPositionEmployee.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionEmployee.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + const getPositionEmployeeSide = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionEmployeeSide.value.length === 0) { + await fetchPositionEmployeeSide(true, selector); + return { + data: draftPositionEmployeeSide.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionEmployeeSide(true, selector); + return { + data: draftPositionEmployeeSide.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionEmployeeSide.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + const getPositionEmployeeGroup = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionEmployeeGroup.value.length === 0) { + await fetchPositionEmployeeGroup(true, selector); + return { + data: draftPositionEmployeeGroup.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionEmployeeGroup(true, selector); + return { + data: draftPositionEmployeeGroup.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionEmployeeGroup.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + const getPositionEmployeeLine = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionEmployeeLine.value.length === 0) { + await fetchPositionEmployeeLine(true, selector); + return { + data: draftPositionEmployeeLine.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionEmployeeLine(true, selector); + return { + data: draftPositionEmployeeLine.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionEmployeeLine.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + const getPositionEmployeeLevel = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionEmployeeLevel.value.length === 0) { + await fetchPositionEmployeeLevel(true, selector); + return { + data: draftPositionEmployeeLevel.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionEmployeeLevel(true, selector); + return { + data: draftPositionEmployeeLevel.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionEmployeeLevel.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + const getPositionEmployeeStatus = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionEmployeeStatus.value.length === 0) { + await fetchPositionEmployeeStatus(true, selector); + return { + data: draftPositionEmployeeStatus.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionEmployeeStatus(true, selector); + return { + data: draftPositionEmployeeStatus.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionEmployeeStatus.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + const fetchPrefix = async (loader: boolean, selector: boolean) => { let apiPrefix = ""; if (loader) { @@ -465,9 +658,9 @@ export const useManageDataStore = defineStore("manage", () => { .get(apiInsigniaType) .then((res) => { const data = res.data.result; - let rows: RequestItemsHistoryObject[] = []; + let rows: InsigniaTypeResponse[] = []; if (selector) { - data.map((e: RequestItemsHistoryObject) => { + data.map((e: InsigniaTypeResponse) => { rows.push({ id: e.id, name: e.name, @@ -484,7 +677,7 @@ export const useManageDataStore = defineStore("manage", () => { storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ storeIdVersion.value = data.id; //เลข id ใน mongodb - data.items.map((e: RequestItemsHistoryObject) => { + data.items.map((e: InsigniaTypeResponse) => { rows.push({ id: e.id, name: e.name, @@ -513,10 +706,415 @@ export const useManageDataStore = defineStore("manage", () => { } }); }; + + const fetchPositionEmployee = async (loader: boolean, selector: boolean) => { + let apiPositionEmployee = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionEmployee = config.API.positionEmployeePosition; + } else { + apiPositionEmployee = config.API.listPositionEmployeePositionHistory; + } + await http + .get(apiPositionEmployee) + .then((res) => { + const data = res.data.result; + let rows: positionEmployeeResponse[] = []; + if (selector) { + data.map((e: positionEmployeeResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + note: e.note, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: positionEmployeeResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + note: e.note, + }); + }); + } + + draftPositionEmployee.value = rows; + if (loader) { + dataPositionEmployee.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + const fetchPositionEmployeeSide = async ( + loader: boolean, + selector: boolean + ) => { + let apiPositionEmployeeSide = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionEmployeeSide = config.API.positionEmployeePositionSide; + } else { + apiPositionEmployeeSide = + config.API.listPositionEmployeePositionSideHistory; + } + await http + .get(apiPositionEmployeeSide) + .then((res) => { + const data = res.data.result; + let rows: positionEmployeeSideResponse[] = []; + if (selector) { + data.map((e: positionEmployeeSideResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + note: e.note, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: positionEmployeeSideResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + note: e.note, + }); + }); + } + + draftPositionEmployeeSide.value = rows; + if (loader) { + dataPositionEmployeeSide.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + const fetchPositionEmployeeGroup = async ( + loader: boolean, + selector: boolean + ) => { + let apiPositionEmployeeGroup = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionEmployeeGroup = config.API.positionEmployeeGroup; + } else { + apiPositionEmployeeGroup = config.API.listPositionEmployeeGroupHistory; + } + await http + .get(apiPositionEmployeeGroup) + .then((res) => { + const data = res.data.result; + let rows: positionEmployeeGroupResponse[] = []; + if (selector) { + data.map((e: positionEmployeeGroupResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: positionEmployeeGroupResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } + + draftPositionEmployeeGroup.value = rows; + if (loader) { + dataPositionEmployeeGroup.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + const fetchPositionEmployeeLine = async ( + loader: boolean, + selector: boolean + ) => { + let apiPositionEmployeeLine = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionEmployeeLine = config.API.positionEmployeeLine; + } else { + apiPositionEmployeeLine = config.API.listPositionEmployeeLineHistory; + } + await http + .get(apiPositionEmployeeLine) + .then((res) => { + const data = res.data.result; + let rows: positionEmployeeLineResponse[] = []; + if (selector) { + data.map((e: positionEmployeeLineResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: positionEmployeeLineResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } + + draftPositionEmployeeLine.value = rows; + if (loader) { + dataPositionEmployeeLine.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + const fetchPositionEmployeeLevel = async ( + loader: boolean, + selector: boolean + ) => { + let apiPositionEmployeeLevel = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionEmployeeLevel = config.API.positionEmployeeLevel; + } else { + apiPositionEmployeeLevel = config.API.listPositionEmployeeLevelHistory; + } + await http + .get(apiPositionEmployeeLevel) + .then((res) => { + const data = res.data.result; + let rows: positionEmployeeLevelResponse[] = []; + if (selector) { + data.map((e: positionEmployeeLevelResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: positionEmployeeLevelResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } + + draftPositionEmployeeLevel.value = rows; + if (loader) { + dataPositionEmployeeLevel.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + const fetchPositionEmployeeStatus = async ( + loader: boolean, + selector: boolean + ) => { + let apiPositionEmployeeStatus = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionEmployeeStatus = config.API.positionEmployeeStatus; + } else { + apiPositionEmployeeStatus = config.API.listPositionEmployeeStatusHistory; + } + await http + .get(apiPositionEmployeeStatus) + .then((res) => { + const data = res.data.result; + let rows: positionEmployeeStatusResponse[] = []; + if (selector) { + data.map((e: positionEmployeeStatusResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: positionEmployeeStatusResponse) => { + rows.push({ + id: e.id, + name: e.name, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + }); + }); + } + + draftPositionEmployeeStatus.value = rows; + if (loader) { + dataPositionEmployeeStatus.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + return { dataPrefix, dataInsignia, dataInsigniaType, + dataPositionEmployee, + dataPositionEmployeeSide, + dataPositionEmployeeGroup, + dataPositionEmployeeLine, + dataPositionEmployeeLevel, + dataPositionEmployeeStatus, storeIdVersion, storeVersion, manageData, @@ -526,5 +1124,11 @@ export const useManageDataStore = defineStore("manage", () => { changeManageColumns, getInsignia, getInsigniaType, + getPositionEmployee, + getPositionEmployeeSide, + getPositionEmployeeGroup, + getPositionEmployeeLine, + getPositionEmployeeLevel, + getPositionEmployeeStatus, }; });