updated format code

This commit is contained in:
Warunee Tamkoo 2024-09-03 11:28:01 +07:00
parent b75d69ea08
commit b14bad2249
241 changed files with 14012 additions and 13811 deletions

View file

@ -13,7 +13,14 @@ const close = async () => {
<template>
<q-toolbar class="q-py-md">
<q-toolbar-title class="header-text">{{ title }}</q-toolbar-title>
<q-btn icon="close" unelevated round dense @click="close" style="color: #ff8080; background-color: #ffdede" />
<q-btn
icon="close"
unelevated
round
dense
@click="close"
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
</template>
@ -22,6 +29,6 @@ const close = async () => {
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #35373C;
color: #35373c;
}
</style>

View file

@ -13,17 +13,22 @@ const close = async () => {
<template>
<q-toolbar class="q-py-md">
<q-toolbar-title class="header-text">{{ title }}</q-toolbar-title>
<q-btn icon="close" unelevated round dense @click="close" style="color: #ff8080; background-color: #ffdede" />
<q-btn
icon="close"
unelevated
round
dense
@click="close"
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
</template>
<style scoped lang="scss">
.header-text {
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #35373C;
color: #35373c;
}
</style>

View file

@ -13,17 +13,22 @@ const close = async () => {
<template>
<q-toolbar class="q-py-md">
<q-toolbar-title class="header-text">{{ title }}</q-toolbar-title>
<q-btn icon="close" unelevated round dense @click="close" style="color: #ff8080; background-color: #ffdede" />
<q-btn
icon="close"
unelevated
round
dense
@click="close"
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
</template>
<style scoped lang="scss">
.header-text {
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #35373C;
color: #35373c;
}
</style>

View file

@ -28,7 +28,7 @@ function close() {
function onSubmit() {
dialogConfirm($q, () => {
const url = editCheck.value
? config.API.changePosition+`/${idRound.value}`
? config.API.changePosition + `/${idRound.value}`
: config.API.changePosition;
http[editCheck.value ? "put" : "post"](url, {

View file

@ -97,7 +97,7 @@ const resetFilter = () => {
filterKeyword.value = "";
filterKeyword2.value = "";
filterRef.value.focus();
fecthLists()
fecthLists();
};
// modal
@ -374,7 +374,6 @@ onMounted(() => {
{{ col.value ? col.value : "-" }}
</div>
</q-td>
</q-tr>
</template>
</d-table>

View file

@ -135,7 +135,7 @@ const resetFilter = () => {
filterKeyword.value = "";
filterKeyword2.value = "";
filterRef.value.focus();
fecthLists()
fecthLists();
};
// modal
@ -156,8 +156,8 @@ const fecthLists = async () => {
config.API.changePositionById +
`/${id.value}?page=${pagination.value.page}&pageSize=${pagination.value.rowsPerPage}&searchKeyword=${filterKeyword.value}`
)
.then(async(res) => {
let response = await res.data.result;
.then(async (res) => {
let response = await res.data.result;
totalList.value = Math.ceil(
res.data.result.total / pagination.value.rowsPerPage
);
@ -245,13 +245,12 @@ function onSave(data: any) {
function updatePagination(newPagination: any) {
pagination.value.page = 1;
pagination.value.rowsPerPage = newPagination.rowsPerPage;
}
watch(
() => pagination.value.rowsPerPage,
async() => {
await fecthLists();
async () => {
await fecthLists();
}
);
@ -417,7 +416,9 @@ onMounted(() => {
</div>
<div v-else-if="col.name == 'lastUpdatedAt'">
{{
props.row.lastUpdatedAt ? date2Thai(props.row.lastUpdatedAt) : "-"
props.row.lastUpdatedAt
? date2Thai(props.row.lastUpdatedAt)
: "-"
}}
</div>
<div v-else>

View file

@ -6,35 +6,35 @@
<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>
<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>
<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>
<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>
<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>
<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>

View file

@ -13,17 +13,22 @@ const close = async () => {
<template>
<q-toolbar class="q-py-md">
<q-toolbar-title class="header-text">{{ title }}</q-toolbar-title>
<q-btn icon="close" unelevated round dense @click="close" style="color: #ff8080; background-color: #ffdede" />
<q-btn
icon="close"
unelevated
round
dense
@click="close"
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
</template>
<style scoped lang="scss">
.header-text {
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #35373C;
color: #35373c;
}
</style>

View file

@ -1,5 +1,4 @@
<script setup lang="ts">
/** รับค่ามาจากหน้าหลัก */
const props = defineProps({
editvisible: Boolean,
@ -32,41 +31,40 @@ const emit = defineEmits([
* งช update
* @param value true/false
*/
function updateEdit(value: Boolean){
function updateEdit(value: Boolean) {
emit("update:editvisible", value);
};
}
/** update edit */
async function edit(){
async function edit() {
updateEdit(!props.editvisible);
props.edit();
};
}
/** save */
function checkSave(){
function checkSave() {
props.validate();
props.save();
};
}
</script>
<template>
<q-card-actions class="text-primary">
<q-space />
<q-btn
v-if="!editvisible"
<q-btn
v-if="!editvisible"
outline
:disabled="editvisible"
:disabled="editvisible"
:color="editvisible ? 'grey-7' : 'primary'"
@click="edit"
>
@click="edit"
>
</q-btn>
<div v-else>
<q-btn
<q-btn
unelevated
label="บันทึก"
:disabled="!editvisible"
:color="!editvisible ? 'grey-7' : 'public'"
:disabled="!editvisible"
:color="!editvisible ? 'grey-7' : 'public'"
@click="checkSave"
>
</q-btn>

View file

@ -1,5 +1,4 @@
<script setup lang="ts">
/** รับค่ามาจากหน้าหลัก */
const props = defineProps({
title: String,
@ -17,17 +16,22 @@ const close = async () => {
<template>
<q-toolbar class="q-py-md">
<q-toolbar-title class="header-text">{{ title }}</q-toolbar-title>
<q-btn icon="close" unelevated round dense @click="close" style="color: #ff8080; background-color: #ffdede" />
<q-btn
icon="close"
unelevated
round
dense
@click="close"
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
</template>
<style scoped lang="scss">
.header-text {
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #35373C;
color: #35373c;
}
</style>

View file

@ -1,5 +1,4 @@
<script setup lang="ts">
const props = defineProps({
editvisible: Boolean,
modalEdit: Boolean,
@ -39,30 +38,30 @@ const edit = async () => {
const checkSave = () => {
props.validate();
props.save();
};
</script>
<template>
<q-card-actions class="text-primary">
<q-space />
<q-btn
v-if="!editvisible"
<q-btn
v-if="!editvisible"
outline
:disabled="editvisible"
:disabled="editvisible"
:color="editvisible ? 'grey-7' : 'primary'"
@click="edit"
@click="edit"
><!-- icon="mdi-pencil-outline"
<q-tooltip>แกไขขอม</q-tooltip> -->
</q-btn>
<div v-else>
<q-btn
<q-btn
unelevated
label="บันทึก"
:disabled="!editvisible"
:color="!editvisible ? 'grey-7' : 'public'"
:disabled="!editvisible"
:color="!editvisible ? 'grey-7' : 'public'"
@click="checkSave"
>
</q-btn><!-- icon="mdi-content-save-outline">
</q-btn
><!-- icon="mdi-content-save-outline">
<q-tooltip>นท</q-tooltip> -->
</div>
</q-card-actions>

View file

@ -13,17 +13,22 @@ const close = async () => {
<template>
<q-toolbar class="q-py-sm">
<q-toolbar-title class="header-text">{{ title }}</q-toolbar-title>
<q-btn icon="close" unelevated round dense @click="close" style="color: #ff8080; background-color: #ffdede" />
<q-btn
icon="close"
unelevated
round
dense
@click="close"
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
</template>
<style scoped lang="scss">
.header-text {
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #35373C;
color: #35373c;
}
</style>

View file

@ -272,7 +272,7 @@ const nextPage = (id: string) => {
function onSave(data: any) {
console.log("not save", data);
const dataAppoint = {
node: data.node,
node: data.node,
nodeId: data.nodeId,
orgRevisionId: data.orgRevisionId,
positionId: data.positionId,

View file

@ -29,7 +29,7 @@ const {
const route = useRoute();
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
const assignId = ref<string>(route.params.form.toString());
const { fecthAssignoutput,assign } = probationStore;
const { fecthAssignoutput, assign } = probationStore;
const Autherise = ref<any>(null);
const dateAutherise = ref<any>(new Date());
const option = ref<any>([]);

View file

@ -110,7 +110,7 @@ const variablesToWatch = [
success_level,
];
function savaForm(){
function savaForm() {
let hasError = false;
behavio_strengthRef.value.validate();
if (
@ -166,13 +166,13 @@ function savaForm(){
}
dialogMessageNotify($q, "กรุณากรอกข้อมูลให้ครบ");
}
};
}
/**
* get ประเม
* @param id
*/
async function fecthAssign(id: string) {
async function fecthAssign(id: string) {
showLoader();
await http
.get(config.API.evaluateCreate(id))

View file

@ -1,5 +1,4 @@
<script setup lang="ts">
import { ref, defineAsyncComponent, computed, onMounted, watch } from "vue";
import { useQuasar, QForm } from "quasar";
import { useProbationDataStore } from "@/modules/05_placement/storeProbation";
@ -691,7 +690,6 @@ watch(lengthdiscipline_level, (newLength) => {
</q-btn>
</q-btn-group>
</q-item-section>
</q-item>
</q-list>
</q-card>
@ -798,23 +796,23 @@ watch(lengthdiscipline_level, (newLength) => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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-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"
@ -840,23 +838,23 @@ watch(lengthdiscipline_level, (newLength) => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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-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"
@ -882,23 +880,23 @@ watch(lengthdiscipline_level, (newLength) => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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-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"
@ -947,23 +945,23 @@ watch(lengthdiscipline_level, (newLength) => {
</q-item-label>
</q-item-section>
<q-item-section side>
<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-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>
</q-card>

View file

@ -1022,26 +1022,23 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
<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"
>
<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>
@ -1067,27 +1064,25 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
<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"
>
<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>
@ -1134,23 +1129,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<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-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>
</q-card>

View file

@ -1026,26 +1026,23 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
<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"
>
<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>
@ -1071,27 +1068,25 @@ onMounted(async () => {
<q-item-label>{{ list.label }}</q-item-label>
</q-item-section>
<q-item-section side>
<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"
>
<q-tooltip>
<div class="text-body2">
<span>{{ optionText[index].label }}</span>
</div>
</q-tooltip>
</q-btn>
</q-btn-group>
</q-item-section>
<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"
>
<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>
@ -1138,23 +1133,23 @@ onMounted(async () => {
</q-item-label>
</q-item-section>
<q-item-section side>
<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-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>
</q-card>

View file

@ -101,7 +101,14 @@ function nextPage() {
</q-tab>
</q-tabs>
<div>
<q-btn v-if="!checkRoutePermisson" color="blue" flat dense icon="mdi-plus" @click="nextPage">
<q-btn
v-if="!checkRoutePermisson"
color="blue"
flat
dense
icon="mdi-plus"
@click="nextPage"
>
<q-tooltip> เพ </q-tooltip>
</q-btn>
</div>

View file

@ -103,9 +103,7 @@ async function FileDownload(type: string) {
messageError($q, JSON.parse(await e.response.data.text()));
hideLoader();
})
.finally(() => {
});
.finally(() => {});
} else {
//
showLoader();
@ -124,8 +122,7 @@ async function FileDownload(type: string) {
messageError($q, JSON.parse(await e.response.data.text()));
hideLoader();
})
.finally(() => {
});
.finally(() => {});
}
}

View file

@ -102,9 +102,7 @@ async function FileDownload(type: string) {
messageError($q, JSON.parse(await e.response.data.text()));
hideLoader();
})
.finally(() => {
});
.finally(() => {});
}
/** เปลี่ยนหน้า เพิ่ม */

View file

@ -2,12 +2,15 @@
import { ref, defineAsyncComponent } from "vue";
const FormReport = defineAsyncComponent(
() => import("@/modules/05_placement/components/probation/FormEvaluation/FormReport.vue")
)
() =>
import(
"@/modules/05_placement/components/probation/FormEvaluation/FormReport.vue"
)
);
</script>
<template>
<div class="col-12 q-ma-sm">
<FormReport />
</div>
</template>
</template>

View file

@ -56,16 +56,16 @@ const personalId = ref<string>(route.params.personalId.toString());
* เปลยน tab เมน
* @param tab กำหนด tab
*/
function changeTab(tab: string){
function changeTab(tab: string) {
DataStore.mainTab = tab;
activeTab.value = DataStore.mainTab;
};
}
/** ปุ่มกลับ */
function clickBack(){
router.go(-1)
function clickBack() {
router.go(-1);
DataStore.mainTab = "tab1";
};
}
/** เมื่อเริ่มโหลดหน้า ให้ tab เป็น tab1 */
onMounted(() => {
@ -197,7 +197,7 @@ onMounted(() => {
>
<q-item-section> แบบรายงาน<br />การประเมนฯ </q-item-section>
</q-item>
<q-item
active-class="text-primary bg-teal-1 text-weight-medium"
clickable

View file

@ -8,9 +8,7 @@ import config from "@/app.config";
const mixin = useCounterMixin();
const {
date2Thai,
} = mixin;
const { date2Thai } = mixin;
const route = useRoute();
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
const assignId = ref<string>(route.params.form.toString());
@ -163,18 +161,14 @@ onMounted(() => {
<q-item-section>
<q-item-label style="color: gray">
<div class="row text-weight-light">
<div class="col">คะแนน</div>
<div class="col">อยละ</div>
</div>
</q-item-label>
<q-item-label caption style="color: #464444">
<div class="row text-weight-bold">
<div class="col">{{ behavior_score }}</div>
<div class="col">{{ behavior_percent }}</div>
</div>
</q-item-label>
</q-item-section>
@ -200,18 +194,14 @@ onMounted(() => {
<q-item-section>
<q-item-label style="color: gray">
<div class="row text-weight-light">
<div class="col">คะแนน</div>
<div class="col">อยละ</div>
</div>
</q-item-label>
<q-item-label caption style="color: #464444">
<div class="row text-weight-bold">
<div class="col">{{ sum_score }}</div>
<div class="col">{{ sum_percent }}</div>
</div>
</q-item-label>
</q-item-section>
@ -329,7 +319,7 @@ onMounted(() => {
v-model="develop_other_training_score"
/>
</div>
<div class="col">
<q-input
outlined

View file

@ -21,11 +21,7 @@ const $q = useQuasar();
const myForm = ref<QForm>();
const mixin = useCounterMixin();
const {
messageError,
success,
dialogConfirm,
} = mixin;
const { messageError, success, dialogConfirm } = mixin;
const route = useRoute();
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
const assignId = ref<string>(route.params.form.toString());
@ -146,26 +142,23 @@ onMounted(() => {
ความพงพอใจกบการทดลองปฏหนาทราชการของคณอยในระดบใด
</div>
<q-space />
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status || checkRoutePermisson"
: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>
<q-btn-group outline>
<q-btn
v-for="(item, index) in 5"
:disable="!status || checkRoutePermisson"
: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" />

View file

@ -1,10 +1,7 @@
interface DataNumObject {
id: number;
count: number;
name: string;
color: string;
}
export type {
DataNumObject,
};
id: number;
count: number;
name: string;
color: string;
}
export type { DataNumObject };

View file

@ -5,7 +5,7 @@ interface FormPlacementMainData {
examOrder: number;
fiscalYear: number;
numberOfCandidates: number;
examTypeValue:string;
examTypeValue: string;
examTypeName: string;
accountStartDate: string;
accountExpirationDate: string;
@ -24,17 +24,17 @@ interface FormOrderPlacementMainData {
}
interface FormMainProbation {
personal_id: number,
ordering: number,
name: string,
position_line: string,
position_line_id: string,
position_level: string,
position_level_id: string,
organization: string,
probation_no: number,
order_number: string,
probation_status: string
personal_id: number;
ordering: number;
name: string;
position_line: string;
position_line_id: string;
position_level: string;
position_level_id: string;
organization: string;
probation_no: number;
order_number: string;
probation_status: string;
}
interface FormMainProbation2 {
no: string;
@ -44,45 +44,45 @@ interface FormMainProbation2 {
institution: string;
}
interface FormProbationDetail {
no: string,
id: string,
round_no: number,
date_start: string,
date_finish: string,
mentors: string,
commander: string,
chairman: null
no: string;
id: string;
round_no: number;
date_start: string;
date_finish: string;
mentors: string;
commander: string;
chairman: null;
}
interface FormProbationPersonal {
personal_id: string,
name: string,
position_line: string,
position_line_id: string,
position_level: string,
position_level_id: string,
organization: string,
probation_no: number,
order_number: string,
probation_status: string
personal_id: string;
name: string;
position_line: string;
position_line_id: string;
position_level: string;
position_level_id: string;
organization: string;
probation_no: number;
order_number: string;
probation_status: string;
}
interface mapData {
id:string
fullname:string
position:string
positionEmployeeLevel:string
oc:string
probation:string
id: string;
fullname: string;
position: string;
positionEmployeeLevel: string;
oc: string;
probation: string;
}
interface OpfillterType {
id:number
value:string
id: number;
value: string;
}
interface CriteriaType {
criteriaType: string;
criteriaValue: string;
}
export type {
FormPlacementMainData,
export type {
FormPlacementMainData,
FormOrderPlacementMainData,
FormMainProbation,
FormMainProbation2,
@ -90,5 +90,5 @@ export type {
FormProbationPersonal,
mapData,
OpfillterType,
CriteriaType
CriteriaType,
};

View file

@ -7,8 +7,8 @@ interface TableName {
ExamOrder: number;
unitId: string;
UnitGroup: string;
positionNumber:string;
positionPath:string;
positionNumber: string;
positionPath: string;
Unit: string;
reportingDate: string; //วันที่รายงานตัว
bmaOfficer: string;
@ -18,9 +18,9 @@ interface TableName {
university: string;
degree: string;
disclaim: string;
profilePhoto:string;
organizationName:string;
organizationShortName:string;
profilePhoto: string;
organizationName: string;
organizationShortName: string;
major: string;
remark: string;
number: number;
@ -36,7 +36,7 @@ interface TableName {
scoreSum: number;
examResult: string;
};
}
}
interface PartialTableName {
personalId: string;
fullName: string;
@ -53,4 +53,4 @@ interface PartialTableName {
statusId: string;
deferment: string;
}
export type { TableName ,PartialTableName};
export type { TableName, PartialTableName };

View file

@ -1,7 +1,5 @@
interface OpType {
commandCode: string
id: string
commandCode: string;
id: string;
}
export type {
OpType
};
export type { OpType };

View file

@ -22,7 +22,7 @@ interface listMain {
createdAt: Date;
amountOld: number;
positionDate: Date;
leaveDate: Date
leaveDate: Date;
}
//ข้อมูลจาก api
interface listMainAPI {
@ -48,8 +48,8 @@ interface listMainAPI {
statustext: string;
createdAt: Date;
amountOld: number;
positionDate: Date
leaveDate: Date
positionDate: Date;
leaveDate: Date;
}
interface OtherdataInterface {
@ -98,8 +98,8 @@ interface resApiData {
positionDate: Date;
avatar: string;
commandType: string;
militaryDate: Date
leaveDate: Date
militaryDate: Date;
leaveDate: Date;
};
};
}

View file

@ -5,10 +5,10 @@ interface ResponseData {
personalId: string;
selectStatus: boolean;
sequence: number;
refRecordId: string
salaryAmount:number|null
positionSalaryAmount:number|null
monthSalaryAmount:number|null
refRecordId: string;
salaryAmount: number | null;
positionSalaryAmount: number | null;
monthSalaryAmount: number | null;
}
interface ResponseOrganiz {

View file

@ -1,38 +1,38 @@
interface relocationType {
no:number,
id: string,
citizenId: "0000000000005",
prefix: string,
firstname: string,
lastname: string,
dateOfBirth: Date,
gender: string,
status: string,
recruitDate: Date,
positionNumber: number,
positionPath: string,
positionPathSide: string,
positionType: string,
positionLine: string,
positionLevel: string,
posNoId: string,
positionId: string,
positionPathSideId: string,
positionTypeId: string,
positionLineId: string,
positionLevelId: string,
organizationPositionId: string,
organizationName: string,
organizationShortName: string,
isActive: boolean,
reason: string,
educationOld: string,
salary: number,
positionTypeOld: string,
positionLevelOld: string,
positionNumberOld: string,
organizationPositionOld: string,
createdAt: Date
no: number;
id: string;
citizenId: "0000000000005";
prefix: string;
firstname: string;
lastname: string;
dateOfBirth: Date;
gender: string;
status: string;
recruitDate: Date;
positionNumber: number;
positionPath: string;
positionPathSide: string;
positionType: string;
positionLine: string;
positionLevel: string;
posNoId: string;
positionId: string;
positionPathSideId: string;
positionTypeId: string;
positionLineId: string;
positionLevelId: string;
organizationPositionId: string;
organizationName: string;
organizationShortName: string;
isActive: boolean;
reason: string;
educationOld: string;
salary: number;
positionTypeOld: string;
positionLevelOld: string;
positionNumberOld: string;
organizationPositionOld: string;
createdAt: Date;
}
export type { relocationType};
export type { relocationType };

View file

@ -331,6 +331,7 @@ export const useTransferDataStore = defineStore("transferDataStore", () => {
}
};
return {
statusText, statusProbationMain
statusText,
statusProbationMain,
};
});

View file

@ -4,21 +4,20 @@ import { ref } from "vue";
import type { Information } from "@/modules/05_placement/components/PersonalDetail/profileType";
export const usePersonalDataStore = defineStore("personal-detail", () => {
const dataMain = ref<any>([])
const loading = ref<boolean>(false)
function fecthDataInformation(data: Information) {
dataMain.value = data
if (dataMain.value) {
loading.value = true
} else {
loading.value = false
}
const dataMain = ref<any>([]);
const loading = ref<boolean>(false);
function fecthDataInformation(data: Information) {
dataMain.value = data;
if (dataMain.value) {
loading.value = true;
} else {
loading.value = false;
}
}
return {
fecthDataInformation,
dataMain,
loading,
};
})
return {
fecthDataInformation,
dataMain,
loading,
};
});

View file

@ -2,25 +2,25 @@ import { defineStore } from "pinia";
import { reactive, ref } from "vue";
export const useProbationDataStore = defineStore("probationStore", () => {
const assign = ref<any>([])
const evaluate = ref<any>([])
const assign = ref<any>([]);
const evaluate = ref<any>([]);
const tabs = ref<any>([]);
const mainTab = ref<string>('')
const mainTab = ref<string>("");
const assignOutput = ref<any>([])
const director = ref<any>([])
const person = ref<any>([])
const assignOutput = ref<any>([]);
const director = ref<any>([]);
const person = ref<any>([]);
const fecthdataAssign = async (data: any) => {
assign.value = await data.assign
evaluate.value = await data.evaluate
tabs.value = await data.evaluate
}
assign.value = await data.assign;
evaluate.value = await data.evaluate;
tabs.value = await data.evaluate;
};
const fecthAssignoutput = (data: any) => {
assignOutput.value = data.assign_output
director.value = data.director
person.value = data.person
}
assignOutput.value = data.assign_output;
director.value = data.director;
person.value = data.person;
};
const ratingColors = ref<string[]>([
"light-blue-3",
@ -54,7 +54,10 @@ export const useProbationDataStore = defineStore("probationStore", () => {
id: "1",
label: "อุทิศตนและเสียสละเวลาในการปฏิบัติบัติงานอย่างเต็มกำลังความสามารถ",
},
{ id: "2", label: "มีจิตสำนึกที่ดี ปฏิบัติบัติงานด้วยความซื่อสัตย์ สุจริต" },
{
id: "2",
label: "มีจิตสำนึกที่ดี ปฏิบัติบัติงานด้วยความซื่อสัตย์ สุจริต",
},
{
id: "3",
label:
@ -69,7 +72,8 @@ export const useProbationDataStore = defineStore("probationStore", () => {
},
{
id: "3",
label: "ไม่กระทำการใด ๆ อันอาจก่อให้เกิดความเสียหายแก่ชื่อเสียงของหน่วยงาน",
label:
"ไม่กระทำการใด ๆ อันอาจก่อให้เกิดความเสียหายแก่ชื่อเสียงของหน่วยงาน",
},
{
id: "4",
@ -99,6 +103,6 @@ export const useProbationDataStore = defineStore("probationStore", () => {
setStepOrder,
behavior_no1,
behavior_no2,
behavior_no3
behavior_no3,
};
});

View file

@ -1,7 +1,6 @@
<script setup lang="ts">
</script>
<script setup lang="ts"></script>
<template>
<div class="toptitle text-dark col-12 row items-center">
รายการสอบแขงข / ดเลอก
</div>
</template>
</template>