กรรมการและการประชุม

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-12-22 17:36:09 +07:00
parent 95714e5ac2
commit ba874d1d02
2 changed files with 29 additions and 10 deletions

View file

@ -7,6 +7,9 @@ const props = defineProps({
type: { type: {
type: String, type: String,
}, },
row: {
type: Object,
},
}); });
const columnsDrictor = ref<QTableProps["columns"]>([ const columnsDrictor = ref<QTableProps["columns"]>([
@ -20,11 +23,11 @@ const columnsDrictor = ref<QTableProps["columns"]>([
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "name", name: "fullName",
align: "left", align: "left",
label: "ชื่อ - นามสกุล", label: "ชื่อ - นามสกุล",
sortable: true, sortable: true,
field: "name", field: "fullName",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
@ -85,21 +88,21 @@ const columnsMeeting = ref<QTableProps["columns"]>([
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "results", name: "result",
align: "left", align: "left",
label: "ผลการพิจารณาของคณะกรรมการประเมินผลงานแต่ละคณะ", label: "ผลการพิจารณาของคณะกรรมการประเมินผลงานแต่ละคณะ",
sortable: true, sortable: true,
field: "results", field: "result",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "timePeriod", name: "duration",
align: "left", align: "left",
label: "ระยะเวลาในการแก้ไขผลงาน", label: "ระยะเวลาในการแก้ไขผลงาน",
sortable: true, sortable: true,
field: "timePeriod", field: "duration",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
@ -119,6 +122,7 @@ onMounted(() => {
bordered bordered
class="custom-header-table" class="custom-header-table"
:columns="columns" :columns="columns"
:rows="props.row"
dense dense
:rows-per-page-options="[10, 25, 50, 100]" :rows-per-page-options="[10, 25, 50, 100]"
> >

View file

@ -13,7 +13,7 @@ import { useCounterMixin } from "@/stores/mixin";
const $q = useQuasar(); const $q = useQuasar();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const { showLoader, hideLoader, messageError, success } = mixin; const { showLoader, hideLoader, messageError, success, date2Thai } = mixin;
const props = defineProps({ const props = defineProps({
evaluateId: { evaluateId: {
@ -71,7 +71,22 @@ async function fetchDirector() {
props.evaluateId && props.evaluateId &&
(await http (await http
.get(config.API.evaluationDirectorMeetring(props.evaluateId)) .get(config.API.evaluationDirectorMeetring(props.evaluateId))
.then((res) => {}) .then((res) => {
const directors = res.data.result.directors;
const meetings = res.data.result.meetings;
directorList.value = directors.map((e: any) => ({
fullName: `${e.prefix}${e.firstName} ${e.lastName}`,
position: e.position ?? "-",
email: e.email ?? "-",
phone: e.phone ?? "-",
}));
meetingList.value = meetings.map((e: any) => ({
fullName: `${e.Prefix}${e.FirstName} ${e.LastName}`,
dateMeeting: `${date2Thai(e.dateStart)} - ${date2Thai(e.dateEnd)}`,
result: e.result ?? "-",
duration: e.duration ?? "-",
}));
})
.catch((err) => {}) .catch((err) => {})
.finally(() => { .finally(() => {
hideLoader(); hideLoader();
@ -161,11 +176,11 @@ onMounted(async () => {
<q-separator /> <q-separator />
<q-tab-panels v-model="tabMenu" animated> <q-tab-panels v-model="tabMenu" animated>
<q-tab-panel name="director" <q-tab-panel name="director"
><TableDirector :type="tabMenu" ><TableDirector :type="tabMenu" :row="directorList"
/></q-tab-panel> /></q-tab-panel>
<q-tab-panel name="meeting"> <q-tab-panel name="meeting">
<TableDirector :type="tabMenu" <TableDirector :type="tabMenu" :row="meetingList"
/></q-tab-panel> /></q-tab-panel>
</q-tab-panels> </q-tab-panels>
</q-card> </q-card>