Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2023-11-27 16:16:23 +07:00
commit 22688d40d0
3 changed files with 122 additions and 27 deletions

View file

@ -1,5 +1,5 @@
<script setup lang="ts">
import { onMounted, reactive, ref } from "vue";
import { onMounted, reactive, ref, watch } from "vue";
import FormComplaints from "@/modules/11_discipline/components/1_Complaint/Form.vue"; //
import FormInvestigatefacts from "@/modules/11_discipline/components/2_InvestigateFacts/Form.vue"; //
import { useRouter, useRoute } from "vue-router";
@ -8,6 +8,11 @@ import { useInvestigateFactStore } from "@/modules/11_discipline/store/Investiga
import { useQuasar } from "quasar";
import Popup from "@/modules/11_discipline/components/1_Complaint/Popup.vue";
import type { FormData } from "@/modules/11_discipline/interface/request/investigateFact";
import type {
FormData as FormDataComplaint,
ArrayPerson,
ArrayFileList,
} from "@/modules/11_discipline/interface/request/complaint";
import type { QTableProps } from "quasar";
import config from "@/app.config";
@ -23,7 +28,7 @@ const router = useRouter();
const route = useRoute();
const id = ref<string>(route.params.id as string);
/** ข้อมูล v-model ของฟอร์ม */
/** ข้อมูล v-model ของฟอร์มสืบสวน */
const data = reactive<FormData>({
id: "",
idComplaint: "",
@ -53,6 +58,80 @@ const data = reactive<FormData>({
persons: [],
});
/** ข้อมูล v-model ของฟอร์มเรื่องร้องเรียน */
const personObjComplaint = reactive<ArrayPerson>({
personId: "",
idcard: "",
name: "",
prefix: "",
firstName: "",
lastName: "",
posNo: "",
position: "",
positionLevel: "",
salary: null,
organization: "",
});
const fileListObjComplaint = reactive<ArrayFileList>({
id: "",
pathName: "",
fileName: "",
});
const dataComplaints = reactive<FormDataComplaint>({
id: "",
respondentType: "",
organizationId: "",
consideredAgency: "",
title: "",
description: "",
dateReceived: null,
dateConsideration: null,
offenseDetails: "",
levelConsideration: "",
dateNotification: null,
complaintFrom: "",
appellant: "",
documentFile: null,
status: "",
persons: [personObjComplaint],
result: "",
disciplineComplaintDocs: [fileListObjComplaint],
});
async function getDataComplaint() {
showLoader();
await http
.get(config.API.complaintbyId(data.idComplaint))
.then((res) => {
const dataList = res.data.result;
dataComplaints.id = dataList.id;
dataComplaints.respondentType = dataList.respondentType;
dataComplaints.organizationId = dataList.organizationId;
dataComplaints.consideredAgency = dataList.consideredAgency;
dataComplaints.title = dataList.title;
dataComplaints.description = dataList.description;
dataComplaints.dateReceived = dataList.dateReceived;
dataComplaints.levelConsideration = dataList.levelConsideration;
dataComplaints.dateConsideration = dataList.dateConsideration;
dataComplaints.offenseDetails = dataList.offenseDetails;
dataComplaints.dateNotification = dataList.dateNotification;
dataComplaints.complaintFrom = dataList.complaintFrom;
dataComplaints.appellant = dataList.appellant;
dataComplaints.status = dataList.status;
dataComplaints.persons = dataList.persons;
dataComplaints.result = dataList.result;
dataComplaints.disciplineComplaintDocs = dataList.disciplineComplaintDocs;
})
.catch((e) => {
messageError($q, e);
})
.finally(() => {
hideLoader();
});
}
/** หัวตาราง */
const columns = ref<QTableProps["columns"]>([
{
@ -302,6 +381,17 @@ function emitPerson(data: FormData[]) {
onMounted(() => {
getData();
});
watch(
() => store.tabMenu,
() => {
if (store.tabMenu == "complaints") {
getDataComplaint();
} else {
getData();
}
}
);
</script>
<template>
@ -352,13 +442,13 @@ onMounted(() => {
active-bg-color="teal-1"
active-class="text-primary"
>
<q-tab name="complaints" label="เรื่องร้องเรียน" />
<q-tab name="complaints" label="เรื่องร้องเรียน (สำเนา)" />
<q-tab name="investigatefacts" label="สืบสวนข้อเท็จจริง" />
</q-tabs>
<q-separator />
<q-tab-panels v-model="store.tabMenu" animated>
<q-tab-panel name="complaints">
<FormComplaints :on-submit="onSubmit" />
<FormComplaints :data="dataComplaints" />
</q-tab-panel>
<q-tab-panel name="investigatefacts">
<FormInvestigatefacts

View file

@ -261,11 +261,11 @@ function onSubmit() {
}
/**
* งชนคำนวณเวลาวนทนสดจาก นทเร
* @param val นทเร
* งชนคำนวณเวลาวนทนสดจาก นทนสดการสบสวน
* @param val จำนวนนทองการขยาย
*/
function calEndDate(val: string) {
const date = new Date(props.data.dateEnd);
const date = new Date(props.data.investigationDateEnd);
const dateNew = new Date();
formData.investigationDateEnd = new Date(
dateNew.setDate(date.getDate() + Number(val))
@ -730,8 +730,8 @@ onMounted(async () => {
นทบสวน
<q-checkbox
v-if="
props.data.investigationDateStart === null &&
props.data.investigationDateEnd === null
props.data.investigationDateStart != null &&
props.data.investigationDateEnd != null
"
for="#clickTime"
size="md"

View file

@ -1,5 +1,5 @@
<script setup lang="ts">
import { ref, useAttrs, onMounted,watch } from "vue";
import { ref, useAttrs, onMounted, watch } from "vue";
import router from "@/router";
import { useQuasar } from "quasar";
@ -10,7 +10,6 @@ import http from "@/plugins/http";
import { useInvestigateFactStore } from "@/modules/11_discipline/store/InvestigateFactStore";
const dataInvestigate = useInvestigateFactStore();
const { fecthList } = dataInvestigate;
const mixin = useCounterMixin();
const {
date2Thai,
@ -47,16 +46,22 @@ const pagination = ref({
rowsPerPage: rowsPerPage.value,
});
watch(() => currentPage.value,() => {
rowsPerPage.value = pagination.value.rowsPerPage;
getList();
});
watch(
() => currentPage.value,
() => {
rowsPerPage.value = pagination.value.rowsPerPage;
getList();
}
);
watch(()=>pagination.value.rowsPerPage,()=>{
rowsPerPage.value = pagination.value.rowsPerPage;
currentPage.value = 1
getList();
})
watch(
() => pagination.value.rowsPerPage,
() => {
rowsPerPage.value = pagination.value.rowsPerPage;
currentPage.value = 1;
getList();
}
);
async function getList() {
showLoader();
await http
@ -69,7 +74,7 @@ async function getList() {
)
.then((res) => {
maxPage.value = Math.ceil(res.data.result.total / rowsPerPage.value);
const data = res.data.result.data
const data = res.data.result.data;
dataInvestigate.fecthList(data);
})
.catch((e) => {
@ -82,7 +87,6 @@ async function getList() {
const attrs = ref<any>(useAttrs());
/**ไปยังหน้าเพิ่มข้อมูล */
const clickAdd = () => {
router.push(`/discipline/investigatefacts/add`);
@ -92,15 +96,16 @@ const clickAdd = () => {
* ไปหนาแกไข
* @param id ไอดเฉพาะ รายบคคล
*/
function editPage(id: string) {
async function editPage(id: string) {
dataInvestigate.tabMenu = await "investigatefacts";
router.push(`/discipline/investigatefacts/${id}`);
}
/**
/**
* งขอมลจำลองไปย store
*/
onMounted(async () => {
getList()
getList();
});
</script>
<template>
@ -163,7 +168,7 @@ onMounted(async () => {
class="col-xs-12 col-sm-3 col-md-2"
/>
</div>
<div class="col-12">
<d-table
ref="table"
@ -181,7 +186,7 @@ onMounted(async () => {
v-model:pagination="pagination"
:rows-per-page-options="[10, 25, 50, 100]"
>
<template v-slot:pagination="scope">
<template v-slot:pagination="scope">
<q-pagination
v-model="currentPage"
active-color="primary"