Publish apes-Authon-Web via gitea-publish skill

This commit is contained in:
gitea-publish
2026-08-09 11:46:38 +08:00
parent c762ddb01b
commit 10bea07624
348 changed files with 85177 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
<template>
<page-box title="个性化设置">
<el-form label-width="120px" style="max-width: 600px">
<el-form-item label="UI尺寸">
<el-radio-group v-model="form.uiSize">
<el-radio :label="1">最大</el-radio>
<el-radio :label="2">中等</el-radio>
<el-radio :label="3">最小</el-radio>
</el-radio-group>
<div style="color: #909399; font-size: 12px; line-height: 1.6; margin-top: 4px">
设置页面表单Tab 等组件的显示尺寸保存后立即生效
</div>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-check" :loading="saving" @click="handleSave">保存</el-button>
<el-button icon="el-icon-refresh-left" @click="loadData">重置</el-button>
</el-form-item>
</el-form>
</page-box>
</template>
<script>
import PageBox from '@/components/pageBox.vue'
import userPreferenceApi from '@/api/userPreference'
import { applyUiSize } from '@/utils/uiSizeUtil'
/**
* 用户个性化设置页面
* 当前仅包含 UI 尺寸配置项(1-最大 2-中等 3-最小),保存后更新到数据库,
* 并立即应用到全局 Element UI 尺寸,刷新当前页面使其完全生效
*/
export default {
components: { PageBox },
data() {
return {
saving: false,
form: {
uiSize: 2
}
}
},
created() {
this.loadData()
},
methods: {
// 加载当前用户的个性化配置
async loadData() {
const res = await userPreferenceApi.mine()
if (res.code === 1 && res.data) {
this.form.uiSize = res.data.uiSize || 2
}
},
// 保存个性化配置
async handleSave() {
this.saving = true
try {
const res = await userPreferenceApi.save({ uiSize: this.form.uiSize })
if (res.code === 1) {
// 立即应用新尺寸到全局,并刷新页面让所有组件按新尺寸渲染
applyUiSize(this.form.uiSize)
this.$message.success('保存成功,页面即将按新尺寸刷新')
setTimeout(() => {
location.reload()
}, 600)
} else {
this.$message.error(res.msg || '保存失败')
}
} finally {
this.saving = false
}
}
}
}
</script>