diff --git a/.env.development b/.env.development index e409d34..635666c 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 物联大屏管理系统 +VITE_APP_TITLE = 微工厂设备物联管理系统 # 开发环境配置 VITE_APP_ENV = 'development' diff --git a/.env.production b/.env.production index 8e31db1..329fcb5 100644 --- a/.env.production +++ b/.env.production @@ -1,5 +1,5 @@ # 页面标题 -VITE_APP_TITLE = 物联大屏管理系统 +VITE_APP_TITLE = 微工厂设备物联管理系统 # 生产环境配置 VITE_APP_ENV = 'production' diff --git a/index.html b/index.html index 53d0767..057f788 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - 物联大屏管理系统 + 微工厂设备物联管理系统 \ No newline at end of file diff --git a/src/lang/i18n-en-US.js b/src/lang/i18n-en-US.js new file mode 100644 index 0000000..10b9390 --- /dev/null +++ b/src/lang/i18n-en-US.js @@ -0,0 +1,409 @@ +export default { + "menus": { + "首页": "Home", + "实时生产监控": "Prod Monitoring", + "仪表盘": "Dashboard", + "设备管理": "Dev", + "产品管理": "Product", + "生产管理": "Production", + "质量管理": "Quality", + "系统管理": "System", + "用户管理": "User", + "角色管理": "Role", + "菜单管理": "Menu", + "部门管理": "Dept", + "岗位管理": "Job", + "字典管理": "Dict", + "参数管理": "Config", + "通知公告": "Notice", + "操作日志": "Log", + "登录日志": "LoginLog", + "定时任务": "Task", + "系统监控": "Druid", + "系统工具": "Tools", + "大盘监控": "DruidWallBoard", + "SQL监控": "DruidSql", + "统计监控": "DruidStat", + "添加": "Add", + "修改": "Edit", + "删除": "Delete", + "组织架构": "Organization", + "针管理": "Needle", + "加工次数管理": "Process", + "配件管理": "Accessory", + "面线管理": "Upper Thread", + "底线管理": "Bottom Thread", + "梭芯信息": "Bobbin", + "设备台账": "Dev Ledger", + "类型管理": "Type", + "配置管理": "Type Config", + "保养项目": "Maint items", + "点检保养计划": "Maint Plan", + "点检保养记录": "Maint Record", + "维修记录": "Repair Record", + "设备操作记录": "Dev Oper Record", + "产品信息管理": "Product Info", + "附件管理": "Product Annex", + "生产任务单": "Prod Order", + "维修人员配置": "Repair Staff Config", + "生产追踪": "Prod Trace", + }, + "common": { + "新增": "Add", + "添加": "Add", + "修改": "Edit", + "删除": "Delete", + "搜索": "Search", + "重置": "Reset", + "导入": "Import", + "导出": "Export", + "确定": "Confirm", + "取消": "Cancel", + "成功": "Success", + "失败": "Error", + "操作": "Operation", + "详情": "Detail", + "状态": "Status", + "序号": "Index", + "创建时间": "Create Time ", + "更新时间": "Update Time ", + "请输入": "Please input ", + "请选择": "Please select ", + "请确认": "Please confirm ", + "确 定": "OK", + "取 消": "Cancel", + "添加成功": "Add Success", + "修改成功": "Edit Success", + "删除成功": "Delete Success", + "合格": "Pass", + "不合格": "Fail", + "未完成": "Unfinished", + "已完成": "Finished", + "无法判断": "Unknown", + "下载": "Download", + "分钟": "Minute", + "选择语言":"Select Language", + "布局大小":"Layout Size", + "较大":"Large", + "默认":"Default", + "较小":"Small", + "个人中心":"Profile", + "退出登录":"Logout", + "保存":"Save", + "关闭":"Close", + "下载报表": "Download Report", + "下发": "Issue", + "生产中": "Producing", + "未开始": "Not Start", + "暂停": "Pause", + "延期完成": "Delay Finished", + "下发成功": "Issue Success", + "暂停成功": "Pause Success", + "启用": "Enable", + "停用": "Disable", + "已启用": "Enabled", + "已停用": "Disabled", + "完成": "Finished", + "延期": "Delay", + "查看": "View", + "已延期": "Delayed", + "天": "Day", + "备注": "Remark", + "文件": "File", + "暂存": "PREPARE", + "提 交": "Submit", + "撤回": "Withdraw", + "退回": "Return", + "终止": "Terminate", + "审批通过": "Approve", + "完成维修": "Repair Finished", + "完成验收": "Acceptance Finished", + "验收未通过": "Acceptance Failed", + }, + "validate": { + "不能为空": "Can not be empty ", + "格式不正确": "Format is incorrect", + "长度不正确": "Length is incorrect", + "范围不正确": "Range is incorrect", + "最大值为": "Maximum value is", + "最小值为": "Minimum value is", + "最小针数不能大于最大针数": "Min needle can not be greater than max needle", + "开始时间不能大于结束时间": "Start time can not be greater than end time", + "开始日期不能大于结束日期": "Start date can not be greater than end date", + }, + "tip": { + "确定删除选中记录?": "Are you sure to delete the selected record?", + "请上传": "Please upload", + "大小不超过": "Size is not more than", + "格式为": "Format is", + "的文件": "file", + "选取文件": "Select File", + "是否确定下发生产任务?": "Are you sure to issue the production task?", + "是否确定解绑当前设备?": "Are you sure to unbind the current device?", + "是否确定暂停当前生产任务?": "Are you sure to pause the current production task?", + "确定要": "Are you sure to ", + }, + "login": { + "标题": "Machine IoT management system", + "用户登录": "User Login", + "登录": "Login in", + "账号": "Username", + "密码": "Password", + "验证码": "Code", + "记住密码": "Remember Me", + "登录中": "Logging in", + "立即注册": "Register Now", + "版权": "Copyright © 天津市再登软件有限公司, LIMITED All rights reserved" + }, + "tagsView": { + "隐藏搜索": "Hide Search", + "显示搜索": "Show Search", + "显隐列": "Hide/Show Column", + "刷新": "Refresh", + "关闭": "Close", + "关闭其它": "Close Others", + "关闭所有": "Close All", + "显示": "Show", + "隐藏": "Hide", + }, + "settings": { + "title": "Page style setting", + "theme": "Theme Color", + "tagsView": "Open Tags-View", + "fixedHeader": "Fixed Header", + "sidebarLogo": "Sidebar Logo" + }, + "home":{ + "员工总数": "Staff Total", + "设备总数": "Dev Total", + "产出进度": "Output Progress", + "设备": "Dev", + "使用中": "In Use", + "停机": "Stopped", + "总数": "Total", + "工作人员": "Staff", + "加工信息": "Process Info", + "产量": "Output", + "稼动率": "Utilization", + "设备利用率": "Dev Utilization", + "设备状态": "Dev Status", + "台": "Units", + "人": "Pepole", + "张力值": "Tension Value", + "张力": "Tension", + '针数': 'Needle', + "针1": "Needle1", + "针2": "Needle2", + "任务信息": "Task Info", + "产品完成率": "Product Finish Rate", + "实际产量": "Actual Output", + "目标产量": "Target Output", + "在线数": "Online", + "件":'pcs', + "工作": "Working", + "待机": "Idle", + "急停": "Emergency Stop", + "故障总览": "Fault Overview", + "维修": "Repairing", + + }, + "user":{ + '人员信息': 'User Info', + '操作员': 'Operator', + '人员ID': 'Staff ID', + '员工姓名': 'Staff Name', + '员工编号': 'Staff Code', + '用户名称': 'Username', + "手机号码": "Mobile", + "用户邮箱": "Email", + "所属部门": "Dept", + "所属角色": "Role", + "创建日期": "Create Date", + "基本资料": "Basic Info", + "修改密码": "Change Password", + "用户昵称": "Nickname", + "男": "male", + "女": "famale", + "旧密码": "Old Password", + "新密码": "New Password", + "确认密码": "Confirm Password", + + }, + "device": { + "设备": "Device", + "设备信息": "Dev Info", + "设备名称": "Dev Name", + "设备编码": "Dev Code", + "设备类型": "Type", + "车间名称": "Workshop", + "产线名称": "Prod Line", + "保养周期": "Maint Cycle", + "供货商名称": "Supplier", + "供货商联络人": "Contact", + "生产厂家": "Manufacturer", + "联系电话": "Phone", + "品牌": "Brand", + "设备型号": "Model", + "备注": "Remark", + "图片": "Image", + "运行时长": "Run Time", + "工作时长": "Work Time", + "设备版本": "Version", + "厂家电话": "MFR Phone", + "负责人": "Leader", + "生产日期": "Produce Date", + "投产日期": "Start Date", + "设备位置": "Location", + "机头数": "Needle Count", + "设备详情": "Dev Detail", + "其他信息": "Other Info", + "配置信息": "Config Info", + "设备信息": "Dev Info", + "联系人":"Contact Person", + "供应商电话":"Supplier Phone", + "备注信息":"Remark", + "设备图片":"Dev Image", + "保养手册":"Maint Manual", + "类型名称":"Type Name", + "关联配置":"Related Config", + "配置名称":"Config Name", + "设备配置":"Dev Config", + "操作时间":"Oper Time", + "操作类型":"Oper Type", + "操作位置":"Oper Location", + "操作时长":"Oper Duration", + "设备故障率":"Fault Rate", + "工作头数":"Work Head Count", + }, + "pms":{ + "项目编码": "Project Code", + "项目名称": "Project Name", + "项目类型": "Project Type", + "项目内容": "Project Content", + "标准": "Standard", + "点检保养项目": "Maint Item", + '计划编码': 'Plan Code', + '计划名称': 'Plan Name', + "计划类型": "Plan Type", + "草稿": "Draft", + "开始日期": "Start Date", + "结束日期": "End Date", + "频率": "Frequency", + "点检": "Check", + "保养": "Maint", + "周": "Week", + "月": "Month", + "设备点检": "Dev Check", + "设备保养": "Dev Maint", + "次数": "Times", + "计划": "Plan", + "执行单编码": "Order Code", + "执行人" : "Operator", + "实际执行时间": "Actual Time", + "计划执行时间": "Plan Time", + "最晚执行时间": "Latest Time", + "执行提醒": "Remind", + "待执行": "Pending", + "维修单编号": "Repair Code", + "维修单名称": "Repair Name", + "维修结果": "Repair Result", + "单据状态": "Order Status", + "报修日期": "report date", + "维修完成日期": "finish date", + "验收日期": "Acceptance date", + "维修人员": "Repair personnel", + "验收人员": "Acceptance personnel", + "记录": "Record", + "最晚维修日期": "Latest Date", + "报修备注": "report Remark", + "审核备注": "Audit Remark", + "维修备注": "Repair Remark", + "验收备注": "Acceptance Remark", + "维修成功": "Repair Success", + "维修失败": "Repair Fail", + "维修内容": "Repair Content", + "故障描述": "Fault Description", + "故障描述内容": "Fault Description Content", + "维修情况": "Repair Situation", + "设备维修单": "Dev Repair Order", + }, + "product": { + "产品信息": "Product Info", + "产品名称": "ProductName", + "产品编码": "ProductCode", + "产品类型": "ProductType", + "备注": "Remark", + "图片": "Image", + "底线编码": "BottomCode", + "面线编码": "UpperCode", + "表面张力": "Tension", + "最小张力": "Min Tension", + "最大张力": "Max Tension", + "最小值": "Min", + "最大值": "Max", + "最小针数": "MinNeedle", + "最大针数": "MaxNeedle", + "缝纫次数": "SewingTimes", + "针号": "Needle", + "面线信息": "UpperThread", + "底线信息": "BottomThread", + "梭芯信息": "Bobbin", + "排序": "Sort", + "类型": "Type", + "第几次": "Needle No.", + "步骤": "Step", + "二维码": "QRCode", + "编码": "Code", + "总针数": "Total Needle", + "花样名称": "Pattern Name", + "针数": "Needle Count", + "花色": "Color", + "产品序列号": "ProductSN", + "底线材质": "Bottom Material", + "面线材质": "Upper Material", + "花样附件": "Pattern Annex", + "附件名称": "Annex Name", + "附件编码": "Annex Code", + "附件图片": "Annex Image", + "附件文件": "Annex File", + "当前针数": "Current Needle", + "合格样板": "Qualified template", + }, + "produce": { + "产品编码": "ProductCode", + "设备编码": "Dev Code", + "员工编号": "Staff Code", + "目标产量": "TargetOutput", + "当前产量": "CurrentOutput", + "开始时间": "StartTime", + "结束时间": "EndTime", + "批次": "Batch", + "备注": "Remark", + "状态": "Status", + "二维码": "QRCode", + "获取二维码": "Get QRCode", + "生产信息": "Prod Info", + "操作员编号": "Oper Code", + "操作人员": "Operator", + "工作进度": "Work Progress", + "待机时长": "Idle Time", + "产品状态": "Prod Status", + "宽度": "Width", + "高度": "Height", + "当前色序": "Current Color", + "总色序数": "Total Color", + }, + "quality": { + "产品名称": "ProductName", + "产品编码": "ProductCode", + "产品序列号": "ProductSN", + "员工姓名": "StaffName", + "设备名称": "DevName", + "开始时间": "StartTime", + "完成时间": "FinishTime", + "状态": "Status", + "产品合格率": "PassRate", + "产品不合格率": "FailRate", + "产品完成量": "FinishCount", + } +} \ No newline at end of file diff --git a/src/lang/i18n-zh-CN.js b/src/lang/i18n-zh-CN.js new file mode 100644 index 0000000..c09b0b4 --- /dev/null +++ b/src/lang/i18n-zh-CN.js @@ -0,0 +1,412 @@ +export default { + //菜单 + "menus": { + "首页": "首页", + "实时生产监控": "实时生产监控", + "仪表盘": "仪表盘", + "设备管理": "设备管理", + "产品管理": "产品管理", + "生产管理": "生产管理", + "质量管理": "质量管理", + "系统管理": "系统管理", + "用户管理": "用户管理", + "角色管理": "角色管理", + "菜单管理": "菜单管理", + "部门管理": "部门管理", + "岗位管理": "岗位管理", + "字典管理": "字典管理", + "参数管理": "参数管理", + "通知公告": "通知公告", + "操作日志": "操作日志", + "登录日志": "登录日志", + "定时任务": "定时任务", + "系统监控": "系统监控", + "系统工具": "系统工具", + "大盘监控": "大盘监控", + "SQL监控": "SQL监控", + "统计监控": "统计监控", + "添加": "添加", + "修改": "修改", + "删除": "删除", + "组织架构": "组织架构", + "针管理": "针管理", + "加工次数管理": "加工次数管理", + "配件管理": "配件管理", + "面线管理": "面线管理", + "底线管理": "底线管理", + "梭芯信息": "梭芯管理", + "设备台账": "设备台账", + "类型管理": "类型管理", + "配置管理": "配置管理", + "保养项目": "保养项目", + "点检保养计划": "点检保养计划", + "点检保养记录": "点检保养记录", + "维修记录": "维修记录", + "设备操作记录": "设备操作记录", + "产品信息管理": "产品信息管理", + "附件管理": "附件管理", + "生产任务单": "生产任务单", + "维修人员配置": "维修人员配置", + "生产追踪": "生产追踪", + + }, + "common": { + "新增": "新增", + "添加": "添加", + "修改": "修改", + "删除": "删除", + "搜索": "搜索", + "重置": "重置", + "导入": "导入", + "导出": "导出", + "确定": "确定", + "取消": "取消", + "成功": "成功", + "失败": "失败", + "操作": "操作", + "详情": "详情", + "状态": "状态", + "序号": "序号", + "创建时间": "创建时间", + "更新时间": "更新时间", + "请输入": "请输入", + "请选择": "请选择", + "请确认": "请确认", + "确 定": "确 定", + "取 消": "取 消", + "添加成功": "添加成功", + "修改成功": "修改成功", + "删除成功": "删除成功", + '合格': '合格', + '不合格': '不合格', + "未完成": "未完成", + "已完成": "已完成", + "无法判断": "无法判断", + "下载": "下载", + "分钟": " 分钟", + "选择语言": "选择语言", + "布局大小": "布局大小", + "较大": "较大", + "默认": "默认", + "较小": "较小", + "个人中心": "个人中心", + "退出登录": "退出登录", + "保存": "保存", + "关闭": "关闭", + "下载报表": "下载报表", + "下发": "下发", + "生产中": "生产中", + "未开始": "未开始", + "暂停": "暂停", + "延期完成": "延期完成", + "下发成功": "下发成功", + "暂停成功": "暂停成功", + "启用": "启用", + "停用": "停用", + "已启用": "已启用", + "已停用": "已停用", + "完成": "完成", + "延期": "延期", + "查看": "查看", + "已延期": "已延期", + "天": "天", + "备注": "备注", + "文件": "文件", + "暂存": "暂存", + "提 交": "提 交", + "撤回": "撤回", + "退回": "退回", + "终止": "终止", + "审批通过": "审批通过", + "完成维修": "完成维修", + "完成验收": "完成验收", + "验收未通过": "验收未通过", + }, + "validate": { + "不能为空": "不能为空", + "格式不正确": "格式不正确", + "长度不正确": "长度不正确", + "范围不正确": "范围不正确", + "最大值为": "最大值为", + "最小值为": "最小值为", + "最小针数不能大于最大针数": "最小针数不能大于最大针数", + "开始时间不能大于结束时间": "开始时间不能大于结束时间", + "开始日期不能大于结束日期": "开始日期不能大于结束日期", + }, + "tip": { + "确定删除选中记录?": "确定删除选中记录?", + "请上传": "请上传", + "大小不超过": "大小不超过", + "格式为": "格式为", + "的文件": "的文件", + '选取文件': '选取文件', + "是否确定下发生产任务?": "是否确定下发生产任务?", + "是否确定解绑当前设备?": "是否确定解绑当前设备?", + "是否确定暂停当前生产任务?": "是否确定暂停当前生产任务?", + "确定要" : "确定要 ", + }, + "login": { + "标题": "机器物联管理系统", + "用户登录": "用户登录", + "登录": "登录", + "账号": "账号", + "密码": "密码", + "验证码": "验证码", + "记住密码": "记住密码", + "登录中": "登录中...", + "立即注册": "立即注册", + "版权": "Copyright © 天津市再登软件有限公司 版权所有" + }, + "tagsView": { + "隐藏搜索": "隐藏搜索", + "显示搜索": "显示搜索", + "显隐列": "显隐列", + "刷新": "刷新", + "关闭": "关闭", + "关闭其它": "关闭其它", + "关闭所有": "关闭所有", + "显示": "显示", + "隐藏": "隐藏", + }, + "settings": { + "title": "系统布局配置", + "theme": "主题色", + "tagsView": "开启 Tags-View", + "fixedHeader": "固定 Header", + "sidebarLogo": "侧边栏 Logo" + }, + "home": { + "员工总数": "员工总数", + "设备总数": "设备总数", + "产出进度": "产出进度", + "设备": "设备", + "使用中": "使用中", + "停机": "停机", + "总数": "总数", + "工作人员": "工作人员", + "加工信息": "加工信息", + "产量": "产量", + "稼动率": "稼动率", + "设备利用率": "设备利用率", + "设备状态": "设备状态", + "台": "台", + "人": "人", + "张力值": "张力值", + "张力": "张力", + '针数': '针数', + "针1": "针1", + "针2": "针2", + "任务信息": "任务信息", + "产品完成率": "产品完成率", + "实际产量": "实际产量", + "目标产量": "目标产量", + "在线数": "在线数", + "件": "件", + "工作": "工作", + "待机": "待机", + "急停": "急停", + "故障总览": "故障总览", + "维修": "维修", + + }, + "user": { + '人员信息': '人员信息', + '操作员': '操作员', + '人员ID': '人员ID', + '员工姓名': '员工姓名', + '员工编号': '员工编号', + "个人信息": "个人信息", + "用户名称": "用户名称", + "手机号码": "手机号码", + "用户邮箱": "用户邮箱", + "所属部门": "所属部门", + "所属角色": "所属角色", + "创建日期": "创建日期", + "基本资料": "基本资料", + "修改密码": "修改密码", + "用户昵称": "用户昵称", + "男": "男", + "女": "女", + "旧密码": "旧密码", + "新密码": "新密码", + "确认密码": "确认密码", + + }, + "device": { + "设备": "设备", + "设备信息": "设备信息", + "设备名称": "设备名称", + "设备编码": "设备编码", + "设备类型": "设备类型", + "车间名称": "车间名称", + "产线名称": "产线名称", + "保养周期": "保养周期", + "供货商名称": "供货商名称", + "供货商联络人": "供货商联络人", + "生产厂家": "生产厂家", + "联系电话": "联系电话", + "品牌": "品牌", + "设备型号": "设备型号", + "备注": "备注", + "图片": "图片", + "运行时长": "运行时长", + "工作时长": "工作时长", + "设备版本": "设备版本", + "厂家电话": "厂家电话", + "负责人": "负责人", + "生产日期": "生产日期", + "投产日期": "投产日期", + "设备位置": "设备位置", + "机头数": "机头数", + "设备详情": "设备详情", + "设备信息": "设备信息", + "配置信息": "配置信息", + "其他信息": "其他信息", + "联系人": "联系人", + "供应商电话": "供应商电话", + "备注信息": "备注信息", + "设备图片": "设备图片", + "保养手册": "保养手册", + "类型名称": "类型名称", + "关联配置": "关联配置", + "配置名称": "配置名称", + "设备配置": "设备配置", + "操作时间": "操作时间", + "操作类型": "操作类型", + "操作位置": "操作位置", + "操作时长": "操作时长", + "设备故障率": "设备故障率", + "工作头数": "工作头数", + }, + "pms": { + "项目编码": "项目编码", + "项目名称": "项目名称", + "项目类型": "项目类型", + "项目内容": "项目内容", + "标准": "标准", + "点检保养项目": "点检保养项目", + '计划编码': '计划编码', + '计划名称': '计划名称', + "计划类型": "计划类型", + "草稿": "草稿", + "开始日期": "开始日期", + "结束日期": "结束日期", + "频率": "频率", + '点检': '点检', + '保养': '保养', + "周": "周", + "月": "月", + "设备点检": "设备点检", + "设备保养": "设备保养", + '次数': '次数', + '计划': '计划', + "执行单编码": "执行单编码", + "执行人": "执行人", + "实际执行时间": "实际执行时间", + "计划执行时间": "计划执行时间", + "最晚执行时间": "最晚执行时间", + "执行提醒": "执行提醒", + "待执行": "待执行", + "维修单编号": "维修单编号", + "维修单名称": "维修单名称", + "维修结果": "维修结果", + "单据状态": "单据状态", + "报修日期": "报修日期", + "维修完成日期": "维修完成日期", + "验收日期": "验收日期", + "维修人员": "维修人员", + "验收人员": "验收人员", + "记录": "记录", + "最晚维修日期": "最晚维修日期", + "报修备注": "报修备注", + "审核备注": "审核备注", + "维修备注": "维修备注", + "验收备注": "验收备注", + "维修成功": "维修成功", + "维修失败": "维修失败", + "维修内容": "维修内容", + "故障描述": "故障描述", + "故障描述内容": "故障描述内容", + "维修情况": "维修情况", + "设备维修单": "设备维修单", + }, + "product": { + "产品信息": "产品信息", + "产品名称": "产品名称", + "产品编码": "产品编码", + "产品类型": "产品类型", + "备注": "备注", + "图片": "图片", + "底线编码": "底线编码", + "面线编码": "面线编码", + "表面张力": "表面张力", + "最小张力": "最小张力", + "最大张力": "最大张力", + "最小值": "最小值", + "最大值": "最大值", + "最小针数": "最小针数", + "最大针数": "最大针数", + "缝纫次数": "缝纫次数", + "针号": "针号", + "面线信息": "面线信息", + "底线信息": "底线信息", + "梭芯信息": "梭芯信息", + "排序": "排序", + "类型": "类型", + "第几针": "第几针", + "步骤": "步骤", + "二维码": "二维码", + "编码": "编码", + "总针数": "总针数", + "花样名称": "花样名称", + "针数": "针数", + "花色": "花色", + "产品序列号": "产品序列号", + "底线材质": "底线材质", + "面线材质": "面线材质", + "花样附件": "花样附件", + "附件名称": "附件名称", + "附件编码": "附件编码", + "附件图片": "附件图片", + "附件文件": "附件文件", + "当前针数": "当前针数", + "合格样板": "合格样板", + }, + "produce": { + "产品编码": "产品编码", + "设备编码": "设备编码", + "员工编号": "员工编号", + "目标产量": "目标产量", + "当前产量": "当前产量", + "开始时间": "开始时间", + "结束时间": "结束时间", + "批次": "批次", + "备注": "备注", + "状态": "状态", + "二维码": "二维码", + "获取二维码": "获取二维码", + "生产信息": "生产信息", + "操作员编号": "操作员编号", + "操作人员": "操作人员", + "工作进度": "工作进度", + "待机时长": "待机时长", + "产品状态": "产品状态", + "宽度": "宽度", + "高度": "高度", + "当前色序": "当前色序", + "总色序数": "总色序数", + }, + "quality": { + "产品名称": "产品名称", + "产品编码": "产品编码", + "产品序列号": "产品序列号", + "员工姓名": "员工姓名", + "设备名称": "设备名称", + "开始时间": "开始时间", + "完成时间": "完成时间", + "状态": "状态", + "产品合格率": "产品合格率", + "产品不合格率": "产品不合格率", + "产品完成量": "产品完成量", + } +} \ No newline at end of file diff --git a/src/lang/i18n.js b/src/lang/i18n.js new file mode 100644 index 0000000..5f5d033 --- /dev/null +++ b/src/lang/i18n.js @@ -0,0 +1,30 @@ +// I18n +import { createI18n } from 'vue-i18n' + +import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage"; +// 引入 elementui 的多语言 +import zhLocale from 'element-plus/dist/locale/zh-cn.mjs' +import enLocale from 'element-plus/dist/locale/en.mjs' +// 如果还有新的语言在下面继续添加 + +// 引入自己定义的 I18n 文件 +import myI18nEn from './i18n-en-US' +import myI18nZh from './i18n-zh-CN' +// 如果还有新的语言在下面继续添加 + +// 默认中文 +const defaultLocale = "zh-CN"; +const storedLocale = getStoredLanguage() || defaultLocale; +const i18n = createI18n({ + globalInjection: true, //全局生效$t + locale: storedLocale, + legacy: false, // 解决legacy mode 报错 + messages: { + // 会把myI18nZh的所有内容拷贝到zhCnLocale文件中 + 'zh-CN': Object.assign(zhLocale, myI18nZh), + 'en-US': Object.assign(enLocale, myI18nEn), + // 如果还有新的语言在下面继续添加 + } +}) + +export default i18n; diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index e7cca17..1c3b279 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -17,7 +17,9 @@ --> - + + + @@ -53,6 +55,7 @@ import Breadcrumb from '@/components/Breadcrumb' import TopNav from '@/components/TopNav' import Hamburger from '@/components/Hamburger' import Screenfull from '@/components/Screenfull' +import LangSelect from '@/components/LangSelect' import SizeSelect from '@/components/SizeSelect' import HeaderSearch from '@/components/HeaderSearch' import RuoYiGit from '@/components/RuoYi/Git' diff --git a/src/main.js b/src/main.js index de4b752..f190d44 100644 --- a/src/main.js +++ b/src/main.js @@ -3,7 +3,8 @@ import { createApp } from 'vue' import Cookies from 'js-cookie' import ElementPlus from 'element-plus' -import locale from 'element-plus/lib/locale/lang/zh-cn' // 中文语言 +import zhLocale from 'element-plus/es/locale/lang/zh-cn' +import enLocale from 'element-plus/es/locale/lang/en' import '@/assets/styles/index.scss' // global css @@ -56,6 +57,8 @@ import 'virtual:svg-icons-register' import SvgIcon from '@/components/SvgIcon' import elementIcons from '@/components/SvgIcon/svgicon' +// i18n js +import i18n from './lang/i18n.js' import './permission' // permission control import { useDict } from '@/utils/dict' @@ -80,6 +83,13 @@ import DictTag from '@/components/DictTag' //dialog组件 import BaseDialog from '@/components/BaseDialog' + +import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage"; +//引入iconfont +import './assets/iconfont/iconfont.css' + +// 设置语言 +let locale = getStoredLanguage() === 'en-US' ? enLocale : zhLocale const app = createApp(App) // 全局方法挂载 @@ -92,6 +102,15 @@ app.config.globalProperties.handleTree = handleTree app.config.globalProperties.addDateRange = addDateRange app.config.globalProperties.selectDictLabel = selectDictLabel app.config.globalProperties.selectDictLabels = selectDictLabels +// 此段代码写入main.js中 +app.config.globalProperties.$t = i18n.global.t +app.config.globalProperties.$te = i18n.global.te +app.config.globalProperties.tLang = (parent, item) => { + if (i18n.global.te(parent + "." + item)) { + return i18n.global.t(parent + "." + item) + } + return item; +} // 全局组件挂载 app.component('DictTag', DictTag) @@ -108,6 +127,7 @@ app.component('v-chart', VECharts) app.use(router) app.use(store) +app.use(i18n) app.use(plugins) app.use(elementIcons) app.component('svg-icon', SvgIcon) diff --git a/src/store/modules/app.js b/src/store/modules/app.js index 0b57159..9d688df 100644 --- a/src/store/modules/app.js +++ b/src/store/modules/app.js @@ -1,4 +1,5 @@ import Cookies from 'js-cookie' +import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage"; const useAppStore = defineStore( 'app', @@ -10,7 +11,8 @@ const useAppStore = defineStore( hide: false }, device: 'desktop', - size: Cookies.get('size') || 'default' + size: Cookies.get('size') || 'default', + lang: getStoredLanguage() || 'zh-CN' }), actions: { toggleSideBar(withoutAnimation) { @@ -37,6 +39,10 @@ const useAppStore = defineStore( this.size = size; Cookies.set('size', size) }, + setLang(lang) { + this.lang = lang; + saveStoredLanguage(lang) + }, toggleSideBarHide(status) { this.sidebar.hide = status } diff --git a/src/utils/languageStorage.js b/src/utils/languageStorage.js new file mode 100644 index 0000000..4ed355d --- /dev/null +++ b/src/utils/languageStorage.js @@ -0,0 +1,17 @@ + +//获取用户保存的语言首选项 +export function getStoredLanguage() { + return localStorage.getItem("selectedLanguage"); +} +//保存新的语言选择 +export function saveStoredLanguage(language) { + localStorage.setItem("selectedLanguage", language); +} + +export function languageHash(language) { + return { + en: "English/USD", + zh: "简体中文", + es: "Spanish/USD", + }[language]; +} \ No newline at end of file diff --git a/src/views/device/devConfig/index.vue b/src/views/device/devConfig/index.vue new file mode 100644 index 0000000..9290071 --- /dev/null +++ b/src/views/device/devConfig/index.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/src/views/device/devType/add_edit.vue b/src/views/device/devType/add_edit.vue new file mode 100644 index 0000000..21e8e84 --- /dev/null +++ b/src/views/device/devType/add_edit.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/views/device/devType/index.vue b/src/views/device/devType/index.vue new file mode 100644 index 0000000..14bce2b --- /dev/null +++ b/src/views/device/devType/index.vue @@ -0,0 +1,217 @@ + + + + + \ No newline at end of file diff --git a/src/views/device/device/add_edit.vue b/src/views/device/device/add_edit.vue new file mode 100644 index 0000000..3e6c6b6 --- /dev/null +++ b/src/views/device/device/add_edit.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/views/device/device/index.vue b/src/views/device/device/index.vue new file mode 100644 index 0000000..2e1023b --- /dev/null +++ b/src/views/device/device/index.vue @@ -0,0 +1,405 @@ + + + + + diff --git a/src/views/device/device/info.vue b/src/views/device/device/info.vue new file mode 100644 index 0000000..53d4edb --- /dev/null +++ b/src/views/device/device/info.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/views/device/operationRecords/index.vue b/src/views/device/operationRecords/index.vue new file mode 100644 index 0000000..e7dd567 --- /dev/null +++ b/src/views/device/operationRecords/index.vue @@ -0,0 +1,234 @@ + + + \ No newline at end of file diff --git a/src/views/device/updateRecord/index.vue b/src/views/device/updateRecord/index.vue new file mode 100644 index 0000000..f529eb1 --- /dev/null +++ b/src/views/device/updateRecord/index.vue @@ -0,0 +1,246 @@ + + + \ No newline at end of file diff --git a/src/views/device/upgrade/index.vue b/src/views/device/upgrade/index.vue new file mode 100644 index 0000000..28b1211 --- /dev/null +++ b/src/views/device/upgrade/index.vue @@ -0,0 +1,277 @@ + + + diff --git a/src/views/login.vue b/src/views/login.vue index 92e2805..0a391a6 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,7 +1,7 @@ + + + + diff --git a/src/views/pms/checkplan/subject.vue b/src/views/pms/checkplan/subject.vue new file mode 100644 index 0000000..9ed9388 --- /dev/null +++ b/src/views/pms/checkplan/subject.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/pms/checkplanRecode/checkplanTemp.vue b/src/views/pms/checkplanRecode/checkplanTemp.vue new file mode 100644 index 0000000..b393da3 --- /dev/null +++ b/src/views/pms/checkplanRecode/checkplanTemp.vue @@ -0,0 +1,150 @@ + + + + + \ No newline at end of file diff --git a/src/views/pms/checkplanRecode/index.vue b/src/views/pms/checkplanRecode/index.vue new file mode 100644 index 0000000..70550d6 --- /dev/null +++ b/src/views/pms/checkplanRecode/index.vue @@ -0,0 +1,349 @@ + + + diff --git a/src/views/pms/checkplanRecode/subject.vue b/src/views/pms/checkplanRecode/subject.vue new file mode 100644 index 0000000..5c4d3fa --- /dev/null +++ b/src/views/pms/checkplanRecode/subject.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/views/pms/dvsubject/index.vue b/src/views/pms/dvsubject/index.vue new file mode 100644 index 0000000..7e36729 --- /dev/null +++ b/src/views/pms/dvsubject/index.vue @@ -0,0 +1,321 @@ + + + + + diff --git a/src/views/pms/repair/index.vue b/src/views/pms/repair/index.vue new file mode 100644 index 0000000..c7dfe08 --- /dev/null +++ b/src/views/pms/repair/index.vue @@ -0,0 +1,667 @@ + + + + + diff --git a/src/views/pms/repair/line.vue b/src/views/pms/repair/line.vue new file mode 100644 index 0000000..d474d23 --- /dev/null +++ b/src/views/pms/repair/line.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/src/views/pms/repair/log.vue b/src/views/pms/repair/log.vue new file mode 100644 index 0000000..be7b943 --- /dev/null +++ b/src/views/pms/repair/log.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue index 2e28e26..b5e43a0 100644 --- a/src/views/tool/gen/genInfoForm.vue +++ b/src/views/tool/gen/genInfoForm.vue @@ -11,7 +11,15 @@ - + + + + + + + + +