แก้บัค filter ออกคำสั่ง/ประกาศเกษียณอายุราชการ

This commit is contained in:
AnandaTon 2023-09-29 10:10:59 +07:00
parent b01e667f34
commit 1d61d79d13
3 changed files with 62 additions and 51 deletions

View file

@ -72,19 +72,17 @@ const columns = ref<QTableProps["columns"]>([
// () // ()
const currentYear = new Date().getFullYear(); const currentYear = new Date().getFullYear();
const rows = ref<resMain[]>([]); const rows = ref<resMain[]>([]);
const yearOptions = ref<any[]>([]); const yearOptions = ref<any>([{ id: "", year: "ทั้งหมด" }]);
onMounted(() => { onMounted(async () => {
filteryear(); await fetchRetirement(type.value, currentYear);
// await fetchRetirement(type.value, currentYear);
}); });
// //
const filteryear = () => { const filteryear = () => {
yearOptions.value = [{ id: currentYear, name: currentYear + 543 }]; // yearOptions.value.push({ id: currentYear, name: currentYear + 543 });
yearOptions.value.push({ id: currentYear, name: currentYear + 543 }); // yearOptionsFilter.value = [{ id: currentYear, name: currentYear + 543 }];
// fiscalyear.value = yearOptions[0].id; // yearOptionsFilter.value.push({ id: currentYear, name: currentYear + 543 });
yearOptionsFilter.value = [{ id: currentYear, name: currentYear + 543 }];
yearOptionsFilter.value.push({ id: currentYear, name: currentYear + 543 });
fetchRetirement(type.value, currentYear); fetchRetirement(type.value, currentYear);
}; };
// //
@ -98,7 +96,7 @@ const fetchRetirement = async (type: string, year: any) => {
rows.value = data.map((items: any) => ({ rows.value = data.map((items: any) => ({
id: items.id, id: items.id,
Date: date2Thai(items.createdAt), Date: date2Thai(items.createdAt),
year: items.year, year: items.year + 543,
retireNumber: items.round, retireNumber: items.round,
total: items.total, total: items.total,
round: items.round, round: items.round,
@ -106,6 +104,19 @@ const fetchRetirement = async (type: string, year: any) => {
json: items.json, json: items.json,
document: items.document, document: items.document,
})); }));
let option: any[] = [];
data.map((items: any) => {
option.push({
id: items.year,
year: (items.year + 543).toString(),
typeReport: typeReportChangeName(items.typeReport), //
});
});
yearOptions.value = [{ id: 0, year: "ทั้งหมด" }];
yearOptions.value.push(...option);
yearOptionsFilter.value = yearOptions.value;
actionOption.value = rows.value; actionOption.value = rows.value;
rows.value.sort((a, b) => a.round - b.round); // rows.value.sort((a, b) => a.round - b.round); //
checkststus(rows.value); checkststus(rows.value);
@ -144,10 +155,10 @@ const pagination = ref({
rowsPerPage: 10, rowsPerPage: 10,
}); });
const filterSelector = (val: any, update: Function, year: any) => { const filterSelector = (val: any, update: Function) => {
update(() => { update(() => {
yearOptions.value = yearOptionsFilter.value.filter( yearOptions.value = yearOptionsFilter.value.filter(
(v: any) => v.name.valueOf(val.toLowerCase()) > -1 (v: any) => v.year.indexOf(val) > -1
); );
}); });
}; };
@ -219,8 +230,9 @@ const typeReportChangeName = (val: string) => {
map-options map-options
:options="yearOptions" :options="yearOptions"
option-value="id" option-value="id"
option-label="name" option-label="year"
lazy-rules lazy-rules
use-input
hide-bottom-space hide-bottom-space
:readonly="false" :readonly="false"
:borderless="false" :borderless="false"
@ -228,7 +240,7 @@ const typeReportChangeName = (val: string) => {
:hide-dropdown-icon="false" :hide-dropdown-icon="false"
style="min-width: 150px" style="min-width: 150px"
@filter="(inputValue:any, @filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'yearOptions' doneFn:Function) => filterSelector(inputValue, doneFn
) " ) "
/> />
<!-- use-input --> <!-- use-input -->

View file

@ -45,13 +45,19 @@ export const useOrderPlacementDataStore = defineStore("placementOrder", () => {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.orderTypeValue === filter_1 (item) => item.orderTypeValue === filter_1
); );
} else if (filter_1 !== "" && filter_2 !== "ทั้งหมด" && filterYear === null) { } else if (
filter_1 !== "" &&
filter_2 !== "ทั้งหมด" &&
filterYear === null
) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.orderTypeValue === filter_1 && item.OrderStatus === filter_2 (item) =>
item.orderTypeValue === filter_1 && item.OrderStatus === filter_2
); );
} else if (filter_1 !== "" && filter_2 === "ทั้งหมด" && filterYear !== 0) { } else if (filter_1 !== "" && filter_2 === "ทั้งหมด" && filterYear !== 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.orderTypeValue === filter_1 && item.fiscalYear === filterYear (item) =>
item.orderTypeValue === filter_1 && item.fiscalYear === filterYear
); );
} else if (filter_1 === "" && filter_2 !== "ทั้งหมด" && filterYear === 0) { } else if (filter_1 === "" && filter_2 !== "ทั้งหมด" && filterYear === 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
@ -61,27 +67,32 @@ export const useOrderPlacementDataStore = defineStore("placementOrder", () => {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.fiscalYear === filterYear (item) => item.fiscalYear === filterYear
); );
} else if (filter_1 === "" && filter_2 !== "ทั้งหมด" && filterYear !== null) { } else if (
filter_1 === "" &&
filter_2 !== "ทั้งหมด" &&
filterYear !== null
) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => (item) =>
item.OrderStatus === filter_2 && item.fiscalYear === filterYear item.OrderStatus === filter_2 && item.fiscalYear === filterYear
); );
} else if (filter_1 !== "" && filter_2 !== "ทั้งหมด" && filterYear === 0) { } else if (filter_1 !== "" && filter_2 !== "ทั้งหมด" && filterYear === 0) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => item.OrderStatus === filter_2 && item.orderTypeValue === filter_1 (item) =>
item.OrderStatus === filter_2 && item.orderTypeValue === filter_1
); );
} else if (filter_1 !== "" && filter_2 !== "ทั้งหมด" && filterYear !== null) { } else if (
filter_1 !== "" &&
filter_2 !== "ทั้งหมด" &&
filterYear !== null
) {
DataMainUpdateOrder.value = DataMainOrigOrder.value.filter( DataMainUpdateOrder.value = DataMainOrigOrder.value.filter(
(item) => (item) =>
item.orderTypeValue === filter_1 && item.orderTypeValue === filter_1 &&
item.OrderStatus === filter_2 && item.OrderStatus === filter_2 &&
item.fiscalYear === filterYear item.fiscalYear === filterYear
); );
} else if ( } else if (filter_1 == "" && filter_2 == "ทั้งหมด" && filterYear !== null) {
filter_1 == "" &&
filter_2 == "ทั้งหมด" &&
filterYear !== null
) {
DataMainUpdateOrder.value = DataMainOrigOrder.value; DataMainUpdateOrder.value = DataMainOrigOrder.value;
} }
}; };
@ -144,6 +155,6 @@ export const useOrderPlacementDataStore = defineStore("placementOrder", () => {
DataUpdateOrder, DataUpdateOrder,
DataMainYearSetOrder, DataMainYearSetOrder,
DataMainOrder, DataMainOrder,
nameOrderFilter nameOrderFilter,
}; };
}); });

View file

@ -18,15 +18,6 @@ const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, date2Thai } = mixin; const { showLoader, hideLoader, messageError, date2Thai } = mixin;
const DataStore = useOrderPlacementDataStore(); const DataStore = useOrderPlacementDataStore();
const OpsFilterYear = ref<any>({
fiscalyearOP: [],
});
const OpsFilterOrderType = ref<any>({
OrderTypeOption: [],
});
const OpsFilterOrderStatus = ref<any>({
OrderStatusOption: [],
});
const pagination = ref({ const pagination = ref({
descending: true, descending: true,
page: 1, page: 1,
@ -153,14 +144,6 @@ const OriginalDataFetch = async () => {
OrderType: e.orderTypeName, OrderType: e.orderTypeName,
orderTypeValue: e.orderTypeValue, orderTypeValue: e.orderTypeValue,
})); }));
// OpsFilterYear.value.fiscalYear = res.data.result.map((e: any) => ({
// fiscalYear: Number(e.fiscalYear),
// }));
OpsFilterOrderStatus.value.OrderStatus = res.data.result.map(
(e: any) => ({
OrderStatus: e.orderStatusName,
})
);
console.log(fiscalyear.value); console.log(fiscalyear.value);
console.log(OrderStatus.value); console.log(OrderStatus.value);
}) })
@ -199,22 +182,26 @@ const redirectToPage = (id?: string, status?: string) => {
const clickAdd = () => { const clickAdd = () => {
router.push({ name: "OrderAdd" }); router.push({ name: "OrderAdd" });
}; };
const Ops = ref<any>({
fiscalyearOP: [],
});
// //
const fiscalyear = ref<number | null>(0); const fiscalyear = ref<number | null>(0);
const fiscalyearOP = ref<DataOption[]>([{ id: 0, name: "ทั้งหมด" }]); const fiscalyearOP = ref<any>([{ id: 0, name: "ทั้งหมด" }]);
const fiscalyearFilter1 = ref<any>([]); const fiscalyearFilter1 = ref<any>([]);
const fiscalYearFilter = async () => { const fiscalYearFilter = async () => {
await http.get(config.API.yearOptionsOrder()).then((res) => { await http.get(config.API.yearOptionsOrder()).then((res) => {
const response = res.data.result; const response = res.data.result;
fiscalyearOP.value = [{ id: 0, name: "ทั้งหมด" }]; fiscalyearOP.value = [{ id: 0, name: "ทั้งหมด" }];
fiscalyearOP.value.push(...response); response.map((r: any) => {
fiscalyearOP.value.push({ id: r.id, name: r.name.toString() });
});
fiscalyearFilter1.value = [{ id: 0, name: "ทั้งหมด" }]; fiscalyearFilter1.value = [{ id: 0, name: "ทั้งหมด" }];
fiscalyearFilter1.value.push(...response); response.map((r: any) => {
fiscalyearFilter1.value.push({
id: r.id,
name: r.name.toString(),
});
});
}); });
}; };
@ -300,7 +287,7 @@ const filterSelector = (val: any, update: Function, refData: string) => {
case "fiscalyearOP": case "fiscalyearOP":
update(() => { update(() => {
fiscalyearOP.value = fiscalyearFilter1.value.filter( fiscalyearOP.value = fiscalyearFilter1.value.filter(
(v: any) => v.name.valueOf(val) > -1 (v: any) => v.name.indexOf(val) > -1
); );
}); });
break; break;
@ -347,6 +334,7 @@ const paginationLabel = (start: string, end: string, total: string) => {
option-value="id" option-value="id"
option-label="name" option-label="name"
lazy-rules lazy-rules
use-input
hide-bottom-space hide-bottom-space
:readonly="false" :readonly="false"
:borderless="false" :borderless="false"