hrms-mgt/src/modules/12_evaluatePersonal/components/Detail/step/step6.vue

231 lines
8.1 KiB
Vue
Raw Normal View History

<script setup lang="ts">
import { ref, reactive, onMounted } from "vue";
import { useRoute } from "vue-router";
import { useQuasar } from "quasar";
import http from "@/plugins/http";
import config from "@/app.config";
/** importType*/
import type { FormCommand } from "@/modules/12_evaluatePersonal/interface/index/evalute";
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
/**use*/
const $q = useQuasar();
const route = useRoute();
2023-12-22 10:05:18 +07:00
const mixin = useCounterMixin();
const dateEndPrepareDoc2 = ref<string | null>();
const { date2Thai, showLoader, hideLoader, messageError } = mixin;
const id = ref<string>(route.params.id as string);
2023-12-22 10:05:18 +07:00
const formCommand = reactive<FormCommand>({
elementaryFullName: "",
elementaryPosition: "",
abovelevelFullname: "",
abovelevelPosition: "",
});
const author = ref<string>("");
const subject = ref<string>("");
const assignedPosition = ref<string>("");
2023-12-22 10:05:18 +07:00
/** function เรียกข้อมูลวันที่ประกาศ*/
async function getDate() {
showLoader();
await http
.get(config.API.evaluationDateAnnounce(id.value))
.then((res) => {
const data = res.data.result;
2023-12-23 21:51:15 +07:00
const endDate = new Date(data.dateEndAnnounce);
endDate.setDate(endDate.getDate() + 180);
dateEndPrepareDoc2.value = date2Thai(endDate);
})
.catch((e) => {
messageError($q, e);
})
.finally(() => {
hideLoader();
});
}
/** function เรียกข้อมูลผลงาน*/
async function getSigner() {
showLoader();
await http
.get(config.API.evaluationSigner(id.value, 2))
.then((res) => {
const data = res.data.result;
if (data) {
formCommand.elementaryFullName = data.commanderFullnameDoc2;
formCommand.elementaryPosition = data.commanderPositionDoc2;
formCommand.abovelevelFullname = data.commanderAboveFullnameDoc2;
formCommand.abovelevelPosition = data.commanderAbovePositionDoc2;
author.value = data.authorDoc2;
subject.value = data.subjectDoc2;
assignedPosition.value = data.assignedPosition;
}
})
.catch((e) => {
// messageError($q, e);
})
.finally(() => {
hideLoader();
});
}
onMounted(async () => {
await getSigner();
await getDate();
});
</script>
<template>
2024-01-18 11:07:29 +07:00
<div class="row q-col-gutter-sm q-pa-sm">
2023-12-22 10:05:18 +07:00
<div class="col-12">
2024-01-18 11:07:29 +07:00
<q-banner class="text-weight-bold text-red-14 bg-red-1 text-center rounded-borders">
2023-12-22 10:05:18 +07:00
<div class="text-weight-bold">
<q-icon name="info_outline" color="red-14" size="24px" />
นสดทายของการสงผลงานคอวนท {{ dateEndPrepareDoc2 }}
2023-12-22 10:05:18 +07:00
</div>
</q-banner>
</div>
2024-01-05 10:37:42 +07:00
<!-- ผลงาน -->
2024-01-05 10:37:42 +07:00
<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">
2024-01-18 11:07:29 +07:00
<div class="row q-col-gutter-sm col-12">
2024-01-05 10:37:42 +07:00
<div class="col-xs-12 col-sm-12 row">
2024-01-18 11:07:29 +07:00
<div class="row col-12 q-col-gutter-sm">
2024-01-05 10:37:42 +07:00
<q-input
readonly
2024-01-05 10:37:42 +07:00
dense
class="col-xs-12 col-sm-6"
outlined
label="ชื่อผลงาน"
v-model="subject"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อผลงาน'}`]"
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2024-01-05 10:37:42 +07:00
/>
<q-input
readonly
class="col-xs-12 col-sm-6"
dense
outlined
v-model="author"
label="เจ้าของผลงาน"
:rules="[(val) => !!val || `${'กรุณากรอกเจ้าของผลงาน'}`]"
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2024-01-05 10:37:42 +07:00
/>
<q-input
readonly
class="col-xs-12 col-sm-6"
dense
outlined
v-model="assignedPosition"
2024-01-08 15:02:50 +07:00
label="ตำแหน่งที่ได้รับ"
:rules="[
(val) => !!val || `${'กรุณากรอกตำแหน่งที่ได้รับ'}`,
]"
2024-01-05 10:37:42 +07:00
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2024-01-05 10:37:42 +07:00
/>
</div>
</div>
</div>
</div>
</div>
</q-card>
</div>
2023-12-22 10:05:18 +07:00
<!-- เลอกผเซนเอกสาร -->
2023-12-22 10:05:18 +07:00
<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">
2024-01-18 11:07:29 +07:00
<div class="row q-col-gutter-sm col-12">
2023-12-22 10:05:18 +07:00
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pl-sm q-py-sm">
2023-12-22 10:05:18 +07:00
งคบบญชาชนต
</div>
<div class="row col-12 q-col-gutter-sm">
2023-12-22 10:05:18 +07:00
<q-input
readonly
2023-12-22 10:05:18 +07:00
ref="elementaryFullNameRef"
dense
class="col-xs-12 col-sm-6"
outlined
label="ชื่อ-นามสกุล"
v-model="formCommand.elementaryFullName"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2023-12-22 10:05:18 +07:00
/>
<q-input
readonly
2023-12-22 10:05:18 +07:00
ref="elementaryPositonRef"
class="col-xs-12 col-sm-6"
dense
outlined
v-model="formCommand.elementaryPosition"
label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2023-12-22 10:05:18 +07:00
/>
</div>
</div>
</div>
2024-01-18 11:07:29 +07:00
<div class="row q-col-gutter-sm col-12">
2023-12-22 10:05:18 +07:00
<div class="col-xs-12 col-sm-12 row">
<div class="text-weight-medium q-pl-sm q-pt-md q-mb-xs">
2023-12-22 10:05:18 +07:00
งคบบญชาเหนอขนไป 1 ระด
</div>
<div class="row col-12 q-col-gutter-sm">
2023-12-22 10:05:18 +07:00
<q-input
readonly
2023-12-22 10:05:18 +07:00
ref="abovelevelFullnameRef"
dense
class="col-xs-12 col-sm-6"
outlined
v-model="formCommand.abovelevelFullname"
label="ชื่อ-นามสกุล"
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2023-12-22 10:05:18 +07:00
/>
<q-input
ref="abovelevelPositionRef"
class="col-xs-12 col-sm-6"
dense
readonly
2023-12-22 10:05:18 +07:00
outlined
v-model="formCommand.abovelevelPosition"
label="ตำแหน่ง"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
lazy-rules
2024-01-18 11:07:29 +07:00
hide-bottom-space
2023-12-22 10:05:18 +07:00
/>
</div>
</div>
</div>
</div>
</div>
</q-card>
</div>
</div>
</template>
<style scoped></style>