Refactoring code module 12_evaluatePersonal

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-09-20 13:13:43 +07:00
parent 381ec04492
commit 490f02309e
33 changed files with 598 additions and 1036 deletions

View file

@ -21,12 +21,37 @@ const store = useEvalutuonStore();
const { showLoader, hideLoader, messageError } = mixin;
/** request body*/
const currentPage = ref<number>(1);
const maxPage = ref<number>(0);
const page = ref<number>(1);
const total = ref<number>(0);
const filter = ref<string>("");
const pageSize = ref<number>(10);
const currentPage = ref<number>(1); //
const maxPage = ref<number>(0); //
const page = ref<number>(1); //
const total = ref<number>(0); //
const filter = ref<string>(""); //
const pageSize = ref<number>(10); //
const filterRef = ref<HTMLInputElement | null>(null);
//
const selectedStatus = ref<string[]>([
"CHECK_SPEC",
"PREPARE_DOC_V1",
"CHECK_DOC_V1",
"WAIT_CHECK_DOC_V1",
"ANNOUNCE_WEB",
"PREPARE_DOC_V2",
"WAIT_CHECK_DOC_V2",
"CHECK_DOC_V2",
]);
//
const optionsMain = ref<OptionStatus[]>([
{ val: "CHECK_SPEC", label: "ตรวจสอบคุณสมบัติด้วยตนเอง" },
{ val: "PREPARE_DOC_V1", label: "จัดเตรียมเอกสารเล่ม 1" },
{ val: "CHECK_DOC_V1", label: "ตรวจสอบเอกสารเล่ม 1" },
{ val: "WAIT_CHECK_DOC_V1", label: "รอตรวจสอบคุณสมบัติ" },
{ val: "ANNOUNCE_WEB", label: "ประกาศบนเว็บไซต์" },
{ val: "PREPARE_DOC_V2", label: "จัดเตรียมเอกสารเล่ม 2" },
{ val: "WAIT_CHECK_DOC_V2", label: "ตรวจสอบเอกสารเล่ม 2" },
{ val: "CHECK_DOC_V2", label: "รอพิจารณาผลการประเมิน" },
{ val: "DONE", label: "เสร็จสิ้น" },
]);
const options = ref<OptionStatus[]>([]); //
/** pagination ของตาราง*/
const initialPagination = ref<any>({
@ -45,23 +70,18 @@ async function updatePagination(initialPagination: any) {
pageSize.value = initialPagination.rowsPerPage;
}
/** function callback เมื่อมีการเปลี่ยนหน้า*/
watch(
() => pageSize.value,
() => {
fetchEvaluteList();
}
);
const filterRef = ref<HTMLInputElement | null>(null);
/** function ค้นหาตาม keyword*/
/**
* function นหาตาม keyword
*/
function filterFn() {
updatePagination(filter.value);
pageSize.value = initialPagination.value.rowsPerPage;
fetchEvaluteList();
}
/** functrion ล้างค้นหา*/
/**
* functrion างคนหาD
*/
function resetFilter() {
filter.value = "";
fetchEvaluteList();
@ -70,7 +90,9 @@ function resetFilter() {
}
}
/** function เรียกรายการคำขอประเมิน*/
/**
* function เรยกรายการคำขอประเมนD
*/
async function fetchEvaluteList() {
showLoader();
const body = {
@ -103,30 +125,9 @@ function Detailpage(id: string) {
router.push(`/evaluate/detail/${id}`);
}
const selectedStatus = ref<string[]>([
"CHECK_SPEC",
"PREPARE_DOC_V1",
"CHECK_DOC_V1",
"WAIT_CHECK_DOC_V1",
"ANNOUNCE_WEB",
"PREPARE_DOC_V2",
"WAIT_CHECK_DOC_V2",
"CHECK_DOC_V2",
]);
const options = ref<OptionStatus[]>([]);
const optionsMain = ref<OptionStatus[]>([
{ val: "CHECK_SPEC", label: "ตรวจสอบคุณสมบัติด้วยตนเอง" },
{ val: "PREPARE_DOC_V1", label: "จัดเตรียมเอกสารเล่ม 1" },
{ val: "CHECK_DOC_V1", label: "ตรวจสอบเอกสารเล่ม 1" },
{ val: "WAIT_CHECK_DOC_V1", label: "รอตรวจสอบคุณสมบัติ" },
{ val: "ANNOUNCE_WEB", label: "ประกาศบนเว็บไซต์" },
{ val: "PREPARE_DOC_V2", label: "จัดเตรียมเอกสารเล่ม 2" },
{ val: "WAIT_CHECK_DOC_V2", label: "ตรวจสอบเอกสารเล่ม 2" },
{ val: "CHECK_DOC_V2", label: "รอพิจารณาผลการประเมิน" },
{ val: "DONE", label: "เสร็จสิ้น" },
]);
/** ชื่อค่าที่ค้นหาสภานะ*/
/**
* อคาทนหาสภานะ
*/
const label = computed(() => {
const filterOption = optionsMain.value.filter((option) =>
selectedStatus.value.includes(option.val)
@ -145,14 +146,22 @@ const label = computed(() => {
* @param update พเดทค
* @param refData ดาตาทองการฟลเตอร
*/
function filterOption(val: any, update: Function) {
function filterOption(val: string, update: Function) {
update(() => {
options.value = optionsMain.value.filter(
(v: any) => v.label.indexOf(val) > -1
(v: OptionStatus) => v.label.indexOf(val) > -1
);
});
}
/** function callback เมื่อมีการเปลี่ยนหน้า*/
watch(
() => pageSize.value,
() => {
fetchEvaluteList();
}
);
/** HookLifecycle */
onMounted(async () => {
await fetchEvaluteList(); //
@ -163,6 +172,7 @@ onMounted(async () => {
<div class="toptitle text-dark col-12 row items-center">
รายการคำขอประเม
</div>
<q-card flat bordered class="col-12 q-mt-sm q-pt-sm q-pa-md">
<div class="row col-12 q-col-gutter-sm q-mb-sm">
<q-select
@ -178,7 +188,7 @@ onMounted(async () => {
style="width: 35vw"
@update:model-value="fetchEvaluteList"
use-input
@filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
@filter="(inputValue:string,doneFn:Function) => filterOption(inputValue, doneFn) "
>
<template v-slot:selected>
<div>
@ -280,7 +290,7 @@ onMounted(async () => {
<div class="table_ellipsis">{{ props.row.agency }}</div>
</div>
<div v-else>
{{ col.value }}
{{ col.value ?? "-" }}
</div>
</q-td>
</q-tr>