API ประเมืน

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-12-22 16:00:05 +07:00
parent 0e5d15dc7c
commit 257b4a1424
16 changed files with 700 additions and 186 deletions

View file

@ -1,9 +1,26 @@
<script setup lang="ts">
import { ref } from "vue";
import { ref, onMounted } from "vue";
import axios from "axios";
import http from "@/plugins/http";
import config from "@/app.config";
import { useQuasar } from "quasar";
import genReport from "@/plugins/genreport";
import TableDirector from "@/modules/06_evaluate/components/directorandmeet/Table.vue";
import { useCounterMixin } from "@/stores/mixin";
const $q = useQuasar();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, success } = mixin;
const props = defineProps({
evaluateId: {
type: String,
},
});
const status = ref<string>("WAIT_CHECK_DOC_V2");
const tabMenu = ref<string>("director");
@ -45,6 +62,71 @@ async function onClickDowloadFile(
};
await genReport(body, fileName);
}
const directorList = ref<any>();
const meetingList = ref<any>();
async function fetchDirector() {
showLoader();
props.evaluateId &&
(await http
.get(config.API.evaluationDirectorMeetring(props.evaluateId))
.then((res) => {})
.catch((err) => {})
.finally(() => {
hideLoader();
}));
}
async function fetchPathUpload(
volume: string,
id: string | undefined,
type: string,
file: any
) {
const body = {
fileList: { fileName: type, metadata: {} },
};
if (id && file) {
showLoader();
await http
.post(config.API.loadPathDocument(volume, id), body)
.then((res) => {
const foundKey: string | undefined = Object.keys(res.data).find(
(key) =>
res.data[key]?.fileName !== undefined &&
res.data[key]?.fileName !== ""
);
foundKey && uploadfile(res.data[foundKey]?.uploadUrl, file);
})
.catch((err) => {
messageError($q, err);
})
.finally(() => {
hideLoader();
});
}
}
async function uploadfile(uploadUrl: string, file: any) {
console.log(uploadUrl);
await axios
.put(uploadUrl, file, {
headers: {
"Content-Type": file.type,
},
})
.then(() => {
success($q, "อัปโหลไฟล์สำเร็จ");
})
.catch((err) => {
messageError($q, err);
});
}
onMounted(async () => {
await fetchDirector();
});
</script>
<template>
@ -99,7 +181,7 @@ async function onClickDowloadFile(
<div class="row">
<div class="col-12 q-pa-sm">
<div class="row q-col-gutter-md col-12">
<div class="col-xs-12 col-sm-6 row">
<!-- <div class="col-xs-12 col-sm-6 row">
<q-btn
class="col-12"
outline
@ -116,7 +198,7 @@ async function onClickDowloadFile(
>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div>
</div> -->
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluationEdit"
@ -146,7 +228,20 @@ async function onClickDowloadFile(
</q-file>
</div>
<div class="col-2 self-center text-center q-pl-none">
<q-btn flat round dense color="primary" icon="mdi-upload"
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
fetchPathUpload(
'เล่ม 2',
props.evaluateId,
'2-เอกสารเล่ม 2 (ฉบับแก้ไข)',
fileEvaluationEdit
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</div>