hrms-mgt/src/modules/11_discipline/components/2_InvestigateFacts/EditPage.vue

156 lines
4.5 KiB
Vue
Raw Normal View History

<script setup lang="ts">
import { onMounted, reactive, ref } from "vue";
import Form from "@/modules/11_discipline/components/2_InvestigateFacts/Form.vue";
import type { FormData } from "@/modules/11_discipline/interface/request/investigate";
import { useRouter, useRoute } from "vue-router";
import { useCounterMixin } from "@/stores/mixin";
2023-11-21 10:29:11 +07:00
import { useQuasar } from "quasar";
const $q = useQuasar();
const mixin = useCounterMixin();
const { dialogConfirm } = mixin;
const router = useRouter();
const route = useRoute();
const id = ref<string>(route.params.id as string);
/** ข้อมูล v-model ของฟอร์ม */
const data = reactive<FormData>({
complaint: "",
complaintdetail: "",
detail: "",
fault: "",
other: "",
evidenceFiles: null,
fileComplaint: null,
clickTime: false,
date: null,
dateEnd: new Date(),
investigation: "",
daysExtend: null,
statusResult: "",
causeText: "",
complaintStatus: "NEW",
});
/** จำลองข้อมูลจาก api */
const fetchData = async () => {
// ดึงค่าจาก api
data.complaint = "เรื่องที่ 1";
data.complaintdetail = "รายละเอียด";
data.detail = "รายละเอียด";
data.fault = "001";
data.other = "";
data.evidenceFiles = null;
data.fileComplaint = null;
data.clickTime = false;
data.date = new Date("2023-11-07T14:58:00");
data.dateEnd = new Date("2023-11-08T14:58:00");
data.investigation = "002";
data.daysExtend = null;
data.statusResult = "ไม่ระบุ";
data.causeText = "";
};
/**
* นทกขอมลทเเกไข
* @param id ระบ คคล
*/
async function onSubmit(id: string) {
// put
console.log("edit", id);
router.push(`/discipline/investigatefacts`);
}
2023-11-21 10:29:11 +07:00
/** ยืนยัน ส่งไปสอบสวน */
function sentInvestigate() {
dialogConfirm(
$q,
() => confirmSentInvestigate(),
"ยืนยันส่งไปสอบสวน",
"ต้องการยืนยันส่งไปสอบสวนใช่หรือไม่?"
);
}
/** ยืนยัน ยุติเรื่อง */
function endInvestigate() {
dialogConfirm(
$q,
() => confirmEndInvestigate(),
"ยืนยันยุติเรื่อง",
"ต้องการยืนยันยุติเรื่องใช่หรือไม่?"
);
}
/** ยืนยัน ยกเลิกการยุติเรื่อง */
function cancelInvestigate() {
dialogConfirm(
$q,
() => confirmCancelInvestigate(),
"ยืนยันยกเลิกการยุติเรื่อง",
"ต้องการยืนยันยกเลิกการยุติเรื่องใช่หรือไม่?"
);
2023-11-21 10:29:11 +07:00
}
/** ฟังชั่น ส่งไปสอบสวน*/
function confirmSentInvestigate() {
console.log("sent");
}
/** ฟังชั่น ยุติเรื่อง*/
function confirmEndInvestigate() {
console.log("sent");
}
/** ฟังชั่น ยกเลิกการยุติเรื่อง*/
function confirmCancelInvestigate() {
console.log("sent");
2023-11-21 10:29:11 +07:00
}
/** โหลดข้อมูลเมื่อเข้าหน้านี้ */
onMounted(() => {
fetchData();
});
</script>
<template>
<div class="col-xs-12 col-sm-12 col-md-11">
<div class="toptitle col-12 row items-center">
<q-btn
icon="mdi-arrow-left"
unelevated
round
dense
flat
color="primary"
class="q-mr-sm"
@click="$router.push(`/discipline/investigatefacts`)"
/>
<div class="q-ma-none">แกไขรายการสบสวนขอเทจจร {{ id }}#id</div>
<q-space />
<div class="q-gutter-x-sm">
<q-btn
v-if="data.complaintStatus === 'NEW'"
2023-11-21 10:29:11 +07:00
label="ส่งไปสอบสวน"
color="public"
2023-11-21 10:29:11 +07:00
@click="sentInvestigate"
/>
<q-btn
v-if="data.complaintStatus === 'NEW'"
label="ยุติเรื่อง"
color="red-7"
@click="endInvestigate"
/>
<q-btn
v-if="data.complaintStatus === 'STOP'"
label="ยกเลิกการยุติเรื่อง"
color="red-7"
@click="cancelInvestigate"
/>
</div>
</div>
<Form :on-submit="onSubmit" :data="data" />
</div>
</template>