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(); const ocSelectOp = ref(); const governmentOp = ref(); const faultOps = ref([ { id: "001", name: "ยังไม่ระบุ" }, { id: "002", name: "ไม่ร้ายเเรง" }, { id: "003", name: "ร้ายเเรง" }, ]); const ocSelectOps = ref([ { id: "001", name: "กทม" }, { id: "002", name: "กรุงเทพ" }, ]); const governmentOps = ref([ { id: "001", name: "กทม" }, { id: "002", name: "กรุงเทพ" }, { id: "003", name: "bankok" }, ]); const optionReport = ref([ { 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, }; });