hrms-mgt/src/modules/11_discipline/stroes/InvestigateFactStore.ts

90 lines
No EOL
3.3 KiB
TypeScript

import { defineStore } from "pinia";
import { ref } from "vue";
import type { investigatefactsDataRowType, DataOption } from '@/modules/11_discipline/interface/index/Main'
export const useInvestigateFactStore = defineStore("InvestigateFact", () => {
const rows = ref<investigatefactsDataRowType[]>([])
const faultOp = ref<DataOption[]>();
const daysExtendOp = ref<DataOption[]>();
const investigationOp = ref<DataOption[]>();
const daysExtendOps = ref<DataOption[]>([
{ id: "000", name: "15 วัน" },
{ id: "001", name: "30 วัน" },
{ id: "002", name: "45 วัน" },
{ id: "003", name: "60 วัน" },
]);
const investigationOps = ref<DataOption[]>([
{ id: "001", name: "เเต่งตั้งการสืบสวน" },
{ id: "002", name: "สืบสวนทางลับ" },
{ id: "003", name: "อื่นๆ" },
]);
const faultOps = ref<DataOption[]>([
{ id: "001", name: "ยังไม่ระบุ" },
{ id: "002", name: "ไม่ร้ายเเรง" },
{ id: "003", name: "ร้ายเเรง" },
]);
function filterFnOptionsType(val: string, update: any, type: string) {
update(() => {
const needle = val.toLowerCase();
if (type === "faultOp") {
faultOp.value = faultOps.value.filter(
(v: any) => v.value.toLowerCase().indexOf(needle) > -1
);
} else if (type === "investigationOp") {
investigationOp.value = investigationOps.value.filter(
(v: any) => v.value.toLowerCase().indexOf(needle) > -1
);
} else if (type === "daysExtendOp") {
daysExtendOp.value = daysExtendOps.value.filter(
(v: any) => v.value.toLowerCase().indexOf(needle) > -1
);
}
});
}
async function fecthList(data:investigatefactsDataRowType[]) {
let datalist:investigatefactsDataRowType[] = data.map((e: any) => ({
subject: e.subject,
interrogated: e.interrogated,
fault: e.fault ?? convertFault(e.fault),
status: e.status ?? convertSatatus(e.status),
active: e.active ?? activeStatus(e.active)
}))
rows.value = datalist
}
function convertFault(val: string) {
switch (val) {
case "0":
return "ความผิดวินัยไม่ร้ายแรง"
case "1":
return "ความผิดวินัยร้ายแรง"
}
}
function convertSatatus(val: string) {
switch (val) {
case "0":
return "ยุติเรื่อง"
case "1":
return "เสร็จสิ้นเเล้ว"
}
}
function activeStatus(val: string) {
switch (val) {
case "0":
return "ยังไม่ได้ยืนยันผล"
case "1":
return "ยืนยันผลเเล้ว"
}
}
return {
fecthList,
rows,
daysExtendOps,
investigationOps,
faultOps,
filterFnOptionsType,
faultOp,
daysExtendOp,
investigationOp,
};
})