update 菜单国际化
Este cometimento está contido em:
ascendente
e020c1e174
cometimento
2d557c8196
@ -5,7 +5,7 @@ $base--line-height: 1.15;
|
||||
$navbar--height: 50px;
|
||||
|
||||
// Sidebar
|
||||
$sidebar--width: 230px;
|
||||
$sidebar--width: 300px;
|
||||
$sidebar--width-fold: 64px;
|
||||
$sidebar--background-color-dark: #263238;
|
||||
$sidebar--text-color-dark: #8a979e;
|
||||
|
@ -103,6 +103,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CKEditor from 'ckeditor4-vue'
|
||||
import AttrForm from '../AttrForm'
|
||||
import { pick } from 'lodash/object'
|
||||
import i18n from '@/i18n'
|
||||
@ -205,6 +206,11 @@ export default {
|
||||
return Math.ceil(this.configs.fields.length / COLUMN_PER_ROW)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
/** load lang */
|
||||
// CKEditor.load()
|
||||
// console.log('lang', CKEditor.component.props.config.defaultLanguage = 'en' )
|
||||
},
|
||||
mounted() {
|
||||
/** 计算 defaultPlaceholders */
|
||||
const prefix = i18n.t('hints.input')
|
||||
|
@ -7,6 +7,53 @@ t.brand = {}
|
||||
t.brand.lg = 'Monitoring System'
|
||||
t.brand.mini = 'PMS'
|
||||
|
||||
t.routes = {}
|
||||
t.routes['产品池'] = 'Products Pool'
|
||||
t.routes['基本资料'] = 'Basic Data'
|
||||
t.routes['设备数采'] = 'Equipment PLC'
|
||||
t.routes['厂务管理'] = 'Factory Management'
|
||||
t.routes['报表管理'] = 'Report Management'
|
||||
t.routes['质量管理'] = 'Quality Management'
|
||||
t.routes['权限管理'] = 'Permission Management'
|
||||
t.routes['系统设置'] = 'System Settings'
|
||||
t.routes['日志管理'] = 'Log Management'
|
||||
|
||||
// 二级
|
||||
t.routes['厂务'] = 'Factory Affair'
|
||||
t.routes['设备'] = 'Equipment'
|
||||
t.routes['字典管理'] = 'Dict Management'
|
||||
t.routes['PLC信息'] = 'PLC'
|
||||
t.routes['设备与PLC关联配置'] = 'Relations between plc & equipments'
|
||||
t.routes['设备生产实时数据'] = 'Realtime Equipment Data'
|
||||
t.routes['产线生产实时数据'] = 'Realtime Productline Data'
|
||||
t.routes['质量检查实时数据'] = 'Realtime Quality Inspection Data'
|
||||
t.routes['报表总览'] = 'Report Overview'
|
||||
t.routes['报表分类'] = 'Report Types'
|
||||
t.routes['报表详情'] = 'Report Detail'
|
||||
t.routes['质量检测基础数据'] = 'Quality Inspection Basic Data'
|
||||
t.routes['当前检测数据'] = 'Current Inspection Data'
|
||||
t.routes['质量检查信息记录'] = 'Quality Inspection Records'
|
||||
t.routes['用户管理'] = 'User Management'
|
||||
t.routes['部门管理'] = 'Department Management'
|
||||
t.routes['角色管理'] = 'Role Management'
|
||||
t.routes['菜单管理'] = 'Menu Management'
|
||||
t.routes['参数管理'] = 'Params Management'
|
||||
t.routes['定时任务'] = 'Timed Tasks'
|
||||
t.routes['文件上传'] = 'File Upload'
|
||||
t.routes['登录日志'] = 'Login Records'
|
||||
t.routes['操作日志'] = 'Oprations Records'
|
||||
|
||||
// 三级
|
||||
t.routes['工厂'] = 'Factory'
|
||||
t.routes['产线'] = 'Product Lines'
|
||||
t.routes['工段'] = 'Work Sections'
|
||||
t.routes['设备类型'] = 'Equipment Types'
|
||||
t.routes['设备分组'] = 'Equipment Groups'
|
||||
t.routes['设备信息'] = 'Equipment Details'
|
||||
t.routes['质量检测类型'] = 'Quality Inpection Types'
|
||||
t.routes['质量检测信息'] = 'Quality Inpection Details'
|
||||
|
||||
|
||||
t.save = 'Save'
|
||||
t.add = 'Add'
|
||||
t.delete = 'Delete'
|
||||
@ -307,13 +354,13 @@ t.login.demo = 'Demo'
|
||||
t.login.copyright = 'Copyright @Intelligent Automation Research Institute Co., Ltd Version: 1.0'
|
||||
|
||||
t.schedule = {}
|
||||
t.schedule.beanName = 'bean名称'
|
||||
t.schedule.beanNameTips = 'spring bean名称, 如: testTask'
|
||||
t.schedule.beanName = 'Bean Name'
|
||||
t.schedule.beanNameTips = 'spring bean name, eg: testTask'
|
||||
t.schedule.pauseBatch = 'Pause'
|
||||
t.schedule.resumeBatch = 'Resume'
|
||||
t.schedule.runBatch = 'Run'
|
||||
t.schedule.log = '日志列表'
|
||||
t.schedule.params = '参数'
|
||||
t.schedule.log = 'Log List'
|
||||
t.schedule.params = 'Parameters'
|
||||
t.schedule.cronExpression = 'cron expression'
|
||||
t.schedule.cronExpressionTips = 'ex: 0 0 12 * * ?'
|
||||
t.schedule.remark = 'Remark'
|
||||
@ -327,7 +374,7 @@ t.schedule.resume = 'Resume'
|
||||
t.schedule.run = 'Excute'
|
||||
t.schedule.jobId = 'Job ID'
|
||||
t.schedule.times = 'Time Cost (ms)'
|
||||
t.schedule.createDate = '执行时间'
|
||||
t.schedule.createDate = 'Executed Tune' // ?
|
||||
|
||||
t.oss = {}
|
||||
t.oss.config = '云存储配置'
|
||||
@ -469,16 +516,16 @@ t.role = {}
|
||||
t.role.name = 'Role Name'
|
||||
t.role.remark = 'Remark'
|
||||
t.role.createDate = 'Create Time'
|
||||
t.role.menuList = '菜单授权'
|
||||
t.role.deptList = '数据授权'
|
||||
t.role.menuList = 'Menu authorization' // ?
|
||||
t.role.deptList = 'Data authorization' // ?
|
||||
|
||||
t.user = {}
|
||||
t.user.username = 'User Name'
|
||||
t.user.deptName = '所属部门'
|
||||
t.user.deptName = 'Department'
|
||||
t.user.email = 'Email'
|
||||
t.user.mobile = 'Phone'
|
||||
t.user.status = 'Status'
|
||||
t.user.status0 = '停用'
|
||||
t.user.status0 = 'Pause' // ?
|
||||
t.user.status1 = 'Normal'
|
||||
t.user.createDate = 'Create Time'
|
||||
t.user.password = 'Password'
|
||||
|
@ -7,14 +7,57 @@ t.brand = {}
|
||||
t.brand.lg = '生产监控系统'
|
||||
t.brand.mini = '监控'
|
||||
|
||||
// 1 代表 '' 号的替换完成
|
||||
// 2 代表 "" 号的替换完成
|
||||
// 3 代表不带引号,或 {{ }} 的替换,这三种替换需按顺序执行
|
||||
// ? 代表需要单独review
|
||||
// 基本上完成了template模板里的替换工作
|
||||
t.routes = {}
|
||||
// 一级
|
||||
t.routes['产品池'] = '产品池'
|
||||
t.routes['基本资料'] = '基本资料'
|
||||
t.routes['设备数采'] = '设备数采'
|
||||
t.routes['厂务管理'] = '厂务管理'
|
||||
t.routes['报表管理'] = '报表管理'
|
||||
t.routes['质量管理'] = '质量管理'
|
||||
t.routes['权限管理'] = '权限管理'
|
||||
t.routes['系统设置'] = '系统设置'
|
||||
t.routes['日志管理'] = '日志管理'
|
||||
|
||||
// 二级
|
||||
t.routes['厂务'] = '厂务'
|
||||
t.routes['设备'] = '设备'
|
||||
t.routes['字典管理'] = '字典管理'
|
||||
t.routes['PLC信息'] = 'PLC信息'
|
||||
t.routes['设备与PLC关联配置'] = '设备与PLC关联配置' // ?
|
||||
t.routes['设备生产实时数据'] = '设备生产实时数据'
|
||||
t.routes['产线生产实时数据'] = '产线生产实时数据'
|
||||
t.routes['质量检查实时数据'] = '质量检查实时数据'
|
||||
t.routes['报表总览'] = '报表总览'
|
||||
t.routes['报表分类'] = '报表分类'
|
||||
t.routes['报表详情'] = '报表详情'
|
||||
t.routes['质量检测基础数据'] = '质量检测基础数据'
|
||||
t.routes['当前检测数据'] = '当前检测数据'
|
||||
t.routes['质量检查信息记录'] = '质量检查信息记录'
|
||||
t.routes['用户管理'] = '用户管理'
|
||||
t.routes['部门管理'] = '部门管理'
|
||||
t.routes['角色管理'] = '角色管理'
|
||||
t.routes['菜单管理'] = '菜单管理'
|
||||
t.routes['参数管理'] = '参数管理'
|
||||
t.routes['定时任务'] = '定时任务'
|
||||
t.routes['文件上传'] = '文件上传'
|
||||
t.routes['登录日志'] = '登录日志'
|
||||
t.routes['操作日志'] = '操作日志'
|
||||
|
||||
// 三级
|
||||
t.routes['工厂'] = '工厂'
|
||||
t.routes['产线'] = '产线'
|
||||
t.routes['工段'] = '工段'
|
||||
t.routes['设备类型'] = '设备类型'
|
||||
t.routes['设备分组'] = '设备分组'
|
||||
t.routes['设备信息'] = '设备信息'
|
||||
t.routes['质量检测类型'] = '质量检测类型'
|
||||
t.routes['质量检测信息'] = '质量检测信息'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 对比 v2, v3 的结果,补充此文件和 en.js 文件
|
||||
// 然后替换vue文件的内容
|
||||
t.save = '保存'
|
||||
t.add = '新增' // 1
|
||||
t.delete = '删除' // 1
|
||||
|
@ -3,6 +3,7 @@ import Router from 'vue-router'
|
||||
import http from '@/utils/request'
|
||||
import { isURL } from '@/utils/validate'
|
||||
import Cookies from 'js-cookie'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
@ -104,6 +105,13 @@ router.beforeEach((to, from, next) => {
|
||||
http.get(http.adornUrl('/sys/menu/nav')).then(({ data: res }) => {
|
||||
/** axios 的拦截器已经拦截出错情况,此处只考虑正确情况即可 */
|
||||
window.SITE_CONFIG['menuList'] = res.data
|
||||
// .map(item => {
|
||||
// if (item.name === '产品池') {
|
||||
// console.log('Got you')
|
||||
// item.name =
|
||||
// }
|
||||
// return item
|
||||
// })
|
||||
fnAddDynamicMenuRoutes(window.SITE_CONFIG['menuList'])
|
||||
next({ ...to, replace: true })
|
||||
}).catch((err) => {
|
||||
@ -139,6 +147,8 @@ function fnAddDynamicMenuRoutes(menuList = [], routes = []) {
|
||||
|
||||
for (var i = 0; i < menuList.length; i++) {
|
||||
if (menuList[i].children && menuList[i].children.length >= 1) {
|
||||
// 菜单的国际化
|
||||
menuList[i].name = i18n.t(`routes["${menuList[i].name}"]`)
|
||||
temp = temp.concat(menuList[i].children)
|
||||
continue
|
||||
}
|
||||
@ -150,9 +160,15 @@ function fnAddDynamicMenuRoutes(menuList = [], routes = []) {
|
||||
meta: {
|
||||
...window.SITE_CONFIG['contentTabDefault'],
|
||||
menuId: menuList[i].id,
|
||||
title: menuList[i].name
|
||||
// 菜单的国际化
|
||||
title: i18n.t(`routes["${menuList[i].name}"]`)
|
||||
}
|
||||
}
|
||||
|
||||
// 菜单的国际化
|
||||
menuList[i].name = i18n.t(`routes["${menuList[i].name}"]`)
|
||||
|
||||
console.log('route ===', route.meta.title)
|
||||
// eslint-disable-next-line
|
||||
let URL = (menuList[i].url || '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量
|
||||
if (isURL(URL)) {
|
||||
|
@ -36,6 +36,7 @@ import TableTextComponent from '@/components/base-table/components/detailCompone
|
||||
import CKEditor from 'ckeditor4-vue'
|
||||
import { calcMaxHeight } from '@/utils'
|
||||
import { timeFilter } from '@/utils/filters'
|
||||
import Cookies from 'js-cookie'
|
||||
|
||||
const tableConfigs = [
|
||||
{
|
||||
@ -170,10 +171,11 @@ const addOrUpdateConfigs = {
|
||||
fieldType: 'string',
|
||||
component: CKEditor.component,
|
||||
props: {
|
||||
value: 'tests',
|
||||
// value: 'tests',
|
||||
config: {
|
||||
// ckeditor 的配置: https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html
|
||||
// toolbar: [['Bold']]
|
||||
language: Cookies.get('language') || 'en'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
Carregando…
Criar uma nova questão referindo esta
Bloquear um utilizador