ปรับ fe sprint2
This commit is contained in:
parent
8576f3c387
commit
0d6ff7be0a
83 changed files with 6932 additions and 2571 deletions
|
|
@ -18,9 +18,7 @@
|
|||
<q-menu>
|
||||
<q-list style="min-width: 100px">
|
||||
<q-item clickable v-close-popup @click="downloadExam()">
|
||||
<q-item-section class="text-blue"
|
||||
>ส่งออกข้อมูลผู้มีสิทธิ์สอบ</q-item-section
|
||||
>
|
||||
<q-item-section class="text-blue">ส่งออกข้อมูลผู้มีสิทธิ์สอบ</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="downloadPassExam()">
|
||||
<q-item-section class="text-primary"
|
||||
|
|
@ -48,7 +46,6 @@
|
|||
:visible-columns="visibleColumns"
|
||||
v-model:inputfilter="filter"
|
||||
v-model:inputvisible="visibleColumns"
|
||||
v-model:pagination="pagination"
|
||||
:nornmalData="false"
|
||||
:conclude="true"
|
||||
>
|
||||
|
|
@ -102,23 +99,12 @@
|
|||
</q-tr>
|
||||
</template>
|
||||
</Table>
|
||||
<div class="row justify-center q-mt-md">
|
||||
<q-pagination
|
||||
v-model="pagination.page"
|
||||
color="grey-8"
|
||||
:max="pagesNumber"
|
||||
:max-pages="5"
|
||||
size="sm"
|
||||
boundary-links
|
||||
direction-links
|
||||
></q-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import type { QTableProps } from "quasar";
|
||||
import { ref, onMounted, computed } from "vue";
|
||||
import { ref, onMounted } from "vue";
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
import type { RecruitDetailResponse } from "@/modules/03_recruiting/interface/response/Period";
|
||||
import Table from "@/modules/03_recruiting/components/Table.vue";
|
||||
|
|
@ -134,7 +120,7 @@ const router = useRouter();
|
|||
const route = useRoute();
|
||||
const { loaderPage } = dataStore;
|
||||
const mixin = useCounterMixin();
|
||||
const { messageError, showLoader, hideLoader } = mixin;
|
||||
const { messageError } = mixin;
|
||||
const year = ref<string>("");
|
||||
const round = ref<string>("");
|
||||
const name = ref<string>("");
|
||||
|
|
@ -326,18 +312,8 @@ const columns = ref<QTableProps["columns"]>([
|
|||
},
|
||||
]);
|
||||
|
||||
const pagination = ref({
|
||||
sortBy: "desc",
|
||||
descending: false,
|
||||
page: 1,
|
||||
rowsPerPage: 10,
|
||||
});
|
||||
const pagesNumber = computed(() => {
|
||||
return Math.ceil(rows.value.length / pagination.value.rowsPerPage);
|
||||
});
|
||||
|
||||
onMounted(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
await fetchData();
|
||||
});
|
||||
|
||||
|
|
@ -346,7 +322,7 @@ const clickDetail = (examID: string) => {
|
|||
};
|
||||
|
||||
const downloadExam = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.exportExam(importId.value), {
|
||||
responseType: "blob",
|
||||
|
|
@ -362,12 +338,12 @@ const downloadExam = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const downloadPassExam = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.exportPassExam(importId.value), {
|
||||
responseType: "blob",
|
||||
|
|
@ -383,12 +359,12 @@ const downloadPassExam = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const downloadPassResultExam = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.exportPassResultExam(importId.value), {
|
||||
responseType: "blob",
|
||||
|
|
@ -404,12 +380,12 @@ const downloadPassResultExam = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const fetchData = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.post(config.API.getExamResultById(importId.value), {
|
||||
examAttribute: "",
|
||||
|
|
@ -437,7 +413,7 @@ const fetchData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,237 +1,304 @@
|
|||
<!-- page:detail page สรรหา -->
|
||||
<template>
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
<q-btn
|
||||
icon="mdi-arrow-left"
|
||||
unelevated
|
||||
round
|
||||
dense
|
||||
flat
|
||||
color="primary"
|
||||
class="q-mr-sm"
|
||||
@click="router.go(-1)"
|
||||
/>
|
||||
รายละเอียดของผู้สมัครสอบ {{ examID }} : {{ prefix }}{{ fullname }}
|
||||
</div>
|
||||
<q-card flat bordered class="col-12 row q-mt-sm q-pa-md">
|
||||
<div class="row q-col-gutter-md col-12">
|
||||
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||
<q-card bordered flat class="col-12 q-pa-md">
|
||||
<div class="col-12 q-col-gutter-sm row items-center">
|
||||
<div class="col-12 text-weight-bold">ข้อมูลทั่วไป</div>
|
||||
<div class="col-6 text-grey-7" v-if="profile_id !== null">
|
||||
เลขประจำตัวประชาชน
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="profile_id !== null">
|
||||
{{ profile_id }}
|
||||
</div>
|
||||
<div class="toptitle text-dark col-12 row items-center">
|
||||
<q-btn
|
||||
icon="mdi-arrow-left"
|
||||
unelevated
|
||||
round
|
||||
dense
|
||||
flat
|
||||
color="primary"
|
||||
class="q-mr-sm"
|
||||
@click="router.go(-1)"
|
||||
/>
|
||||
รายละเอียดของผู้สมัครสอบ {{ examID }} : {{ prefix }}{{ fullname }}
|
||||
</div>
|
||||
<q-card flat bordered class="col-12 row q-mt-sm q-pa-md">
|
||||
<div class="row q-col-gutter-md col-12">
|
||||
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||
<q-card bordered flat class="col-12 q-pa-md">
|
||||
<div class="col-12 q-col-gutter-sm row items-center">
|
||||
<div class="col-12 text-weight-bold">ข้อมูลทั่วไป</div>
|
||||
<div
|
||||
class="col-6 text-grey-7"
|
||||
v-if="profile_id !== null"
|
||||
>
|
||||
เลขประจำตัวประชาชน
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-black"
|
||||
v-if="profile_id !== null"
|
||||
>
|
||||
{{ profile_id }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="prefix !== null">
|
||||
คำนำหน้านาม
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="prefix !== null">
|
||||
{{ prefix }}
|
||||
</div>
|
||||
<div class="col-6 text-grey-7" v-if="prefix !== null">
|
||||
คำนำหน้านาม
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="prefix !== null">
|
||||
{{ prefix }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="fullname !== null">
|
||||
ชื่อ-นามสกุล
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="fullname !== null">
|
||||
{{ fullname }}
|
||||
</div>
|
||||
<div class="col-6 text-grey-7" v-if="fullname !== null">
|
||||
ชื่อ-นามสกุล
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="fullname !== null">
|
||||
{{ fullname }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="birthdate !== null">
|
||||
วัน/เดือน/ปี เกิด
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="birthdate !== null">
|
||||
{{ birthdate }}
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-grey-7"
|
||||
v-if="birthdate !== null"
|
||||
>
|
||||
วัน/เดือน/ปี เกิด
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="birthdate !== null">
|
||||
{{ birthdate }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="gender !== null">เพศ</div>
|
||||
<div class="col-6 text-black" v-if="gender !== null">
|
||||
{{ gender }}
|
||||
</div>
|
||||
<div class="col-6 text-grey-7" v-if="gender !== null">
|
||||
เพศ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="gender !== null">
|
||||
{{ gender }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="position_name !== null">
|
||||
ตำแหน่งที่สมัคร
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="position_name !== null">
|
||||
{{ position_name }}
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-grey-7"
|
||||
v-if="position_name !== null"
|
||||
>
|
||||
ตำแหน่งที่สมัคร
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-black"
|
||||
v-if="position_name !== null"
|
||||
>
|
||||
{{ position_name }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="university !== null">
|
||||
สถานศึกษา
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="university !== null">
|
||||
{{ university }}
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-grey-7"
|
||||
v-if="university !== null"
|
||||
>
|
||||
สถานศึกษา
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-black"
|
||||
v-if="university !== null"
|
||||
>
|
||||
{{ university }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="degree !== null">
|
||||
วุฒิการศึกษา
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="degree !== null">
|
||||
{{ degree }}
|
||||
</div>
|
||||
<div class="col-6 text-grey-7" v-if="degree !== null">
|
||||
วุฒิการศึกษา
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="degree !== null">
|
||||
{{ degree }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="major !== null">
|
||||
สาขาวิชาเอก
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="major !== null">
|
||||
{{ major }}
|
||||
</div>
|
||||
<div class="col-6 text-grey-7" v-if="major !== null">
|
||||
สาขาวิชาเอก
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="major !== null">
|
||||
{{ major }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="major !== null">
|
||||
จำนวนครั้งที่สมัครสอบ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="major !== null">
|
||||
{{ examCount }}
|
||||
</div>
|
||||
<div class="col-6 text-grey-7" v-if="major !== null">
|
||||
จำนวนครั้งที่สมัครสอบ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="major !== null">
|
||||
{{ examCount }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="cert_issuedate !== null">
|
||||
ใบอนุญาตประกอบวิชาชีพ วัน เดือน ปีที่ได้รับ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="cert_issuedate !== null">
|
||||
{{ cert_issuedate }}
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-grey-7"
|
||||
v-if="cert_issuedate !== null"
|
||||
>
|
||||
ใบอนุญาตประกอบวิชาชีพ วัน เดือน ปีที่ได้รับ
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-black"
|
||||
v-if="cert_issuedate !== null"
|
||||
>
|
||||
{{ cert_issuedate }}
|
||||
</div>
|
||||
|
||||
<div class="col-6 text-grey-7" v-if="examAttribute !== null">
|
||||
สถานะการคัดกรองคุณสมบัติ
|
||||
</div>
|
||||
<div class="col-6 text-black" v-if="examAttribute !== null">
|
||||
{{ examAttribute }}
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||
<q-card
|
||||
bordered
|
||||
flat
|
||||
class="col-xs-12 col-sm-12 col-md-6 q-px-md q-py-sm full-height"
|
||||
>
|
||||
<div class="col-12 row q-col-gutter-sm">
|
||||
<div class="col-12 text-weight-bold row items-center">
|
||||
ผลการสอบ
|
||||
<q-space />
|
||||
<q-btn
|
||||
color="primary"
|
||||
flat
|
||||
round
|
||||
icon="mdi-download"
|
||||
v-if="examResultinscore === 'ผ่าน'"
|
||||
>
|
||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip>
|
||||
<q-menu>
|
||||
<q-list style="min-width: 100px">
|
||||
<q-item clickable v-close-popup @click="downloadScore()">
|
||||
<q-item-section class="text-primary"
|
||||
>ดาวน์โหลดผลคะแนน</q-item-section
|
||||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="downloadCertificate()"
|
||||
>
|
||||
<q-item-section class="text-blue"
|
||||
>ดาวน์โหลดเอกสารรับรอง</q-item-section
|
||||
>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-else
|
||||
color="blue"
|
||||
flat
|
||||
round
|
||||
icon="mdi-download"
|
||||
@click="downloadScore()"
|
||||
>
|
||||
<q-tooltip>ดาวน์โหลดผลคะแนน</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div class="row items-center q-gutter-y-sm col-12">
|
||||
<div class="col-xs-4 col-sm-5 text-weight-medium text-grey-7">
|
||||
ประเภท
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 text-primary text-weight-bold">
|
||||
คะแนนเต็ม
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 text-primary text-weight-bold">
|
||||
คะแนนที่ได้
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-2 col-sm-2 text-primary text-weight-bold"
|
||||
></div>
|
||||
<div
|
||||
class="col-6 text-grey-7"
|
||||
v-if="examAttribute !== null"
|
||||
>
|
||||
สถานะการคัดกรองคุณสมบัติ
|
||||
</div>
|
||||
<div
|
||||
class="col-6 text-black"
|
||||
v-if="examAttribute !== null"
|
||||
>
|
||||
{{ examAttribute }}
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-6">
|
||||
<q-card
|
||||
bordered
|
||||
flat
|
||||
class="col-xs-12 col-sm-12 col-md-6 q-px-md q-py-sm full-height"
|
||||
>
|
||||
<div class="col-12 row q-col-gutter-sm">
|
||||
<div class="col-12 text-weight-bold row items-center">
|
||||
ผลการสอบ
|
||||
<q-space />
|
||||
<q-btn
|
||||
color="primary"
|
||||
flat
|
||||
round
|
||||
icon="mdi-download"
|
||||
v-if="examResultinscore === 'ผ่าน'"
|
||||
>
|
||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip>
|
||||
<q-menu>
|
||||
<q-list style="min-width: 100px">
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="downloadScore()"
|
||||
>
|
||||
<q-item-section class="text-primary"
|
||||
>ดาวน์โหลดผลคะแนน</q-item-section
|
||||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="downloadCertificate()"
|
||||
>
|
||||
<q-item-section class="text-blue"
|
||||
>ดาวน์โหลดเอกสารรับรอง</q-item-section
|
||||
>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
v-else
|
||||
color="blue"
|
||||
flat
|
||||
round
|
||||
icon="mdi-download"
|
||||
@click="downloadScore()"
|
||||
>
|
||||
<q-tooltip>ดาวน์โหลดผลคะแนน</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<div class="row items-center q-gutter-y-sm col-12">
|
||||
<div
|
||||
class="col-xs-4 col-sm-5 text-weight-medium text-grey-7"
|
||||
>
|
||||
ประเภท
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-3 col-sm-2 text-primary text-weight-bold"
|
||||
>
|
||||
คะแนนเต็ม
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-3 col-sm-2 text-primary text-weight-bold"
|
||||
>
|
||||
คะแนนที่ได้
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-2 col-sm-2 text-primary text-weight-bold"
|
||||
></div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค ก</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreAFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreA }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
ภาค ก
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreAFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreA }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">
|
||||
คะแนน
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค ข</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreBFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreB }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
ภาค ข
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreBFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreB }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">
|
||||
คะแนน
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค ค</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreCFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreC }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
ภาค ค
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreCFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreC }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">
|
||||
คะแนน
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">รวมทั้งหมด</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreSumFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreSum }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
|
||||
<div class="col-xs-4 col-sm-5 text-grey-7">
|
||||
รวมทั้งหมด
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreSumFull }}
|
||||
</div>
|
||||
<div class="col-xs-3 col-sm-2 q-pr-xs">
|
||||
{{ scoreSum }}
|
||||
</div>
|
||||
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">
|
||||
คะแนน
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-sm-5 text-weight-bold q-pt-sm">
|
||||
ผลการสอบ
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-8 col-sm-6 q-pr-xs text-weight-bold text-subtitle1"
|
||||
>
|
||||
<span
|
||||
:class="
|
||||
examResultinscore != 'ผ่าน' ? 'text-red' : 'text-positive'
|
||||
"
|
||||
>{{ examResultinscore }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-4 col-sm-5 text-weight-bold q-pt-sm"
|
||||
>
|
||||
ผลการสอบ
|
||||
</div>
|
||||
<div
|
||||
class="col-xs-8 col-sm-6 q-pr-xs text-weight-bold text-subtitle1"
|
||||
>
|
||||
<span
|
||||
:class="
|
||||
examResultinscore != 'ผ่าน'
|
||||
? 'text-red'
|
||||
: 'text-positive'
|
||||
"
|
||||
>{{ examResultinscore }}</span
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-6 col-sm-5 text-grey-7">ลำดับที่สอบได้</div>
|
||||
<div class="col-xs-6 col-sm-7 q-pr-xs">
|
||||
{{ number }}
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-5 text-grey-7">
|
||||
ลำดับที่สอบได้
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-7 q-pr-xs">
|
||||
{{ number }}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-6 col-sm-5 text-grey-7">
|
||||
วันหมดอายุบัญชีสอบแข่งขัน
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-7 q-pr-xs">
|
||||
{{ score_expired }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
<div class="col-xs-6 col-sm-5 text-grey-7">
|
||||
วันหมดอายุบัญชีสอบแข่งขัน
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-7 q-pr-xs">
|
||||
{{ score_expired }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
|
|
@ -269,7 +336,7 @@ const examCount = ref<string>("");
|
|||
const number = ref<string>("");
|
||||
const score_expired = ref<string>("");
|
||||
const mixin = useCounterMixin();
|
||||
const { messageError, showLoader, hideLoader } = mixin;
|
||||
const { messageError } = mixin;
|
||||
const examID = ref<string>("62150001");
|
||||
const prefix = ref<string>("นาย");
|
||||
const fullname = ref<string>("เกียรติศักดิ์ บัณฑิต");
|
||||
|
|
@ -277,91 +344,95 @@ const importId = ref<string>(route.params.id as string); // Period Import Id
|
|||
const examId = ref<string>(route.params.examId as string); // เลขประจำตัวสอบ
|
||||
|
||||
onMounted(async () => {
|
||||
await fetchData();
|
||||
await fetchData();
|
||||
});
|
||||
|
||||
const fetchData = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.getExamDetail(importId.value, examId.value))
|
||||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.getExamDetail(importId.value, examId.value))
|
||||
.then((res) => {
|
||||
let data = res.data.result;
|
||||
|
||||
profile_id.value = data.profileID;
|
||||
examID.value = data.examID;
|
||||
prefix.value = data.prefix;
|
||||
fullname.value = data.fullName;
|
||||
birthdate.value = data.dateOfBirth;
|
||||
gender.value = data.gender;
|
||||
degree.value = data.degree;
|
||||
major.value = data.major;
|
||||
university.value = data.university;
|
||||
position_name.value = data.positionName;
|
||||
cert_issuedate.value = data.certificateIssueDate;
|
||||
examAttribute.value = data.examAttribute;
|
||||
number.value = data.number;
|
||||
examCount.value = data.examCount;
|
||||
score_expired.value = data.scoreExpire;
|
||||
if (data.scoreResult != null) {
|
||||
scoreAFull.value = data.scoreResult.scoreAFull;
|
||||
scoreA.value = data.scoreResult.scoreA;
|
||||
scoreBFull.value = data.scoreResult.scoreBFull;
|
||||
scoreB.value = data.scoreResult.scoreB;
|
||||
scoreCFull.value = data.scoreResult.scoreCFull;
|
||||
scoreC.value = data.scoreResult.scoreC;
|
||||
scoreSumFull.value = data.scoreResult.scoreSumFull;
|
||||
scoreSum.value = data.scoreResult.scoreSum;
|
||||
examResultinscore.value = data.scoreResult.examResult;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
profile_id.value = data.profileID;
|
||||
examID.value = data.examID;
|
||||
prefix.value = data.prefix;
|
||||
fullname.value = data.fullName;
|
||||
birthdate.value = data.dateOfBirth;
|
||||
gender.value = data.gender;
|
||||
degree.value = data.degree;
|
||||
major.value = data.major;
|
||||
university.value = data.university;
|
||||
position_name.value = data.positionName;
|
||||
cert_issuedate.value = data.certificateIssueDate;
|
||||
examAttribute.value = data.examAttribute;
|
||||
number.value = data.number;
|
||||
examCount.value = data.examCount;
|
||||
score_expired.value = data.scoreExpire;
|
||||
if (data.scoreResult != null) {
|
||||
scoreAFull.value = data.scoreResult.scoreAFull;
|
||||
scoreA.value = data.scoreResult.scoreA;
|
||||
scoreBFull.value = data.scoreResult.scoreBFull;
|
||||
scoreB.value = data.scoreResult.scoreB;
|
||||
scoreCFull.value = data.scoreResult.scoreCFull;
|
||||
scoreC.value = data.scoreResult.scoreC;
|
||||
scoreSumFull.value = data.scoreResult.scoreSumFull;
|
||||
scoreSum.value = data.scoreResult.scoreSum;
|
||||
examResultinscore.value = data.scoreResult.examResult;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const downloadScore = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.downloadScoreReport(importId.value, examId.value), {
|
||||
responseType: "blob",
|
||||
})
|
||||
.then((res) => {
|
||||
var a = document.createElement("a");
|
||||
a.href = URL.createObjectURL(res.data);
|
||||
a.download = `ผลคะแนน_${examId.value}.pdf`;
|
||||
// start download
|
||||
a.click();
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.downloadScoreReport(importId.value, examId.value), {
|
||||
responseType: "blob",
|
||||
})
|
||||
.then((res) => {
|
||||
var a = document.createElement("a");
|
||||
a.href = URL.createObjectURL(res.data);
|
||||
a.download = `ผลคะแนน_${examId.value}.pdf`;
|
||||
// start download
|
||||
a.click();
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const downloadCertificate = async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.downloadExamReport(importId.value, examId.value, 2), {
|
||||
responseType: "blob",
|
||||
})
|
||||
.then((res) => {
|
||||
var a = document.createElement("a");
|
||||
a.href = URL.createObjectURL(res.data);
|
||||
a.download = `เอกสารรับรอง_${examId.value}.pdf`;
|
||||
// start download
|
||||
a.click();
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
loaderPage(true);
|
||||
let type = degree.value.includes("บัณฑิต") ? 2 : 1;
|
||||
await http
|
||||
.get(
|
||||
config.API.downloadExamReport(importId.value, examId.value, type),
|
||||
{
|
||||
responseType: "blob",
|
||||
}
|
||||
)
|
||||
.then((res) => {
|
||||
var a = document.createElement("a");
|
||||
a.href = URL.createObjectURL(res.data);
|
||||
a.download = `เอกสารรับรอง_${examId.value}.pdf`;
|
||||
// start download
|
||||
a.click();
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -316,10 +316,7 @@
|
|||
<q-dialog v-model="modalCandidate" persistent>
|
||||
<q-card style="width: 600px">
|
||||
<q-form ref="myFormScore">
|
||||
<DialogHeader
|
||||
:tittle="textTittleCandidate"
|
||||
:close="clickCloseCandidate"
|
||||
/>
|
||||
<DialogHeader :tittle="textTittleCandidate" :close="clickCloseCandidate" />
|
||||
<q-separator />
|
||||
<q-card-section>
|
||||
<div class="col-12 row items-center q-col-gutter-sm">
|
||||
|
|
@ -382,7 +379,7 @@ const name = ref<string>("");
|
|||
const year = ref<number>(new Date().getFullYear() + 543);
|
||||
const order = ref<number>(1);
|
||||
const mixin = useCounterMixin();
|
||||
const { success, dateToISO, dateText, showLoader, hideLoader } = mixin;
|
||||
const { success, dateToISO, dateText } = mixin;
|
||||
const files = ref<any>(null);
|
||||
const files_score = ref<any>(null);
|
||||
const files_candidate = ref<any>(null);
|
||||
|
|
@ -554,7 +551,7 @@ const visibleColumnsHistory = ref<String[]>([
|
|||
]);
|
||||
|
||||
onMounted(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
await fetchData();
|
||||
});
|
||||
|
||||
|
|
@ -567,7 +564,7 @@ const textDate = (value: Date) => {
|
|||
};
|
||||
|
||||
const fetchData = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.getCandidates)
|
||||
.then((res) => {
|
||||
|
|
@ -589,7 +586,7 @@ const fetchData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -623,7 +620,7 @@ const clickEditPeriod = (id: string) => {
|
|||
|
||||
const clickHistory = async (id: string) => {
|
||||
modalHistory.value = true;
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.getImportHistory(id))
|
||||
.then((res) => {
|
||||
|
|
@ -652,7 +649,7 @@ const clickHistory = async (id: string) => {
|
|||
statusCode.value = e.response.data.status;
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -667,7 +664,7 @@ const clickDelete = (id: string) => {
|
|||
persistent: true,
|
||||
})
|
||||
.onOk(async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.delete(config.API.deleteCandidates(id))
|
||||
.then((res) => {
|
||||
|
|
@ -678,7 +675,7 @@ const clickDelete = (id: string) => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
})
|
||||
.onCancel(() => {})
|
||||
|
|
@ -707,7 +704,7 @@ const clickCloseCandidate = async () => {
|
|||
const checkSaveCandidate = async () => {
|
||||
const fd = new FormData();
|
||||
fd.append("attachment", files_candidate.value[0]);
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.post(config.API.uploadCandidates(selected_row_id.value), fd)
|
||||
.then((res) => {
|
||||
|
|
@ -720,14 +717,14 @@ const checkSaveCandidate = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const checkSaveScore = async () => {
|
||||
const fd = new FormData();
|
||||
fd.append("attachment", files_score.value[0]);
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.post(config.API.saveScores(selected_row_id.value), fd)
|
||||
.then((res) => {
|
||||
|
|
@ -740,7 +737,7 @@ const checkSaveScore = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -750,7 +747,7 @@ const checkSave = async () => {
|
|||
fd.append("year", year.value.toString());
|
||||
fd.append("order", order.value.toString());
|
||||
fd.append("name", name.value);
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.post(config.API.saveCandidates, fd)
|
||||
.then((res) => {
|
||||
|
|
@ -762,7 +759,7 @@ const checkSave = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -112,8 +112,9 @@
|
|||
outlined
|
||||
dense
|
||||
class="full-width datepicker q-mb-md"
|
||||
:model-value="date2Thai(dateExam)"
|
||||
:model-value="dateExam != null ? date2Thai(dateExam) : null"
|
||||
:label="`${'วันที่สอบ'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่สอบ'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
|
|
@ -149,8 +150,13 @@
|
|||
outlined
|
||||
dense
|
||||
class="full-width datepicker q-mb-md"
|
||||
:model-value="dateThaiRange(dateAnnouncement)"
|
||||
:model-value="
|
||||
dateAnnouncement != null
|
||||
? dateThaiRange(dateAnnouncement)
|
||||
: null
|
||||
"
|
||||
:label="`${'วันที่ประกาศ'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่ประกาศ'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
|
|
@ -186,8 +192,11 @@
|
|||
outlined
|
||||
dense
|
||||
class="full-width datepicker q-mb-md"
|
||||
:model-value="dateThaiRange(dateRegister)"
|
||||
:model-value="
|
||||
dateRegister != null ? dateThaiRange(dateRegister) : null
|
||||
"
|
||||
:label="`${'วันที่สมัคร'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่สมัคร'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
|
|
@ -223,8 +232,11 @@
|
|||
outlined
|
||||
dense
|
||||
class="full-width datepicker q-mb-md"
|
||||
:model-value="dateThaiRange(datePayment)"
|
||||
:model-value="
|
||||
datePayment != null ? dateThaiRange(datePayment) : null
|
||||
"
|
||||
:label="`${'วันที่ชำระเงิน'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันที่ชำระเงิน'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
|
|
@ -260,8 +272,11 @@
|
|||
outlined
|
||||
dense
|
||||
class="full-width datepicker q-mb-md"
|
||||
:model-value="date2Thai(dateAnnounce)"
|
||||
:model-value="
|
||||
dateAnnounce != null ? date2Thai(dateAnnounce) : null
|
||||
"
|
||||
:label="`${'วันประกาศผลสอบ'}`"
|
||||
:rules="[(val) => !!val || `${'กรุณาเลือกวันประกาศผลสอบ'}`]"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
|
|
@ -669,8 +684,7 @@ const $q = useQuasar(); // show dialog
|
|||
const mixin = useCounterMixin();
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const { date2Thai, success, dateToISO, notifyError, showLoader, hideLoader } =
|
||||
mixin;
|
||||
const { date2Thai, success, dateToISO, notifyError } = mixin;
|
||||
const myForm = ref<QForm | null>(null); //form data input
|
||||
const name = ref<string>("");
|
||||
const note = ref<string>("");
|
||||
|
|
@ -679,11 +693,11 @@ const announcementExam = ref<boolean>(true);
|
|||
const fee = ref<number>(0);
|
||||
const round = ref<number>(1);
|
||||
const yearly = ref<number>(new Date().getFullYear());
|
||||
const dateRegister = ref<[Date, Date]>([new Date(), new Date()]); //วันที่สมัคร
|
||||
const datePayment = ref<[Date, Date]>([new Date(), new Date()]); //วันที่จ่ายเงิน
|
||||
const dateAnnouncement = ref<[Date, Date]>([new Date(), new Date()]); //วันที่ประกาศ
|
||||
const dateExam = ref<Date>(new Date()); //วันที่สอบ
|
||||
const dateAnnounce = ref<Date>(new Date()); //วันที่ประกาศผล
|
||||
const dateRegister = ref<[Date, Date] | null>(null); //วันที่สมัคร
|
||||
const datePayment = ref<[Date, Date] | null>(null); //วันที่จ่ายเงิน
|
||||
const dateAnnouncement = ref<[Date, Date] | null>(null); //วันที่ประกาศ
|
||||
const dateExam = ref<Date | null>(null); //วันที่สอบ
|
||||
const dateAnnounce = ref<Date | null>(null); //วันที่ประกาศผล
|
||||
const positionPathOptions = ref<DataOption[]>([]);
|
||||
const organizationShortName = ref<DataOption>({ id: "", name: "" });
|
||||
const organizationName = ref<DataOption>({ id: "", name: "" });
|
||||
|
|
@ -766,7 +780,7 @@ watch(organizationName, (count: DataOption, prevCount: DataOption) => {
|
|||
});
|
||||
|
||||
onMounted(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
if (route.params.id != undefined) {
|
||||
edit.value = true;
|
||||
id.value = route.params.id.toString();
|
||||
|
|
@ -781,7 +795,7 @@ const clickBack = () => {
|
|||
};
|
||||
|
||||
const fetchData = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.get(config.API.getPeriodById(id.value))
|
||||
.then((res) => {
|
||||
|
|
@ -794,22 +808,27 @@ const fetchData = async () => {
|
|||
round.value = data.order;
|
||||
yearly.value = data.year;
|
||||
fee.value = data.fee;
|
||||
dateAnnouncement.value = [
|
||||
new Date(data.announcementStartDate),
|
||||
new Date(data.announcementEndDate),
|
||||
];
|
||||
dateExam.value = new Date(data.examDate);
|
||||
dateRegister.value = [
|
||||
new Date(data.registerStartDate),
|
||||
new Date(data.registerEndDate),
|
||||
];
|
||||
datePayment.value = [
|
||||
new Date(data.paymentStartDate),
|
||||
new Date(data.paymentEndDate),
|
||||
];
|
||||
dateAnnouncement.value =
|
||||
data.announcementStartDate != null && data.announcementEndDate != null
|
||||
? [
|
||||
new Date(data.announcementStartDate),
|
||||
new Date(data.announcementEndDate),
|
||||
]
|
||||
: null;
|
||||
dateExam.value = data.examDate != null ? new Date(data.examDate) : null;
|
||||
dateRegister.value =
|
||||
data.registerStartDate != null && data.registerEndDate != null
|
||||
? [new Date(data.registerStartDate), new Date(data.registerEndDate)]
|
||||
: null;
|
||||
datePayment.value =
|
||||
data.paymentStartDate != null && data.paymentEndDate != null
|
||||
? [new Date(data.paymentStartDate), new Date(data.paymentEndDate)]
|
||||
: null;
|
||||
|
||||
editor.value = data.detail;
|
||||
note.value = data.note;
|
||||
dateAnnounce.value = new Date(data.announcementDate);
|
||||
dateAnnounce.value =
|
||||
data.announcementDate != null ? new Date(data.announcementDate) : null;
|
||||
|
||||
fileDocs.value = files;
|
||||
fileImgs.value = images;
|
||||
|
|
@ -818,7 +837,7 @@ const fetchData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -845,7 +864,7 @@ const uploadDocData = async () => {
|
|||
fileDocDataUpload.value.forEach((file: any) => {
|
||||
formData.append("", file);
|
||||
});
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.put(config.API.periodRecruitDoc(id.value), formData)
|
||||
.then((res) => {})
|
||||
|
|
@ -853,7 +872,7 @@ const uploadDocData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
clickBack();
|
||||
});
|
||||
|
|
@ -869,7 +888,7 @@ const uploadImgData = async () => {
|
|||
fileImgDataUpload.value.forEach((file: any) => {
|
||||
formData.append("", file);
|
||||
});
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.put(config.API.periodRecruitImg(id.value), formData)
|
||||
.then((res) => {})
|
||||
|
|
@ -877,7 +896,7 @@ const uploadImgData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
@ -923,27 +942,38 @@ const checkSave = async () => {
|
|||
|
||||
const sendData = () => {
|
||||
const valueData: RequestPeriodCompete = {
|
||||
announcementEndDate: dateToISO(dateAnnouncement.value[1]),
|
||||
announcementStartDate: dateToISO(dateAnnouncement.value[0]),
|
||||
examDate: dateToISO(dateExam.value),
|
||||
announcementEndDate:
|
||||
dateAnnouncement.value !== null
|
||||
? dateToISO(dateAnnouncement.value[1])
|
||||
: null,
|
||||
announcementStartDate:
|
||||
dateAnnouncement.value !== null
|
||||
? dateToISO(dateAnnouncement.value[0])
|
||||
: null,
|
||||
examDate: dateExam.value !== null ? dateToISO(dateExam.value) : null,
|
||||
detail: editor.value,
|
||||
fee: fee.value,
|
||||
id: "",
|
||||
name: name.value,
|
||||
note: note.value,
|
||||
paymentEndDate: dateToISO(datePayment.value[1]),
|
||||
paymentStartDate: dateToISO(datePayment.value[0]),
|
||||
registerEndDate: dateToISO(dateRegister.value[1]),
|
||||
registerStartDate: dateToISO(dateRegister.value[0]),
|
||||
paymentEndDate:
|
||||
datePayment.value !== null ? dateToISO(datePayment.value[1]) : null,
|
||||
paymentStartDate:
|
||||
datePayment.value !== null ? dateToISO(datePayment.value[0]) : null,
|
||||
registerEndDate:
|
||||
dateRegister.value !== null ? dateToISO(dateRegister.value[1]) : null,
|
||||
registerStartDate:
|
||||
dateRegister.value !== null ? dateToISO(dateRegister.value[0]) : null,
|
||||
order: round.value,
|
||||
year: yearly.value,
|
||||
announcementDate: dateToISO(dateAnnounce.value),
|
||||
announcementDate:
|
||||
dateAnnounce.value !== null ? dateToISO(dateAnnounce.value) : null,
|
||||
};
|
||||
return valueData;
|
||||
};
|
||||
|
||||
const deleteDocData = async (docId: string) => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.delete(config.API.periodDeleteDoc(docId))
|
||||
.then(async () => {
|
||||
|
|
@ -953,12 +983,12 @@ const deleteDocData = async (docId: string) => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const deleteImgData = async (docId: string) => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.delete(config.API.periodDeleteImg(docId))
|
||||
.then(async () => {
|
||||
|
|
@ -968,12 +998,12 @@ const deleteImgData = async (docId: string) => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const addData = async () => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.post(config.API.savePeriod, sendData())
|
||||
.then(async (res) => {
|
||||
|
|
@ -986,12 +1016,12 @@ const addData = async () => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
const editData = async (id: string) => {
|
||||
showLoader();
|
||||
loaderPage(true);
|
||||
await http
|
||||
.put(config.API.editPeriod(id), sendData())
|
||||
.then(async () => {
|
||||
|
|
@ -1002,7 +1032,7 @@ const editData = async (id: string) => {
|
|||
messageError($q, e);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
loaderPage(false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue