feat: 新增模块首页、国际化适配与菜单重载功能
1. 为菜单数据新增remark字段并设置默认值 2. 全量替换硬编码文本为国际化多语言支持 3. 新增生产配置模块首页组件与路由 4. 新增菜单重载action,支持语言切换后重载菜单 5. 补充简体中文、英文、日文、繁体中文语言包
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
<p
|
||||
class="d2-module-index-menu-group--title"
|
||||
:class="titleClassName">
|
||||
{{menu.title}}
|
||||
{{ $t(menu.title) }}
|
||||
</p>
|
||||
<template v-for="(item, index) in menu.children">
|
||||
<d2-module-index-menu-group
|
||||
@@ -27,7 +27,7 @@
|
||||
<p
|
||||
class="d2-module-index-menu-group--title"
|
||||
:class="titleClassName">
|
||||
{{menu.title}}
|
||||
{{ $t(menu.title) }}
|
||||
</p>
|
||||
<d2-module-index-menu-item :menu="menu"/>
|
||||
</template>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<el-button
|
||||
class="d2-module-index-menu-item"
|
||||
@click="handleMenuSelect(menu.path)">
|
||||
{{menu.title}}
|
||||
{{ $t(menu.title) }}
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-tooltip effect="dark" :content="active ? '退出全屏' : '全屏'" placement="bottom">
|
||||
<el-tooltip effect="dark" :content="active ? $t('page.layout.fullscreen.exit') : $t('page.layout.fullscreen.enter')" placement="bottom">
|
||||
<el-button class="d2-mr btn-text can-hover" type="text" @click="toggle">
|
||||
<d2-icon v-if="active" name="compress"/>
|
||||
<d2-icon v-else name="arrows-alt" style="font-size: 16px"/>
|
||||
|
||||
@@ -19,10 +19,8 @@ export default {
|
||||
}),
|
||||
tooltipContent () {
|
||||
return this.logLength === 0
|
||||
? '没有日志或异常'
|
||||
: `${this.logLength} 条日志${this.logLengthError > 0
|
||||
? ` | 包含 ${this.logLengthError} 个异常`
|
||||
: ''}`
|
||||
? this.$t('page.layout.log.no_log')
|
||||
: this.$t('page.layout.log.tooltip', { count: this.logLength, error: this.logLengthError })
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<d2-icon name="font" style="font-size: 16px;"/>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item in options" :key="item.value" :command="item.value">
|
||||
<el-dropdown-item v-for="item in sizeOptions" :key="item.value" :command="item.value">
|
||||
<d2-icon :name="iconName(item.value)" class="d2-mr-5"/>{{item.label}}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
@@ -12,37 +12,32 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState, mapMutations, mapActions } from 'vuex'
|
||||
import { mapState, mapActions } from 'vuex'
|
||||
export default {
|
||||
name: 'd2-header-size',
|
||||
data () {
|
||||
return {
|
||||
options: [
|
||||
{ label: '默认', value: 'default' },
|
||||
{ label: '中', value: 'medium' },
|
||||
{ label: '小', value: 'small' },
|
||||
{ label: '最小', value: 'mini' }
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState('d2admin/size', [
|
||||
'value'
|
||||
])
|
||||
]),
|
||||
sizeOptions () {
|
||||
return [
|
||||
{ label: this.$t('page.layout.size.default'), value: 'default' },
|
||||
{ label: this.$t('page.layout.size.medium'), value: 'medium' },
|
||||
{ label: this.$t('page.layout.size.small'), value: 'small' },
|
||||
{ label: this.$t('page.layout.size.mini'), value: 'mini' }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapMutations({
|
||||
pageKeepAliveClean: 'd2admin/page/keepAliveClean'
|
||||
}),
|
||||
...mapActions({
|
||||
sizeSet: 'd2admin/size/set'
|
||||
}),
|
||||
handleChange (value) {
|
||||
this.sizeSet(value)
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
title: this.$t('page.layout.size.notification_title'),
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: '已更新页面内 <b>组件</b> 的 <b>默认尺寸</b><br/>例如按钮大小,<b>非字号</b>',
|
||||
message: this.$t('page.layout.size.notification_message'),
|
||||
type: 'success'
|
||||
})
|
||||
},
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<el-table :data="list" v-bind="table">
|
||||
<el-table-column prop="title" align="center" width="160"/>
|
||||
<el-table-column label="预览" width="120">
|
||||
<el-table-column :label="$t('page.layout.theme.preview')" width="120">
|
||||
<div slot-scope="scope" class="theme-preview" :style="{ backgroundImage: `url(${$baseUrl}${scope.row.preview})` }"/>
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="activeName === scope.row.name" type="success" icon="el-icon-check" round>已激活</el-button>
|
||||
<el-button v-else round @click="handleSelectTheme(scope.row.name)">使用</el-button>
|
||||
<el-button v-if="activeName === scope.row.name" type="success" icon="el-icon-check" round>{{ $t('page.layout.theme.active') }}</el-button>
|
||||
<el-button v-else round @click="handleSelectTheme(scope.row.name)">{{ $t('page.common.use') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
content="主题"
|
||||
:content="$t('page.layout.theme.title')"
|
||||
placement="bottom">
|
||||
<el-button
|
||||
class="d2-ml-0 d2-mr btn-text can-hover"
|
||||
@@ -14,7 +14,7 @@
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-dialog
|
||||
title="主题"
|
||||
:title="$t('page.layout.theme.title')"
|
||||
width="600px"
|
||||
:visible.sync="dialogVisible"
|
||||
:append-to-body="true">
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<el-dropdown size="small" class="d2-mr">
|
||||
<span class="btn-text">{{info.name ? `你好 ${info.name}` : '未登录'}}</span>
|
||||
<span class="btn-text">{{info.name ? $t('page.layout.user.greeting', { name: info.name }) : $t('page.layout.user.not_logged_in')}}</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item @click.native="logOff">
|
||||
<d2-icon name="power-off" class="d2-mr-5"/>
|
||||
注销
|
||||
{{ $t('page.layout.user.logout') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
||||
@@ -12,7 +12,7 @@ export function elMenuItem (h, menu) {
|
||||
key={ menu.path }
|
||||
index={ menu.path }>
|
||||
{ icon }
|
||||
<span slot="title">{ menu.title || '未命名菜单' }</span>
|
||||
<span slot="title">{ menu.title ? this.$t(menu.title) : this.$t('page.layout.menu.unnamed_menu') }</span>
|
||||
</el-menu-item>
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ export function elSubmenu (h, menu) {
|
||||
key={ menu.path }
|
||||
index={ menu.path }>
|
||||
{ icon }
|
||||
<span slot="title">{ menu.title || '未命名菜单' }</span>
|
||||
<span slot="title">{ menu.title ? this.$t(menu.title) : this.$t('page.layout.menu.unnamed_menu') }</span>
|
||||
{ menu.children.map(child => createMenu.call(this, h, child)) }
|
||||
</el-submenu>
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
this.aside.length === 0 && !this.asideCollapse
|
||||
? <div class="d2-layout-header-aside-menu-empty" flex="dir:top main:center cross:center">
|
||||
<d2-icon name="inbox"/>
|
||||
<span>没有侧栏菜单</span>
|
||||
<span>{ this.$t('page.layout.menu.no_sidebar') }</span>
|
||||
</div>
|
||||
: null
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ export default {
|
||||
methods: {
|
||||
handleMenuSelect (index, indexPath) {
|
||||
if (/^d2-menu-empty-\d+$/.test(index) || index === undefined) {
|
||||
this.$message.warning('临时菜单')
|
||||
this.$message.warning(this.$t('page.layout.menu.temp_menu'))
|
||||
} else if (/^https:\/\/|http:\/\//.test(index)) {
|
||||
util.open(index)
|
||||
} else {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
ref="input"
|
||||
v-model="searchText"
|
||||
suffix-icon="el-icon-search"
|
||||
placeholder="搜索页面"
|
||||
:placeholder="$t('page.layout.search.placeholder')"
|
||||
:fetch-suggestions="querySearch"
|
||||
:trigger-on-focus="false"
|
||||
:clearable="true"
|
||||
@@ -15,13 +15,7 @@
|
||||
@select="handleSelect">
|
||||
<d2-panel-search-item slot-scope="{ item }" :item="item"/>
|
||||
</el-autocomplete>
|
||||
<div class="panel-search__tip">
|
||||
您可以使用快捷键
|
||||
<span class="panel-search__key">{{hotkey.open}}</span>
|
||||
唤醒搜索面板,按
|
||||
<span class="panel-search__key">{{hotkey.close}}</span>
|
||||
关闭
|
||||
</div>
|
||||
<div class="panel-search__tip" v-html="$t('page.layout.search.tip', { open: hotkey.open, close: hotkey.close })"></div>
|
||||
</div>
|
||||
<div v-if="resultsList.length > 0" class="panel-search__results-group" flex-box="1">
|
||||
<el-card shadow="never">
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<el-tab-pane
|
||||
v-for="page in opened"
|
||||
:key="page.fullPath"
|
||||
:label="page.meta.title || '未命名'"
|
||||
:label="page.meta.title || $t('page.layout.tabs.unnamed')"
|
||||
:name="page.fullPath"
|
||||
:closable="isTabClosable(page)"/>
|
||||
</el-tabs>
|
||||
@@ -36,19 +36,19 @@
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="left">
|
||||
<d2-icon name="arrow-left" class="d2-mr-10"/>
|
||||
关闭左侧
|
||||
{{ $t('page.layout.tabs.close_left') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item command="right">
|
||||
<d2-icon name="arrow-right" class="d2-mr-10"/>
|
||||
关闭右侧
|
||||
{{ $t('page.layout.tabs.close_right') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item command="other">
|
||||
<d2-icon name="times" class="d2-mr-10"/>
|
||||
关闭其它
|
||||
{{ $t('page.layout.tabs.close_other') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item command="all">
|
||||
<d2-icon name="times-circle" class="d2-mr-10"/>
|
||||
全部关闭
|
||||
{{ $t('page.layout.tabs.close_all') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
@@ -70,16 +70,6 @@ export default {
|
||||
contextmenuFlag: false,
|
||||
contentmenuX: 0,
|
||||
contentmenuY: 0,
|
||||
contextmenuListIndex: [
|
||||
{ icon: 'times-circle', title: '关闭全部', value: 'all' }
|
||||
],
|
||||
contextmenuList: [
|
||||
{ icon: 'refresh', title: '刷新', value: 'refresh' },
|
||||
{ icon: 'arrow-left', title: '关闭左侧', value: 'left' },
|
||||
{ icon: 'arrow-right', title: '关闭右侧', value: 'right' },
|
||||
{ icon: 'times', title: '关闭其它', value: 'other' },
|
||||
{ icon: 'times-circle', title: '关闭全部', value: 'all' }
|
||||
],
|
||||
tagName: '/index'
|
||||
}
|
||||
},
|
||||
@@ -87,7 +77,21 @@ export default {
|
||||
...mapState('d2admin/page', [
|
||||
'opened',
|
||||
'current'
|
||||
])
|
||||
]),
|
||||
contextmenuListIndex () {
|
||||
return [
|
||||
{ icon: 'times-circle', title: this.$t('page.layout.tabs.close_all'), value: 'all' }
|
||||
]
|
||||
},
|
||||
contextmenuList () {
|
||||
return [
|
||||
{ icon: 'refresh', title: this.$t('page.layout.tabs.refresh'), value: 'refresh' },
|
||||
{ icon: 'arrow-left', title: this.$t('page.layout.tabs.close_left'), value: 'left' },
|
||||
{ icon: 'arrow-right', title: this.$t('page.layout.tabs.close_right'), value: 'right' },
|
||||
{ icon: 'times', title: this.$t('page.layout.tabs.close_other'), value: 'other' },
|
||||
{ icon: 'times-circle', title: this.$t('page.layout.tabs.close_all'), value: 'all' }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapActions('d2admin/page', [
|
||||
@@ -148,7 +152,7 @@ export default {
|
||||
case 'right': this.closeRight(params); break
|
||||
case 'other': this.closeOther(params); break
|
||||
case 'all': this.closeAll(); break
|
||||
default: this.$message.error('无效的操作'); break
|
||||
default: this.$message.error(this.$t('page.layout.tabs.invalid_operation')); break
|
||||
}
|
||||
},
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"_name": "English",
|
||||
"page": {
|
||||
"common": {
|
||||
"help": "Help"
|
||||
"help": "Help",
|
||||
"use": "Apply"
|
||||
},
|
||||
"demo": {
|
||||
"playground": {
|
||||
@@ -56,6 +57,385 @@
|
||||
"test_version": "Test Version",
|
||||
"form_validation_failed": "Form validation failed, please check"
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"user": {
|
||||
"greeting": "Hello {name}",
|
||||
"not_logged_in": "Not logged in",
|
||||
"logout": "Logout"
|
||||
},
|
||||
"fullscreen": {
|
||||
"enter": "Fullscreen",
|
||||
"exit": "Exit Fullscreen"
|
||||
},
|
||||
"theme": {
|
||||
"title": "Theme",
|
||||
"preview": "Preview",
|
||||
"active": "Active"
|
||||
},
|
||||
"size": {
|
||||
"default": "Default",
|
||||
"medium": "Medium",
|
||||
"small": "Small",
|
||||
"mini": "Mini",
|
||||
"notification_title": "Notification",
|
||||
"notification_message": "Updated default <b>size</b> of page <b>components</b><br/>e.g. button size, <b>not font size</b>"
|
||||
},
|
||||
"log": {
|
||||
"no_log": "No logs or exceptions",
|
||||
"tooltip": "{count} log(s) | {error} error(s)",
|
||||
"tooltip_zero": "No logs or exceptions"
|
||||
},
|
||||
"menu": {
|
||||
"no_sidebar": "No sidebar menu",
|
||||
"temp_menu": "Temporary Menu",
|
||||
"unnamed_menu": "Unnamed Menu"
|
||||
},
|
||||
"tabs": {
|
||||
"unnamed": "Unnamed",
|
||||
"refresh": "Refresh",
|
||||
"close_left": "Close Left",
|
||||
"close_right": "Close Right",
|
||||
"close_other": "Close Others",
|
||||
"close_all": "Close All",
|
||||
"invalid_operation": "Invalid operation"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search pages",
|
||||
"tip": "Press <span class=\"panel-search__key\">{open}</span> to open search panel, <span class=\"panel-search__key\">{close}</span> to close"
|
||||
},
|
||||
"locales": {
|
||||
"changed": "Current language: {name} [ {locale} ]",
|
||||
"notification_title": "Language Changed",
|
||||
"preview_warning": "Language switching demo only, no actual language data configured",
|
||||
"preview_doc": "Documentation: <a class=\"el-link el-link--primary is-underline\" target=\"_blank\" href=\"https://d2.pub/doc/d2-admin/locales\">Internationalization | D2Admin</a>"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"__MENU_TEMP_BEGIN__": "===== 以下为临时菜单翻译,后续统一删除 =====",
|
||||
"设备类型": "Device Type",
|
||||
"首页": "Home",
|
||||
"系统配置": "System Configuration",
|
||||
"系统设置": "System Settings",
|
||||
"生产管控": "Production Control",
|
||||
"生产配置": "Production Configuration",
|
||||
"计划与生产": "Planning & Production",
|
||||
"系统监控": "System Monitoring",
|
||||
"监控指示板": "Monitoring Dashboard",
|
||||
"监控配置": "Monitoring Configuration",
|
||||
"生产配置首页": "Production Configuration Home",
|
||||
"班组模型": "Shift Group Model",
|
||||
"SCADA配置首页": "SCADA Configuration Home",
|
||||
"SCADA管理": "SCADA Management",
|
||||
"前置采集管理": "Edge Collection Management",
|
||||
"前置服务监控": "Pre-service Monitoring",
|
||||
"前置服务配置": "Pre-service Configuration",
|
||||
"质量管理": "Quality Management",
|
||||
"采集管理": "Collection Management",
|
||||
"产品列表": "Product List",
|
||||
"所区设置": "Plant Area Settings",
|
||||
"生产首页": "Production Home",
|
||||
"工艺流程类别": "Process Flow Category",
|
||||
"基础配置": "Basic Configuration",
|
||||
"产线列表": "Production Line List",
|
||||
"用户管理": "User Management",
|
||||
"用户组": "User Groups",
|
||||
"管理人员": "Administrators",
|
||||
"菜单配置": "Menu Configuration",
|
||||
"菜单管理": "Menu Management",
|
||||
"系统助手": "System Assistant",
|
||||
"操作日志": "Operation Log",
|
||||
"接口日志": "Interface Log",
|
||||
"问题帮助": "Help & Documentation",
|
||||
"分档&NG规则验证": "分档&NG规则验证",
|
||||
"测试数据验证": "Test Data Validation",
|
||||
"工艺配置": "Process Configuration",
|
||||
"工厂模型": "Factory Model",
|
||||
"厂区设置": "Plant Area Settings",
|
||||
"产线设置": "Production Line Settings",
|
||||
"工作站设置": "Workstation Settings",
|
||||
"工艺模型": "Process Model",
|
||||
"流程类别": "Flow Category",
|
||||
"工艺流程": "Process Flow",
|
||||
"工序单元": "Process Unit",
|
||||
"产品管理": "Product Management",
|
||||
"设备首页": "Device Home",
|
||||
"电池型号": "Battery Model",
|
||||
"MES管理": "MES管理",
|
||||
"MES结果参数配置": "MES结果参数配置",
|
||||
"MES数据上传记录": "MES数据上传记录",
|
||||
"生产管理": "Production Management",
|
||||
"批次管理": "Batch Management",
|
||||
"托盘登录": "Tray Registration",
|
||||
"批次托盘": "Batch Tray",
|
||||
"批次列表": "Batch List",
|
||||
"追溯查询": "Traceability Query",
|
||||
"电池曲线": "Battery Curve",
|
||||
"生产报表": "Production Report",
|
||||
"电池详情报表": "Battery Detail Report",
|
||||
"设备履历报表": "Device History Report",
|
||||
"生产监控": "Production Monitoring",
|
||||
"报档管理": "Grade Reporting Management",
|
||||
"化成分容库位监控": "Formation & Grading Location Monitoring",
|
||||
"充放电进出库记录": "Charge/Discharge In/Out Log",
|
||||
"电池工序管理": "Battery Process Management",
|
||||
"托盘管理": "Tray Management",
|
||||
"分选后管理": "Post-Sorting Management",
|
||||
"分选后托盘列表": "Post-Sorting Tray List",
|
||||
"设备管理": "Device Management",
|
||||
"设备模型": "Device Model",
|
||||
"设备台账": "Device Ledger",
|
||||
"产品追溯": "Product Traceability",
|
||||
"追溯管理": "Traceability Management",
|
||||
"电池追溯": "Battery Traceability",
|
||||
"托盘追溯": "Tray Traceability",
|
||||
"数据报表": "Data Report",
|
||||
"设备报表": "Device Report",
|
||||
"容量等级分布报表": "Capacity Grade Distribution Report",
|
||||
"设备异常查看": "Device Exception View",
|
||||
"设备报警异常查询": "Device Alarm Exception Query",
|
||||
"设备报警异常统计报表": "Device Alarm Exception Statistics Report",
|
||||
"设置产线信息": "Set Production Line Info",
|
||||
"关闭全部": "Close All",
|
||||
"系统设置首页": "System Settings Home",
|
||||
"异常不良管理": "Exception & Defect Management",
|
||||
"所级模型": "Institute Level Model",
|
||||
"物料模型": "Material Model",
|
||||
"物料类别列表": "Material Category List",
|
||||
"物料信息管理": "Material Info Management",
|
||||
"bom物料清单": "bom物料清单",
|
||||
"计量单位": "Unit of Measure",
|
||||
"条件与品质管理": "Condition & Quality Management",
|
||||
"SPC采集模型": "SPC采集模型",
|
||||
"设备类别": "Device Category",
|
||||
"设备信息管理": "Device Info Management",
|
||||
"分容库位监控": "Grading Location Monitoring",
|
||||
"预充库位监控": "Pre-charge Location Monitoring",
|
||||
"托盘绑定": "Tray Binding",
|
||||
"托盘搁置工艺管控": "Tray Hold Process Control",
|
||||
"电池复投管理": "Battery Re-injection Management",
|
||||
"设备监控": "Device Monitoring",
|
||||
"物料监控": "Material Monitoring",
|
||||
"电池分选": "Battery Sorting",
|
||||
"生产工单管理": "Work Order Management",
|
||||
"工单列表": "Work Order List",
|
||||
"工单托盘": "Work Order Tray",
|
||||
"生产工单不良报表": "Work Order Defect Report",
|
||||
"预警中心": "Warning Center",
|
||||
"设备点位预警": "Device Point Warning",
|
||||
"冻结解冻管理": "Freeze/Unfreeze Management",
|
||||
"冻结解冻列表": "Freeze/Unfreeze List",
|
||||
"冻结标记配置": "Freeze Mark Configuration",
|
||||
"设备点检": "Device Inspection",
|
||||
"设备点检项目管理": "Inspection Item Management",
|
||||
"设备点检录入": "Inspection Entry",
|
||||
"设备点检日志": "Inspection Log",
|
||||
"设备保养": "Device Maintenance",
|
||||
"设备保养项管理": "Maintenance Item Management",
|
||||
"设备保养计划": "Maintenance Plan",
|
||||
"设备保养项目日历": "Maintenance Calendar",
|
||||
"设备保养项详情": "Maintenance Item Details",
|
||||
"设备保养项目": "Maintenance Items",
|
||||
"设备保养日志": "Maintenance Log",
|
||||
"设备损耗品管理": "Consumable Management",
|
||||
"设备损耗品类别": "Consumable Category",
|
||||
"设备损耗品项管理": "Consumable Item Management",
|
||||
"设备损耗品项日志": "Consumable Item Log",
|
||||
"设备故障": "Device Fault",
|
||||
"设备故障管理": "Device Fault Management",
|
||||
"SPC计量型报表": "SPC计量型报表",
|
||||
"I-MR": "I-MR",
|
||||
"CUSUM": "CUSUM",
|
||||
"XBar-R": "XBar-R",
|
||||
"XBar-S": "XBar-S",
|
||||
"EWMA": "EWMA",
|
||||
"Levey-Jennings": "Levey-Jennings",
|
||||
"正态Cpk计算": "正态Cpk计算",
|
||||
"SPC计数型报表": "SPC计数型报表",
|
||||
"NP-Chart": "NP-Chart",
|
||||
"P-Chart": "P-Chart",
|
||||
"U-Chart": "U-Chart",
|
||||
"C-Chart": "C-Chart",
|
||||
"过程控制": "Process Control",
|
||||
"检验类别管理": "Inspection Category Management",
|
||||
"首巡检项目配置": "First/Patrol Inspection Item Configuration",
|
||||
"首巡检录入": "First/Patrol Inspection Entry",
|
||||
"首巡检报表": "First/Patrol Inspection Report",
|
||||
"SPC统计过程控制": "SPC统计过程控制",
|
||||
"SPC采集配置": "SPC采集配置",
|
||||
"SPC渲染条件配置": "SPC渲染条件配置",
|
||||
"基础追溯": "Basic Traceability",
|
||||
"正反向追溯": "Forward/Reverse Traceability",
|
||||
"反向追溯": "Reverse Traceability",
|
||||
"正向追溯": "Forward Traceability",
|
||||
"前置流程管理": "Pre-process Flow Management",
|
||||
"流程服务配置": "Process Service Configuration",
|
||||
"流程服务监控": "Process Service Monitoring",
|
||||
"SCADA节点配置": "SCADA Node Configuration",
|
||||
"SCADA数据查询": "SCADA Data Query",
|
||||
"仓储管理首页": "Warehouse Management Home",
|
||||
"供应商列表": "Supplier List",
|
||||
"领料单列表": "Material Requisition List",
|
||||
"领料单详情": "Material Requisition Details",
|
||||
"客户列表": "Customer List",
|
||||
"物料类别": "Material Category",
|
||||
"物料列表": "Material List",
|
||||
"仓库列表": "Warehouse List",
|
||||
"库区类别列表": "Storage Zone Category List",
|
||||
"库区列表": "Storage Zone List",
|
||||
"货位列表": "Storage Location List",
|
||||
"货位打印预览": "Location Print Preview",
|
||||
"业务类型": "Business Type",
|
||||
"单据类型": "Document Type",
|
||||
"采购入库": "Purchase Receipt",
|
||||
"采购入库详情": "Purchase Receipt Details",
|
||||
"外协品入库": "Outsourced Product Receipt",
|
||||
"外协品入库详情": "Outsourced Product Receipt Details",
|
||||
"入库单": "Receipt Order",
|
||||
"入库单详情": "Receipt Order Details",
|
||||
"待检区上架": "Pending Inspection Putaway",
|
||||
"IQC检测列表": "IQC检测列表",
|
||||
"标签打印列表": "Label Print List",
|
||||
"标签打印预览": "Label Print Preview",
|
||||
"上架列表": "Putaway List",
|
||||
"其他出库": "Other Shipment",
|
||||
"外协品出库": "Outsourced Product Shipment",
|
||||
"领料出库": "Material Requisition Shipment",
|
||||
"其他出库详情": "Other Shipment Details",
|
||||
"库存列表": "Inventory List",
|
||||
"库存锁定列表": "Inventory Lock List",
|
||||
"库存冻结列表": "Inventory Freeze List",
|
||||
"库存日志": "Inventory Log",
|
||||
"库存盘点": "Inventory Count",
|
||||
"盘点详情": "Count Details",
|
||||
"调拨管理": "Transfer Management",
|
||||
"调拨管理详情": "Transfer Management Details",
|
||||
"接口列表": "Interface List",
|
||||
"采购订单列表": "Purchase Order List",
|
||||
"发送数据列表": "Sent Data List",
|
||||
"成品出库列表": "Finished Product Shipment List",
|
||||
"MES接口日志": "MES接口日志",
|
||||
"基础配置首页": "Basic Configuration Home",
|
||||
"设备状态日志": "Device Status Log",
|
||||
"数据看板首页": "Data Dashboard Home",
|
||||
"数据中台": "Data Middleware",
|
||||
"设备点检项目日志": "Inspection Item Log",
|
||||
"设备损耗品寿命管理": "Consumable Lifespan Management",
|
||||
"设备损耗品更换日志": "Consumable Replacement Log",
|
||||
"设备报修管理": "Device Repair Management",
|
||||
"设备维修记录": "Device Repair Record",
|
||||
"生产批次监控": "Production Batch Monitoring",
|
||||
"生产批次不良报表": "Production Batch Defect Report",
|
||||
"电池数据上传": "Battery Data Upload",
|
||||
"半成品数据生成": "Semi-finished Data Generation",
|
||||
"托盘静置工艺管理": "Tray Static Process Management",
|
||||
"批次电池": "Batch Battery",
|
||||
"分档管理报表": "Grading Management Report",
|
||||
"工艺详情": "Process Details",
|
||||
"不良异常信息管理": "Defect Exception Info Management",
|
||||
"SPC绑定": "SPC绑定",
|
||||
"冻结解冻列表历史": "Freeze/Unfreeze History List",
|
||||
"冻结解冻标记列表": "Freeze/Unfreeze Mark List",
|
||||
"质量管理首页": "Quality Management Home",
|
||||
"服务配置": "Service Configuration",
|
||||
"服务监控": "Service Monitoring",
|
||||
"节点设备映射": "Node-Device Mapping",
|
||||
"SPC项目配置": "SPC项目配置",
|
||||
"DPMO": "DPMO",
|
||||
"MA": "MA",
|
||||
"MAMR": "MAMR",
|
||||
"MAMS": "MAMS",
|
||||
"系统监控配置": "System Monitoring Configuration",
|
||||
"系统监控面板": "System Monitoring Panel",
|
||||
"OCR识别配置": "OCR识别配置",
|
||||
"OCR识别日志": "OCR识别日志",
|
||||
"班组管理": "Shift Group Management",
|
||||
"排班计划": "Shift Schedule",
|
||||
"排班日历": "Shift Calendar",
|
||||
"暂无数据": "No data available",
|
||||
"no-data-text": "No data",
|
||||
"生产批次": "Production Batch",
|
||||
"型号": "Model",
|
||||
"批次": "Batch",
|
||||
"批次投入时间": "Batch Input Time",
|
||||
"批次投入数量": "Batch Input Quantity",
|
||||
"不良总数": "Total Defects",
|
||||
"请输入设备类型名称": "Please enter device type name",
|
||||
"管理生产小组,配置小组的页面访问权限": "管理生产小组,配置小组的页面访问权限",
|
||||
"管理人员账号并且绑定对应的用户组": "Manage administrator accounts and bind corresponding user groups",
|
||||
"管理系统的菜单栏目": "Manage system menu items",
|
||||
"实时显示服务器的CPU以及内存等状态": "实时显示服务器的CPU以及内存等状态",
|
||||
"管理需要监控的的服务器,以及设置预警阈值": "管理需要监控的的服务器,以及设置预警阈值",
|
||||
"记录账号对MES系统所执行的操作": "记录账号对MES系统所执行的操作",
|
||||
"设备与MES系统之间的接口往来记录": "设备与MES系统之间的接口往来记录",
|
||||
"MES系统功能介绍文档和部分操作手册": "MES系统功能介绍文档和部分操作手册",
|
||||
"设置所区信息": "Set plant area information",
|
||||
"管理工艺流程类别": "Manage process flow categories",
|
||||
"管理工艺单元": "Manage process units",
|
||||
"管理工艺流程和工序信息": "Manage process flow and process information",
|
||||
"管理工艺详情": "Manage process details",
|
||||
"设置产品电池型号等信息": "Set product battery model and other information",
|
||||
"管理设备类别信息": "Manage device category information",
|
||||
"管理现场设备的基本信息": "Manage basic information of on-site devices",
|
||||
"管理MES系统中的计量单位": "管理MES系统中的计量单位",
|
||||
"托盘调整工序": "Tray Process Adjustment",
|
||||
"电池绑定托盘,托盘登录到批次上": "Bind batteries to trays and register trays to batches",
|
||||
"Marking列表": "Marking列表",
|
||||
"Marking标记管理": "Marking标记管理",
|
||||
"设备通道连续与累计异常管理": "Device Channel Consecutive & Cumulative Exception Management",
|
||||
"批次查询、修改和清理": "Batch Query, Modify, and Cleanup",
|
||||
"生产批次完工报工*": "Production Batch Completion Reporting*",
|
||||
"设备点检管理": "Device Inspection Management",
|
||||
"设备点检项日志,可以修改点检状态": "Inspection item log with ability to modify inspection status",
|
||||
"设备保养查询,显示需要保养的项目": "设备保养查询,显示需要保养的项目",
|
||||
"管理设备保养计划,制定保养计划": "管理设备保养计划,制定保养计划",
|
||||
"设备保养项目日历,根据月度显示是否保养": "设备保养项目日历,根据月度显示是否保养",
|
||||
"设备保养项详情,可以设置保养周期等计划": "Maintenance item details with ability to set maintenance cycles",
|
||||
"管理设备保养项目,针对设备添加保养项目": "管理设备保养项目,针对设备添加保养项目",
|
||||
"设备保养日志,可以观察详情记录": "Maintenance log for viewing detailed records",
|
||||
"生产批次追溯*": "Production Batch Traceability*",
|
||||
"查看电池曲线数据": "View battery curve data",
|
||||
"追溯电池的历史生产数据": "Trace historical production data of batteries",
|
||||
"管理SCADA节点": "Manage SCADA nodes",
|
||||
"查询SCADA节点数据": "Query SCADA node data",
|
||||
"监控启用的前置服务": "Monitor enabled pre-services",
|
||||
"管理和配置前置服务": "Manage and configure pre-services",
|
||||
"生产批次管理": "Production Batch Management",
|
||||
"数据中台首页": "Data Middleware Home",
|
||||
"系统下载任务": "System Download Tasks",
|
||||
"获取文件": "Get File",
|
||||
"设备状态管理": "Device Status Management",
|
||||
"设备维修管理": "Device Repair Management",
|
||||
"管理生产物料信息": "Manage production material information",
|
||||
"批次登录的托盘查询": "Query trays registered to batches",
|
||||
"电池编码": "Battery Code",
|
||||
"批次号": "Batch No.",
|
||||
"托盘号": "Tray No.",
|
||||
"流水号": "Serial No.",
|
||||
"激活状态": "Activation Status",
|
||||
"档位类别": "Grade Category",
|
||||
"档位": "Grade",
|
||||
"分类": "Category",
|
||||
"参数关系": "Parameter Relationship",
|
||||
"档位说明": "Grade Description",
|
||||
"操作": "Actions",
|
||||
"实时采集监控": "Real-time Collection Monitoring",
|
||||
"前置服务日志": "Pre-service Log",
|
||||
"环控管理": "Environmental Control Management",
|
||||
"环控数据查询": "Environmental Data Query",
|
||||
"环控节点配置": "Environmental Node Configuration",
|
||||
"车间配置管理": "Workshop Configuration Management",
|
||||
"车间点位管理": "Workshop Point Management",
|
||||
"条件验证管理": "Condition Validation Management",
|
||||
"检验标准": "Inspection Standard",
|
||||
"检验单管理": "Inspection Order Management",
|
||||
"接收质量限": "Acceptable Quality Limit",
|
||||
"检测方案维护": "Inspection Plan Maintenance",
|
||||
"检验项目": "Inspection Item",
|
||||
"抽样方案配置": "Sampling Plan Configuration",
|
||||
"检验单详情": "Inspection Order Details",
|
||||
"检验控制": "Inspection Control",
|
||||
"相关性分析": "Correlation Analysis",
|
||||
"鹰眼": "Eagle Eyes",
|
||||
"__MENU_TEMP_END__": "===== 以上为临时菜单翻译,后续统一删除 ====="
|
||||
}
|
||||
|
||||
@@ -2,12 +2,69 @@
|
||||
"_element": "ja",
|
||||
"_name": "日本語",
|
||||
"page": {
|
||||
"common": {
|
||||
"help": "ヘルプ",
|
||||
"use": "適用"
|
||||
},
|
||||
"demo": {
|
||||
"playground": {
|
||||
"locales": {
|
||||
"text": "D2Adminは、最新のフロントエンドテクノロジースタックを使用した、完全にオープンソースの無料エンタープライズバックエンド製品フロントエンド統合ソリューションであり、プロジェクトのほとんどの準備を整えており、システムのアジャイル開発の管理に役立つ多くのサンプルコードを備えています。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"user": {
|
||||
"greeting": "こんにちは {name}",
|
||||
"not_logged_in": "未ログイン",
|
||||
"logout": "ログアウト"
|
||||
},
|
||||
"fullscreen": {
|
||||
"enter": "全画面",
|
||||
"exit": "全画面終了"
|
||||
},
|
||||
"theme": {
|
||||
"title": "テーマ",
|
||||
"preview": "プレビュー",
|
||||
"active": "有効"
|
||||
},
|
||||
"size": {
|
||||
"default": "デフォルト",
|
||||
"medium": "中",
|
||||
"small": "小",
|
||||
"mini": "最小",
|
||||
"notification_title": "お知らせ",
|
||||
"notification_message": "ページ内の<b>コンポーネント</b>の<b>デフォルトサイズ</b>を更新しました<br/>例:ボタンサイズ、<b>フォントサイズではありません</b>"
|
||||
},
|
||||
"log": {
|
||||
"no_log": "ログまたは例外はありません",
|
||||
"tooltip": "{count} 件のログ | {error} 件のエラー",
|
||||
"tooltip_zero": "ログまたは例外はありません"
|
||||
},
|
||||
"menu": {
|
||||
"no_sidebar": "サイドバーメニューがありません",
|
||||
"temp_menu": "一時メニュー",
|
||||
"unnamed_menu": "名称未設定メニュー"
|
||||
},
|
||||
"tabs": {
|
||||
"unnamed": "名称未設定",
|
||||
"refresh": "リフレッシュ",
|
||||
"close_left": "左側を閉じる",
|
||||
"close_right": "右側を閉じる",
|
||||
"close_other": "その他を閉じる",
|
||||
"close_all": "すべて閉じる",
|
||||
"invalid_operation": "無効な操作"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "ページ検索",
|
||||
"tip": "ショートカットキー <span class=\"panel-search__key\">{open}</span> で検索パネルを開き、<span class=\"panel-search__key\">{close}</span> で閉じます"
|
||||
},
|
||||
"locales": {
|
||||
"changed": "現在の言語:{name} [ {locale} ]",
|
||||
"notification_title": "言語変更",
|
||||
"preview_warning": "切替機能のみ、言語データは設定されていません",
|
||||
"preview_doc": "ドキュメント:<a class=\"el-link el-link--primary is-underline\" target=\"_blank\" href=\"https://d2.pub/doc/d2-admin/locales\">《国際化 | D2Admin》</a>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,19 +2,20 @@ export default {
|
||||
methods: {
|
||||
onChangeLocale (command) {
|
||||
this.$i18n.locale = command
|
||||
let message = `当前语言:${this.$t('_name')} [ ${this.$i18n.locale} ]`
|
||||
let message = this.$t('page.layout.locales.changed', { name: this.$t('_name'), locale: this.$i18n.locale })
|
||||
if (process.env.VUE_APP_BUILD_MODE === 'PREVIEW') {
|
||||
message = [
|
||||
`当前语言:${this.$t('_name')} [ ${this.$i18n.locale} ]`,
|
||||
'仅提供切换功能,没有配置具体的语言数据 ',
|
||||
'文档参考:<a class="el-link el-link--primary is-underline" target="_blank" href="https://d2.pub/doc/d2-admin/locales">《国际化 | D2Admin》</a>'
|
||||
this.$t('page.layout.locales.changed', { name: this.$t('_name'), locale: this.$i18n.locale }),
|
||||
this.$t('page.layout.locales.preview_warning'),
|
||||
this.$t('page.layout.locales.preview_doc')
|
||||
].join('<br/>')
|
||||
}
|
||||
this.$notify({
|
||||
title: '语言变更',
|
||||
title: this.$t('page.layout.locales.notification_title'),
|
||||
dangerouslyUseHTMLString: true,
|
||||
message
|
||||
})
|
||||
this.$store.dispatch('d2admin/menu/menuReload')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"_name": "简体中文",
|
||||
"page": {
|
||||
"common": {
|
||||
"help": "帮 助"
|
||||
"help": "帮 助",
|
||||
"use": "使用"
|
||||
},
|
||||
"demo": {
|
||||
"playground": {
|
||||
@@ -56,6 +57,385 @@
|
||||
"test_version": "测试版本",
|
||||
"form_validation_failed": "表单校验失败,请检查"
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"user": {
|
||||
"greeting": "你好 {name}",
|
||||
"not_logged_in": "未登录",
|
||||
"logout": "注销"
|
||||
},
|
||||
"fullscreen": {
|
||||
"enter": "全屏",
|
||||
"exit": "退出全屏"
|
||||
},
|
||||
"theme": {
|
||||
"title": "主题",
|
||||
"preview": "预览",
|
||||
"active": "已激活"
|
||||
},
|
||||
"size": {
|
||||
"default": "默认",
|
||||
"medium": "中",
|
||||
"small": "小",
|
||||
"mini": "最小",
|
||||
"notification_title": "提示",
|
||||
"notification_message": "已更新页面内 <b>组件</b> 的 <b>默认尺寸</b><br/>例如按钮大小,<b>非字号</b>"
|
||||
},
|
||||
"log": {
|
||||
"no_log": "没有日志或异常",
|
||||
"tooltip": "{count} 条日志 | 包含 {error} 个异常",
|
||||
"tooltip_zero": "没有日志或异常"
|
||||
},
|
||||
"menu": {
|
||||
"no_sidebar": "没有侧栏菜单",
|
||||
"temp_menu": "临时菜单",
|
||||
"unnamed_menu": "未命名菜单"
|
||||
},
|
||||
"tabs": {
|
||||
"unnamed": "未命名",
|
||||
"refresh": "刷新",
|
||||
"close_left": "关闭左侧",
|
||||
"close_right": "关闭右侧",
|
||||
"close_other": "关闭其它",
|
||||
"close_all": "全部关闭",
|
||||
"invalid_operation": "无效的操作"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜索页面",
|
||||
"tip": "您可以使用快捷键 <span class=\"panel-search__key\">{open}</span> 唤醒搜索面板,按 <span class=\"panel-search__key\">{close}</span> 关闭"
|
||||
},
|
||||
"locales": {
|
||||
"changed": "当前语言:{name} [ {locale} ]",
|
||||
"notification_title": "语言变更",
|
||||
"preview_warning": "仅提供切换功能,没有配置具体的语言数据",
|
||||
"preview_doc": "文档参考:<a class=\"el-link el-link--primary is-underline\" target=\"_blank\" href=\"https://d2.pub/doc/d2-admin/locales\">《国际化 | D2Admin》</a>"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"__MENU_TEMP_BEGIN__": "===== 以下为临时菜单翻译,后续统一删除 =====",
|
||||
"设备类型": "设备类型",
|
||||
"首页": "首页",
|
||||
"系统配置": "系统配置",
|
||||
"系统设置": "系统设置",
|
||||
"生产管控": "生产管控",
|
||||
"生产配置": "生产配置",
|
||||
"计划与生产": "计划与生产",
|
||||
"系统监控": "系统监控",
|
||||
"监控指示板": "监控指示板",
|
||||
"监控配置": "监控配置",
|
||||
"生产配置首页": "生产配置首页",
|
||||
"班组模型": "班组模型",
|
||||
"SCADA配置首页": "SCADA配置首页",
|
||||
"SCADA管理": "SCADA管理",
|
||||
"前置采集管理": "前置采集管理",
|
||||
"前置服务监控": "前置服务监控",
|
||||
"前置服务配置": "前置服务配置",
|
||||
"质量管理": "质量管理",
|
||||
"采集管理": "采集管理",
|
||||
"产品列表": "产品列表",
|
||||
"所区设置": "所区设置",
|
||||
"生产首页": "生产首页",
|
||||
"工艺流程类别": "工艺流程类别",
|
||||
"基础配置": "基础配置",
|
||||
"产线列表": "产线列表",
|
||||
"用户管理": "用户管理",
|
||||
"用户组": "用户组",
|
||||
"管理人员": "管理人员",
|
||||
"菜单配置": "菜单配置",
|
||||
"菜单管理": "菜单管理",
|
||||
"系统助手": "系统助手",
|
||||
"操作日志": "操作日志",
|
||||
"接口日志": "接口日志",
|
||||
"问题帮助": "问题帮助",
|
||||
"分档&NG规则验证": "分档&NG规则验证",
|
||||
"测试数据验证": "测试数据验证",
|
||||
"工艺配置": "工艺配置",
|
||||
"工厂模型": "工厂模型",
|
||||
"厂区设置": "厂区设置",
|
||||
"产线设置": "产线设置",
|
||||
"工作站设置": "工作站设置",
|
||||
"工艺模型": "工艺模型",
|
||||
"流程类别": "流程类别",
|
||||
"工艺流程": "工艺流程",
|
||||
"工序单元": "工序单元",
|
||||
"产品管理": "产品管理",
|
||||
"设备首页": "设备首页",
|
||||
"电池型号": "电池型号",
|
||||
"MES管理": "MES管理",
|
||||
"MES结果参数配置": "MES结果参数配置",
|
||||
"MES数据上传记录": "MES数据上传记录",
|
||||
"生产管理": "生产管理",
|
||||
"批次管理": "批次管理",
|
||||
"托盘登录": "托盘登录",
|
||||
"批次托盘": "批次托盘",
|
||||
"批次列表": "批次列表",
|
||||
"追溯查询": "追溯查询",
|
||||
"电池曲线": "电池曲线",
|
||||
"生产报表": "生产报表",
|
||||
"电池详情报表": "电池详情报表",
|
||||
"设备履历报表": "设备履历报表",
|
||||
"生产监控": "生产监控",
|
||||
"报档管理": "报档管理",
|
||||
"化成分容库位监控": "化成分容库位监控",
|
||||
"充放电进出库记录": "充放电进出库记录",
|
||||
"电池工序管理": "电池工序管理",
|
||||
"托盘管理": "托盘管理",
|
||||
"分选后管理": "分选后管理",
|
||||
"分选后托盘列表": "分选后托盘列表",
|
||||
"设备管理": "设备管理",
|
||||
"设备模型": "设备模型",
|
||||
"设备台账": "设备台账",
|
||||
"产品追溯": "产品追溯",
|
||||
"追溯管理": "追溯管理",
|
||||
"电池追溯": "电池追溯",
|
||||
"托盘追溯": "托盘追溯",
|
||||
"数据报表": "数据报表",
|
||||
"设备报表": "设备报表",
|
||||
"容量等级分布报表": "容量等级分布报表",
|
||||
"设备异常查看": "设备异常查看",
|
||||
"设备报警异常查询": "设备报警异常查询",
|
||||
"设备报警异常统计报表": "设备报警异常统计报表",
|
||||
"设置产线信息": "设置产线信息",
|
||||
"关闭全部": "关闭全部",
|
||||
"系统设置首页": "系统设置首页",
|
||||
"异常不良管理": "异常不良管理",
|
||||
"所级模型": "所级模型",
|
||||
"物料模型": "物料模型",
|
||||
"物料类别列表": "物料类别列表",
|
||||
"物料信息管理": "物料信息管理",
|
||||
"bom物料清单": "BOM物料清单",
|
||||
"计量单位": "计量单位",
|
||||
"条件与品质管理": "条件与品质管理",
|
||||
"SPC采集模型": "SPC采集模型",
|
||||
"设备类别": "设备类别",
|
||||
"设备信息管理": "设备信息管理",
|
||||
"分容库位监控": "分容库位监控",
|
||||
"预充库位监控": "预充库位监控",
|
||||
"托盘绑定": "托盘绑定",
|
||||
"托盘搁置工艺管控": "托盘搁置工艺管控",
|
||||
"电池复投管理": "电池复投管理",
|
||||
"设备监控": "设备监控",
|
||||
"物料监控": "物料监控",
|
||||
"电池分选": "电池分选",
|
||||
"生产工单管理": "生产工单管理",
|
||||
"工单列表": "工单列表",
|
||||
"工单托盘": "工单托盘",
|
||||
"生产工单不良报表": "生产工单不良报表",
|
||||
"预警中心": "预警中心",
|
||||
"设备点位预警": "设备点位预警",
|
||||
"冻结解冻管理": "冻结解冻管理",
|
||||
"冻结解冻列表": "冻结解冻列表",
|
||||
"冻结标记配置": "冻结标记配置",
|
||||
"设备点检": "设备点检",
|
||||
"设备点检项目管理": "设备点检项目管理",
|
||||
"设备点检录入": "设备点检录入",
|
||||
"设备点检日志": "设备点检日志",
|
||||
"设备保养": "设备保养",
|
||||
"设备保养项管理": "设备保养项管理",
|
||||
"设备保养计划": "设备保养计划",
|
||||
"设备保养项目日历": "设备保养项目日历",
|
||||
"设备保养项详情": "设备保养项详情",
|
||||
"设备保养项目": "设备保养项目",
|
||||
"设备保养日志": "设备保养日志",
|
||||
"设备损耗品管理": "设备损耗品管理",
|
||||
"设备损耗品类别": "设备损耗品类别",
|
||||
"设备损耗品项管理": "设备损耗品项管理",
|
||||
"设备损耗品项日志": "设备损耗品项日志",
|
||||
"设备故障": "设备故障",
|
||||
"设备故障管理": "设备故障管理",
|
||||
"SPC计量型报表": "SPC计量型报表",
|
||||
"I-MR": "I-MR",
|
||||
"CUSUM": "CUSUM",
|
||||
"XBar-R": "XBar-R",
|
||||
"XBar-S": "XBar-S",
|
||||
"EWMA": "EWMA",
|
||||
"Levey-Jennings": "Levey-Jennings",
|
||||
"正态Cpk计算": "正态Cpk计算",
|
||||
"SPC计数型报表": "SPC计数型报表",
|
||||
"NP-Chart": "NP-Chart",
|
||||
"P-Chart": "P-Chart",
|
||||
"U-Chart": "U-Chart",
|
||||
"C-Chart": "C-Chart",
|
||||
"过程控制": "过程控制",
|
||||
"检验类别管理": "检验类别管理",
|
||||
"首巡检项目配置": "首巡检项目配置",
|
||||
"首巡检录入": "首巡检录入",
|
||||
"首巡检报表": "首巡检报表",
|
||||
"SPC统计过程控制": "SPC统计过程控制",
|
||||
"SPC采集配置": "SPC采集配置",
|
||||
"SPC渲染条件配置": "SPC渲染条件配置",
|
||||
"基础追溯": "基础追溯",
|
||||
"正反向追溯": "正反向追溯",
|
||||
"反向追溯": "反向追溯",
|
||||
"正向追溯": "正向追溯",
|
||||
"前置流程管理": "前置流程管理",
|
||||
"流程服务配置": "流程服务配置",
|
||||
"流程服务监控": "流程服务监控",
|
||||
"SCADA节点配置": "SCADA节点配置",
|
||||
"SCADA数据查询": "SCADA数据查询",
|
||||
"仓储管理首页": "仓储管理首页",
|
||||
"供应商列表": "供应商列表",
|
||||
"领料单列表": "领料单列表",
|
||||
"领料单详情": "领料单详情",
|
||||
"客户列表": "客户列表",
|
||||
"物料类别": "物料类别",
|
||||
"物料列表": "物料列表",
|
||||
"仓库列表": "仓库列表",
|
||||
"库区类别列表": "库区类别列表",
|
||||
"库区列表": "库区列表",
|
||||
"货位列表": "货位列表",
|
||||
"货位打印预览": "货位打印预览",
|
||||
"业务类型": "业务类型",
|
||||
"单据类型": "单据类型",
|
||||
"采购入库": "采购入库",
|
||||
"采购入库详情": "采购入库详情",
|
||||
"外协品入库": "外协品入库",
|
||||
"外协品入库详情": "外协品入库详情",
|
||||
"入库单": "入库单",
|
||||
"入库单详情": "入库单详情",
|
||||
"待检区上架": "待检区上架",
|
||||
"IQC检测列表": "IQC检测列表",
|
||||
"标签打印列表": "标签打印列表",
|
||||
"标签打印预览": "标签打印预览",
|
||||
"上架列表": "上架列表",
|
||||
"其他出库": "其他出库",
|
||||
"外协品出库": "外协品出库",
|
||||
"领料出库": "领料出库",
|
||||
"其他出库详情": "其他出库详情",
|
||||
"库存列表": "库存列表",
|
||||
"库存锁定列表": "库存锁定列表",
|
||||
"库存冻结列表": "库存冻结列表",
|
||||
"库存日志": "库存日志",
|
||||
"库存盘点": "库存盘点",
|
||||
"盘点详情": "盘点详情",
|
||||
"调拨管理": "调拨管理",
|
||||
"调拨管理详情": "调拨管理详情",
|
||||
"接口列表": "接口列表",
|
||||
"采购订单列表": "采购订单列表",
|
||||
"发送数据列表": "发送数据列表",
|
||||
"成品出库列表": "成品出库列表",
|
||||
"MES接口日志": "MES接口日志",
|
||||
"基础配置首页": "基础配置首页",
|
||||
"设备状态日志": "设备状态日志",
|
||||
"数据看板首页": "数据看板首页",
|
||||
"数据中台": "数据中台",
|
||||
"设备点检项目日志": "设备点检项目日志",
|
||||
"设备损耗品寿命管理": "设备损耗品寿命管理",
|
||||
"设备损耗品更换日志": "设备损耗品更换日志",
|
||||
"设备报修管理": "设备报修管理",
|
||||
"设备维修记录": "设备维修记录",
|
||||
"生产批次监控": "生产批次监控",
|
||||
"生产批次不良报表": "生产批次不良报表",
|
||||
"电池数据上传": "电池数据上传",
|
||||
"半成品数据生成": "半成品数据生成",
|
||||
"托盘静置工艺管理": "托盘静置工艺管理",
|
||||
"批次电池": "批次电池",
|
||||
"分档管理报表": "分档管理报表",
|
||||
"工艺详情": "工艺详情",
|
||||
"不良异常信息管理": "不良异常信息管理",
|
||||
"SPC绑定": "SPC绑定",
|
||||
"冻结解冻列表历史": "冻结解冻列表历史",
|
||||
"冻结解冻标记列表": "冻结解冻标记列表",
|
||||
"质量管理首页": "质量管理首页",
|
||||
"服务配置": "服务配置",
|
||||
"服务监控": "服务监控",
|
||||
"节点设备映射": "节点设备映射",
|
||||
"SPC项目配置": "SPC项目配置",
|
||||
"DPMO": "DPMO",
|
||||
"MA": "MA",
|
||||
"MAMR": "MAMR",
|
||||
"MAMS": "MAMS",
|
||||
"系统监控配置": "系统监控配置",
|
||||
"系统监控面板": "系统监控面板",
|
||||
"OCR识别配置": "OCR识别配置",
|
||||
"OCR识别日志": "OCR识别日志",
|
||||
"班组管理": "班组管理",
|
||||
"排班计划": "排班计划",
|
||||
"排班日历": "排班日历",
|
||||
"暂无数据": "暂无数据",
|
||||
"no-data-text": "无数据",
|
||||
"生产批次": "生产批次",
|
||||
"型号": "型号",
|
||||
"批次": "批次",
|
||||
"批次投入时间": "批次投入时间",
|
||||
"批次投入数量": "批次投入数量",
|
||||
"不良总数": "不良总数",
|
||||
"请输入设备类型名称": "请输入设备类型名称",
|
||||
"管理生产小组,配置小组的页面访问权限": "管理生产小组,配置小组的页面访问权限",
|
||||
"管理人员账号并且绑定对应的用户组": "管理人员账号并且绑定对应的用户组",
|
||||
"管理系统的菜单栏目": "管理系统的菜单栏目",
|
||||
"实时显示服务器的CPU以及内存等状态": "实时显示服务器的CPU以及内存等状态",
|
||||
"管理需要监控的的服务器,以及设置预警阈值": "管理需要监控的的服务器,以及设置预警阈值",
|
||||
"记录账号对MES系统所执行的操作": "记录账号对MES系统所执行的操作",
|
||||
"设备与MES系统之间的接口往来记录": "设备与MES系统之间的接口往来记录",
|
||||
"MES系统功能介绍文档和部分操作手册": "MES系统功能介绍文档和部分操作手册",
|
||||
"设置所区信息": "设置所区信息",
|
||||
"管理工艺流程类别": "管理工艺流程类别",
|
||||
"管理工艺单元": "管理工艺单元",
|
||||
"管理工艺流程和工序信息": "管理工艺流程和工序信息",
|
||||
"管理工艺详情": "管理工艺详情",
|
||||
"设置产品电池型号等信息": "设置产品电池型号等信息",
|
||||
"管理设备类别信息": "管理设备类别信息",
|
||||
"管理现场设备的基本信息": "管理现场设备的基本信息",
|
||||
"管理MES系统中的计量单位": "管理MES系统中的计量单位",
|
||||
"托盘调整工序": "托盘调整工序",
|
||||
"电池绑定托盘,托盘登录到批次上": "电池绑定托盘,托盘登录到批次上",
|
||||
"Marking列表": "Marking列表",
|
||||
"Marking标记管理": "Marking标记管理",
|
||||
"设备通道连续与累计异常管理": "设备通道连续与累计异常管理",
|
||||
"批次查询、修改和清理": "批次查询、修改和清理",
|
||||
"生产批次完工报工*": "生产批次完工报工*",
|
||||
"设备点检管理": "设备点检管理",
|
||||
"设备点检项日志,可以修改点检状态": "设备点检项日志,可以修改点检状态",
|
||||
"设备保养查询,显示需要保养的项目": "设备保养查询,显示需要保养的项目",
|
||||
"管理设备保养计划,制定保养计划": "管理设备保养计划,制定保养计划",
|
||||
"设备保养项目日历,根据月度显示是否保养": "设备保养项目日历,根据月度显示是否保养",
|
||||
"设备保养项详情,可以设置保养周期等计划": "设备保养项详情,可以设置保养周期等计划",
|
||||
"管理设备保养项目,针对设备添加保养项目": "管理设备保养项目,针对设备添加保养项目",
|
||||
"设备保养日志,可以观察详情记录": "设备保养日志,可以观察详情记录",
|
||||
"生产批次追溯*": "生产批次追溯*",
|
||||
"查看电池曲线数据": "查看电池曲线数据",
|
||||
"追溯电池的历史生产数据": "追溯电池的历史生产数据",
|
||||
"管理SCADA节点": "管理SCADA节点",
|
||||
"查询SCADA节点数据": "查询SCADA节点数据",
|
||||
"监控启用的前置服务": "监控启用的前置服务",
|
||||
"管理和配置前置服务": "管理和配置前置服务",
|
||||
"生产批次管理": "生产批次管理",
|
||||
"数据中台首页": "数据中台首页",
|
||||
"系统下载任务": "系统下载任务",
|
||||
"获取文件": "获取文件",
|
||||
"设备状态管理": "设备状态管理",
|
||||
"设备维修管理": "设备维修管理",
|
||||
"管理生产物料信息": "管理生产物料信息",
|
||||
"批次登录的托盘查询": "批次登录的托盘查询",
|
||||
"电池编码": "电池编码",
|
||||
"批次号": "批次号",
|
||||
"托盘号": "托盘号",
|
||||
"流水号": "流水号",
|
||||
"激活状态": "激活状态",
|
||||
"档位类别": "档位类别",
|
||||
"档位": "档位",
|
||||
"分类": "分类",
|
||||
"参数关系": "参数关系",
|
||||
"档位说明": "档位说明",
|
||||
"操作": "操作",
|
||||
"实时采集监控": "实时采集监控",
|
||||
"前置服务日志": "前置服务日志",
|
||||
"环控管理": "环控管理",
|
||||
"环控数据查询": "环控数据查询",
|
||||
"环控节点配置": "环控节点配置",
|
||||
"车间配置管理": "车间配置管理",
|
||||
"车间点位管理": "车间点位管理",
|
||||
"条件验证管理": "条件验证管理",
|
||||
"检验标准": "检验标准",
|
||||
"检验单管理": "检验单管理",
|
||||
"接收质量限": "接收质量限",
|
||||
"检测方案维护": "检测方案维护",
|
||||
"检验项目": "检验项目",
|
||||
"抽样方案配置": "抽样方案配置",
|
||||
"检验单详情": "检验单详情",
|
||||
"检验控制": "检验控制",
|
||||
"相关性分析": "相关性分析",
|
||||
"鹰眼": "鹰眼",
|
||||
"__MENU_TEMP_END__": "===== 以上为临时菜单翻译,后续统一删除 ====="
|
||||
}
|
||||
|
||||
@@ -2,12 +2,69 @@
|
||||
"_element": "zh-TW",
|
||||
"_name": "繁體中文",
|
||||
"page": {
|
||||
"common": {
|
||||
"help": "幫 助",
|
||||
"use": "使用"
|
||||
},
|
||||
"demo": {
|
||||
"playground": {
|
||||
"locales": {
|
||||
"text": "D2Admin 是一個完全 開源免費 的企業中後台產品前端集成方案,使用最新的前端技術棧,已經做好大部分項目前期準備工作,並且帶有大量示例代碼,助力管理系統敏捷開發。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"user": {
|
||||
"greeting": "你好 {name}",
|
||||
"not_logged_in": "未登錄",
|
||||
"logout": "登出"
|
||||
},
|
||||
"fullscreen": {
|
||||
"enter": "全螢幕",
|
||||
"exit": "退出全螢幕"
|
||||
},
|
||||
"theme": {
|
||||
"title": "主題",
|
||||
"preview": "預覽",
|
||||
"active": "已啟用"
|
||||
},
|
||||
"size": {
|
||||
"default": "預設",
|
||||
"medium": "中",
|
||||
"small": "小",
|
||||
"mini": "最小",
|
||||
"notification_title": "提示",
|
||||
"notification_message": "已更新頁面內 <b>元件</b> 的 <b>預設尺寸</b><br/>例如按鈕大小,<b>非字號</b>"
|
||||
},
|
||||
"log": {
|
||||
"no_log": "沒有日誌或異常",
|
||||
"tooltip": "{count} 條日誌 | 包含 {error} 個異常",
|
||||
"tooltip_zero": "沒有日誌或異常"
|
||||
},
|
||||
"menu": {
|
||||
"no_sidebar": "沒有側欄選單",
|
||||
"temp_menu": "臨時選單",
|
||||
"unnamed_menu": "未命名選單"
|
||||
},
|
||||
"tabs": {
|
||||
"unnamed": "未命名",
|
||||
"refresh": "重新整理",
|
||||
"close_left": "關閉左側",
|
||||
"close_right": "關閉右側",
|
||||
"close_other": "關閉其它",
|
||||
"close_all": "全部關閉",
|
||||
"invalid_operation": "無效的操作"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜尋頁面",
|
||||
"tip": "您可以使用快捷鍵 <span class=\"panel-search__key\">{open}</span> 喚醒搜尋面板,按 <span class=\"panel-search__key\">{close}</span> 關閉"
|
||||
},
|
||||
"locales": {
|
||||
"changed": "目前語言:{name} [ {locale} ]",
|
||||
"notification_title": "語言變更",
|
||||
"preview_warning": "僅提供切換功能,沒有配置具體的語言資料",
|
||||
"preview_doc": "文件參考:<a class=\"el-link el-link--primary is-underline\" target=\"_blank\" href=\"https://d2.pub/doc/d2-admin/locales\">《國際化 | D2Admin》</a>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,8 @@ function getMenuData (arr) {
|
||||
title: value.name,
|
||||
icon: value.icon,
|
||||
type: value.type,
|
||||
params: value.params
|
||||
params: value.params,
|
||||
remark: value.remark || ''
|
||||
}
|
||||
|
||||
// parent_id 为 0 的节点放入顶栏
|
||||
|
||||
@@ -8,6 +8,12 @@ export default {
|
||||
path: '/production_configuration',
|
||||
component: layoutHeaderAside,
|
||||
children: (pre => [
|
||||
{
|
||||
path: 'index',
|
||||
name: `${pre}index`,
|
||||
meta: { ...meta, title: '生产配置', root: '/production_configuration' },
|
||||
component: _import('system/function/module-index')
|
||||
},
|
||||
{
|
||||
path: 'factory_model/factory_area',
|
||||
name: `${pre}factory_model-factory_area`,
|
||||
|
||||
@@ -89,6 +89,19 @@ export default {
|
||||
|
||||
// 构建菜单树和权限字典
|
||||
menu.install(this, state.sourceData)
|
||||
},
|
||||
async menuReload ({ state, dispatch }) {
|
||||
if (!util.cookies.get('token')) {
|
||||
return
|
||||
}
|
||||
await dispatch('d2admin/db/set', {
|
||||
dbName: 'database',
|
||||
path: '$menu.sourceData',
|
||||
value: [],
|
||||
user: true
|
||||
}, { root: true })
|
||||
state.sourceData = []
|
||||
await dispatch('sourceDataLoad')
|
||||
}
|
||||
},
|
||||
mutations: {
|
||||
|
||||
174
src/views/system/function/module-index.vue
Normal file
174
src/views/system/function/module-index.vue
Normal file
@@ -0,0 +1,174 @@
|
||||
<template>
|
||||
<div class="d2-navi">
|
||||
<d2-scrollbar>
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item
|
||||
v-for="(item, index) in menuData"
|
||||
:key="`parent${index}`"
|
||||
:name="item.menu_id">
|
||||
<template slot="title">
|
||||
<span class="d2-navi__title">
|
||||
<d2-icon v-if="item.icon" class="iconfont__mini" :name="item.icon"/>
|
||||
<i v-else class="el-icon-folder"/>
|
||||
</span>
|
||||
<span>{{ $t(item.title) }}</span>
|
||||
</template>
|
||||
|
||||
<div class="flex-wrap">
|
||||
<div
|
||||
v-for="(sub, key) in item.children"
|
||||
:key="`sub${key}`"
|
||||
class="d2-navi__block"
|
||||
@click="handleMenuSelect(sub.path)">
|
||||
<div class="d2-navi__content">
|
||||
<span class="d2-navi__icon">
|
||||
<d2-icon v-if="sub.icon" class="iconfont__medium" :name="sub.icon"/>
|
||||
<i v-else class="el-icon-document"/>
|
||||
</span>
|
||||
<div class="d2-navi__info">
|
||||
<p class="d2-navi__sub_title">
|
||||
<i v-if="sub.type" class="el-icon-link d2-pr-5"/>
|
||||
<span>{{ $t(sub.title) }}</span>
|
||||
</p>
|
||||
<p class="d2-navi__desc" :title="$t(sub.remark)">
|
||||
{{ $t(sub.remark) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</d2-scrollbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
import menuMixin from '@/layout/header-aside/components/mixin/menu'
|
||||
|
||||
export default {
|
||||
name: 'module-index',
|
||||
mixins: [
|
||||
menuMixin
|
||||
],
|
||||
data () {
|
||||
return {
|
||||
activeNames: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState('d2admin/menu', [
|
||||
'aside'
|
||||
]),
|
||||
rootPath () {
|
||||
return this.$route.meta.root || this.$route.path
|
||||
},
|
||||
menuData () {
|
||||
// eslint-disable-next-line no-unused-expressions
|
||||
this.$i18n.locale
|
||||
const key = this.aside.findIndex(item => item.path === this.rootPath)
|
||||
if (key === -1 || !this.aside[key].children) {
|
||||
return []
|
||||
}
|
||||
return this.aside[key].children.filter(item => {
|
||||
const title = item.title || ''
|
||||
if (title.indexOf('首页') !== -1) return false
|
||||
if (item.icon === 'home') return false
|
||||
if (this.$route.path === item.path) return false
|
||||
return true
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
menuData: {
|
||||
handler (val) {
|
||||
this.activeNames = val.map(item => item.menu_id)
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.d2-navi {
|
||||
height: calc(100vh - 160px);
|
||||
|
||||
padding: 20px;
|
||||
background-color: #FFF;
|
||||
|
||||
.d2-navi__title {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
margin-right: 6px;
|
||||
color: $color-info;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.iconfont__mini {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.iconfont__medium {
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.flex-wrap {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: -15px auto -10px;
|
||||
}
|
||||
|
||||
.d2-navi__block {
|
||||
width: 20%;
|
||||
box-sizing: border-box;
|
||||
padding: 0 7.5px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.d2-navi__content {
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
color: $color-info;
|
||||
border-radius: 4px;
|
||||
background-color: #F5F7FA;
|
||||
padding: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.d2-navi__icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-width: 60px;
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
.d2-navi__info {
|
||||
min-width: 0;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.d2-navi__sub_title {
|
||||
color: $color-text-main;
|
||||
height: 24px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.d2-navi__desc {
|
||||
font-size: 12px;
|
||||
height: 23px;
|
||||
line-height: 23px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user