diff --git a/src/modules/13_salary/components/DialogInfoMain.vue b/src/modules/13_salary/components/DialogInfoMain.vue new file mode 100644 index 000000000..90722a956 --- /dev/null +++ b/src/modules/13_salary/components/DialogInfoMain.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/modules/13_salary/components/InfoDiscipline.vue b/src/modules/13_salary/components/InfoDiscipline.vue new file mode 100644 index 000000000..5b5a21a20 --- /dev/null +++ b/src/modules/13_salary/components/InfoDiscipline.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/src/modules/13_salary/components/InfoLeave.vue b/src/modules/13_salary/components/InfoLeave.vue new file mode 100644 index 000000000..8a98b9f13 --- /dev/null +++ b/src/modules/13_salary/components/InfoLeave.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/src/modules/13_salary/components/InfoSalary.vue b/src/modules/13_salary/components/InfoSalary.vue new file mode 100644 index 000000000..829fbdcc3 --- /dev/null +++ b/src/modules/13_salary/components/InfoSalary.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/src/modules/13_salary/components/SalaryEmployeeLists/TableTypePending.vue b/src/modules/13_salary/components/SalaryEmployeeLists/TableTypePending.vue index d181c0cd6..e15253f7c 100644 --- a/src/modules/13_salary/components/SalaryEmployeeLists/TableTypePending.vue +++ b/src/modules/13_salary/components/SalaryEmployeeLists/TableTypePending.vue @@ -13,6 +13,7 @@ import DialogFormEdit from "@/modules/13_salary/components/SalaryEmployeeLists/D import DialogMoveGroup from "@/modules/13_salary/components/SalaryEmployeeLists/DialogMoveGroup.vue"; import DialogMoveLevel from "@/modules/13_salary/components/SalaryEmployeeLists/DialogMoveLevel.vue"; import DialogProperties from "@/modules/13_salary/components/SalaryEmployeeLists/DialogProperties.vue"; +import DialogInfo from "@/modules/13_salary/components/DialogInfoMain.vue"; /** importStore*/ import { useCounterMixin } from "@/stores/mixin"; @@ -137,24 +138,6 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, - { - name: "duration", - align: "center", - label: "ระยะเวลาการปฏิบัติราชการในรอบครึ่งปี", - sortable: false, - field: "duration", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "isPunish", - align: "center", - label: "ไม่ถูกลงโทษทางวินัย", - sortable: false, - field: "isPunish", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, { name: "isSuspension", align: "center", @@ -165,20 +148,29 @@ const columns = ref([ style: "font-size: 14px", }, { - name: "isAbsent", + name: "posSalary", align: "center", - label: "ไม่ขาดราชการ", + label: "ประวัติตำแหน่ง/เงินเดือน", sortable: false, - field: "isAbsent", + field: "posSalary", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { - name: "isLeave", + name: "discipline", align: "center", - label: "วันลาไม่เกิน", + label: "วินัย", sortable: false, - field: "isLeave", + field: "discipline", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "leave", + align: "center", + label: "การลา", + sortable: false, + field: "leave", headerStyle: "font-size: 14px", style: "font-size: 14px", }, @@ -192,13 +184,12 @@ const visibleColumns = ref([ "amount", "organization", "result", - "duration", - "isPunish", "isSuspension", - "isAbsent", - "isLeave", "group", "salaryLevel", + "posSalary", + "discipline", + "leave", ]); /** modalDialog*/ @@ -207,6 +198,7 @@ const modalDialogForm = ref(false); const modalDialogMoveGroup = ref(false); const modalDialogMoveLeve = ref(false); const modalDialogProperties = ref(false); +const modalDialogInfo = ref(false); /** ตัวแปร*/ const profileId = ref(""); @@ -311,6 +303,13 @@ watch( updatePagePagination(); } ); + +const infoType = ref(""); +function onClickViewInfo(type: string, id: string) { + infoType.value = type; + profileId.value = id; + modalDialogInfo.value = true; +} diff --git a/src/modules/13_salary/components/SalaryLists/DialogMoveLevel.vue b/src/modules/13_salary/components/SalaryLists/DialogMoveLevel.vue index acfc11957..831f7d44d 100644 --- a/src/modules/13_salary/components/SalaryLists/DialogMoveLevel.vue +++ b/src/modules/13_salary/components/SalaryLists/DialogMoveLevel.vue @@ -108,6 +108,8 @@ function chengType() { watch( () => modal.value, () => { + console.log(props.remark); + type.value = props.typeLevel == "PENDING" ? "" : props.typeLevel; note.value = props.typeLevel === "NONE" ? props.remark : ""; isReserve.value = props.isReserve; diff --git a/src/modules/13_salary/components/SalaryLists/TableTypePending.vue b/src/modules/13_salary/components/SalaryLists/TableTypePending.vue index 0b160c6d0..f1f779934 100644 --- a/src/modules/13_salary/components/SalaryLists/TableTypePending.vue +++ b/src/modules/13_salary/components/SalaryLists/TableTypePending.vue @@ -13,6 +13,7 @@ import DialogFormEdit from "@/modules/13_salary/components/SalaryLists/DialogFor import DialogMoveGroup from "@/modules/13_salary/components/SalaryLists/DialogMoveGroup.vue"; import DialogMoveLevel from "@/modules/13_salary/components/SalaryLists/DialogMoveLevel.vue"; import DialogProperties from "@/modules/13_salary/components/SalaryLists/DialogProperties.vue"; +import DialogInfo from "@/modules/13_salary/components/DialogInfoMain.vue"; /** importStore*/ import { useCounterMixin } from "@/stores/mixin"; @@ -125,24 +126,6 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, - { - name: "duration", - align: "center", - label: "ระยะเวลาการปฏิบัติราชการในรอบครึ่งปี", - sortable: false, - field: "duration", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "isPunish", - align: "center", - label: "ไม่ถูกลงโทษทางวินัย", - sortable: false, - field: "isPunish", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, { name: "isSuspension", align: "center", @@ -152,21 +135,31 @@ const columns = ref([ headerStyle: "font-size: 14px", style: "font-size: 14px", }, + { - name: "isAbsent", + name: "posSalary", align: "center", - label: "ไม่ขาดราชการ", + label: "ประวัติตำแหน่ง/เงินเดือน", sortable: false, - field: "isAbsent", + field: "posSalary", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { - name: "isLeave", + name: "discipline", align: "center", - label: "วันลาไม่เกิน", + label: "วินัย", sortable: false, - field: "isLeave", + field: "discipline", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "leave", + align: "center", + label: "การลา", + sortable: false, + field: "leave", headerStyle: "font-size: 14px", style: "font-size: 14px", }, @@ -181,11 +174,10 @@ const visibleColumns = ref([ "amount", "organization", "result", - "duration", - "isPunish", + "posSalary", + "discipline", + "leave", "isSuspension", - "isAbsent", - "isLeave", ]); /** modalDialog*/ @@ -194,6 +186,7 @@ const modalDialogForm = ref(false); const modalDialogMoveGroup = ref(false); const modalDialogMoveLeve = ref(false); const modalDialogProperties = ref(false); +const modalDialogInfo = ref(false); /** ตัวแปร*/ const profileId = ref(""); @@ -253,6 +246,7 @@ function onClickMovieGroup(id: string) { const typeLevel = ref(""); const isReserve = ref(false); + /** * function openPopup ย้ายกขั้น * @param id profileId @@ -290,6 +284,7 @@ function onProperties(data: any) { isAbsent.value = data.isAbsent; isLeave.value = data.isLeave; } + /** callblack function เรียกข้อมูลรายชื่อใหม่ เมื่อมีการเปลี่ยน PageSize*/ watch( () => formFilter.value.pageSize, @@ -297,6 +292,13 @@ watch( updatePagePagination(); } ); + +const infoType = ref(""); +function onClickViewInfo(type: string, id: string) { + infoType.value = type; + profileId.value = id; + modalDialogInfo.value = true; +} diff --git a/src/modules/13_salary/interface/response/Main.ts b/src/modules/13_salary/interface/response/Main.ts index 0b828a3b3..48eea3705 100644 --- a/src/modules/13_salary/interface/response/Main.ts +++ b/src/modules/13_salary/interface/response/Main.ts @@ -56,6 +56,75 @@ interface Row { total: number; } +interface DataPosSalary { + amount: number; + createdAt: string; + createdFullName: string; + createdUserId: string; + date: string; + id: string; + lastUpdateFullName: string; + lastUpdateUserId: string; + lastUpdatedAt: string; + mouthSalaryAmount: number; + order: number; + posNo: string; + position: string; + positionExecutive: string; + positionLevel: string; + positionLine: string; + positionPathSide: string; + positionSalaryAmount: number; + positionType: string; + profileEmployeeId: string; + profileId: string; + refCommandNo: string; + templateDoc: string; +} + +interface DataDiscipline { + date: string; + detail: string; + id: string; + lastUpdateFullName: string; + lastUpdatedAt: string; + level: string; + refCommandDate: string; + refCommandNo: string; + unStigma: string; +} +interface DataLeave { + id: string; + createdAt: string; + createdUserId: string; + lastUpdatedAt: string; + lastUpdateUserId: string; + createdFullName: string; + lastUpdateFullName: string; + profileId: string; + profileEmployeeId: string; + leaveTypeId: string; + dateLeaveStart: string; + dateLeaveEnd: string; + leaveDays: number; + leaveCount: number; + totalLeave: number; + status: string; + reason: string; + leaveType: { + id: string; + createdAt: string; + createdUserId: string; + lastUpdatedAt: string; + lastUpdateUserId: string; + createdFullName: string; + lastUpdateFullName: string; + name: string; + code: string; + limit: number; + }; +} + export type { Salary, SalaryRate, @@ -64,4 +133,7 @@ export type { RowList, Row, DataOption, + DataPosSalary, + DataDiscipline, + DataLeave, }; diff --git a/src/modules/14_KPI/views/report.vue b/src/modules/14_KPI/views/report.vue index 409003368..bda3917fa 100644 --- a/src/modules/14_KPI/views/report.vue +++ b/src/modules/14_KPI/views/report.vue @@ -233,6 +233,7 @@ function changOption(val: string) { val === "KPI2" || val === "KPI3" || val === "KPI7" || + val === "KPI8" || val === "KPI9" ) { persanalId.value = ""; @@ -552,6 +553,7 @@ onMounted(() => { typeReport === 'KPI2' || typeReport === 'KPI3' || typeReport === 'KPI7' || + typeReport === 'KPI8' || typeReport === 'KPI9' " > @@ -605,6 +607,7 @@ onMounted(() => { @update:model-value="changOption(typeReport)" /> { > -
- +
+