所有页面-创建中英双语对照-优化翻译文档结构

This commit is contained in:
2026-03-17 11:42:16 +08:00
parent 4a7397ce04
commit c790f74905
110 changed files with 1729 additions and 421 deletions

View File

@@ -300,9 +300,9 @@
...configSearch.value
},
columnsFactory: () => [
{ prop: 'id', label: 'table.columns.common.select', width: 80, align: 'center', useSlot: true },
{ prop: 'name', label: 'table.columns.system.configName', useHeaderSlot: true, width: 150 },
{ prop: 'code', label: 'table.columns.system.configKey', useHeaderSlot: true, width: 150 }
{ prop: 'id', label: 'page.table.select', width: 80, align: 'center', useSlot: true },
{ prop: 'name', label: 'page.table.configName', useHeaderSlot: true, width: 150 },
{ prop: 'code', label: 'page.table.configKey', useHeaderSlot: true, width: 150 }
]
}
})

View File

@@ -106,13 +106,13 @@
core: {
apiFn: api.list,
columnsFactory: () => [
{ prop: 'name', label: 'table.columns.system.deptName', minWidth: 200 },
{ prop: 'code', label: 'table.columns.system.deptCode', minWidth: 120 },
{ prop: 'leader.username', label: 'table.columns.system.leader', minWidth: 120 },
{ prop: 'name', label: 'page.table.deptName', minWidth: 200 },
{ prop: 'code', label: 'page.table.deptCode', minWidth: 120 },
{ prop: 'leader.username', label: 'page.table.leader', minWidth: 120 },
{ prop: 'remark', label: 'table.columns.common.description', minWidth: 150, showOverflowTooltip: true },
{ prop: 'sort', label: 'table.columns.common.sort', width: 100 },
{ prop: 'status', label: 'table.columns.common.status', saiType: 'dict', saiDict: 'data_status', width: 100 },
{ prop: 'create_time', label: 'table.columns.system.createDate', width: 180, sortable: true },
{ prop: 'sort', label: 'page.table.sort', width: 100 },
{ prop: 'status', label: 'page.table.status', saiType: 'dict', saiDict: 'data_status', width: 100 },
{ prop: 'create_time', label: 'page.table.createTime', width: 180, sortable: true },
{ prop: 'operation', label: 'table.actions.operation', width: 100, fixed: 'right', useSlot: true }
]
}

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.deptName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderDeptName')" clearable />
<el-form-item :label="$t('page.search.deptName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('page.search.placeholderDeptName')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.deptCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('table.searchBar.placeholderDeptCode')" clearable />
<el-form-item :label="$t('page.search.deptCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('page.search.placeholderDeptCode')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.common.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('table.searchBar.searchSelectPlaceholder')" clearable />
<el-form-item :label="$t('page.search.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('page.search.searchSelectPlaceholder')" clearable />
</el-form-item>
</el-col>
</sa-search-bar>

View File

@@ -129,10 +129,10 @@
apiFn: api.list,
columnsFactory: () => [
{ type: 'selection' },
{ prop: 'name', label: 'table.columns.system.menuName', minWidth: 150 },
{ prop: 'name', label: 'page.table.menuName', minWidth: 150 },
{
prop: 'type',
label: 'table.columns.system.menuType',
label: 'page.table.menuType',
align: 'center',
saiType: 'dict',
saiDict: 'menu_type',
@@ -140,17 +140,17 @@
},
{
prop: 'icon',
label: 'table.columns.system.icon',
label: 'page.table.icon',
align: 'center',
width: 80,
formatter: (row: any) => {
return h(ArtSvgIcon, { icon: row.icon })
}
},
{ prop: 'code', label: 'table.columns.system.component' },
{ prop: 'code', label: 'page.table.component' },
{
prop: 'path',
label: 'table.columns.system.route',
label: 'page.table.route',
formatter: (row: any) => {
if (row.type === 3) return ''
return row.path || ''
@@ -158,7 +158,7 @@
},
{
prop: 'slug',
label: 'table.columns.system.auth',
label: 'page.table.auth',
minWidth: 160,
formatter: (row: any) => {
if (row.type === 2) {
@@ -170,8 +170,8 @@
return ''
}
},
{ prop: 'sort', label: 'table.columns.common.sort', width: 100 },
{ prop: 'status', label: 'table.columns.common.status', saiType: 'dict', saiDict: 'data_status', width: 100 },
{ prop: 'sort', label: 'page.table.sort', width: 100 },
{ prop: 'status', label: 'page.table.status', saiType: 'dict', saiDict: 'data_status', width: 100 },
{ prop: 'operation', label: 'table.actions.operation', width: 140, fixed: 'right', useSlot: true }
]
}

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.menuName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderMenuName')" clearable />
<el-form-item :label="$t('page.search.menuName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('page.search.placeholderMenuName')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.route')" prop="path">
<el-input v-model="formData.path" :placeholder="$t('table.searchBar.placeholderMenuRoute')" clearable />
<el-form-item :label="$t('page.search.route')" prop="path">
<el-input v-model="formData.path" :placeholder="$t('page.search.placeholderMenuRoute')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.common.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('table.searchBar.searchSelectPlaceholder')" clearable />
<el-form-item :label="$t('page.search.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('page.search.searchSelectPlaceholder')" clearable />
</el-form-item>
</el-col>
</sa-search-bar>

View File

@@ -117,12 +117,12 @@
columnsFactory: () => [
{ type: 'selection' },
{ prop: 'id', label: 'table.columns.common.no', width: 100, align: 'center' },
{ prop: 'name', label: 'table.columns.system.postName', minWidth: 120 },
{ prop: 'code', label: 'table.columns.system.postCode', minWidth: 120 },
{ prop: 'name', label: 'page.table.postName', minWidth: 120 },
{ prop: 'code', label: 'page.table.postCode', minWidth: 120 },
{ prop: 'remark', label: 'table.columns.common.description', minWidth: 150, showOverflowTooltip: true },
{ prop: 'sort', label: 'table.columns.common.sort', width: 100 },
{ prop: 'status', label: 'table.columns.common.status', saiType: 'dict', saiDict: 'data_status', width: 100 },
{ prop: 'create_time', label: 'table.columns.system.createDate', width: 180, sortable: true },
{ prop: 'sort', label: 'page.table.sort', width: 100 },
{ prop: 'status', label: 'page.table.status', saiType: 'dict', saiDict: 'data_status', width: 100 },
{ prop: 'create_time', label: 'page.table.createTime', width: 180, sortable: true },
{ prop: 'operation', label: 'table.actions.operation', width: 100, fixed: 'right', useSlot: true }
]
}

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.postName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderPostName')" clearable />
<el-form-item :label="$t('page.search.postName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('page.search.placeholderPostName')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.postCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('table.searchBar.placeholderPostCode')" clearable />
<el-form-item :label="$t('page.search.postCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('page.search.placeholderPostCode')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.common.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('table.searchBar.searchSelectPlaceholder')" clearable />
<el-form-item :label="$t('page.search.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('page.search.searchSelectPlaceholder')" clearable />
</el-form-item>
</el-col>
</sa-search-bar>

View File

@@ -127,13 +127,13 @@
apiFn: api.list,
columnsFactory: () => [
{ prop: 'id', label: 'table.columns.common.no', minWidth: 60, align: 'center' },
{ prop: 'name', label: 'table.columns.system.roleName', minWidth: 120 },
{ prop: 'code', label: 'table.columns.system.roleCode', minWidth: 120 },
{ prop: 'level', label: 'table.columns.system.level', minWidth: 100, sortable: true },
{ prop: 'remark', label: 'table.columns.system.roleRemark', minWidth: 150, showOverflowTooltip: true },
{ prop: 'name', label: 'page.table.roleName', minWidth: 120 },
{ prop: 'code', label: 'page.table.roleCode', minWidth: 120 },
{ prop: 'level', label: 'page.table.level', minWidth: 100, sortable: true },
{ prop: 'remark', label: 'page.table.roleRemark', minWidth: 150, showOverflowTooltip: true },
{ prop: 'sort', label: 'table.columns.common.sort', minWidth: 100 },
{ prop: 'status', label: 'table.columns.common.status', saiType: 'dict', saiDict: 'data_status' },
{ prop: 'create_time', label: 'table.columns.system.createDate', width: 180, sortable: true },
{ prop: 'status', label: 'page.table.status', saiType: 'dict', saiDict: 'data_status' },
{ prop: 'create_time', label: 'page.table.createTime', width: 180, sortable: true },
{ prop: 'operation', label: 'table.actions.operation', width: 140, fixed: 'right', useSlot: true }
]
}

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.roleName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderRoleName')" clearable />
<el-form-item :label="$t('page.search.roleName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('page.search.placeholderRoleName')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.roleCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('table.searchBar.placeholderRoleCode')" clearable />
<el-form-item :label="$t('page.search.roleCode')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('page.search.placeholderRoleCode')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.common.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('table.searchBar.searchSelectPlaceholder')" clearable />
<el-form-item :label="$t('page.search.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('page.search.searchSelectPlaceholder')" clearable />
</el-form-item>
</el-col>
</sa-search-bar>

View File

@@ -183,24 +183,24 @@
{ type: 'index', width: 60, label: 'table.column.index' },
{
prop: 'avatar',
label: 'table.columns.system.username',
label: 'page.table.username',
minWidth: 200,
saiType: 'imageAndText',
saiFirst: 'username',
saiSecond: 'email'
},
{ prop: 'phone', label: 'table.columns.system.phone', width: 120 },
{ prop: 'phone', label: 'page.table.phone', width: 120 },
{
prop: 'dept_id',
label: 'table.columns.system.dept',
label: 'page.table.dept',
minWidth: 150,
sortable: true,
formatter: (row: any) => row.depts?.name ?? ''
},
{ prop: 'status', label: 'table.columns.common.status', width: 80, saiType: 'dict', saiDict: 'data_status' },
{ prop: 'agent_id', label: 'table.columns.system.agentId', width: 120, showOverflowTooltip: true },
{ prop: 'dashboard', label: 'table.columns.system.dashboard', width: 100, saiType: 'dict', saiDict: 'dashboard' },
{ prop: 'login_time', label: 'table.columns.system.loginTime', width: 170, sortable: true },
{ prop: 'status', label: 'page.table.status', width: 80, saiType: 'dict', saiDict: 'data_status' },
{ prop: 'agent_id', label: 'page.table.agentId', width: 120, showOverflowTooltip: true },
{ prop: 'dashboard', label: 'page.table.dashboard', width: 100, saiType: 'dict', saiDict: 'dashboard' },
{ prop: 'login_time', label: 'page.table.loginTime', width: 170, sortable: true },
{
prop: 'operation',
label: 'table.actions.operation',

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.username')" prop="username">
<el-input v-model="formData.username" :placeholder="$t('table.searchBar.placeholderUsername')" clearable />
<el-form-item :label="$t('page.search.username')" prop="username">
<el-input v-model="formData.username" :placeholder="$t('page.search.placeholderUsername')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.system.phone')" prop="phone">
<el-input v-model="formData.phone" :placeholder="$t('table.searchBar.placeholderPhone')" clearable />
<el-form-item :label="$t('page.search.phone')" prop="phone">
<el-input v-model="formData.phone" :placeholder="$t('page.search.placeholderPhone')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item :label="$t('table.columns.common.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('table.searchBar.searchSelectPlaceholder')" clearable />
<el-form-item :label="$t('page.search.status')" prop="status">
<sa-select v-model="formData.status" dict="data_status" :placeholder="$t('page.search.searchSelectPlaceholder')" clearable />
</el-form-item>
</el-col>
</sa-search-bar>