Merge branch 'develop' of github.com:Frappet/bma-ehr-frontend into develop

This commit is contained in:
Warunee Tamkoo 2024-08-05 10:21:14 +07:00
commit cc8e22b8e9
5 changed files with 316 additions and 234 deletions

View file

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref, onMounted } from "vue";
import { checkPermission } from "@/utils/permissions";
import { useRoute } from "vue-router";
import { useQuasar } from "quasar";
import axios from "axios";
@ -429,14 +430,14 @@ onMounted(async () => {
</div>
<!-- ประกาศผลการคดเลอกบคคล (เอกสารหมายเลข 10) -->
<div class="col-12">
<div class="col-12" >
<q-card bordered style="border: 1px solid #d6dee1">
<div
class="text-weight-medium row col-12 bg-grey-1 q-py-sm q-px-md items-center"
>
<div>ประกาศผลการคดเลอกบคคล (เอกสารหมายเลข 10)</div>
<q-space />
<div v-if="store.currentStep == 4">
<div v-if="store.currentStep == 4 ">
<q-btn
icon="download"
color="indigo"
@ -472,7 +473,7 @@ onMounted(async () => {
</div>
<div class="col-12" v-if="store.currentStep == 4"><q-separator /></div>
<div class="row">
<div class="col-12 q-pa-sm" v-if="store.currentStep == 4">
<div class="col-12 q-pa-sm" v-if="store.currentStep == 4 && checkPermission($route)?.attrIsUpdate">
<q-file
ref="fileEvaluationUploadRef"
v-model="fileEvaluationUpload"
@ -507,7 +508,7 @@ onMounted(async () => {
</div>
<!-- ดตอผขอประเม -->
<div class="col-12" v-if="store.currentStep == 4">
<div class="col-12" v-if="store.currentStep == 4 && checkPermission($route)?.attrIsUpdate">
<div class="q-mt-xs q-gutter-md" align="right">
<q-btn label="ติดต่อผู้ขอประเมิน" color="info" @click="openPopUp" />
<q-btn

View file

@ -1,6 +1,7 @@
<script setup lang="ts">
import { ref, onMounted } from "vue";
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
import axios from "axios";
@ -307,6 +308,7 @@ onMounted(async () => {
</q-list>
</q-card>
</div>
<div class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<div
@ -331,7 +333,10 @@ onMounted(async () => {
</div>
</div>
<div class="col-12" v-if="store.currentStep == 5"><q-separator /></div>
<div class="col-12 q-pa-sm" v-if="store.currentStep == 5">
<div
class="col-12 q-pa-sm"
v-if="store.currentStep == 5 && checkPermission($route)?.attrIsUpdate"
>
<q-file
ref="fileEvaluation5Ref"
v-model="fileEvaluation5"
@ -365,7 +370,10 @@ onMounted(async () => {
</q-card>
</div>
<div class="col-12" v-if="store.currentStep == 5">
<div
class="col-12"
v-if="store.currentStep == 5 && checkPermission($route)?.attrIsUpdate"
>
<div class="q-mr-sm" align="right">
<q-btn
unelevated

View file

@ -1,5 +1,6 @@
<script setup lang="ts">
import { onMounted, ref } from "vue";
import { checkPermission } from "@/utils/permissions";
import { useRoute } from "vue-router";
import { useQuasar } from "quasar";
import axios from "axios";
@ -371,17 +372,20 @@ onMounted(async () => {
<div class="row q-col-gutter-sm col-12">
<div class="col-6">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm">
<div
class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm"
>
<div class="col-xs-12 col-sm-9">
แบบตรวจสอบความถกตองครบถวนของขอมลประกอบการประเมนผลงาน
(เอกสารแบบ )
แบบตรวจสอบความถกตองครบถวนของขอมลประกอบการประเมนผลงาน
(เอกสารแบบ )
</div>
<q-space/>
<q-space />
<div class="col-xs-12 col-sm-3 row justify-end">
<div v-if="store.currentStep == 8">
<q-btn
class="col-12"
flat dense
flat
dense
icon="download"
color="indigo"
@click="
@ -411,64 +415,73 @@ onMounted(async () => {
</div>
</div>
</div>
<div class="col-12" v-if="store.currentStep == 8"><q-separator /></div>
<div class="row col-12 q-pa-sm" v-if="store.currentStep == 8">
<div class="row col-12">
<q-file
ref="fileEvaluation81Ref"
v-model="fileEvaluation81"
outlined
hide-bottom-space
lazy-rules
label="อัปโหลดไฟล์"
class="col-12"
<div class="col-12" v-if="store.currentStep == 8">
<q-separator />
</div>
<div
class="row col-12 q-pa-sm"
v-if="
store.currentStep == 8 &&
checkPermission($route)?.attrIsUpdate
"
>
<div class="row col-12">
<q-file
ref="fileEvaluation81Ref"
v-model="fileEvaluation81"
outlined
hide-bottom-space
lazy-rules
label="อัปโหลดไฟล์"
class="col-12"
dense
accept=".pdf"
:rules="
downloadFile1 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์']
: []
"
>
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
<template v-slot:after>
<q-btn
flat
round
dense
accept=".pdf"
:rules="
downloadFile1 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์']
: []
color="primary"
icon="mdi-upload"
@click="
upLoadFile(
'แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลประกอบการประเมินผลงาน (เอกสารแบบ ค)',
fileEvaluation81
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
<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="
upLoadFile(
'แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูลประกอบการประเมินผลงาน (เอกสารแบบ ค)',
fileEvaluation81
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</template>
</q-file>
</div>
</template>
</q-file>
</div>
</div>
</q-card>
</div>
<div class="col-6">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm">
<div
class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm"
>
<div class="col-xs-12 col-sm-9">
ญชแสดงการร-งผลงาน (เอกสารหมายเลข 15)
ญชแสดงการร-งผลงาน (เอกสารหมายเลข 15)
</div>
<q-space/>
<q-space />
<div class="col-xs-12 col-sm-3 row justify-end">
<div
v-if="store.currentStep == 8"
>
<div v-if="store.currentStep == 8">
<q-btn
class="col-12"
flat dense
flat
dense
icon="download"
color="indigo"
@click="
@ -488,7 +501,8 @@ onMounted(async () => {
:href="downloadFile2"
target="_blank"
class="col-12"
flat dense
flat
dense
icon="visibility"
color="blue"
>
@ -497,92 +511,112 @@ onMounted(async () => {
</div>
</div>
</div>
<div class="col-12" v-if="store.currentStep == 8"><q-separator /></div>
<div class="col-12 q-pa-sm" v-if="store.currentStep == 8">
<div class="row col-12">
<q-file
ref="fileEvaluation82Ref"
v-model="fileEvaluation82"
class="col-12"
outlined
dense
hide-bottom-space
lazy-rules
label="อัปโหลดไฟล์"
accept=".pdf"
:rules="
downloadFile2 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์']
: []
"
>
<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="
upLoadFile(
'บัญชีแสดงการรับ-ส่งผลงาน (เอกสารหมายเลข 15)',
fileEvaluation82
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</template>
</q-file>
</div>
<div class="col-12" v-if="store.currentStep == 8">
<q-separator />
</div>
<div
class="col-12 q-pa-sm"
v-if="
store.currentStep == 8 &&
checkPermission($route)?.attrIsUpdate
"
>
<div class="row col-12">
<q-file
ref="fileEvaluation82Ref"
v-model="fileEvaluation82"
class="col-12"
outlined
dense
hide-bottom-space
lazy-rules
label="อัปโหลดไฟล์"
accept=".pdf"
:rules="
downloadFile2 === ''
? [(val) => !!val || 'กรุณาเลือกไฟล์']
: []
"
>
<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="
upLoadFile(
'บัญชีแสดงการรับ-ส่งผลงาน (เอกสารหมายเลข 15)',
fileEvaluation82
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</template>
</q-file>
</div>
</div>
</q-card>
</div>
<div class="col-6">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm">
<div
class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm"
>
<div class="col-xs-12 col-sm-9">
แบบประเมนผลงาน (เอกสารหมายเลข 16)
แบบประเมนผลงาน (เอกสารหมายเลข 16)
</div>
<q-space/>
<q-space />
<div class="col-xs-12 col-sm-3 row justify-end">
<div v-if="store.currentStep == 8">
<q-btn
class="col-12"
dense
flat
icon="download"
color="indigo"
@click="
onClickDowloadFile(
'เอกสารหมายเลข 16',
'template-4',
'เอกสารหมายเลข 16'
)
"
>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div>
<div>
<q-btn
v-if="downloadFile3"
:href="downloadFile3"
target="_blank"
class="col-12"
flat dense
icon="visibility"
color="blue"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
<q-btn
class="col-12"
dense
flat
icon="download"
color="indigo"
@click="
onClickDowloadFile(
'เอกสารหมายเลข 16',
'template-4',
'เอกสารหมายเลข 16'
)
"
>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div>
<div>
<q-btn
v-if="downloadFile3"
:href="downloadFile3"
target="_blank"
class="col-12"
flat
dense
icon="visibility"
color="blue"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
</div>
</div>
<div class="col-12" v-if="store.currentStep == 8"><q-separator /></div>
<div class="col-12 q-pa-sm" v-if="store.currentStep == 8">
<div class="col-12" v-if="store.currentStep == 8">
<q-separator />
</div>
<div
class="col-12 q-pa-sm"
v-if="
store.currentStep == 8 &&
checkPermission($route)?.attrIsUpdate
"
>
<div class="row col-12">
<q-file
ref="fileEvaluation83Ref"
@ -604,20 +638,20 @@ onMounted(async () => {
<q-icon name="attach_file" />
</template>
<template v-slot:after>
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
upLoadFile(
'แบบประเมินผลงาน (เอกสารหมายเลข 16)',
fileEvaluation83
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
upLoadFile(
'แบบประเมินผลงาน (เอกสารหมายเลข 16)',
fileEvaluation83
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</template>
</q-file>
</div>
@ -626,48 +660,58 @@ onMounted(async () => {
</div>
<div class="col-6">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm">
<div
class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm"
>
<div class="col-xs-12 col-sm-9">
แบบแสดงการประเมนผลงาน (เอกสารหมายเลข 17)
แบบแสดงการประเมนผลงาน (เอกสารหมายเลข 17)
</div>
<q-space/>
<q-space />
<div class="col-xs-12 col-sm-3 row justify-end">
<div
v-if="store.currentStep == 8"
<div v-if="store.currentStep == 8">
<q-btn
class="col-12"
flat
dense
icon="download"
color="indigo"
@click="
onClickDowloadFile(
'เอกสารหมายเลข 17',
'template-4',
'เอกสารหมายเลข 17'
)
"
>
<q-btn
class="col-12"
flat dense
icon="download"
color="indigo"
@click="
onClickDowloadFile(
'เอกสารหมายเลข 17',
'template-4',
'เอกสารหมายเลข 17'
)
"
>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div>
<div>
<q-btn
v-if="downloadFile4"
:href="downloadFile4"
target="_blank"
class="col-12"
flat dense
icon="visibility"
color="blue"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
<q-tooltip> ดาวนโหลดตนแบบ </q-tooltip></q-btn
>
</div>
<div>
<q-btn
v-if="downloadFile4"
:href="downloadFile4"
target="_blank"
class="col-12"
flat
dense
icon="visibility"
color="blue"
>
<q-tooltip> ไฟลเอกสาร </q-tooltip></q-btn
>
</div>
</div>
</div>
<div class="col-12" v-if="store.currentStep == 8"><q-separator /></div>
<div class="col-12 q-pa-sm" v-if="store.currentStep == 8">
<div class="col-12" v-if="store.currentStep == 8">
<q-separator />
</div>
<div
class="col-12 q-pa-sm"
v-if="
store.currentStep == 8 &&
checkPermission($route)?.attrIsUpdate
"
>
<div class="row col-12">
<q-file
ref="fileEvaluation84Ref"
@ -711,18 +755,19 @@ onMounted(async () => {
</div>
<div class="col-6">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm">
<div
class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm"
>
<div class="col-xs-12 col-sm-9">
แบบรายงานผลการประเมนบคคล (เอกสารหมายเลข 18)
แบบรายงานผลการประเมนบคคล (เอกสารหมายเลข 18)
</div>
<q-space/>
<q-space />
<div class="col-xs-12 col-sm-3 row justify-end">
<div
v-if="store.currentStep == 8"
>
<div v-if="store.currentStep == 8">
<q-btn
class="col-12"
flat dense
flat
dense
icon="download"
color="indigo"
@click="
@ -742,7 +787,8 @@ onMounted(async () => {
:href="downloadFile5"
target="_blank"
class="col-12"
flat dense
flat
dense
icon="visibility"
color="blue"
>
@ -751,8 +797,16 @@ onMounted(async () => {
</div>
</div>
</div>
<div class="col-12" v-if="store.currentStep == 8"><q-separator /></div>
<div class="col-12 q-pa-sm" v-if="store.currentStep == 8">
<div class="col-12" v-if="store.currentStep == 8">
<q-separator />
</div>
<div
class="col-12 q-pa-sm"
v-if="
store.currentStep == 8 &&
checkPermission($route)?.attrIsUpdate
"
>
<div class="row q-col-gutter-md col-12">
<div class="row col-12">
<q-file
@ -775,20 +829,20 @@ onMounted(async () => {
<q-icon name="attach_file" />
</template>
<template v-slot:after>
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
upLoadFile(
'แบบรายงานผลการประเมินบุคคล (เอกสารหมายเลข 18)',
fileEvaluation85
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
<q-btn
flat
round
dense
color="primary"
icon="mdi-upload"
@click="
upLoadFile(
'แบบรายงานผลการประเมินบุคคล (เอกสารหมายเลข 18)',
fileEvaluation85
)
"
><q-tooltip>ปโหลดไฟล</q-tooltip></q-btn
>
</template>
</q-file>
</div>
@ -798,15 +852,18 @@ onMounted(async () => {
</div>
<div class="col-6">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm">
<div
class="col-12 row items-center text-weight-medium bg-grey-1 q-py-sm q-px-sm"
>
<div class="col-xs-12 col-sm-9">
แบบสรปผลการประเม (เอกสารแบบ )
แบบสรปผลการประเม (เอกสารแบบ )
</div>
<q-space/>
<q-space />
<div class="col-xs-12 col-sm-3 row justify-end">
<div v-if="store.currentStep == 8">
<q-btn
flat dense
flat
dense
icon="download"
color="indigo"
@click="
@ -826,7 +883,8 @@ onMounted(async () => {
:href="downloadFile6"
target="_blank"
class="col-12"
flat dense
flat
dense
icon="visibility"
color="blue"
>
@ -835,8 +893,16 @@ onMounted(async () => {
</div>
</div>
</div>
<div class="col-12" v-if="store.currentStep == 8"><q-separator /></div>
<div class="col-12 q-pa-sm" v-if="store.currentStep == 8">
<div class="col-12" v-if="store.currentStep == 8">
<q-separator />
</div>
<div
class="col-12 q-pa-sm"
v-if="
store.currentStep == 8 &&
checkPermission($route)?.attrIsUpdate
"
>
<div class="row col-12">
<q-file
ref="fileEvaluation86Ref"
@ -884,9 +950,11 @@ onMounted(async () => {
</div>
<div v-if="downloadDocEditUrl != ''" class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<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-py-sm q-px-md"
>
<div>เอกสารเล 2 (ฉบบแกไข)</div>
<q-space/>
<q-space />
<div v-if="downloadDocEditUrl !== ''">
<q-btn
:href="downloadDocEditUrl"
@ -904,7 +972,10 @@ onMounted(async () => {
</q-card>
</div>
<div v-if="store.currentStep == 8" class="col-12">
<div
v-if="store.currentStep == 8 && checkPermission($route)?.attrIsUpdate"
class="col-12"
>
<div align="right">
<q-btn
unelevated

View file

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref, onMounted, defineProps, watch } from "vue";
import { ref, defineProps, watch } from "vue";
import { checkPermission } from "@/utils/permissions";
import http from "@/plugins/http";
import config from "@/app.config";
import { useQuasar } from "quasar";
@ -93,12 +94,12 @@ const listDirector = ref<any>([]);
async function onClickAdd() {
modalAddDirector.value = true;
getList()
getList();
}
function onClickClose() {
modalAddDirector.value = false;
props.fetchdata()
props.fetchdata();
}
/**
@ -155,9 +156,9 @@ async function getList() {
prefix: item.prefix,
firstName: item.firstName,
lastName: item.lastName,
phone: item.phone == '' ? '-' : item.phone,
email: item.email == '' ? '-' : item.email,
position: item.position == '' ? '-' : item.position,
phone: item.phone == "" ? "-" : item.phone,
email: item.email == "" ? "-" : item.email,
position: item.position == "" ? "-" : item.position,
}));
})
.catch((e) => {
@ -177,15 +178,14 @@ watch(
prefix: item.prefix,
firstName: item.firstName,
lastName: item.lastName,
phone: item.phone == '' ? '-' : item.phone,
email: item.email == '' ? '-' : item.email,
position: item.position == '' ? '-' : item.position,
positionName: item.positionName == '-' ? '-' : item.positionName,
phone: item.phone == "" ? "-" : item.phone,
email: item.email == "" ? "-" : item.email,
position: item.position == "" ? "-" : item.position,
positionName: item.positionName == "-" ? "-" : item.positionName,
}));
}
}
);
</script>
<template>
@ -195,6 +195,7 @@ watch(
>
กรรมการ
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
size="12px"
flat
round

View file

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref, onMounted, watch, defineProps } from "vue";
import { checkPermission } from "@/utils/permissions";
import type { QTableProps } from "quasar";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
@ -119,12 +120,12 @@ const listMeet = ref<any>([]);
function onClickAdd() {
modalAdd.value = true;
getList()
getList();
}
function onClickClose() {
modalAdd.value = false;
props.fetchdata()
props.fetchdata();
}
/**
@ -177,8 +178,8 @@ async function getList() {
lastUpdateUserId: item.lastUpdateUserId,
createdFullName: item.createdFullName,
lastUpdateFullName: item.lastUpdateFullName,
title: item.title ? item.title :'-',
round: item.round ? item.round : '-',
title: item.title ? item.title : "-",
round: item.round ? item.round : "-",
date: `${date2Thai(item.dateStart as Date, false, true)} - ${date2Thai(
item.dateEnd as Date,
false,
@ -208,8 +209,8 @@ watch(
true
)}`,
dateStart: item.dateStart,
title: item.title ? item.title : '-',
round: item.round ? item.round : '-',
title: item.title ? item.title : "-",
round: item.round ? item.round : "-",
dateEnd: item.dateEnd,
result: item.result,
timePeriod: item.duration,
@ -217,7 +218,6 @@ watch(
}
}
);
</script>
<template>
<q-card bordered class="row col-12" style="border: 1px solid #d6dee1">
@ -226,6 +226,7 @@ watch(
>
การประช
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
size="12px"
flat
round