แก้ประเมิน step 1

This commit is contained in:
Warunee Tamkoo 2023-12-23 16:21:10 +07:00
parent 3487ae71bb
commit 86ba9053a7
7 changed files with 473 additions and 299 deletions

View file

@ -226,6 +226,7 @@ function fileUpLoad(url: string) {
}) })
.finally(() => { .finally(() => {
fileEvaluationUpload.value = null; fileEvaluationUpload.value = null;
checkDoc10();
success($q, "อัปโหลดไฟล์สำเร็จ"); success($q, "อัปโหลดไฟล์สำเร็จ");
}); });
} }
@ -250,6 +251,32 @@ function sentMessenger() {
}); });
}); });
} }
const download10Url = ref<string>("");
function checkDoc10() {
showLoader();
http
.get(
config.API.evaluationPatchData(
"เล่ม 1",
id.value,
"10-ประกาศผลการคัดเลือกบุคคล (เอกสารหมายเลข 10)"
)
)
.then((res: any) => {
download10Url.value = res.data.downloadUrl;
})
// .catch((e) => {
// messageError($q, e);
// })
.finally(() => {
hideLoader();
});
}
onMounted(() => {
checkDoc10();
});
</script> </script>
<template> <template>
@ -320,7 +347,9 @@ function sentMessenger() {
</div> </div>
<div class="col-xs-12 col-sm-6 row"> <div class="col-xs-12 col-sm-6 row">
<q-btn <q-btn
v-if="fileEvaluationUpload" v-if="download10Url != ''"
:href="download10Url"
target="_blank"
class="col-12" class="col-12"
outline outline
icon="visibility" icon="visibility"
@ -361,7 +390,7 @@ function sentMessenger() {
</div> </div>
</q-card> </q-card>
</div> </div>
<div class="col-12"> <div v-if="store.currentStep == 4" class="col-12">
<div class="q-mt-xs q-gutter-md" align="right"> <div class="q-mt-xs q-gutter-md" align="right">
<q-btn label="ติดต่อผู้ขอประเมิน" color="info" @click="openPopUp" /> <q-btn label="ติดต่อผู้ขอประเมิน" color="info" @click="openPopUp" />
<q-btn <q-btn

View file

@ -127,6 +127,7 @@ function fileUpLoad(url: string) {
}) })
.finally(() => { .finally(() => {
fileEvaluation5.value = null; fileEvaluation5.value = null;
checkDocResult();
success($q, "อัปโหลดไฟล์สำเร็จ"); success($q, "อัปโหลดไฟล์สำเร็จ");
}); });
} }
@ -235,8 +236,31 @@ function onClickViewPDF(file: any) {
modalView.value = true; modalView.value = true;
} }
const download10Url = ref<string>("");
function checkDocResult() {
showLoader();
http
.get(
config.API.evaluationPatchData(
"เล่ม 1",
id.value,
"บันทึกแจ้งผลการประกาศคัดเลือก"
)
)
.then((res: any) => {
download10Url.value = res.data.downloadUrl;
})
// .catch((e) => {
// messageError($q, e);
// })
.finally(() => {
hideLoader();
});
}
onMounted(() => { onMounted(() => {
getDate(); getDate();
checkDocResult();
}); });
</script> </script>
@ -296,37 +320,21 @@ onMounted(() => {
<div class="row"> <div class="row">
<div class="col-12 q-pa-sm"> <div class="col-12 q-pa-sm">
<div class="row q-col-gutter-md col-12"> <div class="row q-col-gutter-md col-12">
<!-- <div class="col-xs-12 col-sm-6 row">
<q-btn
class="col-12"
outline
icon="download"
label="ดาวน์โหลดต้นแบบ"
color="primary"
@click="
onClickDowloadFile(
'EV1_005',
'template-1',
'แบบพิจารณาคุณสมบัติบุคคล'
)
"
>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div>
<div class="col-xs-12 col-sm-6 row"> <div class="col-xs-12 col-sm-6 row">
<q-btn <q-btn
v-if="fileEvaluation5" v-if="download10Url != ''"
:href="download10Url"
target="_blank"
class="col-12" class="col-12"
outline outline
icon="visibility" icon="visibility"
label="ดูไฟล์เอกสาร" label="ดูไฟล์เอกสาร"
color="primary" color="primary"
@click="onClickViewPDF(fileEvaluation5)"
> >
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn <q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
> >
</div> --> </div>
<div class="col-xs-12 col-sm-10 row"> <div class="col-xs-12 col-sm-10 row">
<q-file <q-file
ref="fileEvaluation1Ref" ref="fileEvaluation1Ref"
@ -446,7 +454,7 @@ onMounted(() => {
</div> </div>
</q-card> </q-card>
</div> --> </div> -->
<div class="col-12"> <div v-if="store.currentStep == 5" class="col-12">
<div class="q-mt-xs q-gutter-md" align="right"> <div class="q-mt-xs q-gutter-md" align="right">
<q-btn <q-btn
unelevated unelevated

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from "vue"; import { onMounted, ref } from "vue";
import axios from "axios"; import axios from "axios";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
@ -184,6 +184,10 @@ function nextStep(){
hideLoader(); hideLoader();
}); });
} }
onMounted(()=>{
})
</script> </script>
<template> <template>

View file

@ -1,8 +1,15 @@
<script setup lang="ts"> <script setup lang="ts">
import TableData from "@/modules/12_evaluatePersonal/components/Detail/viewstep/tableStep1.vue"; import TableData from "@/modules/12_evaluatePersonal/components/Detail/viewstep/tableStep1.vue";
import { useCounterMixin } from "@/stores/mixin";
import { useEvaluateDetailStore } from "@/modules/12_evaluatePersonal/store/EvaluateDetail"; import { useEvaluateDetailStore } from "@/modules/12_evaluatePersonal/store/EvaluateDetail";
import { onMounted, reactive, watch } from "vue";
import type {
EducationForm,
CertificatesForm,
} from "@/modules/12_evaluatePersonal/interface/index/evalute";
const mixin = useCounterMixin();
const props = defineProps({ const props = defineProps({
data: { data: {
type: Object, type: Object,
@ -10,129 +17,227 @@ const props = defineProps({
}, },
}); });
const { date2Thai } = mixin;
const store = useEvaluateDetailStore(); const store = useEvaluateDetailStore();
const { const {
columnsLicense, columnsCertificates,
columnPeriodhistory, columnSalaries,
columnTrainingHistory, columnTraining,
columnProjectsProposed, columnProjectsProposed,
} = store; } = store;
const formDetail = reactive({
userId: props.data.id,
citizenId: "",
prefix: "",
fullName: "",
position: "",
oc: "",
salary: "",
positionLevel: "",
posNo: "",
birthDate: "",
govAge: "",
educations: [] as EducationForm[],
certificates: [],
salaries: [],
trainings: [],
assessments: [],
// Type: "",
// Step: "",
});
onMounted(() => {
if (props.data) {
// formDetail.userId = props.data.id;
// formDetail.citizenId = props.data.citizenId;
formDetail.prefix = props.data.prefix;
formDetail.fullName = `${props.data.firstName} ${props.data.lastName}`;
formDetail.position = props.data.position;
formDetail.oc = props.data.oc;
formDetail.salary = props.data.salary
? props.data.salary.toLocaleString("th-TH")
: "-";
formDetail.positionLevel = props.data.positionLevel;
formDetail.posNo = props.data.posNo;
formDetail.birthDate =
props.data.birthDate && date2Thai(props.data.birthDate);
formDetail.govAge = props.data.govAge;
formDetail.educations = props.data.educations;
formDetail.certificates = props.data.certificates
? props.data.certificates.map((e: CertificatesForm) => ({
certificateNo: e.certificateNo,
certificateType: e.certificateType,
expireDate: date2Thai(e.expireDate),
issueDate: date2Thai(e.issueDate),
issuer: e.issuer,
}))
: [];
formDetail.salaries = props.data.salaries
? props.data.salaries.map((e: any) => ({
amount: e.amount,
date: date2Thai(e.date),
mouthSalaryAmount: e.mouthSalaryAmount ? e.mouthSalaryAmount : 0,
posNo: e.posNo,
position: e.position,
positionSalaryAmount: e.positionSalaryAmount
? e.positionSalaryAmount
: 0,
refCommandDate: e.refCommandDate ? e.refCommandDate : "",
refCommandNo: e.refCommandNo ? e.refCommandNo : "",
salaryClass: e.salaryClass ? e.salaryClass : "",
salaryRef: e.salaryRef ? e.salaryRef : "",
salaryStatus: e.salaryStatus ? e.salariesStatus : "",
//
oc: "-",
lineWork: "-",
side: "-",
positionType: "-",
level: "-",
positionsAdministrative: "-",
aspectAdministrative: "-",
}))
: [];
formDetail.trainings = props.data.trainings
? props.data.trainings.map((e: any) => ({
dateOrder: date2Thai(e.dateOrder),
department: e.department,
duration: e.duration,
endDate: date2Thai(e.endDate),
name: e.name,
numberOrder: e.numberOrder,
place: e.place,
startDate: date2Thai(e.startDate),
topic: e.topic,
yearly: e.yearly,
}))
: [];
formDetail.assessments = props.data.assessments;
}
});
</script> </script>
<template> <template>
<div> <q-scroll-area style="height: 450px; max=width: 100%">
<q-scroll-area style="height: 450px; max-width: 100%"> <div class="q-pa-xs">
<div class="q-pa-xs"> <q-card class="q-gutter-md" style="max-width: 100%">
<q-card class="q-gutter-md" style="max-width: 100%"> <q-card bordered style="border: 1px solid #d6dee1">
<q-card bordered style="border: 1px solid #d6dee1"> <div class="text-weight-bold row items-center bg-grey-2">
<div class="text-weight-bold row items-center bg-grey-2"> <span class="q-ml-lg q-my-sm">อมลสวนต</span>
<span class="q-ml-lg q-my-sm">อมลสวนต</span> </div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.prefix"
label="คำนำหน้าชื่อ"
></q-input>
</div> </div>
<q-separator /> <div class="col-xs-6 col-sm-4 col-md-3">
<div class="row q-pa-sm"> <q-input
<div class="col-xs-6 col-sm-4 col-md-3"> borderless
<q-input readonly
borderless :model-value="formDetail.fullName"
readonly label="ชื่อ - นามสกุล"
:model-value="data.prefix" />
label="คำนำหน้าชื่อ"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="data.fullName"
label="ชื่อ - นามสกุล"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
model-value="19/03/44"
readonly
label="วันเดือนปีเกิด"
>
<template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="ไม่มี"
label="ตำแหน่ง"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="กย.11"
label="ตำแหน่งเลขที่"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="หน่วยใหม่กับหน่วยเก่า"
label="สังกัด"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="1,0000"
label="เงินเดือน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="ระดับปัจจุบัน"
label="ระดับปัจจุบัน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="ระดับที่ประเมิน"
label="ระดับที่ประเมิน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
model-value="1000 ปี"
label="อายุราชการ"
/>
</div>
</div> </div>
</q-card> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input
<q-card bordered style="border: 1px solid #d6dee1"> borderless
<div class="text-weight-bold row items-center bg-grey-2"> :model-value="formDetail.birthDate"
<span class="q-ml-lg q-my-sm">ประวการศกษา</span> readonly
label="วันเดือนปีเกิด"
>
<template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</div> </div>
<q-separator /> <div class="col-xs-6 col-sm-4 col-md-3">
<div class="row q-pa-sm"> <q-input
borderless
readonly
:model-value="formDetail.position"
label="ตำแหน่ง"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.posNo"
label="ตำแหน่งเลขที่"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.oc"
label="สังกัด"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.salary"
label="เงินเดือน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.positionLevel"
label="ระดับปัจจุบัน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.positionLevel"
label="ระดับที่ประเมิน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.govAge"
label="อายุราชการ"
/>
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการศกษา </span>
</div>
<q-separator />
<div v-if="formDetail.educations.length > 0">
<div
class="row q-pa-sm"
v-for="(education, index) in formDetail.educations"
:key="index"
>
<div class="col-xs-6 col-sm-4 col-md-3"> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input <q-input
borderless borderless
readonly readonly
model-value="ปริญญาตรี" :model-value="education.educationLevel"
label="ระดับศึกษา" label="ระดับศึกษา"
/> />
</div> </div>
@ -141,7 +246,7 @@ const {
<q-input <q-input
borderless borderless
readonly readonly
model-value="มหาวิทยาลัยก." :model-value="education.institute"
label="สถานศึกษา" label="สถานศึกษา"
/> />
</div> </div>
@ -149,7 +254,7 @@ const {
<div class="col-xs-6 col-sm-4 col-md-3"> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input <q-input
borderless borderless
model-value="19/03/44" :model-value="date2Thai(education.startDate)"
readonly readonly
label="ตั้งแต่" label="ตั้งแต่"
> >
@ -160,7 +265,12 @@ const {
</div> </div>
<div class="col-xs-6 col-sm-4 col-md-3"> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input borderless model-value="19/03/44" readonly label="ถึง"> <q-input
borderless
:model-value="date2Thai(education.endDate)"
readonly
label="ถึง"
>
<template v-slot:prepend> <template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" /> <q-icon class="size-icon" name="o_calendar_today" />
</template> </template>
@ -169,7 +279,7 @@ const {
<div class="col-xs-6 col-sm-4 col-md-3"> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input <q-input
borderless borderless
model-value="19/03/44" :model-value="date2Thai(education.finishDate)"
readonly readonly
label="วันทราสำเร็จการศึกษา" label="วันทราสำเร็จการศึกษา"
> >
@ -183,7 +293,7 @@ const {
<q-input <q-input
borderless borderless
readonly readonly
model-value="ปริญญาตรี" :model-value="education.degree"
label="วุฒิการศึกษาในตําแหน่ง" label="วุฒิการศึกษาในตําแหน่ง"
/> />
</div> </div>
@ -192,7 +302,7 @@ const {
<q-input <q-input
borderless borderless
readonly readonly
model-value="ปริญญาตรี" :model-value="education.degree"
label="วุฒิการศึกษา" label="วุฒิการศึกษา"
/> />
</div> </div>
@ -201,99 +311,112 @@ const {
<q-input <q-input
borderless borderless
readonly readonly
model-value="-" :model-value="education.field"
label="สาขาวิชา/ทาง" label="สาขาวิชา/ทาง"
/> />
</div> </div>
<div class="col-xs-6 col-sm-4 col-md-3"> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input borderless readonly model-value="-" label="ทุน" /> <q-input
borderless
readonly
:model-value="education.fundName"
label="ทุน"
/>
</div> </div>
<div class="col-xs-6 col-sm-4 col-md-3"> <div class="col-xs-6 col-sm-4 col-md-3">
<q-input <q-input
borderless borderless
readonly readonly
model-value="3.33" :model-value="education.gpa"
label="เกรดเฉลี่ย" label="เกรดเฉลี่ย"
/> />
</div> </div>
<div class="col-xs-6 col-sm-4 col-md-6"> <div class="col-xs-6 col-sm-4 col-md-6">
<q-input borderless readonly model-value="ไทย" label="ประเทศ" /> <q-input
borderless
readonly
:model-value="education.country"
label="ประเทศ"
/>
</div> </div>
</div> </div>
</q-card> </div>
<div v-else class="row col-12 q-pa-md">ไมประวการศกษา</div>
<q-card bordered style="border: 1px solid #d6dee1"> <q-separator />
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ใบอนญาตประกอบวชาช</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnsLicense" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการรบราชการ</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnPeriodhistory" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการฝกอบรมดงาน</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnTrainingHistory" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประสบการณในการปฏงาน </span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnTrainingHistory" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm"
>ผลงานทเคยเสนอขอประเม (าม)</span
>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnProjectsProposed" />
</div>
</div>
</q-card>
</q-card> </q-card>
</div>
</q-scroll-area>
</div>
</template>
<style scoped lang="scss"> <q-card bordered style="border: 1px solid #d6dee1">
.size-icon { <div class="text-weight-bold row items-center bg-grey-2">
font-size: 20px; /* ปรับขนาดตามที่คุณต้องการ */ <span class="q-ml-lg q-my-sm">ใบอนญาตประกอบวชาช</span>
} </div>
</style> <q-separator />
@/modules/12_evaluatePersonal/store/evaluate <div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData
:columns="columnsCertificates"
:row="formDetail.certificates"
/>
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการรบราชการ</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnSalaries" :row="formDetail.salaries" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการฝกอบรมดงาน</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData
:columns="columnTraining"
:row="formDetail.trainings"
/>
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประสบการณในการปฏงาน </span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
-
<!-- <TableData
:columns="columnTraining"
:row="formDetail.Trainings"
/> -->
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ผลงานทเคยเสนอขอประเม (าม)</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnProjectsProposed" />
</div>
</div>
</q-card>
</q-card>
</div>
</q-scroll-area>
</template>

View file

@ -14,4 +14,30 @@ interface FormCommandRef {
[key: string]: any; [key: string]: any;
} }
export type { FormCommand, FormCommandRef }; interface EducationForm {
country: string;
degree: string;
duration: string;
durationYear: number;
educationLevel: string;
endDate: Date;
field: string;
finishDate: Date;
fundName: string;
gpa: string;
institute: string;
isDate: boolean;
isEducation: boolean;
other: string;
startDate: Date;
}
interface CertificatesForm {
certificateNo: string;
certificateType: string;
expireDate: Date;
issueDate: Date;
issuer: string;
}
export type { FormCommand, FormCommandRef, EducationForm, CertificatesForm };

View file

@ -24,220 +24,209 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
const log = ref<any>(0) const log = ref<any>(0)
const pdfSrcStore = ref<any>() const pdfSrcStore = ref<any>()
const numOfPagesStore = ref<any>() const numOfPagesStore = ref<any>()
const columnsLicense = ref<QTableProps["columns"]>([
const columnsCertificates = ref<QTableProps["columns"]>([
{ {
name: "", name: "certificateType",
align: "center", align: "left",
label: "ชื่อใบอนุณาต", label: "ชื่อใบอนุณาต",
sortable: false, sortable: false,
field: "", field: "certificateType",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "issuer",
align: "left", align: "left",
label: "หน่วยงานผู้ออกใบอนุญาต", label: "หน่วยงานผู้ออกใบอนุญาต",
sortable: true, sortable: true,
field: "", field: "issuer",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "certificateNo",
align: "left", align: "left",
label: "เลขที่ใบอนุญาต", label: "เลขที่ใบอนุญาต",
sortable: true, sortable: true,
field: "", field: "certificateNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "issueDate",
align: "left", align: "left",
label: "วันที่ออกใบอนุญาต", label: "วันที่ออกใบอนุญาต",
sortable: true, sortable: true,
field: "", field: "issueDate",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "expireDate",
align: "left", align: "left",
label: "วันที่หมดอายุ", label: "วันที่หมดอายุ",
sortable: true, sortable: true,
field: "", field: "expireDate",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
]); ]);
const columnPeriodhistory = ref<QTableProps["columns"]>([ const columnSalaries = ref<QTableProps["columns"]>([
{ {
name: "", name: "date",
align: "center", align: "left",
label: "วัน เดือน ปี", label: "วัน เดือน ปี",
sortable: false, sortable: false,
field: "", field: "date",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "oc",
align: "left", align: "left",
label: "สังกัด", label: "สังกัด",
sortable: true, sortable: true,
field: "", field: "oc",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "position",
align: "left", align: "left",
label: "ตำแหน่ง", label: "ตำแหน่ง",
sortable: true, sortable: true,
field: "", field: "position",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "posNo",
align: "left", align: "left",
label: "ตำแหน่งเลขที่", label: "ตำแหน่งเลขที่",
sortable: true, sortable: true,
field: "", field: "posNo",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "lineWork",
align: "left", align: "left",
label: "สายงาน", label: "สายงาน",
sortable: true, sortable: true,
field: "", field: "lineWork",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "side",
align: "left", align: "left",
label: "ด้าน/สาขา", label: "ด้าน/สาขา",
sortable: true, sortable: true,
field: "", field: "side",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "positionType",
align: "left", align: "left",
label: "ตำแหน่งประเภท", label: "ตำแหน่งประเภท",
sortable: true, sortable: true,
field: "", field: "positionType",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "level",
align: "left", align: "left",
label: "ระดับ", label: "ระดับ",
sortable: true, sortable: true,
field: "", field: "level",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "positionsAdministrative ",
align: "left", align: "left",
label: "ตำแหน่งทางการบริหาร", label: "ตำแหน่งทางการบริหาร",
sortable: true, sortable: true,
field: "", field: "positionsAdministrative",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "aspectAdministrative",
align: "left", align: "left",
label: "ด้านทางการบริหาร", label: "ด้านทางการบริหาร",
sortable: true, sortable: true,
field: "", field: "aspectAdministrative",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
]); ]);
const columnTrainingHistory = ref<QTableProps["columns"]>([ const columnTraining = ref<QTableProps["columns"]>([
{ {
name: "", name: "name",
align: "center", align: "left",
label: "ชื่อโครงการ/หลักสูตรการฝึกอบรม", label: "ชื่อโครงการ/หลักสูตรการฝึกอบรม",
sortable: false, sortable: false,
field: "", field: "name",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "topic",
align: "left", align: "left",
label: "หัวข้อการฝึกอบรม/ดูงาน", label: "หัวข้อการฝึกอบรม/ดูงาน",
sortable: true, sortable: true,
field: "", field: "topic",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "startDate",
align: "left", align: "left",
label: "วันเริ่มต้นการฝึกอบรม/ดูงาน", label: "วันเริ่มต้นการฝึกอบรม/ดูงาน",
sortable: true, sortable: true,
field: "", field: "startDate",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "endDate",
align: "left", align: "left",
label: "วันสิ้นสุดการฝึกอบรม/ดูงาน", label: "วันสิ้นสุดการฝึกอบรม/ดูงาน",
sortable: true, sortable: true,
field: "", field: "endDate",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "yearly",
align: "left", align: "left",
label: "ปีที่อบรม/ดูงาน", label: "ปีที่อบรม/ดูงาน",
sortable: true, sortable: true,
field: "", field: "yearly",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "duration",
align: "left", align: "left",
label: "รวมระยะเวลาในการฝึกอบรม/ดูงาน", label: "รวมระยะเวลาในการฝึกอบรม/ดูงาน",
sortable: true, sortable: true,
field: "", field: "duration",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "department",
align: "left", align: "left",
label: "หน่วยงานที่รับผิดชอบจัดการฝึกอบรม/ดูงาน", label: "หน่วยงานที่รับผิดชอบจัดการฝึกอบรม/ดูงาน",
sortable: true, sortable: true,
field: "", field: "department",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
@ -245,51 +234,47 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
const columnProjectsProposed = ref<QTableProps["columns"]>([ const columnProjectsProposed = ref<QTableProps["columns"]>([
{ {
name: "", name: "receivedDate",
align: "center", align: "center",
label: "วันที่ได้รับ", label: "วันที่ได้รับ",
sortable: false, sortable: true,
field: "", field: "receivedDate",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "authority",
align: "left", align: "left",
label: "ผู้มีอำนาจลงนาม", label: "ผู้มีอำนาจลงนาม",
sortable: true, sortable: true,
field: "", field: "authority",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "datail",
align: "left", align: "left",
label: "รายละเอียด", label: "รายละเอียด",
sortable: true, sortable: true,
field: "", field: "detail",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "", name: "orderNumber",
align: "left", align: "left",
label: "เลขที่คำสั่ง", label: "เลขที่คำสั่ง",
sortable: true, sortable: true,
field: "", field: "orderNumber",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "", name: "doc",
align: "left", align: "left",
label: "เอกสารอ้างอิง", label: "เอกสารอ้างอิง",
sortable: true, sortable: true,
field: "", field: "doc",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
@ -301,9 +286,9 @@ export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => {
titel, titel,
tabPanels, tabPanels,
/** step1*/ /** step1*/
columnsLicense, columnsCertificates,
columnPeriodhistory, columnSalaries,
columnTrainingHistory, columnTraining,
columnProjectsProposed, columnProjectsProposed,
pdfSrcStore, pdfSrcStore,
numOfPagesStore, numOfPagesStore,

View file

@ -58,7 +58,6 @@ watch(
function filterFn() { function filterFn() {
getList(); getList();
console.log("enter", filter.value);
} }
function getList() { function getList() {
showLoader(); showLoader();