hrms-mgt/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue
STW_TTTY\stwtt 4344ee4a44 val:string
2024-09-20 15:23:06 +07:00

195 lines
7.6 KiB
Vue

<script setup lang="ts">
import { ref, reactive, onMounted } from "vue";
import { useQuasar } from "quasar";
import { useRoute } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
import type { FormCommand } from "@/modules/12_evaluatePersonal/interface/index/evalute";
import { useCounterMixin } from "@/stores/mixin";
const route = useRoute();
const $q = useQuasar();
const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError } = mixin;
const id = ref<string>(route.params.id as string); //id ประเมิน
/** ฟรอมจัดเตรียมเอกสารเล่ม 1*/
const subject = ref<string>(""); //ชื่อผลงาน
const author = ref<string>(""); //เจ้าของผลงาน
const formCommand = reactive<FormCommand>({
elementaryFullName: "", //ชื่อ-นามสกุลผู้บังคับบัญชาชั้นต้น
elementaryPosition: "", //ตำแหน่งผู้บังคับบัญชาชั้นต้น
abovelevelFullname: "", //ชื่อ-นามสกุลผู้บังคับบัญชาเหนือขึ้นไป 1 ระดับ
abovelevelPosition: "", //ตำแหน่งผู้บังคับบัญชาเหนือขึ้นไป 1 ระดับ
});
/**
* function เรียกข้อมลผลงาน
*/
async function fetchSigner() {
showLoader();
await http
.get(config.API.evaluationSigner(id.value, 1))
.then((res) => {
const data = res.data.result;
if (data) {
formCommand.elementaryFullName =
data == null ? "" : data.commanderFullname;
formCommand.elementaryPosition =
data == null ? "" : data.commanderPosition;
formCommand.abovelevelFullname =
data == null ? "" : data.commanderAboveFullname;
formCommand.abovelevelPosition =
data == null ? "" : data.commanderAbovePosition;
author.value = data.author;
subject.value = data.subject;
}
})
.catch((e) => {
messageError($q, e);
})
.finally(() => {
setTimeout(() => {
hideLoader();
}, 1000);
});
}
/**
* ทำงานเมือ Components ถูกเรียกใช้งาน
*/
onMounted(async () => {
await fetchSigner();
});
</script>
<template>
<div class="q-pa-sm col-12">
<div class="row q-col-gutter-sm">
<!-- ผลงาน -->
<div class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">ผลงาน</div>
<div class="col-12"><q-separator /></div>
<div class="row">
<div class="col-12 q-pa-sm">
<div class="row q-col-gutter-sm col-12">
<div class="col-xs-12 col-sm-12 row">
<div class="row col-12 q-col-gutter-sm">
<q-input
readonly
dense
class="col-xs-12 col-sm-6"
outlined
label="ชื่อผลงาน"
v-model="subject"
:rules="[(val:string) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]"
lazy-rules
hide-bottom-space
/>
<q-input
readonly
class="col-xs-12 col-sm-6"
dense
outlined
v-model="author"
label="เจ้าของผลงาน"
:rules="[(val:string) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]"
lazy-rules
hide-bottom-space
/>
</div>
</div>
</div>
</div>
</div>
</q-card>
</div>
<!-- เลอกผเซนเอกสาร -->
<div class="col-12">
<q-card bordered style="border: 1px solid #d6dee1">
<div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
เลอกผเซนเอกสาร
</div>
<div class="col-12"><q-separator /></div>
<div class="row">
<div class="col-12 q-pa-sm">
<div class="row q-col-gutter-sm col-12">
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-py-xs q-pl-sm">
งคบบญชาชนต
</div>
<div class="row col-12 q-col-gutter-sm">
<q-input
readonly
ref="elementaryFullNameRef"
dense
class="col-xs-12 col-sm-6"
outlined
label="ชื่อ-นามสกุล"
v-model="formCommand.elementaryFullName"
:rules="[(val:string) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
hide-bottom-space
/>
<q-input
readonly
ref="elementaryPositonRef"
class="col-xs-12 col-sm-6"
dense
outlined
v-model="formCommand.elementaryPosition"
label="ตำแหน่ง"
:rules="[(val:string) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
hide-bottom-space
/>
</div>
</div>
</div>
<div class="row q-col-gutter-sm col-12">
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pl-sm q-pt-md q-mb-xs">
งคบบญชาเหนอขนไป 1 ระด
</div>
<div class="row col-12 q-col-gutter-sm">
<q-input
readonly
ref="abovelevelFullnameRef"
dense
class="col-xs-12 col-sm-6"
outlined
v-model="formCommand.abovelevelFullname"
label="ชื่อ-นามสกุล"
:rules="[(val:string) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
hide-bottom-space
/>
<q-input
ref="abovelevelPositionRef"
class="col-xs-12 col-sm-6"
dense
readonly
outlined
v-model="formCommand.abovelevelPosition"
label="ตำแหน่ง"
:rules="[(val:string) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
hide-bottom-space
/>
</div>
</div>
</div>
</div>
</div>
</q-card>
</div>
</div>
</div>
</template>
<style scoped></style>