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/insignia/Insignia.vue b/src/modules/01_metadata/components/insignia/Insignia.vue index 7434cdc4e..a55d09e87 100644 --- a/src/modules/01_metadata/components/insignia/Insignia.vue +++ b/src/modules/01_metadata/components/insignia/Insignia.vue @@ -303,8 +303,8 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; -const rows = ref([]); //list data table +const { manageData, changeManageColumns, getInsignia, dataInsignia } = store; +const rows = ref(dataInsignia); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history const tittleHistory = ref("ประวัติแก้ไขชื่อเครื่องราชฯ"); // @@ -574,46 +574,51 @@ 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.listInsigniaHistory) - .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, - shortName: e.shortName, - level: e.level, - createdAt: e.createdAt, - lastUpdatedAt: e.lastUpdatedAt, - lastUpdateFullName: e.lastUpdateFullName, - isActive: e.isActive, - createdFullName: e.createdFullName, - createdUserId: e.createdUserId, - lastUpdateUserId: e.lastUpdateUserId, - insigniaType: e.insigniaType, - note: e.note, - }); - }); - rows.value.sort( - ( - firstItem: RequestItemsHistoryObject, - secondItem: RequestItemsHistoryObject - ) => firstItem.level - secondItem.level - ); - }) - .catch((e) => { - messageError($q, e); - }) - .finally(async () => { - await fetchinsigniaType(); - }); + const result = await getInsignia(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.listInsigniaHistory) + // .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, + // shortName: e.shortName, + // level: e.level, + // createdAt: e.createdAt, + // lastUpdatedAt: e.lastUpdatedAt, + // lastUpdateFullName: e.lastUpdateFullName, + // isActive: e.isActive, + // createdFullName: e.createdFullName, + // createdUserId: e.createdUserId, + // lastUpdateUserId: e.lastUpdateUserId, + // insigniaType: e.insigniaType, + // note: e.note, + // }); + // }); + // rows.value.sort( + // ( + // firstItem: RequestItemsHistoryObject, + // secondItem: RequestItemsHistoryObject + // ) => firstItem.level - secondItem.level + // ); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(async () => { + // await fetchinsigniaType(); + // }); }; /** diff --git a/src/modules/01_metadata/components/insignia/InsigniaType.vue b/src/modules/01_metadata/components/insignia/InsigniaType.vue index e84b36ba1..493e21f85 100644 --- a/src/modules/01_metadata/components/insignia/InsigniaType.vue +++ b/src/modules/01_metadata/components/insignia/InsigniaType.vue @@ -204,8 +204,9 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; -const rows = ref([]); //list data table +const { manageData, changeManageColumns, getInsigniaType, dataInsigniaType } = + store; +const rows = ref(dataInsigniaType); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history const tittleHistory = ref("ประวัติแก้ไขลำดับชั้นเครื่องราชฯ"); // @@ -363,37 +364,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.listInsigniaTypeHistory) - .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 getInsigniaType(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.listInsigniaTypeHistory) + // .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/person/Prefix.vue b/src/modules/01_metadata/components/person/Prefix.vue index 369243e93..2d0a39155 100644 --- a/src/modules/01_metadata/components/person/Prefix.vue +++ b/src/modules/01_metadata/components/person/Prefix.vue @@ -371,15 +371,15 @@ const $q = useQuasar(); /** * ฟังก์ชัน get data ล่าสุด */ -const fetchData = async () => { +const fetchData = async (load: boolean = false) => { await props.fetchDataComponent(); // rows.value = []; - const result = await getPrefix(false, true); + const result = await getPrefix(false, load); version.value = result.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ idVersion.value = result.idversion; //เลข id ใน mongodb rows.value = result.data; updateData.value = false; - console.log(result); + // rows.value.splice(0); // showLoader(); // await http @@ -459,7 +459,7 @@ const clearPublishedData = async () => { }) .finally(async () => { await fetchHistory(); - await fetchData(); + await fetchData(true); }); }; @@ -478,7 +478,7 @@ const publishedData = async () => { messageError($q, e); }) .finally(async () => { - await fetchData(); + await fetchData(true); }); }; @@ -538,7 +538,7 @@ const save = async (publish: boolean) => { .then(async (res) => { if (publish === false) { success($q, "บันทึกข้อมูลร่างสำเร็จ"); - await fetchData(); //ไม่เผยแพร่และ get data ล่าสุดมาใหม่ + await fetchData(true); //ไม่เผยแพร่และ get data ล่าสุดมาใหม่ } else { await publishedData(); //เผยแพร่ข้อมูลต } @@ -570,7 +570,7 @@ const checkDupDataName = (val: string) => { * ฟังก์ชันปุ่มแก้ไข ให้ get data มาใหม่ */ const clickEdit = async () => { - await fetchData(); + await fetchData(true); }; /** @@ -592,7 +592,7 @@ const clickDelete = async () => { */ const clickCancel = async () => { edit.value = false; - await fetchData(); + await fetchData(true); }; /** diff --git a/src/modules/01_metadata/components/position/Path.vue b/src/modules/01_metadata/components/position/Path.vue index 1e7160b25..4a853ce0e 100644 --- a/src/modules/01_metadata/components/position/Path.vue +++ b/src/modules/01_metadata/components/position/Path.vue @@ -217,7 +217,8 @@ const { loaderPage } = dataStore; const mixin = useCounterMixin(); const { success, dateText, messageError, showLoader, hideLoader } = mixin; const store = useManageDataStore(); -const { manageData, changeManageColumns } = store; +const { manageData, changeManageColumns, getPositionPath, dataPositionPath } = + store; const rows = ref([]); //list data table const rowsHistory = ref([]); //select data history const rawHistory = ref([]); //raw data history @@ -400,38 +401,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.listPositionPathHistory) - .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 getPositionPath(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.listPositionPathHistory) + // .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/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 d0c6efc0c..01e310555 100644 --- a/src/modules/01_metadata/store.ts +++ b/src/modules/01_metadata/store.ts @@ -5,6 +5,15 @@ import http from "@/plugins/http"; import config from "@/app.config"; 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"; +import type { RequestItemsHistoryObject as positionPathResponse } from "@/modules/01_metadata/interface/request/position/Path"; const $q = useQuasar(); const mixin = useCounterMixin(); @@ -13,6 +22,25 @@ const { success, messageError, showLoader, hideLoader } = mixin; export const useManageDataStore = defineStore("manage", () => { const dataPrefix = ref([]); //list data table const draftPrefix = ref([]); //list data table + const dataInsignia = ref([]); //list data table + 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 dataPositionPath = ref([]); //list data table + const draftPositionPath = ref([]); //list data table + const storeIdVersion = ref(""); //id data ใน mongodb const storeVersion = ref("published"); //รายการข้อมูลล่าสุดได้เผยแพร่หรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ interface manage { @@ -269,6 +297,267 @@ export const useManageDataStore = defineStore("manage", () => { } }; + const getInsigniaType = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataInsignia.value.length === 0) { + await fetchInsigniaType(true, selector); + return { + data: draftInsigniaType.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchInsigniaType(true, selector); + return { + data: draftInsigniaType.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftInsigniaType.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + const getInsignia = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataInsignia.value.length === 0) { + await fetchInsignia(true, selector); + return { + data: draftInsignia.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchInsignia(true, selector); + return { + data: draftInsignia.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftInsignia.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + + 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 getPositionPath = async ( + selector: boolean = false, + newFetch: boolean = false + ) => { + if (dataPositionPath.value.length === 0) { + await fetchPositionPath(true, selector); + return { + data: draftPositionPath.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + if (newFetch) { + await fetchPositionPath(true, selector); + return { + data: draftPositionPath.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } else { + return { + data: draftPositionPath.value, + version: storeVersion.value, + idversion: storeIdVersion.value, + }; + } + } + }; + const fetchPrefix = async (loader: boolean, selector: boolean) => { let apiPrefix = ""; if (loader) { @@ -316,8 +605,614 @@ export const useManageDataStore = defineStore("manage", () => { }); }; + const fetchInsignia = async (loader: boolean, selector: boolean) => { + let apiInsignia = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiInsignia = config.API.insignia; + } else { + apiInsignia = config.API.listInsigniaHistory; + } + await http + .get(apiInsignia) + .then((res) => { + const data = res.data.result; + let rows: InsigniaResponse[] = []; + if (selector) { + data.map((e: InsigniaResponse) => { + rows.push({ + id: e.id, + name: e.name, + shortName: e.shortName, + level: e.level, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + insigniaType: e.insigniaType, + note: e.note, + }); + }); + } else { + storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่ + storeIdVersion.value = data.id; //เลข id ใน mongodb + + data.items.map((e: InsigniaResponse) => { + rows.push({ + id: e.id, + name: e.name, + shortName: e.shortName, + level: e.level, + createdAt: e.createdAt, + lastUpdatedAt: e.lastUpdatedAt, + lastUpdateFullName: e.lastUpdateFullName, + isActive: e.isActive, + createdFullName: e.createdFullName, + createdUserId: e.createdUserId, + lastUpdateUserId: e.lastUpdateUserId, + insigniaType: e.insigniaType, + note: e.note, + }); + }); + } + + draftInsignia.value = rows; + if (loader) { + dataInsignia.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + const fetchInsigniaType = async (loader: boolean, selector: boolean) => { + let apiInsigniaType = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiInsigniaType = config.API.insigniaType; + } else { + apiInsigniaType = config.API.listInsigniaTypeHistory; + } + await http + .get(apiInsigniaType) + .then((res) => { + const data = res.data.result; + let rows: InsigniaTypeResponse[] = []; + if (selector) { + data.map((e: InsigniaTypeResponse) => { + 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: InsigniaTypeResponse) => { + 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, + }); + }); + } + + draftInsigniaType.value = rows; + if (loader) { + dataInsigniaType.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + + 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(); + } + }); + }; + + const fetchPositionPath = async (loader: boolean, selector: boolean) => { + let apiPositionPath = ""; + if (loader) { + showLoader(); + } + if (selector) { + apiPositionPath = config.API.positionPath; + } else { + apiPositionPath = config.API.listPositionPathHistory; + } + await http + .get(apiPositionPath) + .then((res) => { + const data = res.data.result; + let rows: positionPathResponse[] = []; + if (selector) { + data.map((e: positionPathResponse) => { + 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: positionPathResponse) => { + 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, + }); + }); + } + + draftPositionPath.value = rows; + if (loader) { + dataPositionPath.value = rows; + } + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + if (loader) { + hideLoader(); + } + }); + }; + return { dataPrefix, + dataInsignia, + dataInsigniaType, + dataPositionEmployee, + dataPositionEmployeeSide, + dataPositionEmployeeGroup, + dataPositionEmployeeLine, + dataPositionEmployeeLevel, + dataPositionEmployeeStatus, + dataPositionPath, storeIdVersion, storeVersion, manageData, @@ -325,5 +1220,14 @@ export const useManageDataStore = defineStore("manage", () => { changeManageCurrentTab, changeManageLink, changeManageColumns, + getInsignia, + getInsigniaType, + getPositionEmployee, + getPositionEmployeeSide, + getPositionEmployeeGroup, + getPositionEmployeeLine, + getPositionEmployeeLevel, + getPositionEmployeeStatus, + getPositionPath, }; }); diff --git a/src/modules/05_placement/components/exams_korkor/Main.vue b/src/modules/05_placement/components/exams_korkor/Main.vue new file mode 100644 index 000000000..92f8ea3b1 --- /dev/null +++ b/src/modules/05_placement/components/exams_korkor/Main.vue @@ -0,0 +1,426 @@ + + + + + diff --git a/src/modules/05_placement/components/exams_sorkorcho/Main.vue b/src/modules/05_placement/components/exams_sorkorcho/Main.vue new file mode 100644 index 000000000..92f8ea3b1 --- /dev/null +++ b/src/modules/05_placement/components/exams_sorkorcho/Main.vue @@ -0,0 +1,426 @@ + + + + + diff --git a/src/modules/05_placement/components/pass/Detail.vue b/src/modules/05_placement/components/pass/Detail.vue index 825fa12a1..9db3af52b 100644 --- a/src/modules/05_placement/components/pass/Detail.vue +++ b/src/modules/05_placement/components/pass/Detail.vue @@ -1,14 +1,18 @@ + diff --git a/src/modules/05_placement/components/pass/DialogHeader.vue b/src/modules/05_placement/components/pass/DialogHeader.vue index b02ec8f26..17140c5d5 100644 --- a/src/modules/05_placement/components/pass/DialogHeader.vue +++ b/src/modules/05_placement/components/pass/DialogHeader.vue @@ -1,19 +1,4 @@ - + + + diff --git a/src/modules/05_placement/components/pass/Table.vue b/src/modules/05_placement/components/pass/Table.vue index d7a033d69..f7480b059 100644 --- a/src/modules/05_placement/components/pass/Table.vue +++ b/src/modules/05_placement/components/pass/Table.vue @@ -7,12 +7,13 @@ import { usePlacementDataStore } from "@/modules/05_placement/store"; import type { QTableProps } from "quasar"; import DialogHeader from "@/modules/05_placement/components/pass/DialogHeader.vue"; import DialogFooter from "@/modules/05_placement/components/pass/DialogFooter.vue"; +import DialogCard from "@/modules/05_placement/components/pass/TableDetail.vue"; import { useCounterMixin } from "@/stores/mixin"; const mixin = useCounterMixin(); //เรียกฟังก์ชันกลาง const editvisible = ref(false); const myForm = ref(null); -const edit = ref(false); +const edit = ref(true); const visibleColumns = ref([]); const store = usePlacementDataStore(); const filter = ref(""); @@ -20,62 +21,45 @@ const { placementData } = store; const editRow = ref(false); //เช็คมีการแก้ไขข้อมูล const modal = ref(false); //modal add detail const modal_right = ref(false); //modal add detail + +const modalwaitInfo = ref(false); //modal add detail const modalEdit = ref(false); //modal ที่แสดงใช้สำหรับแก้ไขหรือไม่ const Name = ref(); const positionMasterUserNote = ref(); const $q = useQuasar(); // show dialog const files = ref([]); const appointModal = ref(false); +const isNewModel = ref(false); //modal add detail const appoint = ref({ - Code: '', - UnitName: '', - PositionNo: '', - PositionType: '', - PositionManage: '', - PositionTypeManage: '', - PositionLine: '', - Major: '', - PositionLevel: '' -}); - -const information = reactive({ - cardId: '', - fullname: '', - birthday: '', - gender: '', - address: '', - school: '', - degree: '', - department: '', - other: '', - A1: null, - A2: null, - B1: null, - B2: null, - C1: null, - C2: null, - status: '', - range: null, - total: null + Code: "", + UnitName: "", + PositionNo: "", + PositionType: "", + PositionManage: "", + PositionTypeManage: "", + PositionLine: "", + Major: "", + PositionLevel: "", }); const saveAppoint = () => { console.log("save appoint===>", appoint.value); -} +}; const savePostpone = () => { - const dataPost = { note: positionMasterUserNote.value, files: files } + const dataPost = { note: positionMasterUserNote.value, files: files }; console.log("save postpone===>", dataPost); - positionMasterUserNote.value = ''; + positionMasterUserNote.value = ""; modal_right.value = false; -} + isNewModel.value = false; +}; const saveDisclaim = () => { - const dataPost = { note: positionMasterUserNote.value } + const dataPost = { note: positionMasterUserNote.value }; console.log("save disclaim===>", dataPost); - positionMasterUserNote.value = ''; + positionMasterUserNote.value = ""; modal_right.value = false; -} +}; const clickEditRow = () => { editRow.value = true; @@ -87,79 +71,75 @@ const getClass = (val: boolean) => { }; }; const selectData = (props: TableName) => { - information.cardId = '4016500103241' - information.fullname = props.Name - information.birthday = '17 ก.พ. 2535' - information.gender = 'หญิง' - information.address = '200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170' - information.school = 'มหาวิทยาลัยมหาสารคาม' - information.degree = 'การศึกษาบัณฑิต' - information.department = 'เทคโนโลยีสื่อสารการศึกษา' - information.other = 'ใบอนุญาตประกอบวิชาชีพ' - information.A1 = 200 - information.A2 = 133 - information.B1 = 200 - information.B2 = 149 - information.C1 = 100 - information.C2 = 382 - information.status = 'ผ่าน' - information.range = 3 - information.total = 5 - Name.value = props.Name; - modal.value = true; - - // if (editvisible.value == true) { - // // editRow.value = false; - // // modalEdit.value = true; - // modal.value = false; - // // edit.value = true; - // // position.value = props.position; - // Name.value = props.Name; - // // ExamOrder.value = props.ExamOrder; - // // Unit.value = props.Unit; - // // ReportingDate.value = props.ReportingDate; - // // BMAOfficer.value = props.BMAOfficer; - // // Status.value = props.Status; - // // checkList.value = props.checkList; - // } else { - // // editRow.value = false; - // // modalEdit.value = true; - // modal.value = true; - // // edit.value = true; - // } + itemPopUp.value = props + if (editvisible.value == true) { + editRow.value = false; + modalEdit.value = true; + modal.value = false; + edit.value = true; + } else { + editRow.value = false; + modalEdit.value = true; + modal.value = true; + edit.value = true; + } }; const getNumFile = ref(0); -const editDetail = (props: TableName, action: "cancel" | "wait") => { - +const editDetail = ( + props: TableName, + action: "cancel" | "wait" | "waitInfo", + id:Number +) => { + let dataProp = { ...props }; if (action === "cancel") { getNumFile.value = 0; editRow.value = false; modalEdit.value = false; modal_right.value = true; edit.value = true; - Name.value = props.Name; + Name.value = props.fullName; } else if (action === "wait") { getNumFile.value = 1; editRow.value = false; modalEdit.value = true; modal_right.value = true; edit.value = true; - Name.value = props.Name; - } + isNewModel.value = true; + const GetId = (dataProp:any) =>{ + if(dataProp.value == id){ + dataProp.value.push({ + isNewModel:isNewModel.value + }) + return dataProp + } + } + GetId(dataProp); + console.log(dataProp) + Name.value = props.fullName; + } else if (action === "waitInfo") { + getNumFile.value = 1; + editRow.value = false; + modalEdit.value = true; + modalwaitInfo.value = true; + edit.value = true; + isNewModel.value = true; + Name.value = props.fullName; + } }; + placementData.mappingPosition.columns.length == 0 ? (visibleColumns.value = [ - "position", - "Name", - "ExamOrder", - "Unit", - "ReportingDate", - "BMAOfficer", - "Status", - "checkList", - ]) + "position", + "Name", + "ExamOrder", + "Unit", + "ReportingDate", + "BMAOfficer", + "Status", + "checkList", + ]) : (visibleColumns.value = placementData.mappingPosition.columns); const columns = ref([ { @@ -234,11 +214,14 @@ const columns = ref([ a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, ]); + const rows = ref([ { - Id: "4016500103241", + profileID: "4016500103241", position: 1, - Name: "นางสาวกัณฐิมา กาฬสินธุ์", + fullName: "นางสาวกัณฐิมา กาฬสินธุ์", + dateOfBirth: "17 ก.พ. 2535", + gender: "หญิง", ExamOrder: 1, unitId: "", UnitGroup: "", @@ -247,11 +230,32 @@ const rows = ref([ BMAOfficer: true, Status: "สละสิทธิ์", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, { - Id: "4016500092355", + profileID: "4016500092355", position: 2, - Name: "นางสาวรัชภรณ์ ภักดี", + fullName: "นางสาวรัชภรณ์ ภักดี", + dateOfBirth: "17 ก.พ. 2535", + gender: "หญิง", ExamOrder: 2, unitId: "", UnitGroup: "", @@ -260,11 +264,32 @@ const rows = ref([ BMAOfficer: false, Status: "ยังไม่บรรจุ", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, { - Id: "4016500086436", + profileID: "4016500086436", position: 3, - Name: "นางสาวภาพรรณ ลออ", + fullName: "นางสาวภาพรรณ ลออ", + dateOfBirth: "17 ก.พ. 2535", + gender: "หญิง", ExamOrder: 3, unitId: "", UnitGroup: "", @@ -273,12 +298,33 @@ const rows = ref([ BMAOfficer: true, Status: "ยังไม่บรรจุ", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, { - Id: "4016500073585", + profileID: "4016500073585", position: 4, - Name: "นางกติมา พนมเทียน", + fullName: "นางกติมา พนมเทียน", + dateOfBirth: "17 ก.พ. 2535", + gender: "หญิง", ExamOrder: 4, unitId: "", UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)", @@ -287,12 +333,33 @@ const rows = ref([ BMAOfficer: true, Status: "เตรียมบรรจุ", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, { - Id: "4016500053234", + profileID: "4016500053234", position: 5, - Name: "นางสาววิยฎา ทองเอียด", + fullName: "นางสาววิยฎา ทองเอียด", + dateOfBirth: "17 ก.พ. 2535", + gender: "หญิง", ExamOrder: 5, unitId: "", UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)", @@ -301,11 +368,32 @@ const rows = ref([ BMAOfficer: true, Status: "เตรียมบรรจุ", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, { - Id: "4016500042345", + profileID: "4016500042345", position: 6, - Name: "นายศรุณ เจริญเมือง", + fullName: "นายศรุณ เจริญเมือง", + dateOfBirth: "17 ก.พ. 2535", + gender: "ชาย", ExamOrder: 6, unitId: "", UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)", @@ -314,11 +402,32 @@ const rows = ref([ BMAOfficer: true, Status: "เตรียมบรรจุ", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, { - Id: "401650002245", + profileID: "401650002245", position: 7, - Name: "นายอภินัน บอบู่", + fullName: "นายอภินัน บอบู่", + dateOfBirth: "17 ก.พ. 2535", + gender: "ชาย", ExamOrder: 7, unitId: "", UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)", @@ -327,15 +436,70 @@ const rows = ref([ BMAOfficer: true, Status: "บรรจุเเล้ว", checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, + }, + { + profileID: "401650002245", + position: 7, + fullName: "นายอภินัน บอบู่", + dateOfBirth: "17 ก.พ. 2535", + gender: "ชาย", + ExamOrder: 7, + unitId: "", + UnitGroup: "กลุ่มงานช่วยนักบริหาร (กบห.)", + Unit: "นักทรัพยากรบุคคล (กบห.4)", + ReportingDate: "2023-05-30", //วันที่รายงานตัว + BMAOfficer: true, + Status: "ขอผ่อนผัน", + checkList: null, + address: + "200/88 ซอยศาลายา3 ถนนพุทธมณฑลสาย4 แขวงศาลายา เขตพุทธมณฑล อำเภอพุทธมณฑล จังหวัดนครปฐม 73170", + university: "มหาวิทยาลัยบูรพา", + degree: "การศึกษาบัณฑิต", + major: "เทคโนโลยีการศึกษา", + remark: "-", + number: 3, + examCount: 5, + scoreResult: { + scoreAFull: 200, + scoreA: 133, + scoreBFull: 200, + scoreB: 149, + scoreCFull: 100, + scoreC: 0, + scoreSumFull: 500, + scoreSum: 282, + examResult: "ผ่าน", + }, }, ]); +const itemPopUp = ref({}); + const clickCancel = async () => { editvisible.value = false; }; const openAppointModal = (value: any) => { - appointModal.value = true + appointModal.value = true; editRow.value = true; }; @@ -349,402 +513,336 @@ const clickClose = async () => { persistent: true, }).onOk(async () => { modal_right.value = false; + modalwaitInfo.value = false; modal.value = false; appointModal.value = false; }); } else { modal_right.value = false; + modalwaitInfo.value = false; modal.value = false; appointModal.value = false; } }; const save = () => { - console.log("rows===>", rows.value) -} - -// modal detail -interface CheckboxItem { - value: number; - label: string; -} - -const selection = ref([]); -const checkboxItems: CheckboxItem[] = [ - { value: 1, label: 'ไม่เป็นผู้ดำรงตำแหน่งทางการเมือง' }, - { value: 2, label: 'ไม่เป็นคนไร้ความสามารถ คนเสมือนไร้ความสามารถ คนวิกลจริตหรือจิตฟั่นเฟือน ไม่สมประกอบหรือเป็นโรคตามที่กำหนดในกฎ ก.พ.' }, - { value: 3, label: 'ไม่เป็นผู้อยู่ในระหว่างถูกสั่งพักราชการหรือถูกสั่งให้ออกจากราชการไว้ก่อนตามพระราชบัญญัตินี้ หรือตามกฎหมายอื่น' }, - { value: 4, label: 'ไม่เป็นผู้บกพร่องในศีลธรรมอันดีจนเป็นที่รังเกียจของสังคม' }, - { value: 5, label: 'ไม่เป็นกรรมการหรือผู้ดำรงตำแหน่งที่รับผิดชอบในการบริหารพรรคการเมือง หรือเจ้าหน้าที่ในพรรคการเมือง' }, - { value: 6, label: 'ไม่เป็นบุคคลล้มละลาย' }, - { value: 7, label: 'ไม่เป็นผู้เคยต้องรับโทษจำคุกโดยคำพิพากษาถึงที่สุดให้จำคุกเพราะกระทำความผิดทางอาญา เว้นแต่เป็นโทษสำหรับความผิดที่ใด้กระทำโดยประมาทหรือความผิดลหุโทษ' }, - { value: 8, label: 'ไม่เป็นผู้เคยถูกลงโทษให้ออก ปลดออก หรือไล่ออกจากรัฐวิสาหกิจ หรือ หน่วยงานอื่นของรัฐ' }, - { value: 9, label: 'เป็นผู้เคยถูลงโทษให้ออก หรือปลดออก เพราะกระทำผิตวินัยตามพระราชบัญญัตินี้ หรือตามกฎหมายอื่น' }, - { value: 10, label: 'เป็นผู้เคยถูกลงโทษไล่ออก เพราะกระทำผิดวินัยตามพระราชบัญญัตินี้ หรือตามกฎหมายอื่น' }, - { value: 11, label: 'เป็นผู้เคยกระทำการทุจริตในการสอบเข้ารับราชการ หรือเข้าปฏิบัติงานใน หน่วยงานของรัฐ' }, -]; - -const clickSave = async () => { - console.log(selection.value) + console.log("rows===>", rows.value); }; \ No newline at end of file + diff --git a/src/modules/05_placement/components/pass/TableDetail.vue b/src/modules/05_placement/components/pass/TableDetail.vue new file mode 100644 index 000000000..1633a3a30 --- /dev/null +++ b/src/modules/05_placement/components/pass/TableDetail.vue @@ -0,0 +1,313 @@ + + + \ No newline at end of file diff --git a/src/modules/05_placement/interface/request/Main.ts b/src/modules/05_placement/interface/request/Main.ts index 9690875aa..54d363323 100644 --- a/src/modules/05_placement/interface/request/Main.ts +++ b/src/modules/05_placement/interface/request/Main.ts @@ -1,12 +1,12 @@ // ข้อมูลรายการสอบแข่งขัน/คัดเลือก interface FormPlacementMainData { id: number; - ExamRound: string; - ExamOrder: number; - FiscalYear: number; - NumberofCandidates: number; - ExamType: number; - AccountExpirationDate: string; + examRound: string; + examOrder: number; + fiscalYear: number; + numberofCandidates: number; + examType: number; + accountExpirationDate: string; isExpired?: boolean; } diff --git a/src/modules/05_placement/interface/request/placement.ts b/src/modules/05_placement/interface/request/placement.ts index 504a4556b..199265b2a 100644 --- a/src/modules/05_placement/interface/request/placement.ts +++ b/src/modules/05_placement/interface/request/placement.ts @@ -1,7 +1,9 @@ interface TableName { - Id: string; + profileID: string; position: number; - Name: string; + fullName: string; + dateOfBirth: string; + gender: string; ExamOrder: number; unitId: string; UnitGroup: string; @@ -10,6 +12,24 @@ interface TableName { BMAOfficer: boolean; Status: string; checkList: any; -} + address: string; + university: string; + degree: string; + major: string; + remark: string; + number: number; + examCount: number; + scoreResult: { + scoreAFull:number + scoreA: number; + scoreBFull: number; + scoreB: number; + scoreCFull: number; + scoreC: number; + scoreSumFull: number; + scoreSum: number; + examResult: string; + }; +} export type { TableName }; \ No newline at end of file diff --git a/src/modules/05_placement/router.ts b/src/modules/05_placement/router.ts index f4af5d34e..0d6745f2f 100644 --- a/src/modules/05_placement/router.ts +++ b/src/modules/05_placement/router.ts @@ -2,15 +2,25 @@ * Router บรรจุ แต่งตั้ง ย้าย โอน (Placement) */ -const Main = () => import("@/modules/05_placement/views/Main.vue"); +const MainSorkorcho = () => import("@/modules/05_placement/components/exams_sorkorcho/Main.vue"); +const MainSorkorkor = () => import("@/modules/05_placement/components/exams_korkor/Main.vue"); const PlacementDetail = () => import("@/modules/05_placement/components/pass/Detail.vue"); -const Domination = () => import("@/modules/05_placement/views/Domination.vue"); export default [ { path: "/placement", name: "placement", - component: Main, + component: MainSorkorcho, + meta: { + Auth: true, + Key: [7], + Role: "placement", + }, + }, + { + path: "/placement2", + name: "placement2", + component: MainSorkorkor, meta: { Auth: true, Key: [7], @@ -37,15 +47,5 @@ export default [ Role: "placement", }, }, - { - path: "/domination", - name: "domination", - component: Domination, - meta: { - Auth: true, - Key: [7], - Role: "placement", - }, - }, ]; diff --git a/src/modules/05_placement/store.ts b/src/modules/05_placement/store.ts index 1769692af..cbe54a598 100644 --- a/src/modules/05_placement/store.ts +++ b/src/modules/05_placement/store.ts @@ -1,6 +1,6 @@ import { defineStore } from "pinia"; import { ref } from "vue"; -import type { FormPlacementMainData } from "@/modules/05_placement/interface/request/Main" +import type { FormPlacementMainData } from "@/modules/05_placement/interface/request/Main" export const useProfileDataStore = defineStore("placement", () => { return {}; }); @@ -26,19 +26,61 @@ export const usePlacementDataStore = defineStore("placement", () => { ); } - let DataMainOrig = ref([]) // ข้อมูลหลัก + let DataMainYear = ref([]) // ข้อมูลจำนวนปี + let DataMainOrig = ref([]) // ข้อมูลหลักดั้งเดิม let DataMainUpdate = ref([]) // ข้อมูลเปลี่ยนแปลง - const DataMain = (val: any) => (DataMainOrig.value = val) - const DataUpdateMain = (val: any) => { + const DataMainYearSet = (val: FormPlacementMainData[]) => (DataMainYear.value = val) + const DataMain = (val: FormPlacementMainData[]) => (DataMainOrig.value = val) + const DataUpdateMain = (filter_1: number | null, filter_2: number | null, filter_3: boolean) => { DataMainUpdate.value = []; - DataMainUpdate.value = val; + if (filter_1 === null && filter_2 === 0 && filter_3 === false) { + // console.log('case 1'); + // return DataMainUpdate.value = DataMainOrig.value; อันเก่า + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); + } else if (filter_1 === null && filter_2 === null && filter_3 === false) { + // console.log('case 1.1'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); + } else if (filter_1 !== null && filter_2 === 0 && filter_3 === false) { + // console.log('case 2'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.isExpired === filter_3); + } else if (filter_1 !== null && filter_2 === null && filter_3 === false) { + // console.log('case 2.1'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.isExpired === filter_3); + } else if (filter_1 !== null && filter_2 !== 0 && filter_3 === false) { + // console.log('case 2.2'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder === filter_1 && item.examType === filter_2 && item.isExpired === filter_3); + } else if (filter_1 === null && filter_2 !== 0 && filter_3 === false) { + // console.log('case 3'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examType === filter_2 && item.isExpired === filter_3); + } else if (filter_1 === null && filter_2 === 0 && filter_3 === true) { + // console.log('case 3.1'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); + } else if (filter_1 === null && filter_2 === null && filter_3 === true) { + // console.log('case 3.2'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.isExpired === filter_3); + } else if (filter_1 !== null && filter_2 === 0 && filter_3 === true) { + // console.log('case 3.3'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.isExpired == filter_3); + } else if (filter_1 !== null && filter_2 === null && filter_3 === true) { + // console.log('case 3.4'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.isExpired == filter_3); + } else if (filter_1 !== null && filter_2 !== 0 && filter_3 === true) { + // console.log('case 3.5'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examOrder == filter_1 && item.examType == filter_2 && item.isExpired == filter_3); + } else if (filter_1 === null && filter_2 !== 0 && filter_3 === true) { + // console.log('case 3.6'); + return DataMainUpdate.value = DataMainOrig.value.filter((item) => item.examType == filter_2 && item.isExpired == filter_3); + } + } return { placementData, changePlacementColumns, + DataMainYear, DataMainOrig, DataMainUpdate, + DataMainYearSet, DataMain, DataUpdateMain, }; diff --git a/src/modules/05_placement/views/Domination.vue b/src/modules/05_placement/views/Domination.vue deleted file mode 100644 index 0db669f8d..000000000 --- a/src/modules/05_placement/views/Domination.vue +++ /dev/null @@ -1,496 +0,0 @@ - - - - - diff --git a/src/modules/05_placement/views/Main.vue b/src/modules/05_placement/views/Main.vue index 0db669f8d..299da05c1 100644 --- a/src/modules/05_placement/views/Main.vue +++ b/src/modules/05_placement/views/Main.vue @@ -1,496 +1,7 @@ - - - + \ No newline at end of file