1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2026-02-04 07:53:11 +00:00

feat: 添加强制桌面模式设置,优化移动端显示逻辑

This commit is contained in:
Sunwuyuan 2025-12-14 15:24:53 +08:00
parent 0d91c8844a
commit 4244f84b34
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64
4 changed files with 22 additions and 7 deletions

View File

@ -215,6 +215,10 @@ export default {
type: String,
default: "button",
},
isMobile: {
type: Boolean,
default: false,
},
isEditingDisabled: {
type: Boolean,
default: false,
@ -229,11 +233,6 @@ export default {
},
},
emits: ["open-dialog", "open-attendance", "disabled-click"],
computed: {
isMobile() {
return this.$vuetify.display.mobile;
},
},
mounted() {
this.resizeObserver = new ResizeObserver(() => {
this.resizeAllGridItems();

View File

@ -28,6 +28,9 @@
<v-divider class="my-2"/>
<setting-item :setting-key="'display.showExamScheduleButton'"/>
<v-divider class="my-2"/>
<setting-item :setting-key="'display.forceDesktopMode'"/>
</v-list>
</settings-card>
</template>

View File

@ -141,6 +141,7 @@
:sorted-items="sortedItems"
:unused-subjects="unusedSubjects"
:empty-subject-display="emptySubjectDisplay"
:is-mobile="isMobile"
:is-editing-disabled="isEditingDisabled"
:content-style="state.contentStyle"
:highlighted-cards="highlightedCards"
@ -204,7 +205,7 @@
<!-- 出勤统计区域 -->
<attendance-sidebar
v-if="!mobile"
v-if="!isMobile"
:student-list="state.studentList"
:attendance="state.boardData.attendance"
:is-editing-disabled="isEditingDisabled"
@ -622,6 +623,11 @@ export default {
computed: {
isMobile() {
// UIfalse使UI
const forceDesktopMode = getSetting('display.forceDesktopMode');
if (forceDesktopMode) {
return false;
}
return this.mobile;
},
titleText() {
@ -651,7 +657,7 @@ export default {
const items = [];
//
if (this.mobile) {
if (this.isMobile) {
items.push({
key: 'attendance-card',
name: '出勤统计',

View File

@ -175,6 +175,13 @@ const settingsDefinitions = {
description: "是否显示快捷键盘",
icon: "mdi-dialpad",
},
"display.forceDesktopMode": {
type: "boolean",
default: false,
description: "强制使用一体机UI模式",
icon: "mdi-monitor",
// 启用后将不判断屏幕大小强制使用一体机桌面端UI布局
},
// 服务器设置(合并了数据提供者设置)
"server.domain": {
type: "string",