Publish apes-Authon-Web via gitea-publish skill
This commit is contained in:
@@ -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>
|
||||
Reference in New Issue
Block a user