ทะเบียนประวัติ > ประวัติถือครองตำแหน่ง

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-05-21 10:45:38 +07:00
parent 8bfd894d8f
commit 8b12e131bc
5 changed files with 35 additions and 58 deletions

View file

@ -2,7 +2,6 @@ import env from "../index";
const registryNew = `${env.API_URI}/org/profile`;
const metadata = `${env.API_URI}/org/metadata/`;
const salaryNew = `${env.API_URI}/org/profile/salary`;
export default {
registryNew: (type: string) => `${registryNew}${type}`,

View file

@ -99,6 +99,7 @@ function fecthPositionOfficer() {
messageError($q, err);
});
}
function fetchPositionPerm() {
http
.get(config.API.listPositionEmployeePositionHistory)
@ -141,11 +142,12 @@ function clickSearch(type: string) {
});
} else if (typeKeyword.value === "position") {
Object.assign(body, {
positionId: positionKeyword.value,
position: positionKeyword.value,
});
}
const empType = type === "officer" ? "" : "-employee";
http
.post(config.API.profileHistory(type), body)
.post(config.API.registryNew(empType) + `/search/history/oc`, body)
.then((res) => {
let data = res.data.result;
if (data.length !== 0) {
@ -206,9 +208,11 @@ const paginationLabel = (start: number, end: number, total: number) => {
<template>
<q-dialog v-model="modal">
<q-card style="width: 850px; max-width: 80vw">
<q-card style="width: 850px; max-width: 80vw">
<q-toolbar>
<q-toolbar-title class="text-subtitle2 text-bold">ประวอครองตำแหน</q-toolbar-title>
<q-toolbar-title class="text-subtitle2 text-bold"
>ประวอครองตำแหน</q-toolbar-title
>
<q-btn
icon="close"
unelevated
@ -218,12 +222,12 @@ const paginationLabel = (start: number, end: number, total: number) => {
style="color: #ff8080; background-color: #ffdede"
/>
</q-toolbar>
<q-separator/>
<q-separator />
<div class="dialog-card-contain">
<q-card-section class="q-pa-sm">
<q-form ref="myForm">
<div class=" col-12 bg-grey-2 q-pa-sm">
<div class="col-12 bg-grey-2 q-pa-sm">
<div class="q-col-gutter-xs row no-wrap">
<q-select
hide-bottom-space
@ -313,8 +317,7 @@ const paginationLabel = (start: number, end: number, total: number) => {
</q-card-section>
</div>
<div class="col-12 q-px-sm q-pb-sm">
<div class="col-12 q-px-sm q-pb-sm">
<q-table
flat
dense

View file

@ -3,18 +3,22 @@ import { onMounted, reactive, ref, watch } from "vue";
import { useQuasar } from "quasar";
import { useRoute, useRouter } from "vue-router";
import { useCounterMixin } from "@/stores/mixin";
import http from "@/plugins/http";
import config from "@/app.config";
import keycloak from "@/plugins/keycloak";
/**
* import type
*/
/**import type*/
import type {
OptionQuestions,
OptionQuestions2,
} from "@/modules/06_retirement/interface/request/Main";
import type { QForm } from "quasar";
import http from "@/plugins/http";
import config from "@/app.config";
import keycloak from "@/plugins/keycloak";
import type { DataProfile } from "@/modules/05_placement/interface/index/Main";
/** importComponents*/
import CardProfile from "@/components/CardProfile.vue";
/** use */
const $q = useQuasar();
const route = useRoute();
@ -34,6 +38,7 @@ const {
* วแปร
*/
const myForm = ref<QForm | null>(null);
const dataProfile = ref<DataProfile>();
const roleAdmin = ref<boolean>(false);
const Org = ref<string>("");
const PositionLevel = ref<string>("");
@ -88,6 +93,7 @@ const getData = async () => {
.get(config.API.ExitInterviewByid(dataId))
.then((res: any) => {
const data = res.data.result;
dataProfile.value = data as DataProfile;
avata.value = data.avatar ?? "";
Position.value = data.position ?? "";
PositionLevel.value = data.positionLevel ?? "";
@ -290,47 +296,7 @@ const putData = () => {
/>
รายละเอยด Exit interview ของ {{ prefix }} {{ fullname }}
</div>
<q-card bordered class="row col-12 text-dark">
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
<div class="q-pl-sm text-weight-bold text-subtitle2">
{{ fullname }}
</div>
<q-space />
</div>
<div class="col-12"><q-separator /></div>
<div class="row col-12 q-pa-md">
<div class="col-12 row bg-white q-col-gutter-md">
<div class="col-xs-3 col-sm-2 col-md-1 row">
<q-img :src="avata" v-if="avata !== ''" />
<q-img src="@/assets/avatar_user.jpg" v-else />
</div>
<div class="col-xs-6 col-sm-3 row items-center">
<div class="col-12 q-pl-md">
<div class="col-12 text-top">ตำแหนงในสายงาน</div>
<div class="col-12 text-detail">
{{ Position }}
</div>
</div>
</div>
<div class="col-xs-6 col-sm-3 row items-center">
<div class="col-12">
<div class="col-12 text-top">ระด</div>
<div class="col-12 text-detail">
{{ PositionLevel }}
</div>
</div>
</div>
<div class="col-xs-6 col-sm-3 row items-center">
<div class="col-12">
<div class="col-12 text-top">งก</div>
<div class="col-12 text-detail">
{{ Org }}
</div>
</div>
</div>
</div>
</div>
</q-card>
<CardProfile :data="dataProfile as DataProfile" />
<q-card bordered class="row col-12 text-dark q-mt-sm">
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">

View file

@ -338,7 +338,13 @@ function getQuota() {
.finally(() => {});
}
function filterSelector(val: any, update: Function, refData: string) {
/**
* functioon นหาขอมลรายการหนวยงาน
* @param val คำคนหา
* @param update function
* @param refData typeSelector
*/
function filterSelector(val: string, update: Function, refData: string) {
switch (refData) {
case "agencyFilter":
update(() => {

View file

@ -109,9 +109,13 @@ function fetchRoundOption() {
? "รอบเมษายน"
: "",
}));
roundOp.value = list;
store.formQuery.round = list[0].id;
fetchList();
} else {
roundOp.value = [];
store.formQuery.round = "";
}
})
.catch((err) => {
@ -221,7 +225,6 @@ onMounted(async () => {
<q-input
dense
outlined
class="inputgreen"
hide-bottom-space
:model-value="!!year ? year + 543 : null"
:label="`${'ปีงบประมาณ'}`"