Merge branch 'develop' of github.com:Frappet/BMA-EHR-USER into develop

This commit is contained in:
Warunee Tamkoo 2024-01-17 13:47:21 +07:00
commit 4f05ca9558
10 changed files with 231 additions and 282 deletions

View file

@ -661,11 +661,12 @@ onMounted(async () => {
store.step === 6 ||
store.step === 8 ||
store.step === 9
? 'col-12 '
: 'col-xs-12 col-sm-5 '
? 'col-12 row'
: 'col-xs-12 col-sm-5 row'
"
>
<q-card flat bordered class="col-12 shadow-0">
<q-card flat bordered class="col-12 shadow-0" :style="$q.screen.lt.sm ? '' : 'max-height: 60vh; overflow: scroll;' ">
<Step1
v-if="store.step === 1"
@update:spec="updateCheckSpec"

View file

@ -450,7 +450,7 @@ watch(
</script>
<template>
<div class="col-12 q-pa-md" :style="$q.screen.lt.sm ? '' : 'max-height: 60vh; overflow: scroll;' ">
<div class="col-12 q-pa-md">
<!-- ผลงาน -->
<div class="col-12 ">
<q-card bordered class="cardSp1 col-12">
@ -506,7 +506,7 @@ watch(
<div class="text-weight-medium q-pt-xs q-pl-sm">
งคบบญชาชนต
</div>
<div class="row col-12 q-col-gutter-md q-pa-sm">
<div class="row col-12 q-col-gutter-sm q-pa-sm">
<q-input
:readonly="store.currentStep != 2 || store.statusUpload"
ref="commanderFullnameRef"
@ -536,7 +536,7 @@ watch(
</div>
</div>
</div>
<div class="row q-col-gutter-md col-12">
<div class="row q-col-gutter-sm col-12">
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pl-sm q-pt-sm">
งคบบญชาเหนอขนไป 1 ระด
@ -580,7 +580,7 @@ watch(
<!-- แบบพจารณาคณสมบคคล -->
<div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-md">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-pl-md q-pr-sm">
<div>แบบพจารณาคณสมบคคล</div>
<q-space />
<div>
@ -588,7 +588,7 @@ watch(
flat
dense
icon="download"
color="primary"
color="indigo"
@click="
onClickDowloadFile(
'EV1_005',
@ -667,7 +667,7 @@ watch(
<!-- แบบแสดงรายละเอยดการเสนอผลงาน -->
<div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1">
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md col-12 row items-center">
<div class="text-weight-medium bg-grey-1 q-py-sm q-pl-md q-pr-sm col-12 row items-center">
<div>แบบแสดงรายละเอยดการเสนอผลงาน</div>
<q-space />
<div>
@ -675,7 +675,7 @@ watch(
flat
dense
icon="download"
color="primary"
color="indigo"
@click="
onClickDowloadFile(
'EV1_006',
@ -754,7 +754,7 @@ watch(
<!-- แบบตรวจสอบความถกตองครบถวนของขอมลเพอประกอบการคดเลอกบคคล (เอกสารแบบ ) -->
<div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-px-md no-wrap">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-pl-md q-pr-sm no-wrap">
<div>แบบตรวจสอบความถกตองครบถวนของขอมลเพอประกอบการคดเลอกบคคล
(เอกสารแบบ .)
</div>
@ -764,7 +764,7 @@ watch(
flat
dense
icon="download"
color="primary"
color="indigo"
@click="
onClickDowloadFile(
'EV1_007',
@ -839,7 +839,7 @@ watch(
<!-- แบบสรปขอมลของผขอรบการคดเลอก (เอกสารหมายเลข 9) -->
<div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-px-md no-wrap">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-pl-md q-pr-sm no-wrap">
<div class="col-7">แบบสรปขอมลของผขอรบการคดเลอก (เอกสารหมายเลข 9)</div>
<q-space />
<div>
@ -847,7 +847,7 @@ watch(
flat
dense
icon="download"
color="primary"
color="indigo"
@click="
onClickDowloadFile(
'EV1_009',
@ -924,7 +924,7 @@ watch(
<!-- แบบประเมนคณลกษณะบคคล -->
<div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-px-md">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-pl-md q-pr-sm items-center">
<div>แบบประเมนคณลกษณะบคคล</div>
<q-space />
<div>
@ -932,7 +932,7 @@ watch(
flat
dense
icon="download"
color="primary"
color="indigo"
@click="
onClickDowloadFile(
'EV1_008',
@ -1009,7 +1009,7 @@ watch(
<!--ผลงานทจะสงประเม (เอกสารหมายเลข 11) -->
<div class="col-6" v-if="store.currentStep === 2">
<q-card bordered class="cardSp1">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-px-md">
<div class="col-12 row text-weight-medium bg-grey-1 q-py-sm q-pl-md q-pr-sm items-center">
<div>ผลงานทจะสงประเม (เอกสารหมายเลข 11)</div>
<q-space />
<div>
@ -1017,7 +1017,7 @@ watch(
flat
dense
icon="download"
color="primary"
color="indigo"
@click="
onClickDowloadFile(
'EV1_010',

View file

@ -258,9 +258,9 @@ watch(
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">ผลงาน</div>
<div class="col-12"><q-separator /></div>
<div class="col-12">
<div class="row q-col-gutter-md col-12">
<div class="row q-col-gutter-sm col-12">
<div class="col-xs-12 col-sm-12 row">
<div class="row col-12 q-col-gutter-md q-pa-sm">
<div class="row col-12 q-col-gutter-sm q-pa-sm">
<q-input
:readonly="store.currentStep != 6"
ref="performanceRef"
@ -316,13 +316,13 @@ watch(
เลอกผเซนเอกสาร
</div>
<div class="col-12"><q-separator /></div>
<div class="col-12">
<div class="row q-col-gutter-md col-12">
<div class="col-12 q-pa-sm">
<div class="row q-col-gutter-sm">
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-py-sm">
<div class="text-weight-medium q-pt-xs q-pl-sm">
งคบบญชาชนต
</div>
<div class="row col-12 q-col-gutter-md q-pa-sm">
<div class="row col-12 q-col-gutter-sm q-pa-sm">
<q-input
:readonly="store.currentStep != 6"
ref="commanderFullnameRef"
@ -334,6 +334,7 @@ watch(
@update:model-value="updateInput(formCommand)"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
hide-bottom-space
/>
<q-input
:readonly="store.currentStep != 6"
@ -346,42 +347,45 @@ watch(
label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
hide-bottom-space
/>
</div>
</div>
</div>
<div class="row q-col-gutter-md col-12">
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-py-sm">
งคบบญชาเหนอขนไป 1 ระด
</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"
outlined
v-model="formCommand.commanderAboveFullname"
label="ชื่อ-นามสกุล"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
@update:model-value="updateInput(formCommand)"
/>
<q-input
:readonly="store.currentStep != 6"
ref="commanderAbovePositionRef"
class="col-xs-12 col-sm-6"
dense
outlined
v-model="formCommand.commanderAbovePosition"
label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
@update:model-value="updateInput(formCommand)"
/>
</div>
<div class="row q-col-gutter-sm">
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pt-xs q-pl-sm">
งคบบญชาเหนอขนไป 1 ระด
</div>
<div class="row col-12 q-col-gutter-sm q-pa-sm">
<q-input
:readonly="store.currentStep != 6"
ref="commanderAboveFullnameRef"
dense
class="col-xs-12 col-sm-6"
outlined
v-model="formCommand.commanderAboveFullname"
label="ชื่อ-นามสกุล"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
@update:model-value="updateInput(formCommand)"
hide-bottom-space
/>
<q-input
:readonly="store.currentStep != 6"
ref="commanderAbovePositionRef"
class="col-xs-12 col-sm-6"
dense
outlined
v-model="formCommand.commanderAbovePosition"
label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
@update:model-value="updateInput(formCommand)"
hide-bottom-space
/>
</div>
</div>
</div>
</div>
@ -391,36 +395,38 @@ watch(
<!-- ปไฟล -->
<div class="col-12" v-if="store.currentStep === 6">
<q-card bordered class="shadow-0" style="border: 1px solid #d6dee1">
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
เอกสารเล 2
<div class="col-12 row bg-grey-1">
<div class="text-weight-medium q-py-sm q-px-md">
เอกสารเล 2
</div>
<q-space />
<div v-if="downloadUrl">
<q-btn
:href="downloadUrl"
target="_blank"
outline
flat
icon="visibility"
color="blue"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
</div>
<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
v-if="downloadUrl"
:href="downloadUrl"
target="_blank"
class="col-12"
outline
icon="visibility"
label="ดูไฟล์เอกสาร"
color="primary"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
<div class="col-xs-12 col-sm-10 row">
<div class="row q-col-gutter-sm col-12">
<div class="col-12">
<!-- :rules="[(val) => !!val || 'เลือกไฟล']" -->
<q-file
:disable="!store.statusUpload"
ref="fileEvaluation1Ref"
v-model="fileEvaluation1"
class="col-12"
outlined
hide-bottom-space
dense
lazy-rules
accept=".pdf"
@ -433,27 +439,29 @@ watch(
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
<template v-slot:after>
<div>
<q-btn
:disable="!store.statusUpload"
round
dense
flat
color="primary"
icon="mdi-upload"
@click="
fetchPathUpload(
'เล่ม 2',
evaluateId,
'1-เอกสารเล่ม 2',
fileEvaluation1
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</div>
</template>
</q-file>
</div>
<div class="col-2 self-center text-center q-pl-none">
<q-btn
:disable="!store.statusUpload"
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
fetchPathUpload(
'เล่ม 2',
evaluateId,
'1-เอกสารเล่ม 2',
fileEvaluation1
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</div>
</div>
</div>
</div>

View file

@ -83,6 +83,7 @@ onMounted(async () => {
v-ripple
:active="selectedItem === 1 ? true : false"
active-class="text-primary"
class=" cursor-pointer"
>
<q-item-section>เอกสารเล 2</q-item-section>
</q-item>

View file

@ -163,74 +163,75 @@ onMounted(async () => {
</script>
<template>
<div class="row q-gutter-md">
<div class="col-12 text-center">
<q-badge
v-if="status == 'WAIT_CHECK_DOC_V2'"
outline
color="orange-5"
label="รอพิจารณาผลการประเมิน"
class="q-pa-sm"
style="font-size: 16px"
/>
</div>
<div class="col-12 q-pa-md">
<div class="row q-col-gutter-md">
<div class="col-12 text-center">
<q-badge
v-if="status == 'WAIT_CHECK_DOC_V2'"
outline
color="orange-5"
label="รอพิจารณาผลการประเมิน"
class="q-pa-sm"
style="font-size: 16px"
/>
</div>
<!-- <div class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<q-card class="col-12 items-center">
<q-tabs
v-model="tabMenu"
dense
align="left"
inline-label
class="rounded-borders"
indicator-color="primary"
active-bg-color="teal-1"
active-class="text-primary"
>
<q-tab name="director" label="กรรมการ" />
<q-tab name="meeting" label="การประชุม" />
</q-tabs>
<q-separator />
<q-tab-panels v-model="tabMenu" animated>
<q-tab-panel name="director"
><TableDirector :type="tabMenu" :row="directorList"
/></q-tab-panel>
<!-- <div class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<q-card class="col-12 items-center">
<q-tabs
v-model="tabMenu"
dense
align="left"
inline-label
class="rounded-borders"
indicator-color="primary"
active-bg-color="teal-1"
active-class="text-primary"
>
<q-tab name="director" label="กรรมการ" />
<q-tab name="meeting" label="การประชุม" />
</q-tabs>
<q-separator />
<q-tab-panels v-model="tabMenu" animated>
<q-tab-panel name="director"
><TableDirector :type="tabMenu" :row="directorList"
/></q-tab-panel>
<q-tab-panel name="meeting">
<TableDirector :type="tabMenu" :row="meetingList"
/></q-tab-panel>
</q-tab-panels>
<q-tab-panel name="meeting">
<TableDirector :type="tabMenu" :row="meetingList"
/></q-tab-panel>
</q-tab-panels>
</q-card>
</q-card>
</q-card>
</div> -->
<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 (ฉบบแกไข)
</div>
<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-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 class="col-12">
<q-card class=" shadow-0" bordered style="border: 1px solid #d6dee1">
<div class="row col-12 bg-grey-1">
<div class="text-weight-medium q-py-sm q-px-md">
เอกสารเล 2 (ฉบบแกไข)
</div>
<q-space/>
<div v-if="downloadUrl != ''">
<q-btn
:href="downloadUrl"
target="_blank"
class="col-12"
outline
icon="visibility"
label="ดูไฟล์เอกสาร"
color="primary"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
</div>
<div class="col-12"><q-separator /></div>
<div class="row">
<div class="col-12 q-pa-sm">
<div v-if="store.currentStep == 8" class="row col-12">
<div class="col-xs-12 col-sm-10 row">
<div class="col-12">
<q-file
v-model="fileEvaluationEdit"
class="col-12"
@ -243,31 +244,31 @@ onMounted(async () => {
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
<template v-slot:after>
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
fetchPathUpload(
'เล่ม 2',
evaluateId,
'2-เอกสารเล่ม 2 (ฉบับแก้ไข)',
fileEvaluationEdit
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</template>
</q-file>
</div>
<div class="col-2 self-center text-center q-pl-none">
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
fetchPathUpload(
'เล่ม 2',
evaluateId,
'2-เอกสารเล่ม 2 (ฉบับแก้ไข)',
fileEvaluationEdit
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</div>
</div>
</div>
</div>
</div>
</q-card>
</q-card>
</div>
</div>
</div>

View file

@ -1,7 +1,7 @@
<script setup lang="ts">
import { ref } from "vue";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
import { useRouter, useRoute } from "vue-router";
import env from "@/api";
/** importStore*/
@ -12,6 +12,7 @@ import { useCounterMixin } from "@/stores/mixin";
const mixin = useCounterMixin();
const $q = useQuasar();
const route = useRoute();
const router = useRouter()
const evaluateId = ref<string>(route.params.id.toString());
@ -28,20 +29,21 @@ function copyLink() {
</script>
<template>
<div class="row">
<div class="col-12 text-center">
<p class="text-weight-bold q-mb-none">Public URL</p>
<div class="row q-pa-md">
<div class="col-12 row items-center justify-center">
<div class="row"><strong>Public URL : </strong>
<a :href="`${link}/${evaluateId}`" class="q-pl-sm"> {{link}}/{{ evaluateId }}
</a>
</div>
<q-space/>
<q-btn
class="q-mt-md"
outline
icon="mdi-clipboard-outline"
icon="mdi-content-copy"
label="คัดลอกลิงก์"
color="primary"
@click="copyLink"
>
<q-tooltip> ดลอกลงก </q-tooltip></q-btn
>
<q-tooltip> ดลอกลงก </q-tooltip></q-btn>
</div>
</div>
</template>

View file

@ -163,73 +163,7 @@ function backPage() {
</div>
</template>
</q-splitter>
<!-- <q-card class="bg-white">
<div class="q-pa-md">
<div class="row items-start items-center">
<div class="col">
<q-btn
padding="xs"
icon="mdi-chevron-left"
color="grey-2"
text-color="grey-5"
size="md"
class="my-auto"
@click="backPage"
:disable="page == 1"
/>
</div>
<div class="col-12 col-md-auto">
<div class="q-pa-md flex">
หนาท {{ page }} จาก {{ numOfPages }}
</div>
</div>
<div class="col text-right">
<q-btn
padding="xs"
icon="mdi-chevron-right"
color="grey-2"
text-color="grey-5"
size="md"
@click="nextPage"
:disable="page === numOfPages"
/>
</div>
</div>
<div class="row items- items-center">
<VuePDF ref="vuePDFRef" :pdf="pdfSrc" :page="page" fit-parent />
</div>
<div class="row items- items-end">
<div class="col">
<q-btn
padding="xs"
icon="mdi-chevron-left"
color="grey-2"
text-color="grey-5"
size="md"
class="my-auto"
@click="backPage"
:disable="page == 1"
/>
</div>
<div class="col-12 col-md-auto">
<div class="q-pa-md flex">
หนาท {{ page }} จาก {{ numOfPages }}
</div>
</div>
<div class="col text-right">
<q-btn
padding="xs"
icon="mdi-chevron-right"
color="grey-2"
text-color="grey-5"
size="md"
@click="nextPage"
:disable="page === numOfPages"
/>
</div>
</div>
</div>
</q-card> -->
</template>
<style scoped></style>

View file

@ -21,7 +21,7 @@ const tabPanels = store.tabPanels
<template>
<q-card bordered class="col-12 row shadow-0" :style="$q.screen.lt.sm ? '' : 'height: 60vh; overflow: scroll;' ">
<div class="col-12 row items-center q-px-sm q-pb-xs">
<div class="col-12 row items-center q-px-sm ">
<div class="q-pl-sm text-weight-medium" >เอกสารทปโหลด</div>
<q-space />
<q-btn
@ -45,9 +45,7 @@ const tabPanels = store.tabPanels
>
</div>
<q-tab-panels v-model="store.tabPanels" animated swipeable vertical class="col-12">
<q-tab-panels v-model="store.tabPanels" animated swipeable vertical class="col-12 row">
<q-tab-panel name="1">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>

View file

@ -16,28 +16,31 @@ const modalPerview = ref<boolean>(false);
</script>
<template>
<div class="col-12 row">
<q-space />
<q-btn
flat
round
color="primary"
icon="download"
target="_blank"
:href="props.urlDownloadFile"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
flat
round
color="primary"
icon="mdi-fullscreen"
@click="modalPerview = true"
><q-tooltip>เตมจอ</q-tooltip></q-btn
>
</div>
<ViewPDF :pdfSrc="props.pdfSrc" />
<q-card bordered class="col-12 row shadow-0" :style="$q.screen.lt.sm ? '' : 'height: 60vh; overflow: scroll;' ">
<div class="col-12 row items-center q-px-sm">
<div class="q-pl-sm text-weight-medium" >เอกสารทปโหลด</div>
<q-space />
<q-btn
flat
color="primary"
icon="download"
target="_blank"
dense
:href="props.urlDownloadFile"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
flat
color="primary"
icon="mdi-fullscreen"
dense
@click="modalPerview = true"
><q-tooltip>เตมจอ</q-tooltip></q-btn
>
</div>
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-card>
<q-dialog v-model="modalPerview" full-width fullHeight>
<q-card>