สิทธิ์ / rating เปลี่ยนเป็น btn group

This commit is contained in:
STW_TTTY\stwtt 2024-08-01 15:38:46 +07:00
parent c6d4f5f0e3
commit 006a492834
22 changed files with 2248 additions and 2718 deletions

View file

@ -95,6 +95,10 @@ async function onViewDetail(id: string) {
router.push(`/masterdata/competency/${id}`);
}
async function onViewDetailPage(id: string) {
router.push(`/masterdata/competency-detail/${id}`);
}
function deleteData(id: string) {
dialogRemove($q, () => {
http
@ -229,6 +233,20 @@ onMounted(() => {
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td auto-width>
<q-btn
v-if="checkPermission($route)?.attrIsGet"
color="info"
flat
dense
round
size="12px"
icon="mdi-eye"
clickable
@click.stop="onViewDetailPage(props.row.id)"
v-close-popup
>
<q-tooltip>รายละเอยด</q-tooltip>
</q-btn>
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
color="edit"

View file

@ -13,6 +13,8 @@ import type {
import http from "@/plugins/http";
import config from "@/app.config";
import { checkPermission } from "@/utils/permissions";
const total = ref<number>();
const modal = ref<boolean>(false);
const rows = ref<any[]>([]);
@ -204,7 +206,14 @@ onMounted(async () => {
<template>
<q-toolbar style="padding: 0">
<q-btn flat round color="primary" icon="add" @click="onAdd()">
<q-btn
v-if="checkPermission($route)?.attrIsCreate"
flat
round
color="primary"
icon="add"
@click="onAdd()"
>
<q-tooltip> เพมขอม </q-tooltip>
</q-btn>
<q-space />
@ -268,6 +277,7 @@ onMounted(async () => {
<q-tr :props="props" class="cursor-pointer">
<q-td auto-width>
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
color="edit"
flat
dense
@ -281,6 +291,7 @@ onMounted(async () => {
<q-tooltip>แกไขขอม</q-tooltip>
</q-btn>
<q-btn
v-if="checkPermission($route)?.attrIsDelete"
color="red"
flat
dense
@ -299,7 +310,6 @@ onMounted(async () => {
<q-td v-for="col in props.cols" :key="col.id">
{{ col.value }}
</q-td>
</q-tr>
</template>
<template v-slot:pagination="scope">

View file

@ -14,6 +14,8 @@ import type {
import http from "@/plugins/http";
import config from "@/app.config";
import { checkPermission } from "@/utils/permissions";
const total = ref<number>();
const id = ref<string>("");
const modal = ref<boolean>(false);
@ -343,7 +345,14 @@ onMounted(async () => {
<template>
<q-toolbar style="padding: 0">
<q-btn flat round color="primary" icon="add" @click="onAdd()">
<q-btn
v-if="checkPermission($route)?.attrIsCreate"
flat
round
color="primary"
icon="add"
@click="onAdd()"
>
<q-tooltip> เพมขอม </q-tooltip>
</q-btn>
<q-space />
@ -398,7 +407,7 @@ onMounted(async () => {
>
<template v-slot:header="props">
<q-tr :props="props">
<q-th auto-width />
<q-th auto-width v-if="checkPermission($route)?.attrIsUpdate || checkPermission($route)?.attrIsDelete "/>
<q-th v-for="col in props.cols" :key="col.name" :props="props">
<span class="text-weight-medium">{{ col.label }}</span>
</q-th>
@ -406,8 +415,9 @@ onMounted(async () => {
</template>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td auto-width>
<q-td auto-width v-if="checkPermission($route)?.attrIsUpdate || checkPermission($route)?.attrIsDelete ">
<q-btn
v-if="checkPermission($route)?.attrIsUpdate"
color="edit"
flat
dense
@ -421,6 +431,7 @@ onMounted(async () => {
<q-tooltip>แกไขขอม</q-tooltip>
</q-btn>
<q-btn
v-if="checkPermission($route)?.attrIsDelete"
color="red"
flat
dense

View file

@ -6,6 +6,8 @@ import http from "@/plugins/http";
import config from "@/app.config";
import { useQuasar } from "quasar";
import { checkPermission } from "@/utils/permissions";
const $q = useQuasar();
const dataLevel = ref<any>();
const { showLoader, hideLoader, success } = useCounterMixin();
@ -92,6 +94,7 @@ onMounted(() => {
>
<template #control>
<q-editor
:readonly="checkPermission($route)?.attrIsUpdate == false"
class="full-width"
v-model="field.description"
:dense="$q.screen.lt.md"
@ -151,7 +154,7 @@ onMounted(() => {
<q-separator />
<q-card-actions align="right">
<q-btn label="บันทึก" color="secondary" type="submit"
<q-btn v-if="checkPermission($route)?.attrIsUpdate" label="บันทึก" color="secondary" type="submit"
><q-tooltip>นทกขอม</q-tooltip></q-btn
>
</q-card-actions>

View file

@ -1,6 +1,6 @@
<script setup lang="ts">
import { ref, reactive } from "vue";
import { useRouter } from "vue-router";
import { useRoute, useRouter } from "vue-router";
import Main from "@/modules/01_masterdata/components/competency/Forms/Main.vue";
@ -10,8 +10,10 @@ import type { DataOption } from "@/modules/01_masterdata/interface/index/Main";
import type { FormCompetency } from "@/modules/01_masterdata/interface/request/Main";
const router = useRouter();
const route = useRoute();
const store = useKPIDataStore();
const checkRoute = ref<boolean>(route.name == "KPICompetencyDetailByid");
const formData = reactive<FormCompetency>({
competencyType: "",
competencyName: "",
@ -82,13 +84,17 @@ function onSubmit() {
class="q-mr-sm"
@click="router.go(-1)"
/>
<span class="toptitle text-dark">เพ/แกไขสมรรถนะ</span>
<span class="toptitle text-dark">{{
checkRoute ? "รายละเอียดสมรรถนะ" : "เพิ่ม/แก้ไขสมรรถนะ"
}}</span>
</div>
<q-card>
<q-card-section>
<div class="row">
<div class="col-12">
<q-select
:readonly="checkRoute"
v-model="store.competencyTypeVal"
outlined
label="เลือกประเภทสมรรถนะ"

View file

@ -17,6 +17,7 @@ const router = useRouter();
const route = useRoute();
const store = useKPIDataStore();
const checkRoute = ref<boolean>(route.name == "KPICompetencyDetailByid");
const competencyId = ref<string>(
route.params.id ? route.params.id.toString() : ""
);
@ -110,6 +111,7 @@ onMounted(() => {
<div class="row q-col-gutter-sm">
<div class="col-12">
<q-input
:readonly="checkRoute"
v-model="formData.competencyName"
dense
outlined
@ -132,6 +134,7 @@ onMounted(() => {
>
<template #control>
<q-editor
:readonly="checkRoute"
class="full-width"
v-model="formData.definition"
:dense="$q.screen.lt.md"
@ -174,6 +177,7 @@ onMounted(() => {
<div class="row items-center">
<div class="col-1">
<q-btn
v-if="!checkRoute"
dense
flat
round
@ -230,6 +234,7 @@ onMounted(() => {
>
<template #control>
<q-editor
:readonly="checkRoute"
class="full-width"
v-model="formData.levels[index].description"
:dense="$q.screen.lt.md"
@ -258,7 +263,7 @@ onMounted(() => {
color="red"
icon="delete"
@click="onDeleteLevels(index)"
v-if="
v-if="!checkRoute &&
(store.competencyTypeVal === 'HEAD' && index > 4) ||
(store.competencyTypeVal === 'GROUP' && index > 4) ||
((store.competencyTypeVal === 'EXECUTIVE' ||
@ -282,7 +287,13 @@ onMounted(() => {
<div class="col-12"><q-separator /></div>
<q-card-actions align="right">
<q-btn label="บันทึก" color="public" class="q-px-md" type="submit">
<q-btn
v-if="!checkRoute"
label="บันทึก"
color="public"
class="q-px-md"
type="submit"
>
<q-tooltip>นทกขอม</q-tooltip>
</q-btn>
</q-card-actions>

View file

@ -14,6 +14,8 @@ const competencyPage = () =>
import("@/modules/01_masterdata/views/competency.vue");
const competencyAddPage = () =>
import("@/modules/01_masterdata/components/competency/AddPage.vue");
const competencyDetailPage = () =>
import("@/modules/01_masterdata/components/competency/AddPage.vue");
const StrategicView = () =>
import("@/modules/01_masterdata/views/Strategic.vue");
const AssignmentView = () =>
@ -115,6 +117,16 @@ export default [
Role: "STAFF",
},
},
{
path: "/masterdata/competency-detail/:id",
name: "KPICompetencyDetailByid",
component: competencyDetailPage,
meta: {
Auth: true,
Key: "SYS_EVA_COMPETENCY",
Role: "STAFF",
},
},
{
path: "/masterdata/strategic",

View file

@ -16,6 +16,7 @@ import type { ResAssignment } from "@/modules/01_masterdata/interface/response/M
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
const $q = useQuasar();
const router = useRouter();
@ -256,7 +257,7 @@ onMounted(() => {
>
<template v-slot:header="props">
<q-tr :props="props">
<q-th auto-width />
<q-th auto-width v-if="checkPermission($route)?.attrIsGet || checkPermission($route)?.attrIsDelete"/>
<q-th v-for="col in props.cols" :key="col.name" :props="props">
<span class="text-weight-medium">{{ col.label }}</span>
</q-th>
@ -264,8 +265,9 @@ onMounted(() => {
</template>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td auto-width>
<q-td auto-width v-if="checkPermission($route)?.attrIsGet || checkPermission($route)?.attrIsDelete">
<q-btn
v-if="checkPermission($route)?.attrIsGet"
flat
round
color="primary"
@ -276,6 +278,7 @@ onMounted(() => {
<q-tooltip>อม</q-tooltip>
</q-btn>
<q-btn
v-if="checkPermission($route)?.attrIsDelete"
flat
round
color="red"

View file

@ -10,7 +10,7 @@ import type { DataStrategic } from "@/modules/01_masterdata/interface/response/S
import DialogHeader from "@/components/DialogHeader.vue";
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
const $q = useQuasar();
const {
showLoader,
@ -198,6 +198,7 @@ onMounted(() => {
<div class="row q-col-gutter-sm q-pl-sm">
<q-toolbar class="text-primary">
<q-btn
v-if="checkPermission($route)?.attrIsCreate"
dense
flat
round
@ -256,57 +257,64 @@ onMounted(() => {
round
>
<q-menu>
<q-list
dense
v-for="(item, index) in prop.node.level !== 4
? ListMenu
: ListMenu.slice(1, 4)"
:key="index"
style="min-width: 100px"
>
<q-list dense style="min-width: 100px">
<q-item
v-if="
prop.node.level !== 4 &&
checkPermission($route)?.attrIsCreate
"
clickable
v-close-popup
@click.stop="onClickAction(item.value, prop.node)"
@click.stop="onClickAction('ADD', prop.node)"
>
<q-item-section avatar style="min-width: 20px">
<q-icon
size="17px"
:color="item.color"
:name="item.icon"
/>
<q-icon size="17px" :color="'primary'" :name="'add'" />
</q-item-section>
<div v-if="item.value === 'ADD'">
<q-item-section v-if="prop.node.level === 1">
{{ `${item.label}ยุทธศาสตร์ที่ 1` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 2">
{{ `${item.label}ยุทธศาสตร์ย่อย` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 3">
{{ `${item.label}กลยุทธ์ที่/เป้าประสงค์` }}
</q-item-section>
</div>
<div v-else-if="item.value === 'EDIT'">
<q-item-section v-if="prop.node.level === 1">
{{ `${item.label}ยุทธศาสตร์/แผน` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 2">
{{ `${item.label}ยุทธศาสตร์ที่` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 3">
{{ `${item.label}ยุทธศาสตร์ย่อย` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 4">
{{ `${item.label}กลยุทธ์ที่/เป้าประสงค์` }}
</q-item-section>
</div>
<div v-else>
<q-item-section>{{ item.label }}</q-item-section>
</div>
<q-item-section v-if="prop.node.level === 1">
{{ `เพิ่มยุทธศาสตร์ที่ 1` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 2">
{{ `เพิ่มยุทธศาสตร์ย่อย` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 3">
{{ `เพิ่มกลยุทธ์ที่/เป้าประสงค์` }}
</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
clickable
v-close-popup
@click.stop="onClickAction('EDIT', prop.node)"
>
<q-item-section avatar style="min-width: 20px">
<q-icon size="17px" :color="'edit'" :name="'edit'" />
</q-item-section>
<q-item-section v-if="prop.node.level === 1">
{{ `แก้ไขยุทธศาสตร์/แผน` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 2">
{{ `แก้ไขยุทธศาสตร์ที่ 1` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 3">
{{ `แก้ไขยุทธศาสตร์ย่อย` }}
</q-item-section>
<q-item-section v-if="prop.node.level === 4">
{{ `แก้ไขกลยุทธ์ที่/เป้าประสงค์` }}
</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsDelete"
clickable
v-close-popup
@click.stop="onClickAction('DEL', prop.node)"
>
<q-item-section avatar style="min-width: 20px">
<q-icon size="17px" :color="'red'" :name="'delete'" />
</q-item-section>
<q-item-section>
{{ `ลบข้อมูล` }}
</q-item-section>
</q-item>
</q-list>
</q-menu>

View file

@ -11,7 +11,7 @@ import DialogHistory from "@/modules/01_masterdata/components/Indicators/DialogH
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
/** use*/
const dataHistory = ref<any[]>([]);
const modalHistory = ref<boolean>(false);
@ -329,6 +329,7 @@ onMounted(() => {
</q-select>
<q-btn
v-if="checkPermission($route)?.attrIsCreate"
flat
round
dense
@ -424,6 +425,7 @@ onMounted(() => {
<q-menu>
<q-list style="min-width: 180px">
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
clickable
v-close-popup
@click="onClickAddOrView(true, props.row.id)"
@ -443,6 +445,7 @@ onMounted(() => {
<q-item-section>แกไขขอม</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
clickable
v-close-popup
@click="onClickHistory(props.row.id)"
@ -458,6 +461,7 @@ onMounted(() => {
<q-item-section>ประวการแกไข</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsDelete"
clickable
v-close-popup
@click.stop.pervent="deleteData(props.row.id)"

View file

@ -15,6 +15,7 @@ import DialogHistory from "@/modules/01_masterdata/components/Indicators/DialogH
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { checkPermission } from "@/utils/permissions";
/** use*/
const dataHistory = ref<any[]>([]);
@ -330,6 +331,7 @@ onMounted(async () => {
</q-select>
<q-btn
v-if="checkPermission($route)?.attrIsCreate"
flat
round
dense
@ -429,6 +431,7 @@ onMounted(async () => {
<q-menu>
<q-list style="min-width: 180px">
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
clickable
v-close-popup
@click.stop.pervent="onClickAddOrView(true, props.row.id)"
@ -448,6 +451,7 @@ onMounted(async () => {
<q-item-section>แกไขขอม</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
clickable
v-close-popup
@click="onClickHistory(props.row.id)"
@ -463,6 +467,7 @@ onMounted(async () => {
<q-item-section>ประวการแกไข</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsDelete"
clickable
v-close-popup
@click.stop.pervent="onClickDelete(props.row.id)"

View file

@ -1,56 +1,46 @@
<template>
<div class="col-12 row q-pb-sm">
<div class="col-12 text-top0 items-center q-pa-md">
เกณฑการประเมนความคาดหว
</div>
<div class="q-gutter-sm row">
<div class="col-12 row">
<div class="col-2 row justify-center">
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-3" aria-hidden="true" role="presentation">grade</i>
</div>
<div class="q-pl-md col-3">ำกวาความคาดหวงมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 1</div>
</div>
<div class="col-12 row">
<div class="col-2 row justify-center">
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-3" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-6" aria-hidden="true" role="presentation">grade</i>
</div>
<div class="q-pl-md col-3">ำกวาความคาดหวงคอนขางมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 2</div>
</div>
<div class="col-12 row">
<div class="col-2 row justify-center">
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-3" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-6" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-blue" aria-hidden="true" role="presentation">grade</i>
</div>
<div class="q-pl-md col-3">เปนไปตามความคาดหว</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 3</div>
</div>
<div class="col-12 row">
<div class="col-2 row justify-center">
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-3" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-6" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-blue" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-blue-9" aria-hidden="true" role="presentation">grade</i>
</div>
<div class="q-pl-md col-3">งวาความคาดหวงคอนขางมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 4</div>
</div>
<div class="col-12 row">
<div class="col-2 row justify-center">
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-3" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-light-blue-6" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-blue" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-blue-9" aria-hidden="true" role="presentation">grade</i>
<i class="q-icon notranslate material-icons q-rating__icon q-rating__icon--active text-blue-10" aria-hidden="true" role="presentation">grade</i>
</div>
<div class="q-pl-md col-3">งกวาความคาดหวงมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 5</div>
</div>
</div>
<div class="col-12 row q-pb-sm">
<div class="col-12 text-top0 items-center q-pa-md">
เกณฑการประเมนความคาดหว
</div>
<div class="q-gutter-sm row">
<div class="col-12 row items-center">
<div class="col-2 row justify-center">
<q-btn outline color="grey-6" :label="'1'"> </q-btn>
</div>
<div class="q-pl-md col-3">ำกวาความคาดหวงมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 1</div>
</div>
<div class="col-12 row items-center">
<div class="col-2 row justify-center">
<q-btn outline color="grey-6" :label="'2'"> </q-btn>
</div>
<div class="q-pl-md col-3">ำกวาความคาดหวงคอนขางมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 2</div>
</div>
<div class="col-12 row items-center">
<div class="col-2 row justify-center">
<q-btn outline color="grey-6" :label="'3'"> </q-btn>
</div>
<div class="q-pl-md col-3">เปนไปตามความคาดหว</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 3</div>
</div>
<div class="col-12 row items-center">
<div class="col-2 row justify-center">
<q-btn outline color="grey-6" :label="'4'"> </q-btn>
</div>
<div class="q-pl-md col-3">งวาความคาดหวงคอนขางมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 4</div>
</div>
<div class="col-12 row items-center">
<div class="col-2 row justify-center">
<q-btn outline color="grey-6" :label="'5'"> </q-btn>
</div>
<div class="q-pl-md col-3">งกวาความคาดหวงมาก</div>
<div class="q-pl-md">หมายถ คะแนนเฉลยทระด 5</div>
</div>
</div>
</div>
</template>
<style lang="scss" scoped>
.text-top0 {
@ -58,4 +48,4 @@
padding-bottom: 8px;
color: rgb(70, 68, 68);
}
</style>
</style>

View file

@ -7,6 +7,7 @@ import { useRoute, useRouter } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const $q = useQuasar();
const probationStore = useProbationDataStore();
@ -65,6 +66,14 @@ const props = defineProps({
tab: String,
});
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
const list2_1 = probationStore.behavior_no1;
const list2_2 = probationStore.behavior_no2;
const list2_3 = probationStore.behavior_no3;
@ -467,32 +476,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="knowledge_level"
max="5"
size="sm"
:rules="knowledge_levelRules"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="knowledge_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="knowledge_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -513,31 +512,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="skill_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="skill_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="skill_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -558,31 +548,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="competency_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="competency_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="competency_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -603,31 +584,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -649,31 +621,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -694,31 +657,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="success_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="success_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="success_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -772,31 +726,22 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="achievement_other.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -827,36 +772,22 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="conduct_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
@ -880,36 +811,22 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="moral_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
@ -934,36 +851,22 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="discipline_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
@ -1012,35 +915,22 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
:disable="!status"
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -1339,4 +1229,20 @@ onMounted(async () => {
border-radius: 5px;
// color: #c10015;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -8,6 +8,15 @@ import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
const router = useRouter();
const routeName = router.currentRoute.value.name;
const $q = useQuasar();
@ -522,31 +531,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="learn_level"
max="5"
size="sm"
:disable="!status"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -563,31 +564,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:disable="!status"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -603,31 +596,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="success_level"
max="5"
:disable="!status"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="success_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="success_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -680,31 +665,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:disable="!status"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="achievement_other.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -725,7 +702,7 @@ onMounted(async () => {
<q-avatar class="bg-grey-2 q-mr-sm" size="28px">2</q-avatar>
พฤตกรรมของผทดลองปฏหนาทราชการ
</div>
<div class="col-12 text-top0 row items-center q-pl-md">
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.1 ความประพฤต
</div>
@ -740,41 +717,31 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
:disable="!status"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="conduct_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
</q-list>
</q-card>
</div>
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-md">
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.2 ความมณธรรมจรยธรรม
</div>
@ -789,41 +756,31 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="moral_level[i]"
:val="list.id"
:disable="!status"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="moral_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
</q-list>
</q-card>
</div>
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-md">
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.3 การรกษาว
</div>
@ -838,48 +795,38 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="discipline_level[i]"
:val="list.id"
:disable="!status"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="discipline_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
</q-list>
</q-card>
</div>
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-md">
<div class="col-12 text-top0 row items-center q-pl-lg">
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.4 นๆ
<q-checkbox
:disable="!status"
class="q-ml-sm"
dense
v-model="etc2"
:disable="!status"
@click="(behavio_orther.text = ''), (behavio_orther.level = 0)"
/>
</div>
@ -894,11 +841,11 @@ onMounted(async () => {
<q-item-section>
<q-item-label>
<q-input
:disable="!status"
v-model="behavio_orther.text"
label="กรอกอื่นๆ"
dense
lazy-rules
:disable="!status"
autogrow
hide-bottom-space
outlined
@ -911,40 +858,31 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
:disable="!status"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
</div>
<div class="text-top0 col-xs-12 col-sm-11 q-pt-sm q-px-md q-my-none">
<div class="row col-12 justify-between q-py-sm">
<div class="text-black">คะแนนรวมพฤตกรรมการปราชการ</div>
<div class="text-black">คะแนนรวมพฤตกรรมการปฎราชการ</div>
<div class="text-weight-bold text-black">{{ score2 }}</div>
</div>
</div>
@ -1454,4 +1392,19 @@ onMounted(async () => {
.q-card {
box-shadow: 0px 0px 0px 0px !important;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -8,6 +8,15 @@ import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
const $q = useQuasar();
const probationStore = useProbationDataStore();
const { ratingColors } = probationStore;
@ -583,34 +592,22 @@ watch(lengthdiscipline_level, (newLength) => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -636,34 +633,22 @@ watch(lengthdiscipline_level, (newLength) => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -688,35 +673,24 @@ watch(lengthdiscipline_level, (newLength) => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="success_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="success_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="success_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
@ -770,34 +744,22 @@ watch(lengthdiscipline_level, (newLength) => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="achievement_other.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -835,36 +797,23 @@ watch(lengthdiscipline_level, (newLength) => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="conduct_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator
class="q-my-xs"
@ -890,36 +839,23 @@ watch(lengthdiscipline_level, (newLength) => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="moral_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator
class="q-my-xs"
@ -945,36 +881,23 @@ watch(lengthdiscipline_level, (newLength) => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="discipline_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator
class="q-my-xs"
@ -1023,35 +946,23 @@ watch(lengthdiscipline_level, (newLength) => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
@ -1401,7 +1312,6 @@ watch(lengthdiscipline_level, (newLength) => {
<q-input
outlined
dense
:disable="!status"
class="full-width datepicker col-3"
:model-value="
dateAutherise != null
@ -1462,7 +1372,6 @@ watch(lengthdiscipline_level, (newLength) => {
<q-input
outlined
dense
:disable="!status"
class="full-width datepicker col-3"
:model-value="
director1_dated != null
@ -1523,7 +1432,6 @@ watch(lengthdiscipline_level, (newLength) => {
<q-input
outlined
dense
:disable="!status"
class="full-width datepicker col-3"
:model-value="
director2_dated != null
@ -1601,4 +1509,19 @@ watch(lengthdiscipline_level, (newLength) => {
border-radius: 5px;
// color: #c10015;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -9,6 +9,7 @@ import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const router = useRouter();
const routeName = router.currentRoute.value.name;
@ -39,11 +40,9 @@ const evaluate_no = ref<number>(1);
const dataArr = ref<any>();
const checkArray = ref<number>(0);
const list1_1 = ref<any>([]);
const list1_1 = ref<any[]>([]);
const option = ref<any>([]);
const evaluate_expenct_level = ref<any>([
{ id: "1", label: "ผลผลิตของงานที่คาดหวัง 1", level: 0 },
]);
const evaluate_expenct_level = ref<any[]>([]);
const evaluate_ouptut = ref<any>([{ level: 0, text: "" }]);
const knowledge_level = ref<number>(0);
const skill_level = ref<number>(0);
@ -79,6 +78,14 @@ const props = defineProps({
fecthAssign: Function,
});
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
function edit() {
status.value = true;
}
@ -343,6 +350,7 @@ onMounted(async () => {
if (props.tab && props.action == "edit") {
evaluate_no.value = Number(props.tab.charAt(4));
dataArr.value = await props.data;
console.log("🚀 ~ onMounted ~ props.data:", props.data);
fecthFormdata();
}
});
@ -465,32 +473,26 @@ onMounted(async () => {
<q-item-label>{{ list.output_desc }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_expenct_level[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
:disable="!status"
v-for="(item, index) in 5"
:class="
evaluate_expenct_level[i]?.level == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_expenct_level[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list1_1.length" />
@ -523,32 +525,25 @@ onMounted(async () => {
/>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_ouptut[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
v-for="(item, index) in 5"
:class="
evaluate_ouptut[i]?.level == item.toString() && 'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_ouptut[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -566,31 +561,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="knowledge_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
v-for="(item, index) in 5"
:class="knowledge_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="knowledge_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -606,31 +593,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="skill_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
v-for="(item, index) in 5"
:class="skill_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="skill_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -646,31 +625,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="competency_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
v-for="(item, index) in 5"
:class="competency_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="competency_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -686,31 +657,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
v-for="(item, index) in 5"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -727,31 +690,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
v-for="(item, index) in 5"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -803,31 +758,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="achievement_other.level == item && 'active'"
outline
:disable="!status"
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -897,32 +844,23 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="conduct_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
@ -946,32 +884,23 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="moral_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
@ -995,32 +924,23 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="discipline_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
@ -1067,31 +987,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -1354,4 +1266,19 @@ onMounted(async () => {
.q-card {
box-shadow: 0px 0px 0px 0px !important;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -5,6 +5,7 @@ import { useProbationDataStore } from "@/modules/05_placement/storeProbation";
import { useCounterMixin } from "@/stores/mixin";
// import { formatDate } from "@fullcalendar/core";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
import { useRoute, useRouter } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
@ -16,6 +17,7 @@ const route = useRoute();
const router = useRouter();
const probationStore = useProbationDataStore();
const mixin = useCounterMixin();
const {
date2Thai,
success,
@ -123,6 +125,13 @@ const variablesToWatch = [
];
const ArrayCountbotton = [orientation, self_learning, training_seminar];
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
/**
* get อม ลง วแปร
* @param id personal id
@ -537,31 +546,25 @@ onMounted(async () => {
<q-item-label>{{ list.output_desc }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_expenct_level[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
evaluate_expenct_level[i].level == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_expenct_level[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list1_1.length" />
@ -598,31 +601,25 @@ onMounted(async () => {
/>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_ouptut[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
evaluate_ouptut[i].level == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_ouptut[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<!-- <q-separator class="q-my-xs" v-if="i + 1 < list1_2.length" /> -->
@ -646,30 +643,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="knowledge_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="knowledge_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="knowledge_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -690,30 +679,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="skill_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="skill_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="skill_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -734,30 +715,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="competency_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="competency_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="competency_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -778,30 +751,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -823,30 +788,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -867,30 +824,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="success_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="success_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="success_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -942,30 +891,22 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="achievement_other.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -1037,35 +978,24 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
conduct_level[i] == item.toString() && 'active'
"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
@ -1092,36 +1022,26 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
moral_level[i] == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
</q-list>
@ -1147,36 +1067,27 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
discipline_level[i] == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
</q-list>
@ -1223,35 +1134,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
@ -1534,4 +1433,20 @@ onMounted(async () => {
border: 2px solid #c10015;
border-radius: 5px;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -10,6 +10,8 @@ import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const $q = useQuasar();
const route = useRoute();
const router = useRouter();
@ -136,6 +138,14 @@ const variablesToWatch = [
];
const ArrayCountbotton = [orientation, self_learning, training_seminar];
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
/** เช็คข้อมูลก่อน save */
function savaForm() {
achievement_strengthRef.value.validate();
@ -548,31 +558,25 @@ onMounted(async () => {
<q-item-label>{{ list.output_desc }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_expenct_level[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
evaluate_expenct_level[i].level == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_expenct_level[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list1_1.length" />
@ -608,31 +612,25 @@ onMounted(async () => {
/>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_ouptut[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
evaluate_ouptut[i].level == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_ouptut[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -655,30 +653,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="knowledge_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="knowledge_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="knowledge_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -699,30 +689,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="skill_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="skill_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="skill_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -743,30 +725,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="competency_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="competency_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="competency_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -787,30 +761,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -832,30 +798,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -876,30 +834,22 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="success_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="success_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="success_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -951,30 +901,22 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="achievement_other.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -1046,35 +988,24 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
conduct_level[i] == item.toString() && 'active'
"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
@ -1101,36 +1032,26 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
moral_level[i] == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
</q-list>
@ -1156,36 +1077,27 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="
discipline_level[i] == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
</q-list>
@ -1232,41 +1144,29 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip
>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip
>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip
>งวาความคาดหวงคอนขางมาก (4)</q-tooltip
>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
</div>
<!-- <FormComment /> -->
<div class="row col-12 q-gutter-lg no-margin">
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-lg">
@ -1539,4 +1439,20 @@ onMounted(async () => {
border-radius: 5px;
// color: #c10015;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -11,6 +11,8 @@ import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const router = useRouter();
const routeName = router.currentRoute.value.name;
const $q = useQuasar();
@ -117,6 +119,14 @@ const props = defineProps({
fecthAssign: Function,
});
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
/** ให้ status true */
function edit() {
status.value = true;
@ -470,32 +480,26 @@ onMounted(async () => {
<q-item-label>{{ list.output_desc }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_expenct_level[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="
evaluate_expenct_level[i]?.level == item.toString() &&
'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_expenct_level[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list1_1.length" />
@ -528,32 +532,25 @@ onMounted(async () => {
/>
</q-item-section>
<q-item-section side>
<q-rating
v-model="evaluate_ouptut[i].level"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="
evaluate_ouptut[i]?.level == item.toString() && 'active'
"
outline
color="grey-6"
:label="item"
@click="evaluate_ouptut[i].level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -571,31 +568,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="knowledge_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="knowledge_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="knowledge_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -611,31 +600,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="skill_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:class="skill_level == item && 'active'"
outline
:disable="!status"
color="grey-6"
:label="item"
@click="skill_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -651,31 +632,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="competency_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="competency_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="competency_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -691,31 +664,23 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="learn_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="learn_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="learn_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -732,36 +697,27 @@ onMounted(async () => {
>
</q-item-section>
<q-item-section side>
<q-rating
v-model="apply_level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="apply_level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="apply_level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
<q-card class="text-top0 col-xs-12 col-sm-11 q-pa-xs q-pl-sm">
<q-list dense>
<q-item dense tag="label" v-ripple>
@ -809,31 +765,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="achievement_other.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
:disable="!status"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="achievement_other.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="achievement_other.level = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
@ -894,6 +842,7 @@ onMounted(async () => {
<q-icon name="mdi-label" color="grey-4" class="q-pr-sm" />
2.1 ความประพฤต
</div>
<q-card
flat
bordered
@ -905,33 +854,24 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="conduct_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="conduct_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="conduct_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
</q-list>
@ -954,33 +894,24 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="moral_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="moral_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="moral_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
</q-list>
@ -1003,33 +934,24 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="discipline_level[i]"
:val="list.id"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="discipline_level[i] == item && 'active'"
outline
color="grey-6"
:label="item"
@click="discipline_level[i] = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
</q-list>
@ -1075,38 +997,29 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<q-rating
v-model="behavio_orther.level"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="behavio_orther.level == item && 'active'"
outline
color="grey-6"
:label="item"
@click="behavio_orther.level = item"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
</q-item-section>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
</div>
<!-- <FormComment /> -->
<div class="row col-12 q-gutter-lg no-margin">
<div class="col-12 row">
<div class="col-12 text-top0 row items-center q-pl-lg">
@ -1371,4 +1284,19 @@ onMounted(async () => {
.q-card {
box-shadow: 0px 0px 0px 0px !important;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -7,6 +7,15 @@ import { useProbationDataStore } from "@/modules/05_placement/storeProbation";
import http from "@/plugins/http";
import config from "@/app.config";
import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
const optionText = ref<ListDataText[]>([
{ value: "1", label: "ต่ำกว่าความคาดหวังมาก (1)" },
{ value: "2", label: "ต่ำกว่าความคาดหวังค่อนข้างมาก (2)" },
{ value: "3", label: "เป็นไปตามความคาดหวัง (3)" },
{ value: "4", label: "สูงว่าความคาดหวังค่อนข้างมาก (4)" },
{ value: "5", label: "สูงกว่าความคาดหวังมาก (5)" },
]);
const probationStore = useProbationDataStore();
const { ratingColors } = probationStore;
const $q = useQuasar();
@ -66,7 +75,7 @@ async function getSurveyData() {
}
/** save ข้อมูล */
async function save(){
async function save() {
await myForm.value!.validate().then((result: boolean) => {
if (result && answer3.value !== 0) {
const data = {
@ -91,7 +100,7 @@ async function save(){
classBordered.value = "border_custom";
}
});
};
}
/** ถ้าเป็น 0 ใส่ class */
watch(answer3, () => {
if (answer3.value == 0) {
@ -156,32 +165,26 @@ onMounted(() => {
ความพงพอใจกบการทดลองปฏหนาทราชการของคณอยในระดบใด
</div>
<q-space />
<q-rating
:disable="!status"
v-model="answer3"
max="5"
size="sm"
color="grey"
:color-selected="ratingColors"
label="ระดับการประเมินพฤติกรรม"
>
<template v-slot:tip-1>
<q-tooltip>ำกวาความคาดหวงมาก (1)</q-tooltip>
</template>
<template v-slot:tip-2>
<q-tooltip>ำกวาความคาดหวงคอนขางมาก (2)</q-tooltip>
</template>
<template v-slot:tip-3>
<q-tooltip>เปนไปตามความคาดหว (3)</q-tooltip>
</template>
<template v-slot:tip-4>
<q-tooltip>งวาความคาดหวงคอนขางมาก (4)</q-tooltip>
</template>
<template v-slot:tip-5>
<q-tooltip>งกวาความคาดหวงมาก (5)</q-tooltip>
</template>
</q-rating>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status"
:class="
answer3 == item && 'active'
"
outline
color="grey-6"
:label="item"
@click="answer3 = item"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</div>
<div class="col-12 q-mt-md">
<q-separator size="3px" color="grey-2" />
@ -222,4 +225,19 @@ onMounted(() => {
color: #c10015;
padding: 10px;
}
.q-btn-group--outline > .q-btn-item:not(:last-child):before {
border-right: 1px solid #c4c4c4;
}
.q-btn-group--outline > .q-btn-item.active {
color: #2196f3 !important;
background-color: #cde6fb !important;
}
.q-btn-group--outline > .q-btn-item + .q-btn-item.active:before {
border-left: 1px solid #2196f3 !important;
background-color: #cde6fb;
}
.q-btn-group--outline > .q-btn-item.active:not(:last-child):before {
border: 1px solid #2196f3;
background-color: #cde6fb;
}
</style>

View file

@ -4,6 +4,11 @@ interface DataOption {
name: string;
disable?: boolean;
}
interface ListDataText {
value:string
label:string
}
interface DataOption1 {
id: string | null;
name: string | null;
@ -292,7 +297,8 @@ export type {
Assign,
AddressData,
DataProfile,
tableType
tableType,
ListDataText
};
export { AddressDataDefualt, FamilyDataDefualt };