2024-03-29 18:05:19 +07:00
|
|
|
<script setup lang="ts">
|
2024-04-04 11:18:30 +07:00
|
|
|
import { onMounted, reactive, ref, watchEffect } from "vue";
|
2024-03-29 18:05:19 +07:00
|
|
|
import { useQuasar } from "quasar";
|
|
|
|
|
|
|
|
|
|
import type { FormFollowResult } from "@/modules/15_development/interface/request/Main";
|
2024-04-01 13:42:24 +07:00
|
|
|
import type {
|
|
|
|
|
DataOption,
|
|
|
|
|
DataOptionCheckBox,
|
|
|
|
|
} from "@/modules/15_development/interface/index/Main";
|
2024-03-29 18:05:19 +07:00
|
|
|
|
2024-04-04 11:18:30 +07:00
|
|
|
import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
|
2024-03-29 18:05:19 +07:00
|
|
|
import { useCounterMixin } from "@/stores/mixin";
|
|
|
|
|
|
|
|
|
|
const $q = useQuasar();
|
2024-04-04 11:18:30 +07:00
|
|
|
const store = useDevelopmentDataStore();
|
2024-03-29 18:05:19 +07:00
|
|
|
const { showLoader, hideLoader, dialogConfirm } = useCounterMixin();
|
|
|
|
|
|
|
|
|
|
const formData = reactive<FormFollowResult>({
|
|
|
|
|
metricType: "",
|
|
|
|
|
indicators: "",
|
|
|
|
|
target: "",
|
|
|
|
|
calculation: "",
|
2024-03-31 09:02:33 +07:00
|
|
|
measuRement: "",
|
|
|
|
|
results: "",
|
|
|
|
|
obstacles: "",
|
|
|
|
|
suggestions: "",
|
2024-04-04 11:18:30 +07:00
|
|
|
project: "",
|
2024-03-29 18:05:19 +07:00
|
|
|
});
|
|
|
|
|
|
2024-04-01 13:42:24 +07:00
|
|
|
const group = ref<any[]>([]);
|
2024-03-29 18:05:19 +07:00
|
|
|
const metricTypeOp = ref<DataOption[]>([
|
|
|
|
|
{
|
|
|
|
|
id: "id1",
|
|
|
|
|
name: "name1",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: "id2",
|
|
|
|
|
name: "name2",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: "id3",
|
|
|
|
|
name: "name3",
|
|
|
|
|
},
|
|
|
|
|
]);
|
2024-04-01 13:42:24 +07:00
|
|
|
const projectOp = ref<DataOption[]>([
|
|
|
|
|
{
|
2024-04-04 11:18:30 +07:00
|
|
|
id: "OFFER",
|
2024-04-01 13:42:24 +07:00
|
|
|
name: "โครงการที่ เสนอขอ TN",
|
|
|
|
|
},
|
|
|
|
|
{
|
2024-04-04 11:18:30 +07:00
|
|
|
id: "NOOFFER",
|
2024-04-01 13:42:24 +07:00
|
|
|
name: "โครงการที่ ไม่ เสนอขอ TN",
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const optionsTNFirst = ref<DataOptionCheckBox[]>([
|
|
|
|
|
{
|
|
|
|
|
label: "ผ่านการพิจารณา ได้รับการจัดงบประมาณตามข้อบัญญัติ",
|
2024-04-04 11:18:30 +07:00
|
|
|
value: store.formAddProject.isPassAllocate,
|
2024-04-01 13:42:24 +07:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label:
|
|
|
|
|
"ผ่านการพิจารณา ไม่ได้รับการจัดสรรงบประมาณตามข้อบัญญัติ แต่ได้รับการจัดสรรเงินนอกงบประมาณ",
|
2024-04-04 11:18:30 +07:00
|
|
|
value: store.formAddProject.isPassNoAllocate,
|
2024-04-01 13:42:24 +07:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "ไม่ผ่านการพิจารณา แต่ได้รับการจัดสรรเงินนอกงบประมาณ",
|
2024-04-04 11:18:30 +07:00
|
|
|
value: store.formAddProject.isNoPass,
|
2024-04-01 13:42:24 +07:00
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
const optionsTNSecon = ref<DataOptionCheckBox[]>([
|
|
|
|
|
{
|
|
|
|
|
label: "แต่ได้รับการจัดสรรงบประมาณตามข้อบัญญัติ",
|
2024-04-04 11:18:30 +07:00
|
|
|
value: store.formAddProject.isBudget,
|
2024-04-01 13:42:24 +07:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "แต่ได้รับการจัดสรรเงินนอกงบประมาณ",
|
2024-04-04 11:18:30 +07:00
|
|
|
value: store.formAddProject.isOutBudget,
|
2024-04-01 13:42:24 +07:00
|
|
|
},
|
|
|
|
|
]);
|
2024-03-29 18:05:19 +07:00
|
|
|
|
2024-04-04 11:18:30 +07:00
|
|
|
watchEffect(() => {});
|
2024-03-29 18:05:19 +07:00
|
|
|
|
|
|
|
|
onMounted(() => {
|
2024-04-04 11:18:30 +07:00
|
|
|
optionsTNFirst.value.forEach((checkbox, index) => {
|
|
|
|
|
if (index === 0) checkbox.value = store.formAddProject.isPassAllocate;
|
|
|
|
|
else if (index === 1)
|
|
|
|
|
checkbox.value = store.formAddProject.isPassNoAllocate;
|
|
|
|
|
else if (index === 2) checkbox.value = store.formAddProject.isNoPass;
|
|
|
|
|
});
|
2024-03-29 18:05:19 +07:00
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
<template>
|
2024-04-04 11:18:30 +07:00
|
|
|
<div class="row q-pa-md q-col-gutter-sm">
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<span class="text-weight-medium text-body1">ตัวชี้วัดความสำเร็จ</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
|
|
|
<!-- <q-select
|
|
|
|
|
dense
|
|
|
|
|
outlined
|
|
|
|
|
label="ประเภทตัวชี้วัด"
|
|
|
|
|
v-model="store.formAddProject.metricType"
|
|
|
|
|
:options="metricTypeOp"
|
|
|
|
|
option-label="name"
|
|
|
|
|
option-value="id"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
/> -->
|
|
|
|
|
<q-input
|
|
|
|
|
dense
|
|
|
|
|
outlined
|
|
|
|
|
label="ประเภทตัวชี้วัด"
|
|
|
|
|
v-model="store.formAddProject.metricType"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
|
|
|
<q-input
|
|
|
|
|
dense
|
|
|
|
|
outlined
|
|
|
|
|
label="ตัวชี้วัด"
|
|
|
|
|
v-model="store.formAddProject.indicators"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
|
|
|
<q-input
|
|
|
|
|
dense
|
|
|
|
|
outlined
|
|
|
|
|
label="เป้าหมาย"
|
|
|
|
|
v-model="store.formAddProject.target"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-input
|
|
|
|
|
outlined
|
|
|
|
|
dense
|
|
|
|
|
v-model="store.formAddProject.calculation"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
label="วิธีการคำนวณ/เครื่องมือ"
|
|
|
|
|
type="textarea"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-input
|
|
|
|
|
outlined
|
|
|
|
|
dense
|
|
|
|
|
v-model="store.formAddProject.measuRement"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
label="ระยะเวลาวัดผล"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-input
|
|
|
|
|
outlined
|
|
|
|
|
dense
|
|
|
|
|
v-model="store.formAddProject.results"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
label="ผลการดำเนิน"
|
|
|
|
|
type="textarea"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-input
|
|
|
|
|
outlined
|
|
|
|
|
dense
|
|
|
|
|
v-model="store.formAddProject.obstacles"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
label="ปัญหาอุปสรรค"
|
|
|
|
|
type="textarea"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-input
|
|
|
|
|
outlined
|
|
|
|
|
dense
|
|
|
|
|
v-model="store.formAddProject.suggestions"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
label="ข้อเสนอเเนะ"
|
|
|
|
|
type="textarea"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<span class="text-weight-medium text-body1"
|
|
|
|
|
>ประเภทของผลการพิจารณาความเหมาะสมโครงการ</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
|
|
|
<q-select
|
|
|
|
|
dense
|
|
|
|
|
outlined
|
|
|
|
|
label="ประเภทโครงการ"
|
|
|
|
|
v-model="store.formAddProject.project"
|
|
|
|
|
:options="projectOp"
|
|
|
|
|
option-label="name"
|
|
|
|
|
option-value="id"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
map-options
|
|
|
|
|
emit-value
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="store.formAddProject.project !== ''" class="col-12">
|
|
|
|
|
<div class="row" v-if="store.formAddProject.project == 'OFFER'">
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-checkbox
|
|
|
|
|
v-model="store.formAddProject.isPassAllocate"
|
|
|
|
|
label="ผ่านการพิจารณา ได้รับการจัดงบประมาณตามข้อบัญญัติ"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-checkbox
|
|
|
|
|
v-model="store.formAddProject.isPassNoAllocate"
|
|
|
|
|
label="ผ่านการพิจารณา ไม่ได้รับการจัดสรรงบประมาณตามข้อบัญญัติ แต่ได้รับการจัดสรรเงินนอกงบประมาณ"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
2024-04-02 10:25:43 +07:00
|
|
|
|
2024-04-04 11:18:30 +07:00
|
|
|
<div class="col-12">
|
|
|
|
|
<q-checkbox
|
|
|
|
|
v-model="store.formAddProject.isNoPass"
|
|
|
|
|
label="ไม่ผ่านการพิจารณา แต่ได้รับการจัดสรรเงินนอกงบประมาณ"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
2024-03-31 09:02:33 +07:00
|
|
|
</div>
|
2024-04-04 11:18:30 +07:00
|
|
|
<div class="row" v-else>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-checkbox
|
|
|
|
|
v-model="store.formAddProject.isBudget"
|
|
|
|
|
label="แต่ได้รับการจัดสรรงบประมาณตามข้อบัญญัติ"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-checkbox
|
|
|
|
|
v-model="store.formAddProject.isOutBudget"
|
|
|
|
|
label="แต่ได้รับการจัดสรรเงินนอกงบประมาณ"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
2024-04-01 13:42:24 +07:00
|
|
|
</div>
|
2024-03-29 18:05:19 +07:00
|
|
|
</div>
|
2024-04-04 11:18:30 +07:00
|
|
|
</div>
|
2024-03-29 18:05:19 +07:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<style scoped></style>
|