diff --git a/app/pages/sections/[id].vue b/app/pages/sections/[id].vue index 848d861..06a92d3 100644 --- a/app/pages/sections/[id].vue +++ b/app/pages/sections/[id].vue @@ -977,7 +977,8 @@ const getSubjectLabel = (val, roomId = null, sectionIds = null) => { const extSubj = externalSubjects.value?.find(e => e.id_ext_subject === extId) const roomText = roomId ? ` [${rooms.value?.find(r => r.id_room == roomId)?.room_name || ''}]` : '' if (!extSubj) return `Unknown (ถูกลบ)${roomText}` - return `${extSubj.name_subject} [นอกสาขา]${roomText}` + const instructor = extSubj.instructor_name ? ` (${extSubj.instructor_name})` : '' + return `${extSubj.name_subject}${instructor} [นอกสาขา]${roomText}` } const subj = allSubjects.value?.find(s => s.id_subject == val) @@ -1002,7 +1003,12 @@ const getSubjectLabel = (val, roomId = null, sectionIds = null) => { if (r) roomName = r.room_name } - return `${subj.name_subject} ${sectionDisplay} ${roomName ? `[${roomName}]` : ''}` + let teacherName = '' + if (subj.first_name || subj.last_name) { + teacherName = ` (${[subj.prefix, subj.first_name, subj.last_name].filter(Boolean).join(' ').trim()})` + } + + return `${subj.name_subject}${teacherName} ${sectionDisplay} ${roomName ? `[${roomName}]` : ''}` } const clearSchedule = (noConfirm = false) => { diff --git a/server/api/Subjects/index.get.js b/server/api/Subjects/index.get.js index 9900b69..d6f1185 100644 --- a/server/api/Subjects/index.get.js +++ b/server/api/Subjects/index.get.js @@ -8,6 +8,7 @@ export default defineEventHandler((event) => { let subjects let baseQuery = ` SELECT s.*, + t.prefix, t.first_name, t.last_name, ( SELECT GROUP_CONCAT(sec.section_name, ', ') FROM SubjectSections ss @@ -22,6 +23,7 @@ export default defineEventHandler((event) => { WHERE ss.id_subject = s.id_subject ) as sections_json FROM Subjects s + LEFT JOIN teachers t ON s.id_teacher = t.id_teacher ` let whereClauses = [] diff --git a/server/data/data.db b/server/data/data.db index a2bd5af..e452b68 100644 Binary files a/server/data/data.db and b/server/data/data.db differ