ui ประเมินผล
This commit is contained in:
parent
b2f5d6b122
commit
a3787f976a
13 changed files with 717 additions and 93 deletions
|
|
@ -5,9 +5,11 @@ import http from "@/plugins/http";
|
|||
import config from "@/app.config";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useEvaluateStore } from "@/modules/06_evaluate/store";
|
||||
|
||||
const mixin = useCounterMixin();
|
||||
const $q = useQuasar();
|
||||
const store = useEvaluateStore();
|
||||
|
||||
const { showLoader, hideLoader, messageError } = mixin;
|
||||
|
||||
|
|
@ -55,7 +57,7 @@ async function fetchCheckSpec(id: string) {
|
|||
}
|
||||
|
||||
onMounted(() => {
|
||||
props.evaluateId && fetchCheckSpec(props.evaluateId);
|
||||
store.step === 1 && props.evaluateId && fetchCheckSpec(props.evaluateId);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
@ -71,7 +73,12 @@ onMounted(() => {
|
|||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>คุณวุฒิการศึกษา </q-item-label>
|
||||
<q-item-label
|
||||
>คุณวุฒิการศึกษา
|
||||
<q-btn flat round dense color="info" icon="info">
|
||||
<q-tooltip>ข้อมูลเพิ่มเติม</q-tooltip>
|
||||
</q-btn>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-ripple>
|
||||
|
|
@ -111,7 +118,10 @@ onMounted(() => {
|
|||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label
|
||||
>ระยะเวลาขั้นต่ำในการดำรงตำแหน่งในสายงานที่ขอเข้ารับการคัดเลือก</q-item-label
|
||||
>ระยะเวลาขั้นต่ำในการดำรงตำแหน่งในสายงานที่ขอเข้ารับการคัดเลือก
|
||||
<q-btn flat round dense color="info" icon="info">
|
||||
<q-tooltip>ข้อมูลเพิ่มเติม</q-tooltip>
|
||||
</q-btn></q-item-label
|
||||
>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
|
|
|||
|
|
@ -9,8 +9,10 @@ import { useQuasar, type StringDictionary } from "quasar";
|
|||
import type { FormCommand } from "@/modules/06_evaluate/interface/evalute";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useEvaluateStore } from "@/modules/06_evaluate/store";
|
||||
|
||||
const $q = useQuasar();
|
||||
const store = useEvaluateStore();
|
||||
|
||||
const mixin = useCounterMixin();
|
||||
const { showLoader, hideLoader, messageError } = mixin;
|
||||
|
|
@ -107,10 +109,10 @@ async function fetchPathUpload(volume: string, id: string) {
|
|||
fileList: [
|
||||
"1-แบบพิจารณาคุณสมบัติบุคคล",
|
||||
"2-แบบแสดงรายละเอียดการเสนอผลงาน",
|
||||
"3-แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูล",
|
||||
"3-แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล (เอกสารแบบ ก.)",
|
||||
"4-แบบประเมินคุณลักษณะบุคคล",
|
||||
"5-แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก",
|
||||
"6-ผลงานที่จะส่งประเมิน",
|
||||
"5-แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)",
|
||||
"6-ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)",
|
||||
],
|
||||
};
|
||||
await http
|
||||
|
|
@ -137,7 +139,7 @@ onMounted(async () => {
|
|||
<template>
|
||||
<div class="row q-col-gutter-md">
|
||||
<!-- แบบพิจารณาคุณสมบัติบุคคล -->
|
||||
<div class="col-6">
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
แบบพิจารณาคุณสมบัติบุคคล
|
||||
|
|
@ -204,7 +206,7 @@ onMounted(async () => {
|
|||
</div>
|
||||
|
||||
<!-- แบบแสดงรายละเอียดการเสนอผลงาน -->
|
||||
<div class="col-6">
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
แบบแสดงรายละเอียดการเสนอผลงาน
|
||||
|
|
@ -269,11 +271,12 @@ onMounted(async () => {
|
|||
</q-card>
|
||||
</div>
|
||||
|
||||
<!-- แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล -->
|
||||
<div class="col-6">
|
||||
<!-- แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล (เอกสารแบบ ก.) -->
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล
|
||||
(เอกสารแบบ ก.)
|
||||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row">
|
||||
|
|
@ -290,7 +293,7 @@ onMounted(async () => {
|
|||
onClickDowloadFile(
|
||||
'EV1_007',
|
||||
'template-3',
|
||||
'แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล'
|
||||
'แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล (เอกสารแบบ ก.)'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
@ -336,7 +339,7 @@ onMounted(async () => {
|
|||
</div>
|
||||
|
||||
<!-- แบบประเมินคุณลักษณะบุคคล -->
|
||||
<div class="col-6">
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
แบบประเมินคุณลักษณะบุคคล
|
||||
|
|
@ -401,11 +404,11 @@ onMounted(async () => {
|
|||
</q-card>
|
||||
</div>
|
||||
|
||||
<!-- แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก -->
|
||||
<div class="col-6">
|
||||
<!-- แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9) -->
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก
|
||||
แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)
|
||||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row">
|
||||
|
|
@ -422,7 +425,7 @@ onMounted(async () => {
|
|||
onClickDowloadFile(
|
||||
'EV1_009',
|
||||
'template-5',
|
||||
'แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก'
|
||||
'แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)'
|
||||
)
|
||||
"
|
||||
><q-tooltip> ดาวน์โหลดต้นแบบ </q-tooltip></q-btn
|
||||
|
|
@ -466,11 +469,11 @@ onMounted(async () => {
|
|||
</q-card>
|
||||
</div>
|
||||
|
||||
<!--ผลงานที่จะส่งประเมิน -->
|
||||
<div class="col-6">
|
||||
<!--ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11) -->
|
||||
<div class="col-6" v-if="store.currentStep === 2">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
ผลงานที่จะส่งประเมิน
|
||||
ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)
|
||||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row">
|
||||
|
|
@ -487,7 +490,7 @@ onMounted(async () => {
|
|||
onClickDowloadFile(
|
||||
'EV1_010',
|
||||
'template-6',
|
||||
'ผลงานที่จะส่งประเมิน'
|
||||
'ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)'
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,8 @@ function handleItemClick(itemNumber: number) {
|
|||
@click="handleItemClick(3)"
|
||||
>
|
||||
<q-item-section
|
||||
>แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล</q-item-section
|
||||
>แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลเพื่อประกอบการคัดเลือกบุคคล
|
||||
(เอกสารแบบ ก.)</q-item-section
|
||||
>
|
||||
</q-item>
|
||||
<q-item
|
||||
|
|
@ -63,7 +64,9 @@ function handleItemClick(itemNumber: number) {
|
|||
active-class="text-primary"
|
||||
@click="handleItemClick(5)"
|
||||
>
|
||||
<q-item-section> แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก </q-item-section>
|
||||
<q-item-section>
|
||||
แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
|
|
@ -72,7 +75,7 @@ function handleItemClick(itemNumber: number) {
|
|||
active-class="text-primary"
|
||||
@click="handleItemClick(6)"
|
||||
>
|
||||
<q-item-section> ผลงานที่จะส่งประเมิน </q-item-section>
|
||||
<q-item-section> ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11) </q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,40 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from "vue";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
const mixins = useCounterMixin();
|
||||
const { date2Thai } = mixins;
|
||||
const status = ref<string>("ANNOUNCE_WEB");
|
||||
const website = ref<string>("https://bma-ehr.frappet.com/");
|
||||
const AnnouncementDate = ref<string | null>(date2Thai(new Date()));
|
||||
|
||||
const items = ref<any>([
|
||||
{ label: "แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)" },
|
||||
{ label: "ประกาศผลการคัดเลือกบุคคล (เอกสารหมายเลข 10)" },
|
||||
{ label: "เอกสารแสดงผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)" },
|
||||
]);
|
||||
|
||||
function copyLink(link: string) {
|
||||
console.log(`Copying link ${link}`);
|
||||
const textarea = document.createElement("textarea");
|
||||
textarea.value = link;
|
||||
document.body.appendChild(textarea);
|
||||
textarea.select();
|
||||
document.execCommand("copy");
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="row">
|
||||
<div class="col-12 text-center q-">
|
||||
<q-badge
|
||||
<div class="row q-gutter-md">
|
||||
<div class="col-12 text-center">
|
||||
<q-banner class="text-weight-bold text-red-14 bg-red-2">
|
||||
<div class="text-weight-bold">
|
||||
<q-icon name="info_outline" color="red-14" size="24px" />
|
||||
ประกาศเมื่อวันที่ {{ AnnouncementDate }}
|
||||
</div>
|
||||
</q-banner>
|
||||
<!-- <q-badge
|
||||
v-if="status == 'ANNOUNCE_WEB'"
|
||||
outline
|
||||
color="primary"
|
||||
|
|
@ -16,9 +42,41 @@ const website = ref<string>("https://bma-ehr.frappet.com/");
|
|||
class="q-pa-sm"
|
||||
style="font-size: 16px"
|
||||
/>
|
||||
<div>
|
||||
<a :href="website" target="_blank">{{ website }}</a>
|
||||
</div>
|
||||
<div> -->
|
||||
<!-- <a :href="website" target="_blank">{{ website }}</a> -->
|
||||
<!-- </div> -->
|
||||
</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">
|
||||
เอกสารประกาศผลการคัดเลือกบุคคล
|
||||
</div>
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row q-pa-md">
|
||||
<div class="col-12">
|
||||
<q-list>
|
||||
<q-item v-for="(item, index) in items" :key="index">
|
||||
<q-item-section>
|
||||
<q-item-label>{{ item.label }}</q-item-label>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section side top>
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="primary"
|
||||
icon="mdi-clipboard-outline"
|
||||
@click="copyLink(item.label)"
|
||||
>
|
||||
<q-tooltip>คัดลอกลิ้งค์</q-tooltip>
|
||||
</q-btn>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,21 +1,80 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from "vue";
|
||||
import { ref, reactive, onMounted } from "vue";
|
||||
import ViewPDF from "@/modules/06_evaluate/components/viewstep/viewPDF.vue";
|
||||
|
||||
const fileEvaluation1 = ref<any>();
|
||||
import type { FormCommand } from "@/modules/06_evaluate/interface/evalute";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useEvaluateStore } from "@/modules/06_evaluate/store";
|
||||
|
||||
const store = useEvaluateStore();
|
||||
const mixins = useCounterMixin();
|
||||
const { date2Thai } = mixins;
|
||||
|
||||
const props = defineProps({
|
||||
evaluateId: {
|
||||
type: String,
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:form"]);
|
||||
|
||||
const lastDateSendPerformance = ref<string | null>(date2Thai(new Date()));
|
||||
|
||||
const fileEvaluation1 = ref<any>();
|
||||
const pdfSrc = ref<any>();
|
||||
|
||||
const formCommand = reactive<FormCommand>({
|
||||
commanderFullname: "",
|
||||
commanderPosition: "",
|
||||
commanderAboveFullname: "",
|
||||
commanderAbovePosition: "",
|
||||
});
|
||||
|
||||
const commanderFullnameRef = ref<object | null>(null);
|
||||
const commanderPositionRef = ref<object | null>(null);
|
||||
const commanderAboveFullnameRef = ref<object | null>(null);
|
||||
const commanderAbovePositionRef = ref<object | null>(null);
|
||||
|
||||
const modalView = ref<boolean>(false);
|
||||
function onClickViewPDF(file: any) {
|
||||
pdfSrc.value = file.webkitRelativePath;
|
||||
modalView.value = true;
|
||||
}
|
||||
|
||||
const updateInput = (value: any) => {
|
||||
const ref = {
|
||||
commanderFullnameRef: commanderFullnameRef.value,
|
||||
commanderPositionRef: commanderPositionRef.value,
|
||||
commanderAboveFullnameRef: commanderAboveFullnameRef.value,
|
||||
commanderAbovePositionRef: commanderAbovePositionRef.value,
|
||||
};
|
||||
emit("update:form", value, ref);
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
const ref = {
|
||||
commanderFullnameRef: commanderFullnameRef.value,
|
||||
commanderPositionRef: commanderPositionRef.value,
|
||||
commanderAboveFullnameRef: commanderAboveFullnameRef.value,
|
||||
commanderAbovePositionRef: commanderAbovePositionRef.value,
|
||||
};
|
||||
emit("update:form", formCommand, ref);
|
||||
// props.evaluateId && (await fetchPathUpload("เล่ม 2", props.evaluateId));
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="row q-col-gutter-md">
|
||||
<div class="col-6">
|
||||
<div class="col-12 text-center">
|
||||
<q-banner class="text-weight-bold text-red-14 bg-red-2">
|
||||
<div class="text-weight-bold">
|
||||
<q-icon name="info_outline" color="red-14" size="24px" />
|
||||
วันสุดท้ายของการส่งผลงานคือวันที่ {{ lastDateSendPerformance }}
|
||||
</div>
|
||||
</q-banner>
|
||||
</div>
|
||||
<div class="col-6" v-if="store.currentStep === 6">
|
||||
<q-card bordered style="border: 1px solid #d6dee1">
|
||||
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
|
||||
เอกสารเล่ม 2
|
||||
|
|
@ -73,6 +132,82 @@ function onClickViewPDF(file: any) {
|
|||
</div>
|
||||
</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">
|
||||
เลือกผู้เซ็นเอกสาร
|
||||
</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-12 row">
|
||||
<div class="text-weight-medium q-py-sm">
|
||||
ผู้บังคับบัญชาชั้นต้น
|
||||
</div>
|
||||
<div class="row col-12 q-col-gutter-md q-pa-sm">
|
||||
<q-input
|
||||
ref="commanderFullnameRef"
|
||||
dense
|
||||
class="col-xs-12 col-sm-6"
|
||||
outlined
|
||||
label="ชื่อ-นามสกุล"
|
||||
v-model="formCommand.commanderFullname"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
<q-input
|
||||
ref="commanderPositionRef"
|
||||
class="col-xs-12 col-sm-6"
|
||||
dense
|
||||
outlined
|
||||
v-model="formCommand.commanderPosition"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
label="ตำแหน่ง"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
</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
|
||||
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
|
||||
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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dialog Full Screen -->
|
||||
|
|
|
|||
|
|
@ -1,11 +1,54 @@
|
|||
<script setup lang="ts">
|
||||
import { ref } from "vue";
|
||||
import genReport from "@/plugins/genreport";
|
||||
|
||||
import TableDirector from "@/modules/06_evaluate/components/directorandmeet/Table.vue";
|
||||
|
||||
const status = ref<string>("WAIT_CHECK_DOC_V2");
|
||||
const tabMenu = ref<string>("director");
|
||||
|
||||
const fileEvaluationEdit = ref<any>();
|
||||
|
||||
const modalView = ref<boolean>(false);
|
||||
const numOfPages = ref<number>(0);
|
||||
const page = ref<number>(1);
|
||||
const pdfSrc = ref<any>();
|
||||
|
||||
function onClickViewPDF(file: any) {
|
||||
pdfSrc.value = file.webkitRelativePath;
|
||||
modalView.value = true;
|
||||
}
|
||||
|
||||
/** ไปหน้าต่อไปของรายงาน */
|
||||
function nextPage() {
|
||||
if (page.value < numOfPages.value) {
|
||||
page.value++;
|
||||
}
|
||||
}
|
||||
|
||||
/** กลับหน้าก่อนหน้าของรายงาน */
|
||||
function backPage() {
|
||||
if (page.value !== 1) {
|
||||
page.value--;
|
||||
}
|
||||
}
|
||||
|
||||
async function onClickDowloadFile(
|
||||
tp: string,
|
||||
templateName: string,
|
||||
fileName: string
|
||||
) {
|
||||
const body = {
|
||||
template: tp,
|
||||
reportName: templateName,
|
||||
data: {},
|
||||
};
|
||||
await genReport(body, fileName);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="row">
|
||||
<div class="row q-gutter-md">
|
||||
<div class="col-12 text-center">
|
||||
<q-badge
|
||||
v-if="status == 'WAIT_CHECK_DOC_V2'"
|
||||
|
|
@ -16,7 +59,191 @@ const status = ref<string>("WAIT_CHECK_DOC_V2");
|
|||
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"
|
||||
/></q-tab-panel>
|
||||
|
||||
<q-tab-panel name="meeting">
|
||||
<TableDirector :type="tabMenu"
|
||||
/></q-tab-panel>
|
||||
</q-tab-panels>
|
||||
</q-card>
|
||||
</q-card>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<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-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">
|
||||
<q-btn
|
||||
v-if="fileEvaluationEdit"
|
||||
class="col-12"
|
||||
outline
|
||||
icon="visibility"
|
||||
label="ดูไฟล์เอกสาร"
|
||||
color="primary"
|
||||
@click="onClickViewPDF"
|
||||
>
|
||||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluationEdit"
|
||||
class="col-12"
|
||||
outlined
|
||||
dense
|
||||
hide-bottom-space
|
||||
lazy-rules
|
||||
accept=".pdf"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="attach_file" />
|
||||
</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"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dialog Full Screen -->
|
||||
<q-dialog
|
||||
v-model="modalView"
|
||||
persistent
|
||||
:maximized="true"
|
||||
transition-show="slide-up"
|
||||
transition-hide="slide-down"
|
||||
>
|
||||
<q-card class="bg-white">
|
||||
<div class="flex justify-end items-center align-center q-mr-md q-mt-sm">
|
||||
<q-btn
|
||||
icon="close"
|
||||
unelevated
|
||||
round
|
||||
dense
|
||||
style="color: #ff8080; background-color: #ffdede"
|
||||
size="12px"
|
||||
v-close-popup
|
||||
/>
|
||||
</div>
|
||||
<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>
|
||||
</q-dialog>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
|
|||
|
|
@ -7,14 +7,22 @@ const status = ref<string>("DONE");
|
|||
<template>
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
<q-badge
|
||||
<!-- <q-badge
|
||||
v-if="status == 'DONE'"
|
||||
outline
|
||||
color="green"
|
||||
label="เสร็จสิ้น"
|
||||
class="q-pa-sm"
|
||||
style="font-size: 16px"
|
||||
/>
|
||||
/> -->
|
||||
<q-btn
|
||||
outline
|
||||
icon-right="mdi-clipboard-outline"
|
||||
label="เสร็จสิ้น"
|
||||
color="primary"
|
||||
>
|
||||
<q-tooltip> คัดลอกลิ้งค์ </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue