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 @@
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+ {{
+ $t('common.新增') }}
+
+
+ {{ $t('common.修改') }}
+
+
+ {{ $t('common.删除') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+ {{ tLang('common', '新增') }}
+
+
+ {{ tLang('common', '修改') }}
+
+
+ {{ tLang('common', '删除') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+
+ {{ $t('common.新增') }}
+
+
+ {{ $t('common.修改') }}
+
+
+ {{ $t('common.删除') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ typeOptions.find(item => item.value == row.type)?.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+ {{ props.info.code }}
+ {{ props.info.name }}
+ {{ props.info.type }}
+
+ {{ props.info.model }}
+ {{ props.info.version }}
+ {{ props.info.maintenance }}
+
+ {{ props.info.machineHead }}
+ {{ props.info.manufactureDate }}
+ {{ props.info.commissionDate }}
+
+
+ {{ item.value }}
+
+
+ {{ props.info.manufacturer }}
+ {{ props.info.brand }}
+ {{ props.info.contactPhone }}
+
+ {{ props.info.supplier }}
+ {{ props.info.supplierContactPerson }}
+ {{ props.info.supplierPhoneNumber }}
+
+
+
+ {{ props.info.model }}
+ {{ props.info.version }}
+ {{ props.info.deviceLocation }}
+
+
+ {{ props.info.remark }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.split("/").slice(-1)[0] }}
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.operationTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+ {{ upgradeList.find(item => item.id === scope.row.upgradeId)?.upgradePlan }}
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.upgradeTime, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{dict.label}}
+
+
+
+
+
+
+
+
+
+
+
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 @@
- 物联大屏管理系统
+ 微工厂设备物联管理系统
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+ {{ $t('common.新增') }}
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.planCode }}
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ scope.row.cycleCount }}
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '修改') }}
+ {{tLang('common', '删除')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+ {{ tLang('common','新增') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common','删除') }}
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+ {{ $t('common.修改') }}
+
+
+ {{ $t('common.删除') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.checkPlanCode }}
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
+
+
+
+
+
+ {{ parseTime(scope.row.nextCheckTime, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.deadline, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ deadlineFun(scope)['text'] }}
+
+
+
+
+
+
+ {{ scope.row.status == 1 ? tLang('pms','待执行') : scope.row.status == 2 ? tLang('common','完成') : tLang('common','延期') }}
+
+
+
+
+
+
+
+ {{ scope.row.status == 1 ? tLang('common','修改') : tLang('common','查看') }}
+ {{tLang('common','删除')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+ {{ $t('common.新增') }}
+
+
+ {{ $t('common.修改') }}
+
+
+ {{ $t('common.删除') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{tLang('common', '修改')}}
+ {{tLang('common', '删除')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('pms',dict.label) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common', '搜索') }}
+ {{ tLang('common', '重置') }}
+
+
+
+
+
+ {{ $t('common.新增') }}
+
+
+ {{ $t('common.修改') }}
+
+
+ {{ $t('common.删除') }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.requireDate, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.finishDate, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.confirmDate, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{tLang('pms','记录')}}
+ {{tLang('common','修改')}}
+ {{tLang('common','删除')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('pms',dict.value) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{tLang('pms','维修内容')}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+ {{ tLang('common','新增') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tLang('common','删除') }}
+
+
+
+
+
+
+
+
+
+
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 @@
-
+
+
+ 前端类型
+
+
+
+
+
+
diff --git a/vite.config.js b/vite.config.js
index e084a73..90b6a03 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -31,8 +31,8 @@ export default defineConfig(({ mode, command }) => {
proxy: {
// https://cn.vitejs.dev/config/#server-proxy
'/dev-api': {
- target: 'http://192.168.10.65:9015',
- // target: 'http://8.141.87.86:9015',
+ target: 'http://192.168.10.88:8086',
+ // target: 'http://8.141.87.86:8086',
// target: 'http://192.168.110.90:10393/mock/5ce74738-f63f-4d21-af85-b1d132c6f6fd',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')