From d271ff96b8bb645adba4947d05b7a2941866b566 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Wed, 3 Jan 2024 17:04:45 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=AB=E0=B8=99=E0=B9=89=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=9B=E0=B8=A3?= =?UTF-8?q?=E0=B8=B0=E0=B9=80=E0=B8=A1=E0=B8=B4=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Detail/Stepper.vue | 4 +- .../components/Detail/Tab1.vue | 20 ++- .../components/Detail/popupHistory.vue | 9 +- .../components/Detail/step/step3.vue | 20 ++- .../components/Detail/step/step4.vue | 49 +++-- .../components/Detail/step/step5.vue | 48 +++-- .../components/Detail/step/step7.vue | 13 +- .../components/Detail/step/step8.vue | 167 ++++++++++++++---- .../components/Detail/viewstep/tableStep1.vue | 10 +- .../components/Detail/viewstep/viewPDF.vue | 31 +++- .../components/Detail/viewstep/viewStep1.vue | 21 ++- .../components/Detail/viewstep/viewStep3.vue | 44 ++++- .../components/Detail/viewstep/viewStep7.vue | 47 ++++- .../interface/index/evalute.ts | 19 +- .../12_evaluatePersonal/store/Evaluate.ts | 4 +- .../store/EvaluateDetail.ts | 14 +- 16 files changed, 386 insertions(+), 134 deletions(-) diff --git a/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue b/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue index a5af64aac..e5ed00a81 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/Stepper.vue @@ -73,7 +73,7 @@ const store = useEvaluateDetailStore(); @@ -82,7 +82,7 @@ const store = useEvaluateDetailStore(); diff --git a/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue b/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue index 530c6c576..43ebc3d92 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue @@ -233,7 +233,7 @@ onMounted(() => { diff --git a/src/modules/12_evaluatePersonal/components/Detail/popupHistory.vue b/src/modules/12_evaluatePersonal/components/Detail/popupHistory.vue index e2060e158..1eab54261 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/popupHistory.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/popupHistory.vue @@ -68,6 +68,11 @@ const columns = ref([ const row = ref(); async function fetchListHistory(id: string) { + const thaiOptions: Intl.DateTimeFormatOptions = { + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + }; showLoader(); await http .get(config.API.evaluationHistory(id)) @@ -76,7 +81,9 @@ async function fetchListHistory(id: string) { const list = data.map((e: any) => ({ step: e.step, lastUpdateFullName: e.lastUpdateFullName, - lastUpdatedAt: date2Thai(e.lastUpdatedAt), + lastUpdatedAt: `${date2Thai(e.lastUpdatedAt)} เวลา ${new Date( + e.lastUpdatedAt + ).toLocaleTimeString("th-TH", thaiOptions)} น.`, })); row.value = list; }) diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step3.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step3.vue index f5ccfbe03..7d598f2c7 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step3.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step3.vue @@ -34,7 +34,8 @@ function getFile(volume: number) { .then((res) => { const link = res.data.downloadUrl; const type = res.data.fileType; - getPDF(link,type); + + getPDF(link, type); }) .catch((e) => { // messageError($q, e); @@ -44,7 +45,7 @@ function getFile(volume: number) { }); } -function getPDF(url: string,type:string) { +function getPDF(url: string, type: string) { axios .get(url, { method: "GET", @@ -55,25 +56,26 @@ function getPDF(url: string,type:string) { }, }) .then(async (res) => { - store.log = 0 - console.log(res); + store.log = 0; + store.urlDownloadFile = url; const blob = new Blob([res.data]); const objectUrl = URL.createObjectURL(blob); const pdfData = await usePDF(`${objectUrl}`); showLoader(); setTimeout(() => { - store.log = 1 + store.log = 1; store.pdfSrcStore = pdfData.pdf.value; store.numOfPagesStore = pdfData.pages.value; hideLoader(); }, 1500); - }).catch((e)=>{ - messageError($q,e) }) - .finally(()=>{ - store.log = 0 + .catch((e) => { + messageError($q, e); }) + .finally(() => { + store.log = 0; + }); } function numToThai(val: number) { diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step4.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step4.vue index fdfed9d63..5ca7768df 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step4.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step4.vue @@ -34,6 +34,7 @@ const messenger = ref(""); const title = ref(""); const modalEvaluation = ref(false); const fileEvaluationUpload = ref(); +const fileEvaluationUploadRef = ref(); const status = ref("WAIT_CHECK_DOC_V1"); const files = [ { @@ -153,22 +154,31 @@ function getPDF(url: string, type: string, fileName: string) { /** ส่งไปประกาศบนเว็บไซต์ */ function onWebSite() { - dialogConfirm( - $q, - () => { - showLoader(); - http - .put(config.API.evaluationApproveDoc1(id.value)) - .then((res) => {}) - .catch((e) => {}) - .finally(() => { - success($q, "ส่งไปประกาศบนเว็บไซต์สำเร็จ"); - getStep(); - }); - }, - "ยืนยันการส่งไปประกาศบนเว็บไซต์", - "ยืนยันการส่งไปประกาศบนเว็บไซต์ใช่หรือไม่?" - ); + download10Url.value === "" + ? (fileEvaluationUpload.value = "") + : fileEvaluationUpload.value; + fileEvaluationUploadRef.value.validate(); + if ( + fileEvaluationUploadRef.value.hasError === false && + download10Url.value !== "" + ) { + dialogConfirm( + $q, + () => { + showLoader(); + http + .put(config.API.evaluationApproveDoc1(id.value)) + .then((res) => {}) + .catch((e) => {}) + .finally(() => { + success($q, "ส่งไปประกาศบนเว็บไซต์สำเร็จ"); + getStep(); + }); + }, + "ยืนยันการส่งไปประกาศบนเว็บไซต์", + "ยืนยันการส่งไปประกาศบนเว็บไซต์ใช่หรือไม่?" + ); + } } function getStep() { @@ -248,7 +258,6 @@ function fileUpLoad(url: string) { messageError($q, e); }) .finally(() => { - fileEvaluationUpload.value = null; checkDoc10(); success($q, "อัปโหลดไฟล์สำเร็จ"); }); @@ -408,6 +417,7 @@ onMounted(() => {
{ hide-bottom-space lazy-rules accept=".pdf" + :rules=" + download10Url === '' + ? [(val) => !!val || 'กรุณาเลือกไฟล์'] + : [] + " >