จัดโค้ด เรื่อง เรื่องร้องเรียน
This commit is contained in:
parent
5b47826667
commit
aeaa8c8df2
5 changed files with 103 additions and 80 deletions
|
|
@ -6,7 +6,6 @@ const router = useRouter();
|
||||||
|
|
||||||
/** บันทึกข้อมูล */
|
/** บันทึกข้อมูล */
|
||||||
async function onSubmit () {
|
async function onSubmit () {
|
||||||
|
|
||||||
/** post */
|
/** post */
|
||||||
console.log("add");
|
console.log("add");
|
||||||
router.push(`/discipline/complaints`);
|
router.push(`/discipline/complaints`);
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, reactive, ref } from "vue";
|
import { onMounted, reactive, ref } from "vue";
|
||||||
import Form from "@/modules/11_discipline/components/1_Complaint/Form.vue";
|
import Form from "@/modules/11_discipline/components/1_Complaint/Form.vue";
|
||||||
import type { FormData } from "@/modules/11_discipline/interface/request/complaint";
|
|
||||||
import { useRouter, useRoute } from "vue-router";
|
import { useRouter, useRoute } from "vue-router";
|
||||||
|
import type { FormData } from "@/modules/11_discipline/interface/request/complaint";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const id = ref<string>(route.params.id as string);
|
const id = ref<string>(route.params.id as string);
|
||||||
onMounted(() => {
|
|
||||||
fetchData();
|
|
||||||
});
|
|
||||||
|
|
||||||
// get ข้อมูลเก่ากรณีแก้ไขข้อมูล
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
const data = reactive<FormData>({
|
const data = reactive<FormData>({
|
||||||
complainantType: "",
|
complainantType: "",
|
||||||
complainant: "",
|
complainant: "",
|
||||||
|
|
@ -28,8 +25,9 @@ const data = reactive<FormData>({
|
||||||
petitioner: "",
|
petitioner: "",
|
||||||
files: null,
|
files: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/** ดึงค่าจาก api */
|
||||||
const fetchData = async () => {
|
const fetchData = async () => {
|
||||||
// ดึงค่าจาก api
|
|
||||||
data.complainantType = "2"
|
data.complainantType = "2"
|
||||||
data.complainant = "1"
|
data.complainant = "1"
|
||||||
data.office = "0"
|
data.office = "0"
|
||||||
|
|
@ -46,12 +44,16 @@ const fetchData = async () => {
|
||||||
data.files = ""
|
data.files = ""
|
||||||
};
|
};
|
||||||
|
|
||||||
// แก้ไขข้อมูล
|
/** ฟังชั่น แก้ไข */
|
||||||
const onSubmit = async () => {
|
async function onSubmit() {
|
||||||
// put
|
|
||||||
console.log("edit");
|
console.log("edit");
|
||||||
router.push(`/discipline/complaints`);
|
router.push(`/discipline/complaints`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** เรียกใช้งาน ฟังชั่น ตอนเริ่มโหลดหน้า */
|
||||||
|
onMounted(() => {
|
||||||
|
fetchData();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-11">
|
<div class="col-xs-12 col-sm-12 col-md-11">
|
||||||
|
|
|
||||||
|
|
@ -3,28 +3,28 @@ import { ref, onMounted, reactive, watch } from "vue";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
|
||||||
/** import Type */
|
/** import Type */
|
||||||
import type { DataOption } from "@/modules/11_discipline/interface/index/Main";
|
import type { DataOption } from "@/modules/11_discipline/interface/index/Main";
|
||||||
import type {
|
import type {
|
||||||
FormData,
|
FormData,
|
||||||
MyObjectComplaintsRef,
|
MyObjectComplaintsRef,
|
||||||
} from "@/modules/11_discipline/interface/request/complaint";
|
} from "@/modules/11_discipline/interface/request/complaint";
|
||||||
|
|
||||||
/** importStroe*/
|
/** importStroe*/
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore";
|
import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore";
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const mixin = useCounterMixin();
|
|
||||||
const { date2Thai, dialogConfirm } = mixin;
|
|
||||||
const complainstStore = useComplainstDataStore();
|
|
||||||
|
|
||||||
const fileDocDataUpload = ref<File[]>([]);
|
const fileDocDataUpload = ref<File[]>([]);
|
||||||
|
|
||||||
|
/** เรียกใช้ store */
|
||||||
|
const mixin = useCounterMixin();
|
||||||
|
const complainstStore = useComplainstDataStore();
|
||||||
|
const { date2Thai, dialogConfirm } = mixin;
|
||||||
const { selectComplainantTpye, filterSelector } = complainstStore; // function จาก store complainstStore
|
const { selectComplainantTpye, filterSelector } = complainstStore; // function จาก store complainstStore
|
||||||
|
|
||||||
// validateForm
|
/** validateForm */
|
||||||
const complainantTypeRef = ref<Object | null>(null);
|
const complainantTypeRef = ref<Object | null>(null);
|
||||||
const complainantRef = ref<Object | null>(null);
|
const complainantRef = ref<Object | null>(null);
|
||||||
const officeRef = ref<Object | null>(null);
|
const officeRef = ref<Object | null>(null);
|
||||||
|
|
@ -52,7 +52,7 @@ const props = defineProps({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล form*/
|
/** ข้อมูล form*/
|
||||||
const formData = reactive<FormData>({
|
const formData = reactive<FormData>({
|
||||||
complainantType: "",
|
complainantType: "",
|
||||||
complainant: "",
|
complainant: "",
|
||||||
|
|
@ -70,7 +70,25 @@ const formData = reactive<FormData>({
|
||||||
files: null,
|
files: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
// options ทั้งหมด
|
/** maping ref เข้าตัวแปรเพื่อเตรียมตรวจสอบ */
|
||||||
|
const objectComplaintsRef: MyObjectComplaintsRef = {
|
||||||
|
complainantType: complainantTypeRef,
|
||||||
|
complainant: complainantRef,
|
||||||
|
office: officeRef,
|
||||||
|
agency: agencyRef,
|
||||||
|
topicComplaint: topicComplaintRef,
|
||||||
|
detail: detailRef,
|
||||||
|
datereceive: datereceiveRef,
|
||||||
|
dateconsideration: dateconsiderationRef,
|
||||||
|
offenseDescription: offenseDescriptionRef,
|
||||||
|
considerationLevel: considerationLevelRef,
|
||||||
|
datewarn: datewarnRef,
|
||||||
|
receivecomplaints: receivecomplaintsRef,
|
||||||
|
petitioner: petitionerRef,
|
||||||
|
files: filesRef,
|
||||||
|
};
|
||||||
|
|
||||||
|
/** options ทั้งหมด*/
|
||||||
const offenseDescriptiontoptions = ref<DataOption[]>([
|
const offenseDescriptiontoptions = ref<DataOption[]>([
|
||||||
{ id: "0", name: "ยังไม่ระบุ" },
|
{ id: "0", name: "ยังไม่ระบุ" },
|
||||||
{ id: "1", name: "ไม่ร้ายแรง" },
|
{ id: "1", name: "ไม่ร้ายแรง" },
|
||||||
|
|
@ -91,10 +109,10 @@ const receivecomplaintstoptions = ref<DataOption[]>([
|
||||||
{ id: "6", name: "บอกกล่าว" },
|
{ id: "6", name: "บอกกล่าว" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* รับค่าผู้ถูกร้องเรียน
|
||||||
|
* @param val บุคคล หน่วยงาน กทม
|
||||||
// เลือกผู้ร้องเรียน
|
*/
|
||||||
async function selectComplainant(val: string) {
|
async function selectComplainant(val: string) {
|
||||||
formData.complainant = "";
|
formData.complainant = "";
|
||||||
formData.office = "";
|
formData.office = "";
|
||||||
|
|
@ -105,7 +123,8 @@ async function selectComplainant(val: string) {
|
||||||
await fetchOffice(); // ถ้าเลือกหน่วยงานจะเรียก function fetchOffice เรียกโครงสร้างสำนักงาน
|
await fetchOffice(); // ถ้าเลือกหน่วยงานจะเรียก function fetchOffice เรียกโครงสร้างสำนักงาน
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// เรียกรายชื่อ
|
|
||||||
|
/** เรียกรายชื่อ */
|
||||||
async function fetchListname() {
|
async function fetchListname() {
|
||||||
const listName = [
|
const listName = [
|
||||||
{
|
{
|
||||||
|
|
@ -123,30 +142,24 @@ async function fetchListname() {
|
||||||
];
|
];
|
||||||
selectComplainantTpye(listName);
|
selectComplainantTpye(listName);
|
||||||
}
|
}
|
||||||
// เรียกโครงสร้างสำนักงาน
|
|
||||||
async function fetchOffice() {
|
/** เรียกโครงสร้างสำนักงาน */
|
||||||
// const listOffice = [
|
async function fetchOffice() {}
|
||||||
// {
|
|
||||||
// id: "1",
|
/**
|
||||||
// name: "สำนักเอ",
|
* ฟังชั่นอัปโหลดไฟล์
|
||||||
// },
|
* @param files ไฟล์ที่รับมา
|
||||||
// {
|
*/
|
||||||
// id: "2",
|
async function fileUploadDoc(files: any) {
|
||||||
// name: "สำนักเอ",
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// id: "3",
|
|
||||||
// name: "สำนักเอ",
|
|
||||||
// },
|
|
||||||
// ];
|
|
||||||
}
|
|
||||||
// อัพโหลดไฟล์
|
|
||||||
const fileUploadDoc = async (files: any) => {
|
|
||||||
files.forEach((file: any) => {
|
files.forEach((file: any) => {
|
||||||
fileDocDataUpload.value.push(file);
|
fileDocDataUpload.value.push(file);
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
// เลือกระดับการพิจารณา
|
|
||||||
|
/**
|
||||||
|
* เลือกระดับการพิจารณา
|
||||||
|
* @param val รับตัวเลข ในรูปแบบ string
|
||||||
|
*/
|
||||||
function selectLevel(val: string) {
|
function selectLevel(val: string) {
|
||||||
let dayNum = 0;
|
let dayNum = 0;
|
||||||
if (val == "3") {
|
if (val == "3") {
|
||||||
|
|
@ -166,24 +179,7 @@ function selectLevel(val: string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** ฟังก์ชั่นตรวจสอบความถูกต้องของข้อมูลในฟอร์ม */
|
||||||
|
|
||||||
const objectComplaintsRef: MyObjectComplaintsRef = {
|
|
||||||
complainantType: complainantTypeRef,
|
|
||||||
complainant: complainantRef,
|
|
||||||
office: officeRef,
|
|
||||||
agency: agencyRef,
|
|
||||||
topicComplaint: topicComplaintRef,
|
|
||||||
detail: detailRef,
|
|
||||||
datereceive: datereceiveRef,
|
|
||||||
dateconsideration: dateconsiderationRef,
|
|
||||||
offenseDescription: offenseDescriptionRef,
|
|
||||||
considerationLevel: considerationLevelRef,
|
|
||||||
datewarn: datewarnRef,
|
|
||||||
receivecomplaints: receivecomplaintsRef,
|
|
||||||
petitioner: petitionerRef,
|
|
||||||
files: filesRef,
|
|
||||||
};
|
|
||||||
function validateForm() {
|
function validateForm() {
|
||||||
const hasError = [];
|
const hasError = [];
|
||||||
for (const key in objectComplaintsRef) {
|
for (const key in objectComplaintsRef) {
|
||||||
|
|
@ -201,19 +197,21 @@ function validateForm() {
|
||||||
console.log("ไม่ผ่าน ");
|
console.log("ไม่ผ่าน ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// บันทึกข้อมูล
|
|
||||||
|
/** ฟังชั่น บันทึก */
|
||||||
function onSubmit() {
|
function onSubmit() {
|
||||||
dialogConfirm(
|
dialogConfirm(
|
||||||
$q,
|
$q,
|
||||||
async () => {
|
async () => {
|
||||||
console.log(formData);
|
console.log(formData);
|
||||||
props.onSubmit()
|
props.onSubmit();
|
||||||
},
|
},
|
||||||
"ยืนยันการบันทึกข้อมูล",
|
"ยืนยันการบันทึกข้อมูล",
|
||||||
"ต้องการยืนยันการบันทึกข้อมูลนี้หรือไม่ ?"
|
"ต้องการยืนยันการบันทึกข้อมูลนี้หรือไม่ ?"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** เช็คข้อมูลจาก props*/
|
||||||
watch(props.data, async () => {
|
watch(props.data, async () => {
|
||||||
formData.complainantType = props.data.complainantType;
|
formData.complainantType = props.data.complainantType;
|
||||||
formData.complainant = props.data.complainant;
|
formData.complainant = props.data.complainant;
|
||||||
|
|
@ -236,29 +234,27 @@ watch(props.data, async () => {
|
||||||
<q-card flat bordered>
|
<q-card flat bordered>
|
||||||
<form @submit.prevent="validateForm">
|
<form @submit.prevent="validateForm">
|
||||||
<div class="col-12 row q-pa-md">
|
<div class="col-12 row q-pa-md">
|
||||||
<div
|
<div class="col-xs-12 col-sm-12 row q-col-gutter-md">
|
||||||
class="col-xs-12 col-sm-12 row q-col-gutter-md"
|
|
||||||
>
|
|
||||||
<div class="col-xs-12 col-sm-3" id="complainantType">
|
<div class="col-xs-12 col-sm-3" id="complainantType">
|
||||||
<q-select
|
<q-select
|
||||||
for="SelectcomplainantType"
|
for="SelectcomplainantType"
|
||||||
|
v-model="formData.complainantType"
|
||||||
ref="complainantTypeRef"
|
ref="complainantTypeRef"
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
v-model="formData.complainantType"
|
|
||||||
:options="complainstStore.complainantoptions"
|
|
||||||
label="ผู้ถูกร้องเรียน"
|
label="ผู้ถูกร้องเรียน"
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
emit-value
|
emit-value
|
||||||
|
use-input
|
||||||
map-options
|
map-options
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
|
:options="complainstStore.complainantoptions"
|
||||||
:rules="[(val) => !!val || `${'กรุณาเลือกผู้ร้องเรียน'}`]"
|
:rules="[(val) => !!val || `${'กรุณาเลือกผู้ร้องเรียน'}`]"
|
||||||
lazy-rules
|
lazy-rules
|
||||||
@update:model-value="
|
@update:model-value="
|
||||||
selectComplainant(formData.complainantType)
|
selectComplainant(formData.complainantType)
|
||||||
"
|
"
|
||||||
use-input
|
|
||||||
@filter="(inputValue: any,
|
@filter="(inputValue: any,
|
||||||
doneFn: Function) => filterSelector(inputValue, doneFn, 'filtercomplainantType'
|
doneFn: Function) => filterSelector(inputValue, doneFn, 'filtercomplainantType'
|
||||||
)"
|
)"
|
||||||
|
|
@ -306,6 +302,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="col-xs-12 col-sm-3"
|
class="col-xs-12 col-sm-3"
|
||||||
v-if="formData.complainantType === '1'"
|
v-if="formData.complainantType === '1'"
|
||||||
|
|
@ -324,6 +321,7 @@ watch(props.data, async () => {
|
||||||
lazy-rules
|
lazy-rules
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-3" id="agency">
|
<div class="col-xs-12 col-sm-3" id="agency">
|
||||||
<q-select
|
<q-select
|
||||||
ref="agencyRef"
|
ref="agencyRef"
|
||||||
|
|
@ -354,6 +352,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-12" id="topicComplaint">
|
<div class="col-xs-12 col-sm-12" id="topicComplaint">
|
||||||
<q-input
|
<q-input
|
||||||
for="inputTopicComplaint"
|
for="inputTopicComplaint"
|
||||||
|
|
@ -369,6 +368,7 @@ watch(props.data, async () => {
|
||||||
rows="5"
|
rows="5"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-12" id="detail">
|
<div class="col-xs-12 col-sm-12" id="detail">
|
||||||
<q-input
|
<q-input
|
||||||
for="inputDetail"
|
for="inputDetail"
|
||||||
|
|
@ -384,6 +384,7 @@ watch(props.data, async () => {
|
||||||
rows="5"
|
rows="5"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-3" id="datereceive">
|
<div class="col-xs-12 col-sm-3" id="datereceive">
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
|
|
@ -451,6 +452,7 @@ watch(props.data, async () => {
|
||||||
@update:model-value="selectLevel(formData.considerationLevel)"
|
@update:model-value="selectLevel(formData.considerationLevel)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-3" id="dateconsideration">
|
<div class="col-xs-12 col-sm-3" id="dateconsideration">
|
||||||
<datepicker
|
<datepicker
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
|
|
@ -499,6 +501,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-3" id="offenseDescription">
|
<div class="col-xs-12 col-sm-3" id="offenseDescription">
|
||||||
<q-select
|
<q-select
|
||||||
for="selectOffenseDescription"
|
for="selectOffenseDescription"
|
||||||
|
|
@ -566,6 +569,7 @@ watch(props.data, async () => {
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-3" id="receivecomplaints">
|
<div class="col-xs-12 col-sm-3" id="receivecomplaints">
|
||||||
<q-select
|
<q-select
|
||||||
for="selectReceivecomplaints"
|
for="selectReceivecomplaints"
|
||||||
|
|
@ -584,6 +588,7 @@ watch(props.data, async () => {
|
||||||
lazy-rules
|
lazy-rules
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-12 col-sm-12" id="petitioner">
|
<div class="col-xs-12 col-sm-12" id="petitioner">
|
||||||
<q-input
|
<q-input
|
||||||
for="inputPetitioner"
|
for="inputPetitioner"
|
||||||
|
|
@ -599,6 +604,7 @@ watch(props.data, async () => {
|
||||||
rows="5"
|
rows="5"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12" id="files">
|
<div class="col-12" id="files">
|
||||||
<q-file
|
<q-file
|
||||||
for="inputFiles"
|
for="inputFiles"
|
||||||
|
|
|
||||||
|
|
@ -11,17 +11,13 @@ import TableComplaint from "@/modules/11_discipline/components/1_Complaint/Table
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
/** stoer */
|
||||||
const complainstStore = useComplainstDataStore();
|
const complainstStore = useComplainstDataStore();
|
||||||
const { fetchComplainst } = complainstStore; // function จาก stores
|
const { fetchComplainst } = complainstStore;
|
||||||
|
|
||||||
//ข้อมูล Table
|
|
||||||
const filterTable = ref<string>("");
|
const filterTable = ref<string>("");
|
||||||
|
|
||||||
onMounted(async () => {
|
/**เรีนกรายการเรื่องร้องเรียน */
|
||||||
await fetchListComplaints();
|
|
||||||
});
|
|
||||||
|
|
||||||
// เรีนกรายการเรื่องร้องเรียน
|
|
||||||
async function fetchListComplaints() {
|
async function fetchListComplaints() {
|
||||||
const listData: DataList[] = [
|
const listData: DataList[] = [
|
||||||
{
|
{
|
||||||
|
|
@ -58,9 +54,15 @@ async function fetchListComplaints() {
|
||||||
];
|
];
|
||||||
await fetchComplainst(listData);
|
await fetchComplainst(listData);
|
||||||
}
|
}
|
||||||
|
/** ไปยังหน้าเพิ่มข้อมูล */
|
||||||
function redirectToPageadd() {
|
function redirectToPageadd() {
|
||||||
router.push(`/discipline/complaints/add`);
|
router.push(`/discipline/complaints/add`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** เรียกใช้งาน ฟังชั่น ตอนเริ่มโหลดหน้า */
|
||||||
|
onMounted(async () => {
|
||||||
|
await fetchListComplaints();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -80,7 +82,9 @@ function redirectToPageadd() {
|
||||||
><q-tooltip>เพิ่มเรื่องร้องเรียน </q-tooltip></q-btn
|
><q-tooltip>เพิ่มเรื่องร้องเรียน </q-tooltip></q-btn
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-space />
|
<q-space />
|
||||||
|
|
||||||
<q-input
|
<q-input
|
||||||
class="col-xs-12 col-sm-3 col-md-2"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
id="filterTable"
|
id="filterTable"
|
||||||
|
|
@ -95,6 +99,7 @@ function redirectToPageadd() {
|
||||||
<q-icon name="search" />
|
<q-icon name="search" />
|
||||||
</template>
|
</template>
|
||||||
</q-input>
|
</q-input>
|
||||||
|
|
||||||
<q-select
|
<q-select
|
||||||
id="visibleColumns"
|
id="visibleColumns"
|
||||||
for="visibleColumns"
|
for="visibleColumns"
|
||||||
|
|
@ -112,6 +117,7 @@ function redirectToPageadd() {
|
||||||
class="col-xs-12 col-sm-3 col-md-2"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<TableComplaint :filterTable="filterTable" />
|
<TableComplaint :filterTable="filterTable" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -5,16 +5,19 @@ import type { QTableProps } from "quasar";
|
||||||
// importStroe
|
// importStroe
|
||||||
import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore";
|
import { useComplainstDataStore } from "@/modules/11_discipline/store/ComplaintsStore";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
const router = useRouter();
|
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const complainstStore = useComplainstDataStore();
|
const complainstStore = useComplainstDataStore();
|
||||||
|
|
||||||
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
filterTable: {
|
filterTable: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/** หัวตาราง */
|
||||||
const columns = ref<QTableProps["columns"]>([
|
const columns = ref<QTableProps["columns"]>([
|
||||||
{
|
{
|
||||||
name: "no",
|
name: "no",
|
||||||
|
|
@ -89,6 +92,8 @@ const columns = ref<QTableProps["columns"]>([
|
||||||
style: "font-size: 14px",
|
style: "font-size: 14px",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
/** หัวข้อที่เเสดงในตาราง */
|
||||||
const visibleColumns = ref<string[]>([
|
const visibleColumns = ref<string[]>([
|
||||||
"no",
|
"no",
|
||||||
"subject",
|
"subject",
|
||||||
|
|
@ -100,17 +105,22 @@ const visibleColumns = ref<string[]>([
|
||||||
"considerationDeadlineDate",
|
"considerationDeadlineDate",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
/** เริ่มโหลดหน้า page เอาข้อมูลไปเก็บ ใน store*/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
complainstStore.columns = columns.value;
|
complainstStore.columns = columns.value;
|
||||||
complainstStore.visibleColumns = visibleColumns.value;
|
complainstStore.visibleColumns = visibleColumns.value;
|
||||||
});
|
});
|
||||||
|
|
||||||
//pagination
|
/** แสดงจำนวนในตาราง */
|
||||||
const pagination = ref({
|
const pagination = ref({
|
||||||
descending: true,
|
descending: true,
|
||||||
page: 1,
|
page: 1,
|
||||||
rowsPerPage: 10,
|
rowsPerPage: 10,
|
||||||
});
|
});
|
||||||
|
/**
|
||||||
|
* ฟังชั่นสำหรับ เปลี่ยน route ตาม id ที่รับมา
|
||||||
|
* @param id ไอดีระบุ
|
||||||
|
*/
|
||||||
function OpenEdit(id:string){
|
function OpenEdit(id:string){
|
||||||
console.log(id)
|
console.log(id)
|
||||||
router.push(`/discipline/complaints/${id}`)
|
router.push(`/discipline/complaints/${id}`)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue