多语言优化

This commit is contained in:
2026-03-19 15:40:06 +08:00
parent db0e420a8f
commit 333e85f7d9
45 changed files with 864 additions and 276 deletions

View File

@@ -1,42 +1,40 @@
<template>
<el-dialog
v-model="visible"
:title="dialogType === 'add' ? '新增角色' : '编辑角色'"
:title="dialogType === 'add' ? $t('page.form.titleAdd') : $t('page.form.titleEdit')"
width="600px"
align-center
@close="handleClose"
>
<el-form ref="formRef" :model="formData" :rules="rules" label-width="120px">
<el-form-item label="角色名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入角色名称" />
<el-form-item :label="$t('page.form.labelName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('page.form.placeholderName')" />
</el-form-item>
<el-form-item label="角色标识" prop="code">
<el-input v-model="formData.code" placeholder="请输入角色编码" />
<el-form-item :label="$t('page.form.labelCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('page.form.placeholderCode')" />
</el-form-item>
<el-form-item label="角色级别" prop="level">
<el-input-number v-model="formData.level" placeholder="角色级别" :max="99" :min="1" />
<el-form-item :label="$t('page.form.labelLevel')" prop="level">
<el-input-number v-model="formData.level" :placeholder="$t('page.form.labelLevel')" :max="99" :min="1" />
</el-form-item>
<div class="text-xs text-gray-400 pl-32 pb-4"
>控制角色的权限层级, 不能操作职级高于自己的角色</div
>
<el-form-item label="描述" prop="remark">
<div class="text-xs text-gray-400 pl-32 pb-4">{{ $t('page.form.levelTip') }}</div>
<el-form-item :label="$t('page.form.labelRemark')" prop="remark">
<el-input
v-model="formData.remark"
type="textarea"
:rows="3"
placeholder="请输入角色描述"
:placeholder="$t('page.form.placeholderRemark')"
/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input-number v-model="formData.sort" placeholder="请输入排序" />
<el-form-item :label="$t('page.form.labelSort')" prop="sort">
<el-input-number v-model="formData.sort" :placeholder="$t('page.form.placeholderSort')" />
</el-form-item>
<el-form-item label="启用" prop="status">
<el-form-item :label="$t('page.form.labelStatus')" prop="status">
<sa-radio v-model="formData.status" dict="data_status" />
</el-form-item>
</el-form>
<template #footer>
<el-button @click="handleClose">取消</el-button>
<el-button type="primary" @click="handleSubmit">提交</el-button>
<el-button @click="handleClose">{{ $t('common.cancel') }}</el-button>
<el-button type="primary" @click="handleSubmit">{{ $t('table.form.submit') }}</el-button>
</template>
</el-dialog>
</template>
@@ -45,6 +43,7 @@
import api from '@/api/system/role'
import { ElMessage } from 'element-plus'
import type { FormInstance, FormRules } from 'element-plus'
import { useI18n } from 'vue-i18n'
interface Props {
modelValue: boolean
@@ -64,6 +63,7 @@
})
const emit = defineEmits<Emits>()
const { t } = useI18n()
const formRef = ref<FormInstance>()
@@ -78,11 +78,11 @@
/**
* 表单验证规则
*/
const rules = reactive<FormRules>({
name: [{ required: true, message: '请输入角色名称', trigger: 'blur' }],
code: [{ required: true, message: '请输入角色编码', trigger: 'blur' }],
level: [{ required: true, message: '请输入角色级别', trigger: 'blur' }]
})
const rules = computed<FormRules>(() => ({
name: [{ required: true, message: t('page.form.ruleNameRequired'), trigger: 'blur' }],
code: [{ required: true, message: t('page.form.ruleCodeRequired'), trigger: 'blur' }],
level: [{ required: true, message: t('page.form.ruleLevelRequired'), trigger: 'blur' }]
}))
/**
* 初始数据
@@ -157,10 +157,10 @@
await formRef.value.validate()
if (props.dialogType === 'add') {
await api.save(formData)
ElMessage.success('新增成功')
ElMessage.success(t('page.form.addSuccess'))
} else {
await api.update(formData)
ElMessage.success('修改成功')
ElMessage.success(t('page.form.editSuccess'))
}
emit('success')
handleClose()