เพิ่ม filter

This commit is contained in:
AnandaTon 2023-11-03 12:43:50 +07:00
parent 4a9fa574de
commit 84f82b9457
3 changed files with 80 additions and 41 deletions

View file

@ -1,26 +1,76 @@
import { defineStore } from "pinia";
import { ref } from "vue";
import type { QTableProps } from "quasar";
import type {
investigateDisDataRowType,
DataOption,
} from "@/modules/11_discipline/interface/index/Main";
import type { DataRows } from "@/modules/09_leave/interface/response/specialTime";
import { useCounterMixin } from "@/stores/mixin";
const mixin = useCounterMixin();
const { date2Thai } = mixin;
export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
const rows = ref<any[]>([]);
async function fecthList(data: any[]) {
let datalist: any[] = data.map((e: any) => ({
const selectDate = ref<Date | null>(new Date());
const fiscalYear = ref<string | null>("0");
const DataMainOrig = ref<DataRows[]>([]); // ข้อมูลหลักดั้งเดิม
async function fecthList(data: DataRows[]) {
let datalist: DataRows[] = data.map((e: any) => ({
fullname: e.fullname,
date: date2Thai(new Date(e.date)),
dateFix: date2Thai(new Date(e.dateFix)),
dateFix: date2Thai(new Date(e.dateFix)) + (e.timeStamp || ""),
type: e.type,
reason: e.reason,
timeStamp: e.timeStamp,
}));
rows.value = datalist;
DataMainOrig.value = datalist;
}
const DataMainUpdate = ref<DataRows[]>([]); // ข้อมูลเปลี่ยนแปลง
const DataMain = (val: DataRows[]) => (DataMainOrig.value = val);
const DataUpdate = (filterYear: string) => {
DataMainUpdate.value = [];
if (filterYear === "") {
DataMainUpdate.value = DataMainOrig.value;
}
};
//--------------|ฟิลเตอร์|--------------------------------------//
const searchFilterTable = async (searchDate: any) => {
rows.value = [];
if (fiscalYear.value !== undefined && searchDate.value !== null) {
await DataUpdate(searchDate.value === "0" ? "all" : searchDate.value!);
let filteredData = DataMainOrig.value;
if (searchDate.value !== "0") {
filteredData = filteredData.filter(
(item: DataRows) => item.date === searchDate.value
);
console.log(searchDate.value);
}
const dataArr = filteredData.map((e: any) => ({
fullname: e.fullname,
date: date2Thai(new Date(e.date)),
dateFix: date2Thai(new Date(e.dateFix)) + (e.timeStamp || ""),
type: e.type,
reason: e.reason,
timeStamp: e.timeStamp,
}));
rows.value = dataArr;
}
};
// const filterSelector = (val: any, update: Function, refData: string) => {
// switch (refData) {
// case "":
// update(() => {
// selectDate.value = selectDate.value.filter(
// (v: any) => v.name.indexOf(val) > -1
// );
// });
// break;
// default:
// break;
// }
// };
const visibleColumns = ref<String[]>([
"no",
@ -100,5 +150,8 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
rows,
visibleColumns,
columns,
DataMain,
searchFilterTable,
selectDate,
};
});