ประเมินบบุคคล => permission คำขอประเมิน

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-08-05 09:49:09 +07:00
parent d3b2733ad5
commit 5d83ef2e4f
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