รายการเลื่อนเงินเดือนลูกจ้างประจำ

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-03-14 13:38:27 +07:00
parent 95e4abc6e8
commit 92aac7e941
12 changed files with 182 additions and 23 deletions

View file

@ -16,11 +16,11 @@ import Header from "@/components/DialogHeader.vue";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
/** use*/
const $q = useQuasar();
const store = useSalaryListSDataStore();
const store = useSalaryEmployeeListSDataStore();
const { messageError, showLoader, hideLoader, dialogConfirm, success } =
useCounterMixin();

View file

@ -9,11 +9,11 @@ import Header from "@/components/DialogHeader.vue";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
/** use*/
const $q = useQuasar();
const store = useSalaryListSDataStore();
const store = useSalaryEmployeeListSDataStore();
const { dialogConfirm, success, messageError, showLoader, hideLoader } =
useCounterMixin();

View file

@ -9,11 +9,11 @@ import Header from "@/components/DialogHeader.vue";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
/** use*/
const $q = useQuasar();
const store = useSalaryListSDataStore();
const store = useSalaryEmployeeListSDataStore();
const {
dialogConfirm,
success,

View file

@ -9,11 +9,11 @@ import Header from "@/components/DialogHeader.vue";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
/** use*/
const $q = useQuasar();
const store = useSalaryListSDataStore();
const store = useSalaryEmployeeListSDataStore();
const {
dialogConfirm,
success,

View file

@ -10,18 +10,18 @@ import type { NewPagination } from "@/modules/13_salary/interface/index/Main";
import type { DataFilter } from "@/modules/13_salary/interface/index/SalaryList";
/** importComponents*/
import DialogAddPerson from "@/modules/13_salary/components/SalaryLists//DialogAddPerson.vue";
import DialogFormEdit from "@/modules/13_salary/components/SalaryLists/DialogFormEdit.vue";
import DialogMoveGroup from "@/modules/13_salary/components/SalaryLists/DialogMoveGroup.vue";
import DialogMoveLevel from "@/modules/13_salary/components/SalaryLists/DialogMoveLevel.vue";
import DialogAddPerson from "@/modules/13_salary/components/SalaryEmployeeLists//DialogAddPerson.vue";
import DialogFormEdit from "@/modules/13_salary/components/SalaryEmployeeLists/DialogFormEdit.vue";
import DialogMoveGroup from "@/modules/13_salary/components/SalaryEmployeeLists/DialogMoveGroup.vue";
import DialogMoveLevel from "@/modules/13_salary/components/SalaryEmployeeLists/DialogMoveLevel.vue";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
/** use*/
const $q = useQuasar();
const store = useSalaryListSDataStore();
const store = useSalaryEmployeeListSDataStore();
const { dialogRemove, messageError, showLoader, hideLoader, success } =
useCounterMixin();

View file

@ -8,21 +8,21 @@ import type { NewPagination } from "@/modules/13_salary/interface/index/Main";
import type { DataFilter } from "@/modules/13_salary/interface/index/SalaryList";
/** importComponents*/
import DialogAddPerson from "@/modules/13_salary/components/SalaryLists//DialogAddPerson.vue";
import DialogFormEdit from "@/modules/13_salary/components/SalaryLists/DialogFormEdit.vue";
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 DialogAddPerson from "@/modules/13_salary/components/SalaryEmployeeLists//DialogAddPerson.vue";
import DialogFormEdit from "@/modules/13_salary/components/SalaryEmployeeLists/DialogFormEdit.vue";
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";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";
import { useSalaryEmployeeListSDataStore } from "@/modules/13_salary/store/SalaryEmployeeListsStore";
import http from "@/plugins/http";
import config from "@/app.config";
/** use*/
const $q = useQuasar();
const store = useSalaryListSDataStore();
const store = useSalaryEmployeeListSDataStore();
const { dialogRemove, messageError, showLoader, hideLoader, success } =
useCounterMixin();

View file

@ -0,0 +1,159 @@
import { defineStore } from "pinia";
import { ref } from "vue";
/** importType*/
import type {
ItemsMenu,
DataOption,
} from "@/modules/13_salary/interface/index/Main";
import type { DataPeriodLatest } from "@/modules/13_salary/interface/response/SalaryList";
export const useSalaryEmployeeListSDataStore = defineStore("salaryEmployeeListStore", () => {
const tabGroup = ref<string>("group1");
const tabType = ref<string>("PENDING");
const groupOp = ref<DataOption[]>([
{ id: "", name: "กลุ่ม1" },
{ id: "", name: "กลุ่ม2" },
]);
const remaining = ref<number>(0);
const groupId = ref<string>("");
const rootId = ref<string>("");
const roundMainCode = ref<string>("");
const roundYear = ref<number>(0);
const roundCode = ref<string>("");
const isClosedRound = ref<boolean>(false); // การปิดรอบ
/** List Menu*/
const itemMenu = ref<ItemsMenu[]>([
{
label: "แก้ไขเงินเดือน",
icon: "edit",
color: "edit",
type: "edit",
},
{
label: "ย้ายกลุ่ม",
icon: "mdi-account-arrow-right-outline",
color: "indigo-6",
type: "moveGroup",
},
{
label: "ย้ายขั้น",
icon: "mdi-swap-vertical-bold",
color: "green-6",
type: "moveLevel",
},
{
label: "แก้ไขคุณสมบัติ",
icon: "mdi-format-list-checks",
color: "blue-6",
type: "properties",
},
{
label: "ลบ",
icon: "delete",
color: "red",
type: "delete",
},
]);
/** List Download รายงานของรอบเมษายน*/
const itemDownloadApr = ref<DataOption[]>([
{
id: "gov1-01",
name: "รายชื่อข้าราชการผู้ที่ครองตำแหน่ง ณ วันที่ 1 มีนาคม",
},
{
id: "gov1-02",
name: "บัญชีการคำนวณโควตาเลื่อนเงินเดือน รอบเมษายน",
},
{
id: "gov1-03",
name: "รายชื่อข้าราชการที่ได้รับการเสนอขอเลื่อนหนึ่งขั้น",
},
{
id: "gov1-04",
name: "แบบ 1 กท รอบเมษายน",
},
{
id: "gov1-05",
name: "แบบ 2 กท รอบเมษายน",
},
{
id: "gov1-06",
name: "แบบ 3 กท บัญชีแสดงวันลาครึ่งปี ขรก.",
},
{
id: "gov1-07",
name: "คำสั่งเลื่อนเงินเดือน รอบเมษายน",
},
{
id: "gov1-08",
name: "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อน รอบเมษายน",
},
]);
/** List Download รายงานของรอบตุลาคม*/
const itemDownloadOct = ref<DataOption[]>([
{
id: "gov2-01",
name: "รายชื่อข้าราชการผู้ที่ครองตำแหน่ง ณ วันที่ 1 กันยายน",
},
{
id: "gov2-02",
name: "บัญชีการคำนวณวงเงินเลื่อนเงินเดือน รอบตุลาคม",
},
{
id: "gov2-03",
name: "รายชื่อข้าราชการผู้ที่ได้รับการเสนอขอเลื่อนเงินเดือนทั้งปีสองขั้น",
},
{
id: "gov2-04",
name: "แบบ 1 กท รอบตุลาคม",
},
{
id: "gov2-05",
name: "แบบ 2 กท รอบตุลาคม",
},
{
id: "gov2-06",
name: "แบบ 3 กท บัญชีแสดงวันลาครึ่งปี ขรก. ",
},
{
id: "gov2-07",
name: "คำสั่งเลื่อนเงินเดือนข้าราชการเกษียณ",
},
{
id: "gov2-08",
name: "คำสั่งเลื่อนเงินเดือน รอบตุลาคม",
},
{
id: "gov2-09",
name: "คำสั่งค่าตอบแทนพิเศษ และผู้ไม่ได้เลื่อนเงินเดือน รอบตุลาคม",
},
]);
function fetchPeriodLatest(data: DataPeriodLatest, type: string) {
groupId.value = type === "group1" ? data.group1id : data.group2id;
roundCode.value = data.period;
groupOp.value[0].id = data.group1id;
groupOp.value[1].id = data.group2id;
}
return {
tabGroup,
tabType,
itemMenu,
itemDownloadOct,
itemDownloadApr,
groupId,
fetchPeriodLatest,
rootId,
roundCode,
groupOp,
roundMainCode,
remaining,
isClosedRound,
roundYear,
};
});

View file

@ -17,8 +17,8 @@ import type {
/** importComponents*/
import TabGroup from "@/modules/13_salary/components/SalaryEmployeeLists/TabMain.vue";
import ProcessStep from "@/modules/13_salary/components/SalaryEmployeeLists/ProcessStep.vue";
import PageDashBoard from "@/modules/13_salary/components/SalaryEmployeeLists/Dashboard.vue";
// import ProcessStep from "@/modules/13_salary/components/SalaryEmployeeLists/ProcessStep.vue";
// import PageDashBoard from "@/modules/13_salary/components/SalaryEmployeeLists/Dashboard.vue";
/** importStore*/
import { useSalaryListSDataStore } from "@/modules/13_salary/store/SalaryListsStore";