ต่อ api รายละเอียดการประเมินของ
This commit is contained in:
parent
cab89c78f3
commit
4521f80918
17 changed files with 1226 additions and 191 deletions
|
|
@ -1,6 +1,24 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from "vue";
|
||||
import axios from "axios";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useQuasar } from "quasar";
|
||||
import keycloak from "@/plugins/keycloak";
|
||||
|
||||
import genReport from "@/plugins/genreport";
|
||||
|
||||
const fullName = ref<string>(
|
||||
keycloak.tokenParsed ? keycloak.tokenParsed.name!.toString() : ""
|
||||
);
|
||||
const $q = useQuasar();
|
||||
const mixin = useCounterMixin();
|
||||
const { date2Thai, showLoader, hideLoader, messageError, success } = mixin;
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const id = ref<string>(route.params.id as string);
|
||||
const modalConfirm = ref<boolean>(false);
|
||||
const modalView = ref<boolean>(false);
|
||||
const pdfSrc = ref<any>();
|
||||
|
|
@ -9,33 +27,26 @@ const nameOfWork = ref<string>("");
|
|||
const nameOfOwner = ref<string>("");
|
||||
const position = ref<string>("");
|
||||
const status = ref<string>("WAIT_CHECK_DOC_V2");
|
||||
const fileEvaluation91 = ref<any>();
|
||||
const fileEvaluation92 = ref<any>();
|
||||
const fileEvaluation93 = ref<any>();
|
||||
const fileEvaluation94 = ref<any>();
|
||||
const fileEvaluation95 = ref<any>();
|
||||
const fileEvaluation96 = ref<any>();
|
||||
const fileEvaluation81 = ref<any>();
|
||||
const fileEvaluation82 = ref<any>();
|
||||
const fileEvaluation83 = ref<any>();
|
||||
const fileEvaluation84 = ref<any>();
|
||||
const fileEvaluation85 = ref<any>();
|
||||
const fileEvaluation86 = ref<any>();
|
||||
|
||||
async function onClickDowloadFile(
|
||||
tp: string,
|
||||
templateName: string,
|
||||
fileName: string
|
||||
) {
|
||||
// showLoader();
|
||||
// const data = Object.assign(
|
||||
// { fullName: fullName.value },
|
||||
// tp === "EV1_005" || tp === "EV1_007"
|
||||
// ? { organizationName: "หน่วยงาน" }
|
||||
// : null,
|
||||
// tp === "EV1_007" ? { positionName: "ตำแหน่ง" } : null,
|
||||
// tp === "EV1_007" ? { positionLeaveName: "ระดับ" } : null
|
||||
// );
|
||||
// const body = {
|
||||
// template: tp,
|
||||
// reportName: templateName,
|
||||
// data: data,
|
||||
// };
|
||||
// await genReport(body, fileName);
|
||||
showLoader();
|
||||
|
||||
const body = {
|
||||
template: tp,
|
||||
reportName: templateName,
|
||||
data:{}
|
||||
};
|
||||
await genReport(body, fileName);
|
||||
}
|
||||
|
||||
function onClickViewPDF(file: any) {
|
||||
|
|
@ -46,6 +57,113 @@ function onClickViewPDF(file: any) {
|
|||
function openConfirmEvalution() {
|
||||
modalConfirm.value = true;
|
||||
}
|
||||
|
||||
function upLoadFile(name: string, file: any) {
|
||||
showLoader();
|
||||
http
|
||||
.post(config.API.evaluationFileListbyId("เล่ม 2", id.value), {
|
||||
fileList: {
|
||||
fileName: name,
|
||||
metadata: {
|
||||
tag: "value",
|
||||
},
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
const foundKey: any = Object.keys(res.data).find(
|
||||
(key) =>
|
||||
res.data[key]?.fileName !== undefined &&
|
||||
res.data[key]?.fileName !== ""
|
||||
);
|
||||
const link = res.data[foundKey]?.uploadUrl;
|
||||
fileUpLoad(link, file);
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
|
||||
function fileUpLoad(url: string, file: any) {
|
||||
axios
|
||||
.put(url, file, {
|
||||
headers: { "Content-Type": file?.type },
|
||||
onUploadProgress: (e) => console.log(e),
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
fileEvaluation81.value = null;
|
||||
fileEvaluation82.value = null;
|
||||
fileEvaluation83.value = null;
|
||||
fileEvaluation84.value = null;
|
||||
fileEvaluation85.value = null;
|
||||
fileEvaluation86.value = null;
|
||||
success($q, "อัปโหลดไฟล์สำเร็จ");
|
||||
});
|
||||
}
|
||||
|
||||
function downloadFile() {
|
||||
showLoader();
|
||||
http
|
||||
.get(config.API.evaluationFilebyId("เล่ม 2", id.value, '2-เอกสารเล่ม 2 (ฉบับแก้ไข)'))
|
||||
.then((res) => {
|
||||
const link = res.data.downloadUrl;
|
||||
const type = res.data.fileType;
|
||||
const fileName = res.data.fileName;
|
||||
getPDF(link, type, fileName);
|
||||
})
|
||||
.catch((e) => {})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
|
||||
function getPDF(url: string, type: string, fileName: string) {
|
||||
axios
|
||||
.get(url, {
|
||||
method: "GET",
|
||||
responseType: "blob",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Accept: type, // ถ้ามีการระบุเมื่ออัปโหลด
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
console.log(res);
|
||||
const a = document.createElement("a");
|
||||
a.href = window.URL.createObjectURL(res.data);
|
||||
a.download = fileName;
|
||||
// a.download = res.data.fileName + `.${mime.getExtension(res.data.fileType)}`
|
||||
a.click();
|
||||
})
|
||||
.catch((e) => {})
|
||||
.finally(() => {});
|
||||
}
|
||||
|
||||
function confirmApprove(){
|
||||
const data = {
|
||||
metadata: {
|
||||
additionalProp1: nameOfWork.value,
|
||||
additionalProp2: nameOfOwner.value,
|
||||
additionalProp3: position.value,
|
||||
},
|
||||
}
|
||||
showLoader()
|
||||
http
|
||||
.patch(config.API.evaluationPatchData('เล่ม 2',id.value,'2-เอกสารเล่ม 2 (ฉบับแก้ไข)'),data)
|
||||
.then((res)=>{
|
||||
console.log(res)
|
||||
}).catch((e)=>{
|
||||
messageError($q,e)
|
||||
}).finally(()=>{
|
||||
modalConfirm.value = false
|
||||
hideLoader()
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -78,9 +196,9 @@ function openConfirmEvalution() {
|
|||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
'เอกสารแบบ ค',
|
||||
'template-4',
|
||||
'เอกสารแบบ ค'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -89,20 +207,20 @@ function openConfirmEvalution() {
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 row">
|
||||
<q-btn
|
||||
v-if="fileEvaluation91"
|
||||
v-if="fileEvaluation81"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF(fileEvaluation91)"
|
||||
@click="onClickViewPDF(fileEvaluation81)"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation91"
|
||||
v-model="fileEvaluation81"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -110,6 +228,7 @@ function openConfirmEvalution() {
|
|||
lazy-rules
|
||||
label="อัปโหลดไฟล์"
|
||||
accept=".pdf"
|
||||
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
|
|
@ -123,6 +242,12 @@ function openConfirmEvalution() {
|
|||
dense
|
||||
color="primary"
|
||||
icon="mdi-upload"
|
||||
@click="
|
||||
upLoadFile(
|
||||
'แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลประกอบการประเมินผลงาน (เอกสารแบบ ค)',
|
||||
fileEvaluation81
|
||||
)
|
||||
"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
@ -149,9 +274,9 @@ function openConfirmEvalution() {
|
|||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
'เอกสารหมายเลข 15',
|
||||
'template-4',
|
||||
'เอกสารหมายเลข 15'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -160,20 +285,20 @@ function openConfirmEvalution() {
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 row">
|
||||
<q-btn
|
||||
v-if="fileEvaluation92"
|
||||
v-if="fileEvaluation82"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF(fileEvaluation92)"
|
||||
@click="onClickViewPDF(fileEvaluation82)"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation92"
|
||||
v-model="fileEvaluation82"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -181,6 +306,7 @@ function openConfirmEvalution() {
|
|||
lazy-rules
|
||||
label="อัปโหลดไฟล์"
|
||||
accept=".pdf"
|
||||
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
|
|
@ -194,6 +320,12 @@ function openConfirmEvalution() {
|
|||
dense
|
||||
color="primary"
|
||||
icon="mdi-upload"
|
||||
@click="
|
||||
upLoadFile(
|
||||
'บัญชีแสดงการรับ-ส่งผลงาน (เอกสารหมายเลข 15)',
|
||||
fileEvaluation82
|
||||
)
|
||||
"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
@ -220,9 +352,9 @@ function openConfirmEvalution() {
|
|||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
'เอกสารหมายเลข 16',
|
||||
'template-4',
|
||||
'เอกสารหมายเลข 16'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -231,20 +363,20 @@ function openConfirmEvalution() {
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 row">
|
||||
<q-btn
|
||||
v-if="fileEvaluation93"
|
||||
v-if="fileEvaluation83"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF(fileEvaluation93)"
|
||||
@click="onClickViewPDF(fileEvaluation83)"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation93"
|
||||
v-model="fileEvaluation83"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -265,6 +397,12 @@ function openConfirmEvalution() {
|
|||
dense
|
||||
color="primary"
|
||||
icon="mdi-upload"
|
||||
@click="
|
||||
upLoadFile(
|
||||
'แบบประเมินผลงาน (เอกสารหมายเลข 16)',
|
||||
fileEvaluation83
|
||||
)
|
||||
"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
@ -291,9 +429,9 @@ function openConfirmEvalution() {
|
|||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
'เอกสารหมายเลข 17',
|
||||
'template-4',
|
||||
'เอกสารหมายเลข 17'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -302,20 +440,20 @@ function openConfirmEvalution() {
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 row">
|
||||
<q-btn
|
||||
v-if="fileEvaluation94"
|
||||
v-if="fileEvaluation84"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF(fileEvaluation94)"
|
||||
@click="onClickViewPDF(fileEvaluation84)"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation94"
|
||||
v-model="fileEvaluation84"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -336,6 +474,12 @@ function openConfirmEvalution() {
|
|||
dense
|
||||
color="primary"
|
||||
icon="mdi-upload"
|
||||
@click="
|
||||
upLoadFile(
|
||||
'แบบแสดงการประเมินผลงาน (เอกสารหมายเลข 17)',
|
||||
fileEvaluation84
|
||||
)
|
||||
"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
@ -362,9 +506,9 @@ function openConfirmEvalution() {
|
|||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
'เอกสารหมายเลข 18',
|
||||
'template-4',
|
||||
'เอกสารหมายเลข 18'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -373,20 +517,20 @@ function openConfirmEvalution() {
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 row">
|
||||
<q-btn
|
||||
v-if="fileEvaluation95"
|
||||
v-if="fileEvaluation85"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF(fileEvaluation95)"
|
||||
@click="onClickViewPDF(fileEvaluation85)"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation95"
|
||||
v-model="fileEvaluation85"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -407,6 +551,12 @@ function openConfirmEvalution() {
|
|||
dense
|
||||
color="primary"
|
||||
icon="mdi-upload"
|
||||
@click="
|
||||
upLoadFile(
|
||||
'แบบรายงานผลการประเมินบุคคล (เอกสารหมายเลข 18)',
|
||||
fileEvaluation85
|
||||
)
|
||||
"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
@ -433,9 +583,9 @@ function openConfirmEvalution() {
|
|||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
'เอกสารแบบ ง',
|
||||
'template-4',
|
||||
'เอกสารแบบ ง'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -444,20 +594,20 @@ function openConfirmEvalution() {
|
|||
</div>
|
||||
<div class="col-xs-12 col-sm-6 row">
|
||||
<q-btn
|
||||
v-if="fileEvaluation96"
|
||||
v-if="fileEvaluation86"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF(fileEvaluation96)"
|
||||
@click="onClickViewPDF(fileEvaluation86)"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation96"
|
||||
v-model="fileEvaluation86"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
|
|
@ -478,6 +628,12 @@ function openConfirmEvalution() {
|
|||
dense
|
||||
color="primary"
|
||||
icon="mdi-upload"
|
||||
@click="
|
||||
upLoadFile(
|
||||
'แบบสรุปผลการประเมิน (เอกสารแบบ ง)',
|
||||
fileEvaluation86
|
||||
)
|
||||
"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
|
|
@ -506,13 +662,7 @@ function openConfirmEvalution() {
|
|||
icon="download"
|
||||
label="ดาวน์โหลด"
|
||||
color="primary"
|
||||
@click="
|
||||
onClickDowloadFile(
|
||||
'EV1_005',
|
||||
'template-1',
|
||||
'แบบพิจารณาคุณสมบัติบุคคล'
|
||||
)
|
||||
"
|
||||
@click="downloadFile"
|
||||
>
|
||||
<q-tooltip> ดาวน์โหลดต้นแบบ </q-tooltip></q-btn
|
||||
>
|
||||
|
|
@ -591,6 +741,7 @@ function openConfirmEvalution() {
|
|||
id="onSubmit"
|
||||
class="q-px-md q-py-xs"
|
||||
label="ยืนยัน"
|
||||
@click="confirmApprove"
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue