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/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})` 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..6066792e7 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" />