diff --git a/src/modules/05_placement/components/Other/Detail.vue b/src/modules/05_placement/components/Other/Detail.vue
index 1b9a6ad65..010aa02be 100644
--- a/src/modules/05_placement/components/Other/Detail.vue
+++ b/src/modules/05_placement/components/Other/Detail.vue
@@ -12,6 +12,8 @@ import http from "@/plugins/http";
import config from "@/app.config";
import keycloak from "@/plugins/keycloak";
+import CurruncyInput from "@/components/CurruncyInput.vue";
+
const $q = useQuasar();
const route = useRoute();
const router = useRouter();
@@ -350,7 +352,7 @@ const getClass = (val: boolean) => {
- {
hide-bottom-space
:label="`${'เงินเดือน'}`"
type="number"
+ /> -->
+
diff --git a/src/modules/06_retirement/components/ExitInterview/exitMain.vue b/src/modules/06_retirement/components/ExitInterview/exitMain.vue
index 9ed9c22e6..5b62de813 100644
--- a/src/modules/06_retirement/components/ExitInterview/exitMain.vue
+++ b/src/modules/06_retirement/components/ExitInterview/exitMain.vue
@@ -9,7 +9,10 @@ import http from "@/plugins/http";
import config from "@/app.config";
import type { QTableProps } from "quasar";
-import type { ResponseItems } from "@/modules/06_retirement/interface/response/Main";
+import type { ResponseItems } from "@/modules/06_retirement/interface/response/exitInterview";
+
+import DialogFooter from "@/modules/05_placement/components/PersonalList/DialogFooter.vue";
+import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue";
const $q = useQuasar(); //ใช้ noti quasar
const router = useRouter();
@@ -33,22 +36,22 @@ const columns = ref([
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "prefix",
+ name: "realReason",
align: "left",
- label: "คำนำหน้า",
+ label: "สาเหตุที่ลาออก",
sortable: true,
- field: "prefix",
+ field: "realReason",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "fullname",
+ name: "notExitFactor",
align: "left",
- label: "ชื่อ-นามสกุล",
+ label: "ปัจจัยที่ช่วยเปลี่ยนใจไม่อยากลาออก",
sortable: true,
- field: "fullname",
+ field: "notExitFactor",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
@@ -56,173 +59,76 @@ const columns = ref([
},
{
- name: "positionTypeOld",
+ name: "futureWork",
align: "left",
- label: "ตำแหน่งในสายงาน",
+ label: "อนาคตกลับจะมาร่วมงานหรือไม่",
sortable: true,
- field: "positionTypeOld",
+ field: "futureWork",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "positionLevelOld",
+ name: "futureWorkReason",
align: "left",
- label: "ระดับ",
+ label: "เหตุผลที่อยากกลับมาร่วมงาน",
sortable: true,
- field: "positionLevelOld",
+ field: "futureWorkReason",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "positionNumberOld",
+ name: "havejob",
align: "left",
- label: "เลขที่",
+ label: "มีงานใหม่หรือไม่",
sortable: true,
- field: "positionNumberOld",
+ field: "havejob",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "organizationPositionOld",
+ name: "havejobReason",
align: "left",
- label: "สังกัด",
+ label: "เหตุผลที่มีงานใหม่",
sortable: true,
- field: "organizationPositionOld",
+ field: "havejobReason",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "statustext",
+ name: "datetext",
align: "left",
- label: "สถานะ",
+ label: "วันที่สร้าง",
sortable: true,
- field: "statustext",
+ field: "datetext",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
]);
-const visibleColumns = ref([
- "no",
- "prefix",
- "fullname",
- "positionTypeOld",
- "positionLevelOld",
- "positionNumberOld",
- "organizationPositionOld",
- "statustext",
-]);
+const visibleColumns = ref([]);
+
+const dateBreak = ref(null);
const filters = ref([]);
const rows2 = ref([]);
-const columns2 = ref([
- {
- name: "no",
- align: "left",
- label: "ลำดับ",
- sortable: true,
- field: "no",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
- {
- name: "prefix",
- align: "left",
- label: "คำนำหน้า",
- sortable: true,
- field: "prefix",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
- {
- name: "fullname",
- align: "left",
- label: "ชื่อ-นามสกุล",
- sortable: true,
- field: "fullname",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
-
- {
- name: "positionTypeOld",
- align: "left",
- label: "ตำแหน่งในสายงาน",
- sortable: true,
- field: "positionTypeOld",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
- {
- name: "positionLevelOld",
- align: "left",
- label: "ระดับ",
- sortable: true,
- field: "positionLevelOld",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
- {
- name: "positionNumberOld",
- align: "left",
- label: "เลขที่",
- sortable: true,
- field: "positionNumberOld",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
- {
- name: "organizationPositionOld",
- align: "left",
- label: "สังกัด",
- sortable: true,
- field: "organizationPositionOld",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
- {
- name: "statustext",
- align: "left",
- label: "สถานะ",
- sortable: true,
- field: "statustext",
- headerStyle: "font-size: 14px",
- style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
- },
-]);
+const columns2 = ref([]);
const visibleColumns2 = ref([
"no",
"prefix",
"fullname",
- "positionTypeOld",
- "positionLevelOld",
- "positionNumberOld",
- "organizationPositionOld",
+ "futureWork",
+ "futureWorkReason",
+ "havejob",
+ "havejobReason",
"statustext",
]);
@@ -247,6 +153,15 @@ const resetFilter = () => {
filterRef.value.focus();
};
+const openModalCalendar = () => {
+ openModal();
+ dateBreak.value = null;
+};
+
+const conditionPopup = () => {
+ closeModal();
+};
+
const openModalOrder = () => {
openModal();
const row = filters.value.filter(
@@ -258,6 +173,7 @@ const openModalOrder = () => {
onMounted(async () => {
await fecthlist();
+ visibleColumns.value = columns.value.map((r: any) => r.name);
});
const fecthlist = async () => {
@@ -270,25 +186,20 @@ const fecthlist = async () => {
data.map((r: ResponseItems) => {
list.push({
- activeDate: new Date(),
- createdAt: new Date(),
- firstName: r.firstName ?? "",
+ datetext: r.createdAt !== null ? date2Thai(r.createdAt) : "-",
+ createdAt: new Date(r.createdAt),
+ futureWork: !!r.futureWork,
+ futureWorkReason: r.futureWorkReason ?? "",
+ havejob: !!r.havejob,
+ havejobReason: r.havejobReason ?? "",
id: r.id ?? "",
- isActive: r.isActive ? r.isActive : false,
- lastName: r.lastName ?? "",
- location: r.location ?? "",
- organizationPositionOld: r.organizationPositionOld ?? "",
- positionLevelOld: r.positionLevelOld ?? "",
- positionNumberOld: r.positionNumberOld ?? "",
- positionTypeOld: r.positionTypeOld ?? "",
- prefix: r.prefix ?? "",
- profileId: r.profileId ?? "",
- reason: r.reason ?? "",
- salary: r.salary ? r.salary : 0,
- sendDate: new Date(),
+ lastUpdatedAt: new Date(r.lastUpdatedAt),
+ notExitFactor: r.notExitFactor ?? "",
+ realReason: r.realReason ?? "",
+ suggestFriends: !!r.suggestFriends,
+ suggestFriendsReason: r.suggestFriendsReason ?? "",
+ suggestion: r.suggestion ?? "",
status: r.status ?? "",
- statustext: statusText(r.status ?? ""),
- fullname: `${r.firstName ?? ""} ${r.lastName ?? ""}`,
});
});
@@ -399,40 +310,50 @@ const saveOrder = async () => {
{{ col.label }}
+
-
+
{{ props.rowIndex + 1 }}
-
- {{ props.row.prefix }}
+
+ {{ props.row.realReason }}
-
- {{ props.row.fullname }}
+
+ {{ props.row.notExitFactor }}
-
- {{ props.row.positionTypeOld }}
+
+ {{ props.row.futureWork ? "ใช่" : "ไม่" }}
-
- {{ props.row.positionLevelOld }}
+
+ {{ props.row.futureWorkReason }}
-
- {{ props.row.positionNumberOld }}
+
+ {{ props.row.havejob ? "ใช่" : "ไม่" }}
-
+
- {{ props.row.organizationPositionOld }}
+ {{ props.row.havejobReason }}
-
- {{ props.row.statustext }}
+
+ {{ props.row.datetext }}
+
+
+
+ วันนัดหมายเพื่อทําการสัมภาษณ์การลาออก
+
@@ -528,16 +449,16 @@ const saveOrder = async () => {
{{ props.row.positionTypeOld }}
-
- {{ props.row.positionLevelOld }}
+
+ {{ props.row.futureWorkReason }}
-
- {{ props.row.positionNumberOld }}
+
+ {{ props.row.havejob }}
-
+
- {{ props.row.organizationPositionOld }}
+ {{ props.row.havejobReason }}
@@ -558,5 +479,60 @@ const saveOrder = async () => {
-->
+
+
+
+
+
+
+
+
+
+ {{ year + 543 }}
+ {{
+ parseInt(value + 543)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/modules/06_retirement/interface/response/exitInterview.ts b/src/modules/06_retirement/interface/response/exitInterview.ts
new file mode 100644
index 000000000..7cd9659cc
--- /dev/null
+++ b/src/modules/06_retirement/interface/response/exitInterview.ts
@@ -0,0 +1,40 @@
+interface ResponseData {
+ adjust: string[];
+ adjustOther: string;
+ createdAt: Date;
+ exitFactor: string[];
+ exitFactorOther: string;
+ futureWork: boolean;
+ futureWorkReason: string;
+ havejob: boolean;
+ havejobReason: string;
+ id: string;
+ lastUpdatedAt: Date;
+ notExitFactor: string;
+ realReason: string;
+ reasonWork: string[];
+ reasonWorkOther: string;
+ suggestFriends: boolean;
+ suggestFriendsReason: string;
+ suggestion: string;
+ timeThink: string[];
+}
+
+interface ResponseItems {
+ createdAt: Date;
+ futureWork: boolean;
+ futureWorkReason: string;
+ havejob: boolean;
+ havejobReason: string;
+ id: string;
+ lastUpdatedAt: Date;
+ notExitFactor: string;
+ realReason: string;
+ suggestFriends: boolean;
+ suggestFriendsReason: string;
+ suggestion: string;
+ status: string;
+ datetext: string | null;
+}
+
+export type { ResponseData, ResponseItems };
diff --git a/src/modules/10_order/components/step/step02.vue b/src/modules/10_order/components/step/step02.vue
index fb4a8b4e3..13a0038f7 100644
--- a/src/modules/10_order/components/step/step02.vue
+++ b/src/modules/10_order/components/step/step02.vue
@@ -1,17 +1,19 @@
-