แก้ไข display 1.ตรวจสอบคุณสมบัติ

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-01-16 10:33:44 +07:00
parent f33ec8fbc5
commit 0b2bb5f252
12 changed files with 277 additions and 289 deletions

View file

@ -101,7 +101,6 @@ async function validateForm() {
} }
if (hasError.every((result) => result === true)) { if (hasError.every((result) => result === true)) {
if (emptyValues.length > 0 && store.statusUpload === true) { if (emptyValues.length > 0 && store.statusUpload === true) {
console.log("There are empty values in the array.");
} else if (store.step === 2) { } else if (store.step === 2) {
if (store.statusUpload === false) { if (store.statusUpload === false) {
saveStep2(); saveStep2();
@ -167,7 +166,7 @@ async function fetchCheckStep(id: string) {
store.step = step; store.step = step;
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); // messageError($q, err);
}) })
.finally(() => { .finally(() => {
showLoadStatus.value = true; showLoadStatus.value = true;
@ -204,8 +203,8 @@ async function fetchDataStep1(id: string) {
messageError($q, err); messageError($q, err);
}) })
.finally(() => { .finally(() => {
hideLoader();
showLoadStatus.value = true; showLoadStatus.value = true;
hideLoader();
}); });
} }
@ -666,7 +665,7 @@ onMounted(async () => {
class="col-xs-12 col-sm-7 row" class="col-xs-12 col-sm-7 row"
v-if="store.step === 1 || store.step === 3 || store.step === 7" v-if="store.step === 1 || store.step === 3 || store.step === 7"
> >
<div class="col-12"> <div class="col-12 ">
<ViewStep1 <ViewStep1
v-if="store.step === 1" v-if="store.step === 1"
@update:formDeital="updateFormDetail" @update:formDeital="updateFormDetail"

View file

@ -75,7 +75,6 @@ function closeModal() {
/**hook lifecycle*/ /**hook lifecycle*/
onMounted(() => { onMounted(() => {
props.data && fetchCheckSpec(props.data); props.data && fetchCheckSpec(props.data);
setTimeout(() => { setTimeout(() => {
education.value = props.educations education.value = props.educations
? props.educations ? props.educations

View file

@ -29,9 +29,6 @@ const evaluateId = ref<string>(route.params.id.toString());
/** emit */ /** emit */
const emit = defineEmits(["update:form"]); const emit = defineEmits(["update:form"]);
const performance = ref<string>("");
const performanceOwner = ref<string>("");
/** form ผู้เซ็นเอกสาร*/ /** form ผู้เซ็นเอกสาร*/
const formCommand = reactive<FormCommand>({ const formCommand = reactive<FormCommand>({
commanderFullname: "", commanderFullname: "",
@ -414,6 +411,7 @@ onMounted(async () => {
downloadFile("6-ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)"); downloadFile("6-ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)");
}); });
/** callback function */
watch( watch(
() => store.checkFileupload, () => store.checkFileupload,
() => { () => {

View file

@ -77,12 +77,8 @@ async function downloadFile(url: string) {
}, },
}) })
.then((res) => { .then((res) => {
console.log(url);
const blob = new Blob([res.data]); const blob = new Blob([res.data]);
const objectUrl = URL.createObjectURL(blob); const objectUrl = URL.createObjectURL(blob);
console.log(objectUrl);
emit("update:file", objectUrl, url); emit("update:file", objectUrl, url);
}) })
.catch((err) => { .catch((err) => {

View file

@ -135,6 +135,10 @@ const author = ref<string>("");
const subject = ref<string>(""); const subject = ref<string>("");
const assignedPosition = ref<string>(""); const assignedPosition = ref<string>("");
/**
* function เรยกขอมลผลงาน
* @param id ประเม
*/
async function fetcheSigner(id: string) { async function fetcheSigner(id: string) {
showLoader(); showLoader();
await http await http
@ -151,8 +155,9 @@ async function fetcheSigner(id: string) {
}); });
} }
/** lifecycleHook*/
onMounted(async () => { onMounted(async () => {
await checkDoc(); await checkDoc();
await fetcheSigner(evaluateId.value); await fetcheSigner(evaluateId.value);
}); });
</script> </script>

View file

@ -5,12 +5,11 @@ import { useRoute } from "vue-router";
import env from "@/api"; import env from "@/api";
/** importStore*/ /** importStore*/
import { useEvaluateStore } from "@/modules/06_evaluate/store";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
/** use*/ /** use*/
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const stroe = useEvaluateStore();
const $q = useQuasar(); const $q = useQuasar();
const route = useRoute(); const route = useRoute();

View file

@ -1,6 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, watch, computed } from "vue"; import { ref, watch, computed } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { useQuasar } from "quasar";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
@ -10,8 +11,9 @@ import type { QTableProps } from "quasar";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
const route = useRoute(); const route = useRoute();
const $q = useQuasar();
const mixins = useCounterMixin(); const mixins = useCounterMixin();
const { showLoader, hideLoader, date2Thai } = mixins; const { showLoader, hideLoader, date2Thai, messageError } = mixins;
// const evaluateId = ref<string>(route.params.id.toString()); // const evaluateId = ref<string>(route.params.id.toString());
@ -75,6 +77,10 @@ const columns = ref<QTableProps["columns"]>([
]); ]);
const row = ref<any>(); const row = ref<any>();
/**
* function เรยกขอมลประวการประเม
* @param id การประเม
*/
async function fetchListHistory(id: string) { async function fetchListHistory(id: string) {
const thaiOptions: Intl.DateTimeFormatOptions = { const thaiOptions: Intl.DateTimeFormatOptions = {
hour: "2-digit", hour: "2-digit",
@ -95,14 +101,16 @@ async function fetchListHistory(id: string) {
})); }));
row.value = list; row.value = list;
console.log(row.value);
}) })
.catch((err) => {}) .catch((err) => {
messageError($q, err);
})
.finally(() => { .finally(() => {
hideLoader(); hideLoader();
}); });
} }
/** callbaclFunction เรียกข้อมูลประวัติการประเมิน ทำงานเมื่อ props.modal === true*/
watch( watch(
() => props.modal, () => props.modal,
() => { () => {

View file

@ -21,7 +21,7 @@ const props = defineProps({
:rows="props.row" :rows="props.row"
dense dense
:rows-per-page-options="[10, 25, 50, 100]" :rows-per-page-options="[10, 25, 50, 100]"
style="width: 610px" virtual-scroll
> >
<template v-slot:header="props"> <template v-slot:header="props">
<q-tr :props="props"> <q-tr :props="props">
@ -30,18 +30,6 @@ const props = defineProps({
</q-th> </q-th>
</q-tr> </q-tr>
</template> </template>
<!-- <template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td v-for="col in props.cols" :key="col.name" :props="props">
<div v-if="col.name == 'no'">
{{ props.rowIndex + 1 }}
</div>
<div>
{{ col.value }}
</div>
</q-td>
</q-tr>
</template> -->
</q-table> </q-table>
</template> </template>
@ -61,7 +49,6 @@ const props = defineProps({
.q-table thead tr th { .q-table thead tr th {
position: sticky; position: sticky;
z-index: 1;
} }
/* this will be the loading indicator */ /* this will be the loading indicator */
.q-table thead tr:last-child th { .q-table thead tr:last-child th {

View file

@ -2,12 +2,6 @@
import { ref, onMounted, watch } from "vue"; import { ref, onMounted, watch } from "vue";
import { VuePDF, usePDF } from "@tato30/vue-pdf"; import { VuePDF, usePDF } from "@tato30/vue-pdf";
import { useCounterMixin } from "@/stores/mixin";
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const props = defineProps({ const props = defineProps({
pdfSrc: { pdfSrc: {
type: String, type: String,
@ -19,6 +13,7 @@ const props = defineProps({
const loadPDF = ref<boolean>(false); const loadPDF = ref<boolean>(false);
/** function loadfile PDF*/
async function loadpdfData() { async function loadpdfData() {
loadPDF.value = false; loadPDF.value = false;
const pdfData = await usePDF(`${props.pdfSrc}`); const pdfData = await usePDF(`${props.pdfSrc}`);
@ -37,6 +32,8 @@ watch(
await loadpdfData(); await loadpdfData();
} }
); );
/** lifecycleHook*/
onMounted(async () => { onMounted(async () => {
await loadpdfData(); await loadpdfData();
}); });

View file

@ -5,16 +5,20 @@ import { useQuasar } from "quasar";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
/** importType*/
import type { import type {
EducationForm, EducationForm,
CertificatesForm, CertificatesForm,
} from "@/modules/06_evaluate/interface/evalute"; } from "@/modules/06_evaluate/interface/evalute";
/** importComponents*/
import TableData from "@/modules/06_evaluate/components/viewstep/tableStep1.vue"; import TableData from "@/modules/06_evaluate/components/viewstep/tableStep1.vue";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import { useEvaluateDetailStore } from "@/modules/06_evaluate/stores/evaluteDetail"; import { useEvaluateDetailStore } from "@/modules/06_evaluate/stores/evaluteDetail";
/** use*/
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const store = useEvaluateDetailStore(); const store = useEvaluateDetailStore();
const $q = useQuasar(); const $q = useQuasar();
@ -55,6 +59,7 @@ const formDetail = reactive({
assessments: [], assessments: [],
}); });
/** function เรียกข้อมูลตรวจสอบคุณสมบัติ*/
async function fetchDetail() { async function fetchDetail() {
showLoader(); showLoader();
await http await http
@ -73,7 +78,6 @@ async function fetchDetail() {
formDetail.birthDate = data.birthDate && date2Thai(data.birthDate); formDetail.birthDate = data.birthDate && date2Thai(data.birthDate);
formDetail.govAge = data.govAge; formDetail.govAge = data.govAge;
formDetail.educations = data.educations; formDetail.educations = data.educations;
formDetail.certificates = data.certificates.map( formDetail.certificates = data.certificates.map(
(e: CertificatesForm) => ({ (e: CertificatesForm) => ({
certificateNo: e.certificateNo, certificateNo: e.certificateNo,
@ -194,6 +198,10 @@ async function fetchCheckSpec(data: any) {
formDetail.assessments = data.assessments; formDetail.assessments = data.assessments;
} }
/**
* function convertตวเลข
* @param x
*/
function formattedNumber(x: number) { function formattedNumber(x: number) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
} }
@ -205,38 +213,153 @@ onMounted(async () => {
</script> </script>
<template> <template>
<q-scroll-area style="height: 450px; max=width: 100%"> <q-scroll-area style="height: 500px">
<div class="q-pa-xs"> <q-card class="q-gutter-md" style="width: 690px;">
<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>
</div> <q-separator />
<q-separator />
<div class="row q-pa-sm"> <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 class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.fullName"
label="ชื่อ - นามสกุล"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
:model-value="formDetail.birthDate"
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="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 && 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="formDetail.prefix" :model-value="education.educationLevel"
label="คำนำหน้าชื่อ" label="ระดับศึกษา"
></q-input>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.fullName"
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
:model-value="formDetail.birthDate"
readonly readonly
label="วันเดือนปีเกิด" :model-value="education.institute"
label="สถานศึกษา"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
:model-value="date2Thai(education.startDate)"
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
: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" />
@ -246,33 +369,22 @@ onMounted(async () => {
<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="date2Thai(education.finishDate)"
readonly readonly
:model-value="formDetail.position" label="วันที่สำเร็จการศึกษา"
label="ตำแหน่ง" >
/> <template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</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="formDetail.posNo" :model-value="education.isEducation ? 'ใช่' : 'ไม่ใช่'"
label="ตำแหน่งเลขที่" 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>
@ -280,8 +392,8 @@ onMounted(async () => {
<q-input <q-input
borderless borderless
readonly readonly
:model-value="formDetail.positionLevel" :model-value="education.degree"
label="ระดับปัจจุบัน" label="วุฒิการศึกษา"
/> />
</div> </div>
@ -289,8 +401,16 @@ onMounted(async () => {
<q-input <q-input
borderless borderless
readonly readonly
:model-value="formDetail.positionLevel" :model-value="education.field"
label="ระดับที่ประเมิน" label="สาขาวิชา/ทาง"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="education.fundName"
label="ทุน"
/> />
</div> </div>
@ -298,211 +418,86 @@ onMounted(async () => {
<q-input <q-input
borderless borderless
readonly readonly
:model-value="formDetail.govAge" :model-value="education.gpa"
label="อายุราชการ" label="เกรดเฉลี่ย"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-6">
<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 v-if="formDetail.educations && 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">
<q-input
borderless
readonly
:model-value="education.educationLevel"
label="ระดับศึกษา"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="education.institute"
label="สถานศึกษา"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
:model-value="date2Thai(education.startDate)"
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
:model-value="date2Thai(education.endDate)"
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
:model-value="date2Thai(education.finishDate)"
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="education.isEducation ? 'ใช่' : 'ไม่ใช่'"
label="วุฒิการศึกษาในตําแหน่ง"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="education.degree"
label="วุฒิการศึกษา"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="education.field"
label="สาขาวิชา/ทาง"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="education.fundName"
label="ทุน"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="education.gpa"
label="เกรดเฉลี่ย"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-6">
<q-input
borderless
readonly
:model-value="education.country"
label="ประเทศ"
/>
</div>
</div>
</div>
<div v-else class="row col-12 q-pa-md">ไมประวการศกษา</div>
<q-separator />
</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="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> </q-card>
</div>
<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="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">-</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-scroll-area> </q-scroll-area>
</template> </template>

View file

@ -12,6 +12,10 @@ export const useEvaluateStore = defineStore("evaluateStore", () => {
const visibleColumns = ref<string[]>([]); const visibleColumns = ref<string[]>([]);
const row = ref<any>(); const row = ref<any>();
/**
* function
* @param data
*/
async function fetchEvaluateList(data: any) { async function fetchEvaluateList(data: any) {
const list = data.map((e: any) => ({ const list = data.map((e: any) => ({
id: e.id, id: e.id,
@ -43,6 +47,10 @@ export const useEvaluateStore = defineStore("evaluateStore", () => {
"เสร็จสิ้น", "เสร็จสิ้น",
]); ]);
/**
* function
* @param val
*/
function convertStatus(val: string) { function convertStatus(val: string) {
switch (val) { switch (val) {
case "CHECK_SPEC": case "CHECK_SPEC":

View file

@ -55,8 +55,6 @@ const maxPage = ref<number>(10);
/** function เรียกรายการประเมิน*/ /** function เรียกรายการประเมิน*/
async function fetchEvaluteList() { async function fetchEvaluteList() {
console.log("test");
showLoader(); showLoader();
const body = { const body = {
page: page.value, page: page.value,
@ -75,7 +73,6 @@ async function fetchEvaluteList() {
}) })
.finally(() => { .finally(() => {
hideLoader(); hideLoader();
console.log("test");
}); });
} }