Merge branch 'nice_dev' into develop
This commit is contained in:
commit
3496d3eda4
7 changed files with 279 additions and 182 deletions
|
|
@ -410,7 +410,10 @@ function onSubmitSelectEdit() {
|
|||
posDictField: formPositionSelect.positionField, //สายงาน
|
||||
posTypeId: formPositionSelect.positionType, //*ประเภทตำแหน่ง
|
||||
posLevelId: formPositionSelect.positionLevel, //*ระดับตำแหน่ง
|
||||
posExecutiveId: formPositionSelect.positionExecutive, //ตำแหน่งทางการบริหาร
|
||||
posExecutiveId:
|
||||
formPositionSelect.positionExecutive !== ""
|
||||
? formPositionSelect.positionExecutive
|
||||
: null, //ตำแหน่งทางการบริหาร
|
||||
posDictExecutiveField: formPositionSelect.positionExecutiveField, //ด้านทางการบริหาร
|
||||
posDictArea: formPositionSelect.positionArea, //ด้าน/สาขา
|
||||
};
|
||||
|
|
|
|||
|
|
@ -15,71 +15,74 @@
|
|||
{{ header }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="q-gutter-sm q-mx-sm" v-if="addData == false">
|
||||
<q-btn
|
||||
size="12px"
|
||||
v-if="!edit"
|
||||
flat
|
||||
round
|
||||
:disabled="disable"
|
||||
:color="edit ? 'grey-7' : 'primary'"
|
||||
@click="ClickEdit"
|
||||
icon="mdi-pencil-outline"
|
||||
>
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
v-if="edit"
|
||||
:color="!edit ? 'grey-7' : 'public'"
|
||||
@click="save"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
v-if="edit && !addEmployee"
|
||||
:color="!edit ? 'grey-7' : 'red'"
|
||||
@click="ClickCancel"
|
||||
icon="mdi-undo"
|
||||
>
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div class="q-pl-sm" v-else-if="iconAdd != '' && iconAdd != null">
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="add"
|
||||
@click="addleave"
|
||||
icon="mdi-plus"
|
||||
>
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<!-- <q-btn size="12px" flat round color="add" @click="add" :icon="iconAdd">
|
||||
<div v-if="!profileStore.isVerified">
|
||||
<div class="q-gutter-sm q-mx-sm" v-if="addData == false">
|
||||
<q-btn
|
||||
size="12px"
|
||||
v-if="!edit"
|
||||
flat
|
||||
round
|
||||
:disabled="disable"
|
||||
:color="edit ? 'grey-7' : 'primary'"
|
||||
@click="ClickEdit"
|
||||
icon="mdi-pencil-outline"
|
||||
>
|
||||
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
v-if="edit"
|
||||
:color="!edit ? 'grey-7' : 'public'"
|
||||
@click="save"
|
||||
icon="mdi-content-save-outline"
|
||||
>
|
||||
<q-tooltip>บันทึกข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
v-if="edit && !addEmployee"
|
||||
:color="!edit ? 'grey-7' : 'red'"
|
||||
@click="ClickCancel"
|
||||
icon="mdi-undo"
|
||||
>
|
||||
<q-tooltip>ยกเลิก</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div class="q-pl-sm" v-else-if="iconAdd != '' && iconAdd != null">
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
color="add"
|
||||
@click="addleave"
|
||||
icon="mdi-plus"
|
||||
>
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
<!-- <q-btn size="12px" flat round color="add" @click="add" :icon="iconAdd">
|
||||
<q-tooltip>สรุปวันลา</q-tooltip>
|
||||
</q-btn> -->
|
||||
</div>
|
||||
|
||||
<div class="q-pl-sm" v-else>
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
:disabled="disable"
|
||||
color="add"
|
||||
@click="add"
|
||||
icon="mdi-plus"
|
||||
>
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="q-pl-sm" v-else>
|
||||
<q-btn
|
||||
size="12px"
|
||||
flat
|
||||
round
|
||||
:disabled="disable"
|
||||
color="add"
|
||||
@click="add"
|
||||
icon="mdi-plus"
|
||||
>
|
||||
<q-tooltip>เพิ่มข้อมูล</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<q-space />
|
||||
<q-btn
|
||||
color="info"
|
||||
|
|
@ -96,6 +99,9 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useProfileDataStore } from "@/modules/04_registry/store";
|
||||
const profileStore = useProfileDataStore();
|
||||
|
||||
const props = defineProps({
|
||||
header: {
|
||||
type: String,
|
||||
|
|
|
|||
|
|
@ -153,81 +153,87 @@
|
|||
</div>
|
||||
</div>
|
||||
<q-space />
|
||||
|
||||
<q-btn
|
||||
v-if="
|
||||
profileType == 'officer' ||
|
||||
(profileType == 'employee' && employeeClass == 'perm')
|
||||
"
|
||||
round
|
||||
flat
|
||||
:color="reasonStatus ? 'primary' : 'pink-5'"
|
||||
:icon="
|
||||
reasonStatus ? 'mdi-home-import-outline' : 'mdi-home-export-outline'
|
||||
"
|
||||
<q-btn flat round color="green" icon="verified" @click="onClickVerified"
|
||||
><q-tooltip>ตรวจสอบข้อมูล</q-tooltip></q-btn
|
||||
>
|
||||
<q-menu transition-show="jump-down" transition-hide="jump-up">
|
||||
<q-list dense style="min-width: 160px">
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="helpPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ช่วยราชการ</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="repatriationPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ส่งตัวกลับ</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="appointPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>แต่งตั้ง-เลื่อน-ย้าย</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="appointEmployeePost"
|
||||
v-if="profileType == 'employee'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ปรับระดับชั้นงาน - ย้าย</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item clickable v-close-popup @click="clickPassaway">
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ถึงแก่กรรม</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="outPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ให้ออกจากราชการ</q-item-section>
|
||||
</q-item>
|
||||
<!-- <q-separator />
|
||||
|
||||
<div v-if="!roleKeyregistry && !roleRegistryverify">
|
||||
<q-btn
|
||||
v-if="
|
||||
profileType == 'officer' ||
|
||||
(profileType == 'employee' && employeeClass == 'perm')
|
||||
"
|
||||
round
|
||||
flat
|
||||
:color="reasonStatus ? 'primary' : 'pink-5'"
|
||||
:icon="
|
||||
reasonStatus
|
||||
? 'mdi-home-import-outline'
|
||||
: 'mdi-home-export-outline'
|
||||
"
|
||||
>
|
||||
<q-menu transition-show="jump-down" transition-hide="jump-up">
|
||||
<q-list dense style="min-width: 160px">
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="helpPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ช่วยราชการ</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="repatriationPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ส่งตัวกลับ</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="appointPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>แต่งตั้ง-เลื่อน-ย้าย</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="appointEmployeePost"
|
||||
v-if="profileType == 'employee'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ปรับระดับชั้นงาน - ย้าย</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item clickable v-close-popup @click="clickPassaway">
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ถึงแก่กรรม</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="outPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>ให้ออกจากราชการ</q-item-section>
|
||||
</q-item>
|
||||
<!-- <q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
|
|
@ -249,22 +255,23 @@
|
|||
</q-item-section>
|
||||
<q-item-section>ไล่ออกจากราชการ</q-item-section>
|
||||
</q-item> -->
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="otherPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>อื่นๆ</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
</q-list>
|
||||
</q-menu>
|
||||
<!-- <q-tooltip>ส่งรายชื่อ</q-tooltip> -->
|
||||
</q-btn>
|
||||
<q-separator />
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="otherPost"
|
||||
v-if="profileType == 'officer'"
|
||||
>
|
||||
<q-item-section style="min-width: 0px" avatar class="q-py-sm">
|
||||
</q-item-section>
|
||||
<q-item-section>อื่นๆ</q-item-section>
|
||||
</q-item>
|
||||
<q-separator />
|
||||
</q-list>
|
||||
</q-menu>
|
||||
<!-- <q-tooltip>ส่งรายชื่อ</q-tooltip> -->
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<!-- ปิดไปเพราะทำส่วนของพ้นราชการแล้ว -->
|
||||
<!-- <q-btn
|
||||
|
|
@ -781,6 +788,7 @@ import type { DataOption } from "@/modules/04_registry/interface/index/Main";
|
|||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
import { useProfileDataStore } from "@/modules/04_registry/store";
|
||||
import keycloak from "@/plugins/keycloak";
|
||||
|
||||
const $q = useQuasar();
|
||||
const store = useDataStore();
|
||||
|
|
@ -871,10 +879,30 @@ const reasonOptions = ref<DataOption[]>([
|
|||
},
|
||||
]);
|
||||
|
||||
const roleKeyregistry = ref<boolean>(false);
|
||||
const roleRegistryverify = ref<boolean>(false);
|
||||
|
||||
function onClickVerified() {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {},
|
||||
"ยืนยันการตรวจสอบข้อมูล",
|
||||
"ต้องการยืนยันการตรวจสอบข้อมูลนี้หรือไม่ ?"
|
||||
);
|
||||
}
|
||||
onMounted(async () => {
|
||||
// await checkProfileData();
|
||||
await fetchData();
|
||||
if (keycloak.tokenParsed != null) {
|
||||
roleKeyregistry.value = await keycloak.tokenParsed.role.includes(
|
||||
"keyregistry"
|
||||
);
|
||||
roleRegistryverify.value = await keycloak.tokenParsed.role.includes(
|
||||
"registryverify"
|
||||
);
|
||||
}
|
||||
console.log(roleKeyregistry.value, roleRegistryverify.value);
|
||||
await changeTab("information");
|
||||
await fetchData();
|
||||
await checIsVerified();
|
||||
});
|
||||
|
||||
const fetchData = async () => {
|
||||
|
|
@ -907,21 +935,29 @@ const fetchData = async () => {
|
|||
});
|
||||
};
|
||||
|
||||
const checkProfileData = async () => {
|
||||
showLoader();
|
||||
const isVerified = ref<boolean>(false);
|
||||
async function checIsVerified() {
|
||||
// showLoader();
|
||||
await http
|
||||
.get(config.API.profileCheckId(profileId.value))
|
||||
.get(config.API.profileInforId(profileId.value))
|
||||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
if (data == false) router.push("/registry");
|
||||
const data = res.data.result;
|
||||
|
||||
profileStore.isVerified = data.isVerified
|
||||
? true
|
||||
: roleRegistryverify.value
|
||||
? true
|
||||
: roleKeyregistry.value
|
||||
? false
|
||||
: false;
|
||||
})
|
||||
.catch((e) => {
|
||||
router.push("/registry");
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
// hideLoader();
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
const fetchAvatarHistory = async () => {
|
||||
showLoader();
|
||||
|
|
@ -1502,7 +1538,12 @@ const clickSaveDeceased = async () => {
|
|||
watch(
|
||||
() => profileStore.isLoad,
|
||||
() => {
|
||||
const num = profileType.value === 'officer' ? 32:employeeClass.value === 'temp' ? 29:31
|
||||
const num =
|
||||
profileType.value === "officer"
|
||||
? 32
|
||||
: employeeClass.value === "temp"
|
||||
? 29
|
||||
: 31;
|
||||
profileStore.isLoad >= num && hideLoader();
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ interface RequestItemsObject {
|
|||
insigniaLast: String;
|
||||
isLeave: String;
|
||||
leaveDateOrder: Date | string | null;
|
||||
isVerified: boolean;
|
||||
}
|
||||
|
||||
//columns
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ interface ResponseObject {
|
|||
insigniaLast: String;
|
||||
isLeave: boolean;
|
||||
leaveDateOrder: Date | null;
|
||||
isVerified: boolean;
|
||||
}
|
||||
|
||||
export type { ResponseObject };
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { ref, computed } from "vue";
|
|||
import { defineStore } from "pinia";
|
||||
|
||||
export const useProfileDataStore = defineStore("profile", () => {
|
||||
const isVerified = ref<boolean>(false);
|
||||
const emplployeeClass = ref<string | null>("");
|
||||
interface profile {
|
||||
main: { columns: String[] };
|
||||
|
|
@ -77,6 +78,7 @@ export const useProfileDataStore = defineStore("profile", () => {
|
|||
|
||||
return {
|
||||
isLoad,
|
||||
isVerified,
|
||||
profileData,
|
||||
changeProfileColumns,
|
||||
birthDate,
|
||||
|
|
|
|||
|
|
@ -94,26 +94,39 @@
|
|||
<div v-if="col.name == 'no'" class="table_ellipsis">
|
||||
{{ props.rowIndex + 1 }}
|
||||
</div>
|
||||
<div v-else-if="col.name == 'isVerified'">
|
||||
<q-icon
|
||||
v-if="props.row.isVerified"
|
||||
name="verified"
|
||||
color="green"
|
||||
size="2rem"
|
||||
/>
|
||||
</div>
|
||||
<div v-else-if="col.name == 'fullname'">
|
||||
<div class="row col-12 wrap items-center">
|
||||
<img
|
||||
v-if="props.row.avatar == null"
|
||||
src="@/assets/avatar_user.jpg"
|
||||
class="col-4 img-info"
|
||||
/>
|
||||
<img
|
||||
v-else
|
||||
:src="props.row.avatar"
|
||||
class="col-4 img-info"
|
||||
/>
|
||||
<div class="col-4">
|
||||
<div class="text-weight-medium">
|
||||
{{ props.row.fullname }}
|
||||
</div>
|
||||
<div class="text-weight-light">
|
||||
{{ props.row.citizenId }}
|
||||
</div>
|
||||
</div>
|
||||
<q-item>
|
||||
<q-item-section avatar>
|
||||
<img
|
||||
v-if="props.row.avatar == null"
|
||||
src="@/assets/avatar_user.jpg"
|
||||
class="col-4 img-info"
|
||||
/>
|
||||
<img
|
||||
v-else
|
||||
:src="props.row.avatar"
|
||||
class="col-4 img-info"
|
||||
/>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<div class="text-weight-medium">
|
||||
{{ props.row.fullname }}
|
||||
</div>
|
||||
<div class="text-weight-light">
|
||||
{{ props.row.citizenId }}
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="table_ellipsis">
|
||||
|
|
@ -182,6 +195,7 @@ const selected = ref<string>("");
|
|||
const nodesTree = ref<treeTab[]>([]);
|
||||
const visibleColumns = ref<String[]>([]);
|
||||
visibleColumns.value = [
|
||||
"isVerified",
|
||||
"no",
|
||||
"fullname",
|
||||
"fullnameOld",
|
||||
|
|
@ -209,6 +223,7 @@ visibleColumns.value = [
|
|||
];
|
||||
const visibleColumnsOfficer = ref<String[]>([]);
|
||||
visibleColumnsOfficer.value = [
|
||||
"isVerified",
|
||||
"no",
|
||||
"fullname",
|
||||
"fullnameOld",
|
||||
|
|
@ -235,6 +250,14 @@ visibleColumnsOfficer.value = [
|
|||
"leaveDateOrder",
|
||||
];
|
||||
const columns = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "isVerified",
|
||||
align: "center",
|
||||
label: "",
|
||||
sortable: true,
|
||||
field: "isVerified",
|
||||
headerStyle: "min-width: 50px",
|
||||
},
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
|
|
@ -542,6 +565,7 @@ const columns = ref<QTableProps["columns"]>([
|
|||
const rows = ref<RequestItemsObject[]>([]);
|
||||
const visibleColumnsEmployee = ref<String[]>([]);
|
||||
visibleColumnsEmployee.value = [
|
||||
"isVerified",
|
||||
"no",
|
||||
"fullname",
|
||||
"fullnameOld",
|
||||
|
|
@ -567,6 +591,14 @@ visibleColumnsEmployee.value = [
|
|||
"leaveDateOrder",
|
||||
];
|
||||
const columnsEmployee = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "isVerified",
|
||||
align: "center",
|
||||
label: "",
|
||||
sortable: true,
|
||||
field: "isVerified",
|
||||
headerStyle: "min-width: 50px",
|
||||
},
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
|
|
@ -845,6 +877,7 @@ const columnsEmployee = ref<QTableProps["columns"]>([
|
|||
]);
|
||||
const visibleColumnsEmployeeTemp = ref<String[]>([]);
|
||||
visibleColumnsEmployeeTemp.value = [
|
||||
"isVerified",
|
||||
"no",
|
||||
"fullname",
|
||||
"fullnameOld",
|
||||
|
|
@ -870,6 +903,14 @@ visibleColumnsEmployeeTemp.value = [
|
|||
"leaveDateOrder",
|
||||
];
|
||||
const columnsEmployeeTemp = ref<QTableProps["columns"]>([
|
||||
{
|
||||
name: "isVerified",
|
||||
align: "center",
|
||||
label: "",
|
||||
sortable: true,
|
||||
field: "isVerified",
|
||||
headerStyle: "min-width: 50px",
|
||||
},
|
||||
{
|
||||
name: "no",
|
||||
align: "left",
|
||||
|
|
@ -1316,6 +1357,7 @@ const doSearch = async () => {
|
|||
})
|
||||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
|
||||
rows.value = [];
|
||||
data.map((e: ResponseObject) => {
|
||||
rows.value.push({
|
||||
|
|
@ -1358,6 +1400,7 @@ const doSearch = async () => {
|
|||
? null
|
||||
: date2Thai(new Date(e.leaveDateOrder)),
|
||||
refSalary: e.refSalary,
|
||||
isVerified: e.isVerified,
|
||||
});
|
||||
});
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue