Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2025-07-29 15:20:00 +07:00
commit fe0ab6fec4
7 changed files with 358 additions and 692 deletions

View file

@ -1311,6 +1311,7 @@ onMounted(async () => {
:title="`ประวัติแก้ไขเครื่องราชอิสริยาภรณ์`"
:columns="columnsHistory"
:fetch-data="fetchDataHistory"
:type="'insignia'"
/>
</template>

View file

@ -17,6 +17,7 @@ const columns = defineModel<QTableColumn[]>("columns", {
const visibleColumnsMain = defineModel<string[]>("visibleColumns", {
required: true,
});
const type = defineModel<string>("type", { default: "" });
const props = defineProps({
fetchData: { type: Function, required: true },
@ -114,7 +115,7 @@ watch(
<template v-slot:body="props">
<q-tr :props="props">
<q-td v-for="col in props.cols" :key="col.id">
<div v-if="col.name === 'no'">
<div v-if="col.name === 'no' && type !== 'insignia'">
{{ props.rowIndex + 1 }}
</div>
<div v-else-if="col.name == 'organization'" class="text-html">

View file

@ -23,7 +23,7 @@ import type {
import type { QTableProps } from "quasar";
import type { DataProfile } from "@/modules/05_placement/interface/index/Main";
import PopupPersonal from "@/components/Dialogs/PopupPersonal.vue";
import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue";
import CardProfile from "@/components/CardProfile.vue";
import DialogAddCommander from "@/modules/06_retirement/components/DialogAddCommander.vue";

View file

@ -25,7 +25,7 @@ import type {
} from "@/modules/06_retirement/interface/response/Main";
import DialogHeader from "@/components/DialogHeader.vue";
import PopupPersonal from "@/components/Dialogs/PopupPersonal.vue";
import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue";
import CardProfile from "@/components/CardProfile.vue";
import DialogAddCommander from "@/modules/06_retirement/components/DialogAddCommander.vue";

View file

@ -35,9 +35,11 @@ const cardData = ref<DataCardPos[]>([
data: [],
},
]);
const isLoading = ref(true);
async function fetchDataTenure() {
if (props?.id) {
isLoading.value = true;
await http
.get(
config.API.salaryTenurePosition(
@ -73,6 +75,9 @@ async function fetchDataTenure() {
})
.catch((err) => {
messageError($q, err);
})
.finally(() => {
isLoading.value = false;
});
}
}
@ -88,7 +93,12 @@ onMounted(() => {
<q-icon name="mdi-account-tie" color="grey-7" />
<span class="q-ml-md">อมลตำแหน </span>
</div>
<div class="row q-pa-sm">
<div v-if="isLoading" class="row q-pa-sm">
<q-skeleton class="col-12 q-mt-sm" height="140px" square />
<q-skeleton class="col-12 q-mt-sm" height="140px" square />
<q-skeleton class="col-12 q-mt-sm" height="140px" square />
</div>
<div v-else class="row q-pa-sm">
<q-list flat bordered class="col-12" style="border-radius: 5px">
<q-card flat v-for="(item, index) in cardData" :key="index">
<q-item>