2023-07-26 15:37:34 +07:00
|
|
|
<script setup lang="ts">
|
2023-08-23 13:32:02 +07:00
|
|
|
import { useRoute, useRouter } from "vue-router";
|
2023-09-05 13:33:48 +07:00
|
|
|
import { ref, defineAsyncComponent, onMounted } from "vue";
|
|
|
|
|
import { useAssignDataStore } from "@/modules/05_placement/storeAssign";
|
|
|
|
|
const DataStore = useAssignDataStore();
|
2023-07-26 15:37:34 +07:00
|
|
|
|
|
|
|
|
const ProbationFormAssign = defineAsyncComponent(
|
|
|
|
|
() => import("@/modules/05_placement/components/probation/FormAssign.vue")
|
|
|
|
|
);
|
|
|
|
|
const TabsTemplate1 = defineAsyncComponent(
|
2023-09-05 13:33:48 +07:00
|
|
|
() =>
|
|
|
|
|
import(
|
|
|
|
|
"@/modules/05_placement/components/probation/FormEvaluation/Template1.vue"
|
|
|
|
|
)
|
2023-07-26 15:37:34 +07:00
|
|
|
);
|
|
|
|
|
const TabsTemplate2 = defineAsyncComponent(
|
2023-09-05 13:33:48 +07:00
|
|
|
() =>
|
|
|
|
|
import(
|
|
|
|
|
"@/modules/05_placement/components/probation/FormEvaluation/Template2.vue"
|
|
|
|
|
)
|
2023-07-26 15:37:34 +07:00
|
|
|
);
|
2023-07-27 17:13:38 +07:00
|
|
|
const TabsTemplate2Format2 = defineAsyncComponent(
|
2023-09-05 13:33:48 +07:00
|
|
|
() =>
|
|
|
|
|
import(
|
|
|
|
|
"@/modules/05_placement/components/probation/FormEvaluation/Template2Format2.vue"
|
|
|
|
|
)
|
2023-07-27 17:13:38 +07:00
|
|
|
);
|
2023-07-26 15:37:34 +07:00
|
|
|
const TabsTemplate3 = defineAsyncComponent(
|
2023-09-05 13:33:48 +07:00
|
|
|
() =>
|
|
|
|
|
import(
|
|
|
|
|
"@/modules/05_placement/components/probation/FormEvaluation/Template3.vue"
|
|
|
|
|
)
|
2023-07-26 15:37:34 +07:00
|
|
|
);
|
|
|
|
|
|
2023-08-23 13:32:02 +07:00
|
|
|
const SummaryScore = defineAsyncComponent(
|
|
|
|
|
() => import("@/modules/05_placement/components/probation/SummaryScore.vue")
|
|
|
|
|
);
|
2023-08-24 18:06:51 +07:00
|
|
|
const SummarySurvey = defineAsyncComponent(
|
|
|
|
|
() => import("@/modules/05_placement/components/probation/SummarySurvey.vue")
|
|
|
|
|
);
|
2023-08-23 13:32:02 +07:00
|
|
|
|
2023-07-26 15:37:34 +07:00
|
|
|
const router = useRouter();
|
2023-08-23 13:32:02 +07:00
|
|
|
const route = useRoute();
|
2023-07-26 15:37:34 +07:00
|
|
|
const drawer = ref<boolean>(true);
|
2023-09-05 13:33:48 +07:00
|
|
|
const activeTab = ref<string>("");
|
2023-08-23 13:32:02 +07:00
|
|
|
const personalId = ref<string>(route.params.personalId.toString());
|
|
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
onMounted(() => {
|
|
|
|
|
activeTab.value = DataStore.mainTab;
|
|
|
|
|
});
|
|
|
|
|
const changeTab = (tab: string) => {
|
|
|
|
|
DataStore.mainTab = tab;
|
|
|
|
|
activeTab.value = DataStore.mainTab;
|
|
|
|
|
};
|
2023-09-05 13:41:07 +07:00
|
|
|
const clickBack = () => {
|
|
|
|
|
router.push(`/probation/detail/${personalId.value}`);
|
|
|
|
|
DataStore.mainTab = "tab1";
|
|
|
|
|
};
|
2023-07-26 15:37:34 +07:00
|
|
|
</script>
|
|
|
|
|
|
2023-07-20 15:17:01 +07:00
|
|
|
<template>
|
2023-07-26 03:15:51 +07:00
|
|
|
<!-- <div class="toptitle text-dark col-12 row items-center">จัดการบัญชี 2</div> -->
|
|
|
|
|
<q-card flat bordered class="col-12">
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-layout
|
|
|
|
|
view="hHh Lpr lff"
|
|
|
|
|
container
|
|
|
|
|
class="shadow-2 rounded-borders page-relative"
|
|
|
|
|
style="height: 82vh"
|
|
|
|
|
>
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-header class="bg-grey-1">
|
|
|
|
|
<q-toolbar>
|
2023-09-05 13:33:48 +07:00
|
|
|
<div
|
|
|
|
|
class="text-h6 text-weight-medium text-dark col-12 row items-center q-py-md"
|
|
|
|
|
>
|
|
|
|
|
<q-btn
|
|
|
|
|
icon="mdi-arrow-left"
|
|
|
|
|
unelevated
|
|
|
|
|
round
|
|
|
|
|
dense
|
|
|
|
|
flat
|
|
|
|
|
color="primary"
|
|
|
|
|
class="q-mr-sm"
|
2023-09-05 13:41:07 +07:00
|
|
|
@click="clickBack"
|
2023-09-05 13:33:48 +07:00
|
|
|
/>
|
2023-08-23 13:32:02 +07:00
|
|
|
การทดลองปฏิบัติหน้าที่ราชการ
|
2023-07-26 03:15:51 +07:00
|
|
|
</div>
|
|
|
|
|
</q-toolbar>
|
|
|
|
|
<q-separator />
|
|
|
|
|
</q-header>
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-drawer
|
|
|
|
|
v-model="drawer"
|
|
|
|
|
show-if-above
|
|
|
|
|
:width="150"
|
|
|
|
|
:breakpoint="500"
|
|
|
|
|
class="bg-grey-1"
|
|
|
|
|
bordered
|
|
|
|
|
>
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-scroll-area class="fit" :horizontal-thumb-style="{ opacity: 0 }">
|
2023-08-24 16:55:24 +07:00
|
|
|
<q-list class="text-grey-9">
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
dense
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab1'"
|
|
|
|
|
@click="changeTab('tab1')"
|
|
|
|
|
>
|
2023-07-27 17:13:38 +07:00
|
|
|
<!-- <q-item-section avatar style="min-width: 40px">
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-icon size="18px" name="mdi-file" />
|
2023-07-27 17:13:38 +07:00
|
|
|
</q-item-section> -->
|
2023-07-24 09:28:49 +07:00
|
|
|
|
2023-08-24 16:55:24 +07:00
|
|
|
<q-item-section>แบบมอบหมายงาน ฯ</q-item-section>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-item>
|
2023-07-24 09:28:49 +07:00
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
dense
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab2'"
|
|
|
|
|
@click="changeTab('tab2')"
|
|
|
|
|
>
|
2023-07-27 17:13:38 +07:00
|
|
|
<!-- <q-item-section avatar style="min-width: 40px">
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-icon size="18px" name="mdi-file-edit" />
|
2023-07-27 17:13:38 +07:00
|
|
|
</q-item-section> -->
|
2023-07-20 15:17:01 +07:00
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item-section> แบบบันทึกผล </q-item-section>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-item>
|
2023-07-20 15:17:01 +07:00
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
dense
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab3'"
|
|
|
|
|
@click="changeTab('tab3')"
|
|
|
|
|
>
|
2023-07-27 17:13:38 +07:00
|
|
|
<!-- <q-item-section avatar style="min-width: 40px">
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-icon size="18px" name="mdi-file-star" />
|
2023-07-27 17:13:38 +07:00
|
|
|
</q-item-section> -->
|
|
|
|
|
|
|
|
|
|
<q-item-section>
|
2023-09-05 13:33:48 +07:00
|
|
|
แบบประเมินผล<br />
|
|
|
|
|
<div class="text-caption text-grey-7">(ผู้บังคับบัญชา)</div>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-item-section>
|
2023-07-27 17:13:38 +07:00
|
|
|
</q-item>
|
|
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
dense
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab4'"
|
|
|
|
|
@click="changeTab('tab4')"
|
|
|
|
|
>
|
2023-07-27 17:13:38 +07:00
|
|
|
<!-- <q-item-section avatar style="min-width: 40px">
|
|
|
|
|
<q-icon size="18px" name="mdi-file-star" />
|
|
|
|
|
</q-item-section> -->
|
2023-07-20 15:17:01 +07:00
|
|
|
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-item-section>
|
2023-09-05 13:33:48 +07:00
|
|
|
แบบประเมินผล<br />
|
|
|
|
|
<div class="text-caption text-grey-7">(คณะกรรมการ)</div>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-item-section>
|
|
|
|
|
</q-item>
|
2023-07-20 15:17:01 +07:00
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
dense
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab5'"
|
|
|
|
|
@click="changeTab('tab5')"
|
|
|
|
|
>
|
2023-07-27 17:13:38 +07:00
|
|
|
<!-- <q-item-section avatar style="min-width: 40px">
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-icon size="18px" name="mdi-file-chart" />
|
2023-07-27 17:13:38 +07:00
|
|
|
</q-item-section> -->
|
2023-07-20 15:17:01 +07:00
|
|
|
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item-section> แบบรายงาน<br />การประเมินฯ </q-item-section>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-item>
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
dense
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab6'"
|
|
|
|
|
@click="changeTab('tab6')"
|
|
|
|
|
>
|
|
|
|
|
<q-item-section> ผลการประเมินการ ฯ </q-item-section>
|
2023-08-19 20:14:41 +07:00
|
|
|
</q-item>
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-item
|
|
|
|
|
active-class="text-primary bg-teal-1 text-weight-medium"
|
|
|
|
|
clickable
|
|
|
|
|
class="q-py-sm"
|
|
|
|
|
dense
|
|
|
|
|
v-ripple
|
|
|
|
|
:active="activeTab == 'tab7'"
|
|
|
|
|
@click="changeTab('tab7')"
|
|
|
|
|
>
|
|
|
|
|
<q-item-section> แบบสํารวจ<br />ความคิดเห็น </q-item-section>
|
2023-08-24 18:06:51 +07:00
|
|
|
</q-item>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-list>
|
|
|
|
|
</q-scroll-area>
|
|
|
|
|
</q-drawer>
|
|
|
|
|
<q-page-container>
|
|
|
|
|
<q-layout view="hHh Lpr lFf" container style="height: 72vh">
|
2023-09-05 13:33:48 +07:00
|
|
|
<q-tab-panels
|
|
|
|
|
v-model="activeTab"
|
|
|
|
|
animated
|
|
|
|
|
class="shadow-2 rounded-borders"
|
|
|
|
|
vertical
|
|
|
|
|
>
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-tab-panel name="tab1">
|
|
|
|
|
<ProbationFormAssign />
|
|
|
|
|
</q-tab-panel>
|
2023-07-24 09:28:49 +07:00
|
|
|
|
2023-07-27 17:13:38 +07:00
|
|
|
<q-tab-panel name="tab2">
|
2023-08-19 20:14:41 +07:00
|
|
|
<TabsTemplate1 :activeTab="activeTab" />
|
2023-07-27 17:13:38 +07:00
|
|
|
</q-tab-panel>
|
2023-07-26 03:15:51 +07:00
|
|
|
|
|
|
|
|
<q-tab-panel name="tab3">
|
2023-07-26 15:37:34 +07:00
|
|
|
<TabsTemplate2 />
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-tab-panel>
|
2023-07-27 17:13:38 +07:00
|
|
|
|
2023-07-26 03:15:51 +07:00
|
|
|
<q-tab-panel name="tab4">
|
2023-07-27 17:13:38 +07:00
|
|
|
<TabsTemplate2Format2 />
|
|
|
|
|
</q-tab-panel>
|
|
|
|
|
|
|
|
|
|
<q-tab-panel name="tab5">
|
2023-07-26 15:37:34 +07:00
|
|
|
<TabsTemplate3 />
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-tab-panel>
|
2023-08-23 13:32:02 +07:00
|
|
|
|
|
|
|
|
<q-tab-panel name="tab6">
|
|
|
|
|
<SummaryScore />
|
|
|
|
|
</q-tab-panel>
|
2023-09-05 13:33:48 +07:00
|
|
|
|
2023-08-24 18:06:51 +07:00
|
|
|
<q-tab-panel name="tab7">
|
|
|
|
|
<SummarySurvey />
|
|
|
|
|
</q-tab-panel>
|
2023-07-26 03:15:51 +07:00
|
|
|
</q-tab-panels>
|
|
|
|
|
</q-layout>
|
|
|
|
|
</q-page-container>
|
|
|
|
|
</q-layout>
|
|
|
|
|
</q-card>
|
2023-07-20 15:17:01 +07:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scope>
|
|
|
|
|
.btn-absolute {
|
2023-07-26 03:15:51 +07:00
|
|
|
z-index: 50;
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 200px;
|
|
|
|
|
top: 10px;
|
2023-07-20 15:17:01 +07:00
|
|
|
}
|
2023-07-24 09:28:49 +07:00
|
|
|
|
2023-07-20 15:17:01 +07:00
|
|
|
.btnShadow {
|
2023-07-26 03:15:51 +07:00
|
|
|
box-shadow: 0 1px 2px rgb(0 0 0 / 10%), 3px 3px 7px 1px rgba(95, 95, 95, 0.15) !important;
|
2023-07-20 15:17:01 +07:00
|
|
|
}
|
2023-07-26 03:15:51 +07:00
|
|
|
</style>
|