This commit is contained in:
Warunee Tamkoo 2023-12-23 18:49:03 +07:00
parent daafbd3991
commit 25bebeae4e
7 changed files with 133 additions and 44 deletions

View file

@ -119,6 +119,15 @@ async function onCilckNextStep() {
: null;
store.step === 2 || store.step === 6
? validateStep2()
: store.step == 3 || store.step == 7
? dialogConfirm(
$q,
() => {
functionCreateDoc?.();
},
"ยืนยันการยื่นเอกสาร",
"ต้องการยืนยันการยื่นเอกสารใช่หรือไม่? หากยืนยันแล้วคุณจะไม่สามารถกลับมาแก้ไขเอกสารได้อีก"
)
: store.step < 9 &&
dialogConfirm(
$q,

View file

@ -113,7 +113,7 @@ async function onClickDowloadFile(
reportName: templateName,
data: data,
};
console.log(body);
await genReport(body, fileName);
}
@ -149,6 +149,7 @@ async function fetchPathUpload(
messageError($q, err);
})
.finally(() => {
downloadFile(type);
hideLoader();
});
}
@ -189,6 +190,42 @@ async function fetcheSigner(id: string) {
});
}
const downloadFile1 = ref<string>("");
const downloadFile2 = ref<string>("");
const downloadFile3 = ref<string>("");
const downloadFile4 = ref<string>("");
const downloadFile5 = ref<string>("");
const downloadFile6 = ref<string>("");
async function downloadFile(fileName: string) {
showLoader();
await http
.get(config.API.loadFileDocument("เล่ม 1", store.evaluateId, fileName))
.then((res) => {
console.log(res.data);
if (fileName === "1-แบบพิจารณาคุณสมบัติบุคคล") {
downloadFile1.value = res.data.downloadUrl;
} else if (fileName === "2-แบบแสดงรายละเอียดการเสนอผลงาน") {
downloadFile2.value = res.data.downloadUrl;
} else if (
fileName ===
"3-แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล (เอกสารแบบ ก.)"
) {
downloadFile3.value = res.data.downloadUrl;
} else if (fileName === "4-แบบประเมินคุณลักษณะบุคคล") {
downloadFile4.value = res.data.downloadUrl;
} else if (
fileName === "5-แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)"
) {
downloadFile5.value = res.data.downloadUrl;
} else if (fileName === "6-ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)") {
downloadFile6.value = res.data.downloadUrl;
}
})
.finally(() => {
hideLoader();
});
}
onMounted(async () => {
const ref = {
commanderFullnameRef: commanderFullnameRef.value,
@ -206,6 +243,14 @@ onMounted(async () => {
fetcheSigner(store.evaluateId);
}
emit("update:form", formCommand, ref);
downloadFile("1-แบบพิจารณาคุณสมบัติบุคคล");
downloadFile("2-แบบแสดงรายละเอียดการเสนอผลงาน");
downloadFile(
"3-แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล (เอกสารแบบ ก.)"
);
downloadFile("4-แบบประเมินคุณลักษณะบุคคล");
downloadFile("5-แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)");
downloadFile("6-ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)");
});
</script>
@ -241,13 +286,14 @@ onMounted(async () => {
</div>
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluation1"
v-if="downloadFile1 != ''"
:href="downloadFile1"
target="_blank"
class="col-12"
outline
icon="visibility"
label="ดูไฟล์เอกสาร"
color="primary"
@click="onClickViewPDF(fileEvaluation1)"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
@ -255,7 +301,6 @@ onMounted(async () => {
<div class="col-xs-12 col-sm-10 row">
<q-file
ref="fileEvaluation1Ref"
:rules="[(val) => !!val || 'เลือกไฟล']"
v-model="fileEvaluation1"
class="col-12"
outlined
@ -323,7 +368,9 @@ onMounted(async () => {
</div>
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluation2"
v-if="downloadFile2 != ''"
:href="downloadFile2"
target="_blank"
class="col-12"
outline
icon="visibility"
@ -336,7 +383,6 @@ onMounted(async () => {
<div class="col-xs-12 col-sm-10 row">
<q-file
ref="fileEvaluation2Ref"
:rules="[(val) => !!val || 'เลือกไฟล']"
v-model="fileEvaluation2"
class="col-12"
outlined
@ -405,7 +451,9 @@ onMounted(async () => {
</div>
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluation3"
v-if="downloadFile3 != ''"
:href="downloadFile3"
target="_blank"
class="col-12"
outline
icon="visibility"
@ -418,7 +466,6 @@ onMounted(async () => {
<div class="col-xs-12 col-sm-10 row">
<q-file
ref="fileEvaluation3Ref"
:rules="[(val) => !!val || 'เลือกไฟล']"
v-model="fileEvaluation3"
class="col-12"
outlined
@ -486,7 +533,9 @@ onMounted(async () => {
</div>
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluation4"
v-if="downloadFile4 != ''"
:href="downloadFile4"
target="_blank"
class="col-12"
outline
icon="visibility"
@ -499,7 +548,6 @@ onMounted(async () => {
<div class="col-xs-12 col-sm-10 row">
<q-file
ref="fileEvaluation4Ref"
:rules="[(val) => !!val || 'เลือกไฟล']"
v-model="fileEvaluation4"
class="col-12"
outlined
@ -566,7 +614,9 @@ onMounted(async () => {
</div>
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluation5"
v-if="downloadFile5 != ''"
:href="downloadFile5"
target="_blank"
class="col-12"
outline
icon="visibility"
@ -579,7 +629,6 @@ onMounted(async () => {
<div class="col-xs-12 col-sm-10 row">
<q-file
ref="fileEvaluation5Ref"
:rules="[(val) => !!val || 'เลือกไฟล']"
v-model="fileEvaluation5"
class="col-12"
outlined
@ -647,7 +696,9 @@ onMounted(async () => {
</div>
<div class="col-xs-12 col-sm-6 row">
<q-btn
v-if="fileEvaluation6"
v-if="downloadFile6 != ''"
:href="downloadFile6"
target="_blank"
class="col-12"
outline
icon="visibility"
@ -660,7 +711,6 @@ onMounted(async () => {
<div class="col-xs-12 col-sm-10 row">
<q-file
ref="fileEvaluation6Ref"
:rules="[(val) => !!val || 'เลือกไฟล']"
v-model="fileEvaluation6"
class="col-12"
outlined
@ -714,6 +764,7 @@ onMounted(async () => {
</div>
<div class="row col-12 q-col-gutter-md q-pa-sm">
<q-input
:readonly="store.currentStep != 2"
ref="commanderFullnameRef"
dense
class="col-xs-12 col-sm-6"
@ -725,6 +776,7 @@ onMounted(async () => {
lazy-rules
/>
<q-input
:readonly="store.currentStep != 2"
ref="commanderPositionRef"
class="col-xs-12 col-sm-6"
dense
@ -746,6 +798,7 @@ onMounted(async () => {
</div>
<div class="row col-12 q-col-gutter-md q-pa-sm">
<q-input
:readonly="store.currentStep != 2"
ref="commanderAboveFullnameRef"
dense
class="col-xs-12 col-sm-6"
@ -757,6 +810,7 @@ onMounted(async () => {
@update:model-value="updateInput(formCommand)"
/>
<q-input
:readonly="store.currentStep != 2"
ref="commanderAbovePositionRef"
class="col-xs-12 col-sm-6"
dense

View file

@ -58,7 +58,7 @@ async function coppyLink(link: string) {
// document.body.appendChild(textarea);
// textarea.select();
// document.execCommand("copy");
// success($q, "");
// success($q, "");
}
async function fetchCheckDate() {
@ -125,7 +125,7 @@ onMounted(async () => {
icon="mdi-clipboard-outline"
@click="onClickfetchDocument(item.fileName, 'COPPY')"
>
<q-tooltip>ดลอกลงค</q-tooltip>
<q-tooltip>ดลอกลงค</q-tooltip>
</q-btn>
</q-item-section>
</q-item>
@ -162,7 +162,7 @@ onMounted(async () => {
)
"
>
<q-tooltip>ดลอกลงค</q-tooltip>
<q-tooltip>ดลอกลงค</q-tooltip>
</q-btn>
</q-item-section>
</q-item>

View file

@ -266,6 +266,7 @@ onMounted(async () => {
</div>
<div class="row col-12 q-col-gutter-md q-pa-sm">
<q-input
:readonly="store.currentStep != 6"
ref="commanderFullnameRef"
dense
class="col-xs-12 col-sm-6"
@ -277,6 +278,7 @@ onMounted(async () => {
lazy-rules
/>
<q-input
:readonly="store.currentStep != 6"
ref="commanderPositionRef"
class="col-xs-12 col-sm-6"
dense
@ -298,6 +300,7 @@ onMounted(async () => {
</div>
<div class="row col-12 q-col-gutter-md q-pa-sm">
<q-input
:readonly="store.currentStep != 6"
ref="commanderAboveFullnameRef"
dense
class="col-xs-12 col-sm-6"
@ -309,6 +312,7 @@ onMounted(async () => {
@update:model-value="updateInput(formCommand)"
/>
<q-input
:readonly="store.currentStep != 6"
ref="commanderAbovePositionRef"
class="col-xs-12 col-sm-6"
dense

View file

@ -7,9 +7,11 @@ import { useQuasar } from "quasar";
import genReport from "@/plugins/genreport";
import TableDirector from "@/modules/06_evaluate/components/directorandmeet/Table.vue";
import { useEvaluateStore } from "@/modules/06_evaluate/store";
import { useCounterMixin } from "@/stores/mixin";
const store = useEvaluateStore();
const $q = useQuasar();
const mixin = useCounterMixin();
@ -124,7 +126,6 @@ async function fetchPathUpload(
}
async function uploadfile(uploadUrl: string, file: any) {
console.log(uploadUrl);
await axios
.put(uploadUrl, file, {
headers: {
@ -139,8 +140,31 @@ async function uploadfile(uploadUrl: string, file: any) {
});
}
const downloadUrl = ref<string>("");
function checkDoc() {
showLoader();
http
.get(
config.API.loadFileDocument(
"เล่ม 2",
store.evaluateId,
"2-เอกสารเล่ม 2 (ฉบับแก้ไข)"
)
)
.then((res: any) => {
downloadUrl.value = res.data.downloadUrl;
})
// .catch((e) => {
// messageError($q, e);
// })
.finally(() => {
hideLoader();
});
}
onMounted(async () => {
await fetchDirector();
checkDoc();
});
</script>
@ -187,7 +211,7 @@ onMounted(async () => {
</q-card>
</div>
<div class="col-6">
<div class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
เอกสารเล 2 (ฉบบแกไข)
@ -195,29 +219,13 @@ onMounted(async () => {
<div class="col-12"><q-separator /></div>
<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">
<q-btn
class="col-12"
outline
icon="download"
label="ดาวน์โหลดต้นแบบ"
color="primary"
@click="
onClickDowloadFile(
'EV1_010',
'template-6',
'ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)'
)
"
>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div> -->
<div class="col-xs-12 col-sm-6 row">
<div
v-if="store.currentStep == 8"
class="row q-col-gutter-md col-12"
>
<div class="col-12 row">
<q-btn
v-if="fileEvaluationEdit"
class="col-12"
outline
icon="visibility"
label="ดูไฟล์เอกสาร"
@ -261,6 +269,20 @@ onMounted(async () => {
>
</div>
</div>
<div v-else class="col-12">
<q-btn
v-if="downloadUrl != ''"
:href="downloadUrl"
target="_blank"
class="col-12"
outline
icon="visibility"
label="ดูไฟล์เอกสาร"
color="primary"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
</div>
</div>
</q-card>

View file

@ -25,7 +25,7 @@ function copyLink() {
// document.body.appendChild(textarea);
// textarea.select();
// document.execCommand("copy");
// success($q, "");
// success($q, "");
// }
</script>
@ -41,11 +41,11 @@ function copyLink() {
class="q-mt-md"
outline
icon="mdi-clipboard-outline"
label="คัดลอกลิงค์"
label="คัดลอกลิงค์"
color="primary"
@click="copyLink"
>
<q-tooltip> ดลอกลงค </q-tooltip></q-btn
<q-tooltip> ดลอกลงค </q-tooltip></q-btn
>
</div>
</div>

View file

@ -240,7 +240,7 @@ onMounted(async () => {
<span class="q-ml-lg q-my-sm">ประวการศกษา </span>
</div>
<q-separator />
<div v-if="formDetail.educations.length > 0">
<div v-if="formDetail.educations && formDetail.educations.length > 0">
<div
class="row q-pa-sm"
v-for="(education, index) in formDetail.educations"