diff --git a/src/modules/11_discipline/interface/request/director.ts b/src/modules/11_discipline/interface/request/director.ts
index ae68d7e23..96e765bc4 100644
--- a/src/modules/11_discipline/interface/request/director.ts
+++ b/src/modules/11_discipline/interface/request/director.ts
@@ -6,7 +6,6 @@ interface FormData {
position: string;
phone: string;
email: string;
- qualification: string;
}
interface FormDataPost {
personalId: string;
diff --git a/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue b/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue
index 6777cb98a..6962fbb85 100644
--- a/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue
+++ b/src/modules/12_evaluatePersonal/components/Detail/Tab1.vue
@@ -1,7 +1,10 @@
@@ -196,14 +200,11 @@ onMounted(async () => {
class="col-xs-12 col-sm-7 row"
v-if="store.step === 1 || store.step === 3 || store.step === 7"
>
-
-
-
diff --git a/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue b/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue
index c6814fd06..9e6afc829 100644
--- a/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue
+++ b/src/modules/12_evaluatePersonal/components/Detail/Tab2.vue
@@ -1,35 +1,40 @@
@@ -241,7 +250,7 @@ watch(
diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue
index 04d85827f..41ddad637 100644
--- a/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue
+++ b/src/modules/12_evaluatePersonal/components/Detail/viewTab2/DialogMeet.vue
@@ -1,16 +1,13 @@
@@ -253,7 +251,7 @@ watch(
diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewPDF.vue b/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewPDF.vue
index af362d956..c4110d1d2 100644
--- a/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewPDF.vue
+++ b/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewPDF.vue
@@ -43,8 +43,10 @@ watch(
}
);
onMounted(() => {
- numOfPages.value = store.numOfPagesStore;
- pdfSrc.value = store.pdfSrcStore;
+ setTimeout(() => {
+ numOfPages.value = store.numOfPagesStore;
+ pdfSrc.value = store.pdfSrcStore;
+ }, 100);
});
@@ -140,73 +142,6 @@ onMounted(() => {
-
diff --git a/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep1.vue b/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep1.vue
index 2d083e184..e9ffe3b37 100644
--- a/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep1.vue
+++ b/src/modules/12_evaluatePersonal/components/Detail/viewstep/viewStep1.vue
@@ -1,6 +1,9 @@
diff --git a/src/modules/12_evaluatePersonal/components/Director/AddPage.vue b/src/modules/12_evaluatePersonal/components/Director/AddPage.vue
index ebec2ade4..2ecf58513 100644
--- a/src/modules/12_evaluatePersonal/components/Director/AddPage.vue
+++ b/src/modules/12_evaluatePersonal/components/Director/AddPage.vue
@@ -1,12 +1,14 @@
diff --git a/src/modules/12_evaluatePersonal/components/Director/DialogDetail.vue b/src/modules/12_evaluatePersonal/components/Director/DialogDetail.vue
index 21fa126e6..df512b105 100644
--- a/src/modules/12_evaluatePersonal/components/Director/DialogDetail.vue
+++ b/src/modules/12_evaluatePersonal/components/Director/DialogDetail.vue
@@ -50,7 +50,6 @@ const dataDettail = reactive({
position: "",
phone: "",
email: "",
- qualification: "",
});
/**
@@ -81,9 +80,9 @@ function fetchData() {
* @param formData ข้อมุลชื่อกรรมการ
*/
function onSubmit(formData: FormData) {
- dialogConfirm($q, () => {
+ dialogConfirm($q, async () => {
showLoader();
- http
+ await http
.put(config.API.evaluateDirectorById(directorId.value), {
prefix: formData.prefix,
firstName: formData.firstname,
@@ -92,10 +91,10 @@ function onSubmit(formData: FormData) {
email: formData.email,
phone: formData.phone,
})
- .then(() => {
- props.fetchDataList?.();
- onCloseDialog();
+ .then(async () => {
+ await props.fetchDataList?.();
success($q, "บันทึกข้อมูลสำเร็จ");
+ onCloseDialog();
})
.catch((e) => {
messageError($q, e);
@@ -128,7 +127,7 @@ watch(
diff --git a/src/modules/12_evaluatePersonal/components/Director/EditPage.vue b/src/modules/12_evaluatePersonal/components/Director/EditPage.vue
deleted file mode 100644
index 61459c9e7..000000000
--- a/src/modules/12_evaluatePersonal/components/Director/EditPage.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
- แก้ไขรายชื่อกรรมการ
-
-
-
-
-
diff --git a/src/modules/12_evaluatePersonal/components/Director/Form.vue b/src/modules/12_evaluatePersonal/components/Director/Form.vue
index 67a086c1b..de0a092df 100644
--- a/src/modules/12_evaluatePersonal/components/Director/Form.vue
+++ b/src/modules/12_evaluatePersonal/components/Director/Form.vue
@@ -1,5 +1,5 @@
@@ -242,8 +243,8 @@ onMounted(() => {
diff --git a/src/modules/12_evaluatePersonal/components/Meeting/Form.vue b/src/modules/12_evaluatePersonal/components/Meeting/Form.vue
index 9ad0234ac..f182738aa 100644
--- a/src/modules/12_evaluatePersonal/components/Meeting/Form.vue
+++ b/src/modules/12_evaluatePersonal/components/Meeting/Form.vue
@@ -15,7 +15,6 @@ import type { FormData } from "@/modules/12_evaluatePersonal/interface/index/mee
/**
* use
*/
-
const route = useRoute();
const $q = useQuasar();
const {
@@ -42,7 +41,7 @@ const props = defineProps({
});
const emit = defineEmits(["formDataReturn"]);
-const id = ref(route.params.id as string);
+const id = ref(route.params.id as string); //id การประชุม
const routeName = ref(route.name as string);
const isReadonly = computed(() =>
routeName.value === "evaluateMeetingdetail" ? true : false
@@ -50,17 +49,16 @@ const isReadonly = computed(() =>
const formData = reactive({
id: "",
- rounded: "",
- dateMeeting: "",
- dateMeetingStart: null,
- dateMeetingEnd: null,
- consider: "",
- period: "",
- title: "",
+ rounded: "", //ครั้งที่
+ dateMeetingStart: null, //วันเวลาเริ่มต้นการประชุม
+ dateMeetingEnd: null, //วันเวลาสิ้นสุดการประชุม
+ consider: "", //ผลการพิจารณาของคณะกรรมการประเมินผลงานแต่ละคณะ
+ period: "", //ระยะเวลาในการแก้ไขผลงาน
+ title: "", //หัวข้อการประชุม
});
-const file = ref();
-const fileData = ref([]);
-const fileDataDownload = ref([]);
+const file = ref(); //ไฟล์อัปโหลด
+const fileData = ref([]); //รายการเอกสาร
+const fileDataDownload = ref([]); ///รายการเอกสาร
/** บันทึกข้อมูล */
function submit() {
@@ -70,7 +68,7 @@ function submit() {
/**
* function fetch ข้อมูลไฟล์เอกสารหลักฐาน
*/
-function fetchDataFile() {
+async function fetchDataFile() {
if (id.value != undefined) {
showLoader();
http
@@ -145,18 +143,18 @@ function uploadFile() {
/**
* function อัปโหลดไฟล์เอกสารหลักฐาน
*/
-function uploadfileURL(uploadUrl: string, file: any) {
+function uploadfileURL(uploadUrl: string, newfile: any) {
axios
- .put(uploadUrl, file, {
+ .put(uploadUrl, newfile, {
headers: {
- "Content-Type": file.type,
+ "Content-Type": newfile.type,
},
})
.then(() => {
setTimeout(async () => {
await fetchDataFile();
await success($q, "อัปโหลไฟล์สำเร็จ");
- file.value = null;
+ file.value = undefined;
}, 500);
})
.catch((err) => {
diff --git a/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue
index aacfec62a..62b1e3fac 100644
--- a/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue
+++ b/src/modules/12_evaluatePersonal/components/Meeting/MainPage.vue
@@ -1,7 +1,8 @@
รายการการประชุม
diff --git a/src/modules/12_evaluatePersonal/components/Table.vue b/src/modules/12_evaluatePersonal/components/Table.vue
deleted file mode 100644
index 84096de32..000000000
--- a/src/modules/12_evaluatePersonal/components/Table.vue
+++ /dev/null
@@ -1,228 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/modules/12_evaluatePersonal/interface/index/Main.ts b/src/modules/12_evaluatePersonal/interface/index/Main.ts
index 1c0e74bac..688cb1632 100644
--- a/src/modules/12_evaluatePersonal/interface/index/Main.ts
+++ b/src/modules/12_evaluatePersonal/interface/index/Main.ts
@@ -77,6 +77,22 @@ interface FileLists {
pathName: string; //link file
}
+interface Meeting {
+ id: string;
+ date: Date | string;
+ dateStart: Date | string;
+ title: string;
+ round: string;
+ dateEnd: Date | string;
+ result: string;
+ timePeriod: string;
+}
+
+interface Pagination {
+ page: number;
+ rowsPerPage: number;
+}
+
export type {
DataOption,
InvestigatefactsDataRowType,
@@ -88,4 +104,6 @@ export type {
DataOptioGroup,
DataOptionYear,
OptionStatus,
+ Meeting,
+ Pagination,
};
diff --git a/src/modules/12_evaluatePersonal/interface/index/meeting.ts b/src/modules/12_evaluatePersonal/interface/index/meeting.ts
index 4cfa89353..d2671027d 100644
--- a/src/modules/12_evaluatePersonal/interface/index/meeting.ts
+++ b/src/modules/12_evaluatePersonal/interface/index/meeting.ts
@@ -22,13 +22,11 @@ interface ArrayFileList {
interface FormData {
id: string;
rounded: string;
- dateMeeting: string;
dateMeetingStart: Date | null;
dateMeetingEnd: Date | null;
consider: string;
period: string;
title: string;
- // file: FileOj[];
}
interface FileOj {
diff --git a/src/modules/12_evaluatePersonal/interface/response/Main.ts b/src/modules/12_evaluatePersonal/interface/response/Main.ts
new file mode 100644
index 000000000..7cdd62256
--- /dev/null
+++ b/src/modules/12_evaluatePersonal/interface/response/Main.ts
@@ -0,0 +1,34 @@
+interface Directors {
+ email: string;
+ firstName: string;
+ id: string;
+ lastName: string;
+ phone: string;
+ position: string;
+ positionName: string;
+ prefix: string;
+ createdAt: string | Date;
+ createdFullName: string;
+ createdUserId: string;
+ lastUpdateFullName: string;
+ lastUpdateUserId: string;
+ lastUpdatedAt: string | Date;
+}
+
+interface Meetings {
+ dateEnd: Date | string;
+ dateStart: Date | string;
+ duration: string;
+ id: string;
+ result: string;
+ round: string;
+ title: string;
+ createdAt: string | Date;
+ createdFullName: string;
+ createdUserId: string;
+ lastUpdateFullName: string;
+ lastUpdateUserId: string;
+ lastUpdatedAt: string | Date;
+}
+
+export type { Directors, Meetings };
diff --git a/src/modules/12_evaluatePersonal/router.ts b/src/modules/12_evaluatePersonal/router.ts
index 3345bd2f1..7a9cb27f0 100644
--- a/src/modules/12_evaluatePersonal/router.ts
+++ b/src/modules/12_evaluatePersonal/router.ts
@@ -7,8 +7,7 @@ const directorPage = () =>
import("@/modules/12_evaluatePersonal/components/Director/MainPage.vue");
const directorAddPage = () =>
import("@/modules/12_evaluatePersonal/components/Director/AddPage.vue");
-// const directorEditPage = () =>
-// import("@/modules/12_evaluatePersonal/components/Director/EditPage.vue");
+
const meetingPage = () =>
import("@/modules/12_evaluatePersonal/components/Meeting/MainPage.vue");
diff --git a/src/modules/12_evaluatePersonal/views/DetailPage.vue b/src/modules/12_evaluatePersonal/views/DetailPage.vue
index 9859fe9dd..ffbb2996d 100644
--- a/src/modules/12_evaluatePersonal/views/DetailPage.vue
+++ b/src/modules/12_evaluatePersonal/views/DetailPage.vue
@@ -1,9 +1,12 @@
diff --git a/src/modules/12_evaluatePersonal/views/MainPage.vue b/src/modules/12_evaluatePersonal/views/MainPage.vue
index 825293e34..a8403902f 100644
--- a/src/modules/12_evaluatePersonal/views/MainPage.vue
+++ b/src/modules/12_evaluatePersonal/views/MainPage.vue
@@ -21,12 +21,37 @@ const store = useEvalutuonStore();
const { showLoader, hideLoader, messageError } = mixin;
/** request body*/
-const currentPage = ref(1);
-const maxPage = ref(0);
-const page = ref(1);
-const total = ref(0);
-const filter = ref("");
-const pageSize = ref(10);
+const currentPage = ref(1); //หน้าปัจจุบัน
+const maxPage = ref(0); //จำนวนหน่า
+const page = ref(1); //หน้า
+const total = ref(0); //จำนวนข้อมูลทั้งหมด
+const filter = ref(""); //คำค้นหา
+const pageSize = ref(10); //จำนวนรายการต่อหน้า
+const filterRef = ref(null);
+//ค้นหาตามสถานะ
+const selectedStatus = ref([
+ "CHECK_SPEC",
+ "PREPARE_DOC_V1",
+ "CHECK_DOC_V1",
+ "WAIT_CHECK_DOC_V1",
+ "ANNOUNCE_WEB",
+ "PREPARE_DOC_V2",
+ "WAIT_CHECK_DOC_V2",
+ "CHECK_DOC_V2",
+]);
+//ข้อมูลค้นหาตามสถานะ
+const optionsMain = ref([
+ { val: "CHECK_SPEC", label: "ตรวจสอบคุณสมบัติด้วยตนเอง" },
+ { val: "PREPARE_DOC_V1", label: "จัดเตรียมเอกสารเล่ม 1" },
+ { val: "CHECK_DOC_V1", label: "ตรวจสอบเอกสารเล่ม 1" },
+ { val: "WAIT_CHECK_DOC_V1", label: "รอตรวจสอบคุณสมบัติ" },
+ { val: "ANNOUNCE_WEB", label: "ประกาศบนเว็บไซต์" },
+ { val: "PREPARE_DOC_V2", label: "จัดเตรียมเอกสารเล่ม 2" },
+ { val: "WAIT_CHECK_DOC_V2", label: "ตรวจสอบเอกสารเล่ม 2" },
+ { val: "CHECK_DOC_V2", label: "รอพิจารณาผลการประเมิน" },
+ { val: "DONE", label: "เสร็จสิ้น" },
+]);
+const options = ref([]); //ตัวเลือกค้นหาตามสถานะ
/** pagination ของตาราง*/
const initialPagination = ref({
@@ -45,23 +70,18 @@ async function updatePagination(initialPagination: any) {
pageSize.value = initialPagination.rowsPerPage;
}
-/** function callback เมื่อมีการเปลี่ยนหน้า*/
-watch(
- () => pageSize.value,
- () => {
- fetchEvaluteList();
- }
-);
-
-const filterRef = ref(null);
-/** function ค้นหาตาม keyword*/
+/**
+ * function ค้นหาตาม keyword
+ */
function filterFn() {
updatePagination(filter.value);
pageSize.value = initialPagination.value.rowsPerPage;
fetchEvaluteList();
}
-/** functrion ล้างค้นหา*/
+/**
+ * functrion ล้างค้นหาD
+ */
function resetFilter() {
filter.value = "";
fetchEvaluteList();
@@ -70,7 +90,9 @@ function resetFilter() {
}
}
-/** function เรียกรายการคำขอประเมิน*/
+/**
+ * function เรียกรายการคำขอประเมินD
+ */
async function fetchEvaluteList() {
showLoader();
const body = {
@@ -103,30 +125,9 @@ function Detailpage(id: string) {
router.push(`/evaluate/detail/${id}`);
}
-const selectedStatus = ref([
- "CHECK_SPEC",
- "PREPARE_DOC_V1",
- "CHECK_DOC_V1",
- "WAIT_CHECK_DOC_V1",
- "ANNOUNCE_WEB",
- "PREPARE_DOC_V2",
- "WAIT_CHECK_DOC_V2",
- "CHECK_DOC_V2",
-]);
-const options = ref([]);
-const optionsMain = ref([
- { val: "CHECK_SPEC", label: "ตรวจสอบคุณสมบัติด้วยตนเอง" },
- { val: "PREPARE_DOC_V1", label: "จัดเตรียมเอกสารเล่ม 1" },
- { val: "CHECK_DOC_V1", label: "ตรวจสอบเอกสารเล่ม 1" },
- { val: "WAIT_CHECK_DOC_V1", label: "รอตรวจสอบคุณสมบัติ" },
- { val: "ANNOUNCE_WEB", label: "ประกาศบนเว็บไซต์" },
- { val: "PREPARE_DOC_V2", label: "จัดเตรียมเอกสารเล่ม 2" },
- { val: "WAIT_CHECK_DOC_V2", label: "ตรวจสอบเอกสารเล่ม 2" },
- { val: "CHECK_DOC_V2", label: "รอพิจารณาผลการประเมิน" },
- { val: "DONE", label: "เสร็จสิ้น" },
-]);
-
-/** ชื่อค่าที่ค้นหาสภานะ*/
+/**
+ * ชื่อค่าที่ค้นหาสภานะ
+ */
const label = computed(() => {
const filterOption = optionsMain.value.filter((option) =>
selectedStatus.value.includes(option.val)
@@ -145,14 +146,22 @@ const label = computed(() => {
* @param update อัพเดทค่า
* @param refData ดาต้าที่ต้องการฟิลเตอร์
*/
-function filterOption(val: any, update: Function) {
+function filterOption(val: string, update: Function) {
update(() => {
options.value = optionsMain.value.filter(
- (v: any) => v.label.indexOf(val) > -1
+ (v: OptionStatus) => v.label.indexOf(val) > -1
);
});
}
+/** function callback เมื่อมีการเปลี่ยนหน้า*/
+watch(
+ () => pageSize.value,
+ () => {
+ fetchEvaluteList();
+ }
+);
+
/** HookLifecycle */
onMounted(async () => {
await fetchEvaluteList(); // เรียกข้อมูลรายการปรัเมิน
@@ -163,6 +172,7 @@ onMounted(async () => {
รายการคำขอประเมิน
+
{
style="width: 35vw"
@update:model-value="fetchEvaluteList"
use-input
- @filter="(inputValue:any,doneFn:Function) => filterOption(inputValue, doneFn) "
+ @filter="(inputValue:string,doneFn:Function) => filterOption(inputValue, doneFn) "
>
@@ -280,7 +290,7 @@ onMounted(async () => {
{{ props.row.agency }}
- {{ col.value }}
+ {{ col.value ?? "-" }}