2024-10-15 16:16:59 +07:00
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { ref } from "vue";
|
2024-10-15 16:59:11 +07:00
|
|
|
import { useQuasar } from "quasar";
|
|
|
|
|
|
|
|
|
|
import { useCounterMixin } from "@/stores/mixin";
|
2024-10-15 16:16:59 +07:00
|
|
|
|
|
|
|
|
import DialogHeader from "@/components/DialogHeader.vue";
|
|
|
|
|
|
2024-10-15 16:59:11 +07:00
|
|
|
const $q = useQuasar();
|
|
|
|
|
const { dialogConfirm } = useCounterMixin();
|
|
|
|
|
|
2024-10-15 16:16:59 +07:00
|
|
|
const modal = defineModel<boolean>("modal", { required: true });
|
|
|
|
|
|
|
|
|
|
const isAcknowledge = ref<boolean>(false);
|
2024-10-15 16:59:11 +07:00
|
|
|
const isConsider = ref<boolean>(true);
|
|
|
|
|
const isComment = ref<boolean>(true);
|
2024-10-15 16:16:59 +07:00
|
|
|
|
2024-10-15 16:59:11 +07:00
|
|
|
const acknowledge = ref<boolean>(false);
|
|
|
|
|
const consider = ref<string>("");
|
|
|
|
|
const comment = ref<string>("");
|
|
|
|
|
|
|
|
|
|
function onSubmit() {
|
|
|
|
|
dialogConfirm($q, () => {});
|
|
|
|
|
}
|
2024-10-15 16:16:59 +07:00
|
|
|
|
|
|
|
|
function onCloseModal() {
|
|
|
|
|
modal.value = false;
|
2024-10-15 16:59:11 +07:00
|
|
|
acknowledge.value = false;
|
|
|
|
|
consider.value = "";
|
|
|
|
|
comment.value = "";
|
2024-10-15 16:16:59 +07:00
|
|
|
}
|
|
|
|
|
</script>
|
2024-10-15 12:37:38 +07:00
|
|
|
|
|
|
|
|
<template>
|
2024-10-15 16:16:59 +07:00
|
|
|
<q-dialog v-model="modal" persistent>
|
|
|
|
|
<q-card style="min-width: 700px">
|
|
|
|
|
<q-form q-form greedy @submit.prevent @validation-success="onSubmit">
|
|
|
|
|
<DialogHeader
|
|
|
|
|
:tittle="`รับทราบ/พิจารณา/แสดงความเห็น`"
|
|
|
|
|
:close="onCloseModal"
|
|
|
|
|
/>
|
|
|
|
|
<q-separator />
|
|
|
|
|
|
|
|
|
|
<q-card-section>
|
2024-10-15 16:59:11 +07:00
|
|
|
<div class="q-gutter-xs">
|
|
|
|
|
<div v-if="isAcknowledge">
|
2024-10-15 16:16:59 +07:00
|
|
|
<q-checkbox
|
|
|
|
|
keep-color
|
|
|
|
|
color="primary"
|
|
|
|
|
dense
|
2024-10-15 16:59:11 +07:00
|
|
|
v-model="acknowledge"
|
|
|
|
|
label="รับทราบ"
|
2024-10-15 16:16:59 +07:00
|
|
|
/>
|
|
|
|
|
</div>
|
2024-10-15 16:59:11 +07:00
|
|
|
<div v-if="!isAcknowledge && isConsider">
|
|
|
|
|
<div class="text-weight-bold">พิจารณา (อนุมัติ/ไม่อนุมัติ)</div>
|
|
|
|
|
<div class="q-pa-sm q-gutter-sm">
|
|
|
|
|
<q-radio
|
|
|
|
|
dense
|
|
|
|
|
keep-color
|
|
|
|
|
color="primary"
|
|
|
|
|
v-model="consider"
|
|
|
|
|
label="อนุมัติ"
|
|
|
|
|
val="approve"
|
|
|
|
|
/>
|
|
|
|
|
<q-radio
|
|
|
|
|
dense
|
|
|
|
|
keep-color
|
|
|
|
|
color="primary"
|
|
|
|
|
v-model="consider"
|
|
|
|
|
label="ไม่อนุมัติ"
|
|
|
|
|
val="reject"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
2024-10-15 16:16:59 +07:00
|
|
|
</div>
|
2024-10-15 16:59:11 +07:00
|
|
|
|
|
|
|
|
<div v-if="!isAcknowledge && isComment">
|
|
|
|
|
<div class="text-weight-bold">แสดงความเห็นในเอกสาร</div>
|
|
|
|
|
<div class="q-pa-sm q-gutter-sm">
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<q-input
|
|
|
|
|
dense
|
|
|
|
|
outlined
|
|
|
|
|
label="ความเห็น"
|
|
|
|
|
v-model="comment"
|
|
|
|
|
type="textarea"
|
|
|
|
|
lazy-rules
|
|
|
|
|
:rules="[
|
|
|
|
|
(val:string) => !!val || `${'กรุณากรอกความเห็น'}`,
|
|
|
|
|
]"
|
|
|
|
|
hide-bottom-space
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2024-10-15 16:16:59 +07:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</q-card-section>
|
|
|
|
|
|
|
|
|
|
<q-separator />
|
|
|
|
|
|
|
|
|
|
<q-card-actions align="right">
|
|
|
|
|
<q-btn
|
2024-10-15 16:59:11 +07:00
|
|
|
label="บันทึก"
|
2024-10-15 16:16:59 +07:00
|
|
|
color="public"
|
|
|
|
|
type="submit"
|
|
|
|
|
:disable="!isAcknowledge && !isConsider && !isComment"
|
|
|
|
|
>
|
|
|
|
|
</q-btn>
|
|
|
|
|
</q-card-actions>
|
|
|
|
|
</q-form>
|
|
|
|
|
</q-card>
|
|
|
|
|
</q-dialog>
|
2024-10-15 12:37:38 +07:00
|
|
|
</template>
|