68 lines
3.7 KiB
TypeScript
68 lines
3.7 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,
|
|
};
|
|
});
|