hrms-mgt/src/modules/11_discipline/store/ReportStore.ts
2024-09-19 16:37:16 +07:00

90 lines
3.9 KiB
TypeScript

import { defineStore } from "pinia";
import { ref } from "vue";
import type { DataOption } from "@/modules/11_discipline/interface/index/Main";
export const useReportDataStore = defineStore("DisciplineReport11", () => {
const faultOp = ref<DataOption[]>();
const ocSelectOp = ref<DataOption[]>();
const governmentOp = ref<DataOption[]>();
const faultOps = ref<DataOption[]>([
{ id: "001", name: "ยังไม่ระบุ" },
{ id: "002", name: "ไม่ร้ายเเรง" },
{ id: "003", name: "ร้ายเเรง" },
]);
const ocSelectOps = ref<DataOption[]>([
{ id: "001", name: "กทม" },
{ id: "002", name: "กรุงเทพ" },
]);
const governmentOps = ref<DataOption[]>([
{ id: "001", name: "กทม" },
{ id: "002", name: "กรุงเทพ" },
{ id: "003", name: "bankok" },
]);
const optionReport = ref<DataOption[]>([
{ id: "1", name: "รายงานเรื่องร้องเรียนแยกรายวัน รายเดือน รายปี" },
{
id: "2",
name: "รายงานเรื่องร้องเรียนข้าราชการสามัญ ฯ ในสังกัดกรุงเทพมหานคร แยกตามหน่วยงาน",
},
{
id: "3",
name: "รายงานจำนวนข้าราชการสามัญ ฯ ที่กระทำความผิดทางวินัย แยกตามลักษณะความผิด",
},
{
id: "4",
name: "รายงานรายชื่อข้าราชการสามัญ ฯ ที่กระทำความผิดทางวินัยแยกตามลักษณะความผิด",
},
{
id: "5",
name: "รายงานจำนวนข้าราชการสามัญ ฯ ที่กระทำความผิดแยกตามระดับความผิด",
},
{
id: "6",
name: "รายงานรายชื่อข้าราชการสามัญ ฯ ที่กระทำความผิดทางวินัยแยกตามลักษณะความผิด",
},
{
id: "7",
name: "รายงานจำนวนข้าราชการสามัญ ฯ ที่กระทำความผิดทางวินัยแต่ยุติเรื่อง แยกลักษณะความผิด",
},
{
id: "8",
name: "รายงานจำนวนข้าราชการสามัญ ฯ ที่กระทำความผิดทางวินัยแต่ยุติเรื่อง แยกตามตำแหน่ง",
},
]);
/**
* ฟิลเตอร์ข้อมูลจาก input
* @param val ค่าที่ป้อนให้ input
* @param update function จาก quasar
* @param type type ที่กำหนด ของ input นั้นๆ
*/
function filterFnOptionsType(val: string, update: any, type: string) {
update(() => {
const needle = val.toLowerCase();
if (type === "ocSelectOp") {
ocSelectOp.value = ocSelectOps.value.filter(
(v: any) => v.name.toLowerCase().indexOf(needle) > -1
);
} else if (type === "governmentOp") {
governmentOp.value = governmentOps.value.filter(
(v: any) => v.name.toLowerCase().indexOf(needle) > -1
);
} else if (type === "faultOp") {
faultOp.value = faultOps.value.filter(
(v: any) => v.name.toLowerCase().indexOf(needle) > -1
);
}
});
}
return {
optionReport,
filterFnOptionsType,
faultOp,
ocSelectOp,
governmentOp,
faultOps,
ocSelectOps,
governmentOps,
};
});