fix bug competency

This commit is contained in:
Warunee Tamkoo 2024-04-29 13:26:30 +07:00
parent c90d2a4f70
commit ce4b8e1c4a
10 changed files with 50 additions and 52 deletions

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, reactive,watch } from "vue"; import { ref, onMounted, reactive, watch } from "vue";
import type { QTableProps } from "quasar"; import type { QTableProps } from "quasar";
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
@ -14,11 +14,9 @@ import { useKPIDataStore } from "@/modules/14_KPI/store/KPIStore";
import http from "@/plugins/http"; import http from "@/plugins/http";
import config from "@/app.config"; import config from "@/app.config";
import type { import type { NewPagination } from "@/modules/14_KPI/interface/index/Main";
NewPagination,
} from "@/modules/14_KPI/interface/index/Main";
const total = ref<number>() const total = ref<number>();
const store = useKPIDataStore(); const store = useKPIDataStore();
const router = useRouter(); const router = useRouter();
const $q = useQuasar(); const $q = useQuasar();
@ -76,10 +74,10 @@ async function fetchList() {
await http await http
.get( .get(
config.API.kpiCapacity + config.API.kpiCapacity +
`?page=${formQuery.page}&pageSize=${formQuery.pageSize}&keyword=${formQuery.keyword}&type=${store.competencyType}` `?page=${formQuery.page}&pageSize=${formQuery.pageSize}&keyword=${formQuery.keyword}&type=${store.competencyTypeVal}`
) )
.then(async (res) => { .then(async (res) => {
total.value = res.data.result.total total.value = res.data.result.total;
const data: ResDataCapacity[] = res.data.result.data; const data: ResDataCapacity[] = res.data.result.data;
totalList.value = Math.ceil(res.data.result.total / formQuery.pageSize); totalList.value = Math.ceil(res.data.result.total / formQuery.pageSize);
rows.value = data; rows.value = data;
@ -127,7 +125,7 @@ function fetchNewList() {
* function updatePagination * function updatePagination
* @param newPagination อม Pagination ใหม * @param newPagination อม Pagination ใหม
*/ */
function updatePagination(newPagination: NewPagination) { function updatePagination(newPagination: NewPagination) {
formQuery.page = 1; formQuery.page = 1;
formQuery.pageSize = newPagination.rowsPerPage; formQuery.pageSize = newPagination.rowsPerPage;
} }
@ -147,7 +145,7 @@ onMounted(() => {
<template> <template>
<q-toolbar style="padding: 0"> <q-toolbar style="padding: 0">
<q-select <q-select
v-model="store.competencyType" v-model="store.competencyTypeVal"
outlined outlined
label="ประเภทสมรรถนะ" label="ประเภทสมรรถนะ"
dense dense

View file

@ -95,7 +95,7 @@ function onSubmit() {
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-12"> <div class="col-12">
<q-select <q-select
v-model="store.competencyType" v-model="store.competencyTypeVal"
outlined outlined
label="เลือกประเภทสมรรถนะ" label="เลือกประเภทสมรรถนะ"
dense dense

View file

@ -44,7 +44,7 @@ function ocClickAdd() {
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
const body = { const body = {
competencyType: store.competencyType, competencyType: store.competencyTypeVal,
competencyName: formData.competencyName, competencyName: formData.competencyName,
definition: formData.definition, definition: formData.definition,
levels: formData.levels, levels: formData.levels,

View file

@ -55,7 +55,7 @@ const formData = reactive<FormGroup>({
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
const body = { const body = {
competencyType: store.competencyType, competencyType: store.competencyTypeVal,
competencyName: formData.definition, competencyName: formData.definition,
definition: formData.definition, definition: formData.definition,
levels1: formScore.score1, levels1: formScore.score1,

View file

@ -12,7 +12,7 @@ const $q = useQuasar();
const { dialogConfirm, showLoader, success, hideLoader, messageError } = const { dialogConfirm, showLoader, success, hideLoader, messageError } =
useCounterMixin(); useCounterMixin();
const router = useRouter const router = useRouter;
const store = useKPIDataStore(); const store = useKPIDataStore();
const formData = reactive({ const formData = reactive({
competencyType: "", competencyType: "",
@ -80,30 +80,28 @@ function updateSelectType(val: string, index: number) {
formData.form[index].posLevel = ""; formData.form[index].posLevel = "";
} }
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
const body = { const body = {
competencyType:store.competencyType, competencyType: store.competencyTypeVal,
competencyName:formData.competencyName, competencyName: formData.competencyName,
definition:formData.definition, definition: formData.definition,
postype:formData.form, postype: formData.form,
evaluation:formData.evaluation, evaluation: formData.evaluation,
} };
// showLoader() // showLoader()
// http // http
// .put(config.API.???,body) // .put(config.API.???,body)
// .then((res)=>{ // .then((res)=>{
// success($q,'') // success($q,'')
// router.push(`/KPI-competency`) // router.push(`/KPI-competency`)
// }).catch((e)=>{ // }).catch((e)=>{
// messageError($q,e) // messageError($q,e)
// }).finally(()=>{ // }).finally(()=>{
// hideLoader() // hideLoader()
// }) // })
console.log(body) console.log(body);
}) });
} }
onMounted(() => { onMounted(() => {

View file

@ -38,7 +38,7 @@ const formData = reactive({
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
const body = { const body = {
competencyType: store.competencyType, competencyType: store.competencyTypeVal,
competencyName: formData.competencyName, competencyName: formData.competencyName,
definition: formData.definition, definition: formData.definition,
levels1: formData.level1, levels1: formData.level1,

View file

@ -35,7 +35,7 @@ const formData = reactive({
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { dialogConfirm($q, () => {
const body = { const body = {
competencyType: store.competencyType, competencyType: store.competencyTypeVal,
competencyName: formData.competencyName, competencyName: formData.competencyName,
definition: formData.definition, definition: formData.definition,
levels1: formData.level1, levels1: formData.level1,
@ -74,7 +74,7 @@ function onSubmit() {
<q-card-section class="col-12 q-px-none"> <q-card-section class="col-12 q-px-none">
<div> <div>
<q-field <q-field
class="q_field_p_none" class="q_field_p_none"
ref="fieldRef" ref="fieldRef"
v-model="formData.definition" v-model="formData.definition"
label-slot label-slot

View file

@ -57,7 +57,8 @@ function onClickAddLevels() {
const levelName = formData.levels.length + 1; const levelName = formData.levels.length + 1;
const data = { const data = {
level: level:
(store.competencyType === "HEAD" || store.competencyType === "GROUP") && (store.competencyTypeVal === "HEAD" ||
store.competencyTypeVal === "GROUP") &&
levelName <= 6 levelName <= 6
? levelName.toString() ? levelName.toString()
: "", : "",
@ -69,7 +70,7 @@ function onClickAddLevels() {
function onSubmit() { function onSubmit() {
dialogConfirm($q, async () => { dialogConfirm($q, async () => {
const formBody = { const formBody = {
type: store.competencyType, type: store.competencyTypeVal,
name: formData.competencyName, name: formData.competencyName,
description: formData.definition, description: formData.definition,
capacityDetails: formData.levels, capacityDetails: formData.levels,
@ -201,8 +202,8 @@ onMounted(() => {
<div class="col-3 align-center q-pr-lg"> <div class="col-3 align-center q-pr-lg">
<q-input <q-input
:readonly=" :readonly="
store.competencyType === 'HEAD' || store.competencyTypeVal === 'HEAD' ||
store.competencyType === 'GROUP' store.competencyTypeVal === 'GROUP'
" "
v-model="formData.levels[index].level" v-model="formData.levels[index].level"
dense dense
@ -257,11 +258,11 @@ onMounted(() => {
icon="delete" icon="delete"
@click="onDeleteLevels(index)" @click="onDeleteLevels(index)"
v-if=" v-if="
(store.competencyType === 'HEAD' && index > 4) || (store.competencyTypeVal === 'HEAD' && index > 4) ||
(store.competencyType === 'GROUP' && index > 4) || (store.competencyTypeVal === 'GROUP' && index > 4) ||
((store.competencyType === 'EXECUTIVE' || ((store.competencyTypeVal === 'EXECUTIVE' ||
store.competencyType === 'DIRECTOR' || store.competencyTypeVal === 'DIRECTOR' ||
store.competencyType === 'INSPECTOR') && store.competencyTypeVal === 'INSPECTOR') &&
index > 0) index > 0)
" "
> >

View file

@ -1,4 +1,4 @@
<script setup lang="ts"> <!-- <script setup lang="ts">
import { ref, reactive, onMounted, watch } from "vue"; import { ref, reactive, onMounted, watch } from "vue";
import DialogHeader from "@/components/DialogHeader.vue"; import DialogHeader from "@/components/DialogHeader.vue";
import type { DataOptions } from "@/modules/08_KPI/interface/index/Main"; import type { DataOptions } from "@/modules/08_KPI/interface/index/Main";
@ -169,7 +169,7 @@ function onSubmit() {
function getData() { function getData() {
showLoader(); showLoader();
http http
.get(config.API.KpiCapacity + `?type=${type.value}`) .get(config.API.kpiCapacity + `?type=${type.value}`)
.then((res) => { .then((res) => {
const data = res.data.result.data; const data = res.data.result.data;
listTarget.value = data; listTarget.value = data;
@ -428,8 +428,8 @@ watch(
</div> </div>
<div <div
v-if="dataListCapacityDetails.length == 0" v-if="dataListCapacityDetails.length == 0"
class="q-pa-md text-weight-bold col-12 text-center " class="q-pa-md text-weight-bold col-12 text-center"
style="border: 2px solid #f5f5f5;" style="border: 2px solid #f5f5f5"
> >
<span>ไมพบขอมลสมรรถนะ</span> <span>ไมพบขอมลสมรรถนะ</span>
</div> </div>
@ -483,4 +483,4 @@ watch(
border: 1px solid #ededed !important; border: 1px solid #ededed !important;
border-radius: 8px; border-radius: 8px;
} }
</style> </style> -->

View file

@ -4,7 +4,7 @@ import type { DataOption } from "@/modules/14_KPI/interface/index/Main";
// store // store
export const useKPIDataStore = defineStore("KPIDataStore", () => { export const useKPIDataStore = defineStore("KPIDataStore", () => {
// const competencyType = ref<string>("HEAD"); const competencyTypeVal = ref<string>("HEAD");
const tabMain = ref<string>("1"); const tabMain = ref<string>("1");
const dataProfile = ref<any>(); const dataProfile = ref<any>();
@ -175,6 +175,7 @@ export const useKPIDataStore = defineStore("KPIDataStore", () => {
} }
return { return {
competencyTypeVal,
competencyType, competencyType,
convertStatus, convertStatus,
convertResults, convertResults,