updated & fixing

This commit is contained in:
Warunee Tamkoo 2024-06-26 14:35:19 +07:00
parent a39a34b15f
commit 62af9f6a35
24 changed files with 392 additions and 352 deletions

View file

@ -257,10 +257,10 @@ watch(
<div class="row q-px-md q-py-sm items-center bg-grey-1"> <div class="row q-px-md q-py-sm items-center bg-grey-1">
<div class="col-12"> <div class="col-12">
<span>{{ <span>{{
type == "capacity" || type == "development" type == "capacity" || type == "development"
? "เหตุการณ์/พฤติกรรม" ? "เหตุการณ์/พฤติกรรม"
: "ความก้าวหน้า" : "ความก้าวหน้า"
}}</span> }}</span>
</div> </div>
</div> </div>
@ -350,157 +350,159 @@ watch(
<q-separator /> <q-separator />
</div> </div>
<!-- ความคดเหนของผประเม --> <div if="type == 'capacity' || type == 'development'">
<q-form <!-- ความคดเหนของผประเม -->
v-if="store.dataEvaluation.evaluatorId" <q-form
ref="reasonEvaluatorRef" v-if="store.dataEvaluation.evaluatorId"
greedy ref="reasonEvaluatorRef"
@submit.prevent greedy
@validation-success="onSubmitComment('evaluator')" @submit.prevent
class="full-width q-mt-sm" @validation-success="onSubmitComment('evaluator')"
> class="full-width q-mt-sm"
<div class="row col-12 q-col-gutter-sm"> >
<div class="col-12"> <div class="row col-12 q-col-gutter-sm">
<span class="text-weight-medium text-grey-6" <div class="col-12">
>ความคดเหนของผประเม</span <span class="text-weight-medium text-grey-6"
> >ความคดเหนของผประเม</span
</div> >
<div class="col-12"> </div>
<q-input <div class="col-12">
outlined <q-input
dense outlined
:readonly=" dense
formDataView.reasonEvaluator !== null || :readonly="
store.rolePerson !== 'EVALUATOR' formDataView.reasonEvaluator !== null ||
store.rolePerson !== 'EVALUATOR'
"
label="ความคิดเห็นของผู้ประเมิน"
v-model="reasonEvaluator"
type="textarea"
class="inputgreen"
lazy-rules
hide-bottom-space
:rules="[(val:string) => !!val || `${'กรุณากรอกความคิดเห็นของผู้ประเมิน'}`,]"
></q-input>
</div>
<div
v-if="
formDataView.reasonEvaluator == null &&
store.rolePerson == 'EVALUATOR'
" "
label="ความคิดเห็นของผู้ประเมิน" class="col-12"
v-model="reasonEvaluator" align="right"
type="textarea"
class="inputgreen"
lazy-rules
hide-bottom-space
:rules="[(val:string) => !!val || `${'กรุณากรอกความคิดเห็นของผู้ประเมิน'}`,]"
></q-input>
</div>
<div
v-if="
formDataView.reasonEvaluator == null &&
store.rolePerson == 'EVALUATOR'
"
class="col-12"
align="right"
>
<q-btn
label="บันทึกความคิดเห็น"
color="secondary"
type="submit"
><q-tooltip>นทกความคดเห</q-tooltip></q-btn
> >
<q-btn
label="บันทึกความคิดเห็น"
color="secondary"
type="submit"
><q-tooltip>นทกความคดเห</q-tooltip></q-btn
>
</div>
</div> </div>
</div> </q-form>
</q-form>
<!-- ความคดเหนของผงคบบญชาเหนอขนไป --> <!-- ความคดเหนของผงคบบญชาเหนอขนไป -->
<q-form <q-form
v-if="store.dataEvaluation.commanderId" v-if="store.dataEvaluation.commanderId"
class="full-width q-mt-sm" class="full-width q-mt-sm"
ref="reasonCommanderRef" ref="reasonCommanderRef"
greedy greedy
@submit.prevent @submit.prevent
@validation-success="onSubmitComment('commander')" @validation-success="onSubmitComment('commander')"
> >
<div class="row col-12 q-col-gutter-sm"> <div class="row col-12 q-col-gutter-sm">
<div class="col-12"> <div class="col-12">
<span class="text-weight-medium text-grey-6" <span class="text-weight-medium text-grey-6"
>ความคดเหนของผงคบบญชาเหนอขนไป</span >ความคดเหนของผงคบบญชาเหนอขนไป</span
> >
</div> </div>
<div class="col-12"> <div class="col-12">
<q-input <q-input
outlined outlined
dense dense
label="ความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไป" label="ความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไป"
v-model="reasonCommander" v-model="reasonCommander"
type="textarea" type="textarea"
class="inputgreen" class="inputgreen"
lazy-rules lazy-rules
:readonly=" :readonly="
formDataView.reasonCommander !== null || formDataView.reasonCommander !== null ||
store.rolePerson !== 'COMMANDER' store.rolePerson !== 'COMMANDER'
"
hide-bottom-space
:rules="[(val:string) => !!val || `${'กรุณากรอกความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไป'}`,]"
></q-input>
</div>
<div
v-if="
formDataView.reasonCommander == null &&
store.rolePerson == 'COMMANDER'
" "
hide-bottom-space class="col-12"
:rules="[(val:string) => !!val || `${'กรุณากรอกความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไป'}`,]" align="right"
></q-input>
</div>
<div
v-if="
formDataView.reasonCommander == null &&
store.rolePerson == 'COMMANDER'
"
class="col-12"
align="right"
>
<q-btn
label="บันทึกความคิดเห็น"
color="secondary"
type="submit"
><q-tooltip>นทกความคดเห</q-tooltip></q-btn
> >
<q-btn
label="บันทึกความคิดเห็น"
color="secondary"
type="submit"
><q-tooltip>นทกความคดเห</q-tooltip></q-btn
>
</div>
</div> </div>
</div> </q-form>
</q-form>
<q-form <q-form
v-if="store.dataEvaluation.commanderHighId" v-if="store.dataEvaluation.commanderHighId"
class="full-width q-mt-sm" class="full-width q-mt-sm"
ref="reasonCommanderHighRef" ref="reasonCommanderHighRef"
greedy greedy
@submit.prevent @submit.prevent
@validation-success="onSubmitComment('commanderhigh')" @validation-success="onSubmitComment('commanderhigh')"
> >
<div class="row col-12 q-col-gutter-sm"> <div class="row col-12 q-col-gutter-sm">
<div class="col-12"> <div class="col-12">
<span class="text-weight-medium text-grey-6" <span class="text-weight-medium text-grey-6"
>ความคดเหนของผงคบบญชาเหนอขนไปอกขนหน</span >ความคดเหนของผงคบบญชาเหนอขนไปอกขนหน</span
> >
</div> </div>
<div class="col-12"> <div class="col-12">
<q-input <q-input
outlined outlined
dense dense
label="ความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไปอีกขั้นหนึ่ง" label="ความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไปอีกขั้นหนึ่ง"
v-model="reasonCommanderHigh" v-model="reasonCommanderHigh"
type="textarea" type="textarea"
class="inputgreen" class="inputgreen"
lazy-rules lazy-rules
:readonly=" :readonly="
formDataView.reasonCommanderHigh !== null || formDataView.reasonCommanderHigh !== null ||
store.rolePerson !== 'COMMANDERHIGH' store.rolePerson !== 'COMMANDERHIGH'
"
hide-bottom-space
:rules="[(val:string) => !!val || `${'กรุณากรอกความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไปอีกขั้นหนึ่ง'}`,]"
></q-input>
</div>
<div
v-if="
formDataView.reasonCommanderHigh == null &&
store.rolePerson == 'COMMANDERHIGH'
" "
hide-bottom-space class="col-12"
:rules="[(val:string) => !!val || `${'กรุณากรอกความคิดเห็นของผู้บังคับบัญชาเหนือขึ้นไปอีกขั้นหนึ่ง'}`,]" align="right"
></q-input>
</div>
<div
v-if="
formDataView.reasonCommanderHigh == null &&
store.rolePerson == 'COMMANDERHIGH'
"
class="col-12"
align="right"
>
<q-btn
label="บันทึกความคิดเห็น"
color="secondary"
type="submit"
><q-tooltip>นทกความคดเห</q-tooltip></q-btn
> >
<q-btn
label="บันทึกความคิดเห็น"
color="secondary"
type="submit"
><q-tooltip>นทกความคดเห</q-tooltip></q-btn
>
</div>
</div> </div>
</div> </q-form>
</q-form> </div>
</div> </div>
</div> </div>
</template> </template>

View file

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import DialogHeader from "@/components/DialogHeader.vue"; import DialogHeader from "@/components/DialogHeader.vue";
import type { QTableProps } from "quasar"; import type { QTableProps } from "quasar";
import { ref,watch } from "vue"; import { ref, watch } from "vue";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
@ -25,7 +25,7 @@ const {
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const id = ref<string>(route.params.id as string) const id = ref<string>(route.params.id as string);
const modal = defineModel<boolean>("modal", { required: true }); const modal = defineModel<boolean>("modal", { required: true });
const filterKeyword = ref<string>(""); const filterKeyword = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
@ -56,7 +56,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "posMasterNoOld", name: "posMasterNoOld",
align: "left", align: "left",
label: "เลขที่ตำแหน่ง", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "posMasterNoOld", field: "posMasterNoOld",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -77,7 +77,7 @@ const columns = ref<QTableProps["columns"]>([
{ {
name: "positionLevel", name: "positionLevel",
align: "left", align: "left",
label: "ประเภทตำแหน่ง", label: "ตำแหน่งประเภท",
sortable: true, sortable: true,
field: "positionLevel", field: "positionLevel",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -192,24 +192,29 @@ function close() {
modal.value = false; modal.value = false;
} }
function getData(){ function getData() {
showLoader() showLoader();
http http
.get(config.API.placementKeycloak+`/${store.dataProfile.profileId}`) .get(config.API.placementKeycloak + `/${store.dataProfile.profileId}`)
.then((res)=>{ .then((res) => {
const data = res.data.result const data = res.data.result;
rows.value = data rows.value = data;
}).catch((e)=>{
messageError($q,e)
}).finally(()=>{
hideLoader()
}) })
.catch((e) => {
messageError($q, e);
})
.finally(() => {
hideLoader();
});
} }
watch(()=>modal.value,(n)=>{ watch(
if(n == true){ () => modal.value,
getData() (n) => {
if (n == true) {
getData();
} }
}) }
);
</script> </script>
<template> <template>
<q-dialog persistent v-model="modal"> <q-dialog persistent v-model="modal">

View file

@ -562,7 +562,7 @@ onMounted(async () => {
</div> </div>
<div class="col-xs-12 col-md-2"> <div class="col-xs-12 col-md-2">
<div :class="$q.screen.gt.sm ? 'column' : 'row'"> <div :class="$q.screen.gt.sm ? 'column' : 'row'">
<span class="text-grey-6 col">ประเภทตำแหน</span> <span class="text-grey-6 col">ตำแหนประเภท</span>
<span class="text-weight-medium text-dark col">{{ <span class="text-weight-medium text-dark col">{{
store.dataEvaluation.posTypeName store.dataEvaluation.posTypeName
}}</span> }}</span>
@ -570,7 +570,7 @@ onMounted(async () => {
</div> </div>
<div class="col-xs-12 col-md-2"> <div class="col-xs-12 col-md-2">
<div :class="$q.screen.gt.sm ? 'column' : 'row'"> <div :class="$q.screen.gt.sm ? 'column' : 'row'">
<span class="text-grey-6 col">ระดตำแหน</span> <span class="text-grey-6 col">ระด</span>
<span class="text-weight-medium text-dark col">{{ <span class="text-weight-medium text-dark col">{{
store.dataEvaluation.posLevelName store.dataEvaluation.posLevelName
}}</span> }}</span>

View file

@ -583,11 +583,11 @@ onMounted(async () => {
<div class="col-8 text-weight-medium"> <div class="col-8 text-weight-medium">
{{ dataPerson.firstName ? dataPerson.name : "-" }} {{ dataPerson.firstName ? dataPerson.name : "-" }}
</div> </div>
<div class="col-4 text-grey">ตำแหน</div> <div class="col-4 text-grey">ตำแหนในสายงาน</div>
<div class="col-8 text-weight-medium"> <div class="col-8 text-weight-medium">
{{ dataPerson.position ? dataPerson.position : "-" }} {{ dataPerson.position ? dataPerson.position : "-" }}
</div> </div>
<div class="col-4 text-grey">ประเภทตำแหน</div> <div class="col-4 text-grey">ตำแหนประเภท</div>
<div class="col-8 text-weight-medium"> <div class="col-8 text-weight-medium">
{{ dataPerson.type ? dataPerson.type : "-" }} {{ dataPerson.type ? dataPerson.type : "-" }}
</div> </div>
@ -595,7 +595,7 @@ onMounted(async () => {
</div> </div>
<div class="col-xs-12 col-md-6"> <div class="col-xs-12 col-md-6">
<div class="row q-col-gutter-md"> <div class="row q-col-gutter-md">
<div class="col-4 text-grey">ระดตำแหน</div> <div class="col-4 text-grey">ระด</div>
<div class="col-8 text-weight-medium"> <div class="col-8 text-weight-medium">
{{ dataPerson.level ? dataPerson.level : "-" }} {{ dataPerson.level ? dataPerson.level : "-" }}
</div> </div>

View file

@ -19,7 +19,7 @@ const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const modalHistory = ref<boolean>(false); const modalHistory = ref<boolean>(false);
/** ตัวแปรข้อมูล */ /** ตัวแปรข้อมูล */
const formDataInformation = reactive<any>({ const formDataInformation = reactive<any>({
citizenId: "", // citizenId: "", //
prefix: "", prefix: "",
firstName: "", firstName: "",
lastName: "", lastName: "",
@ -304,7 +304,7 @@ onMounted(() => {
<div class="col-12 col-sm-12 col-md-6 q-gutter-y-sm"> <div class="col-12 col-sm-12 col-md-6 q-gutter-y-sm">
<div class="row"> <div class="row">
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
เลขตรประจำตวประชาชน เลขประจำตวประชาชน
</div> </div>
<div class="col-7"> <div class="col-7">
{{ {{

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByrow = ref<string>('') const idByrow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -152,9 +152,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByrow.value = id idByrow.value = id;
} }
/** get data */ /** get data */
@ -178,7 +178,7 @@ function getData() {
function getHistory() { function getHistory() {
showLoader(); showLoader();
http http
.get(config.API.dataUserChangeNameHistory+`/${idByrow.value}`) .get(config.API.dataUserChangeNameHistory + `/${idByrow.value}`)
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
rowsHistory.value = data; rowsHistory.value = data;
@ -273,7 +273,7 @@ onMounted(() => {
{{ props.rowIndex + 1 }} {{ props.rowIndex + 1 }}
</div> </div>
<div v-else> <div v-else>
{{ col.value? col.value:'-' }} {{ col.value ? col.value : "-" }}
</div> </div>
</q-td> </q-td>
<q-td auto-width> <q-td auto-width>
@ -308,7 +308,6 @@ onMounted(() => {
<q-tooltip>ประวแกไขประวการศกษา</q-tooltip> <q-tooltip>ประวแกไขประวการศกษา</q-tooltip>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name"> <q-item v-for="col in props.cols" :key="col.name">
<q-item-section> <q-item-section>
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -325,10 +324,10 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลประวการเปลยนช-นามสก >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -238,7 +238,10 @@ function getData() {
/** get history */ /** get history */
function getHistory() { function getHistory() {
const url = store.typeProfile == 'OFFICER' ? config.API.dataUserHistory(''):config.API.dataUserHistory('-employee') const url =
store.typeProfile == "OFFICER"
? config.API.dataUserHistory("")
: config.API.dataUserHistory("-employee");
showLoader(); showLoader();
http http
.get(url) .get(url)
@ -263,10 +266,19 @@ onMounted(() => {
<q-toolbar class="q-px-none"> <q-toolbar class="q-px-none">
<span class="text-blue-6 text-weight-bold text-body1">อมลทอย</span> <span class="text-blue-6 text-weight-bold text-body1">อมลทอย</span>
<q-space /> <q-space />
<q-btn icon="mdi-history" color="info" flat dense round size="14px" @click="onHistory"> <q-btn
icon="mdi-history"
color="info"
flat
dense
round
size="14px"
@click="onHistory"
>
<q-tooltip>ประวอมลทอย</q-tooltip> <q-tooltip>ประวอมลทอย</q-tooltip>
</q-btn> </q-btn>
</q-toolbar> </q-toolbar>
<q-card bordered class="bg-grey-1 q-pa-md"> <q-card bordered class="bg-grey-1 q-pa-md">
<div class="row"> <div class="row">
<div class="col-12 col-sm-12 col-md-6 q-gutter-y-sm"> <div class="col-12 col-sm-12 col-md-6 q-gutter-y-sm">

View file

@ -11,7 +11,7 @@ import config from "@/app.config";
import type { FormChildren } from "@/modules/10_registry/interface/index/Family"; import type { FormChildren } from "@/modules/10_registry/interface/index/Family";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry"; import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
const idFamily = ref<string>('') const idFamily = ref<string>("");
const store = useRegistryInFormationStore(); const store = useRegistryInFormationStore();
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
const $q = useQuasar(); const $q = useQuasar();
@ -41,7 +41,7 @@ const fatherData = reactive<any>({
firstName: "", firstName: "",
lastName: "", lastName: "",
job: "", job: "",
profileId:'' profileId: "",
}); });
const motherData = reactive<any>({ const motherData = reactive<any>({
isLive: null, isLive: null,
@ -50,7 +50,7 @@ const motherData = reactive<any>({
firstName: "", firstName: "",
lastName: "", lastName: "",
job: "", job: "",
profileId:'' profileId: "",
}); });
const coupleData = reactive<any>({ const coupleData = reactive<any>({
isLive: null, isLive: null,
@ -61,7 +61,7 @@ const coupleData = reactive<any>({
job: "", job: "",
lastNameOld: "", lastNameOld: "",
statusMarital: "", statusMarital: "",
profileId:'' profileId: "",
}); });
const childData = ref<FormChildren[]>([]); const childData = ref<FormChildren[]>([]);
@ -79,7 +79,7 @@ const columnsHistory = ref<QTableProps["columns"]>([
{ {
name: "citizenId", name: "citizenId",
align: "left", align: "left",
label: "เลขบัตรประจำตัวประชาชน", label: "เลขประจำตัวประชาชน",
sortable: true, sortable: true,
field: "citizenId", field: "citizenId",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
@ -143,10 +143,10 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(type: string,id:string) { function onHistory(type: string, id: string) {
modalHistory.value = true; modalHistory.value = true;
typeForm.value = type; typeForm.value = type;
idFamily.value = id ? id:'user' idFamily.value = id ? id : "user";
} }
/** get data */ /** get data */
@ -202,7 +202,14 @@ function getData(type: string) {
/** get history */ /** get history */
function getHistory() { function getHistory() {
const url = store.typeProfile == 'OFFICER' ? config.API.dataUserFamilyHistory(typeForm.value,'',idFamily.value):config.API.dataUserFamilyHistory(typeForm.value,'-employee',idFamily.value) const url =
store.typeProfile == "OFFICER"
? config.API.dataUserFamilyHistory(typeForm.value, "", idFamily.value)
: config.API.dataUserFamilyHistory(
typeForm.value,
"-employee",
idFamily.value
);
showLoader(); showLoader();
http http
@ -216,7 +223,8 @@ function getHistory() {
lastName: e[`${typeForm.value}LastName`], lastName: e[`${typeForm.value}LastName`],
job: e[`${typeForm.value}Career`], job: e[`${typeForm.value}Career`],
isLive: e[`${typeForm.value}Live`], isLive: e[`${typeForm.value}Live`],
lastNameOld: typeForm.value === "couple" ? e.coupleLastNameOld : undefined, lastNameOld:
typeForm.value === "couple" ? e.coupleLastNameOld : undefined,
})); }));
}) })
.catch((e) => { .catch((e) => {
@ -242,8 +250,6 @@ onMounted(async () => {
> >
</q-toolbar> </q-toolbar>
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-12" v-if="fatherData.profileId !== ''"> <div class="col-12" v-if="fatherData.profileId !== ''">
<q-card bordered class="q-pa-md"> <q-card bordered class="q-pa-md">
<div class="row"> <div class="row">
@ -256,7 +262,7 @@ onMounted(async () => {
dense dense
round round
size="14px" size="14px"
@click="onHistory('father','')" @click="onHistory('father', '')"
> >
<q-tooltip>ประวการแกไขขอมลบดา</q-tooltip> <q-tooltip>ประวการแกไขขอมลบดา</q-tooltip>
</q-btn> </q-btn>
@ -266,7 +272,7 @@ onMounted(async () => {
<div class="col-12 col-sm-12 col-md-12 q-gutter-y-sm"> <div class="col-12 col-sm-12 col-md-12 q-gutter-y-sm">
<div class="row"> <div class="row">
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
เลขตรประจำตวประชาชน เลขประจำตวประชาชน
</div> </div>
<div class="col-7"> <div class="col-7">
{{ fatherData.citizenId ? fatherData.citizenId : "-" }} {{ fatherData.citizenId ? fatherData.citizenId : "-" }}
@ -329,7 +335,7 @@ onMounted(async () => {
dense dense
round round
size="14px" size="14px"
@click="onHistory('mother','')" @click="onHistory('mother', '')"
> >
<q-tooltip>ประวการแกไขขอมลมารดา</q-tooltip> <q-tooltip>ประวการแกไขขอมลมารดา</q-tooltip>
</q-btn> </q-btn>
@ -339,7 +345,7 @@ onMounted(async () => {
<div class="col-12 col-sm-12 col-md-12 q-gutter-y-sm"> <div class="col-12 col-sm-12 col-md-12 q-gutter-y-sm">
<div class="row"> <div class="row">
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
เลขตรประจำตวประชาชน เลขประจำตวประชาชน
</div> </div>
<div class="col-7"> <div class="col-7">
{{ motherData.citizenId ? motherData.citizenId : "-" }} {{ motherData.citizenId ? motherData.citizenId : "-" }}
@ -405,7 +411,7 @@ onMounted(async () => {
dense dense
round round
size="14px" size="14px"
@click="onHistory('couple','')" @click="onHistory('couple', '')"
> >
<q-tooltip>ประวการแกไขขอมลคสมรส</q-tooltip> <q-tooltip>ประวการแกไขขอมลคสมรส</q-tooltip>
</q-btn> </q-btn>
@ -418,12 +424,16 @@ onMounted(async () => {
สถานภาพการสมรส สถานภาพการสมรส
</div> </div>
<div class="col-7"> <div class="col-7">
{{ coupleData.statusMarital ? coupleData.statusMarital : "-" }} {{
coupleData.statusMarital
? coupleData.statusMarital
: "-"
}}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
เลขตรประจำตวประชาชน เลขประจำตวประชาชน
</div> </div>
<div class="col-7"> <div class="col-7">
{{ coupleData.citizenId ? coupleData.citizenId : "-" }} {{ coupleData.citizenId ? coupleData.citizenId : "-" }}
@ -448,7 +458,9 @@ onMounted(async () => {
นามสกลเด นามสกลเด
</div> </div>
<div class="col-7"> <div class="col-7">
{{ coupleData.lastNameOld ? coupleData.lastNameOld : "-" }} {{
coupleData.lastNameOld ? coupleData.lastNameOld : "-"
}}
</div> </div>
</div> </div>
</div> </div>
@ -503,7 +515,7 @@ onMounted(async () => {
dense dense
round round
size="14px" size="14px"
@click="onHistory('children',item.id)" @click="onHistory('children', item.id)"
> >
<q-tooltip>ประวการแกไขขอมลบตร</q-tooltip> <q-tooltip>ประวการแกไขขอมลบตร</q-tooltip>
</q-btn> </q-btn>
@ -513,7 +525,7 @@ onMounted(async () => {
<div class="col-12 col-sm-12 col-md-12 q-gutter-y-sm"> <div class="col-12 col-sm-12 col-md-12 q-gutter-y-sm">
<div class="row"> <div class="row">
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
เลขตรประจำตวประชาชน เลขประจำตวประชาชน
</div> </div>
<div class="col-7"> <div class="col-7">
{{ {{

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -428,9 +428,9 @@ const visibleColumnsHistory = ref<string[]>([
"lastUpdatedAt", "lastUpdatedAt",
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -587,7 +587,6 @@ onMounted(() => {
<q-tooltip>ประวแกไขประวการศกษา</q-tooltip> <q-tooltip>ประวแกไขประวการศกษา</q-tooltip>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name"> <q-item v-for="col in props.cols" :key="col.name">
<q-item-section class="fix_top"> <q-item-section class="fix_top">
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -604,13 +603,12 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลประวการศกษา >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
</div> </div>
<DialogHistory <DialogHistory
@ -630,7 +628,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -153,9 +153,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -329,10 +329,10 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลความสามารถพเศษ >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
@ -353,7 +353,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -2,7 +2,7 @@
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import { useQuasar, type QTableProps } from "quasar"; import { useQuasar, type QTableProps } from "quasar";
import { ref, reactive, onMounted } from "vue"; import { ref, reactive, onMounted } from "vue";
import { useRegistryInFormationStore } from '@/modules/10_registry/store/registry' import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
//history dialog //history dialog
import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue"; import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
@ -10,7 +10,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const store = useRegistryInFormationStore() const store = useRegistryInFormationStore();
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
const $q = useQuasar(); const $q = useQuasar();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
@ -309,7 +309,10 @@ function getData() {
/** get history */ /** get history */
function getHistory() { function getHistory() {
const url = store.typeProfile == 'OFFICER' ? config.API.dataUserGovernmentHistory(''):config.API.dataUserGovernmentHistory('-employee') const url =
store.typeProfile == "OFFICER"
? config.API.dataUserGovernmentHistory("")
: config.API.dataUserGovernmentHistory("-employee");
showLoader(); showLoader();
http http
.get(url) .get(url)
@ -354,23 +357,31 @@ onMounted(() => {
<div class="col-7"> <div class="col-7">
{{ formData.org ? formData.org : "-" }} {{ formData.org ? formData.org : "-" }}
</div> </div>
<div class="col-5 text-grey-6 text-weight-medium">ตำแหน</div> <div class="col-5 text-grey-6 text-weight-medium">
ตำแหนงในสายงาน
</div>
<div class="col-7"> <div class="col-7">
{{ formData.position ? formData.position : "-" }} {{ formData.position ? formData.position : "-" }}
</div> </div>
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
เลขทตำแหน ตำแหนเลขท
</div> </div>
<div class="col-7"> <div class="col-7">
{{ formData.posMasterNo ? formData.posMasterNo : "-" }} {{ formData.posMasterNo ? formData.posMasterNo : "-" }}
</div> </div>
<div v-if="store.typeProfile == 'OFFICER'" class="col-5 text-grey-6 text-weight-medium"> <div
v-if="store.typeProfile == 'OFFICER'"
class="col-5 text-grey-6 text-weight-medium"
>
ตำแหนงทางการบรหาร ตำแหนงทางการบรหาร
</div> </div>
<div v-if="store.typeProfile == 'OFFICER'" class="col-7"> <div v-if="store.typeProfile == 'OFFICER'" class="col-7">
{{ formData.posExecutive ? formData.posExecutive : "-" }} {{ formData.posExecutive ? formData.posExecutive : "-" }}
</div> </div>
<div v-if="store.typeProfile == 'OFFICER'" class="col-5 text-grey-6 text-weight-medium"> <div
v-if="store.typeProfile == 'OFFICER'"
class="col-5 text-grey-6 text-weight-medium"
>
านทางการบรหาร านทางการบรหาร
</div> </div>
<div v-if="store.typeProfile == 'OFFICER'" class="col-7"> <div v-if="store.typeProfile == 'OFFICER'" class="col-7">
@ -385,17 +396,26 @@ onMounted(() => {
<div class="col-12 col-sm-12 col-md-6"> <div class="col-12 col-sm-12 col-md-6">
<div class="row q-col-gutter-y-sm"> <div class="row q-col-gutter-y-sm">
<div v-if="store.typeProfile == 'OFFICER'" class="col-5 text-grey-6 text-weight-medium">สายงาน</div> <div
v-if="store.typeProfile == 'OFFICER'"
class="col-5 text-grey-6 text-weight-medium"
>
สายงาน
</div>
<div v-if="store.typeProfile == 'OFFICER'" class="col-7"> <div v-if="store.typeProfile == 'OFFICER'" class="col-7">
{{ formData.positionField ? formData.positionField : "-" }} {{ formData.positionField ? formData.positionField : "-" }}
</div> </div>
<div class="col-5 text-grey-6 text-weight-medium"> <div class="col-5 text-grey-6 text-weight-medium">
{{store.typeProfile == 'OFFICER' ? 'ประเภทตำแหน่ง':'กลุ่มงาน'}} {{
store.typeProfile == "OFFICER" ? "ตำแหน่งประเภท" : "กลุ่มงาน"
}}
</div> </div>
<div class="col-7"> <div class="col-7">
{{ formData.posType ? formData.posType : "-" }} {{ formData.posType ? formData.posType : "-" }}
</div> </div>
<div class="col-5 text-grey-6 text-weight-medium">{{store.typeProfile == 'OFFICER' ? 'ระดับตำแหน่ง':'ระดับชั้นงาน'}}</div> <div class="col-5 text-grey-6 text-weight-medium">
{{ store.typeProfile == "OFFICER" ? "ระดับ" : "ระดับชั้นงาน" }}
</div>
<div class="col-7"> <div class="col-7">
{{ formData.posLevel ? formData.posLevel : "-" }} {{ formData.posLevel ? formData.posLevel : "-" }}
</div> </div>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -205,9 +205,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -252,9 +252,7 @@ onMounted(() => {
<!-- v-if="mode" --> <!-- v-if="mode" -->
<div class="col-12"> <div class="col-12">
<q-toolbar class="q-px-none q-mt-md"> <q-toolbar class="q-px-none q-mt-md">
<span class="text-blue-6 text-weight-bold text-body1" <span class="text-blue-6 text-weight-bold text-body1"></span>
></span
>
<q-space /> <q-space />
<q-input <q-input
v-if="mode" v-if="mode"
@ -329,7 +327,7 @@ onMounted(() => {
{{ props.row.status ? props.row.status : "-" }} {{ props.row.status ? props.row.status : "-" }}
</div> </div>
<div v-else> <div v-else>
{{ col.value?col.value:'-' }} {{ col.value ? col.value : "-" }}
</div> </div>
</q-td> </q-td>
<q-td auto-width> <q-td auto-width>
@ -364,7 +362,6 @@ onMounted(() => {
<q-tooltip>ประวแกไขว</q-tooltip> <q-tooltip>ประวแกไขว</q-tooltip>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name"> <q-item v-for="col in props.cols" :key="col.name">
<q-item-section class="fix_top"> <q-item-section class="fix_top">
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -381,10 +378,10 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลว >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
@ -397,7 +394,6 @@ onMounted(() => {
:visibleColumns="visibleColumns" :visibleColumns="visibleColumns"
:columns="columns" :columns="columns"
/> />
</template> </template>
<style scoped> <style scoped>
.absolute_button { .absolute_button {
@ -406,7 +402,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -203,9 +203,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -225,7 +225,6 @@ function getData() {
status: item.status, status: item.status,
reason: item.reason, reason: item.reason,
typeLeaveId: item.leaveTypeId, typeLeaveId: item.leaveTypeId,
})); }));
}) })
.catch((e) => { .catch((e) => {
@ -415,7 +414,7 @@ onMounted(() => {
> >
<q-tooltip>ประวแกไขการลา</q-tooltip> <q-tooltip>ประวแกไขการลา</q-tooltip>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name" > <q-item v-for="col in props.cols" :key="col.name">
<q-item-section class="fix_top"> <q-item-section class="fix_top">
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -434,10 +433,12 @@ onMounted(() => {
}}</q-item-label }}</q-item-label
> >
<q-item-label <q-item-label
v-else-if="col.name == 'status'" v-else-if="col.name == 'status'"
class="text-dark text-weight-medium" class="text-dark text-weight-medium"
> >
{{ props.row.status ? statusLeave(props.row.status) : "-" }}</q-item-label {{
props.row.status ? statusLeave(props.row.status) : "-"
}}</q-item-label
> >
<q-item-label v-else class="text-dark text-weight-medium">{{ <q-item-label v-else class="text-dark text-weight-medium">{{
col.value ? col.value : "-" col.value ? col.value : "-"
@ -450,9 +451,9 @@ onMounted(() => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมการลา </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
@ -474,7 +475,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -206,9 +206,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -330,7 +330,7 @@ onMounted(() => {
{{ props.row.status ? props.row.status : "-" }} {{ props.row.status ? props.row.status : "-" }}
</div> </div>
<div v-else> <div v-else>
{{ col.value?col.value:'-' }} {{ col.value ? col.value : "-" }}
</div> </div>
</q-td> </q-td>
<q-td auto-width> <q-td auto-width>
@ -365,7 +365,6 @@ onMounted(() => {
<q-tooltip>ประวแกไขปฏราชการพเศษ</q-tooltip> <q-tooltip>ประวแกไขปฏราชการพเศษ</q-tooltip>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name"> <q-item v-for="col in props.cols" :key="col.name">
<q-item-section class="fix_top"> <q-item-section class="fix_top">
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -382,10 +381,10 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลปฏราชการพเศษ >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
@ -398,7 +397,6 @@ onMounted(() => {
:visibleColumns="visibleColumnsHistory" :visibleColumns="visibleColumnsHistory"
:columns="columnsHistory" :columns="columnsHistory"
/> />
</template> </template>
<style scoped> <style scoped>
.absolute_button { .absolute_button {
@ -407,7 +405,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -90,7 +90,6 @@ const columns = ref<QTableProps["columns"]>([
}, },
]); ]);
const visibleColumnsHistory = ref<string[]>([ const visibleColumnsHistory = ref<string[]>([
"date", "date",
"reference", "reference",
@ -184,10 +183,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id: string) {
function onHistory(id:string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -309,7 +307,7 @@ onMounted(() => {
{{ props.row.status ? props.row.status : "-" }} {{ props.row.status ? props.row.status : "-" }}
</div> </div>
<div v-else> <div v-else>
{{ col.value?col.value:'-' }} {{ col.value ? col.value : "-" }}
</div> </div>
</q-td> </q-td>
<q-td auto-width> <q-td auto-width>
@ -341,10 +339,11 @@ onMounted(() => {
class="absolute_button" class="absolute_button"
@click="onHistory(props.row.id)" @click="onHistory(props.row.id)"
> >
<q-tooltip>ประวแกไขบนทกวนทไมไดบเงนเดอนฯ</q-tooltip> <q-tooltip
>ประวแกไขบนทกวนทไมไดบเงนเดอนฯ</q-tooltip
>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name"> <q-item v-for="col in props.cols" :key="col.name">
<q-item-section class="fix_top"> <q-item-section class="fix_top">
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -361,10 +360,10 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลบนทกวนทไมไดบเงนเดอนฯ >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
@ -377,7 +376,6 @@ onMounted(() => {
:visibleColumns="visibleColumnsHistory" :visibleColumns="visibleColumnsHistory"
:columns="columnsHistory" :columns="columnsHistory"
/> />
</template> </template>
<style scoped> <style scoped>
.absolute_button { .absolute_button {
@ -386,7 +384,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -181,9 +181,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -207,7 +207,7 @@ function getData() {
function getHistory() { function getHistory() {
showLoader(); showLoader();
http http
.get(config.API.dataUserCertificateHistory("certificate",idByRow.value)) .get(config.API.dataUserCertificateHistory("certificate", idByRow.value))
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
rowsHistory.value = data; rowsHistory.value = data;
@ -357,9 +357,9 @@ onMounted(() => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมใบอนญาตประกอบวชาช </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -309,9 +309,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -335,7 +335,7 @@ function getData() {
function getHistory() { function getHistory() {
showLoader(); showLoader();
http http
.get(config.API.dataUserCertificateHistory("training",idByRow.value)) .get(config.API.dataUserCertificateHistory("training", idByRow.value))
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
rowsHistory.value = data; rowsHistory.value = data;
@ -477,9 +477,9 @@ onMounted(() => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมการฝกอบรม/งาน </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -10,7 +10,7 @@ import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry"; import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const store = useRegistryInFormationStore(); const store = useRegistryInFormationStore();
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
@ -388,9 +388,9 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -414,7 +414,7 @@ function getData() {
function getHistory() { function getHistory() {
showLoader(); showLoader();
http http
.get(config.API.dataUserCertificateHistory("insignia",idByRow.value)) .get(config.API.dataUserCertificateHistory("insignia", idByRow.value))
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
rowsHistory.value = data; rowsHistory.value = data;
@ -577,9 +577,9 @@ onMounted(async () => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมเครองราชอสรยาภรณ </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -10,7 +10,7 @@ import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry"; import { useRegistryInFormationStore } from "@/modules/10_registry/store/registry";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const store = useRegistryInFormationStore(); const store = useRegistryInFormationStore();
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
@ -183,16 +183,16 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
function getData() { function getData() {
showLoader(); showLoader();
http http
.get(config.API.dataUserCertificate('honor')) .get(config.API.dataUserCertificate("honor"))
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
rows.value = data; rows.value = data;
@ -207,7 +207,10 @@ function getData() {
/** get history */ /** get history */
function getHistory() { function getHistory() {
const url = store.typeProfile == 'OFFICER' ? config.API.dataUserHonorHistory('honor','',idByRow.value):config.API.dataUserHonorHistory('honor','-employee',idByRow.value) const url =
store.typeProfile == "OFFICER"
? config.API.dataUserHonorHistory("honor", "", idByRow.value)
: config.API.dataUserHonorHistory("honor", "-employee", idByRow.value);
showLoader(); showLoader();
http http
.get(url) .get(url)
@ -308,7 +311,7 @@ onMounted(() => {
{{ props.row.status ? props.row.status : "-" }} {{ props.row.status ? props.row.status : "-" }}
</div> </div>
<div v-else> <div v-else>
{{ col.value?col.value:'-' }} {{ col.value ? col.value : "-" }}
</div> </div>
</q-td> </q-td>
<q-td auto-width> <q-td auto-width>
@ -343,7 +346,6 @@ onMounted(() => {
<q-tooltip>ประวแกไขประกาศเกยรต</q-tooltip> <q-tooltip>ประวแกไขประกาศเกยรต</q-tooltip>
</q-btn> </q-btn>
<q-item v-for="col in props.cols" :key="col.name"> <q-item v-for="col in props.cols" :key="col.name">
<q-item-section class="fix_top"> <q-item-section class="fix_top">
<q-item-label class="text-grey-6 text-weight-medium">{{ <q-item-label class="text-grey-6 text-weight-medium">{{
col.label col.label
@ -360,10 +362,10 @@ onMounted(() => {
</div> </div>
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium"> <div
<span> class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
ไมพบขอมลประกาศเกยรต >
</span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>
@ -376,7 +378,6 @@ onMounted(() => {
:visibleColumns="visibleColumnsHistory" :visibleColumns="visibleColumnsHistory"
:columns="columnsHistory" :columns="columnsHistory"
/> />
</template> </template>
<style scoped> <style scoped>
.absolute_button { .absolute_button {
@ -385,7 +386,7 @@ onMounted(() => {
top: -20px; top: -20px;
} }
.fix_top{ .fix_top {
justify-content: start!important; justify-content: start !important;
} }
</style> </style>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -244,9 +244,9 @@ const visibleColumns = ref<string[]>([
"date", "date",
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
@ -270,7 +270,7 @@ function getData() {
function getHistory() { function getHistory() {
showLoader(); showLoader();
http http
.get(config.API.dataUserCertificateHistory("assessments",idByRow.value)) .get(config.API.dataUserCertificateHistory("assessments", idByRow.value))
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
rowsHistory.value = data; rowsHistory.value = data;
@ -440,9 +440,9 @@ onMounted(() => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมผลการประเมนการปฏราชการ </span> <span> ไมพบขอม</span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -9,7 +9,7 @@ import DialogHistory from "@/modules/10_registry/Dialog/DialogHistory.vue";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
const idByRow = ref<string>('') const idByRow = ref<string>("");
const rows = ref<any[]>([]); const rows = ref<any[]>([]);
const filter = ref<string>(""); const filter = ref<string>("");
const rowsHistory = ref<any[]>([]); const rowsHistory = ref<any[]>([]);
@ -99,12 +99,11 @@ const columnsHistory = ref<QTableProps["columns"]>([
}, },
]); ]);
function onHistory(id:string) { function onHistory(id: string) {
modalHistory.value = true; modalHistory.value = true;
idByRow.value = id idByRow.value = id;
} }
/** get data */ /** get data */
function getData() { function getData() {
showLoader(); showLoader();
@ -147,9 +146,7 @@ onMounted(() => {
<!-- v-if="mode" --> <!-- v-if="mode" -->
<div class="col-12"> <div class="col-12">
<q-toolbar class="q-px-none"> <q-toolbar class="q-px-none">
<span class="text-blue-6 text-weight-bold text-body1" <span class="text-blue-6 text-weight-bold text-body1">อมลอนๆ</span>
>อมลอนๆ</span
>
<q-space /> <q-space />
<q-input <q-input
v-if="mode" v-if="mode"
@ -268,9 +265,9 @@ onMounted(() => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมอมลอนๆ </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -226,9 +226,9 @@ watch(
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมประวการแกไข </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>

View file

@ -21,7 +21,7 @@ import { useQuasar } from "quasar";
const store = useRegistryInFormationStore(); const store = useRegistryInFormationStore();
const $q = useQuasar(); const $q = useQuasar();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const { messageError, dialogConfirm ,showLoader,hideLoader } = mixin; const { messageError, dialogConfirm, showLoader, hideLoader } = mixin;
const profileImg = ref<string>(""); const profileImg = ref<string>("");
const router = useRouter(); const router = useRouter();
const tab = ref<string>("information"); const tab = ref<string>("information");
@ -179,7 +179,7 @@ onMounted(async () => {
</q-item> </q-item>
<q-item> <q-item>
<q-item-section class="text-grey-6">{{ <q-item-section class="text-grey-6">{{
store.typeProfile == "OFFICER" ? "ประเภทตำแหน่ง" : "กลุ่มงาน" store.typeProfile == "OFFICER" ? "ตำแหน่งประเภท" : "กลุ่มงาน"
}}</q-item-section> }}</q-item-section>
<q-item-section>{{ <q-item-section>{{
formData.posTypeName ? formData.posTypeName : "-" formData.posTypeName ? formData.posTypeName : "-"
@ -187,9 +187,7 @@ onMounted(async () => {
</q-item> </q-item>
<q-item> <q-item>
<q-item-section class="text-grey-6">{{ <q-item-section class="text-grey-6">{{
store.typeProfile == "OFFICER" store.typeProfile == "OFFICER" ? "ระดับ" : "ระดับชั้นงาน"
? "ระดับตำแหน่ง"
: "ระดับชั้นงาน"
}}</q-item-section> }}</q-item-section>
<q-item-section>{{ <q-item-section>{{
formData.posLevelName ? formData.posLevelName : "-" formData.posLevelName ? formData.posLevelName : "-"

View file

@ -145,7 +145,7 @@ function getList(id: string) {
http http
.get(config.API.probationMain(id)) .get(config.API.probationMain(id))
.then((res) => { .then((res) => {
const data = res.data.data const data = res.data.data;
rows.value = data; rows.value = data;
}) })
.catch((e) => {}) .catch((e) => {})
@ -168,7 +168,6 @@ function onDetail(id: string) {
} }
onMounted(async () => { onMounted(async () => {
await getMain(); await getMain();
}); });
</script> </script>
@ -292,7 +291,7 @@ onMounted(async () => {
dense dense
v-model="filter" v-model="filter"
label="ค้นหา" label="ค้นหา"
:style="mode ? `max-width: 200px`:`max-width: 150px`" :style="mode ? `max-width: 200px` : `max-width: 150px`"
> >
<template v-slot:append> <template v-slot:append>
<q-icon <q-icon
@ -355,7 +354,11 @@ onMounted(async () => {
<template v-if="$q.screen.gt.xs" v-slot:body="props"> <template v-if="$q.screen.gt.xs" v-slot:body="props">
<q-tr :props="props" class="cursor-pointer"> <q-tr :props="props" class="cursor-pointer">
<q-td v-for="(col, index) in props.cols" :key="col.name" @click="onDetail(props.row.id)"> <q-td
v-for="(col, index) in props.cols"
:key="col.name"
@click="onDetail(props.row.id)"
>
<div v-if="col.name == 'no'"> <div v-if="col.name == 'no'">
{{ props.rowIndex + 1 }} {{ props.rowIndex + 1 }}
</div> </div>
@ -404,9 +407,9 @@ onMounted(async () => {
</template> </template>
<template v-slot:no-data> <template v-slot:no-data>
<div <div
class="full-width row flex-center bg-grey-3 q-pa-md rounded-borders text-body2 text-weight-medium" class="full-width row flex-center q-pa-sm rounded-borders text-weight-medium"
> >
<span> ไมพบขอมตำแหน/เงนเดอน </span> <span> ไมพบขอม </span>
</div> </div>
</template> </template>
</d-table> </d-table>