ปรับ ui การประเมิน step 1-3

This commit is contained in:
Tanyalak 2024-01-16 19:55:28 +07:00
parent b14413eb98
commit 200881c0c7
9 changed files with 907 additions and 866 deletions

View file

@ -12,25 +12,21 @@ const props = defineProps({
</script>
<template>
<q-table
ref="table"
flat
bordered
class="custom-header-table"
:columns="props.columns"
:rows="props.row"
dense
:rows-per-page-options="[10, 25, 50, 100]"
virtual-scroll
>
<template v-slot:header="props">
<q-tr :props="props">
<q-th v-for="col in props.cols" :key="col.name" :props="props">
<span class="text-weight-medium" v-html="col.label" />
</q-th>
</q-tr>
</template>
</q-table>
<div class="q-pa-sm row col-12">
<q-table
ref="table"
flat
bordered
:columns="props.columns"
:rows="props.row"
dense
:rows-per-page-options="[10, 25, 50, 100]"
virtual-scroll
class="row col-12"
:style="$q.screen.lt.sm ? 'width: 70vw' : 'width: 50vw;'"
>
</q-table>
</div>
</template>
<style lang="scss" scoped>

View file

@ -62,23 +62,25 @@ function backPage() {
<q-splitter
v-model="splitterModel"
horizontal
class="bg-grey-1 q-px-sm"
:style="
props.type !== 'popup'
? 'height: 50vh; border: 1px solid rgb(210, 210, 210);border-radius: 5px;'
? 'height: 50vh; border-radius: 5px;'
: 'border: 1px solid rgb(210, 210, 210);border-radius: 5px;'
"
before-class="overflow-hidden disable"
separator-class="bg-white disabled"
>
<template v-slot:before>
<div class="q-px-sm">
<div class="q-py-sm">
<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"
color="grey-4"
unelevated
text-color="grey-8"
size="md"
class="my-auto"
@click="backPage"
@ -94,8 +96,9 @@ function backPage() {
<q-btn
padding="xs"
icon="mdi-chevron-right"
color="grey-2"
text-color="grey-5"
color="grey-4"
unelevated
text-color="grey-8"
size="md"
@click="nextPage"
:disable="page === numOfPages"
@ -123,14 +126,15 @@ function backPage() {
</div>
</template>
<template v-slot:default>
<div class="q-pa-md">
<div class="q-py-sm">
<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"
color="grey-4"
unelevated
text-color="grey-8"
size="md"
class="my-auto"
@click="backPage"
@ -147,8 +151,9 @@ function backPage() {
<q-btn
padding="xs"
icon="mdi-chevron-right"
color="grey-2"
text-color="grey-5"
color="grey-4"
unelevated
text-color="grey-8"
size="md"
@click="nextPage"
:disable="page === numOfPages"

View file

@ -213,15 +213,15 @@ onMounted(async () => {
</script>
<template>
<q-scroll-area style="height: 500px">
<q-card class="q-gutter-md" style="width: 690px;">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">อมลสวนต</span>
</div>
<q-separator />
<div class="col-12 row" :style="$q.screen.lt.sm ? '' : 'height: 60vh; overflow: scroll;' ">
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">อมลสวนต</span>
</div>
<div class="col-12"><q-separator /></div>
<div class="row q-pa-sm">
<div class="row col-12 q-pa-sm">
<div class="row q-col-gutter-sm">
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
@ -245,9 +245,6 @@ onMounted(async () => {
readonly
label="วันเดือนปีเกิด"
>
<template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
@ -266,14 +263,6 @@ onMounted(async () => {
label="ตำแหน่งเลขที่"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
readonly
:model-value="formDetail.oc"
label="สังกัด"
/>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
<q-input
borderless
@ -309,17 +298,26 @@ onMounted(async () => {
label="อายุราชการ"
/>
</div>
<div class="col-xs-12 col-sm-9">
<q-input
borderless
readonly
:model-value="formDetail.oc"
label="สังกัด"
/>
</div>
</div>
</q-card>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการศกษา </span>
</div>
<q-separator />
<div v-if="formDetail.educations && formDetail.educations.length > 0">
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">ประวการศกษา </span>
</div>
<div class="col-12"><q-separator /></div>
<div class="row col-12 q-pa-sm" v-if="formDetail.educations && formDetail.educations.length > 0">
<div
class="row q-pa-sm"
class="row q-col-gutter-sm"
v-for="(education, index) in formDetail.educations"
:key="index"
>
@ -348,9 +346,6 @@ onMounted(async () => {
readonly
label="ตั้งแต่"
>
<template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</div>
@ -361,9 +356,6 @@ onMounted(async () => {
readonly
label="ถึง"
>
<template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</div>
<div class="col-xs-6 col-sm-4 col-md-3">
@ -373,9 +365,6 @@ onMounted(async () => {
readonly
label="วันที่สำเร็จการศึกษา"
>
<template v-slot:prepend>
<q-icon class="size-icon" name="o_calendar_today" />
</template>
</q-input>
</div>
@ -431,74 +420,67 @@ onMounted(async () => {
label="ประเทศ"
/>
</div>
</div>
</div>
<div v-else class="row col-12 q-pa-md">ไมประวการศกษา</div>
<q-separator />
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ใบอนญาตประกอบวชาช</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData
:columns="columnsCertificates"
:row="formDetail.certificates"
/>
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการรบราชการ</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnSalaries" :row="formDetail.salaries" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประวการฝกอบรมดงาน</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnTraining" :row="formDetail.trainings" />
</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ประสบการณในการปฏงาน </span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">-</div>
</div>
</q-card>
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-bold row items-center bg-grey-2">
<span class="q-ml-lg q-my-sm">ผลงานทเคยเสนอขอประเม (าม)</span>
</div>
<q-separator />
<div class="row q-pa-sm">
<div class="col-xs-12 col-sm-12 col-md-12">
<TableData :columns="columnProjectsProposed" />
</div>
</div>
</q-card>
</div>
<div v-else class="row col-12 q-pa-md">ไมประวการศกษา</div>
</q-card>
</q-scroll-area>
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">ใบอนญาตประกอบวชาช</span>
</div>
<div class="col-12"><q-separator /></div>
<TableData
class="col-12"
:columns="columnsCertificates"
:row="formDetail.certificates"
/>
</q-card>
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">ประวการรบราชการ</span>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-10">
<TableData :columns="columnSalaries" :row="formDetail.salaries" />
</div>
</q-card>
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">ประวการฝกอบรมดงาน</span>
</div>
<div class="col-12"><q-separator /></div>
<TableData class="col-12" :columns="columnTraining" :row="formDetail.trainings"/>
</q-card>
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">ประสบการณในการปฏงาน </span>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-12 q-pa-sm">
-
</div>
</q-card>
<q-card class="col-12 cardSp1" bordered>
<div class="text-weight-bold row items-center bg-grey-2 col-12">
<span class="q-ml-lg q-my-sm">ผลงานทเคยเสนอขอประเม (าม)</span>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-10">
<TableData :columns="columnProjectsProposed" />
</div>
</q-card>
</div>
</template>
<style scoped></style>
<style >
.cardSp1{
border: 1px solid #d6dee1;
margin-bottom: 10px ;
box-shadow: none !important;
}
</style>

View file

@ -16,54 +16,58 @@ const props = defineProps({
const modalPerview = ref<boolean>(false);
const store = useEvaluateStore();
const tabPanels = store.tabPanels
</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 class="col-12 row items-center q-px-sm q-py-xs">
<div class="q-pl-sm text-weight-medium" >เอกสารทปโหลด</div>
<q-space />
<q-btn
flat
color="primary"
icon="download"
target="_blank"
:href="props.urlDownloadFile"
>
<q-tooltip>ดาวนโหลด</q-tooltip>
</q-btn>
<q-btn
flat
color="primary"
icon="mdi-fullscreen"
@click="modalPerview = true"
><q-tooltip>เตมจอ</q-tooltip></q-btn
>
</div>
<q-tab-panels v-model="store.tabPanels" animated swipeable vertical class="col-12">
<q-tab-panel name="1">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>
<q-tab-panel name="2">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>
<q-tab-panel name="3">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>
<q-tab-panel name="4">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>
<q-tab-panel name="5">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>
<q-tab-panel name="6">
<ViewPDF :pdfSrc="props.pdfSrc" class="col-12" />
</q-tab-panel>
</q-tab-panels>
</div>
<q-tab-panels v-model="store.tabPanels" animated swipeable vertical>
<q-tab-panel name="1">
<ViewPDF :pdfSrc="props.pdfSrc" />
</q-tab-panel>
<q-tab-panel name="2">
<ViewPDF :pdfSrc="props.pdfSrc" />
</q-tab-panel>
<q-tab-panel name="3">
<ViewPDF :pdfSrc="props.pdfSrc" />
</q-tab-panel>
<q-tab-panel name="4">
<ViewPDF :pdfSrc="props.pdfSrc" />
</q-tab-panel>
<q-tab-panel name="5">
<ViewPDF :pdfSrc="props.pdfSrc" />
</q-tab-panel>
<q-tab-panel name="6">
<ViewPDF :pdfSrc="props.pdfSrc" />
</q-tab-panel>
</q-tab-panels>
<q-dialog v-model="modalPerview" full-width fullHeight>
<q-card>
<q-card-section>