opt:越南富佳国际化

This commit is contained in:
2025-11-03 16:29:49 +08:00
parent 5809110e4b
commit 8086fef673
64 changed files with 5139 additions and 3239 deletions

View File

@@ -39,15 +39,15 @@
:width="computedLabelWidth"
>
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" :label-width="computedFormLabelWidth">
<el-form-item :label="$t('menu.dialog.menu_type')" prop="type">
<el-form-item :label="$t('menu.menu_type')" prop="type">
<el-radio-group v-model="form.type" size="mini">
<el-radio-button label="1">{{ $t('menu.dialog.system') }}</el-radio-button>
<el-radio-button label="2">{{ $t('menu.dialog.catalogue') }}</el-radio-button>
<el-radio-button label="3">{{ $t('menu.dialog.menu') }}</el-radio-button>
<el-radio-button label="4">{{ $t('menu.dialog.button') }}</el-radio-button>
<el-radio-button label="1">{{ $t('menu.system') }}</el-radio-button>
<el-radio-button label="2">{{ $t('menu.catalogue') }}</el-radio-button>
<el-radio-button label="3">{{ $t('menu.menu') }}</el-radio-button>
<el-radio-button label="4">{{ $t('menu.button') }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item v-show="form.type.toString() !== '1' && form.type.toString() !== '4' " :label="$t('menu.dialog.menu_icon')" prop="icon">
<el-form-item v-show="form.type.toString() !== '1' && form.type.toString() !== '4' " :label="$t('menu.menu_icon')" prop="icon">
<el-popover
placement="bottom-start"
width="450"
@@ -67,62 +67,69 @@
</el-input>
</el-popover>
</el-form-item>
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" :label="$t('menu.dialog.menu_chain')" prop="iframe">
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" :label="$t('menu.menu_chain')" prop="iframe">
<el-radio-group v-model="form.iframe" size="mini">
<el-radio-button label="true">{{ $t('common.Yes') }}</el-radio-button>
<el-radio-button label="false">{{ $t('common.No') }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item v-show="form.type.toString() === '2'" :label="$t('menu.dialog.menu_cache')" prop="cache">
<el-form-item v-show="form.type.toString() === '2'" :label="$t('menu.menu_cache')" prop="cache">
<el-radio-group v-model="form.cache" size="mini">
<el-radio-button label="true">{{ $t('common.Yes') }}</el-radio-button>
<el-radio-button label="false">{{ $t('common.No') }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " :label="$t('menu.dialog.menu_visible')" prop="hidden">
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " :label="$t('menu.menu_visible')" prop="hidden">
<el-radio-group v-model="form.hidden" size="mini">
<el-radio-button label="false">{{ $t('common.Yes') }}</el-radio-button>
<el-radio-button label="true">{{ $t('common.No') }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.default_title')" prop="title">
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.default_title')" prop="title">
<el-input
v-model="form.title"
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
:placeholder="$t('menu.dialog.default_title')"
:placeholder="$t('menu.default_title')"
/>
</el-form-item>
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.zh_title')" prop="zh_title">
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.zh_title')" prop="zh_title">
<el-input
v-model="form.zh_title"
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
:placeholder="$t('menu.dialog.zh_title')"
:placeholder="$t('menu.zh_title')"
/>
</el-form-item>
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.en_title')" prop="en_title">
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.vi_title')" prop="vi_title">
<el-input
v-model="form.vi_title"
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
:placeholder="$t('menu.vi_title')"
/>
</el-form-item>
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.en_title')" prop="en_title">
<el-input
v-model="form.en_title"
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
:placeholder="$t('menu.dialog.en_title')"
:placeholder="$t('menu.en_title')"
/>
</el-form-item>
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.id_title')" prop="in_title">
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.id_title')" prop="in_title">
<el-input
v-model="form.in_title"
:style=" form.type.toString() === '0' ? 'width: 450px' : 'width: 190px'"
:placeholder="$t('menu.dialog.id_title')"
:placeholder="$t('menu.id_title')"
/>
</el-form-item>
<el-form-item v-if="form.type.toString() === '2'" :label="$t('menu.dialog.button_name')" prop="title">
<el-input v-model="form.title" :placeholder="$t('menu.dialog.button_name')" style="width: 190px;" />
<el-form-item v-if="form.type.toString() === '2'" :label="$t('menu.button_name')" prop="title">
<el-input v-model="form.title" :placeholder="$t('menu.button_name')" style="width: 190px;" />
</el-form-item>
<el-form-item v-show="form.type.toString() !== '1' " :label="$t('menu.table.permission_ident')" prop="permission">
<el-input v-model="form.permission" :disabled="form.iframe" :placeholder="$t('menu.table.permission_ident')" style="width: 190px;" />
</el-form-item>
<el-form-item v-if="form.type.toString() !== '1' && form.type.toString() !== '2'" :label="$t('menu.dialog.router_path')" prop="path">
<el-input v-model="form.path" :placeholder="$t('menu.dialog.router_path')" style="width: 190px;" />
<el-form-item v-if="form.type.toString() !== '1' && form.type.toString() !== '2'" :label="$t('menu.router_path')" prop="path">
<el-input v-model="form.path" :placeholder="$t('menu.router_path')" style="width: 190px;" />
</el-form-item>
<el-form-item :label="$t('menu.dialog.menu_sort')" prop="menu_sort">
<el-form-item :label="$t('menu.menu_sort')" prop="menu_sort">
<el-input-number
v-model.number="form.menu_sort"
:min="0"
@@ -131,13 +138,13 @@
style="width: 190px;"
/>
</el-form-item>
<el-form-item v-show="!form.iframe && form.type.toString() === '3' " :label="$t('menu.dialog.component_name')" prop="component_name">
<el-form-item v-show="!form.iframe && form.type.toString() === '3' " :label="$t('menu.component_name')" prop="component_name">
<el-input v-model="form.component_name" style="width: 190px;" :placeholder="$t('menu.placeholder.component_tip')" />
</el-form-item>
<el-form-item v-show="!form.iframe && (form.type.toString() === '2' ||form.type.toString() === '3' ) " :label="$t('menu.dialog.component_path')" prop="component">
<el-input v-model="form.component" style="width: 190px;" :placeholder="$t('menu.dialog.component_path')" />
<el-form-item v-show="!form.iframe && (form.type.toString() === '2' ||form.type.toString() === '3' ) " :label="$t('menu.component_path')" prop="component">
<el-input v-model="form.component" style="width: 190px;" :placeholder="$t('menu.component_path')" />
</el-form-item>
<el-form-item :label="$t('menu.dialog.superior_class')" prop="pid">
<el-form-item :label="$t('menu.superior_class')" prop="pid">
<!-- normalizer转换- loadMenus 点击扩展的时候会调用该方法-->
<treeselect
v-model="form.pid"
@@ -247,6 +254,7 @@ const defaultForm = {
en_title: null,
in_title: null,
zh_title: null,
vi_title: null,
menu_sort: 999,
path: null,
system_type: null,
@@ -293,6 +301,9 @@ export default {
in_title: [
{ required: true, message: '请输入标题', trigger: 'blur' }
],
vi_title: [
{ required: true, message: '请输入标题', trigger: 'blur' }
],
path: [
{ required: true, message: '请输入地址', trigger: 'blur' }
]

View File

@@ -68,6 +68,7 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import i18n from '@/i18n'
const defaultForm = {
id: null,
@@ -102,16 +103,16 @@ export default {
rules: {
id: [
{ required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' }
{ required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' }
],
code: [
{ required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' }
{ required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' }
],
name: [
{ required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' }
{ required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' }
],
value: [
{ required: true, message: this.$t('SysParam.rules.NotNull'), trigger: 'blur' }
{ required: true, message: i18n.t('SysParam.rules.NotNull'), trigger: 'blur' }
]
}
}

View File

@@ -119,6 +119,8 @@ import { parseTime } from '@/utils/index'
import crud from '@/mixins/crud'
import { editUser } from '@/views/system/user/user'
import Avatar from '@/assets/images/avatar.png'
import i18n from '@/i18n'
export default {
name: 'Center',
components: { updatePass, updateEmail, myUpload },
@@ -127,9 +129,9 @@ export default {
// 自定义验证
const validPhone = (rule, value, callback) => {
if (!value) {
callback(new Error(this.$t('common.Tip5')))
callback(new Error(i18n.t('common.Tip5')))
} else if (!isvalidPhone(value)) {
callback(new Error(this.$t('common.Tip6')))
callback(new Error(i18n.t('common.Tip6')))
} else {
callback()
}

View File

@@ -29,7 +29,7 @@ export default {
const confirmPass = (rule, value, callback) => {
if (value) {
if (this.form.newPass !== value) {
callback(new Error(this.$t('common.Tip8')))
callback(new Error(i18n.t('common.Tip8')))
} else {
callback()
}