diff --git a/src/components/CurruncyInput.vue b/src/components/CurruncyInput.vue
index b92c8e38f..8d535b1ce 100644
--- a/src/components/CurruncyInput.vue
+++ b/src/components/CurruncyInput.vue
@@ -39,7 +39,7 @@ const props = defineProps({
const { inputRef, formattedValue, setValue } = useCurrencyInput({
locale: "en-US",
currency: "EUR",
- currencyDisplay: "hidden",
+ // currencyDisplay: "hidden",
hideCurrencySymbolOnFocus: true,
hideGroupingSeparatorOnFocus: true,
hideNegligibleDecimalDigitsOnFocus: true,
diff --git a/src/modules/04_registry/components/DialogHistory.vue b/src/modules/04_registry/components/DialogHistory.vue
index eeb90a358..34f8524cc 100644
--- a/src/modules/04_registry/components/DialogHistory.vue
+++ b/src/modules/04_registry/components/DialogHistory.vue
@@ -1,6 +1,6 @@
-
+
@@ -1014,6 +1018,7 @@ const fetchData = async () => {
.get(config.API.profileInforId(route.params.id.toString()))
.then(async (res: any) => {
const data: ResponseObject = res.data.result;
+ profileStore.emplployeeClass = data.profileType;
defaultCitizenData.value = data.citizenId;
informaData.value.cardid = data.citizenId;
informaData.value.prefix = "";
diff --git a/src/modules/04_registry/components/Leave.vue b/src/modules/04_registry/components/Leave.vue
index e2daa6909..a7d06290c 100644
--- a/src/modules/04_registry/components/Leave.vue
+++ b/src/modules/04_registry/components/Leave.vue
@@ -67,9 +67,8 @@
icon="mdi-history"
@click="clickHistory(props.row)"
>
- ประวัติแก้ไขการลา
-
-
+ ประวัติแก้ไขการลา
+
@@ -739,7 +738,10 @@ const fetchData = async () => {
totalLeave: e.totalLeave,
status: e.status,
reason: e.reason,
- typeLeaveId: e.typeLeaveId,
+ typeLeaveId:
+ e.typeLeaveId !== "00000000-0000-0000-0000-000000000000"
+ ? e.typeLeaveId
+ : "",
});
});
})
@@ -794,7 +796,10 @@ const clickHistory = async (row: RequestItemsObject) => {
totalLeave: e.totalLeave,
status: e.status,
reason: e.reason,
- typeLeaveId: e.typeLeaveId,
+ typeLeaveId:
+ e.typeLeaveId !== "00000000-0000-0000-0000-000000000000"
+ ? e.typeLeaveId
+ : "",
});
});
})
diff --git a/src/modules/04_registry/components/Salary.vue b/src/modules/04_registry/components/Salary.vue
index 6225b1a57..0bd1a120c 100644
--- a/src/modules/04_registry/components/Salary.vue
+++ b/src/modules/04_registry/components/Salary.vue
@@ -388,9 +388,10 @@
:options="{
currency: 'THB',
}"
- :rules="[(val: string) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
:label="`${'เงินเดือน'}`"
+ :rules="[(val: number) => !!val || `${'กรุณากรอกเงินเดือน'}`]"
/>
+
- -->
+
@@ -581,6 +590,7 @@ import HistoryTable from "@/components/TableHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import type { QTableProps } from "quasar";
+import CurrencyInput from "@/components/CurruncyInput.vue";
const props = defineProps({
statusEdit: {
@@ -602,6 +612,7 @@ const {
dialogMessage,
showLoader,
hideLoader,
+ dialogConfirm,
} = mixin;
const route = useRoute();
const id = ref("");
@@ -939,7 +950,7 @@ profileData.salary.columns.length == 0
"mouthSalaryAmount",
"oc",
"positionEmployeePosition",
- "posNo",
+ "posNoEmployee",
"positionEmployeePositionSide",
"positionEmployeeLevel",
"positionEmployeeGroup",
@@ -1016,11 +1027,11 @@ const columns = ref([
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "posNo",
+ name: "posNoEmployee",
align: "left",
label: "ตำแหน่งเลขที่",
sortable: true,
- field: "posNo",
+ field: "posNoEmployee",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
sort: (a: string, b: string) =>
@@ -1481,9 +1492,9 @@ const fetchData = async () => {
.get(config.API.profileSalaryEmployeeId(profileId.value))
.then((res) => {
const data = res.data.result;
- // console.log(data);
+ console.log(data);
rows.value = [];
- data.map((e: ResponseObjectEmployee) => {
+ data.map((e: any) => {
rows.value.push({
id: e.id,
date: new Date(e.date),
@@ -1493,16 +1504,35 @@ const fetchData = async () => {
oc: e.oc,
ocId: e.ocId,
posNo: e.posNo,
- posNoId: e.posNoId,
+ posNoId:
+ e.posNoId !== "00000000-0000-0000-0000-000000000000"
+ ? e.posNoId
+ : "",
posNoEmployee: e.posNoEmployee,
positionEmployeeGroup: e.positionEmployeeGroup,
- positionEmployeeGroupId: e.positionEmployeeGroupId,
+ positionEmployeeGroupId:
+ e.positionEmployeeGroupId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeeGroupId
+ : "",
positionEmployeeLevel: e.positionEmployeeLevel,
- positionEmployeeLevelId: e.positionEmployeeLevelId,
+ positionEmployeeLevelId:
+ e.positionEmployeeLevelId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeeLevelId
+ : "",
positionEmployeePosition: e.positionEmployeePosition,
- positionEmployeePositionId: e.positionEmployeePositionId,
+ positionEmployeePositionId:
+ e.positionEmployeePositionId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeePositionId
+ : "",
positionEmployeePositionSide: e.positionEmployeePositionSide,
- positionEmployeePositionSideId: e.positionEmployeePositionSideId,
+ positionEmployeePositionSideId:
+ e.positionEmployeePositionSideId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeePositionSideId
+ : "",
salaryClass: e.salaryClass,
salaryRef: e.salaryRef,
refCommandNo: e.refCommandNo,
@@ -1687,12 +1717,29 @@ const templateDetail = async () => {
* กดบันทึกใน dialog
*/
const clickSave = async () => {
+ if (amount.value === 0) {
+ amount.value = null;
+ }
myForm.value.validate().then(async (result: boolean) => {
if (result) {
if (modalEdit.value) {
- await editData();
+ dialogConfirm(
+ $q,
+ async () => {
+ await editData();
+ },
+ "ยืนยันการแก้ไขข้อมูล",
+ "ต้องการยืนยันการแก้ไขข้อมูลนี้หรือไม่ ?"
+ );
} else {
- await saveData();
+ dialogConfirm(
+ $q,
+ async () => {
+ await saveData();
+ },
+ "ยืนยันการเพิ่มข้อมูล",
+ "ต้องการยืนยันการเพิ่มข้อมูลนี้หรือไม่ ?"
+ );
}
}
});
@@ -1872,7 +1919,7 @@ const addData = () => {
modal.value = true;
edit.value = true;
date.value = new Date();
- amount.value = null;
+ amount.value = 0;
positionSalaryAmount.value = null;
mouthSalaryAmount.value = null;
@@ -1944,7 +1991,7 @@ const clickHistory = async (row: RequestItemsEmployee) => {
modalHistory.value = true;
showLoader();
await http
- .get(config.API.profileSalaryHisId(row.id))
+ .get(config.API.profileSalaryEmployeeHisId(row.id))
.then((res) => {
const data = res.data.result;
// console.log("clickHistory", data);
diff --git a/src/modules/04_registry/components/SalaryEmployeeTemp.vue b/src/modules/04_registry/components/SalaryEmployeeTemp.vue
index 373848dec..ab24a1127 100644
--- a/src/modules/04_registry/components/SalaryEmployeeTemp.vue
+++ b/src/modules/04_registry/components/SalaryEmployeeTemp.vue
@@ -306,7 +306,7 @@
/>
-->
- -->
+
@@ -556,6 +565,7 @@ import HistoryTable from "@/components/TableHistory.vue";
import http from "@/plugins/http";
import config from "@/app.config";
import type { QTableProps } from "quasar";
+import CurrencyInput from "@/components/CurruncyInput.vue";
const props = defineProps({
statusEdit: {
@@ -577,6 +587,7 @@ const {
dialogMessage,
showLoader,
hideLoader,
+ dialogConfirm,
} = mixin;
const route = useRoute();
const id = ref
("");
@@ -1522,16 +1533,35 @@ const fetchData = async () => {
oc: e.oc,
ocId: e.ocId,
posNo: e.posNo,
- posNoId: e.posNoId,
+ posNoId:
+ e.posNoId !== "00000000-0000-0000-0000-000000000000"
+ ? e.posNoId
+ : "",
posNoEmployee: e.posNoEmployee,
positionEmployeeGroup: e.positionEmployeeGroup,
- positionEmployeeGroupId: e.positionEmployeeGroupId,
+ positionEmployeeGroupId:
+ e.positionEmployeeGroupId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeeGroupId
+ : "",
positionEmployeeLevel: e.positionEmployeeLevel,
- positionEmployeeLevelId: e.positionEmployeeLevelId,
+ positionEmployeeLevelId:
+ e.positionEmployeeLevelId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeeLevelId
+ : "",
positionEmployeePosition: e.positionEmployeePosition,
- positionEmployeePositionId: e.positionEmployeePositionId,
+ positionEmployeePositionId:
+ e.positionEmployeePositionId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeePositionId
+ : "",
positionEmployeePositionSide: e.positionEmployeePositionSide,
- positionEmployeePositionSideId: e.positionEmployeePositionSideId,
+ positionEmployeePositionSideId:
+ e.positionEmployeePositionSideId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeePositionSideId
+ : "",
salaryClass: e.salaryClass,
salaryRef: e.salaryRef,
refCommandNo: e.refCommandNo,
@@ -1716,12 +1746,29 @@ const templateDetail = async () => {
* กดบันทึกใน dialog
*/
const clickSave = async () => {
+ if (amount.value == 0) {
+ amount.value = null;
+ }
myForm.value.validate().then(async (result: boolean) => {
if (result) {
if (modalEdit.value) {
- await editData();
+ dialogConfirm(
+ $q,
+ async () => {
+ await editData();
+ },
+ "ยืนยันการแก้ไขข้อมูล",
+ "ต้องการยืนยันการแก้ไขข้อมูลนี้หรือไม่ ?"
+ );
} else {
- await saveData();
+ dialogConfirm(
+ $q,
+ async () => {
+ await saveData();
+ },
+ "ยืนยันการเพิ่มข้อมูล",
+ "ต้องการยืนยันการเพิ่มข้อมูลนี้หรือไม่ ?"
+ );
}
}
});
@@ -1901,7 +1948,7 @@ const addData = () => {
modal.value = true;
edit.value = true;
date.value = new Date();
- amount.value = null;
+ amount.value = 0;
positionSalaryAmount.value = null;
mouthSalaryAmount.value = null;
@@ -1973,7 +2020,7 @@ const clickHistory = async (row: RequestItemsEmployee) => {
modalHistory.value = true;
showLoader();
await http
- .get(config.API.profileSalaryHisId(row.id))
+ .get(config.API.profileSalaryEmployeeHisId(row.id))
.then((res) => {
const data = res.data.result;
// console.log("clickHistory", data);
@@ -1988,16 +2035,33 @@ const clickHistory = async (row: RequestItemsEmployee) => {
oc: e.oc,
ocId: e.ocId,
posNo: e.posNo,
- posNoId: e.posNoId,
+ posNoId:
+ e.posNoId !== "00000000-0000-0000-0000-000000000000"
+ ? e.posNoId
+ : "",
posNoEmployee: e.posNoEmployee,
positionEmployeeGroup: e.positionEmployeeGroup,
- positionEmployeeGroupId: e.positionEmployeeGroupId,
+ positionEmployeeGroupId:
+ e.positionEmployeeGroupId !== "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeeGroupId
+ : "",
positionEmployeeLevel: e.positionEmployeeLevel,
- positionEmployeeLevelId: e.positionEmployeeLevelId,
+ positionEmployeeLevelId:
+ e.positionEmployeeLevelId !== "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeeLevelId
+ : "",
positionEmployeePosition: e.positionEmployeePosition,
- positionEmployeePositionId: e.positionEmployeePositionId,
+ positionEmployeePositionId:
+ e.positionEmployeePositionId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeePositionId
+ : "",
positionEmployeePositionSide: e.positionEmployeePositionSide,
- positionEmployeePositionSideId: e.positionEmployeePositionSideId,
+ positionEmployeePositionSideId:
+ e.positionEmployeePositionSideId !==
+ "00000000-0000-0000-0000-000000000000"
+ ? e.positionEmployeePositionSideId
+ : "",
salaryClass: e.salaryClass,
salaryRef: e.salaryRef,
refCommandNo: e.refCommandNo,
diff --git a/src/modules/04_registry/store.ts b/src/modules/04_registry/store.ts
index 8b69ec17a..af09e0d0a 100644
--- a/src/modules/04_registry/store.ts
+++ b/src/modules/04_registry/store.ts
@@ -2,6 +2,7 @@ import { ref, computed } from "vue";
import { defineStore } from "pinia";
export const useProfileDataStore = defineStore("profile", () => {
+ const emplployeeClass = ref('')
interface profile {
main: { columns: String[] };
education: { columns: String[] };
@@ -79,5 +80,6 @@ export const useProfileDataStore = defineStore("profile", () => {
changeBirth,
retireText,
changeRetireText,
+ emplployeeClass,
};
});
diff --git a/src/modules/07_insignia/components/4_Allocate/DialogEdit.vue b/src/modules/07_insignia/components/4_Allocate/DialogEdit.vue
index cb095dcf7..384817beb 100644
--- a/src/modules/07_insignia/components/4_Allocate/DialogEdit.vue
+++ b/src/modules/07_insignia/components/4_Allocate/DialogEdit.vue
@@ -2,6 +2,7 @@
import { ref, watch } from "vue";
import { QForm, useQuasar } from "quasar";
import { useCounterMixin } from "@/stores/mixin";
+import DialogHeader from "@/components/DialogHeader.vue";
const mixin = useCounterMixin();
const { dialogConfirm } = mixin;
@@ -58,23 +59,11 @@ const clickSave = () => {
-
- แก้ไขการจัดสรรเครื่องราชฯ
-
-
-
+
-
+
diff --git a/src/modules/07_insignia/components/4_Allocate/OrgAdd.vue b/src/modules/07_insignia/components/4_Allocate/OrgAdd.vue
index 7095a5a26..6c9591fbc 100644
--- a/src/modules/07_insignia/components/4_Allocate/OrgAdd.vue
+++ b/src/modules/07_insignia/components/4_Allocate/OrgAdd.vue
@@ -272,7 +272,14 @@
-
+
+