ประเมินบุคคล => fix bug upload file

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-08-14 12:23:33 +07:00
parent b0780c535a
commit af6ac3f158
3 changed files with 128 additions and 119 deletions

View file

@ -232,20 +232,21 @@ async function fetchPathUpload(
showLoader(); showLoader();
await http await http
.post(config.API.loadPathDocument(volume, id), body) .post(config.API.loadPathDocument(volume, id), body)
.then((res) => { .then(async (res) => {
const foundKey: string | undefined = Object.keys(res.data).find( const foundKey: string | undefined = Object.keys(res.data).find(
(key) => (key) =>
res.data[key]?.fileName !== undefined && res.data[key]?.fileName !== undefined &&
res.data[key]?.fileName !== "" res.data[key]?.fileName !== ""
); );
foundKey && uploadfile(res.data[foundKey]?.uploadUrl, file); foundKey && (await uploadfile(res.data[foundKey]?.uploadUrl, file));
await downloadFile(type);
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
hideLoader();
}) })
.finally(() => { .finally(() => {
downloadFile(type); // hideLoader();
hideLoader();
}); });
} }
} }
@ -256,7 +257,6 @@ async function fetchPathUpload(
* @param file ไฟล * @param file ไฟล
*/ */
async function uploadfile(uploadUrl: string, file: any) { async function uploadfile(uploadUrl: string, file: any) {
showLoader();
await axios await axios
.put(uploadUrl, file, { .put(uploadUrl, file, {
headers: { headers: {
@ -333,7 +333,7 @@ const downloadFile6 = ref<string>("");
* @param fileName อไฟล * @param fileName อไฟล
*/ */
async function downloadFile(fileName: string) { async function downloadFile(fileName: string) {
showLoader(); // showLoader();
await http await http
.get(config.API.loadFileDocument("เล่ม 1", evaluateId.value, fileName)) .get(config.API.loadFileDocument("เล่ม 1", evaluateId.value, fileName))
.then((res) => { .then((res) => {
@ -488,7 +488,7 @@ watch(
label="ชื่อผลงาน" label="ชื่อผลงาน"
v-model="formCommand.subject" v-model="formCommand.subject"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
/> />
@ -501,7 +501,7 @@ watch(
v-model="formCommand.author" v-model="formCommand.author"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
label="เจ้าของผลงาน" label="เจ้าของผลงาน"
:rules="[(val) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
/> />
@ -533,7 +533,7 @@ watch(
label="ชื่อ-นามสกุล" label="ชื่อ-นามสกุล"
v-model="formCommand.commanderFullname" v-model="formCommand.commanderFullname"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
/> />
@ -546,7 +546,7 @@ watch(
v-model="formCommand.commanderPosition" v-model="formCommand.commanderPosition"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
label="ตำแหน่ง" label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
/> />
@ -567,7 +567,7 @@ watch(
outlined outlined
v-model="formCommand.commanderAboveFullname" v-model="formCommand.commanderAboveFullname"
label="ชื่อ-นามสกุล" label="ชื่อ-นามสกุล"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules lazy-rules
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
hide-bottom-space hide-bottom-space
@ -580,7 +580,7 @@ watch(
outlined outlined
v-model="formCommand.commanderAbovePosition" v-model="formCommand.commanderAbovePosition"
label="ตำแหน่ง" label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
@ -643,6 +643,7 @@ watch(
v-model="fileEvaluation1" v-model="fileEvaluation1"
:disable="!store.statusUpload" :disable="!store.statusUpload"
class="col-xs-12 col-sm-12" class="col-xs-12 col-sm-12"
label="อัปโหลดไฟล์"
outlined outlined
dense dense
lazy-rules lazy-rules
@ -650,7 +651,7 @@ watch(
accept=".pdf" accept=".pdf"
:rules=" :rules="
downloadFile1 === '' downloadFile1 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
> >
@ -734,12 +735,13 @@ watch(
class="col-12" class="col-12"
outlined outlined
dense dense
label="อัปโหลดไฟล์"
lazy-rules lazy-rules
accept=".pdf" accept=".pdf"
hide-bottom-space hide-bottom-space
:rules=" :rules="
downloadFile2 === '' downloadFile2 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
> >
@ -829,9 +831,10 @@ watch(
accept=".pdf" accept=".pdf"
:rules=" :rules="
downloadFile3 === '' downloadFile3 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
label="อัปโหลดไฟล์"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="attach_file" /> <q-icon name="attach_file" />
@ -915,9 +918,10 @@ watch(
lazy-rules lazy-rules
accept=".pdf" accept=".pdf"
hide-bottom-space hide-bottom-space
label="อัปโหลดไฟล์"
:rules=" :rules="
downloadFile5 === '' downloadFile5 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
> >
@ -1002,9 +1006,10 @@ watch(
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
accept=".pdf" accept=".pdf"
label="อัปโหลดไฟล์"
:rules=" :rules="
downloadFile4 === '' downloadFile4 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
> >
@ -1088,10 +1093,11 @@ watch(
hide-bottom-space hide-bottom-space
dense dense
lazy-rules lazy-rules
label="อัปโหลดไฟล์"
accept=".pdf" accept=".pdf"
:rules=" :rules="
downloadFile6 === '' downloadFile6 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
> >

View file

@ -108,8 +108,6 @@ async function fetchPathUpload(
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
})
.finally(() => {
hideLoader(); hideLoader();
}); });
} }
@ -127,12 +125,15 @@ async function uploadfile(uploadUrl: string, file: any) {
"Content-Type": file.type, "Content-Type": file.type,
}, },
}) })
.then(() => { .then(async () => {
checkDoc(); await checkDoc();
success($q, "อัปโหลไฟล์สำเร็จ"); await success($q, "อัปโหลไฟล์สำเร็จ");
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
})
.finally(() => {
hideLoader();
}); });
} }
@ -184,7 +185,7 @@ async function fetchCheckDate() {
const downloadUrl = ref<string>(""); const downloadUrl = ref<string>("");
/** function เช็คไฟล์อัปโหลด*/ /** function เช็คไฟล์อัปโหลด*/
function checkDoc() { function checkDoc() {
showLoader(); // showLoader();
http http
.get( .get(
config.API.loadFileDocument("เล่ม 2", evaluateId.value, "1-เอกสารเล่ม 2") config.API.loadFileDocument("เล่ม 2", evaluateId.value, "1-เอกสารเล่ม 2")
@ -194,7 +195,7 @@ function checkDoc() {
}) })
.catch(() => {}) .catch(() => {})
.finally(() => { .finally(() => {
hideLoader(); // hideLoader();
const ref = { const ref = {
commanderFullnameRef: commanderFullnameRef.value, commanderFullnameRef: commanderFullnameRef.value,
commanderPositionRef: commanderPositionRef.value, commanderPositionRef: commanderPositionRef.value,
@ -261,7 +262,7 @@ watch(
<div class="row col-12 q-pa-sm"> <div class="row col-12 q-pa-sm">
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-12 text-center"> <div class="col-12 text-center">
<q-banner rounded class="text-weight-bold text-red-14 bg-red-1"> <q-banner rounded class="text-weight-bold text-red-14 bg-red-1">
<div class="text-weight-bold"> <div class="text-weight-bold">
<q-icon name="info_outline" color="red-14" size="24px" /> <q-icon name="info_outline" color="red-14" size="24px" />
นสดทายของการสงผลงานคอวนท {{ dateEndPrepareDoc2 }} นสดทายของการสงผลงานคอวนท {{ dateEndPrepareDoc2 }}
@ -287,7 +288,7 @@ watch(
label="ชื่อผลงาน" label="ชื่อผลงาน"
v-model="formCommand.subject" v-model="formCommand.subject"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]"
hide-bottom-space hide-bottom-space
lazy-rules lazy-rules
/> />
@ -301,7 +302,7 @@ watch(
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
label="เจ้าของผลงาน" label="เจ้าของผลงาน"
hide-bottom-space hide-bottom-space
:rules="[(val) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]"
lazy-rules lazy-rules
/> />
<q-input <q-input
@ -315,7 +316,7 @@ watch(
label="ตำแหน่งที่ได้รับ" label="ตำแหน่งที่ได้รับ"
hide-bottom-space hide-bottom-space
:rules="[ :rules="[
(val) => !!val || `${'กรุณากรอกตำแหน่งที่ได้รับ'}`, (val:string) => !!val || `${'กรุณากรอกตำแหน่งที่ได้รับ'}`,
]" ]"
lazy-rules lazy-rules
/> />
@ -335,74 +336,74 @@ watch(
<div class="col-12"><q-separator /></div> <div class="col-12"><q-separator /></div>
<div class="col-12 q-pa-sm"> <div class="col-12 q-pa-sm">
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-xs-12 col-sm-12 row"> <div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pt-xs q-pl-sm"> <div class="text-weight-medium q-pt-xs q-pl-sm">
งคบบญชาชนต งคบบญชาชนต
</div> </div>
<div class="row col-12 q-col-gutter-sm q-pa-sm"> <div class="row col-12 q-col-gutter-sm q-pa-sm">
<q-input <q-input
:readonly="store.currentStep != 6" :readonly="store.currentStep != 6"
ref="commanderFullnameRef" ref="commanderFullnameRef"
dense dense
class="col-xs-12 col-sm-6" class="col-xs-12 col-sm-6"
outlined outlined
label="ชื่อ-นามสกุล" label="ชื่อ-นามสกุล"
v-model="formCommand.commanderFullname" v-model="formCommand.commanderFullname"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
/> />
<q-input <q-input
:readonly="store.currentStep != 6" :readonly="store.currentStep != 6"
ref="commanderPositionRef" ref="commanderPositionRef"
class="col-xs-12 col-sm-6" class="col-xs-12 col-sm-6"
dense dense
outlined outlined
v-model="formCommand.commanderPosition" v-model="formCommand.commanderPosition"
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
label="ตำแหน่ง" label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules lazy-rules
hide-bottom-space hide-bottom-space
/> />
</div>
</div> </div>
</div> </div>
</div>
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-xs-12 col-sm-12 row"> <div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pt-xs q-pl-sm"> <div class="text-weight-medium q-pt-xs q-pl-sm">
งคบบญชาเหนอขนไป 1 ระด งคบบญชาเหนอขนไป 1 ระด
</div> </div>
<div class="row col-12 q-col-gutter-sm q-pa-sm"> <div class="row col-12 q-col-gutter-sm q-pa-sm">
<q-input <q-input
:readonly="store.currentStep != 6" :readonly="store.currentStep != 6"
ref="commanderAboveFullnameRef" ref="commanderAboveFullnameRef"
dense dense
class="col-xs-12 col-sm-6" class="col-xs-12 col-sm-6"
outlined outlined
v-model="formCommand.commanderAboveFullname" v-model="formCommand.commanderAboveFullname"
label="ชื่อ-นามสกุล" label="ชื่อ-นามสกุล"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules lazy-rules
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
hide-bottom-space hide-bottom-space
/> />
<q-input <q-input
:readonly="store.currentStep != 6" :readonly="store.currentStep != 6"
ref="commanderAbovePositionRef" ref="commanderAbovePositionRef"
class="col-xs-12 col-sm-6" class="col-xs-12 col-sm-6"
dense dense
outlined outlined
v-model="formCommand.commanderAbovePosition" v-model="formCommand.commanderAbovePosition"
label="ตำแหน่ง" label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]" :rules="[(val:string) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules lazy-rules
@update:model-value="updateInput(formCommand)" @update:model-value="updateInput(formCommand)"
hide-bottom-space hide-bottom-space
/> />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -413,9 +414,7 @@ watch(
<div class="col-12" v-if="store.currentStep === 6"> <div class="col-12" v-if="store.currentStep === 6">
<q-card bordered class="shadow-0" style="border: 1px solid #d6dee1"> <q-card bordered class="shadow-0" style="border: 1px solid #d6dee1">
<div class="col-12 row bg-grey-1"> <div class="col-12 row bg-grey-1">
<div class="text-weight-medium q-py-sm q-px-md"> <div class="text-weight-medium q-py-sm q-px-md">เอกสารเล 2</div>
เอกสารเล 2
</div>
<q-space /> <q-space />
<div v-if="downloadUrl"> <div v-if="downloadUrl">
<q-btn <q-btn
@ -434,7 +433,6 @@ watch(
<div class="row"> <div class="row">
<div class="col-12 q-pa-sm"> <div class="col-12 q-pa-sm">
<div class="row q-col-gutter-sm col-12"> <div class="row q-col-gutter-sm col-12">
<div class="col-12"> <div class="col-12">
<!-- :rules="[(val) => !!val || 'เลือกไฟล']" --> <!-- :rules="[(val) => !!val || 'เลือกไฟล']" -->
<q-file <q-file
@ -446,10 +444,11 @@ watch(
hide-bottom-space hide-bottom-space
dense dense
lazy-rules lazy-rules
label="อัปโหลดไฟล์"
accept=".pdf" accept=".pdf"
:rules=" :rules="
downloadUrl === '' downloadUrl === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์'] ? [(val:any) => !!val || 'กรุณาเลือกไฟล์']
: [] : []
" "
> >
@ -458,23 +457,23 @@ watch(
</template> </template>
<template v-slot:after> <template v-slot:after>
<div> <div>
<q-btn <q-btn
:disable="!store.statusUpload" :disable="!store.statusUpload"
round round
dense dense
flat flat
color="primary" color="primary"
icon="mdi-upload" icon="mdi-upload"
@click=" @click="
fetchPathUpload( fetchPathUpload(
'เล่ม 2', 'เล่ม 2',
evaluateId, evaluateId,
'1-เอกสารเล่ม 2', '1-เอกสารเล่ม 2',
fileEvaluation1 fileEvaluation1
) )
" "
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn ><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
> >
</div> </div>
</template> </template>
</q-file> </q-file>

View file

@ -81,10 +81,10 @@ async function fetchPathUpload(
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
})
.finally(() => {
hideLoader(); hideLoader();
}); });
// .finally(() => {
// });
} }
} }
@ -105,6 +105,9 @@ async function uploadfile(uploadUrl: string, file: any) {
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
})
.finally(() => {
hideLoader();
}); });
} }
@ -237,6 +240,7 @@ onMounted(async () => {
hide-bottom-space hide-bottom-space
lazy-rules lazy-rules
accept=".pdf" accept=".pdf"
label="อัปโหลดไฟล์"
> >
<template v-slot:prepend> <template v-slot:prepend>
<q-icon name="attach_file" /> <q-icon name="attach_file" />