+
{
year-picker
:enableTimePicker="false"
:max-date="`${calculateFiscalYear(new Date())}, 12, 31`"
+ :class="classInput(true)"
>
{{ year + 543 }}
{{
@@ -454,7 +464,7 @@ watch(modal, async (val) => {
-
+
{
dense
outlined
label="จำนวนสิทธิ์การลา"
- hide-bottom-space
- />
-
-
-
-
-
-
@@ -496,10 +483,9 @@ watch(modal, async (val) => {
v-model="formData.beginningLeaveDays"
dense
outlined
- label="ยกมา (วัน)"
- hide-bottom-space
- mask="#"
- reverse-fill-mask
+ label="จำนวนวันลาก่อนใช้งานระบบ"
+ :rules="[(val: string) => !val || /^\d+(\.\d*)?$/.test(val) || 'กรุณากรอกเฉพาะตัวเลข']"
+ hint="* จำนวนวันรวมการลาในปีงบประมาณนี้ที่เกิดขึ้นก่อนเริ่มใช้ระบบ"
/>
@@ -509,10 +495,38 @@ watch(modal, async (val) => {
v-model="formData.beginningLeaveCount"
dense
outlined
- label="ยกมา (ครั้ง)"
+ label="จำนวนครั้งที่ลาก่อนใช้งานระบบ"
+ :rules="[(val: string) => !val || /^\d+$/.test(val) || 'กรุณากรอกเฉพาะตัวเลขที่เป็นจำนวนเต็ม']"
+ hint="* จำนวนครั้งของการลาในปีงบประมาณนี้ที่เกิดขึ้นก่อนเริ่มใช้ระบบ"
+ />
+
+
+
+
+
+
+
diff --git a/src/modules/09_leave/interface/request/changeRound.ts b/src/modules/09_leave/interface/request/changeRound.ts
index ed8c9347a..bdc339a04 100644
--- a/src/modules/09_leave/interface/request/changeRound.ts
+++ b/src/modules/09_leave/interface/request/changeRound.ts
@@ -4,6 +4,8 @@ interface DataPost {
lastName: string;
page: number;
pageSize: number;
+ selectedNodeId?: string | null;
+ selectedNode?: string;
}
interface DataOption {
diff --git a/src/modules/09_leave/interface/request/leave.ts b/src/modules/09_leave/interface/request/leave.ts
index 95b81143e..27426c709 100644
--- a/src/modules/09_leave/interface/request/leave.ts
+++ b/src/modules/09_leave/interface/request/leave.ts
@@ -41,6 +41,7 @@ interface FormData {
status: string; //สถานะการของลา
leaveLimit: number; //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน
leaveSummary: number; //ลาป่วยไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน
+ leaveWaitingSummary: number; //ลาอยู่ระหว่างการพิจารณา(แต่ละประเภท)หน่วยเป็นวัน
leaveRemain: number; //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน
// leaveStartDate: Date | null; //*วัน เดือน ปีเริ่มต้นลา
// leaveEndDate: Date | null; //*วัน เดือน ปีสิ้นสุดลา
diff --git a/src/modules/09_leave/interface/request/work.ts b/src/modules/09_leave/interface/request/work.ts
index e69de29bb..c448c9fc9 100644
--- a/src/modules/09_leave/interface/request/work.ts
+++ b/src/modules/09_leave/interface/request/work.ts
@@ -0,0 +1,6 @@
+interface FormDataProcess {
+ startDate: Date | null;
+ endDate: Date | null;
+}
+
+export type { FormDataProcess };
diff --git a/src/modules/09_leave/interface/response/leave.ts b/src/modules/09_leave/interface/response/leave.ts
index 8ad8f42f4..81dd4b42d 100644
--- a/src/modules/09_leave/interface/response/leave.ts
+++ b/src/modules/09_leave/interface/response/leave.ts
@@ -50,6 +50,8 @@ interface SeqTypeRow {
keycloakId: string;
approveStatus: string;
comment: string;
+ keyId?: string;
+ isAct?: boolean;
}
interface DataDateMonthObject {
month: number;
diff --git a/src/modules/09_leave/interface/response/work.ts b/src/modules/09_leave/interface/response/work.ts
index 41df27b5f..af055b794 100644
--- a/src/modules/09_leave/interface/response/work.ts
+++ b/src/modules/09_leave/interface/response/work.ts
@@ -85,4 +85,24 @@ interface FormDetail {
checkInLocationName: string;
checkOutLocationName: string;
}
-export type { TableRows, DataResLog, DataResTime, TableRowsTime, FormDetail };
+
+interface DataProcess {
+ id: string;
+ createdFullName: string;
+ createdAt: Date | null;
+ status: string;
+ startDate: Date | null;
+ endDate: Date | null;
+ processingDate: Date | null;
+ completedDate: Date | null;
+ errorMessage: string | null;
+}
+
+export type {
+ TableRows,
+ DataResLog,
+ DataResTime,
+ TableRowsTime,
+ FormDetail,
+ DataProcess,
+};
diff --git a/src/modules/09_leave/stores/ChangeRoundStore.ts b/src/modules/09_leave/stores/ChangeRoundStore.ts
index eda800a4f..8914ebd4f 100644
--- a/src/modules/09_leave/stores/ChangeRoundStore.ts
+++ b/src/modules/09_leave/stores/ChangeRoundStore.ts
@@ -125,7 +125,7 @@ export const useChangeRoundDataStore = defineStore(
async function fetchDataForCardId(dataDetail: any, type?: string) {
if (dataDetail) {
- showLoader();
+ // showLoader();
const url =
type && type == "emp"
? config.API.leaveSearchEMP()
@@ -138,6 +138,8 @@ export const useChangeRoundDataStore = defineStore(
page: dataDetail.page, //หน้า
pageSize: dataDetail.pageSize || 10, //จำนวนแถวต่อหน้า
keyword: dataDetail.keyword || "", //keyword ค้นหา
+ selectedNodeId: dataDetail.selectedNodeId, //id ต้นไม้ที่เลือก
+ selectedNode: dataDetail.selectedNode, //ระดับต้นไม้ที่เลือก
})
.then((res) => {
const apiData = res.data.result.data;
@@ -148,6 +150,7 @@ export const useChangeRoundDataStore = defineStore(
if (apiData.length > 0) {
checkCilck.value = false;
rows.value = apiData.map((e: any) => ({
+ ...e,
profileId: e.profileId,
cardId: e.citizenId,
fullName: e.fullName,
@@ -167,7 +170,7 @@ export const useChangeRoundDataStore = defineStore(
console.log(e);
})
.finally(() => {
- hideLoader();
+ // hideLoader();
});
}
}
diff --git a/src/modules/09_leave/stores/SpecialTimeStore.ts b/src/modules/09_leave/stores/SpecialTimeStore.ts
index 4196c93b6..83024a8ef 100644
--- a/src/modules/09_leave/stores/SpecialTimeStore.ts
+++ b/src/modules/09_leave/stores/SpecialTimeStore.ts
@@ -11,7 +11,14 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
{ id: "NOT_COMPLETE", name: "ปฏิบัติงานไม่ครบตามกำหนดเวลา" },
]);
- // convertSatatus
+ const optionStatusMain = ref
([
+ { id: "ALL", name: "ทั้งหมด" },
+ { id: "PENDING", name: "รอดำเนินการ" },
+ { id: "APPROVE", name: "อนุมัติ" },
+ { id: "REJECT", name: "ไม่อนุมัติ" },
+ ]);
+
+ // convertStatus
function convertStatus(val: string) {
const value = val ? val.toUpperCase() : null;
switch (value) {
@@ -29,5 +36,6 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
return {
optionStatus,
convertStatus,
+ optionStatusMain,
};
});
diff --git a/src/modules/09_leave/views/02_WorkingMain.vue b/src/modules/09_leave/views/02_WorkingMain.vue
index 99387a4bb..fed615baf 100644
--- a/src/modules/09_leave/views/02_WorkingMain.vue
+++ b/src/modules/09_leave/views/02_WorkingMain.vue
@@ -1,15 +1,26 @@
@@ -30,6 +41,12 @@ const { tabs } = toRefs(stores);
>
+
+
@@ -42,6 +59,9 @@ const { tabs } = toRefs(stores);
+
+
+
diff --git a/src/modules/09_leave/views/03_ChangeRoundMain.vue b/src/modules/09_leave/views/03_ChangeRoundMain.vue
index fdb7433d5..92f50c679 100644
--- a/src/modules/09_leave/views/03_ChangeRoundMain.vue
+++ b/src/modules/09_leave/views/03_ChangeRoundMain.vue
@@ -1,5 +1,5 @@