From 36289d0d74b79ccefaa9d2595ce9d57160639f90 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Fri, 11 Apr 2025 12:36:19 +0700 Subject: [PATCH 1/3] =?UTF-8?q?=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=8A?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=A5=E0=B8=B9=E0=B8=81=E0=B8=88?= =?UTF-8?q?=E0=B9=89=E0=B8=B2=E0=B8=87=E0=B8=8A=E0=B8=B1=E0=B9=88=E0=B8=A7?= =?UTF-8?q?=E0=B8=84=E0=B8=A3=E0=B8=B2=E0=B8=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../08_registryEmployee/views/Main.vue | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/modules/08_registryEmployee/views/Main.vue b/src/modules/08_registryEmployee/views/Main.vue index 1ca25f062..959ec554e 100644 --- a/src/modules/08_registryEmployee/views/Main.vue +++ b/src/modules/08_registryEmployee/views/Main.vue @@ -93,21 +93,21 @@ const columns = ref([ { name: "draftOrganizationOrganization", align: "left", - label: "หน่วยงานที่รับการบรรจุ", + label: "ตำแหน่ง/หน่วยงานที่รับการบรรจุ", sortable: false, field: "draftOrganizationOrganization", headerStyle: "font-size: 14px", style: "font-size: 14px", }, - { - name: "draftPositionEmployee", - align: "left", - label: "หน่วยงานที่บรรจุ", - sortable: false, - field: "draftPositionEmployee", - headerStyle: "font-size: 14px; min-width: 200px", - style: "font-size: 14px; ", - }, + // { + // name: "draftPositionEmployee", + // align: "left", + // label: "ตำแหน่งที่บรรจุ", + // sortable: false, + // field: "draftPositionEmployee", + // headerStyle: "font-size: 14px; min-width: 200px", + // style: "font-size: 14px; ", + // }, { name: "govAge", @@ -193,7 +193,7 @@ const visibleColumns = ref([ "citizenId", "fullname", "draftOrganizationOrganization", - "draftPositionEmployee", + // "draftPositionEmployee", "govAge", "dateEmployment", "age", @@ -465,8 +465,23 @@ onMounted(async () => { " >
+
+ {{ + props.row.position !== null ? props.row.position : "-" + }} + {{ + props.row.posTypeShortName !== null + ? `(${props.row.posTypeShortName}` + : "" + }} + {{ + props.row.posLevel !== null + ? `${props.row.posLevel})` + : "" + }} +
- {{ props.row.root !== null ? props.row.root : "-" }} + {{ props.row.root !== null ? props.row.root : "" }} {{ props.row.rootShortName !== null ? `(${props.row.rootShortName})` From 7327187ecba6102929e9887927a231cf73501773 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Fri, 11 Apr 2025 15:03:31 +0700 Subject: [PATCH 2/3] =?UTF-8?q?fix=20=E0=B9=80=E0=B8=87=E0=B8=B4=E0=B8=99?= =?UTF-8?q?=E0=B9=80=E0=B8=94=E0=B8=B7=E0=B8=AD=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/13_salary/api.salary.ts | 1 + .../views/07_appointEmployeeMain.vue | 4 +- .../04_salaryLists/DialogMoveLevelMulti.vue | 353 ++++++++++++++++++ .../components/04_salaryLists/ProcessStep.vue | 48 ++- .../components/04_salaryLists/TabMain.vue | 5 +- .../04_salaryLists/TableTypePending.vue | 57 ++- .../13_salary/views/04_salaryLists.vue | 54 ++- 7 files changed, 490 insertions(+), 32 deletions(-) create mode 100644 src/modules/13_salary/components/04_salaryLists/DialogMoveLevelMulti.vue diff --git a/src/api/13_salary/api.salary.ts b/src/api/13_salary/api.salary.ts index 94fbffffe..d862999bf 100644 --- a/src/api/13_salary/api.salary.ts +++ b/src/api/13_salary/api.salary.ts @@ -23,6 +23,7 @@ export default { salaryReportemployeeByid: (id: string) => `${salary}/report/employee/${id}`, salaryPeriod: () => `${salary}/period`, salaryPeriodActive: (year: string) => `${salary}/period/active/${year}`, + salaryChangeIsclose: `${salaryPeriod}/change/isclose`, /** รายการเงินเดือน*/ keycloakPositionByid: (id: string) => diff --git a/src/modules/05_placement/views/07_appointEmployeeMain.vue b/src/modules/05_placement/views/07_appointEmployeeMain.vue index e547a5eea..b649cf8d3 100644 --- a/src/modules/05_placement/views/07_appointEmployeeMain.vue +++ b/src/modules/05_placement/views/07_appointEmployeeMain.vue @@ -586,9 +586,9 @@ onMounted(async () => { props.row.posTypeName === "อำนวยการ" ? `${props.row.posTypeName}` : "" - }}{{ + }} {{ props.row.posLevelName !== null - ? `${props.row.posLevelName}` + ? `(${props.row.posLevelName})` : "" }}
diff --git a/src/modules/13_salary/components/04_salaryLists/DialogMoveLevelMulti.vue b/src/modules/13_salary/components/04_salaryLists/DialogMoveLevelMulti.vue new file mode 100644 index 000000000..cf69442f1 --- /dev/null +++ b/src/modules/13_salary/components/04_salaryLists/DialogMoveLevelMulti.vue @@ -0,0 +1,353 @@ + + + + + diff --git a/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue b/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue index 56c17129c..4bfeb8fc9 100644 --- a/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue +++ b/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue @@ -31,6 +31,7 @@ const props = defineProps({ rootId: String, periodId: String, getData: Function, + periodLatest: Object, }); const modalRecommend = ref(false); //popup @@ -287,7 +288,8 @@ onMounted(() => { class="q-pa-none" v-if=" store.statusQuota == 'PENDING' && - checkPermission($route)?.attrIsUpdate + checkPermission($route)?.attrIsUpdate && + !periodLatest?.group1IsClose " > {
{
{ - - - - + + + - - + - - + - - + - - + - - + - - + - + diff --git a/src/modules/13_salary/components/04_salaryLists/TabMain.vue b/src/modules/13_salary/components/04_salaryLists/TabMain.vue index 9c089fe63..84836c688 100644 --- a/src/modules/13_salary/components/04_salaryLists/TabMain.vue +++ b/src/modules/13_salary/components/04_salaryLists/TabMain.vue @@ -259,7 +259,7 @@ async function fetchDataPeriod(id: string) { let formData = { page: formFilter.page.toString(), pageSize: formFilter.pageSize.toString(), - keyword: formFilter.keyword, + keyword: formFilter.keyword.trim(), type: store.tabType, isRetire: store.roundMainCode !== "OCT" @@ -638,6 +638,7 @@ const updateIsShowRetire = async () => { :total="total" :snap-shot="props?.snapShot" :is-close="props.periodLatest?.group1IsClose ?? false" + :is-retire="isRetire" /> { :total="total" :type="item.type" :snap-shot="props?.snapShot" - :is-close="props.periodLatest?.group2IsClose ?? false" + :is-close="props.periodLatest?.group1IsClose ?? false" /> diff --git a/src/modules/13_salary/components/04_salaryLists/TableTypePending.vue b/src/modules/13_salary/components/04_salaryLists/TableTypePending.vue index 0fa0ec2bb..48b203f32 100644 --- a/src/modules/13_salary/components/04_salaryLists/TableTypePending.vue +++ b/src/modules/13_salary/components/04_salaryLists/TableTypePending.vue @@ -4,7 +4,7 @@ import { useQuasar } from "quasar"; import { checkPermission } from "@/utils/permissions"; /** importType*/ -import type { QTableProps } from "quasar"; +import type { QTableColumn } from "quasar"; import type { NewPagination } from "@/modules/13_salary/interface/index/Main"; import type { DataFilter } from "@/modules/13_salary/interface/index/SalaryList"; @@ -13,6 +13,8 @@ import DialogAddPerson from "@/modules/13_salary/components/04_salaryLists//Dial import DialogFormEdit from "@/modules/13_salary/components/04_salaryLists/DialogFormEditSalary.vue"; // แก้ไขเงินเดือน import DialogMoveGroup from "@/modules/13_salary/components/04_salaryLists/DialogMoveGroup.vue"; // ย้ายกลุ่ม import DialogMoveLevel from "@/modules/13_salary/components/04_salaryLists/DialogMoveLevel.vue"; // เลื่อนขั้น +import DialogMoveLevelMulti from "@/modules/13_salary/components/04_salaryLists/DialogMoveLevelMulti.vue"; + import DialogProperties from "@/modules/13_salary/components/04_salaryLists/DialogProperties.vue"; //แก้ไขคุณสมบัติ import DialogInfo from "@/modules/13_salary/components/DialogInfoMain.vue"; @@ -32,6 +34,7 @@ const { hideLoader, success, findOrgNameHtml, + findOrgName, } = useCounterMixin(); /** Props*/ @@ -50,10 +53,13 @@ const props = defineProps({ total: { type: Number, }, + isRetire: { + type: Boolean, + }, }); /** ข้อมูล Table*/ -const columns = ref([ +const columns = ref([ { name: "no", align: "left", @@ -138,6 +144,9 @@ const columns = ref([ label: "สังกัด", sortable: false, field: "organization", + format(val, row) { + return findOrgName(row); + }, headerStyle: "font-size: 14px;min-width:280px", style: "font-size: 14px", }, @@ -209,6 +218,7 @@ const modalDialogAddPerson = ref(false); //popup เพิ่มคน const modalDialogForm = ref(false); //popup แก้ไขเงินเดือน const modalDialogMoveGroup = ref(false); //popup ย้ายกลุ่ม const modalDialogMoveLeve = ref(false); //popup เลื่อนขั้น +const modalDialogMoveLeveMulti = ref(false); //popup เลื่อนขั้น const modalDialogProperties = ref(false); const modalDialogInfo = ref(false); // /popup ข้อมูลส่วนตัว @@ -321,6 +331,15 @@ function onProperties(data: any) { isLeave.value = data.isLeave; } +/** + * function openPopup ย้ายกขั้น + * @param id profileId + * + */ +function onClickMoveLevelMulti() { + modalDialogMoveLeveMulti.value = !modalDialogMoveLeve.value; +} + /** callblack function เรียกข้อมูลรายชื่อใหม่ เมื่อมีการเปลี่ยน PageSize*/ watch( () => formFilter.value.pageSize, @@ -360,6 +379,23 @@ function onClickViewInfo(type: string, id: string) { > เพิ่ม + + + เลื่อนขั้น + + + + + (new Date().getFullYear()); //ปีงบประมาณ @@ -73,9 +74,7 @@ const titleCommand = computed(() => { return `ปีงบประมาณ ${year.value + 543} รอบการขึ้นเงินเดือน ${txt}`; }); -/** - * function เรียกข้อมูลรอบการขึ้นเงินเดือน - */ +/** function เรียกข้อมูลรอบการขึ้นเงินเดือน*/ async function getRound() { showLoader(); isDisable.value = false; @@ -392,6 +391,34 @@ async function fetchCheckisOfficer() { }); } +function onClosePeriodSalalry() { + dialogConfirm($q, async () => { + showLoader(); + await http + .put( + config.API.salaryChangeIsclose + + `/${snapFilter.value}/${roundFilter.value.id}`, + { + isClose: true, + } + ) + .then(async () => { + await fetchSalalyPeriod( + agencyFilter.value, + roundFilter.value.id, + snapFilter.value + ); + success($q, "ปิดการแก้ไขสำเร็จ"); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); + }); +} + onMounted(async () => { await Promise.all([getRound(), fetchCheckisOfficer()]); }); @@ -409,8 +436,9 @@ onMounted(async () => {
{
+
+ + ปิดให้แก้ไข + +
+ { :period-id="roundFilter.id" :root-id="agencyFilter" :get-data="getQuota" + :period-latest="periodLatest" /> From 120ca31333d58d31ec82452338dd0763b1c61e8e Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Fri, 11 Apr 2025 16:49:24 +0700 Subject: [PATCH 3/3] =?UTF-8?q?fix=20=20=E0=B8=94=E0=B8=B2=E0=B8=A7?= =?UTF-8?q?=E0=B8=99=E0=B9=8C=E0=B9=82=E0=B8=AB=E0=B8=A5=E0=B8=94=E0=B9=80?= =?UTF-8?q?=E0=B8=AD=E0=B8=81=E0=B8=AA=E0=B8=B2=E0=B8=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../13_salary/components/04_salaryLists/ProcessStep.vue | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue b/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue index 4bfeb8fc9..6066792e7 100644 --- a/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue +++ b/src/modules/13_salary/components/04_salaryLists/ProcessStep.vue @@ -349,10 +349,7 @@ onMounted(() => {