no message
This commit is contained in:
parent
2ff53b5fa6
commit
07976376bb
3 changed files with 82 additions and 38 deletions
|
|
@ -3,7 +3,7 @@ import { onMounted, reactive, ref, useAttrs } from "vue";
|
||||||
import type { QTableProps } from "quasar";
|
import type { QTableProps } from "quasar";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
import type { FormPlacementMainData } from "@/modules/05_placement/interface/request/Main";
|
import type { FormPlacementMainData } from "@/modules/05_placement/interface/request/Main";
|
||||||
import type { DataOption } from "@/modules/05_placement/interface/index/Main";
|
import type { DataOption,DataOption1 } from "@/modules/05_placement/interface/index/Main";
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { usePlacementDataStore } from "@/modules/05_placement/store";
|
import { usePlacementDataStore } from "@/modules/05_placement/store";
|
||||||
import router from "@/router";
|
import router from "@/router";
|
||||||
|
|
@ -132,12 +132,13 @@ const OriginalDataFetch = async (year: number) => {
|
||||||
console.log("🚀 ~ file: Main.vue:160 ~ .then ~ res:", apiData);
|
console.log("🚀 ~ file: Main.vue:160 ~ .then ~ res:", apiData);
|
||||||
await DataStore.DataMain(apiData);
|
await DataStore.DataMain(apiData);
|
||||||
OriginalData.value = await DataStore.DataMainOrig;
|
OriginalData.value = await DataStore.DataMainOrig;
|
||||||
UpdataData.value = OriginalData.value;
|
UpdataData.value = OriginalData.value.filter((data) => data.fiscalYear === year); // ใช้ค่า fiscalYear ในการกรองข้อมูล
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
messageError($q, error);
|
messageError($q, error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await fiscalYearFilter();
|
await fiscalYearFilter();
|
||||||
await OriginalDataFetch(fiscalyear.value);
|
await OriginalDataFetch(fiscalyear.value);
|
||||||
|
|
@ -154,43 +155,63 @@ const redirectToPage = (examId?: number) => {
|
||||||
|
|
||||||
//-------------------|เลือกปีงบประมาณ|-----------------------//
|
//-------------------|เลือกปีงบประมาณ|-----------------------//
|
||||||
const fiscalyear = ref<number>(0);
|
const fiscalyear = ref<number>(0);
|
||||||
const fiscalyearOP = reactive<DataOption[]>([{ id: null, name: "ทั้งหมด" }]);
|
const fiscalyearOP = reactive<DataOption[]>([{ id: 0, name: "ทั้งหมด" }]);
|
||||||
const addedfiscalYearValues: number[] = [];
|
const addedfiscalYearValues: number[] = [];
|
||||||
const fiscalYearFilter = async () => {
|
const fiscalYearFilter = async () => {
|
||||||
let maxYear = 0; // เพิ่มตัวแปร maxYear
|
let maxYear = 0;
|
||||||
await http
|
try {
|
||||||
.get(config.API.yearOptions())
|
const response = await http.get(config.API.yearOptions());
|
||||||
.then((res: any) => {
|
const dataOptions = response.data.result;
|
||||||
console.log("🚀 ", res.data.result);
|
console.log("🚀 ", dataOptions);
|
||||||
for (let data of res.data.result) {
|
for (let data of dataOptions) {
|
||||||
fiscalyearOP.push(data);
|
fiscalyearOP.push(data);
|
||||||
|
|
||||||
if (data.id > maxYear) {
|
if (data.id > maxYear) {
|
||||||
maxYear = data.id; // อัพเดตค่า maxYear ถ้าพบปีที่มากกว่า
|
maxYear = data.id;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
.catch((e: any) => {
|
fiscalyear.value = maxYear;
|
||||||
messageError($q, e);
|
console.log("Selected Year:", fiscalyear.value);
|
||||||
})
|
await OriginalDataFetch(fiscalyear.value); // เรียกใช้งานฟังก์ชันที่ดึงข้อมูลใหม่เมื่อมีการเลือกใน fiscalyear
|
||||||
.finally(async () => {
|
} catch (e) {
|
||||||
// ตั้งค่า fiscalyear เป็นค่าหลักปีที่มากที่สุด
|
messageError($q, e);
|
||||||
fiscalyear.value = maxYear;
|
}
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//-------------------|เลือกปีงบประมาณตาม API|--------------------//
|
//-------------------|เลือกปีงบประมาณตาม API|--------------------//
|
||||||
|
interface YearOption {
|
||||||
|
id: number;
|
||||||
|
name: number;
|
||||||
|
}
|
||||||
|
|
||||||
const searchfiscalyear = async () => {
|
const searchfiscalyear = async () => {
|
||||||
// API
|
try {
|
||||||
await http
|
const response = await http.get(config.API.yearOptions());
|
||||||
.get(config.API.yearOptions())
|
const dataOptions: YearOption[] = response.data.result;
|
||||||
.then((res: any) => {})
|
console.log("🚀 ~ file: Main.vue:189 ~ .then ~ dataOptions:", dataOptions);
|
||||||
.catch((e: any) => {
|
|
||||||
messageError($q, e);
|
if (fiscalyear.value === 0) {
|
||||||
})
|
// Perform any desired operations for selecting "ทั้งหมด" option
|
||||||
.finally(async () => {});
|
// เช่นตัวอย่างข้างล่างนี้ ที่แสดงผลลัพธ์ทั้งหมดใน console.log
|
||||||
|
console.log("All Year Objects:", dataOptions);
|
||||||
|
} else {
|
||||||
|
// Find the selected object based on the chosen year
|
||||||
|
const selectedYearObject = dataOptions.find((option: YearOption) => option.id === fiscalyear.value);
|
||||||
|
if (selectedYearObject) {
|
||||||
|
console.log("Selected Year Object:", selectedYearObject);
|
||||||
|
// Perform any desired operations with the selected object here
|
||||||
|
} else {
|
||||||
|
console.log("No Selected Year Object");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
messageError($q, e);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------|ค้นหาในตาราง|-----------------//
|
//-------------------|ค้นหาในตาราง|-----------------//
|
||||||
const filterKeyword = ref<string>("");
|
const filterKeyword = ref<string>("");
|
||||||
const filterRef = ref<any>(null);
|
const filterRef = ref<any>(null);
|
||||||
|
|
@ -214,7 +235,7 @@ const visibleColumns = ref<any[]>([
|
||||||
|
|
||||||
//-------------------|ครั้งที่สอบ|------------------------------//
|
//-------------------|ครั้งที่สอบ|------------------------------//
|
||||||
const examTime = ref<number | string>("all");
|
const examTime = ref<number | string>("all");
|
||||||
const examTimeOP = reactive<DataOption[]>([]);
|
const examTimeOP = reactive<DataOption1[]>([]);
|
||||||
const addedExamTimeValues: Set<number> = new Set();
|
const addedExamTimeValues: Set<number> = new Set();
|
||||||
|
|
||||||
const examTimeFilter = async () => {
|
const examTimeFilter = async () => {
|
||||||
|
|
@ -236,7 +257,7 @@ const examTimeFilter = async () => {
|
||||||
|
|
||||||
// ประเภทการสอบ
|
// ประเภทการสอบ
|
||||||
const examType = ref<string | null>("all");
|
const examType = ref<string | null>("all");
|
||||||
const examTypeOP = ref<DataOption[]>([{ id: "all", name: "ทั้งหมด" }]);
|
const examTypeOP = ref<DataOption1[]>([{ id: "all", name: "ทั้งหมด" }]);
|
||||||
const addedExamTypeValues: Set<string> = new Set();
|
const addedExamTypeValues: Set<string> = new Set();
|
||||||
const examTypeFilter = () => {
|
const examTypeFilter = () => {
|
||||||
for (const data of OriginalData.value) {
|
for (const data of OriginalData.value) {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
import type { zipCodeOption } from "../../components/PersonalDetail/profileType";
|
import type { zipCodeOption } from "../../components/PersonalDetail/profileType";
|
||||||
interface DataOption {
|
interface DataOption {
|
||||||
|
id: number|null;
|
||||||
|
name:string|null;
|
||||||
|
disable?: boolean;
|
||||||
|
}
|
||||||
|
interface DataOption1 {
|
||||||
id: string|null;
|
id: string|null;
|
||||||
name:string|null;
|
name:string|null;
|
||||||
disable?: boolean;
|
disable?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface DataOptionInsignia {
|
interface DataOptionInsignia {
|
||||||
id: string;
|
id: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
|
@ -61,6 +65,7 @@ export type {
|
||||||
AddressOps,
|
AddressOps,
|
||||||
Pagination,
|
Pagination,
|
||||||
EduOps,
|
EduOps,
|
||||||
|
DataOption1,
|
||||||
InsigniaOps,
|
InsigniaOps,
|
||||||
CheckboxItem,
|
CheckboxItem,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
interface TableName {
|
interface TableName {
|
||||||
personalId: string;
|
personalId: string;
|
||||||
profileID: string;
|
|
||||||
position: number;
|
position: number;
|
||||||
fullName: string;
|
fullName: string;
|
||||||
dateOfBirth: string;
|
dateOfBirth: string;
|
||||||
|
|
@ -8,14 +7,20 @@ interface TableName {
|
||||||
ExamOrder: number;
|
ExamOrder: number;
|
||||||
unitId: string;
|
unitId: string;
|
||||||
UnitGroup: string;
|
UnitGroup: string;
|
||||||
|
positionNumber:string;
|
||||||
|
positionPath:string;
|
||||||
Unit: string;
|
Unit: string;
|
||||||
ReportingDate: string; //วันที่รายงานตัว
|
reportingDate: string; //วันที่รายงานตัว
|
||||||
BMAOfficer: string;
|
bmaOfficer: string;
|
||||||
Status: string;
|
statusId: string;
|
||||||
checkList: any;
|
checkList: any;
|
||||||
address: string;
|
address: string;
|
||||||
university: string;
|
university: string;
|
||||||
degree: string;
|
degree: string;
|
||||||
|
disclaim: string;
|
||||||
|
profilePhoto:string;
|
||||||
|
organizationName:string;
|
||||||
|
organizationShortName:string;
|
||||||
major: string;
|
major: string;
|
||||||
remark: string;
|
remark: string;
|
||||||
number: number;
|
number: number;
|
||||||
|
|
@ -32,5 +37,18 @@ interface TableName {
|
||||||
examResult: string;
|
examResult: string;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
interface PartialTableName {
|
||||||
export type { TableName };
|
personalId: string;
|
||||||
|
fullName: string;
|
||||||
|
idCard: string;
|
||||||
|
profilePhoto: string;
|
||||||
|
organizationName: string;
|
||||||
|
organizationShortName: string;
|
||||||
|
positionNumber: string;
|
||||||
|
positionPath: string;
|
||||||
|
reportingDate: string;
|
||||||
|
bmaOfficer: string;
|
||||||
|
statusId: string;
|
||||||
|
disclaim: string;
|
||||||
|
}
|
||||||
|
export type { TableName ,PartialTableName};
|
||||||
Loading…
Add table
Add a link
Reference in a new issue