Skip to content

Commit 4244f84

Browse files
committed
feat: 添加强制桌面模式设置,优化移动端显示逻辑
1 parent 0d91c88 commit 4244f84

File tree

4 files changed

+22
-7
lines changed

4 files changed

+22
-7
lines changed

src/components/home/HomeworkGrid.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,10 @@ export default {
215215
type: String,
216216
default: "button",
217217
},
218+
isMobile: {
219+
type: Boolean,
220+
default: false,
221+
},
218222
isEditingDisabled: {
219223
type: Boolean,
220224
default: false,
@@ -229,11 +233,6 @@ export default {
229233
},
230234
},
231235
emits: ["open-dialog", "open-attendance", "disabled-click"],
232-
computed: {
233-
isMobile() {
234-
return this.$vuetify.display.mobile;
235-
},
236-
},
237236
mounted() {
238237
this.resizeObserver = new ResizeObserver(() => {
239238
this.resizeAllGridItems();

src/components/settings/cards/DisplaySettingsCard.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
<v-divider class="my-2"/>
2929
<setting-item :setting-key="'display.showExamScheduleButton'"/>
3030

31+
<v-divider class="my-2"/>
32+
<setting-item :setting-key="'display.forceDesktopMode'"/>
33+
3134
</v-list>
3235
</settings-card>
3336
</template>

src/pages/index.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@
141141
:sorted-items="sortedItems"
142142
:unused-subjects="unusedSubjects"
143143
:empty-subject-display="emptySubjectDisplay"
144+
:is-mobile="isMobile"
144145
:is-editing-disabled="isEditingDisabled"
145146
:content-style="state.contentStyle"
146147
:highlighted-cards="highlightedCards"
@@ -204,7 +205,7 @@
204205

205206
<!-- 出勤统计区域 -->
206207
<attendance-sidebar
207-
v-if="!mobile"
208+
v-if="!isMobile"
208209
:student-list="state.studentList"
209210
:attendance="state.boardData.attendance"
210211
:is-editing-disabled="isEditingDisabled"
@@ -622,6 +623,11 @@ export default {
622623
623624
computed: {
624625
isMobile() {
626+
// 如果启用了强制一体机UI模式,返回false(使用桌面UI)
627+
const forceDesktopMode = getSetting('display.forceDesktopMode');
628+
if (forceDesktopMode) {
629+
return false;
630+
}
625631
return this.mobile;
626632
},
627633
titleText() {
@@ -651,7 +657,7 @@ export default {
651657
const items = [];
652658
653659
// 如果是移动端,添加出勤卡片
654-
if (this.mobile) {
660+
if (this.isMobile) {
655661
items.push({
656662
key: 'attendance-card',
657663
name: '出勤统计',

src/utils/settings.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,13 @@ const settingsDefinitions = {
175175
description: "是否显示快捷键盘",
176176
icon: "mdi-dialpad",
177177
},
178+
"display.forceDesktopMode": {
179+
type: "boolean",
180+
default: false,
181+
description: "强制使用一体机UI模式",
182+
icon: "mdi-monitor",
183+
// 启用后将不判断屏幕大小,强制使用一体机(桌面端)UI布局
184+
},
178185
// 服务器设置(合并了数据提供者设置)
179186
"server.domain": {
180187
type: "string",

0 commit comments

Comments
 (0)