hrms-user/src/modules/06_evaluate/store.ts

105 lines
3.2 KiB
TypeScript
Raw Normal View History

2023-12-13 15:24:59 +07:00
import { defineStore } from "pinia";
import { ref } from "vue";
import type { QTableProps } from "quasar";
import { useCounterMixin } from "@/stores/mixin";
2024-09-04 14:52:04 +07:00
import type {
MainList,
ListResponse,
} from "@/modules/06_evaluate/interface/main";
const mixin = useCounterMixin();
const { date2Thai } = mixin;
2023-12-13 15:24:59 +07:00
2023-12-14 14:49:27 +07:00
export const useEvaluateStore = defineStore("evaluateStore", () => {
const filterKeyword = ref<string>("");
const columns = ref<QTableProps["columns"]>([]);
const visibleColumns = ref<string[]>([]);
2024-09-04 14:52:04 +07:00
const row = ref<MainList[]>([]);
/**
* function
* @param data
*/
async function fetchEvaluateList(data: any) {
2024-09-04 14:52:04 +07:00
const list = data.map((e: ListResponse) => ({
id: e.id,
typeparam: e.type,
type: e.type,
type_th: e.type_th,
dateSend: date2Thai(e.updatedAt),
status: convertStatus(e.step),
step: e.step,
}));
row.value = list;
}
2023-12-13 15:24:59 +07:00
const tabMenu = ref<string>("1");
const checkFileupload = ref<boolean>(false);
2023-12-19 17:04:39 +07:00
const showLoadStatus = ref<boolean>(false);
2023-12-21 17:51:13 +07:00
const step = ref<number>(1);
2023-12-19 17:04:39 +07:00
const currentStep = ref<number>(1);
const statusUpload = ref<boolean>(false);
2023-12-19 17:04:39 +07:00
const title = ref<string[]>([
2023-12-13 15:24:59 +07:00
"ตรวจสอบคุณสมบัติ",
2023-12-19 17:04:39 +07:00
"จัดเตรียมเอกสารเล่ม 1",
"ตรวจสอบเอกสารเล่ม 1",
2023-12-13 15:24:59 +07:00
"รอตรวจสอบคุณสมบัติ",
"ประกาศบนเว็บไซต์",
"จัดเตรียมเอกสารเล่ม 2",
"ตรวจสอบเอกสารเล่ม 2",
"รอพิจารณาผลการประเมิน",
2023-12-13 15:24:59 +07:00
"เสร็จสิ้น",
]);
/**
* function
* @param val
*/
function convertStatus(val: string) {
switch (val) {
case "CHECK_SPEC":
return "ตรวจสอบคุณสมบัติด้วยตนเอง";
case "PREPARE_DOC_V1":
return "จัดเตรียมเอกสารเล่ม 1";
case "CHECK_DOC_V1":
return "ตรวจสอบเอกสารเล่ม 1";
case "WAIT_CHECK_DOC_V1":
return "รอตรวจสอบคุณสมบัติ";
case "ANNOUNCE_WEB":
return "ประกาศบนเว็บไซต์";
case "PREPARE_DOC_V2":
return "จัดเตรียมเอกสารเล่ม 2";
case "WAIT_CHECK_DOC_V2":
return "ตรวจสอบเอกสารเล่ม 2";
case "CHECK_DOC_V2":
return "รอพิจารณาผลการประเมิน";
case "DONE":
return "เสร็จสิ้น";
}
}
2023-12-13 15:24:59 +07:00
const tabPanels = ref<string>("1");
2023-12-19 10:56:51 +07:00
const evaluateId = ref<string>("");
2023-12-13 15:24:59 +07:00
return {
filterKeyword,
columns,
visibleColumns,
row,
fetchEvaluateList,
2023-12-13 15:24:59 +07:00
tabMenu,
checkFileupload,
2023-12-13 15:24:59 +07:00
step,
2023-12-19 17:04:39 +07:00
currentStep,
statusUpload,
2023-12-19 17:04:39 +07:00
title,
2023-12-13 15:24:59 +07:00
tabPanels,
2023-12-19 17:04:39 +07:00
evaluateId,
showLoadStatus,
2023-12-13 15:24:59 +07:00
};
});