feat: Implement detailed semester management components
This commit is contained in:
@@ -192,7 +192,7 @@
|
||||
class="detail-panel-wrapper"
|
||||
:class="{ 'is-active': !!selectedSemesterId, 'is-mobile': isMobile }"
|
||||
>
|
||||
<master-detail-semester-panel
|
||||
<DetailSidePanel
|
||||
v-model:detail-form="detailForm"
|
||||
:is-detail-editing="isDetailEditing"
|
||||
:is-mobile="isMobile"
|
||||
@@ -268,7 +268,7 @@
|
||||
:class="{ 'form-readonly': isFormReadonly }"
|
||||
@submit.prevent="requestSaveConfirmation"
|
||||
>
|
||||
<master-form-fields
|
||||
<MasterFileFormFields
|
||||
:departments="departments"
|
||||
:enroll-years="enrollYears"
|
||||
:field-errors="fieldErrors"
|
||||
@@ -284,7 +284,7 @@
|
||||
|
||||
<!-- 學期成績紀錄區塊 -->
|
||||
<!-- 說明:顯示該學生的所有學期紀錄,並提供新增與選取功能 -->
|
||||
<master-detail-semester-list
|
||||
<DetailNavigation
|
||||
:is-mobile="isMobile"
|
||||
:is-view-mode="isViewMode"
|
||||
:selected-semester-id="selectedSemesterId"
|
||||
@@ -424,9 +424,9 @@ import { computed, nextTick, ref, watch } from 'vue'
|
||||
import { useDisplay } from 'vuetify'
|
||||
|
||||
import ConfirmDialog from '@/components/maint/CommonConfirmDialog.vue'
|
||||
import MasterFormFields from '@/components/maint/MasterFormFields.vue'
|
||||
import MasterDetailSemesterList from '@/components/maint/master-detail/SemesterList.vue'
|
||||
import MasterDetailSemesterPanel from '@/components/maint/master-detail/SemesterPanel.vue'
|
||||
import DetailNavigation from '@/components/maint/master-detail/DetailNavigation.vue'
|
||||
import DetailSidePanel from '@/components/maint/master-detail/DetailSidePanel.vue'
|
||||
import MasterFileFormFields from '@/components/maint/MasterFileFormFields.vue'
|
||||
import MntDialogCard from '@/components/maint/MntDialogCard.vue'
|
||||
import MntRecordNavToolbar from '@/components/maint/MntRecordNavToolbar.vue'
|
||||
import PageMaint from '@/components/maint/PageMaint.vue'
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
@update:model-value="handleDialogVisibility"
|
||||
>
|
||||
<div class="dialog-panel" :class="{ 'is-mobile': isMobile }">
|
||||
<master-detail-b-semester-mobile-panel
|
||||
<DetailFullHeightPanel
|
||||
v-if="isMobile && activeMobilePanel === 'detail'"
|
||||
:is-form-locked="isFormLocked"
|
||||
:is-view-mode="isViewMode"
|
||||
@@ -267,7 +267,7 @@
|
||||
]"
|
||||
@submit.prevent="requestSaveConfirmation"
|
||||
>
|
||||
<master-form-fields
|
||||
<MasterFileFormFields
|
||||
:departments="departments"
|
||||
:enroll-years="enrollYears"
|
||||
:field-errors="fieldErrors"
|
||||
@@ -281,7 +281,7 @@
|
||||
|
||||
<v-divider />
|
||||
|
||||
<master-detail-b-semester-section
|
||||
<DetailCollapseGropus
|
||||
:is-form-locked="isFormLocked"
|
||||
:is-form-readonly="isFormReadonly"
|
||||
:is-mobile="isMobile"
|
||||
@@ -503,9 +503,9 @@ import { computed, nextTick, ref, watch } from 'vue'
|
||||
import { useDisplay } from 'vuetify'
|
||||
|
||||
import ConfirmDialog from '@/components/maint/CommonConfirmDialog.vue'
|
||||
import MasterFormFields from '@/components/maint/MasterFormFields.vue'
|
||||
import MasterDetailBSemesterMobilePanel from '@/components/maint/master-detail/SemesterMobilePanel.vue'
|
||||
import MasterDetailBSemesterSection from '@/components/maint/master-detail/SemesterSection.vue'
|
||||
import DetailCollapseGropus from '@/components/maint/master-detail/DetailCollapseGropus.vue'
|
||||
import DetailFullHeightPanel from '@/components/maint/master-detail/DetailFullHeightPanel.vue'
|
||||
import MasterFileFormFields from '@/components/maint/MasterFileFormFields.vue'
|
||||
import MntDialogCard from '@/components/maint/MntDialogCard.vue'
|
||||
import MntRecordNavToolbar from '@/components/maint/MntRecordNavToolbar.vue'
|
||||
import PageMaint from '@/components/maint/PageMaint.vue'
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
]"
|
||||
@submit.prevent="requestSaveConfirmation"
|
||||
>
|
||||
<master-form-fields
|
||||
<MasterFileFormFields
|
||||
:departments="departments"
|
||||
:enroll-years="enrollYears"
|
||||
:field-errors="fieldErrors"
|
||||
@@ -279,7 +279,7 @@
|
||||
/>
|
||||
|
||||
<v-divider />
|
||||
<master-detail-c-course-section
|
||||
<DetailSimpleList
|
||||
:is-form-locked="isFormLocked"
|
||||
:is-form-readonly="isFormReadonly"
|
||||
:is-mobile="isMobile"
|
||||
@@ -490,9 +490,9 @@ import { computed, nextTick, ref, watch } from 'vue'
|
||||
import { useDisplay } from 'vuetify'
|
||||
|
||||
import ConfirmDialog from '@/components/maint/CommonConfirmDialog.vue'
|
||||
import MasterFormFields from '@/components/maint/MasterFormFields.vue'
|
||||
import MasterDetailCCourseMobilePanel from '@/components/maint/master-detail/CourseMobilePanel.vue'
|
||||
import MasterDetailCCourseSection from '@/components/maint/master-detail/CourseSection.vue'
|
||||
import DetailSimpleList from '@/components/maint/master-detail/DetailSimpleList.vue'
|
||||
import MasterFileFormFields from '@/components/maint/MasterFileFormFields.vue'
|
||||
import MntDialogCard from '@/components/maint/MntDialogCard.vue'
|
||||
import MntRecordNavToolbar from '@/components/maint/MntRecordNavToolbar.vue'
|
||||
import PageMaint from '@/components/maint/PageMaint.vue'
|
||||
|
||||
Reference in New Issue
Block a user