From 7709ec6c8c0aa7943934344b0b129864e6f736de Mon Sep 17 00:00:00 2001
From: Zhunianya <2698076424@qq.com>
Date: Thu, 19 Mar 2026 17:36:53 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E5=9B=BD=E9=99=85=E5=8C=96):=20=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=E5=9B=BD=E9=99=85=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
vue/src/lang/en-US/common.json | 4 +-
vue/src/lang/en-US/device.json | 54 ++-
vue/src/lang/en-US/home.json | 71 +++
vue/src/lang/en-US/lg.json | 7 +-
vue/src/lang/en-US/monitor.json | 117 +++++
vue/src/lang/en-US/product.json | 10 +
vue/src/lang/en-US/scene.json | 47 +-
vue/src/lang/en-US/sip.json | 2 +
vue/src/lang/en-US/system.json | 5 +
vue/src/lang/en-US/template.json | 10 +-
vue/src/lang/en-US/tool.json | 276 ++++++++++++
vue/src/lang/zh-CN/common.json | 6 +-
vue/src/lang/zh-CN/device.json | 54 ++-
vue/src/lang/zh-CN/home.json | 71 +++
vue/src/lang/zh-CN/lg.json | 7 +-
vue/src/lang/zh-CN/monitor.json | 117 +++++
vue/src/lang/zh-CN/product.json | 10 +
vue/src/lang/zh-CN/scene.json | 47 +-
vue/src/lang/zh-CN/sip.json | 2 +
vue/src/lang/zh-CN/system.json | 9 +-
vue/src/lang/zh-CN/template.json | 10 +-
vue/src/lang/zh-CN/tool.json | 276 ++++++++++++
vue/src/views/bigScreen/home.vue | 4 +-
vue/src/views/bigScreen/indexs/left-top.vue | 8 +-
vue/src/views/bigScreen/setting.vue | 24 +-
vue/src/views/error/401.vue | 128 +++---
vue/src/views/error/404.vue | 419 +++++++++---------
vue/src/views/index.vue | 162 +++----
vue/src/views/iot/category/index.vue | 70 +--
vue/src/views/iot/clientDetails/index.vue | 116 ++---
vue/src/views/iot/device/device-edit.vue | 148 +++----
.../views/iot/device/device-functionlog.vue | 50 +--
vue/src/views/iot/device/device-log.vue | 231 +++++-----
vue/src/views/iot/device/device-monitor.vue | 30 +-
vue/src/views/iot/device/device-timer.vue | 220 ++++-----
vue/src/views/iot/device/device-user.vue | 87 ++--
vue/src/views/iot/device/index.vue | 90 ++--
vue/src/views/iot/device/product-list.vue | 34 +-
vue/src/views/iot/device/running-status.vue | 30 +-
vue/src/views/iot/device/user-list.vue | 32 +-
vue/src/views/iot/group/device-list.vue | 28 +-
vue/src/views/iot/group/index.vue | 74 ++--
vue/src/views/iot/log/index.vue | 180 ++++----
vue/src/views/iot/netty/clients.vue | 72 +--
vue/src/views/iot/netty/mqtt.vue | 38 +-
vue/src/views/iot/news/index.vue | 131 +++---
vue/src/views/iot/newsCategory/index.vue | 75 ++--
vue/src/views/iot/platform/index.vue | 112 ++---
vue/src/views/iot/product/index.vue | 78 ++--
vue/src/views/iot/product/product-app.vue | 26 +-
.../views/iot/product/product-authorize.vue | 166 +++----
vue/src/views/iot/product/product-edit.vue | 108 ++---
.../iot/product/product-select-template.vue | 28 +-
.../iot/product/product-things-model.vue | 281 ++++++------
vue/src/views/iot/scene/product-list.vue | 34 +-
vue/src/views/iot/scene/script.vue | 110 +++--
vue/src/views/iot/sip/channel.vue | 84 ++--
vue/src/views/iot/sip/index.vue | 89 ++--
vue/src/views/iot/sip/mediaServer-edit.vue | 103 ++---
vue/src/views/iot/sip/mediaServer.vue | 28 +-
vue/src/views/iot/sip/product-list.vue | 28 +-
vue/src/views/iot/sip/sipconfig.vue | 34 +-
vue/src/views/iot/sip/sipidGen.vue | 32 +-
vue/src/views/iot/sip/user-list.vue | 28 +-
vue/src/views/iot/template/index.vue | 254 +++++------
vue/src/views/iot/template/parameter.vue | 122 ++---
vue/src/views/login.vue | 52 +--
vue/src/views/monitor/cache/index.vue | 42 +-
vue/src/views/monitor/cache/list.vue | 38 +-
vue/src/views/monitor/job/index.vue | 167 ++++---
vue/src/views/monitor/job/log.vue | 80 ++--
vue/src/views/monitor/logininfor/index.vue | 60 +--
vue/src/views/monitor/online/index.vue | 204 ++++-----
vue/src/views/monitor/operlog/index.vue | 99 +++--
vue/src/views/monitor/server/index.vue | 72 +--
vue/src/views/register.vue | 48 +-
vue/src/views/system/user/index.vue | 8 +-
.../views/system/user/profile/resetPwd.vue | 4 +-
vue/src/views/tool/build/CodeTypeDialog.vue | 18 +-
vue/src/views/tool/build/DraggableItem.vue | 4 +-
vue/src/views/tool/build/IconsDialog.vue | 4 +-
vue/src/views/tool/build/RightPanel.vue | 278 ++++++------
vue/src/views/tool/build/TreeNodeDialog.vue | 20 +-
vue/src/views/tool/build/index.vue | 26 +-
vue/src/views/tool/gen/basicInfoForm.vue | 26 +-
vue/src/views/tool/gen/createTable.vue | 12 +-
vue/src/views/tool/gen/editTable.vue | 60 +--
vue/src/views/tool/gen/genInfoForm.vue | 96 ++--
vue/src/views/tool/gen/importTable.vue | 32 +-
vue/src/views/tool/gen/index.vue | 79 ++--
90 files changed, 4060 insertions(+), 2907 deletions(-)
create mode 100644 vue/src/lang/en-US/home.json
create mode 100644 vue/src/lang/en-US/monitor.json
create mode 100644 vue/src/lang/en-US/tool.json
create mode 100644 vue/src/lang/zh-CN/home.json
create mode 100644 vue/src/lang/zh-CN/monitor.json
create mode 100644 vue/src/lang/zh-CN/tool.json
diff --git a/vue/src/lang/en-US/common.json b/vue/src/lang/en-US/common.json
index 893f2681..5664f0fa 100644
--- a/vue/src/lang/en-US/common.json
+++ b/vue/src/lang/en-US/common.json
@@ -130,5 +130,7 @@
"newPassword": "New Password",
"confirmPassword": "Confirm Password",
"batchCancelAuth": "Batch Cancel Authorization",
- "cancelAuth": "Cancel Authorization"
+ "cancelAuth": "Cancel Authorization",
+ "clean": "Clear",
+ "cleanSuccess": "Clear Successful"
}
diff --git a/vue/src/lang/en-US/device.json b/vue/src/lang/en-US/device.json
index 8b18d9a6..ac90b612 100644
--- a/vue/src/lang/en-US/device.json
+++ b/vue/src/lang/en-US/device.json
@@ -139,6 +139,12 @@
"device.device-edit.148398-108": "Please enter a valid firmware format, such as: v1.2.3 or 1.2.3",
"device.device-edit.148398-109": "Please enter 9-64 characters for the device number",
"device.device-edit.148398-110": "ICCID",
+ "device.device-edit.148398-111": "Client ID",
+ "device.device-edit.148398-112": "MQ Account",
+ "device.device-edit.148398-113": "MQ Password",
+ "device.device-edit.148398-114": "Subscribe Topic",
+ "device.device-edit.148398-115": "Publish Topic",
+ "device.device-edit.148398-116": "Port",
"device.device-functionlog.399522-0": "Please Select A Device Slave:",
"device.device-functionlog.399522-1": "Please Select A Device Slave",
"device.device-functionlog.399522-2": "Slave Address:$",
@@ -449,6 +455,7 @@
"device.device-timer.433369-90": "The options and values in the execution action cannot be empty",
"device.device-timer.433369-91": "Modified Successfully",
"device.device-timer.433369-92": "New Successfully Added",
+ "device.device-timer.433369-97": "Please enter an array separated by English commas",
"device.import-record.086254-0": "Equipment Import Record",
"device.import-record.086254-2": "Batch Task Status",
"device.import-record.086254-3": "Start Date",
@@ -955,5 +962,50 @@
"device-bind-sub-device.123456-12": "sub-device configuration",
"device-bind-sub-device.123456-13": "Please go to the product side to bind the sub-product first!",
"device-bind-sub-device.123456-14": "hint",
- "device-bind-sub-device.123456-15": "confirm"
+ "device-bind-sub-device.123456-15": "confirm",
+ "iot.log.index.902341-0": "Log Name",
+ "iot.log.index.902341-1": "Please enter log name",
+ "iot.log.index.902341-2": "Type",
+ "iot.log.index.902341-3": "Please select type",
+ "iot.log.index.902341-4": "Log Level",
+ "iot.log.index.902341-5": "Please enter log level",
+ "iot.log.index.902341-6": "Device ID",
+ "iot.log.index.902341-7": "Please enter device ID",
+ "iot.log.index.902341-8": "Device Name",
+ "iot.log.index.902341-9": "Please enter device name",
+ "iot.log.index.902341-10": "User Nickname",
+ "iot.log.index.902341-11": "Please enter user nickname",
+ "iot.log.index.902341-12": "Tenant Name",
+ "iot.log.index.902341-13": "Please enter tenant name",
+ "iot.log.index.902341-14": "Generate Alert",
+ "iot.log.index.902341-15": "Please enter whether to generate alert",
+ "iot.log.index.902341-16": "Alert Handling",
+ "iot.log.index.902341-17": "Please select alert handling",
+ "iot.log.index.902341-18": "Value",
+ "iot.log.index.902341-19": "User ID",
+ "iot.log.index.902341-20": "Tenant ID",
+ "iot.log.index.902341-21": "Trigger Source",
+ "iot.log.index.902341-22": "Handle",
+ "iot.log.index.902341-23": "Please enter user ID",
+ "iot.log.index.902341-24": "Please enter tenant ID",
+ "iot.log.index.902341-25": "Please enter trigger source",
+ "iot.log.index.902341-26": "Whether to generate alert",
+ "iot.log.index.902341-27": "Received Log Value",
+ "iot.log.index.902341-28": "Please enter received log value",
+ "iot.log.index.902341-29": "Pin to Top",
+ "iot.log.index.902341-30": "Please enter whether to pin",
+ "iot.log.index.902341-31": "Whether to Monitor",
+ "iot.log.index.902341-32": "Please enter whether to monitor",
+ "iot.log.index.902341-33": "Log name cannot be empty",
+ "iot.log.index.902341-34": "Type cannot be empty",
+ "iot.log.index.902341-35": "Log level cannot be empty",
+ "iot.log.index.902341-36": "Device ID cannot be empty",
+ "iot.log.index.902341-37": "Device name cannot be empty",
+ "iot.log.index.902341-38": "User ID cannot be empty",
+ "iot.log.index.902341-39": "User nickname cannot be empty",
+ "iot.log.index.902341-40": "Tenant ID cannot be empty",
+ "iot.log.index.902341-41": "Tenant name cannot be empty",
+ "iot.log.index.902341-42": "Add Device Log",
+ "iot.log.index.902341-43": "Edit Device Log",
+ "iot.log.index.902341-44": "Are you sure to delete the device log with ID {0}?"
}
diff --git a/vue/src/lang/en-US/home.json b/vue/src/lang/en-US/home.json
new file mode 100644
index 00000000..677a2fa2
--- /dev/null
+++ b/vue/src/lang/en-US/home.json
@@ -0,0 +1,71 @@
+{
+ "home.equip": "Equipment Dashboard",
+ "home.deviceCount": "Device Count",
+ "home.monitorCount": "Monitor Data",
+ "home.productCount": "Product Count",
+ "home.alertCount": "Alert Count",
+ "home.functionCount": "Operation Records",
+ "home.eventCount": "Reported Events",
+ "home.infoBoard": "Information Board",
+ "home.notice": "Notice",
+ "home.information": "Information",
+ "home.platformName": "FastBee IoT Platform",
+ "home.licenseNotice": "Open source version uses AGPL-3.0 license, commercial use requires authorization",
+ "home.openSource": "Open Source Version",
+ "home.openSourceDesc": "Available for personal learning and use, non-commercial purposes",
+ "home.commercial": "Commercial Version",
+ "home.commercialDesc": "Commercial use, with all source code provided, features prioritized over open source version.",
+ "home.viewDetails": "View Details",
+ "home.wechatScan": "Scan QR code with WeChat to view mini program",
+ "home.h5Demo": "Right side is mobile H5 version demo",
+ "home.officialWebsite": "Official Website",
+ "home.onlineDoc": "Online Documentation",
+ "home.contactAuthor": "Contact Author",
+ "home.qq": "QQ",
+ "home.sourceCode": "Source Code",
+ "home.giteeSource": "Gitee Source",
+ "home.githubSource": "Github Source",
+ "home.serverName": "Server Name",
+ "home.javaName": "Java Name",
+ "home.serverIp": "Server IP",
+ "home.startTime": "Start Time",
+ "home.os": "Operating System",
+ "home.javaVersion": "Java Version",
+ "home.osArch": "System Architecture",
+ "home.runTime": "Running Time",
+ "home.cpuCore": "CPU Cores",
+ "home.usedMemory": "Used Memory",
+ "home.memSize": "Memory Size",
+ "home.jvmTotalMemory": "JVM Total Memory",
+ "home.deviceDistribution": "Device Distribution",
+ "home.onlineCount": "Online Count",
+ "home.deviceName": "Device Name",
+ "home.deviceSerial": "Device Serial",
+ "home.deviceStatus": "Device Status",
+ "home.notActive": "Not Active",
+ "home.disabled": "Disabled",
+ "home.online": "Online",
+ "home.offline": "Offline",
+ "home.deviceShadow": "Device Shadow",
+ "home.enabled": "Enabled",
+ "home.notEnabled": "Not Enabled",
+ "home.productName": "Product Name",
+ "home.firmwareVersion": "Firmware Version",
+ "home.activeTime": "Active Time",
+ "home.locationWay": "Location Way",
+ "home.autoLocation": "Auto Location",
+ "home.deviceLocation": "Device Location",
+ "home.customLocation": "Custom Location",
+ "home.unknown": "Unknown",
+ "home.address": "Address",
+ "home.cpuUsage": "CPU Usage",
+ "home.user": "User",
+ "home.system": "System",
+ "home.idle": "Idle",
+ "home.memUsage": "Memory Usage",
+ "home.used": "Used",
+ "home.free": "Free",
+ "home.diskUsage": "Disk Usage",
+ "home.diskStatus": "Disk Status",
+ "home.available": "Available"
+}
diff --git a/vue/src/lang/en-US/lg.json b/vue/src/lang/en-US/lg.json
index 4e0186ea..73678841 100644
--- a/vue/src/lang/en-US/lg.json
+++ b/vue/src/lang/en-US/lg.json
@@ -211,5 +211,10 @@
"oauthLogin.oauth.989807-3": "Authorized...",
"oauthLogin.oauth.989807-4": "deny",
"oauthLogin.oauth.989807-5": "Access to your personal information",
- "oauthLogin.oauth.989807-6": "Modify your personal information"
+ "oauthLogin.oauth.989807-6": "Modify your personal information",
+ "login.989807-62": "Password must contain at least 2 types of: uppercase letters, lowercase letters, numbers, special characters",
+ "login.989807-63": "Third-party login is being integrated...",
+ "register.974236-18": "Congratulations, your account",
+ "register.974236-19": "registered successfully!",
+ "register.974236-20": "System Prompt"
}
diff --git a/vue/src/lang/en-US/monitor.json b/vue/src/lang/en-US/monitor.json
new file mode 100644
index 00000000..8279a10a
--- /dev/null
+++ b/vue/src/lang/en-US/monitor.json
@@ -0,0 +1,117 @@
+{
+ "monitor.cache.index.501234-0": "Basic Information",
+ "monitor.cache.index.501234-1": "Redis Version",
+ "monitor.cache.index.501234-2": "Running Mode",
+ "monitor.cache.index.501234-3": "Standalone",
+ "monitor.cache.index.501234-4": "Cluster",
+ "monitor.cache.index.501234-5": "Port",
+ "monitor.cache.index.501234-6": "Number of Clients",
+ "monitor.cache.index.501234-7": "Running Time (Days)",
+ "monitor.cache.index.501234-8": "Used Memory",
+ "monitor.cache.index.501234-9": "Used CPU",
+ "monitor.cache.index.501234-10": "Memory Configuration",
+ "monitor.cache.index.501234-11": "AOF Enabled",
+ "monitor.cache.index.501234-12": "Yes",
+ "monitor.cache.index.501234-13": "No",
+ "monitor.cache.index.501234-14": "RDB Success",
+ "monitor.cache.index.501234-15": "Key Count",
+ "monitor.cache.index.501234-16": "Network In/Out",
+ "monitor.cache.index.501234-17": "Command Statistics",
+ "monitor.cache.index.501234-18": "Memory Information",
+ "monitor.cache.index.501234-19": "Command",
+ "monitor.cache.index.501234-20": "Peak",
+ "monitor.cache.index.501234-21": "Memory Consumption",
+ "monitor.cache.index.501234-22": "Loading cache monitoring data, please wait...",
+ "monitor.cache.list.501235-0": "Cache List",
+ "monitor.cache.list.501235-1": "No.",
+ "monitor.cache.list.501235-2": "Cache Name",
+ "monitor.cache.list.501235-3": "Remark",
+ "monitor.cache.list.501235-4": "Operation",
+ "monitor.cache.list.501235-5": "Key List",
+ "monitor.cache.list.501235-6": "Cache Key",
+ "monitor.cache.list.501235-7": "Cache Content",
+ "monitor.cache.list.501235-8": "Cache Name:",
+ "monitor.cache.list.501235-9": "Cache Key:",
+ "monitor.cache.list.501235-10": "Cache Content:",
+ "monitor.cache.list.501235-11": "Clear All",
+ "monitor.cache.list.501235-12": "Cache list refreshed successfully",
+ "monitor.cache.list.501235-13": "Cache name [{0}] cleared successfully",
+ "monitor.cache.list.501235-14": "Key list refreshed successfully",
+ "monitor.cache.list.501235-15": "Cache key [{0}] cleared successfully",
+ "monitor.cache.list.501235-16": "All cache cleared successfully",
+ "monitor.server.index.501236-0": "Property",
+ "monitor.server.index.501236-1": "Value",
+ "monitor.server.index.501236-2": "Number of Cores",
+ "monitor.server.index.501236-3": "User Usage",
+ "monitor.server.index.501236-4": "System Usage",
+ "monitor.server.index.501236-5": "Current Idle Rate",
+ "monitor.server.index.501236-6": "Memory",
+ "monitor.server.index.501236-7": "JVM",
+ "monitor.server.index.501236-8": "Total Memory",
+ "monitor.server.index.501236-9": "Used Memory",
+ "monitor.server.index.501236-10": "Free Memory",
+ "monitor.server.index.501236-11": "Usage Rate",
+ "monitor.server.index.501236-12": "Server Information",
+ "monitor.server.index.501236-13": "Server Name",
+ "monitor.server.index.501236-14": "Operating System",
+ "monitor.server.index.501236-15": "Server IP",
+ "monitor.server.index.501236-16": "System Architecture",
+ "monitor.server.index.501236-17": "Java Virtual Machine Information",
+ "monitor.server.index.501236-18": "Java Name",
+ "monitor.server.index.501236-19": "Java Version",
+ "monitor.server.index.501236-20": "Start Time",
+ "monitor.server.index.501236-21": "Running Time",
+ "monitor.server.index.501236-22": "Install Path",
+ "monitor.server.index.501236-23": "Project Path",
+ "monitor.server.index.501236-24": "Running Parameters",
+ "monitor.server.index.501236-25": "Disk Status",
+ "monitor.server.index.501236-26": "Drive Path",
+ "monitor.server.index.501236-27": "File System",
+ "monitor.server.index.501236-28": "Drive Type",
+ "monitor.server.index.501236-29": "Total Size",
+ "monitor.server.index.501236-30": "Available Size",
+ "monitor.server.index.501236-31": "Used Size",
+ "monitor.server.index.501236-32": "Used Percentage",
+ "monitor.server.index.501236-33": "Loading server monitoring data, please wait...",
+ "monitor.jobLog.670911-0": "Task Name",
+ "monitor.jobLog.670911-1": "Please enter task name",
+ "monitor.jobLog.670911-2": "Task Group",
+ "monitor.jobLog.670911-3": "Please select task group",
+ "monitor.jobLog.670911-4": "Execution Status",
+ "monitor.jobLog.670911-5": "Please select execution status",
+ "monitor.jobLog.670911-6": "Execution Time",
+ "monitor.jobLog.670911-7": "Start Date",
+ "monitor.jobLog.670911-8": "End Date",
+ "monitor.jobLog.670911-9": "Log ID",
+ "monitor.jobLog.670911-10": "Invoke Target",
+ "monitor.jobLog.670911-11": "Log Message",
+ "monitor.jobLog.670911-12": "Schedule Log Details",
+ "monitor.jobLog.670911-13": "Log No.",
+ "monitor.jobLog.670911-14": "Task Group",
+ "monitor.jobLog.670911-15": "Execution Time",
+ "monitor.jobLog.670911-16": "Invoke Method",
+ "monitor.jobLog.670911-17": "Normal",
+ "monitor.jobLog.670911-18": "Failed",
+ "monitor.jobLog.670911-19": "Exception Info",
+ "monitor.jobLog.670911-20": "Are you sure to delete log ID \"{0}\"?",
+ "monitor.jobLog.670911-21": "Are you sure to clear all schedule logs?",
+ "monitor.logininfor.670912-0": "Login Address",
+ "monitor.logininfor.670912-1": "Please enter login address",
+ "monitor.logininfor.670912-2": "User Name",
+ "monitor.logininfor.670912-3": "Please enter user name",
+ "monitor.logininfor.670912-4": "Login Status",
+ "monitor.logininfor.670912-5": "Please select login status",
+ "monitor.logininfor.670912-6": "Login Time",
+ "monitor.logininfor.670912-7": "Start Date",
+ "monitor.logininfor.670912-8": "End Date",
+ "monitor.logininfor.670912-9": "Unlock",
+ "monitor.logininfor.670912-10": "Info ID",
+ "monitor.logininfor.670912-11": "Login Location",
+ "monitor.logininfor.670912-12": "Browser",
+ "monitor.logininfor.670912-13": "Operating System",
+ "monitor.logininfor.670912-14": "Message",
+ "monitor.logininfor.670912-15": "Are you sure to delete info ID \"{0}\"?",
+ "monitor.logininfor.670912-16": "Are you sure to clear all login logs?",
+ "monitor.logininfor.670912-17": "Are you sure to unlock user \"{0}\"?",
+ "monitor.logininfor.670912-18": "User {0} unlocked successfully"
+}
diff --git a/vue/src/lang/en-US/product.json b/vue/src/lang/en-US/product.json
index aaef0db7..e002b27d 100644
--- a/vue/src/lang/en-US/product.json
+++ b/vue/src/lang/en-US/product.json
@@ -39,6 +39,9 @@
"product.index.091251-39": "Are you sure to delete the data item with product number {0}?",
"product.index.091251-40": "Scada Design",
"product.index.091251-41": "The configuration for this product has not yet been created.",
+ "product.index.091251-47": "System",
+ "product.index.091251-48": "Details",
+ "product.index.091251-49": "Modify",
"product.index.091251-42": "Scada Sharing",
"product.index.091251-43": "Download the JSON template",
"product.index.091251-44": "Import products",
@@ -122,6 +125,7 @@
"product.product-authorize.314975-66": "Copy successful!",
"product.product-authorize.314975-67": "Fail",
"product.product-authorize.314975-68": "Copy failed!",
+ "product.product-authorize.314975-69": "Device Authorization",
"product.product-edit.473153-0": "Basic information",
"product.product-edit.473153-1": "Product Name",
"product.product-edit.473153-2": "Please enter the product name",
@@ -215,6 +219,10 @@
"product.product-edit.473153-93": "Verify your account",
"product.product-edit.473153-94": "Authentication password",
"product.product-edit.473153-95": "Authentication key",
+ "product.product-edit.473153-96": "Enable Authorization",
+ "product.product-edit.473153-97": "Encoding Protocol",
+ "product.product-edit.473153-98": "Please select device type",
+ "product.product-edit.473153-99": "Added successfully, you can start defining the object model or configuration",
"product.product-firmware.420545-0": "Add",
"product.product-firmware.420545-1": "Refresh",
"product.product-firmware.420545-2": "Firmware Name",
@@ -399,6 +407,8 @@
"product.product-things-model.142341-140": "Topped",
"product.product-things-model.142341-141": "This is already the first item",
"product.product-things-model.142341-142": "This is the last item",
+ "product.product-things-model.142341-143": "Please re-enter the value range, the maximum value cannot be less than the minimum value!",
+ "product.product-things-model.142341-144": "The value range must be a decimal, please re-enter!",
"product.product-modbus.562372-0": "Configuration of gateway sub devices",
"product.product-modbus.562372-1": "Configure default sub device addresses and polling methods for gateway sub devices",
"product.product-modbus.562372-2": "Edit device configuration",
diff --git a/vue/src/lang/en-US/scene.json b/vue/src/lang/en-US/scene.json
index 5e0bc6bc..305cea08 100644
--- a/vue/src/lang/en-US/scene.json
+++ b/vue/src/lang/en-US/scene.json
@@ -289,5 +289,50 @@
"scene.configList.326501-0": "Alert Config List",
"scene.configList.326501-1": "Pleace enter the alert name",
"scene.configList.326501-2": "The end user cannot bind the alarm",
- "scene.configList.326501-3": "Success"
+ "scene.configList.326501-3": "Success",
+ "script.index.470901-0": "Script Name",
+ "script.index.470901-1": "Please enter the script name",
+ "script.index.470901-2": "Belonging Product",
+ "script.index.470901-3": "Please select a product",
+ "script.index.470901-4": "Select Product",
+ "script.index.470901-5": "Script Action",
+ "script.index.470901-6": "Please select script action",
+ "script.index.470901-7": "Script Language",
+ "script.index.470901-8": "Status",
+ "script.index.470901-9": "Execution Order",
+ "script.index.470901-10": "Please enter execution order",
+ "script.index.470901-11": "Active",
+ "script.index.470901-12": "Paused",
+ "script.index.470901-13": "Loading",
+ "script.index.470901-14": "Edit Rule Script",
+ "script.index.470901-15": "Modify Rule Engine Script",
+ "script.index.470901-16": "Script Log",
+ "script.index.470901-17": "Script using Groovy engine, view tutorial>>>",
+ "script.index.470901-18": "Verify",
+ "script.index.470901-19": "Modify",
+ "script.index.470901-20": "Cancel",
+ "script.index.470901-21": "Close",
+ "script.index.470901-22": "The script identifier can only contain letters and numbers, starting with a letter",
+ "script.index.470901-23": "Log",
+ "script.index.470901-24": "View",
+ "script.index.470901-25": "Added Successfully",
+ "script.index.470901-26": "Modified Successfully",
+ "script.index.470901-27": "Deleted Successfully",
+ "script.index.470901-28": "Are you sure to delete the rule engine script with ID \"{0}\"?",
+ "script.index.470901-29": "Script ID cannot be empty",
+ "script.index.470901-30": "Product cannot be empty",
+ "script.index.470901-31": "Script name cannot be empty",
+ "productList.index.470902-0": "Select Product",
+ "productList.index.470902-1": "Product Name",
+ "productList.index.470902-2": "Please enter the product name",
+ "productList.index.470902-3": "Category Name",
+ "productList.index.470902-4": "Tenant Name",
+ "productList.index.470902-5": "Authorization Code",
+ "productList.index.470902-6": "Enabled",
+ "productList.index.470902-7": "Not Enabled",
+ "productList.index.470902-8": "Authentication Method",
+ "productList.index.470902-9": "Network Method",
+ "productList.index.470902-10": "Create Time",
+ "productList.index.470902-11": "Confirm",
+ "productList.index.470902-12": "Close"
}
diff --git a/vue/src/lang/en-US/sip.json b/vue/src/lang/en-US/sip.json
index 711a6576..2b39cb3a 100644
--- a/vue/src/lang/en-US/sip.json
+++ b/vue/src/lang/en-US/sip.json
@@ -129,6 +129,7 @@
"sip.mediaServerEdit.998534-26": "Successfully configured address connection",
"sip.mediaServerEdit.998534-27": "Unable to connect to configured address",
"sip.mediaServerEdit.998534-28": "The port number should be between -65535",
+ "sip.mediaServerEdit.998534-31": "Please enter secret",
"sip.mediaServer.998535-0": "Add nodes",
"sip.mediaServer.998535-1": "Configuration Name",
"sip.mediaServer.998535-2": "Server IP",
@@ -158,6 +159,7 @@
"sip.sipConfig.998537-8": "The server domain cannot be empty",
"sip.sipConfig.998537-9": "Server sipid cannot be empty",
"sip.sipConfig.998537-10": "The SIP authentication password cannot be empty",
+ "sip.sipConfig.998537-11": "GB28181 Protocol",
"sip.sipidGen.998538-0": "administrative division",
"sip.sipidGen.998538-1": "Generate device number and channel",
"sip.sipidGen.998538-2": "Device number and channel have been generated",
diff --git a/vue/src/lang/en-US/system.json b/vue/src/lang/en-US/system.json
index 247be871..51bfbf5d 100644
--- a/vue/src/lang/en-US/system.json
+++ b/vue/src/lang/en-US/system.json
@@ -25,6 +25,9 @@
"system.user.index.resetPwdConfirm": "Please enter new password for {0}",
"system.user.index.enable": "Enable",
"system.user.index.disable": "Disable",
+ "system.user.index.userNameLength": "User name length must be between 2 and 20",
+ "system.user.index.passwordLength": "User password length must be between 5 and 20",
+ "system.user.index.confirmStatusChange": "Are you sure to \"{0}\" \"{1}\" user?",
"system.user.profile.nickNameRequired": "Nick name cannot be empty",
"system.user.profile.emailRequired": "Email cannot be empty",
"system.user.profile.emailFormat": "Please enter correct email address",
@@ -57,6 +60,8 @@
"system.user.profile.phoneNumber": "Phone Number",
"system.user.profile.emailAddress": "Email",
"system.user.profile.gender": "Gender",
+ "system.user.profile.passwordLength": "Length must be between 6 and 20 characters",
+ "system.user.profile.passwordStrength": "Password must contain at least 2 types of: uppercase, lowercase, numbers, special characters",
"system.user.authRole.nickName": "Nick Name",
"system.user.authRole.loginAccount": "Login Account",
"system.user.authRole.index": "Index",
diff --git a/vue/src/lang/en-US/template.json b/vue/src/lang/en-US/template.json
index 1b8d2979..231ae572 100644
--- a/vue/src/lang/en-US/template.json
+++ b/vue/src/lang/en-US/template.json
@@ -165,5 +165,13 @@
"template.paramter.038405-57": "close",
"template.paramter.038405-58": "open",
"template.paramter.038405-59": "low",
- "template.paramter.038405-60": "high"
+ "template.paramter.038405-60": "high",
+ "template.index.891112-125": "Please re-enter the value range. The maximum value cannot be less than the minimum value!",
+ "template.index.891112-126": "The value range must be a decimal. Please re-enter!",
+ "template.index.891112-127": "Parameter identifier {0} is duplicated",
+ "template.index.891112-128": "Modified successfully",
+ "template.index.891112-129": "Added successfully",
+ "template.index.891112-130": "Deleted successfully",
+ "template.index.891112-131": "Edit",
+ "template.index.891112-132": "Minimum value must be decimal"
}
diff --git a/vue/src/lang/en-US/tool.json b/vue/src/lang/en-US/tool.json
new file mode 100644
index 00000000..eed8c3a3
--- /dev/null
+++ b/vue/src/lang/en-US/tool.json
@@ -0,0 +1,276 @@
+{
+ "tool.import.670901-0": "Import Table",
+ "tool.import.670901-1": "Data Source",
+ "tool.import.670901-2": "Please select data source",
+ "tool.import.670901-3": "Table Name",
+ "tool.import.670901-4": "Please enter table name",
+ "tool.import.670901-5": "Table Description",
+ "tool.import.670901-6": "Please enter table description",
+ "tool.import.670901-7": "Create Time",
+ "tool.import.670901-8": "Update Time",
+ "tool.import.670901-9": "Please select tables to import",
+ "tool.genInfo.670902-0": "Generate Template",
+ "tool.genInfo.670902-1": "Single Table (CRUD)",
+ "tool.genInfo.670902-2": "Tree Table (CRUD)",
+ "tool.genInfo.670902-3": "Master-Sub Table (CRUD)",
+ "tool.genInfo.670902-4": "Frontend Type",
+ "tool.genInfo.670902-5": "Vue2 Element UI Template",
+ "tool.genInfo.670902-6": "Vue3 Element Plus Template",
+ "tool.genInfo.670902-7": "Package Path",
+ "tool.genInfo.670902-8": "Generate under which java package, e.g. com.ruoyi.system",
+ "tool.genInfo.670902-9": "Module Name",
+ "tool.genInfo.670902-10": "Can be understood as subsystem name, e.g. system",
+ "tool.genInfo.670902-11": "Business Name",
+ "tool.genInfo.670902-12": "Can be understood as function English name, e.g. user",
+ "tool.genInfo.670902-13": "Function Name",
+ "tool.genInfo.670902-14": "Used for class description, e.g. User",
+ "tool.genInfo.670902-15": "Code Generation Method",
+ "tool.genInfo.670902-16": "Default is zip compressed package download, can also customize generation path",
+ "tool.genInfo.670902-17": "Zip Package",
+ "tool.genInfo.670902-18": "Custom Path",
+ "tool.genInfo.670902-19": "Parent Menu",
+ "tool.genInfo.670902-20": "Assign to specified menu, e.g. System Management",
+ "tool.genInfo.670902-21": "Please select system menu",
+ "tool.genInfo.670902-22": "Fill in absolute disk path, if not filled, generate under current Web project",
+ "tool.genInfo.670902-23": "Recent Path Quick Select",
+ "tool.genInfo.670902-24": "Restore default generation base path",
+ "tool.genInfo.670902-25": "Other Information",
+ "tool.genInfo.670902-26": "Tree Code Field",
+ "tool.genInfo.670902-27": "Tree display code field name, e.g. dept_id",
+ "tool.genInfo.670902-28": "Please select",
+ "tool.genInfo.670902-29": "Tree Parent Code Field",
+ "tool.genInfo.670902-30": "Tree display parent code field name, e.g. parent_id",
+ "tool.genInfo.670902-31": "Tree Name Field",
+ "tool.genInfo.670902-32": "Tree node display name field name, e.g. dept_name",
+ "tool.genInfo.670902-33": "Association Information",
+ "tool.genInfo.670902-34": "Associated Sub Table Name",
+ "tool.genInfo.670902-35": "Associated sub table name, e.g. sys_user",
+ "tool.genInfo.670902-36": "Sub Table Foreign Key Name",
+ "tool.genInfo.670902-37": "Sub table associated foreign key name, e.g. user_id",
+ "tool.genInfo.670902-38": "Please select generate template",
+ "tool.genInfo.670902-39": "Please enter package path",
+ "tool.genInfo.670902-40": "Please enter module name",
+ "tool.genInfo.670902-41": "Please enter business name",
+ "tool.genInfo.670902-42": "Please enter function name",
+ "tool.editTable.670903-0": "Basic Information",
+ "tool.editTable.670903-1": "Column Information",
+ "tool.editTable.670903-2": "Generate Information",
+ "tool.editTable.670903-3": "No.",
+ "tool.editTable.670903-4": "Column Name",
+ "tool.editTable.670903-5": "Column Description",
+ "tool.editTable.670903-6": "Physical Type",
+ "tool.editTable.670903-7": "Java Type",
+ "tool.editTable.670903-8": "Java Property",
+ "tool.editTable.670903-9": "Insert",
+ "tool.editTable.670903-10": "Edit",
+ "tool.editTable.670903-11": "List",
+ "tool.editTable.670903-12": "Query",
+ "tool.editTable.670903-13": "Query Method",
+ "tool.editTable.670903-14": "Required",
+ "tool.editTable.670903-15": "Display Type",
+ "tool.editTable.670903-16": "Input Box",
+ "tool.editTable.670903-17": "Textarea",
+ "tool.editTable.670903-18": "Select",
+ "tool.editTable.670903-19": "Radio",
+ "tool.editTable.670903-20": "Checkbox",
+ "tool.editTable.670903-21": "Date Control",
+ "tool.editTable.670903-22": "Image Upload",
+ "tool.editTable.670903-23": "File Upload",
+ "tool.editTable.670903-24": "Rich Text Control",
+ "tool.editTable.670903-25": "Dict Type",
+ "tool.editTable.670903-26": "Please select",
+ "tool.editTable.670903-27": "Submit",
+ "tool.editTable.670903-28": "Back",
+ "tool.editTable.670903-29": "Form validation failed, please check and resubmit",
+ "tool.createTable.670904-0": "Create Table",
+ "tool.createTable.670904-1": "Create table statement (supports multiple statements):",
+ "tool.createTable.670904-2": "Please enter text",
+ "tool.createTable.670904-3": "Please enter table creation statement",
+ "tool.basicInfo.670905-0": "Table Name",
+ "tool.basicInfo.670905-1": "Please enter repository name",
+ "tool.basicInfo.670905-2": "Table Description",
+ "tool.basicInfo.670905-3": "Please enter",
+ "tool.basicInfo.670905-4": "Entity Class Name",
+ "tool.basicInfo.670905-5": "Author",
+ "tool.basicInfo.670905-6": "Remark",
+ "tool.basicInfo.670905-7": "Please enter table name",
+ "tool.basicInfo.670905-8": "Please enter table description",
+ "tool.basicInfo.670905-9": "Please enter entity class name",
+ "tool.basicInfo.670905-10": "Please enter author",
+ "tool.build.index.670906-0": "Form Generator",
+ "tool.build.index.670906-1": "Input Components",
+ "tool.build.index.670906-2": "Select Components",
+ "tool.build.index.670906-3": "Layout Components",
+ "tool.build.index.670906-4": "Export Vue File",
+ "tool.build.index.670906-5": "Copy Code",
+ "tool.build.index.670906-6": "Clear",
+ "tool.build.index.670906-7": "Drag or click components from the left to design form",
+ "tool.build.index.670906-8": "Success",
+ "tool.build.index.670906-9": "Code has been copied to clipboard",
+ "tool.build.index.670906-10": "Code copy failed",
+ "tool.build.index.670906-11": "Are you sure to clear all components?",
+ "tool.build.index.670906-12": "Tip",
+ "tool.rightPanel.670907-0": "Component Properties",
+ "tool.rightPanel.670907-1": "Form Properties",
+ "tool.rightPanel.670907-2": "View Component Documentation",
+ "tool.rightPanel.670907-3": "Component Type",
+ "tool.rightPanel.670907-4": "Please select component type",
+ "tool.rightPanel.670907-5": "Field Name",
+ "tool.rightPanel.670907-6": "Please enter field name (v-model)",
+ "tool.rightPanel.670907-7": "Component Name",
+ "tool.rightPanel.670907-8": "Label",
+ "tool.rightPanel.670907-9": "Please enter label",
+ "tool.rightPanel.670907-10": "Placeholder",
+ "tool.rightPanel.670907-11": "Please enter placeholder",
+ "tool.rightPanel.670907-12": "Start Placeholder",
+ "tool.rightPanel.670907-13": "End Placeholder",
+ "tool.rightPanel.670907-14": "Form Grid",
+ "tool.rightPanel.670907-15": "Grid Gap",
+ "tool.rightPanel.670907-16": "Layout Mode",
+ "tool.rightPanel.670907-17": "Justify Content",
+ "tool.rightPanel.670907-18": "Please select justify content",
+ "tool.rightPanel.670907-19": "Align Items",
+ "tool.rightPanel.670907-20": "Label Width",
+ "tool.rightPanel.670907-21": "Please enter label width",
+ "tool.rightPanel.670907-22": "Component Width",
+ "tool.rightPanel.670907-23": "Please enter component width",
+ "tool.rightPanel.670907-24": "Default Value",
+ "tool.rightPanel.670907-25": "Please enter default value",
+ "tool.rightPanel.670907-26": "Min Selection",
+ "tool.rightPanel.670907-27": "Max Selection",
+ "tool.rightPanel.670907-28": "Prefix",
+ "tool.rightPanel.670907-29": "Please enter prefix",
+ "tool.rightPanel.670907-30": "Suffix",
+ "tool.rightPanel.670907-31": "Please enter suffix",
+ "tool.rightPanel.670907-32": "Prefix Icon",
+ "tool.rightPanel.670907-33": "Please enter prefix icon name",
+ "tool.rightPanel.670907-34": "Select",
+ "tool.rightPanel.670907-35": "Suffix Icon",
+ "tool.rightPanel.670907-36": "Please enter suffix icon name",
+ "tool.rightPanel.670907-37": "Option Separator",
+ "tool.rightPanel.670907-38": "Please enter option separator",
+ "tool.rightPanel.670907-39": "Min Rows",
+ "tool.rightPanel.670907-40": "Max Rows",
+ "tool.rightPanel.670907-41": "Min Value",
+ "tool.rightPanel.670907-42": "Max Value",
+ "tool.rightPanel.670907-43": "Step",
+ "tool.rightPanel.670907-44": "Precision",
+ "tool.rightPanel.670907-45": "Controls Position",
+ "tool.rightPanel.670907-46": "Default",
+ "tool.rightPanel.670907-47": "Right",
+ "tool.rightPanel.670907-48": "Max Input",
+ "tool.rightPanel.670907-49": "characters",
+ "tool.rightPanel.670907-50": "Active Text",
+ "tool.rightPanel.670907-51": "Please enter active text",
+ "tool.rightPanel.670907-52": "Inactive Text",
+ "tool.rightPanel.670907-53": "Please enter inactive text",
+ "tool.rightPanel.670907-54": "Active Value",
+ "tool.rightPanel.670907-55": "Please enter active value",
+ "tool.rightPanel.670907-56": "Inactive Value",
+ "tool.rightPanel.670907-57": "Please enter inactive value",
+ "tool.rightPanel.670907-58": "Date Type",
+ "tool.rightPanel.670907-59": "Please select date type",
+ "tool.rightPanel.670907-60": "File Field Name",
+ "tool.rightPanel.670907-61": "Please enter upload file field name",
+ "tool.rightPanel.670907-62": "File Type",
+ "tool.rightPanel.670907-63": "Please select file type",
+ "tool.rightPanel.670907-64": "Image",
+ "tool.rightPanel.670907-65": "Video",
+ "tool.rightPanel.670907-66": "Audio",
+ "tool.rightPanel.670907-67": "File Size",
+ "tool.rightPanel.670907-68": "Please enter file size",
+ "tool.rightPanel.670907-69": "Upload Address",
+ "tool.rightPanel.670907-70": "Please enter upload address",
+ "tool.rightPanel.670907-71": "List Type",
+ "tool.rightPanel.670907-72": "Button Text",
+ "tool.rightPanel.670907-73": "Please enter button text",
+ "tool.rightPanel.670907-74": "Separator",
+ "tool.rightPanel.670907-75": "Please enter separator",
+ "tool.rightPanel.670907-76": "Time Range",
+ "tool.rightPanel.670907-77": "Please enter time range",
+ "tool.rightPanel.670907-78": "Date Format",
+ "tool.rightPanel.670907-79": "Please enter date format",
+ "tool.rightPanel.670907-80": "Options",
+ "tool.rightPanel.670907-81": "Option Name",
+ "tool.rightPanel.670907-82": "Option Value",
+ "tool.rightPanel.670907-83": "Add Option",
+ "tool.rightPanel.670907-84": "Data Type",
+ "tool.rightPanel.670907-85": "Dynamic Data",
+ "tool.rightPanel.670907-86": "Static Data",
+ "tool.rightPanel.670907-87": "Label Key",
+ "tool.rightPanel.670907-88": "Please enter label key",
+ "tool.rightPanel.670907-89": "Value Key",
+ "tool.rightPanel.670907-90": "Please enter value key",
+ "tool.rightPanel.670907-91": "Children Key",
+ "tool.rightPanel.670907-92": "Please enter children key",
+ "tool.rightPanel.670907-93": "Add Parent",
+ "tool.rightPanel.670907-94": "Option Style",
+ "tool.rightPanel.670907-95": "Button",
+ "tool.rightPanel.670907-96": "Active Color",
+ "tool.rightPanel.670907-97": "Inactive Color",
+ "tool.rightPanel.670907-98": "Allow Half",
+ "tool.rightPanel.670907-99": "Show Text",
+ "tool.rightPanel.670907-100": "Show Score",
+ "tool.rightPanel.670907-101": "Show Stops",
+ "tool.rightPanel.670907-102": "Range Selection",
+ "tool.rightPanel.670907-103": "Show Border",
+ "tool.rightPanel.670907-104": "Color Format",
+ "tool.rightPanel.670907-105": "Please select color format",
+ "tool.rightPanel.670907-106": "Option Size",
+ "tool.rightPanel.670907-107": "Medium",
+ "tool.rightPanel.670907-108": "Small",
+ "tool.rightPanel.670907-109": "Mini",
+ "tool.rightPanel.670907-110": "Show Word Limit",
+ "tool.rightPanel.670907-111": "Step Strictly",
+ "tool.rightPanel.670907-112": "Multiple Selection",
+ "tool.rightPanel.670907-113": "Show All Levels",
+ "tool.rightPanel.670907-114": "Filterable",
+ "tool.rightPanel.670907-115": "Clearable",
+ "tool.rightPanel.670907-116": "Show Tip",
+ "tool.rightPanel.670907-117": "Multiple Files",
+ "tool.rightPanel.670907-118": "Auto Upload",
+ "tool.rightPanel.670907-119": "Readonly",
+ "tool.rightPanel.670907-120": "Disabled",
+ "tool.rightPanel.670907-121": "Searchable",
+ "tool.rightPanel.670907-122": "Required",
+ "tool.rightPanel.670907-123": "Layout Structure Tree",
+ "tool.rightPanel.670907-124": "Regular Validation",
+ "tool.rightPanel.670907-125": "Expression",
+ "tool.rightPanel.670907-126": "Please enter regex",
+ "tool.rightPanel.670907-127": "Error Message",
+ "tool.rightPanel.670907-128": "Please enter error message",
+ "tool.rightPanel.670907-129": "Add Rule",
+ "tool.rightPanel.670907-130": "Form Name",
+ "tool.rightPanel.670907-131": "Please enter form name (ref)",
+ "tool.rightPanel.670907-132": "Form Model",
+ "tool.rightPanel.670907-133": "Please enter data model",
+ "tool.rightPanel.670907-134": "Validation Model",
+ "tool.rightPanel.670907-135": "Please enter validation model",
+ "tool.rightPanel.670907-136": "Form Size",
+ "tool.rightPanel.670907-137": "Label Position",
+ "tool.rightPanel.670907-138": "Left",
+ "tool.rightPanel.670907-139": "Right",
+ "tool.rightPanel.670907-140": "Top",
+ "tool.rightPanel.670907-141": "Disable Form",
+ "tool.rightPanel.670907-142": "Form Buttons",
+ "tool.rightPanel.670907-143": "Show Unfocused Component Border",
+ "tool.rightPanel.670907-144": "Add Option",
+ "tool.treeNode.670908-0": "Option Name",
+ "tool.treeNode.670908-1": "Please enter option name",
+ "tool.treeNode.670908-2": "Option Value",
+ "tool.treeNode.670908-3": "Please enter option value",
+ "tool.treeNode.670908-4": "String",
+ "tool.treeNode.670908-5": "Number",
+ "tool.treeNode.670908-6": "Confirm",
+ "tool.treeNode.670908-7": "Cancel",
+ "tool.icons.670909-0": "Select Icon",
+ "tool.icons.670909-1": "Please enter icon name",
+"tool.build.index.670906-13": "Copy",
+"tool.build.index.670906-14": "Delete",
+"tool.codeType.670910-0": "Generate Type",
+"tool.codeType.670910-1": "File Name",
+"tool.codeType.670910-2": "Please enter file name",
+"tool.codeType.670910-3": "Page",
+"tool.codeType.670910-4": "Dialog",
+"tool.codeType.670910-5": "Generate type cannot be empty"
+}
diff --git a/vue/src/lang/zh-CN/common.json b/vue/src/lang/zh-CN/common.json
index 80705e4b..88a77e6e 100644
--- a/vue/src/lang/zh-CN/common.json
+++ b/vue/src/lang/zh-CN/common.json
@@ -129,6 +129,8 @@
"oldPassword": "旧密码",
"newPassword": "新密码",
"confirmPassword": "确认密码",
- "batchCancelAuth": "批量取消授权",
- "cancelAuth": "取消授权"
+ "batchCancelAuth": "批量取消授权",
+ "cancelAuth": "取消授权",
+ "clean": "清空",
+ "cleanSuccess": "清空成功"
}
diff --git a/vue/src/lang/zh-CN/device.json b/vue/src/lang/zh-CN/device.json
index 0955376b..d1d4163d 100644
--- a/vue/src/lang/zh-CN/device.json
+++ b/vue/src/lang/zh-CN/device.json
@@ -139,6 +139,12 @@
"device.device-edit.148398-108": "请输入有效的固件号格式,如:v1.2.3 或 1.2.3",
"device.device-edit.148398-109": "请输入9-64位字符之间的设备编号",
"device.device-edit.148398-110": "ICCID",
+ "device.device-edit.148398-111": "客户端ID",
+ "device.device-edit.148398-112": "MQ账号",
+ "device.device-edit.148398-113": "MQ密码",
+ "device.device-edit.148398-114": "订阅主题",
+ "device.device-edit.148398-115": "发布主题",
+ "device.device-edit.148398-116": "连接端口",
"device.device-functionlog.399522-0": "请选择设备从机:",
"device.device-functionlog.399522-1": "请选择设备从机",
"device.device-functionlog.399522-2": "从机地址:$",
@@ -449,6 +455,7 @@
"device.device-timer.433369-90": "执行动作中的选项和值不能为空",
"device.device-timer.433369-91": "修改成功",
"device.device-timer.433369-92": "新增成功",
+ "device.device-timer.433369-97": "请输入英文逗号分隔的数组",
"device.import-record.086254-0": "设备导入记录",
"device.import-record.086254-2": "批次任务状态",
"device.import-record.086254-3": "开始日期",
@@ -955,5 +962,50 @@
"device-bind-sub-device.123456-12": "子设备配置",
"device-bind-sub-device.123456-13": "请先去产品侧绑定子产品!",
"device-bind-sub-device.123456-14": "提示",
- "device-bind-sub-device.123456-15": "确定"
+ "device-bind-sub-device.123456-15": "确定",
+ "iot.log.index.902341-0": "日志名称",
+ "iot.log.index.902341-1": "请输入日志名称",
+ "iot.log.index.902341-2": "类型",
+ "iot.log.index.902341-3": "请选择类型",
+ "iot.log.index.902341-4": "日志级别",
+ "iot.log.index.902341-5": "请输入日志级别",
+ "iot.log.index.902341-6": "设备ID",
+ "iot.log.index.902341-7": "请输入设备ID",
+ "iot.log.index.902341-8": "设备名称",
+ "iot.log.index.902341-9": "请输入设备名称",
+ "iot.log.index.902341-10": "用户昵称",
+ "iot.log.index.902341-11": "请输入用户昵称",
+ "iot.log.index.902341-12": "租户名称",
+ "iot.log.index.902341-13": "请输入租户名称",
+ "iot.log.index.902341-14": "生成告警",
+ "iot.log.index.902341-15": "请输入是否生成告警",
+ "iot.log.index.902341-16": "告警处理",
+ "iot.log.index.902341-17": "请选择告警处理",
+ "iot.log.index.902341-18": "值",
+ "iot.log.index.902341-19": "用户ID",
+ "iot.log.index.902341-20": "租户ID",
+ "iot.log.index.902341-21": "触发源",
+ "iot.log.index.902341-22": "处理",
+ "iot.log.index.902341-23": "请输入用户ID",
+ "iot.log.index.902341-24": "请输入租户ID",
+ "iot.log.index.902341-25": "请输入触发源",
+ "iot.log.index.902341-26": "是否生成告警",
+ "iot.log.index.902341-27": "日志收到的值",
+ "iot.log.index.902341-28": "请输入日志收到的值",
+ "iot.log.index.902341-29": "是否置顶",
+ "iot.log.index.902341-30": "请输入是否置顶",
+ "iot.log.index.902341-31": "是否监测",
+ "iot.log.index.902341-32": "请输入是否监测",
+ "iot.log.index.902341-33": "日志名称不能为空",
+ "iot.log.index.902341-34": "类型不能为空",
+ "iot.log.index.902341-35": "日志级别不能为空",
+ "iot.log.index.902341-36": "设备ID不能为空",
+ "iot.log.index.902341-37": "设备名称不能为空",
+ "iot.log.index.902341-38": "用户ID不能为空",
+ "iot.log.index.902341-39": "用户昵称不能为空",
+ "iot.log.index.902341-40": "租户ID不能为空",
+ "iot.log.index.902341-41": "租户名称不能为空",
+ "iot.log.index.902341-42": "添加设备日志",
+ "iot.log.index.902341-43": "修改设备日志",
+ "iot.log.index.902341-44": "是否确认删除设备日志编号为{0}的数据项?"
}
diff --git a/vue/src/lang/zh-CN/home.json b/vue/src/lang/zh-CN/home.json
new file mode 100644
index 00000000..01402332
--- /dev/null
+++ b/vue/src/lang/zh-CN/home.json
@@ -0,0 +1,71 @@
+{
+ "home.equip": "设备看板",
+ "home.deviceCount": "设备数量",
+ "home.monitorCount": "监测数据",
+ "home.productCount": "产品数量",
+ "home.alertCount": "告警数量",
+ "home.functionCount": "操作记录",
+ "home.eventCount": "上报事件",
+ "home.infoBoard": "信息栏",
+ "home.notice": "公告",
+ "home.information": "信息",
+ "home.platformName": "FastBee物联网平台",
+ "home.licenseNotice": "开源版本采用AGPL-3.0许可协议,商用需要获得授权",
+ "home.openSource": "开源版本",
+ "home.openSourceDesc": "可用于个人学习和使用,非商业用途",
+ "home.commercial": "商业版本",
+ "home.commercialDesc": "商业用途,并提供所有源码,功能优先开源版本发布。",
+ "home.viewDetails": "查看详情",
+ "home.wechatScan": "微信扫一扫,查看小程序端",
+ "home.h5Demo": "右侧是移动端H5版本演示",
+ "home.officialWebsite": "官方网站",
+ "home.onlineDoc": "在线文档",
+ "home.contactAuthor": "联系作者",
+ "home.qq": "QQ",
+ "home.sourceCode": "系统源码",
+ "home.giteeSource": "Gitee源码",
+ "home.githubSource": "Github源码",
+ "home.serverName": "服务器名",
+ "home.javaName": "Java名称",
+ "home.serverIp": "服务器IP",
+ "home.startTime": "启动时间",
+ "home.os": "操作系统",
+ "home.javaVersion": "Java版本",
+ "home.osArch": "系统架构",
+ "home.runTime": "运行时长",
+ "home.cpuCore": "CPU核心",
+ "home.usedMemory": "占用内存",
+ "home.memSize": "内存大小",
+ "home.jvmTotalMemory": "JVM总内存",
+ "home.deviceDistribution": "设备分布",
+ "home.onlineCount": "在线数",
+ "home.deviceName": "设备名称",
+ "home.deviceSerial": "设备编号",
+ "home.deviceStatus": "设备状态",
+ "home.notActive": "未激活",
+ "home.disabled": "禁用",
+ "home.online": "在线",
+ "home.offline": "离线",
+ "home.deviceShadow": "设备影子",
+ "home.enabled": "启用",
+ "home.notEnabled": "未启用",
+ "home.productName": "产品名称",
+ "home.firmwareVersion": "固件版本",
+ "home.activeTime": "激活时间",
+ "home.locationWay": "定位方式",
+ "home.autoLocation": "自动定位",
+ "home.deviceLocation": "设备定位",
+ "home.customLocation": "自定义位置",
+ "home.unknown": "未知",
+ "home.address": "所在地址",
+ "home.cpuUsage": "CPU使用率",
+ "home.user": "用户",
+ "home.system": "系统",
+ "home.idle": "空闲",
+ "home.memUsage": "内存使用率",
+ "home.used": "已用",
+ "home.free": "剩余",
+ "home.diskUsage": "系统盘使用率",
+ "home.diskStatus": "磁盘状态",
+ "home.available": "可用"
+}
diff --git a/vue/src/lang/zh-CN/lg.json b/vue/src/lang/zh-CN/lg.json
index 1ab0f745..38d70d29 100644
--- a/vue/src/lang/zh-CN/lg.json
+++ b/vue/src/lang/zh-CN/lg.json
@@ -211,5 +211,10 @@
"oauthLogin.oauth.989807-3": "授权中...",
"oauthLogin.oauth.989807-4": "拒绝",
"oauthLogin.oauth.989807-5": "访问你的个人信息",
- "oauthLogin.oauth.989807-6": "修改你的个人信息"
+ "oauthLogin.oauth.989807-6": "修改你的个人信息",
+ "login.989807-62": "密码须由大写,小写字母,数字,特殊符中的2种及以上类型组成",
+ "login.989807-63": "第三方登录正在集成中...",
+ "register.974236-18": "恭喜你,您的账号",
+ "register.974236-19": "注册成功!",
+ "register.974236-20": "系统提示"
}
diff --git a/vue/src/lang/zh-CN/monitor.json b/vue/src/lang/zh-CN/monitor.json
new file mode 100644
index 00000000..740b4ec6
--- /dev/null
+++ b/vue/src/lang/zh-CN/monitor.json
@@ -0,0 +1,117 @@
+{
+ "monitor.cache.index.501234-0": "基本信息",
+ "monitor.cache.index.501234-1": "Redis版本",
+ "monitor.cache.index.501234-2": "运行模式",
+ "monitor.cache.index.501234-3": "单机",
+ "monitor.cache.index.501234-4": "集群",
+ "monitor.cache.index.501234-5": "端口",
+ "monitor.cache.index.501234-6": "客户端数",
+ "monitor.cache.index.501234-7": "运行时间(天)",
+ "monitor.cache.index.501234-8": "使用内存",
+ "monitor.cache.index.501234-9": "使用CPU",
+ "monitor.cache.index.501234-10": "内存配置",
+ "monitor.cache.index.501234-11": "AOF是否开启",
+ "monitor.cache.index.501234-12": "是",
+ "monitor.cache.index.501234-13": "否",
+ "monitor.cache.index.501234-14": "RDB是否成功",
+ "monitor.cache.index.501234-15": "Key数量",
+ "monitor.cache.index.501234-16": "网络入口/出口",
+ "monitor.cache.index.501234-17": "命令统计",
+ "monitor.cache.index.501234-18": "内存信息",
+ "monitor.cache.index.501234-19": "命令",
+ "monitor.cache.index.501234-20": "峰值",
+ "monitor.cache.index.501234-21": "内存消耗",
+ "monitor.cache.index.501234-22": "正在加载缓存监控数据,请稍候!",
+ "monitor.cache.list.501235-0": "缓存列表",
+ "monitor.cache.list.501235-1": "序号",
+ "monitor.cache.list.501235-2": "缓存名称",
+ "monitor.cache.list.501235-3": "备注",
+ "monitor.cache.list.501235-4": "操作",
+ "monitor.cache.list.501235-5": "键名列表",
+ "monitor.cache.list.501235-6": "缓存键名",
+ "monitor.cache.list.501235-7": "缓存内容",
+ "monitor.cache.list.501235-8": "缓存名称:",
+ "monitor.cache.list.501235-9": "缓存键名:",
+ "monitor.cache.list.501235-10": "缓存内容:",
+ "monitor.cache.list.501235-11": "清理全部",
+ "monitor.cache.list.501235-12": "刷新缓存列表成功",
+ "monitor.cache.list.501235-13": "清理缓存名称[{0}]成功",
+ "monitor.cache.list.501235-14": "刷新键名列表成功",
+ "monitor.cache.list.501235-15": "清理缓存键名[{0}]成功",
+ "monitor.cache.list.501235-16": "清理全部缓存成功",
+ "monitor.server.index.501236-0": "属性",
+ "monitor.server.index.501236-1": "值",
+ "monitor.server.index.501236-2": "核心数",
+ "monitor.server.index.501236-3": "用户使用率",
+ "monitor.server.index.501236-4": "系统使用率",
+ "monitor.server.index.501236-5": "当前空闲率",
+ "monitor.server.index.501236-6": "内存",
+ "monitor.server.index.501236-7": "JVM",
+ "monitor.server.index.501236-8": "总内存",
+ "monitor.server.index.501236-9": "已用内存",
+ "monitor.server.index.501236-10": "剩余内存",
+ "monitor.server.index.501236-11": "使用率",
+ "monitor.server.index.501236-12": "服务器信息",
+ "monitor.server.index.501236-13": "服务器名称",
+ "monitor.server.index.501236-14": "操作系统",
+ "monitor.server.index.501236-15": "服务器IP",
+ "monitor.server.index.501236-16": "系统架构",
+ "monitor.server.index.501236-17": "Java虚拟机信息",
+ "monitor.server.index.501236-18": "Java名称",
+ "monitor.server.index.501236-19": "Java版本",
+ "monitor.server.index.501236-20": "启动时间",
+ "monitor.server.index.501236-21": "运行时长",
+ "monitor.server.index.501236-22": "安装路径",
+ "monitor.server.index.501236-23": "项目路径",
+ "monitor.server.index.501236-24": "运行参数",
+ "monitor.server.index.501236-25": "磁盘状态",
+ "monitor.server.index.501236-26": "盘符路径",
+ "monitor.server.index.501236-27": "文件系统",
+ "monitor.server.index.501236-28": "盘符类型",
+ "monitor.server.index.501236-29": "总大小",
+ "monitor.server.index.501236-30": "可用大小",
+ "monitor.server.index.501236-31": "已用大小",
+ "monitor.server.index.501236-32": "已用百分比",
+ "monitor.server.index.501236-33": "正在加载服务监控数据,请稍候!",
+ "monitor.jobLog.670911-0": "任务名称",
+ "monitor.jobLog.670911-1": "请输入任务名称",
+ "monitor.jobLog.670911-2": "任务组名",
+ "monitor.jobLog.670911-3": "请选择任务组名",
+ "monitor.jobLog.670911-4": "执行状态",
+ "monitor.jobLog.670911-5": "请选择执行状态",
+ "monitor.jobLog.670911-6": "执行时间",
+ "monitor.jobLog.670911-7": "开始日期",
+ "monitor.jobLog.670911-8": "结束日期",
+ "monitor.jobLog.670911-9": "日志编号",
+ "monitor.jobLog.670911-10": "调用目标字符串",
+ "monitor.jobLog.670911-11": "日志信息",
+ "monitor.jobLog.670911-12": "调度日志详细",
+ "monitor.jobLog.670911-13": "日志序号",
+ "monitor.jobLog.670911-14": "任务分组",
+ "monitor.jobLog.670911-15": "执行时间",
+ "monitor.jobLog.670911-16": "调用方法",
+ "monitor.jobLog.670911-17": "正常",
+ "monitor.jobLog.670911-18": "失败",
+ "monitor.jobLog.670911-19": "异常信息",
+ "monitor.jobLog.670911-20": "是否确认删除调度日志编号为\"{0}\"的数据项?",
+ "monitor.jobLog.670911-21": "是否确认清空所有调度日志数据项?",
+ "monitor.logininfor.670912-0": "登录地址",
+ "monitor.logininfor.670912-1": "请输入登录地址",
+ "monitor.logininfor.670912-2": "用户名称",
+ "monitor.logininfor.670912-3": "请输入用户名称",
+ "monitor.logininfor.670912-4": "登录状态",
+ "monitor.logininfor.670912-5": "请选择登录状态",
+ "monitor.logininfor.670912-6": "登录时间",
+ "monitor.logininfor.670912-7": "开始日期",
+ "monitor.logininfor.670912-8": "结束日期",
+ "monitor.logininfor.670912-9": "解锁",
+ "monitor.logininfor.670912-10": "访问编号",
+ "monitor.logininfor.670912-11": "登录地点",
+ "monitor.logininfor.670912-12": "浏览器",
+ "monitor.logininfor.670912-13": "操作系统",
+ "monitor.logininfor.670912-14": "操作信息",
+ "monitor.logininfor.670912-15": "是否确认删除访问编号为\"{0}\"的数据项?",
+ "monitor.logininfor.670912-16": "是否确认清空所有登录日志数据项?",
+ "monitor.logininfor.670912-17": "是否确认解锁用户\"{0}\"数据项?",
+ "monitor.logininfor.670912-18": "用户{0}解锁成功"
+}
diff --git a/vue/src/lang/zh-CN/product.json b/vue/src/lang/zh-CN/product.json
index 53cde186..d518f3b6 100644
--- a/vue/src/lang/zh-CN/product.json
+++ b/vue/src/lang/zh-CN/product.json
@@ -39,6 +39,9 @@
"product.index.091251-39": "是否确认删除产品编号为{0}的数据项?",
"product.index.091251-40": "组态设计",
"product.index.091251-41": "该产品尚未创建组态",
+ "product.index.091251-47": "系统",
+ "product.index.091251-48": "详情",
+ "product.index.091251-49": "修改",
"product.index.091251-42": "组态分享",
"product.index.091251-43": "下载json模板",
"product.index.091251-44": "导入产品",
@@ -122,6 +125,7 @@
"product.product-authorize.314975-66": "复制成功!",
"product.product-authorize.314975-67": "失败",
"product.product-authorize.314975-68": "复制失败!",
+ "product.product-authorize.314975-69": "设备授权",
"product.product-edit.473153-0": "基本信息",
"product.product-edit.473153-1": "产品名称",
"product.product-edit.473153-2": "请输入产品名称",
@@ -215,6 +219,10 @@
"product.product-edit.473153-93": "认证账号",
"product.product-edit.473153-94": "认证密码",
"product.product-edit.473153-95": "认证密钥",
+ "product.product-edit.473153-96": "启用授权",
+ "product.product-edit.473153-97": "编码协议",
+ "product.product-edit.473153-98": "请选择设备类型",
+ "product.product-edit.473153-99": "添加成功,可以开始定义物模型或配置",
"product.product-firmware.420545-0": "新增",
"product.product-firmware.420545-1": "刷新",
"product.product-firmware.420545-2": "固件名称",
@@ -399,6 +407,8 @@
"product.product-things-model.142341-140": "已经置顶",
"product.product-things-model.142341-141": "已经是第一项了",
"product.product-things-model.142341-142": "已经是最后一项了",
+ "product.product-things-model.142341-143": "请重新输入取值范围,最大值不能比最小值小!",
+ "product.product-things-model.142341-144": "取值范围必须输入小数,请重新输入!",
"product.product-modbus.562372-0": "网关/子设备配置",
"product.product-modbus.562372-1": "网关子设备配置默认的子设备地址,轮询方式",
"product.product-modbus.562372-2": "编辑设备配置",
diff --git a/vue/src/lang/zh-CN/scene.json b/vue/src/lang/zh-CN/scene.json
index e581f6f9..ff4e7862 100644
--- a/vue/src/lang/zh-CN/scene.json
+++ b/vue/src/lang/zh-CN/scene.json
@@ -289,5 +289,50 @@
"scene.configList.326501-0": "告警配置列表",
"scene.configList.326501-1": "请输入告警名称",
"scene.configList.326501-2": "终端用户无法绑定告警",
- "scene.configList.326501-3": "操作成功"
+ "scene.configList.326501-3": "操作成功",
+ "script.index.470901-0": "脚本名称",
+ "script.index.470901-1": "请输入脚本名称",
+ "script.index.470901-2": "所属产品",
+ "script.index.470901-3": "请选择产品",
+ "script.index.470901-4": "选择产品",
+ "script.index.470901-5": "脚本动作",
+ "script.index.470901-6": "请选择脚本动作",
+ "script.index.470901-7": "脚本语言",
+ "script.index.470901-8": "状态",
+ "script.index.470901-9": "执行顺序",
+ "script.index.470901-10": "请输入执行顺序",
+ "script.index.470901-11": "启动",
+ "script.index.470901-12": "暂停",
+ "script.index.470901-13": "加载中",
+ "script.index.470901-14": "编辑规则脚本",
+ "script.index.470901-15": "修改规则引擎脚本",
+ "script.index.470901-16": "脚本日志",
+ "script.index.470901-17": "脚本使用Groovy引擎,查看教程>>>",
+ "script.index.470901-18": "验 证",
+ "script.index.470901-19": "修 改",
+ "script.index.470901-20": "取 消",
+ "script.index.470901-21": "关闭",
+ "script.index.470901-22": "脚本标识只能输入字母和数字,且字母开头",
+ "script.index.470901-23": "日志",
+ "script.index.470901-24": "查看",
+ "script.index.470901-25": "新增成功",
+ "script.index.470901-26": "修改成功",
+ "script.index.470901-27": "删除成功",
+ "script.index.470901-28": "是否确认删除规则引擎脚本编号为\"{0}\"的数据项?",
+ "script.index.470901-29": "脚本标识不能为空",
+ "script.index.470901-30": "所属产品不能为空",
+ "script.index.470901-31": "脚本名不能为空",
+ "productList.index.470902-0": "选择产品",
+ "productList.index.470902-1": "产品名称",
+ "productList.index.470902-2": "请输入产品名称",
+ "productList.index.470902-3": "分类名称",
+ "productList.index.470902-4": "租户名称",
+ "productList.index.470902-5": "授权码",
+ "productList.index.470902-6": "启用",
+ "productList.index.470902-7": "未启用",
+ "productList.index.470902-8": "认证方式",
+ "productList.index.470902-9": "联网方式",
+ "productList.index.470902-10": "创建时间",
+ "productList.index.470902-11": "确 定",
+ "productList.index.470902-12": "关 闭"
}
diff --git a/vue/src/lang/zh-CN/sip.json b/vue/src/lang/zh-CN/sip.json
index 8cc05a85..c98f75ec 100644
--- a/vue/src/lang/zh-CN/sip.json
+++ b/vue/src/lang/zh-CN/sip.json
@@ -129,6 +129,7 @@
"sip.mediaServerEdit.998534-26": "配置地址连接成功",
"sip.mediaServerEdit.998534-27": "配置地址无法连接",
"sip.mediaServerEdit.998534-28": "端口号应该在-65535之间",
+ "sip.mediaServerEdit.998534-31": "请输入secret",
"sip.mediaServer.998535-0": "新增节点",
"sip.mediaServer.998535-1": "配置名称",
"sip.mediaServer.998535-2": "服务器IP",
@@ -158,6 +159,7 @@
"sip.sipConfig.998537-8": "服务器域不能为空",
"sip.sipConfig.998537-9": "服务器sipid不能为空",
"sip.sipConfig.998537-10": "sip认证密码不能为空",
+ "sip.sipConfig.998537-11": "国标GB28181",
"sip.sipidGen.998538-0": "行政区划",
"sip.sipidGen.998538-1": "生成设备编号和通道",
"sip.sipidGen.998538-2": "已生成设备编号和通道",
diff --git a/vue/src/lang/zh-CN/system.json b/vue/src/lang/zh-CN/system.json
index a0587b54..0aa724f5 100644
--- a/vue/src/lang/zh-CN/system.json
+++ b/vue/src/lang/zh-CN/system.json
@@ -25,6 +25,9 @@
"system.user.index.resetPwdConfirm": "请输入{0}的新密码",
"system.user.index.enable": "启用",
"system.user.index.disable": "停用",
+ "system.user.index.userNameLength": "用户名称长度必须介于 2 和 20 之间",
+ "system.user.index.passwordLength": "用户密码长度必须介于 5 和 20 之间",
+ "system.user.index.confirmStatusChange": "确认要\"{0}\"\"{1}\"用户吗?",
"system.user.profile.nickNameRequired": "用户昵称不能为空",
"system.user.profile.emailRequired": "邮箱地址不能为空",
"system.user.profile.emailFormat": "请输入正确的邮箱地址",
@@ -57,6 +60,8 @@
"system.user.profile.phoneNumber": "手机号码",
"system.user.profile.emailAddress": "邮箱",
"system.user.profile.gender": "性别",
+ "system.user.profile.passwordLength": "长度在 6 到 20 个字符",
+ "system.user.profile.passwordStrength": "密码必须由大写字母、小写字母、数字、特殊符号中的2种及以上类型组成!",
"system.user.authRole.nickName": "用户昵称",
"system.user.authRole.loginAccount": "登录账号",
"system.user.authRole.index": "序号",
@@ -227,8 +232,8 @@
"system.dict.data.879098-29": "标签翻译",
"system.dict.data.879098-30": "请输入数据标签的英文翻译",
"system.dict.data.879098-31": "标签翻译不能为空",
- "system.dict.index.880996-0": "请输入字典名称",
- "system.dict.index.880996-1": "请输入字典类型",
+ "system.dict.index.880996-0": "字典名称",
+ "system.dict.index.880996-1": "字典类型",
"system.dict.index.880996-2": "字典状态",
"system.dict.index.880996-3": "开始日期",
"system.dict.index.880996-4": "结束日期",
diff --git a/vue/src/lang/zh-CN/template.json b/vue/src/lang/zh-CN/template.json
index d1de5bc8..0e387745 100644
--- a/vue/src/lang/zh-CN/template.json
+++ b/vue/src/lang/zh-CN/template.json
@@ -165,5 +165,13 @@
"template.paramter.038405-57": "关闭",
"template.paramter.038405-58": "打开",
"template.paramter.038405-59": "低",
- "template.paramter.038405-60": "高"
+ "template.paramter.038405-60": "高",
+ "template.index.891112-125": "请重新输入取值范围,最大值不能比最小值小!",
+ "template.index.891112-126": "取值范围必须输入小数,请重新输入!",
+ "template.index.891112-127": "参数标识 {0} 重复",
+ "template.index.891112-128": "修改成功",
+ "template.index.891112-129": "新增成功",
+ "template.index.891112-130": "删除成功",
+ "template.index.891112-131": "编辑",
+ "template.index.891112-132": "最小值必须为小数"
}
diff --git a/vue/src/lang/zh-CN/tool.json b/vue/src/lang/zh-CN/tool.json
new file mode 100644
index 00000000..90d4cd20
--- /dev/null
+++ b/vue/src/lang/zh-CN/tool.json
@@ -0,0 +1,276 @@
+{
+ "tool.import.670901-0": "导入表",
+ "tool.import.670901-1": "数据源",
+ "tool.import.670901-2": "请选择数据源",
+ "tool.import.670901-3": "表名称",
+ "tool.import.670901-4": "请输入表名称",
+ "tool.import.670901-5": "表描述",
+ "tool.import.670901-6": "请输入表描述",
+ "tool.import.670901-7": "创建时间",
+ "tool.import.670901-8": "更新时间",
+ "tool.import.670901-9": "请选择要导入的表",
+ "tool.genInfo.670902-0": "生成模板",
+ "tool.genInfo.670902-1": "单表(增删改查)",
+ "tool.genInfo.670902-2": "树表(增删改查)",
+ "tool.genInfo.670902-3": "主子表(增删改查)",
+ "tool.genInfo.670902-4": "前端类型",
+ "tool.genInfo.670902-5": "Vue2 Element UI 模版",
+ "tool.genInfo.670902-6": "Vue3 Element Plus 模版",
+ "tool.genInfo.670902-7": "生成包路径",
+ "tool.genInfo.670902-8": "生成在哪个java包下,例如 com.ruoyi.system",
+ "tool.genInfo.670902-9": "生成模块名",
+ "tool.genInfo.670902-10": "可理解为子系统名,例如 system",
+ "tool.genInfo.670902-11": "生成业务名",
+ "tool.genInfo.670902-12": "可理解为功能英文名,例如 user",
+ "tool.genInfo.670902-13": "生成功能名",
+ "tool.genInfo.670902-14": "用作类描述,例如 用户",
+ "tool.genInfo.670902-15": "生成代码方式",
+ "tool.genInfo.670902-16": "默认为zip压缩包下载,也可以自定义生成路径",
+ "tool.genInfo.670902-17": "zip压缩包",
+ "tool.genInfo.670902-18": "自定义路径",
+ "tool.genInfo.670902-19": "上级菜单",
+ "tool.genInfo.670902-20": "分配到指定菜单下,例如 系统管理",
+ "tool.genInfo.670902-21": "请选择系统菜单",
+ "tool.genInfo.670902-22": "填写磁盘绝对路径,若不填写,则生成到当前Web项目下",
+ "tool.genInfo.670902-23": "最近路径快速选择",
+ "tool.genInfo.670902-24": "恢复默认的生成基础路径",
+ "tool.genInfo.670902-25": "其他信息",
+ "tool.genInfo.670902-26": "树编码字段",
+ "tool.genInfo.670902-27": "树显示的编码字段名,如:dept_id",
+ "tool.genInfo.670902-28": "请选择",
+ "tool.genInfo.670902-29": "树父编码字段",
+ "tool.genInfo.670902-30": "树显示的父编码字段名,如:parent_id",
+ "tool.genInfo.670902-31": "树名称字段",
+ "tool.genInfo.670902-32": "树节点的显示名称字段名,如:dept_name",
+ "tool.genInfo.670902-33": "关联信息",
+ "tool.genInfo.670902-34": "关联子表的表名",
+ "tool.genInfo.670902-35": "关联子表的表名,如:sys_user",
+ "tool.genInfo.670902-36": "子表关联的外键名",
+ "tool.genInfo.670902-37": "子表关联的外键名,如:user_id",
+ "tool.genInfo.670902-38": "请选择生成模板",
+ "tool.genInfo.670902-39": "请输入生成包路径",
+ "tool.genInfo.670902-40": "请输入生成模块名",
+ "tool.genInfo.670902-41": "请输入生成业务名",
+ "tool.genInfo.670902-42": "请输入生成功能名",
+ "tool.editTable.670903-0": "基本信息",
+ "tool.editTable.670903-1": "字段信息",
+ "tool.editTable.670903-2": "生成信息",
+ "tool.editTable.670903-3": "序号",
+ "tool.editTable.670903-4": "字段列名",
+ "tool.editTable.670903-5": "字段描述",
+ "tool.editTable.670903-6": "物理类型",
+ "tool.editTable.670903-7": "Java类型",
+ "tool.editTable.670903-8": "java属性",
+ "tool.editTable.670903-9": "插入",
+ "tool.editTable.670903-10": "编辑",
+ "tool.editTable.670903-11": "列表",
+ "tool.editTable.670903-12": "查询",
+ "tool.editTable.670903-13": "查询方式",
+ "tool.editTable.670903-14": "必填",
+ "tool.editTable.670903-15": "显示类型",
+ "tool.editTable.670903-16": "文本框",
+ "tool.editTable.670903-17": "文本域",
+ "tool.editTable.670903-18": "下拉框",
+ "tool.editTable.670903-19": "单选框",
+ "tool.editTable.670903-20": "复选框",
+ "tool.editTable.670903-21": "日期控件",
+ "tool.editTable.670903-22": "图片上传",
+ "tool.editTable.670903-23": "文件上传",
+ "tool.editTable.670903-24": "富文本控件",
+ "tool.editTable.670903-25": "字典类型",
+ "tool.editTable.670903-26": "请选择",
+ "tool.editTable.670903-27": "提交",
+ "tool.editTable.670903-28": "返回",
+ "tool.editTable.670903-29": "表单校验未通过,请重新检查提交内容",
+ "tool.createTable.670904-0": "创建表",
+ "tool.createTable.670904-1": "创建表语句(支持多个建表语句):",
+ "tool.createTable.670904-2": "请输入文本",
+ "tool.createTable.670904-3": "请输入建表语句",
+ "tool.basicInfo.670905-0": "表名称",
+ "tool.basicInfo.670905-1": "请输入仓库名称",
+ "tool.basicInfo.670905-2": "表描述",
+ "tool.basicInfo.670905-3": "请输入",
+ "tool.basicInfo.670905-4": "实体类名称",
+ "tool.basicInfo.670905-5": "作者",
+ "tool.basicInfo.670905-6": "备注",
+ "tool.basicInfo.670905-7": "请输入表名称",
+ "tool.basicInfo.670905-8": "请输入表描述",
+ "tool.basicInfo.670905-9": "请输入实体类名称",
+ "tool.basicInfo.670905-10": "请输入作者",
+ "tool.build.index.670906-0": "Form Generator",
+ "tool.build.index.670906-1": "输入型组件",
+ "tool.build.index.670906-2": "选择型组件",
+ "tool.build.index.670906-3": "布局型组件",
+ "tool.build.index.670906-4": "导出vue文件",
+ "tool.build.index.670906-5": "复制代码",
+ "tool.build.index.670906-6": "清空",
+ "tool.build.index.670906-7": "从左侧拖入或点选组件进行表单设计",
+ "tool.build.index.670906-8": "成功",
+ "tool.build.index.670906-9": "代码已复制到剪切板,可粘贴。",
+ "tool.build.index.670906-10": "代码复制失败",
+ "tool.build.index.670906-11": "确定要清空所有组件吗?",
+ "tool.build.index.670906-12": "提示",
+ "tool.rightPanel.670907-0": "组件属性",
+ "tool.rightPanel.670907-1": "表单属性",
+ "tool.rightPanel.670907-2": "查看组件文档",
+ "tool.rightPanel.670907-3": "组件类型",
+ "tool.rightPanel.670907-4": "请选择组件类型",
+ "tool.rightPanel.670907-5": "字段名",
+ "tool.rightPanel.670907-6": "请输入字段名(v-model)",
+ "tool.rightPanel.670907-7": "组件名",
+ "tool.rightPanel.670907-8": "标题",
+ "tool.rightPanel.670907-9": "请输入标题",
+ "tool.rightPanel.670907-10": "占位提示",
+ "tool.rightPanel.670907-11": "请输入占位提示",
+ "tool.rightPanel.670907-12": "开始占位",
+ "tool.rightPanel.670907-13": "结束占位",
+ "tool.rightPanel.670907-14": "表单栅格",
+ "tool.rightPanel.670907-15": "栅格间隔",
+ "tool.rightPanel.670907-16": "布局模式",
+ "tool.rightPanel.670907-17": "水平排列",
+ "tool.rightPanel.670907-18": "请选择水平排列",
+ "tool.rightPanel.670907-19": "垂直排列",
+ "tool.rightPanel.670907-20": "标签宽度",
+ "tool.rightPanel.670907-21": "请输入标签宽度",
+ "tool.rightPanel.670907-22": "组件宽度",
+ "tool.rightPanel.670907-23": "请输入组件宽度",
+ "tool.rightPanel.670907-24": "默认值",
+ "tool.rightPanel.670907-25": "请输入默认值",
+ "tool.rightPanel.670907-26": "至少应选",
+ "tool.rightPanel.670907-27": "最多可选",
+ "tool.rightPanel.670907-28": "前缀",
+ "tool.rightPanel.670907-29": "请输入前缀",
+ "tool.rightPanel.670907-30": "后缀",
+ "tool.rightPanel.670907-31": "请输入后缀",
+ "tool.rightPanel.670907-32": "前图标",
+ "tool.rightPanel.670907-33": "请输入前图标名称",
+ "tool.rightPanel.670907-34": "选择",
+ "tool.rightPanel.670907-35": "后图标",
+ "tool.rightPanel.670907-36": "请输入后图标名称",
+ "tool.rightPanel.670907-37": "选项分隔符",
+ "tool.rightPanel.670907-38": "请输入选项分隔符",
+ "tool.rightPanel.670907-39": "最小行数",
+ "tool.rightPanel.670907-40": "最大行数",
+ "tool.rightPanel.670907-41": "最小值",
+ "tool.rightPanel.670907-42": "最大值",
+ "tool.rightPanel.670907-43": "步长",
+ "tool.rightPanel.670907-44": "精度",
+ "tool.rightPanel.670907-45": "按钮位置",
+ "tool.rightPanel.670907-46": "默认",
+ "tool.rightPanel.670907-47": "右侧",
+ "tool.rightPanel.670907-48": "最多输入",
+ "tool.rightPanel.670907-49": "个字符",
+ "tool.rightPanel.670907-50": "开启提示",
+ "tool.rightPanel.670907-51": "请输入开启提示",
+ "tool.rightPanel.670907-52": "关闭提示",
+ "tool.rightPanel.670907-53": "请输入关闭提示",
+ "tool.rightPanel.670907-54": "开启值",
+ "tool.rightPanel.670907-55": "请输入开启值",
+ "tool.rightPanel.670907-56": "关闭值",
+ "tool.rightPanel.670907-57": "请输入关闭值",
+ "tool.rightPanel.670907-58": "时间类型",
+ "tool.rightPanel.670907-59": "请选择时间类型",
+ "tool.rightPanel.670907-60": "文件字段名",
+ "tool.rightPanel.670907-61": "请输入上传文件字段名",
+ "tool.rightPanel.670907-62": "文件类型",
+ "tool.rightPanel.670907-63": "请选择文件类型",
+ "tool.rightPanel.670907-64": "图片",
+ "tool.rightPanel.670907-65": "视频",
+ "tool.rightPanel.670907-66": "音频",
+ "tool.rightPanel.670907-67": "文件大小",
+ "tool.rightPanel.670907-68": "请输入文件大小",
+ "tool.rightPanel.670907-69": "上传地址",
+ "tool.rightPanel.670907-70": "请输入上传地址",
+ "tool.rightPanel.670907-71": "列表类型",
+ "tool.rightPanel.670907-72": "按钮文字",
+ "tool.rightPanel.670907-73": "请输入按钮文字",
+ "tool.rightPanel.670907-74": "分隔符",
+ "tool.rightPanel.670907-75": "请输入分隔符",
+ "tool.rightPanel.670907-76": "时间段",
+ "tool.rightPanel.670907-77": "请输入时间段",
+ "tool.rightPanel.670907-78": "时间格式",
+ "tool.rightPanel.670907-79": "请输入时间格式",
+ "tool.rightPanel.670907-80": "选项",
+ "tool.rightPanel.670907-81": "选项名",
+ "tool.rightPanel.670907-82": "选项值",
+ "tool.rightPanel.670907-83": "添加选项",
+ "tool.rightPanel.670907-84": "数据类型",
+ "tool.rightPanel.670907-85": "动态数据",
+ "tool.rightPanel.670907-86": "静态数据",
+ "tool.rightPanel.670907-87": "标签键名",
+ "tool.rightPanel.670907-88": "请输入标签键名",
+ "tool.rightPanel.670907-89": "值键名",
+ "tool.rightPanel.670907-90": "请输入值键名",
+ "tool.rightPanel.670907-91": "子级键名",
+ "tool.rightPanel.670907-92": "请输入子级键名",
+ "tool.rightPanel.670907-93": "添加父级",
+ "tool.rightPanel.670907-94": "选项样式",
+ "tool.rightPanel.670907-95": "按钮",
+ "tool.rightPanel.670907-96": "开启颜色",
+ "tool.rightPanel.670907-97": "关闭颜色",
+ "tool.rightPanel.670907-98": "允许半选",
+ "tool.rightPanel.670907-99": "辅助文字",
+ "tool.rightPanel.670907-100": "显示分数",
+ "tool.rightPanel.670907-101": "显示间断点",
+ "tool.rightPanel.670907-102": "范围选择",
+ "tool.rightPanel.670907-103": "是否带边框",
+ "tool.rightPanel.670907-104": "颜色格式",
+ "tool.rightPanel.670907-105": "请选择颜色格式",
+ "tool.rightPanel.670907-106": "选项尺寸",
+ "tool.rightPanel.670907-107": "中等",
+ "tool.rightPanel.670907-108": "较小",
+ "tool.rightPanel.670907-109": "迷你",
+ "tool.rightPanel.670907-110": "输入统计",
+ "tool.rightPanel.670907-111": "严格步数",
+ "tool.rightPanel.670907-112": "是否多选",
+ "tool.rightPanel.670907-113": "展示全路径",
+ "tool.rightPanel.670907-114": "可否筛选",
+ "tool.rightPanel.670907-115": "能否清空",
+ "tool.rightPanel.670907-116": "显示提示",
+ "tool.rightPanel.670907-117": "多选文件",
+ "tool.rightPanel.670907-118": "自动上传",
+ "tool.rightPanel.670907-119": "是否只读",
+ "tool.rightPanel.670907-120": "是否禁用",
+ "tool.rightPanel.670907-121": "是否可搜索",
+ "tool.rightPanel.670907-122": "是否必填",
+ "tool.rightPanel.670907-123": "布局结构树",
+ "tool.rightPanel.670907-124": "正则校验",
+ "tool.rightPanel.670907-125": "表达式",
+ "tool.rightPanel.670907-126": "请输入正则",
+ "tool.rightPanel.670907-127": "错误提示",
+ "tool.rightPanel.670907-128": "请输入错误提示",
+ "tool.rightPanel.670907-129": "添加规则",
+ "tool.rightPanel.670907-130": "表单名",
+ "tool.rightPanel.670907-131": "请输入表单名(ref)",
+ "tool.rightPanel.670907-132": "表单模型",
+ "tool.rightPanel.670907-133": "请输入数据模型",
+ "tool.rightPanel.670907-134": "校验模型",
+ "tool.rightPanel.670907-135": "请输入校验模型",
+ "tool.rightPanel.670907-136": "表单尺寸",
+ "tool.rightPanel.670907-137": "标签对齐",
+ "tool.rightPanel.670907-138": "左对齐",
+ "tool.rightPanel.670907-139": "右对齐",
+ "tool.rightPanel.670907-140": "顶部对齐",
+ "tool.rightPanel.670907-141": "禁用表单",
+ "tool.rightPanel.670907-142": "表单按钮",
+ "tool.rightPanel.670907-143": "显示未选中组件边框",
+ "tool.rightPanel.670907-144": "添加选项",
+ "tool.treeNode.670908-0": "选项名",
+ "tool.treeNode.670908-1": "请输入选项名",
+ "tool.treeNode.670908-2": "选项值",
+ "tool.treeNode.670908-3": "请输入选项值",
+ "tool.treeNode.670908-4": "字符串",
+ "tool.treeNode.670908-5": "数字",
+ "tool.treeNode.670908-6": "确定",
+ "tool.treeNode.670908-7": "取消",
+ "tool.icons.670909-0": "选择图标",
+ "tool.icons.670909-1": "请输入图标名称",
+"tool.build.index.670906-13": "复制",
+"tool.build.index.670906-14": "删除",
+"tool.codeType.670910-0": "生成类型",
+"tool.codeType.670910-1": "文件名",
+"tool.codeType.670910-2": "请输入文件名",
+"tool.codeType.670910-3": "页面",
+"tool.codeType.670910-4": "弹窗",
+"tool.codeType.670910-5": "生成类型不能为空"
+}
diff --git a/vue/src/views/bigScreen/home.vue b/vue/src/views/bigScreen/home.vue
index 46dd3d8a..e9792e07 100644
--- a/vue/src/views/bigScreen/home.vue
+++ b/vue/src/views/bigScreen/home.vue
@@ -10,7 +10,7 @@
- FastBee物联网平台
+ {{ $t('bigScreen.home.platformTitle') }}
@@ -48,7 +48,7 @@ export default {
dateDay: null,
dateYear: null,
dateWeek: null,
- weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
+ weekday: [this.$t('bigScreen.home.sunday'), this.$t('bigScreen.home.monday'), this.$t('bigScreen.home.tuesday'), this.$t('bigScreen.home.wednesday'), this.$t('bigScreen.home.thursday'), this.$t('bigScreen.home.friday'), this.$t('bigScreen.home.saturday')],
};
},
filters: {
diff --git a/vue/src/views/bigScreen/indexs/left-top.vue b/vue/src/views/bigScreen/indexs/left-top.vue
index 073e7ba9..bf7338b8 100644
--- a/vue/src/views/bigScreen/indexs/left-top.vue
+++ b/vue/src/views/bigScreen/indexs/left-top.vue
@@ -2,19 +2,19 @@
{{deviceStatistic.deviceCount}}
-
设备总数
+
{{ $t('bigScreen.leftTop.totalDevices') }}
{{deviceStatistic.deviceOnlineCount}}
-
在线设备
+
{{ $t('bigScreen.leftTop.onlineDevices') }}
{{deviceStatistic.deviceCount-deviceStatistic.deviceOnlineCount}}
-
离线设备
+
{{ $t('bigScreen.leftTop.offlineDevices') }}
{{deviceStatistic.alertCount}}
-
告警数量
+
{{ $t('bigScreen.leftTop.alertCount') }}
diff --git a/vue/src/views/bigScreen/setting.vue b/vue/src/views/bigScreen/setting.vue
index 9450c73d..6db16871 100644
--- a/vue/src/views/bigScreen/setting.vue
+++ b/vue/src/views/bigScreen/setting.vue
@@ -6,44 +6,44 @@
-
全局设置
+
{{ $t('bigScreen.setting.globalSettings') }}
- 是否进行自动适配(默认分辨率1920*1080):
+ {{ $t('bigScreen.setting.autoAdapt') }}({{ $t('bigScreen.setting.defaultResolution') }}1920*1080):
radiochange(val, 'isScale')">
- 是
- 否
+ {{ $t('bigScreen.setting.yes') }}
+ {{ $t('bigScreen.setting.no') }}
-
实时监测
+
{{ $t('bigScreen.setting.realTimeMonitor') }}
- 设备提醒自动轮询:
+ {{ $t('bigScreen.setting.deviceAlertAutoPoll') }}:
radiochange(val, 'sbtxSwiper')">
- 是
- 否
+ {{ $t('bigScreen.setting.yes') }}
+ {{ $t('bigScreen.setting.no') }}
- 实时预警轮播:
+ {{ $t('bigScreen.setting.realTimeWarning') }}:
radiochange(val, 'ssyjSwiper')">
- 是
- 否
+ {{ $t('bigScreen.setting.yes') }}
+ {{ $t('bigScreen.setting.no') }}
diff --git a/vue/src/views/error/401.vue b/vue/src/views/error/401.vue
index 448b6ecd..e1bdf807 100644
--- a/vue/src/views/error/401.vue
+++ b/vue/src/views/error/401.vue
@@ -1,88 +1,88 @@
-
-
- 返回
-
-
-
-
- 401错误!
-
- 您没有访问权限!
- 对不起,您没有访问权限,请不要进行非法操作!您可以返回主页面
-
-
-
-
-
-
-
+
+
+ {{ $t('error.401.774006-0') }}
+
+
+
+
+ {{ $t('error.401.774006-1') }}
+
+ {{ $t('error.401.774006-2') }}
+ {{ $t('error.401.774006-3') }}
+
+ -
+
+ {{ $t('error.401.774006-4') }}
+
+
+
+
+
+
+
+
+
diff --git a/vue/src/views/error/404.vue b/vue/src/views/error/404.vue
index 96f075c1..2e17322b 100644
--- a/vue/src/views/error/404.vue
+++ b/vue/src/views/error/404.vue
@@ -1,233 +1,232 @@
-
-
-
-
-
- 404错误!
+
+
+
+
+
+ {{ $t('error.404.817532-0') }}
+
+
+ {{ message }}
+
+
+ {{ $t('error.404.817532-1') }}
+
+
+ {{ $t('error.404.817532-2') }}
+
+
-
- {{ message }}
-
-
- 对不起,您正在寻找的页面不存在。尝试检查URL的错误,然后按浏览器上的刷新按钮或尝试在我们的应用程序中找到其他内容。
-
-
- 返回首页
-
-
-
diff --git a/vue/src/views/index.vue b/vue/src/views/index.vue
index 992d082b..311ce4a2 100644
--- a/vue/src/views/index.vue
+++ b/vue/src/views/index.vue
@@ -20,7 +20,7 @@
-
设备数量
+
{{ $t('home.deviceCount') }}
@@ -31,7 +31,7 @@
-
监测数据
+
{{ $t('home.monitorCount') }}
@@ -42,7 +42,7 @@
-
产品数量
+
{{ $t('home.productCount') }}
@@ -53,7 +53,7 @@
-
告警数量
+
{{ $t('home.alertCount') }}
@@ -64,7 +64,7 @@
-
操作记录
+
{{ $t('home.functionCount') }}
@@ -75,7 +75,7 @@
-
上报事件
+
{{ $t('home.eventCount') }}
@@ -85,12 +85,12 @@
- 信息栏
+ {{ $t('home.infoBoard') }}
- 公告
- 信息
+ {{ $t('home.notice') }}
+ {{ $t('home.information') }}
{{ item.noticeTitle }}
@@ -126,53 +126,53 @@
-
FastBee物联网平台
-
-
开源版本采用AGPL-3.0许可协议,商用需要获得授权
-
-
-
开源版本:
-
可用于个人学习和使用,非商业用途
-
-
-
商业版本:
-
- 商业用途,并提供所有源码,功能优先开源版本发布。
-
-
查看详情 >>
+
{{ $t('home.platformName') }}
+
+
{{ $t('home.licenseNotice') }}
+
+
+
{{ $t('home.openSource') }}:
+
{{ $t('home.openSourceDesc') }}
+
+
+
{{ $t('home.commercial') }}:
+
+ {{ $t('home.commercialDesc') }}
+
+ {{ $t('home.viewDetails') }} >>
+
-
-
微信扫一扫,查看小程序端
-
右侧是移动端H5版本演示
+
{{ $t('home.wechatScan') }}
+
{{ $t('home.h5Demo') }}
-
官方网站
+
{{ $t('home.officialWebsite') }}
www.fastbee.cn
-
在线文档
+
{{ $t('home.onlineDoc') }}
www.fastbee.cn/doc
-
联系作者
+
{{ $t('home.contactAuthor') }}
- QQ 164770707
+ {{ $t('home.qq') }} 164770707
-
系统源码
+
{{ $t('home.sourceCode') }}
- Gitee源码
- Github源码
+ {{ $t('home.giteeSource') }}
+ {{ $t('home.githubSource') }}
@@ -189,15 +189,15 @@
- 公告
- 信息
+ {{ $t('home.notice') }}
+ {{ $t('home.information') }}
{{ notice.createTime }}
@@ -351,39 +351,39 @@ export default {
this.server = response.data;
this.tableData = [
{
- server: '服务器名',
+ server: this.$t('home.serverName'),
serverContent: this.server.sys.computerName,
- java: 'Java名称',
+ java: this.$t('home.javaName'),
javaContent: this.server.jvm.name,
},
{
- server: '服务器IP',
+ server: this.$t('home.serverIp'),
serverContent: this.server.sys.computerIp,
- java: '启动时间',
+ java: this.$t('home.startTime'),
javaContent: this.server.jvm.startTime,
},
{
- server: '操作系统',
+ server: this.$t('home.os'),
serverContent: this.server.sys.osName,
- java: 'Java版本',
+ java: this.$t('home.javaVersion'),
javaContent: this.server.jvm.version,
},
{
- server: '系统架构',
+ server: this.$t('home.osArch'),
serverContent: this.server.sys.osArch,
- java: '运行时长',
+ java: this.$t('home.runTime'),
javaContent: this.server.jvm.runTime,
},
{
- server: 'CPU核心',
+ server: this.$t('home.cpuCore'),
serverContent: this.server.cpu.cpuNum,
- java: '占用内存',
+ java: this.$t('home.usedMemory'),
javaContent: this.server.jvm.used,
},
{
- server: '内存大小',
+ server: this.$t('home.memSize'),
serverContent: this.server.mem.total,
- java: 'JVM总内存',
+ java: this.$t('home.jvmTotalMemory'),
javaContent: this.server.jvm.total,
},
];
@@ -439,7 +439,7 @@ export default {
};
option = {
title: {
- text: '设备分布(在线数 ' + this.deviceList.filter((x) => x.status == 3).length + ')',
+ text: this.$t('home.deviceDistribution') + '(' + this.$t('home.onlineCount') + ' ' + this.deviceList.filter((x) => x.status == 3).length + ')',
subtext: 'fastbee open source iot platform',
sublink: 'https://iot.fastbee.cn',
target: '_blank',
@@ -455,40 +455,40 @@ export default {
trigger: 'item',
formatter: function (params) {
var htmlStr = '
';
- htmlStr += "设备名称: " + params.data.name + '
';
- htmlStr += '设备编号: ' + params.data.serialNumber + '
';
- htmlStr += '设备状态: ';
+ htmlStr += this.$t('home.deviceName') + ': ' + params.data.name + '
';
+ htmlStr += this.$t('home.deviceSerial') + ': ' + params.data.serialNumber + '
';
+ htmlStr += this.$t('home.deviceStatus') + ': ';
if (params.data.status == 1) {
- htmlStr += "未激活" + '
';
+ htmlStr += "" + this.$t('home.notActive') + "" + '
';
} else if (params.data.status == 2) {
- htmlStr += "禁用" + '
';
+ htmlStr += "" + this.$t('home.disabled') + "" + '
';
} else if (params.data.status == 3) {
- htmlStr += "在线" + '
';
+ htmlStr += "" + this.$t('home.online') + "" + '
';
} else if (params.data.status == 4) {
- htmlStr += "离线" + '
';
+ htmlStr += "" + this.$t('home.offline') + "" + '
';
}
if (params.data.isShadow == 1) {
- htmlStr += '设备影子: ' + "启用" + '
';
+ htmlStr += this.$t('home.deviceShadow') + ': ' + "" + this.$t('home.enabled') + "" + '
';
} else {
- htmlStr += '设备影子: ' + "未启用" + '
';
+ htmlStr += this.$t('home.deviceShadow') + ': ' + "" + this.$t('home.notEnabled') + "" + '
';
}
- htmlStr += '产品名称: ' + params.data.productName + '
';
- htmlStr += '固件版本: Version ' + params.data.firmwareVersion + '
';
- htmlStr += '激活时间: ' + params.data.activeTime + '
';
- htmlStr += '定位方式: ';
+ htmlStr += this.$t('home.productName') + ': ' + params.data.productName + '
';
+ htmlStr += this.$t('home.firmwareVersion') + ': Version ' + params.data.firmwareVersion + '
';
+ htmlStr += this.$t('home.activeTime') + ': ' + params.data.activeTime + '
';
+ htmlStr += this.$t('home.locationWay') + ': ';
if (params.data.locationWay == 1) {
- htmlStr += '自动定位' + '
';
+ htmlStr += this.$t('home.autoLocation') + '
';
} else if (params.data.locationWay == 2) {
- htmlStr += '设备定位' + '
';
+ htmlStr += this.$t('home.deviceLocation') + '
';
} else if (params.data.locationWay == 3) {
- htmlStr += '自定义位置' + '
';
+ htmlStr += this.$t('home.customLocation') + '
';
} else {
- htmlStr += '未知' + '
';
+ htmlStr += this.$t('home.unknown') + '
';
}
- htmlStr += '所在地址: ' + params.data.networkAddress + '
';
+ htmlStr += this.$t('home.address') + ': ' + params.data.networkAddress + '
';
htmlStr += '
';
return htmlStr;
- },
+ }.bind(this),
},
bmap: {
center: [133, 38],
@@ -673,7 +673,7 @@ export default {
var option;
option = {
title: {
- text: 'CPU使用率',
+ text: this.$t('home.cpuUsage'),
left: 'left',
textStyle: {
fontSize: 16,
@@ -689,7 +689,7 @@ export default {
color: ['#E6A23C', '#F56C6C', '#DDD'],
series: [
{
- name: 'CPU使用率 %',
+ name: this.$t('home.cpuUsage') + ' %',
type: 'pie',
radius: '55%',
label: {
@@ -704,15 +704,15 @@ export default {
data: [
{
value: this.server.cpu.used,
- name: '用户',
+ name: this.$t('home.user'),
},
{
value: this.server.cpu.sys,
- name: '系统',
+ name: this.$t('home.system'),
},
{
value: this.server.cpu.free,
- name: '空闲',
+ name: this.$t('home.idle'),
},
],
},
@@ -726,7 +726,7 @@ export default {
var option;
option = {
title: {
- text: '内存使用率',
+ text: this.$t('home.memUsage'),
left: 'left',
textStyle: {
fontSize: 16,
@@ -742,7 +742,7 @@ export default {
color: ['#F56C6C', '#DDD'],
series: [
{
- name: '内存使用率 G',
+ name: this.$t('home.memUsage') + ' G',
type: 'pie',
radius: '55%',
label: {
@@ -757,11 +757,11 @@ export default {
data: [
{
value: this.server.mem.used,
- name: '已用',
+ name: this.$t('home.used'),
},
{
value: this.server.mem.free,
- name: '剩余',
+ name: this.$t('home.free'),
},
],
},
@@ -777,7 +777,7 @@ export default {
let two = this.server.sysFiles[0].free.replace('GB', '');
option = {
title: {
- text: '系统盘使用率',
+ text: this.$t('home.diskUsage'),
left: 'left',
textStyle: {
fontSize: 16,
@@ -793,7 +793,7 @@ export default {
color: ['#F56C6C', '#DDD'],
series: [
{
- name: '磁盘状态 G',
+ name: this.$t('home.diskStatus') + ' G',
type: 'pie',
radius: '55%',
label: {
@@ -808,11 +808,11 @@ export default {
data: [
{
value: one,
- name: '已用',
+ name: this.$t('home.used'),
},
{
value: two,
- name: '可用',
+ name: this.$t('home.available'),
},
],
},
diff --git a/vue/src/views/iot/category/index.vue b/vue/src/views/iot/category/index.vue
index cc87683f..c6e29548 100644
--- a/vue/src/views/iot/category/index.vue
+++ b/vue/src/views/iot/category/index.vue
@@ -2,45 +2,45 @@
-
-
+
- 搜索
- 重置
+ {{ $t('search') }}
+ {{ $t('reset') }}
新增
+ v-hasPermi="['iot:category:add']">{{ $t('add') }}
-
-
-
+
+
+
-
-
+
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
+
修改
+ v-if="scope.row.isSys == '0' ? true : !isTenant">{{ $t('update') }}
删除
- 系统定义,不能修改
+ v-if="scope.row.isSys == '0' ? true : !isTenant">{{ $t('del') }}
+ {{ $t('template.index.891112-21') }}
@@ -49,25 +49,25 @@
:limit.sync="queryParams.pageSize" @pagination="getList" />
-
+
-
-
+
+
-
+
+ :placeholder="$t('product.category.142342-2')" style="width:100%" />
-
-
+
+
@@ -122,35 +122,35 @@ export default {
rules: {
categoryName: [{
required: true,
- message: "产品分类名称不能为空",
+ message: this.$t('product.category.142342-4'),
trigger: "blur"
}, {
min: 1,
max: 64,
- message: '产品分类不能少于1个字符和超过64字符',
+ message: this.$t('product.category.142342-12'),
},
],
orderNum: [{
required: true,
- message: '分类顺序不能为空',
+ message: this.$t('product.category.142342-13'),
trigger: 'blur',
}, {
type: 'number',
min: -2147483648,
max: 2147483647,
- message: '顺序值不能超过int型的取值范围(-2^31——2^31-1)',
+ message: this.$t('product.category.142342-14'),
trigger: 'blur',
}],
remark: [{
required: false,
min: 0,
max: 500,
- message: '备注不能输入超过500个字符',
+ message: this.$t('product.category.142342-15'),
trigger: 'blur',
}],
isSys: [{
required: true,
- message: "是否系统通用不能为空",
+ message: this.$t('product.category.142342-5'),
trigger: "blur"
}],
}
@@ -219,7 +219,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = "添加产品分类";
+ this.title = this.$t('product.category.142342-6');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -228,7 +228,7 @@ export default {
getCategory(categoryId).then(response => {
this.form = response.data;
this.open = true;
- this.title = "修改产品分类";
+ this.title = this.$t('product.category.142342-7');
});
},
/** 提交按钮 */
@@ -237,13 +237,13 @@ export default {
if (valid) {
if (this.form.categoryId != null) {
updateCategory(this.form).then(response => {
- this.$modal.msgSuccess("修改成功");
+ this.$modal.msgSuccess(this.$t('updateSuccess'));
this.open = false;
this.getList();
});
} else {
addCategory(this.form).then(response => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('addSuccess'));
this.open = false;
this.getList();
});
@@ -255,7 +255,7 @@ export default {
handleDelete(row) {
const categoryIds = row.categoryId || this.ids;
let msg = "";
- this.$modal.confirm('是否确认删除产品分类编号为"' + categoryIds + '"的数据项?').then(function () {
+ this.$modal.confirm(this.$t('product.category.142342-8', [categoryIds])).then(function () {
return delCategory(categoryIds).then(response => {
msg = response.msg;
});
diff --git a/vue/src/views/iot/clientDetails/index.vue b/vue/src/views/iot/clientDetails/index.vue
index e5c109ad..d7f7c36e 100644
--- a/vue/src/views/iot/clientDetails/index.vue
+++ b/vue/src/views/iot/clientDetails/index.vue
@@ -2,101 +2,101 @@
-
-
+
+
-
-
+
+
- 搜索
- 重置
- 该功能暂不可用,后面版本发布
+ {{ $t('search') }}
+ {{ $t('reset') }}
+ {{ $t('system.clientDetails.293742-0') }}
- 新增
+ {{ $t('add') }}
-
-
-
-
+
+
+
+
-
+
- 自动授权
- 用户验证
+ {{ $t('system.clientDetails.293742-3') }}
+ {{ $t('system.clientDetails.293742-4') }}
-
+
-
-
-
-
+
+
+
+
-
+
- 修改
- 删除
+ {{ $t('update') }}
+ {{ $t('del') }}
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -154,7 +154,7 @@ export default {
this.getList();
},
methods: {
- /** 查询云云对接列表 */
+ /** 查询列表 */
getList() {
this.loading = true;
listClientDetails(this.queryParams).then((response) => {
@@ -206,7 +206,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = "添加云云对接";
+ this.title = this.$t('system.clientDetails.293742-14');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -215,7 +215,7 @@ export default {
getClientDetails(clientId).then((response) => {
this.form = response.data;
this.open = true;
- this.title = "修改云云对接";
+ this.title = this.$t('system.clientDetails.293742-15');
});
},
/** 提交按钮 */
@@ -224,13 +224,13 @@ export default {
if (valid) {
if (this.form.clientId != null) {
updateClientDetails(this.form).then((response) => {
- this.$modal.msgSuccess("修改成功");
+ this.$modal.msgSuccess(this.$t('updateSuccess'));
this.open = false;
this.getList();
});
} else {
addClientDetails(this.form).then((response) => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('addSuccess'));
this.open = false;
this.getList();
});
@@ -242,13 +242,13 @@ export default {
handleDelete(row) {
const clientIds = row.clientId || this.ids;
this.$modal
- .confirm('是否确认删除云云对接编号为"' + clientIds + '"的数据项?')
+ .confirm(this.$t('speaker.clientDetails.index.893021-21', [clientIds]))
.then(function () {
return delClientDetails(clientIds);
})
.then(() => {
this.getList();
- this.$modal.msgSuccess("删除成功");
+ this.$modal.msgSuccess(this.$t('delSuccess'));
})
.catch(() => {});
},
@@ -273,15 +273,15 @@ export default {
/** 授权模式转换 */
convertGrantType(type) {
if (type == "client_credentials") {
- return "客户端模式"
+ return this.$t('system.clientDetails.293742-16')
} else if (type == "password") {
- return "密码模式";
+ return this.$t('system.clientDetails.293742-17');
} else if (type == "authorization_code") {
- return "授权码模式";
+ return this.$t('system.clientDetails.293742-18');
} else if (type == "implicit") {
- return "简化模式";
+ return this.$t('system.clientDetails.293742-19');
} else if (type == "refresh_token") {
- return "刷新Token";
+ return this.$t('system.clientDetails.293742-20');
} else {
return "";
}
diff --git a/vue/src/views/iot/device/device-edit.vue b/vue/src/views/iot/device/device-edit.vue
index f726884c..be60a6fd 100644
--- a/vue/src/views/iot/device/device-edit.vue
+++ b/vue/src/views/iot/device/device-edit.vue
@@ -2,53 +2,53 @@
- * 基本信息
+ * {{ $t('device.device-edit.148398-0') }}
-
-
- 摘要
+
+
+ {{ $t('device.device-edit.148398-3') }}
*
- 所属产品
+ {{ $t('device.device-edit.148398-4') }}
-
- 选择
+
+ {{ $t('device.device-edit.148398-6') }}
*
- 设备编号
+ {{ $t('device.device-edit.148398-7') }}
-
- 生成
- 生成
+
+ {{ $t('device.device-edit.148398-9') }}
+ {{ $t('device.device-edit.148398-9') }}
-
+
-
+
-
-
+
+
Version
-
+
-
+
-
-
+
+
-
-
+
+
-
-
- 坐标拾取
+
+
+ {{ $t('device.device-edit.148398-23') }}
-
-
- 坐标拾取
+
+
+ {{ $t('device.device-edit.148398-23') }}
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
- 认证信息
- 二维码
+ {{ $t('device.device-edit.148398-35') }}
+ {{ $t('device.device-edit.148398-36') }}
-
地图展示区域,新增后显示
+
{{ $t('device.device-edit.148398-37') }}
@@ -107,8 +107,8 @@
- 修 改
- 新 增
+ {{ $t('device.device-timer.433369-33') }}
+ {{ $t('device.device-timer.433369-32') }}
@@ -119,31 +119,31 @@
- 运行状态
+ {{ $t('device.device-edit.148398-42') }}
- 设备直播
+ {{ $t('device.device-edit.148398-45') }}
- 设备定时
+ {{ $t('device.device-edit.148398-47') }}
- 设备用户
+ {{ $t('device.device-user.037521-12') }}
- 事件日志
+ {{ $t('device.device-edit.148398-49') }}
- 指令日志
+ {{ $t('device.device-edit.148398-50') }}
@@ -156,63 +156,63 @@
- 返回列表
+ {{ $t('device.device-edit.148398-53') }}
-
+
- 复制
+ {{ $t('device.device-edit.148398-55') }}
-
设备二维码
+
{{ $t('device.device-edit.148398-56') }}
-
设备二维码
+
{{ $t('device.device-edit.148398-56') }}
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -343,20 +343,20 @@ export default {
deviceName: [
{
required: true,
- message: '设备名称不能为空',
+ message: this.$t('device.device-edit.148398-60'),
trigger: 'blur',
},
{
min: 2,
max: 32,
- message: '设备名称长度在 2 到 32 个字符',
+ message: this.$t('device.device-edit.148398-61'),
trigger: 'blur',
},
],
firmwareVersion: [
{
required: true,
- message: '固件版本不能为空',
+ message: this.$t('device.device-edit.148398-62'),
trigger: 'blur',
},
],
@@ -407,8 +407,8 @@ export default {
return;
}
if (topics[3] == 'status' || topics[2] == 'status') {
- console.log('接收到【设备状态-详情】主题:', topic);
- console.log('接收到【设备状态-详情】内容:', message);
+ console.log(this.$t('device.device-edit.148398-63'), topic);
+ console.log(this.$t('device.device-edit.148398-64'), message);
// 更新列表中设备的状态
if (this.form.serialNumber == deviceNum) {
this.oldDeviceStatus = message.status;
@@ -782,16 +782,16 @@ export default {
/** 提交按钮 */
async submitForm() {
if (this.form.serialNumber == null || this.form.serialNumber == 0) {
- this.$modal.alertError('设备编号不能为空');
+ this.$modal.alertError(this.$t('device.device-edit.148398-65'));
return;
}
let reg = /^[0-9a-zA-Z]+$/;
if (!reg.test(this.form.serialNumber)) {
- this.$modal.alertError('设备编号只能是字母和数字');
+ this.$modal.alertError(this.$t('device.device-edit.148398-66'));
return;
}
if (this.form.productId == null || this.form.productId == 0) {
- this.$modal.alertError('所属产品不能为空');
+ this.$modal.alertError(this.$t('device.device-edit.148398-67'));
return;
}
@@ -802,7 +802,7 @@ export default {
if (response.data == 0) {
this.$modal.alertError(response.msg);
} else {
- this.$modal.alertSuccess('修改成功');
+ this.$modal.alertSuccess(this.$t('device.device-edit.148398-68'));
this.form = JSON.parse(JSON.stringify(this.form));
this.loadMap();
}
@@ -812,13 +812,13 @@ export default {
// 获取设备状态
await this.getDeviceStatusWitchThingsModel(response);
if (this.form.deviceId == null || this.form.deviceId == 0) {
- this.$modal.alertError('设备编号已经存在,添加设备失败');
+ this.$modal.alertError(this.$t('device.device-edit.148398-69'));
} else {
if (this.form.status == 2) {
this.deviceStatus = 1;
}
- this.$modal.alertSuccess('添加设备成功');
+ this.$modal.alertSuccess(this.$t('device.device-edit.148398-70'));
this.loadMap();
}
});
@@ -953,7 +953,7 @@ export default {
// 生成随机字母和数字
generateNum() {
if (!this.form.productId || this.form.productId == 0) {
- this.$modal.alertError('请先选择产品');
+ this.$modal.alertError(this.$t('device.device-edit.148398-72'));
return;
}
this.genDisabled = true;
diff --git a/vue/src/views/iot/device/device-functionlog.vue b/vue/src/views/iot/device/device-functionlog.vue
index 81223eff..be59e5e3 100644
--- a/vue/src/views/iot/device/device-functionlog.vue
+++ b/vue/src/views/iot/device/device-functionlog.vue
@@ -1,44 +1,44 @@
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('device.device-functionlog.399522-10') }}
+ {{ $t('device.device-functionlog.399522-11') }}
-
+
-
-
-
-
-
+
+
+
+
+
- 删除
+ {{ $t('device.device-functionlog.399522-18') }}
@@ -65,7 +65,7 @@ export default {
this.deviceInfo = newVal;
if (this.deviceInfo && this.deviceInfo.deviceId != 0) {
this.isSubDev = this.deviceInfo.subDeviceList && this.deviceInfo.subDeviceList.length > 0;
- this.showName = this.isSubDev ? '寄存器地址' : '标识符';
+ this.showName = this.isSubDev ? this.$t('device.device-functionlog.399522-19') : this.$t('device.device-functionlog.399522-5');
this.queryParams.deviceId = this.deviceInfo.deviceId;
this.queryParams.slaveId = this.deviceInfo.slaveId;
this.queryParams.serialNumber = this.deviceInfo.serialNumber;
@@ -122,10 +122,10 @@ export default {
slaveList: [],
// 表单校验
rules: {
- identify: [{ required: true, message: '标识符不能为空', trigger: 'blur' }],
- funType: [{ required: true, message: '功能下发类型不能为空', trigger: 'change' }],
- funValue: [{ required: true, message: '日志值不能为空', trigger: 'blur' }],
- serialNumber: [{ required: true, message: '设备编号不能为空', trigger: 'blur' }],
+ identify: [{ required: true, message: this.$t('device.device-functionlog.399522-20'), trigger: 'blur' }],
+ funType: [{ required: true, message: this.$t('device.device-functionlog.399522-21'), trigger: 'change' }],
+ funValue: [{ required: true, message: this.$t('device.device-functionlog.399522-22'), trigger: 'blur' }],
+ serialNumber: [{ required: true, message: this.$t('device.device-functionlog.399522-23'), trigger: 'blur' }],
},
};
},
@@ -195,13 +195,13 @@ export default {
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
- .confirm('是否确认删除设备服务下发日志编号为"' + ids + '"的数据项?')
+ .confirm(this.$t('device.device-functionlog.399522-24', [ids]))
.then(function () {
return delLog(ids);
})
.then(() => {
this.getList();
- this.$modal.msgSuccess('删除成功');
+ this.$modal.msgSuccess(this.$t('device.device-functionlog.399522-26'));
})
.catch(() => {});
},
diff --git a/vue/src/views/iot/device/device-log.vue b/vue/src/views/iot/device/device-log.vue
index 6ed51f3a..b2e10de1 100644
--- a/vue/src/views/iot/device/device-log.vue
+++ b/vue/src/views/iot/device/device-log.vue
@@ -1,75 +1,80 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('device.device-log.798283-7') }}
+ {{ $t('device.device-log.798283-8') }}
+
+
-
-
-
-
-
-
-
-
- 影子模式
- 在线模式
- 其他信息
-
-
-
-
- {{ scope.row.createTime }}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ $t('device.device-log.798283-11') }}
+ {{ $t('device.device-log.798283-12') }}
+ {{ $t('device.device-log.798283-13') }}
+
+
+
+
+ {{ scope.row.createTime }}
+
+
+
+
+
+
+
+
-
-
- {{scope.row.remark==null ?"无":scope.row.remark}}
-
-
-
-
-
-
+
+
+ {{ scope.row.remark == null ? '无' : scope.row.remark }}
+
+
+
+
-
-
diff --git a/vue/src/views/iot/device/device-monitor.vue b/vue/src/views/iot/device/device-monitor.vue
index 3a4682c4..b64fc000 100644
--- a/vue/src/views/iot/device/device-monitor.vue
+++ b/vue/src/views/iot/device/device-monitor.vue
@@ -1,22 +1,22 @@
-
-
-
+
+
+
-
-
-
+
+
+
- 开始监测
- 停止监测
+ {{ $t('device.device-monitor.817489-6') }}
+ {{ $t('device.device-monitor.817489-7') }}
-
+
@@ -128,8 +128,8 @@ export default {
}
}
if (topics[3] == 'monitor') {
- console.log('接收到【实时监测】主题:', topic);
- console.log('接收到【实时监测】内容:', message);
+ console.log(this.$t('device.device-monitor.817489-11'), topic);
+ console.log(this.$t('device.device-monitor.817489-12'), message);
// 实时监测
this.chartLoading = false;
for (let k = 0; k < message.length; k++) {
@@ -190,10 +190,10 @@ export default {
this.dataList[i].data = [];
}
if (this.monitorInterval < 500 || this.monitorInterval > 10000) {
- this.$modal.alertError('实时监测的间隔范围500-10000毫秒');
+ this.$modal.alertError(this.$t('device.device-monitor.817489-14'));
}
if (this.monitorNumber == 0 || this.monitorNumber > 300) {
- this.$modal.alertError('实时监测数量范围1-300');
+ this.$modal.alertError(this.$t('device.device-monitor.817489-15'));
}
// Mqtt发布实时监测消息
let model = {};
@@ -212,7 +212,7 @@ export default {
this.chartLoading = false;
// Mqtt发布实时监测
let model = {};
- model.name = '关闭实时监测';
+ model.name = this.$t('device.device-monitor.817489-17');
model.value = 0;
model.type = 4;
this.mqttPublish(this.deviceInfo, model);
@@ -228,7 +228,7 @@ export default {
option = {
title: {
left: 'center',
- text: this.monitorThings[i].name + ' (单位 ' + (this.monitorThings[i].datatype.unit != undefined ? this.monitorThings[i].datatype.unit : '无') + ')',
+ text: this.monitorThings[i].name + ' ' + this.$t('device.device-monitor.817489-18') + ' ' + (this.monitorThings[i].datatype.unit != undefined ? this.monitorThings[i].datatype.unit : this.$t('device.device-monitor.817489-19')) + ')',
textStyle: {
fontSize: 14,
},
diff --git a/vue/src/views/iot/device/device-timer.vue b/vue/src/views/iot/device/device-timer.vue
index 49b808b0..4e86a6c1 100644
--- a/vue/src/views/iot/device/device-timer.vue
+++ b/vue/src/views/iot/device/device-timer.vue
@@ -1,57 +1,57 @@
-
-
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('device.device-timer.433369-4') }}
+ {{ $t('device.device-timer.433369-5') }}
新增
+ v-hasPermi="['iot:device:timer']">{{ $t('device.device-timer.433369-6') }}
-
-
+
+
-
-
+
+
-
+
-
-
+
修改
+ v-hasPermi="['iot:device:timer']">{{ $t('device.device-timer.433369-33') }}
定时详细
+ v-hasPermi="['iot:device:timer']">{{ $t('device.device-timer.433369-15') }}
删除
+ v-hasPermi="['iot:device:timer']">{{ $t('device.device-timer.433369-16') }}
执行一次
+ v-hasPermi="['iot:device:timer']">{{ $t('device.device-timer.433369-17') }}
@@ -62,17 +62,17 @@
-
-
+
+
-
-
+
-
+
-
@@ -80,13 +80,13 @@
-
+
-
+
- 生成表达式
+ {{ $t('device.device-timer.433369-24') }}
@@ -94,11 +94,11 @@
自定义表达式
+ @change="customerCronChange">{{ $t('device.device-timer.433369-25') }}
-
+
{{ dict.label
}}
@@ -108,26 +108,26 @@
-
+
-
+
-
-
-
@@ -137,7 +137,7 @@
-
{{ actionItem.thingsModelItem.datatype.unit }}
@@ -148,80 +148,80 @@
inactive-value="0">
-
+
-
-
+
删除
+ @click="removeEnumItem(index)">{{ $t('del') }}
-
+
-
+
- {{ form.jobId }}
- {{ form.jobName }}
+ {{ form.jobId }}
+ {{ form.jobName }}
- {{ jobGroupFormat(form) }}
- {{ form.createTime }}
+ {{ jobGroupFormat(form) }}
+ {{ form.createTime }}
-
- 允许
- 禁止
+
+ {{ $t('device.device-timer.433369-41') }}
+ {{ $t('device.device-timer.433369-42') }}
- {{ form.cronExpression }}
+ {{ form.cronExpression }}
-
- 默认策略
- 立即执行
- 执行一次
- 放弃执行
+
+ {{ $t('device.device-timer.433369-45') }}
+ {{ $t('device.device-timer.433369-46') }}
+ {{ $t('device.device-timer.433369-17') }}
+ {{ $t('device.device-timer.433369-47') }}
- {{ parseTime(form.nextValidTime) }}
+ {{ parseTime(form.nextValidTime) }}
-
- 正常
- 暂停
+
+ {{ $t('device.device-timer.433369-50') }}
+ {{ $t('device.device-timer.433369-51') }}
-
+
@@ -229,7 +229,7 @@
@@ -307,31 +307,31 @@ export default {
timerWeeks: [
{
value: 1,
- label: '周一',
+ label: this.$t('device.device-timer.433369-54'),
},
{
value: 2,
- label: '周二',
+ label: this.$t('device.device-timer.433369-55'),
},
{
value: 3,
- label: '周三',
+ label: this.$t('device.device-timer.433369-56'),
},
{
value: 4,
- label: '周四',
+ label: this.$t('device.device-timer.433369-57'),
},
{
value: 5,
- label: '周五',
+ label: this.$t('device.device-timer.433369-58'),
},
{
value: 6,
- label: '周六',
+ label: this.$t('device.device-timer.433369-59'),
},
{
value: 7,
- label: '周日',
+ label: this.$t('device.device-timer.433369-60'),
},
],
timerWeekValue: [1, 2, 3, 4, 5, 6, 7],
@@ -341,11 +341,11 @@ export default {
modelTypes: [
{
value: 1,
- label: '属性',
+ label: this.$t('device.device-timer.433369-61'),
},
{
value: 2,
- label: '功能',
+ label: this.$t('device.device-timer.433369-62'),
},
],
// 表单参数
@@ -355,7 +355,7 @@ export default {
jobName: [
{
required: true,
- message: '定时名称不能为空',
+ message: this.$t('device.device-timer.433369-63'),
trigger: 'blur',
},
],
@@ -443,14 +443,14 @@ export default {
},
// 定时状态修改
handleStatusChange(row) {
- let text = row.status === '0' ? '启用' : '停用';
+ let text = row.status === '0' ? this.$t('device.device-timer.433369-12') : this.$t('device.device-timer.433369-64');
this.$modal
- .confirm('确认要"' + text + '""' + row.jobName + '"定时吗?')
+ .confirm(this.$t('device.device-timer.433369-65', [text]))
.then(function () {
return changeJobStatus(row.jobId, row.status);
})
.then(() => {
- this.$modal.msgSuccess(text + '成功');
+ this.$modal.msgSuccess(text + this.$t('device.device-timer.433369-67'));
})
.catch(function () {
row.status = row.status === '0' ? '1' : '0';
@@ -459,12 +459,12 @@ export default {
/* 立即执行一次 */
handleRun(row) {
this.$modal
- .confirm('确认要立即执行一次"' + row.jobName + '"定时吗?')
+ .confirm(this.$t('device.device-timer.433369-68', [row.jobName]))
.then(function () {
return runJob(row.jobId, row.jobGroup);
})
.then(() => {
- this.$modal.msgSuccess('执行成功');
+ this.$modal.msgSuccess(this.$t('device.device-timer.433369-69'));
})
.catch(() => { });
},
@@ -488,7 +488,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = '添加定时';
+ this.title = this.$t('device.device-timer.433369-70');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -521,7 +521,7 @@ export default {
this.timerTimeValue = this.form.cronExpression.substring(5, 7) + ':' + this.form.cronExpression.substring(2, 4);
}
this.open = true;
- this.title = '修改定时';
+ this.title = this.$t('device.device-timer.433369-71');
});
},
/** 提交按钮 */
@@ -531,22 +531,22 @@ export default {
// 验证不能为空
if (this.form.isAdvance == 0) {
if (this.timerTimeValue == '' || this.timerTimeValue == null) {
- this.$modal.alertError('执行时间不能空');
+ this.$modal.alertError(this.$t('device.device-timer.433369-87'));
return;
}
if (this.timerWeekValue == null || this.timerWeekValue == '') {
- this.$modal.alertError('请选择要执行的星期');
+ this.$modal.alertError(this.$t('device.device-timer.433369-88'));
return;
}
} else if (this.form.isAdvance == 1) {
if (this.form.cronExpression == '') {
- this.$modal.alertError('cron表达式不能为空');
+ this.$modal.alertError(this.$t('device.device-timer.433369-89'));
return;
}
}
for (let i = 0; i < this.actionList.length; i++) {
if (this.actionList[i].id == '' || this.actionList[i].name == '' || this.actionList[i].value == '') {
- this.$modal.alertError('执行动作中的选项和值不能为空');
+ this.$modal.alertError(this.$t('device.device-timer.433369-90'));
return;
}
}
@@ -568,14 +568,14 @@ export default {
this.submitButtonLoading = true;
if (this.form.jobId != undefined) {
updateJob(this.form).then((response) => {
- this.$modal.msgSuccess('修改成功');
+ this.$modal.msgSuccess(this.$t('device.device-timer.433369-91'));
this.submitButtonLoading = false;
this.open = false;
this.getList();
});
} else {
addJob(this.form).then((response) => {
- this.$modal.msgSuccess('新增成功');
+ this.$modal.msgSuccess(this.$t('device.device-timer.433369-92'));
this.submitButtonLoading = false;
this.open = false;
this.getList();
@@ -585,19 +585,19 @@ export default {
});
},
/** 删除按钮操作 */
- handleDelete(row) {
- const jobIds = row.jobId || this.ids;
- this.$modal
- .confirm('是否确认删除定时定时编号为"' + jobIds + '"的数据项?')
- .then(function () {
- return delJob(jobIds);
- })
- .then(() => {
- this.getList();
- this.$modal.msgSuccess('删除成功');
- })
- .catch(() => { });
- },
+ handleDelete(row) {
+ const jobIds = row.jobId || this.ids;
+ this.$modal
+ .confirm(this.$t('device.device-timer.433369-73', [jobIds]))
+ .then(function () {
+ return delJob(jobIds);
+ })
+ .then(() => {
+ this.getList();
+ this.$modal.msgSuccess(this.$t('device.device-timer.433369-75'));
+ })
+ .catch(() => {});
+ },
/** 导出按钮操作 */
handleExport() {
this.download(
@@ -737,7 +737,7 @@ export default {
}
}
}
- result = result + actions[i].name + ':' + value + '
';
+ result = result + actions[i].name + ': ' + value + '
';
}
return result;
},
@@ -745,33 +745,33 @@ export default {
formatCronDisplay(item) {
let result = '';
if (item.isAdvance == 0) {
- let time = '
时间 ' + item.cronExpression.substring(5, 7) + ':' + item.cronExpression.substring(2, 4) + '';
+ let time = '
' + this.$t('device.device-timer.433369-76') + ' ' + item.cronExpression.substring(5, 7) + ':' + item.cronExpression.substring(2, 4) + '';
let week = item.cronExpression.substring(12);
if (week == '1,2,3,4,5,6,7') {
- result = '每天 ' + time;
+ result = this.$t('device.device-timer.433369-77') + ' ' + time;
} else {
let weekArray = week.split(',');
for (let i = 0; i < weekArray.length; i++) {
if (weekArray[i] == '1') {
- result = result + '周一、';
+ result = result + this.$t('device.device-timer.433369-78');
} else if (weekArray[i] == '2') {
- result = result + '周二、';
+ result = result + this.$t('device.device-timer.433369-79');
} else if (weekArray[i] == '3') {
- result = result + '周三、';
+ result = result + this.$t('device.device-timer.433369-80');
} else if (weekArray[i] == '4') {
- result = result + '周四、';
+ result = result + this.$t('device.device-timer.433369-81');
} else if (weekArray[i] == '5') {
- result = result + '周五、';
+ result = result + this.$t('device.device-timer.433369-82');
} else if (weekArray[i] == '6') {
- result = result + '周六、';
+ result = result + this.$t('device.device-timer.433369-83');
} else if (weekArray[i] == '7') {
- result = result + '周日、';
+ result = result + this.$t('device.device-timer.433369-84');
}
}
result = result.substring(0, result.length - 1) + ' ' + time;
}
} else {
- result = '自定义Cron表达式';
+ result = this.$t('device.device-timer.433369-85');
}
return result;
},
diff --git a/vue/src/views/iot/device/device-user.vue b/vue/src/views/iot/device/device-user.vue
index 45d45679..22ca0f9a 100644
--- a/vue/src/views/iot/device/device-user.vue
+++ b/vue/src/views/iot/device/device-user.vue
@@ -2,49 +2,49 @@
- 分享设备
+ {{ $t('device.device-edit.148398-48') }}
- 刷新
+ {{ $t('device.device-user.037521-0') }}
-
-
-
-
+
+
+
+
- 主人
- 分享
+ {{ $t('device.device-user.037521-5') }}
+ {{ $t('device.device-user.037521-6') }}
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
+
+
- 编辑
- 取消分享
+ {{ $t('edit') }}
+ {{ $t('device.device-user.037521-11') }}
-
+
-
-
+
+
- 查询用户
+ {{ $t('device.device-user.037521-14') }}
@@ -52,32 +52,32 @@
{{ message }}
-
用户信息
-
用户ID:
+
{{ $t('device.device-user.037521-15') }}
+
{{ $t('device.device-user.037521-16') }}
{{ form.userId }}
-
手机号码:
+
{{ $t('device.device-user.037521-17') }}
{{ form.phonenumber }}
-
用户名称:
+
{{ $t('device.device-user.037521-18') }}
{{ form.userName }}
-
设置用户权限
+
{{ $t('device.device-user.037521-19') }}
-
-
-
+
+
+
-
备注信息
-
+
{{ $t('device.device-edit.148398-17') }}
+
@@ -131,13 +131,13 @@ export default {
phonenumber: [
{
required: true,
- message: '手机号码不能为空',
+ message: this.$t('device.device-user.037521-26'),
trigger: 'blur',
},
{
min: 11,
max: 11,
- message: '手机号码长度为11位',
+ message: this.$t('device.device-user.037521-27'),
trigger: 'blur',
},
],
@@ -216,13 +216,13 @@ export default {
handleDelete(row) {
const deviceUser = row;
this.$modal
- .confirm('确认取消分享设备?')
+ .confirm(this.$t('device.device-user.037521-28'))
.then(function () {
return delDeviceUser(deviceUser);
})
.then(() => {
this.getList();
- this.$modal.msgSuccess('取消分享成功');
+ this.$modal.msgSuccess(this.$t('device.device-user.037521-29'));
})
.catch(() => {});
},
@@ -239,7 +239,7 @@ export default {
getShareUser() {
this.permsLoading = true;
if (!this.deviceInfo.deviceId) {
- this.$modal.alert('查询不到设备信息,请刷新后重试');
+ this.$modal.alert(this.$t('device.device-user.037521-30'));
return;
}
this.permParams.deviceId = this.deviceInfo.deviceId;
@@ -266,8 +266,8 @@ export default {
this.sharePermissionList = [
{
identifier: 'timer',
- modelName: '设备定时',
- remark: '定时执行任务',
+ modelName: this.$t('device.device-user.037521-34'),
+ remark: this.$t('device.device-user.037521-35'),
},
{
identifier: 'log',
@@ -276,8 +276,8 @@ export default {
},
{
identifier: 'monitor',
- modelName: '实时监测',
- remark: '下发实时监测指令后,图表实时显示设备上报数据',
+ modelName: this.$t('device.device-user.037521-38'),
+ remark: this.$t('device.device-user.037521-39'),
},
{
identifier: 'statistic',
@@ -326,7 +326,7 @@ export default {
if (this.type == 2) {
// 更新设备用户
updateDeviceUser(this.form).then((response) => {
- this.$modal.msgSuccess('更新成功');
+ this.$modal.msgSuccess(this.$t('device.device-user.037521-42'));
this.resetUserQuery();
this.open = false;
this.getList();
@@ -336,13 +336,8 @@ export default {
this.form.deviceId = this.deviceInfo.deviceId;
this.form.deviceName = this.deviceInfo.deviceName;
addDeviceUser(this.form).then((response) => {
- this.$modal.msgSuccess('新增成功');
+ this.$modal.msgSuccess(this.$t('device.device-user.037521-43'));
this.resetUserQuery();
this.open = false;
this.getList();
- });
- }
- },
- },
-};
-
+
\ No newline at end of file
diff --git a/vue/src/views/iot/device/index.vue b/vue/src/views/iot/device/index.vue
index 007b74f8..f3d7fa3f 100644
--- a/vue/src/views/iot/device/index.vue
+++ b/vue/src/views/iot/device/index.vue
@@ -2,58 +2,58 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('search') }}
+ {{ $t('reset') }}
- 新增
- 切换
+ {{ $t('add') }}
+ {{ $t('device.index.105953-17') }}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
{{ scope.row.subDeviceCount }}
-
+
- 启用
- 禁用
+ {{ $t('device.index.105953-26') }}
+ {{ $t('device.index.105953-27') }}
-
+
-
+
@@ -62,32 +62,32 @@
-
+
-
+
Ver {{ scope.row.firmwareVersion }}
-
+
{{ parseTime(scope.row.activeTime, '{y}-{m}-{d}') }}
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
+
- 删除
- 查看
- 二维码
+ {{ $t('del') }}
+ {{ $t('look') }}
+ {{ $t('device.index.105953-37') }}
@@ -101,7 +101,7 @@
-
+
@@ -137,13 +137,13 @@
-
+
{{ item.serialNumber }}
-
+
{{ item.productName }}
-
+
{{ parseTime(item.activeTime, '{y}-{m}-{d}') }}
@@ -183,21 +183,21 @@
- 删除
- 查看
- 运行状态
+ {{ $t('del') }}
+ {{ $t('look') }}
+ {{ $t('device.index.105953-40') }}
-
+
-
设备二维码
+
{{ $t('device.index.105953-42') }}
@@ -340,8 +340,8 @@ export default {
return;
}
if (topics[3] == 'status') {
- console.log('接收到【设备状态】主题:', topic);
- console.log('接收到【设备状态】内容:', message);
+ console.log(this.$t('device.index.105953-43'), topic);
+ console.log(this.$t('device.index.105953-44'), message);
// 更新列表中设备的状态
for (let i = 0; i < this.deviceList.length; i++) {
if (this.deviceList[i].serialNumber == deviceNum) {
@@ -471,7 +471,7 @@ export default {
handleDelete(row) {
const deviceIds = row.deviceId || this.ids;
this.$modal
- .confirm('是否确认删除设备编号为"' + deviceIds + '"的数据项?')
+ .confirm(this.$t('device.index.105953-45', [deviceIds]))
.then(function () {
if (row.deviceType === 3) {
delSipDeviceBySipId(row.serialNumber);
@@ -480,7 +480,7 @@ export default {
})
.then(() => {
this.getList();
- this.$modal.msgSuccess('删除成功');
+ this.$modal.msgSuccess(this.$t('delSuccess'));
})
.catch(() => {});
},
diff --git a/vue/src/views/iot/device/product-list.vue b/vue/src/views/iot/device/product-list.vue
index b39099dd..ec3c45cb 100644
--- a/vue/src/views/iot/device/product-list.vue
+++ b/vue/src/views/iot/device/product-list.vue
@@ -1,43 +1,43 @@
-
+
diff --git a/vue/src/views/iot/device/running-status.vue b/vue/src/views/iot/device/running-status.vue
index 8b51916b..cfc03368 100644
--- a/vue/src/views/iot/device/running-status.vue
+++ b/vue/src/views/iot/device/running-status.vue
@@ -7,7 +7,7 @@
- 设备模式
+ {{ $t('device.running-status.866086-0') }}
{{ title }}
@@ -43,13 +43,13 @@
{{ subItem.text }}
-
+
-
+
@@ -206,17 +206,17 @@
-
+
-
+
-
+
@@ -231,7 +231,7 @@
- 设备离线时状态
+ {{ $t('device.running-status.866086-9') }}
@@ -375,7 +375,7 @@ export default {
data() {
return {
// 控制模块标题
- title: '设备控制 ',
+ title: this.$t('device.running-status.866086-48'),
// 未启用设备影子
shadowUnEnable: false,
// 控制项标题背景
@@ -428,8 +428,8 @@ export default {
return;
}
if (topics[3] == 'status') {
- console.log('接收到【设备状态-运行】主题:', topic);
- console.log('接收到【设备状态-运行】内容:', message);
+ console.log(this.$t('device.running-status.866086-21'), topic);
+ console.log(this.$t('device.running-status.866086-22'), message);
// 更新列表中设备的状态
if (this.deviceInfo.serialNumber == deviceNum) {
this.deviceInfo.status = message.status;
@@ -594,7 +594,7 @@ export default {
if (response.code === 200) {
this.$message({
type: 'success',
- message: '服务调用成功!',
+ message: this.$t('device.running-status.866086-25'),
});
}
});
@@ -654,14 +654,14 @@ export default {
updateDeviceStatus(device) {
if (device.status == 3) {
this.statusColor.background = '#12d09f';
- this.title = '在线模式';
+ this.title = this.$t('device.running-status.866086-26');
} else {
if (device.isShadow == 1) {
this.statusColor.background = '#409EFF';
- this.title = '影子模式';
+ this.title = this.$t('device.running-status.866086-27');
} else {
this.statusColor.background = '#909399';
- this.title = '离线模式';
+ this.title = this.$t('device.running-status.866086-28');
this.shadowUnEnable = true;
}
}
@@ -832,4 +832,4 @@ export default {
.el-slider__button-wrapper {
top: -9px;
}
-
+
\ No newline at end of file
diff --git a/vue/src/views/iot/device/user-list.vue b/vue/src/views/iot/device/user-list.vue
index dd91ad0e..93adfd36 100644
--- a/vue/src/views/iot/device/user-list.vue
+++ b/vue/src/views/iot/device/user-list.vue
@@ -1,29 +1,29 @@
-
+
-
-
+
+
- 查询
+ {{ $t('device.user-list.041943-3') }}
-
+
-
-
-
-
-
+
+
+
+
+
{{ parseTime(scope.row.createTime) }}
@@ -31,8 +31,8 @@
@@ -89,12 +89,12 @@ export default {
rules: {
phonenumber: [{
required: true,
- message: "手机号码不能为空",
+ message: this.$t('device.user-list.041943-11'),
trigger: "blur"
}, {
min: 11,
max: 11,
- message: '手机号码长度为11位',
+ message: this.$t('device.user-list.041943-12'),
trigger: 'blur'
}],
},
@@ -160,7 +160,7 @@ export default {
form.userName = this.user.userName;
form.phonenumber=this.user.phonenumber;
addDeviceUser(form).then(response => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('device.user-list.041943-13'));
this.resetQuery();
this.openSelectUser = false;
this.$parent.getList();
@@ -178,7 +178,7 @@ export default {
});
addDeviceUsers(form).then(response => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('device.user-list.041943-13'));
this.resetQuery();
this.openSelectUser = false;
this.$parent.getList();
diff --git a/vue/src/views/iot/group/device-list.vue b/vue/src/views/iot/group/device-list.vue
index fc02ca62..3caae9f5 100644
--- a/vue/src/views/iot/group/device-list.vue
+++ b/vue/src/views/iot/group/device-list.vue
@@ -1,26 +1,26 @@
-
+
-
-
+
+
- 搜索
+ {{ $t('iot.group.device-list.849593-3') }}
-
-
-
-
+
+
+
+
- 分享
- 拥有
+ {{ $t('iot.group.device-list.849593-8') }}
+ {{ $t('iot.group.device-list.849593-9') }}
-
+
@@ -29,8 +29,8 @@
@@ -182,7 +182,7 @@ export default {
handleDeviceSelected() {
this.group.deviceIds = this.ids;
updateDeviceGroups(this.group).then(response => {
- this.$modal.msgSuccess("更新分组下的设备成功");
+ this.$modal.msgSuccess(this.$t('iot.group.device-list.849593-13'));
this.openDeviceList = false;
})
}
diff --git a/vue/src/views/iot/group/index.vue b/vue/src/views/iot/group/index.vue
index cee09c71..a1a151fd 100644
--- a/vue/src/views/iot/group/index.vue
+++ b/vue/src/views/iot/group/index.vue
@@ -2,45 +2,45 @@
-
-
+
-
+
- 搜索
- 重置
+ {{ $t('iot.group.index.637432-3') }}
+ {{ $t('iot.group.index.637432-4') }}
新增
+ @click="handleAdd">{{ $t('iot.group.index.637432-5') }}
-
-
-
+
+
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
-
+
+
+
查看设备
+ icon="el-icon-search" @click="handleViewDevice(scope.row.groupId)">{{ $t('iot.group.index.637432-11') }}
添加设备
+ @click="selectDevice(scope.row)">{{ $t('iot.group.index.637432-12') }}
修改
+ icon="el-icon-edit" @click="handleUpdate(scope.row)">{{ $t('iot.group.index.637432-17') }}
删除
+ icon="el-icon-delete" @click="handleDelete(scope.row)">{{ $t('iot.group.index.637432-14') }}
@@ -53,19 +53,19 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -122,24 +122,14 @@ export default {
groupName: [
{
required: true,
- message: '分组名称不能为空',
+ message: this.$t('iot.group.index.637432-20'),
trigger: 'blur',
},
- {
- min: 1,
- max: 64,
- message: '分组名称不能少于1个字符和超过64字符',
- },
],
groupOrder: [
{
required: true,
- message: '分组排序不能为空,最大值为99',
- trigger: 'blur',
- },
- {
- max: 128,
- message: '分组排序不能少于1个位和超过10位',
+ message: this.$t('iot.group.index.637432-21'),
trigger: 'blur',
},
],
@@ -222,7 +212,7 @@ export default {
handleAdd() {
this.reset()
this.open = true
- this.title = '添加设备分组'
+ this.title = this.$t('iot.group.index.637432-22')
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -231,7 +221,7 @@ export default {
getGroup(groupId).then((response) => {
this.form = response.data
this.open = true
- this.title = '修改设备分组'
+ this.title = this.$t('iot.group.index.637432-23')
})
},
/** 选择设备 */
@@ -246,13 +236,13 @@ export default {
if (valid) {
if (this.form.groupId != null) {
updateGroup(this.form).then((response) => {
- this.$modal.msgSuccess('修改成功')
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-24'))
this.open = false
this.getList()
})
} else {
addGroup(this.form).then((response) => {
- this.$modal.msgSuccess('新增成功')
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-25'))
this.open = false
this.getList()
})
@@ -264,13 +254,13 @@ export default {
handleDelete(row) {
const groupIds = row.groupId || this.ids
this.$modal
- .confirm('是否确认删除设备分组编号为"' + groupIds + '"的数据项?')
+ .confirm(this.$t('iot.group.index.637432-26', [groupIds]))
.then(function () {
return delGroup(groupIds)
})
.then(() => {
this.getList()
- this.$modal.msgSuccess('删除成功')
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-27'))
})
.catch(() => { })
},
diff --git a/vue/src/views/iot/log/index.vue b/vue/src/views/iot/log/index.vue
index f94bf072..e85c4f0b 100644
--- a/vue/src/views/iot/log/index.vue
+++ b/vue/src/views/iot/log/index.vue
@@ -2,40 +2,40 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('device.index.105953-8') }}
+ {{ $t('device.index.105953-9') }}
@@ -43,65 +43,65 @@
- 新增
+ {{ $t('iot.group.index.637432-5') }}
- 修改
+ {{ $t('iot.group.index.637432-17') }}
- 删除
+ {{ $t('iot.group.index.637432-14') }}
- 导出
+ {{ $t('export') }}
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
+
+
- 处理
-
+ {{ $t('iot.log.index.902341-22') }}
+
@@ -111,62 +111,62 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
{{dict.label}}
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -229,47 +229,47 @@ export default {
rules: {
logName: [{
required: true,
- message: "日志名称不能为空",
+ message: this.$t('iot.log.index.902341-33'),
trigger: "blur"
}],
logType: [{
required: true,
- message: "类型不能为空",
+ message: this.$t('iot.log.index.902341-34'),
trigger: "change"
}],
logLevel: [{
required: true,
- message: "日志级别不能为空",
+ message: this.$t('iot.log.index.902341-35'),
trigger: "blur"
}],
deviceId: [{
required: true,
- message: "设备ID不能为空",
+ message: this.$t('iot.log.index.902341-36'),
trigger: "blur"
}],
deviceName: [{
required: true,
- message: "设备名称不能为空",
+ message: this.$t('iot.log.index.902341-37'),
trigger: "blur"
}],
userId: [{
required: true,
- message: "用户ID不能为空",
+ message: this.$t('iot.log.index.902341-38'),
trigger: "blur"
}],
userName: [{
required: true,
- message: "用户昵称不能为空",
+ message: this.$t('iot.log.index.902341-39'),
trigger: "blur"
}],
tenantId: [{
required: true,
- message: "租户ID不能为空",
+ message: this.$t('iot.log.index.902341-40'),
trigger: "blur"
}],
tenantName: [{
required: true,
- message: "租户名称不能为空",
+ message: this.$t('iot.log.index.902341-41'),
trigger: "blur"
}],
}
@@ -338,7 +338,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = "添加设备日志";
+ this.title = this.$t('iot.log.index.902341-42');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -347,7 +347,7 @@ export default {
getLog(deviceLogId).then(response => {
this.form = response.data;
this.open = true;
- this.title = "修改设备日志";
+ this.title = this.$t('iot.log.index.902341-43');
});
},
/** 提交按钮 */
@@ -356,13 +356,13 @@ export default {
if (valid) {
if (this.form.deviceLogId != null) {
updateLog(this.form).then(response => {
- this.$modal.msgSuccess("修改成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-24'));
this.open = false;
this.getList();
});
} else {
addLog(this.form).then(response => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-25'));
this.open = false;
this.getList();
});
@@ -373,11 +373,11 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const deviceLogIds = row.deviceLogId || this.ids;
- this.$modal.confirm('是否确认删除设备日志编号为"' + deviceLogIds + '"的数据项?').then(function () {
+ this.$modal.confirm(this.$t('iot.log.index.902341-44', [deviceLogIds])).then(function () {
return delLog(deviceLogIds);
}).then(() => {
this.getList();
- this.$modal.msgSuccess("删除成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-27'));
}).catch(() => {});
},
/** 导出按钮操作 */
diff --git a/vue/src/views/iot/netty/clients.vue b/vue/src/views/iot/netty/clients.vue
index c8f24c34..aa4e5a5d 100644
--- a/vue/src/views/iot/netty/clients.vue
+++ b/vue/src/views/iot/netty/clients.vue
@@ -2,49 +2,49 @@
-
-
+
+
- 只看设备端
+ {{ $t('netty.clients.654908-2') }}
- 搜索
- 重置
+ {{ $t('device.index.105953-8') }}
+ {{ $t('device.index.105953-9') }}
-
+
{{ scope.row.clientId }}
-
+
- 服务端
- Web端
- 移动端
- 测试端
- 设备端
+ {{ $t('netty.clients.654908-6') }}
+ {{ $t('netty.clients.654908-7') }}
+ {{ $t('netty.clients.654908-8') }}
+ {{ $t('netty.clients.654908-9') }}
+ {{ $t('netty.clients.654908-10') }}
-
+
- 已连接
- 已断开
+ {{ $t('netty.clients.654908-12') }}
+ {{ $t('netty.clients.654908-13') }}
-
-
-
-
+
+
+
+
-
+
- 踢出
+ {{ $t('netty.clients.654908-18') }}
@@ -55,10 +55,10 @@
- 订阅列表
+ {{ $t('netty.clients.654908-19') }}
-
+
@@ -67,15 +67,15 @@
-
+
-
-
+
+
-
+
@@ -85,8 +85,8 @@
@@ -148,7 +148,7 @@ export default {
topic: [
{
required: true,
- message: '主题不能为空',
+ message: this.$t('netty.clients.654908-26'),
trigger: 'blur',
},
],
@@ -213,13 +213,13 @@ export default {
handleDelete(row) {
const clientId = row.clientId;
this.$modal
- .confirm('是否确认删除MQTT客户端编号为"' + clientId + '"的数据项?')
+ .confirm(this.$t('netty.clients.654908-27', [clientId]))
.then(function () {
return eliminateClient(clientId);
})
.then(() => {
this.getList();
- this.$modal.msgSuccess('删除成功');
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-27'));
})
.catch(() => {});
},
@@ -228,7 +228,7 @@ export default {
const clientId = row.clientId;
const topic = row.topic;
this.$modal
- .confirm('是否确认取消订阅主题为"' + topic + '"的数据项?')
+ .confirm(this.$t('netty.clients.654908-28', [topic]))
.then(function () {
const param = {};
param.topic = topic;
@@ -237,14 +237,14 @@ export default {
})
.then(() => {
this.getSubscribeList(clientId);
- this.$modal.msgSuccess('取消订阅成功');
+ this.$modal.msgSuccess(this.$t('netty.clients.654908-29'));
})
.catch(() => {});
},
//查看客户端详情
handleOpen(row) {
this.open = true;
- this.title = '详情';
+ this.title = this.$t('iot.group.index.637432-13');
this.subscribeList = row.topics;
console.log(this.subscribeList);
},
@@ -260,7 +260,7 @@ export default {
this.$refs['subscribeForm'].validate((valid) => {
if (valid) {
addSubscribe(this.subscribeForm).then((response) => {
- this.$modal.msgSuccess('新增订阅成功');
+ this.$modal.msgSuccess(this.$t('netty.clients.654908-30'));
this.subscribeOpen = false;
this.getSubscribeList(this.clientId);
});
diff --git a/vue/src/views/iot/netty/mqtt.vue b/vue/src/views/iot/netty/mqtt.vue
index 095e8096..c8d5609a 100644
--- a/vue/src/views/iot/netty/mqtt.vue
+++ b/vue/src/views/iot/netty/mqtt.vue
@@ -3,7 +3,7 @@
- Mqtt 统计指标
+ {{ $t('netty.mqtt.564432-0') }}
@@ -12,7 +12,7 @@
-
发送消息
+
{{ $t('netty.mqtt.564432-1') }}
@@ -26,7 +26,7 @@
-
接收消息
+
{{ $t('netty.mqtt.564432-2') }}
@@ -38,7 +38,7 @@
-
认证次数
+
{{ $t('netty.mqtt.564432-3') }}
@@ -49,7 +49,7 @@
-
连接次数
+
{{ $t('netty.mqtt.564432-4') }}
@@ -60,7 +60,7 @@
-
订阅次数
+
{{ $t('netty.mqtt.564432-5') }}
@@ -73,7 +73,7 @@
-
今日接收
+
{{ $t('netty.mqtt.564432-6') }}
@@ -85,7 +85,7 @@
-
今日发送
+
{{ $t('netty.mqtt.564432-7') }}
@@ -147,7 +147,7 @@ export default {
var option;
option = {
title: {
- text: 'Mqtt消息',
+ text: this.$t('netty.mqtt.564432-8'),
left: 'left',
textStyle: {
fontSize: 16,
@@ -163,7 +163,7 @@ export default {
color: ['#E6A23C', '#F56C6C', '#DDD'],
series: [
{
- name: 'Mqtt消息 %',
+ name: this.$t('netty.mqtt.564432-9'),
type: 'pie',
radius: '55%',
label: {
@@ -178,11 +178,11 @@ export default {
data: [
{
value: this.static['send_total'],
- name: '发送消息总数',
+ name: this.$t('netty.mqtt.564432-10'),
},
{
value: this.static['receive_total'],
- name: '接收消息总数',
+ name: this.$t('netty.mqtt.564432-11'),
},
],
},
@@ -198,7 +198,7 @@ export default {
option = {
title: {
- text: 'Mqtt 状态数据',
+ text: this.$t('netty.mqtt.564432-12'),
textStyle: {
fontSize: 18,
color: '#000',
@@ -227,11 +227,17 @@ export default {
axisLabel: {
fontSize: 14,
},
- data: ['连接数量', '会话数量', '订阅数量', '路由数量', '保留消息'],
+ data: [
+ this.$t('netty.mqtt.564432-13'),
+ this.$t('netty.mqtt.564432-14'),
+ this.$t('netty.mqtt.564432-15'),
+ this.$t('netty.mqtt.564432-16'),
+ this.$t('netty.mqtt.564432-17'),
+ ],
},
series: [
{
- name: '当前数量',
+ name: this.$t('netty.mqtt.564432-18'),
type: 'bar',
data: [this.stats['connection_count'], this.stats['session_count'], this.stats['subscription_count'], this.stats['retain_count'], this.stats['retain_count']],
itemStyle: {
@@ -239,7 +245,7 @@ export default {
},
},
{
- name: '累计总数',
+ name: this.$t('netty.mqtt.564432-19'),
type: 'bar',
data: [this.stats['connection_total'], this.stats['session_total'], this.stats['subscription_total'], this.stats['retain_total'], this.stats['retain_total']],
itemStyle: {
diff --git a/vue/src/views/iot/news/index.vue b/vue/src/views/iot/news/index.vue
index 04605ffc..2c3751ee 100644
--- a/vue/src/views/iot/news/index.vue
+++ b/vue/src/views/iot/news/index.vue
@@ -1,105 +1,105 @@
-
-
+
-
-
+
-
-
+
+
-
-
+
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('device.index.105953-8') }}
+ {{ $t('device.index.105953-9') }}
新增
+ v-hasPermi="['iot:news:add']">{{ $t('system.sysclient.652154-4') }}
修改
+ v-hasPermi="['iot:news:edit']">{{ $t('system.sysclient.652154-5') }}
删除
+ v-hasPermi="['iot:news:remove']">{{ $t('system.sysclient.652154-6') }}
导出
+ v-hasPermi="['iot:news:export']">{{ $t('system.sysclient.652154-7') }}
-
+
-
-
+
+
{{ scope.row.categoryName }}
-
-
+
+
-
+
-
+
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
+
+
查看
+ @click="openDetailDialog(scope.row.newsId)">{{ $t('system.news.893410-25') }}
修改
+ v-hasPermi="['iot:news:edit']">{{ $t('system.sysclient.652154-5') }}
删除
+ v-hasPermi="['iot:news:remove']">{{ $t('system.sysclient.652154-6') }}
@@ -112,30 +112,30 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -144,25 +144,25 @@
-
-
+
+
-
+
-
+
@@ -176,7 +176,7 @@
@@ -246,35 +246,24 @@ export default {
rules: {
title: [{
required: true,
- message: "标题不能为空",
+ message: this.$t('system.news.893410-16'),
trigger: "blur"
- },
- {
- min: 1,
- max: 64,
- message: '标题不能少于1个字符和超过64字符',
- },
- ],
+ }],
content: [{
required: true,
- message: "内容不能为空",
+ message: this.$t('system.news.893410-17'),
trigger: "blur"
}],
categoryId: [{
required: true,
- message: "分类不能为空",
+ message: this.$t('system.news.893410-18'),
trigger: "blur"
}],
author: [{
required: true,
- message: "作者不能为空",
+ message: this.$t('system.news.893410-19'),
trigger: "blur"
- },
- {
- min: 1,
- max: 50,
- message: '作者名称不能少于1个字符和超过50字符',
- },],
+ }],
}
};
},
@@ -316,7 +305,7 @@ export default {
this.form = {
newsId: null,
title: null,
- content: "暂无内容",
+ content: this.$t('system.news.893410-20'),
imgUrl: "",
isTop: null,
isBanner: null,
@@ -353,7 +342,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = "添加新闻资讯";
+ this.title = this.$t('system.news.893410-21');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -362,27 +351,27 @@ export default {
getNews(newsId).then(response => {
this.form = response.data;
this.open = true;
- this.title = "修改新闻资讯";
+ this.title = this.$t('system.news.893410-22');
});
},
/** 提交按钮 */
submitForm() {
console.log(this.form);
if (this.form.imgUrl == null || this.form.imgUrl == "") {
- this.$modal.msgError("请上传图片");
+ this.$modal.msgError(this.$t('system.news.893410-23'));
return;
}
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.newsId != null) {
updateNews(this.form).then(response => {
- this.$modal.msgSuccess("修改成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-24'));
this.open = false;
this.getList();
});
} else {
addNews(this.form).then(response => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-25'));
this.open = false;
this.getList();
});
@@ -393,11 +382,11 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const newsIds = row.newsId || this.ids;
- this.$modal.confirm('是否确认删除新闻资讯编号为"' + newsIds + '"的数据项?').then(function () {
+ this.$modal.confirm(this.$t('system.news.893410-24', [newsIds])).then(function () {
return delNews(newsIds);
}).then(() => {
this.getList();
- this.$modal.msgSuccess("删除成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-27'));
}).catch(() => { });
},
/** 导出按钮操作 */
@@ -427,7 +416,7 @@ export default {
},
// 取消按钮
closeDetail() {
- this.titleDetail = "详情";
+ this.titleDetail = this.$t('system.news.893410-25');
this.openDetail = false;
this.reset();
},
diff --git a/vue/src/views/iot/newsCategory/index.vue b/vue/src/views/iot/newsCategory/index.vue
index c89eabb3..09d609a2 100644
--- a/vue/src/views/iot/newsCategory/index.vue
+++ b/vue/src/views/iot/newsCategory/index.vue
@@ -1,53 +1,53 @@
-
-
+
- 搜索
- 重置
+ {{ $t('device.index.105953-8') }}
+ {{ $t('device.index.105953-9') }}
新增
+ v-hasPermi="['iot:newsCategory:add']">{{ $t('system.sysclient.652154-4') }}
修改
+ v-hasPermi="['iot:newsCategory:edit']">{{ $t('system.sysclient.652154-5') }}
删除
+ v-hasPermi="['iot:newsCategory:remove']">{{ $t('system.sysclient.652154-6') }}
导出
+ v-hasPermi="['iot:newsCategory:export']">{{ $t('system.sysclient.652154-7') }}
-
-
-
-
+
+
+
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
+
+
查看
+ v-hasPermi="['iot:newsCategory:add']">{{ $t('device.index.105953-60') }}
删除
+ v-hasPermi="['iot:newsCategory:remove']">{{ $t('system.sysclient.652154-6') }}
@@ -58,23 +58,23 @@
-
-
+
+
-
-
+
-
-
+
+
@@ -123,21 +123,14 @@ export default {
rules: {
categoryName: [{
required: true,
- message: "分类名字不能为空",
+ message: this.$t('system.newsCategory.874509-4'),
trigger: "blur"
- },
- {
- min: 1,
- max: 64,
- message: '分类名字不能少于1个字符和超过64字符',
- },
- ],
+ }],
orderNum: [{
required: true,
- message: "显示顺序不能为空",
+ message: this.$t('system.newsCategory.874509-5'),
trigger: "blur"
- }
- ],
+ }],
}
};
},
@@ -194,7 +187,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = "添加新闻分类";
+ this.title = this.$t('system.newsCategory.874509-6');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -203,7 +196,7 @@ export default {
getNewsCategory(categoryId).then(response => {
this.form = response.data;
this.open = true;
- this.title = "修改新闻分类";
+ this.title = this.$t('system.newsCategory.874509-7');
});
},
/** 提交按钮 */
@@ -212,13 +205,13 @@ export default {
if (valid) {
if (this.form.categoryId != null) {
updateNewsCategory(this.form).then(response => {
- this.$modal.msgSuccess("修改成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-24'));
this.open = false;
this.getList();
});
} else {
addNewsCategory(this.form).then(response => {
- this.$modal.msgSuccess("新增成功");
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-25'));
this.open = false;
this.getList();
});
@@ -230,7 +223,7 @@ export default {
handleDelete(row) {
const categoryIds = row.categoryId || this.ids;
let msg = "";
- this.$modal.confirm('是否确认删除新闻分类编号为"' + categoryIds + '"的数据项?').then(function () {
+ this.$modal.confirm(this.$t('system.newsCategory.874509-8', [categoryIds])).then(function () {
return delNewsCategory(categoryIds).then(response => {
msg = response.msg;
});
diff --git a/vue/src/views/iot/platform/index.vue b/vue/src/views/iot/platform/index.vue
index de891511..4fd98f27 100644
--- a/vue/src/views/iot/platform/index.vue
+++ b/vue/src/views/iot/platform/index.vue
@@ -3,18 +3,18 @@
-
+
-
+
- 搜索
- 重置
+ {{ $t('device.index.105953-8') }}
+ {{ $t('device.index.105953-9') }}
@@ -22,38 +22,38 @@
- 新增
+ {{ $t('system.sysclient.652154-4') }}
- 修改
+ {{ $t('system.sysclient.652154-5') }}
- 删除
+ {{ $t('system.sysclient.652154-6') }}
- 导出
+ {{ $t('system.sysclient.652154-7') }}
-
+
-
+
-
-
-
+
+
+
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
+
- 修改
- 删除
+ {{ $t('system.sysclient.652154-5') }}
+ {{ $t('system.sysclient.652154-6') }}
@@ -86,41 +86,41 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -160,9 +160,9 @@ export default {
status: null,
},
columnTips: {
- bindId: '绑定登录uri, http://localhost/login?bindId=,域名换成对应域名即可,本地开发不需要更改',
- redirectLogin: '跳转登录uri,http://localhost/login?loginId=,域名换成对应域名即可,本地开发不需要更改',
- errorId: '错误提示获取uri,http://localhost/login?errorId=,域名换成对应域名即可,本地开发不需要更改',
+ bindId: this.$t('system.platform.675309-24'),
+ redirectLogin: this.$t('system.platform.675309-25'),
+ errorId: this.$t('system.platform.675309-26'),
},
// 表单参数
form: {},
@@ -171,56 +171,56 @@ export default {
platform: [
{
required: true,
- message: '第三方平台不能为空',
+ message: this.$t('system.platform.675309-27'),
trigger: 'change',
},
],
status: [
{
required: true,
- message: ' 0:启用 ,1:禁用不能为空',
+ message: this.$t('system.platform.675309-28'),
trigger: 'change',
},
],
clientId: [
{
required: true,
- message: '第三方平台申请Id不能为空',
+ message: this.$t('system.platform.675309-29'),
trigger: 'blur',
},
],
secretKey: [
{
required: true,
- message: '第三方平台密钥不能为空',
+ message: this.$t('system.platform.675309-30'),
trigger: 'blur',
},
],
redirectUri: [
{
required: true,
- message: '用户认证后跳转地址不能为空',
+ message: this.$t('system.platform.675309-31'),
trigger: 'blur',
},
],
bindUri: [
{
required: true,
- message: '绑定注册登录uri,http://localhost/login?bindId=不能为空',
+ message: this.$t('system.platform.675309-32'),
trigger: 'blur',
},
],
redirectLoginUri: [
{
required: true,
- message: '跳转登录uri,http://localhost/login?loginId=不能为空',
+ message: this.$t('system.platform.675309-33'),
trigger: 'blur',
},
],
errorMsgUri: [
{
required: true,
- message: '错误提示uri,http://localhost/login?errorId=不能为空',
+ message: this.$t('system.platform.675309-34'),
trigger: 'blur',
},
],
@@ -306,7 +306,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
- this.title = '添加平台控制';
+ this.title = this.$t('system.platform.675309-35');
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -315,7 +315,7 @@ export default {
getPlatform(socialPlatformId).then((response) => {
this.form = response.data;
this.open = true;
- this.title = '修改平台控制';
+ this.title = this.$t('system.platform.675309-36');
});
},
/** 提交按钮 */
@@ -324,13 +324,13 @@ export default {
if (valid) {
if (this.form.socialPlatformId != null) {
updatePlatform(this.form).then((response) => {
- this.$modal.msgSuccess('修改成功');
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-24'));
this.open = false;
this.getList();
});
} else {
addPlatform(this.form).then((response) => {
- this.$modal.msgSuccess('新增成功');
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-25'));
this.open = false;
this.getList();
});
@@ -342,13 +342,13 @@ export default {
handleDelete(row) {
const socialPlatformIds = row.socialPlatformId || this.ids;
this.$modal
- .confirm('是否确认删除平台控制编号为"' + socialPlatformIds + '"的数据项')
+ .confirm(this.$t('system.platform.675309-37', [socialPlatformIds]))
.then(function () {
return delPlatform(socialPlatformIds);
})
.then(() => {
this.getList();
- this.$modal.msgSuccess('删除成功');
+ this.$modal.msgSuccess(this.$t('iot.group.index.637432-27'));
this.$refs.multipleTable.clearSelection();
})
.catch(() => {});
diff --git a/vue/src/views/iot/product/index.vue b/vue/src/views/iot/product/index.vue
index 5d7bcf69..07f85a89 100644
--- a/vue/src/views/iot/product/index.vue
+++ b/vue/src/views/iot/product/index.vue
@@ -2,23 +2,23 @@
-
-
+
+
-
-
+
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('search') }}
+ {{ $t('reset') }}
- 新增
+ {{ $t('add') }}
@@ -30,33 +30,33 @@
{{item.productName}}
- 系统
+ {{ $t('product.index.091251-47') }}
-
- 已发布
+
+ {{ $t('product.index.091251-13') }}
-
- 未发布
+
+ {{ $t('product.index.091251-15') }}
-
+
{{item.categoryName}}
-
+
-
+
-
- 已启用
- 未启用
+
+ {{ $t('product.index.091251-20') }}
+ {{ $t('product.index.091251-21') }}
@@ -70,31 +70,31 @@
- 详情
- 删除
- 设备授权
- 查看设备
+ {{ $t('product.index.091251-48') }}
+ {{ $t('product.index.091251-23') }}
+ {{ $t('product.index.091251-19') }}
+ {{ $t('product.index.091251-24') }}
-
+
- 该功能暂未实现,参考教程和项目的SDK示例
+ {{ $t('product.index.091251-26') }}
-
+
{{dict.label}}
@@ -181,30 +181,30 @@ export default {
},
/** 更新产品状态 */
async changeProductStatus(productId, status, deviceType) {
- let message = "确定取消发布?";
+ let message = this.$t('product.index.091251-30');
if (status == 2) {
// 发布
let hasPermission = checkPermi(['iot:product:add']);
if (!hasPermission) {
- this.$modal.alertError("没有操作权限");
+ this.$modal.alertError(this.$t('product.index.091251-31'));
return;
}
- message = "产品发布后,可以创建对应的设备";
+ message = this.$t('product.index.091251-32');
} else if (status == 1) {
// 取消发布
let hasPermission = checkPermi(['iot:product:edit']);
if (!hasPermission) {
- this.$modal.alertError("没有操作权限");
+ this.$modal.alertError(this.$t('product.index.091251-31'));
return;
}
let result = await this.getDeviceCountByProductId(productId);
if (result.data > 0) {
- message = "重要提示:产品下已有 " + result.data + " 个设备,取消发布可以修改产品信息和模型,重新发布后对应设备状态将会被重置!"
+ message = this.$i18n.t('product.index.091251-33', [result.data]);
}
}
- this.$confirm(message, '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
+ this.$confirm(message, this.$t('product.index.091251-34'), {
+ confirmButtonText: this.$t('product.index.091251-35'),
+ cancelButtonText: this.$t('cancel'),
type: 'warning'
}).then(() => {
let data = {};
@@ -245,7 +245,7 @@ export default {
},
/** 生成SDK */
handleGeneratorSDK(row) {
- this.title = "生成SDK"
+ this.title = this.$t('product.index.091251-38')
this.open = true;
},
/** 下载SDK */
@@ -256,7 +256,7 @@ export default {
handleDelete(row) {
const productIds = row.productId || this.ids;
let msg = "";
- this.$modal.confirm('是否确认删除产品编号为"' + productIds + '"的数据项?').then(function () {
+ this.$modal.confirm(this.$i18n.t('product.index.091251-39', [productIds])).then(function () {
// // 删除SIP配置
// delSipconfigByProductId(productIds).then(response => {});
return delProduct(productIds);
diff --git a/vue/src/views/iot/product/product-app.vue b/vue/src/views/iot/product/product-app.vue
index 7e6d958a..660e2eb3 100644
--- a/vue/src/views/iot/product/product-app.vue
+++ b/vue/src/views/iot/product/product-app.vue
@@ -4,34 +4,36 @@
- 刷新
+ {{ $t('refresh') }}
+
+
+ {{ $t('product.product-app.045891-1') }}
- 该功能暂不可用,后面版本发布
-
-
-
+
+
+
-
+
-
+
- {{scope.row.part}} 系统定义的部件
+ {{scope.row.part}} {{ $t('product.product-app.045891-7') }}
- 高级功能
+ {{ $t('product.product-app.045891-8') }}
-
-
+
+
@@ -40,7 +42,7 @@
- 界面展示
+ {{ $t('product.product-app.045891-11') }}
diff --git a/vue/src/views/iot/product/product-authorize.vue b/vue/src/views/iot/product/product-authorize.vue
index a2033f52..2dac5ca5 100644
--- a/vue/src/views/iot/product/product-authorize.vue
+++ b/vue/src/views/iot/product/product-authorize.vue
@@ -1,62 +1,62 @@
-
-
+
+
-
-
+
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('search') }}
+ {{ $t('reset') }}
- 生成授权码
+ {{ $t('product.product-authorize.314975-8') }}
- 批量删除
+ {{ $t('product.product-authorize.314975-9') }}
- 导出
+ {{ $t('product.product-authorize.314975-10') }}
- Tips:双击可以复制授权码。
+ {{ $t('product.product-authorize.314975-11') }}
-
-
+
+
-
+
{{scope.row.serialNumber}}
-
+
{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
-
-
+
+
- 设备授权
- 备注
- 删除
+ {{ $t('product.product-authorize.314975-69') }}
+ {{ $t('product.product-authorize.314975-13') }}
+ {{ $t('del') }}
@@ -68,28 +68,28 @@
-
+
-
- 提示:查找不到设备,可能已经被删除
+
+ {{ $t('product.product-authorize.314975-27') }}
- {{device.deviceId}}
- {{device.deviceName}}
- {{device.serialNumber}}
-
+ {{device.deviceId}}
+ {{device.deviceName}}
+ {{device.serialNumber}}
+
- 未激活
- 禁用
- 在线
- 离线
+ {{ $t('product.product-authorize.314975-28') }}
+ {{ $t('product.product-authorize.314975-29') }}
+ {{ $t('product.product-authorize.314975-30') }}
+ {{ $t('product.product-authorize.314975-31') }}
-
- 启用
- 未启用
+
+ {{ $t('product.product-authorize.314975-33') }}
+ {{ $t('product.index.091251-21') }}
-
+
- 自动定位
- 设备定位
- 自定义位置
+ {{ $t('product.product-authorize.314975-36') }}
+ {{ $t('product.product-authorize.314975-37') }}
+ {{ $t('product.product-authorize.314975-38') }}
- {{device.productName}}
- {{device.userName}}
- Version {{device.firmwareVersion}}
- {{device.networkAddress}}
- {{device.longitude}}
- {{device.latitude}}
- {{device.networkIp}}
- {{device.rssi}}
- {{device.createTime}}
- {{device.activeTime}}
- {{device.remark}}
+ {{device.productName}}
+ {{device.userName}}
+ {{ $t('product.product-authorize.314975-41') }} {{device.firmwareVersion}}
+ {{device.networkAddress}}
+ {{device.longitude}}
+ {{device.latitude}}
+ {{device.networkIp}}
+ {{device.rssi}}
+ {{device.createTime}}
+ {{device.activeTime}}
+ {{device.remark}}
@@ -388,12 +388,12 @@ export default {
},
/** 批量新增按钮操作 */
handleAdd() {
- this.$prompt('', '输入授权码数量', {
+ this.$prompt('', this.$t('product.product-authorize.314975-52'), {
customClass: 'createNum',
- confirmButtonText: '确定',
- cancelButtonText: '取消',
+ confirmButtonText: this.$t('product.product-authorize.314975-53'),
+ cancelButtonText: this.$t('product.product-authorize.314975-54'),
inputPattern: /[0-9\-]/,
- inputErrorMessage: '数量内容不正确',
+ inputErrorMessage: this.$t('product.product-authorize.314975-55'),
inputType: 'number',
inputValue: this.createNum
}).then(({
@@ -406,7 +406,7 @@ export default {
createNum: this.createNum
}
addProductAuthorizeByNum(_addData).then(response => {
- this.$modal.msgSuccess("新增授权码成功");
+ this.$modal.msgSuccess(this.$t('product.product-authorize.314975-56'));
this.getList();
this.createNum = 10;
});
@@ -414,7 +414,7 @@ export default {
}).catch(() => {
this.$message({
type: 'info',
- message: '取消新增'
+ message: this.$t('product.product-authorize.314975-57')
});
});
},
@@ -427,10 +427,10 @@ export default {
this.form = response.data;
this.open = true;
if (this.editType == 'auth') {
- this.title = "选择设备";
+ this.title = this.$t('product.product-authorize.314975-58');
this.editWidth = "800px";
} else {
- this.title = "备注信息";
+ this.title = this.$t('product.product-authorize.314975-13');
this.editWidth = "500px";
}
// 取消选中
@@ -449,16 +449,16 @@ export default {
if (this.editType == 'auth') {
if (this.form.deviceId != null && this.form.deviceId != 0) {
updateAuthorize(this.form).then(response => {
- this.$modal.msgSuccess("设备授权成功");
+ this.$modal.msgSuccess(this.$t('product.product-authorize.314975-59'));
this.open = false;
this.getList();
});
} else {
- this.$modal.msg("请选择要授权的设备");
+ this.$modal.msg(this.$t('product.product-authorize.314975-60'));
}
} else if (this.form.authorizeId != null) {
updateAuthorize(this.form).then(response => {
- this.$modal.msgSuccess("备注成功");
+ this.$modal.msgSuccess(this.$t('product.product-authorize.314975-61'));
this.open = false;
this.getList();
});
@@ -467,11 +467,11 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const authorizeIds = row.authorizeId || this.ids;
- this.$modal.confirm('是否确认删除产品授权码编号为"' + authorizeIds + '"的数据项?').then(function () {
+ this.$modal.confirm(this.$i18n.t('product.product-authorize.314975-62', [authorizeIds])).then(function () {
return delAuthorize(authorizeIds);
}).then(() => {
this.getList();
- this.$modal.msgSuccess("删除成功");
+ this.$modal.msgSuccess(this.$t('product.product-authorize.314975-63'));
}).catch(() => {});
},
/** 导出按钮操作 */
@@ -494,8 +494,8 @@ export default {
},
onCopy() {
this.$notify({
- title: '成功',
- message: '复制成功!',
+ title: this.$t('product.product-authorize.314975-64'),
+ message: this.$t('product.product-authorize.314975-66'),
type: 'success',
offset: 50,
duration: 2000
@@ -503,8 +503,8 @@ export default {
},
onError() {
this.$notify({
- title: '失败',
- message: '复制失败!',
+ title: this.$t('product.product-authorize.314975-67'),
+ message: this.$t('product.product-authorize.314975-68'),
type: 'error',
offset: 50,
duration: 2000
diff --git a/vue/src/views/iot/product/product-edit.vue b/vue/src/views/iot/product/product-edit.vue
index bf32b9dc..e37de83a 100644
--- a/vue/src/views/iot/product/product-edit.vue
+++ b/vue/src/views/iot/product/product-edit.vue
@@ -2,87 +2,87 @@
- * 基本信息
+ * {{ $t('product.product-edit.473153-0') }}
-
-
+
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
@@ -90,7 +90,7 @@
-
+
提示:上传后需要提交保存
+ v-if="form.productId == null || form.productId == 0">{{ $t('product.product-edit.473153-35') }}
@@ -118,26 +118,26 @@
修 改
+ v-show="form.productId != 0 && form.status != 2">{{ $t('product.product-edit.473153-36') }}
新 增
+ v-show="form.productId == 0 && form.status != 2">{{ $t('product.product-edit.473153-37') }}
- * 产品模型
+ * {{ $t('product.product-edit.473153-38') }}
- 设备授权
+ {{ $t('product.product-edit.473153-40') }}
- SIP配置
+ {{ $t('product.product-edit.473153-41') }}
@@ -156,18 +156,18 @@
发布产品
+ v-hasPermi="['iot:product:add']">{{ $t('product.product-edit.473153-86') }}
取消发布
+ v-hasPermi="['iot:product:edit']">{{ $t('product.product-edit.473153-87') }}
- 返回列表
+ {{ $t('back') }}
@@ -235,35 +235,35 @@ export default {
rules: {
productName: [{
required: true,
- message: "产品名称不能为空",
+ message: this.$t('product.product-edit.473153-58'),
trigger: "blur",
},
{
min: 1,
max: 64,
- message: '产品名称不能少于1个字符和超过64字符',
+ message: this.$i18n.t('product.product-edit.473153-59'),
trigger: 'blur',
},
],
categoryId: [{
required: true,
- message: "产品分类ID不能为空",
+ message: this.$t('product.product-edit.473153-59'),
trigger: "blur"
}],
deviceType: [{
required: true,
- message: "请选择设备类型",
+ message: this.$t('product.product-edit.473153-98'),
trigger: "blur"
}],
protocolCode: [{
required: true,
- message: "设备协议不能为空",
+ message: this.$t('product.product-edit.473153-60'),
trigger: "blur"
}],
transport: [{
required: true,
- message: "传输协议不能为空",
+ message: this.$t('product.product-edit.473153-61'),
trigger: 'blur'
}]
},
@@ -390,14 +390,14 @@ export default {
if (this.form.productId != null && this.form.productId != 0) {
updateProduct(this.form).then(response => {
this.changeProductCode(this.form.protocolCode);
- this.$modal.alertSuccess("修改成功");
+ this.$modal.alertSuccess(this.$t('product.product-edit.473153-62'));
});
} else {
addProduct(this.form).then(response => {
if (!this.form.isModbus) {
- this.$modal.alertSuccess("添加成功,可以开始定义物模型或配置");
+ this.$modal.alertSuccess(this.$t('product.product-edit.473153-99'));
} else {
- this.$modal.alertSuccess("物模型已经从采集点模板同步至产品")
+ this.$modal.alertSuccess(this.$t('product.product-edit.473153-65'));
}
this.form = response.data;
this.changeProductCode(this.form.protocolCode);
@@ -418,18 +418,18 @@ export default {
},
/** 更新产品状态 */
async changeProductStatus(status) {
- let message = "确定取消发布?";
+ let message = this.$t('product.product-edit.473153-66');
if (status == 2) {
- message = "产品发布后,可以创建对应的设备";
+ message = this.$t('product.product-edit.473153-67');
} else if (status == 1) {
let result = await this.getDeviceCountByProductId(this.form.productId);
if (result.data > 0) {
- message = "重要提示:产品下已有 " + result.data + " 个设备,取消发布可以修改产品信息和模型,重新发布后对应设备状态将会被重置!"
+ message = this.$i18n.t('product.product-edit.473153-68', [result.data]);
}
}
- this.$confirm(message, '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
+ this.$confirm(message, this.$t('product.product-edit.473153-69'), {
+ confirmButtonText: this.$t('product.product-edit.473153-70'),
+ cancelButtonText: this.$t('cancel'),
type: 'warning'
}).then(() => {
let data = {};
@@ -476,11 +476,11 @@ export default {
},
// 授权码状态修改
changeIsAuthorize() {
- let text = this.form.isAuthorize == "1" ? "启用" : "停用";
- this.$modal.confirm('确认要' + text + '授权码吗?').then(() => {
+ let text = this.form.isAuthorize == "1" ? this.$t('product.product-edit.473153-72') : this.$t('product.product-edit.473153-74');
+ this.$modal.confirm(this.$i18n.t('product.product-edit.473153-75', [text])).then(() => {
if (this.form.productId != null && this.form.productId != 0) {
updateProduct(this.form).then(response => {
- this.$modal.alertSuccess("授权码已" + text);
+ this.$modal.alertSuccess(this.$i18n.t('product.product-edit.473153-77', [text]));
});
}
}).catch(() => {
diff --git a/vue/src/views/iot/product/product-select-template.vue b/vue/src/views/iot/product/product-select-template.vue
index 1436feb7..5e4d1057 100644
--- a/vue/src/views/iot/product/product-select-template.vue
+++ b/vue/src/views/iot/product/product-select-template.vue
@@ -2,53 +2,53 @@
-
-
+
-
-
+
+
- 搜索
- 重置
+ {{ $t('search') }}
+ {{ $t('reset') }}
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
diff --git a/vue/src/views/iot/product/product-things-model.vue b/vue/src/views/iot/product/product-things-model.vue
index ab46afdf..d7e794e6 100644
--- a/vue/src/views/iot/product/product-things-model.vue
+++ b/vue/src/views/iot/product/product-things-model.vue
@@ -3,70 +3,70 @@
新增
+ v-if="productInfo.status == 1">{{ $t('product.product-things-model.142341-0') }}
导入通用物模型
+ v-if="productInfo.status == 1">{{ $t('product.product-things-model.142341-1') }}
- 刷新
+ {{ $t('refresh') }}
- 查看物模型
+ {{ $t('product.product-things-model.142341-3') }}
- 注意:标识符不能重复
+ {{ $t('product.product-things-model.142341-4') }}
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
修改
+ v-if="productInfo.status != 2">{{ $t('product.product-things-model.142341-84') }}
删除
+ v-if="productInfo.status != 2">{{ $t('del') }}
@@ -74,101 +74,101 @@
-
-
+
+
-
-
+
+
-
-
+
-
+
- 属性
- 功能
- 事件
+ {{ $t('product.product-things-model.142341-31') }}
+ {{ $t('product.product-things-model.142341-32') }}
+ {{ $t('product.product-things-model.142341-33') }}
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
- 到
+ {{ $t('product.product-things-model.142341-47') }}
-
-
-
+
+
-
- 到
+ {{ $t('product.product-things-model.142341-47') }}
-
-
-
+
+
-
-
+
-
+
- 计算公式
-
+ {{ $t('product.product-things-model.142341-19') }}
+
- 设备上行数据经计算公式计算后显示 。
+ {{ $t('product.product-things-model.142341-53') }}
- 公式中的%s为占位符,是固定字段。
+ {{ $t('product.product-things-model.142341-54') }}
- 如:
+ {{ $t('product.product-things-model.142341-55') }}
- 加:%s+10
+ {{ $t('product.product-things-model.142341-56') }}
- 减:%s-10
+ {{ $t('product.product-things-model.142341-57') }}
- 乘:%s*10
+ {{ $t('product.product-things-model.142341-58') }}
- 除:%s/10
+ {{ $t('product.product-things-model.142341-59') }}
- 余数:%s%10
+ {{ $t('product.product-things-model.142341-60') }}
@@ -179,132 +179,132 @@
-
+
-
+
- (0 值对应文本)
+ {{ $t('product.product-things-model.142341-65') }}
-
+
- (1 值对应文本)
+ {{ $t('product.product-things-model.142341-67') }}
-
-
-
-
+
+
+
+
-
+
-
+
-
+
删除
+ @click="removeEnumItem(index)">{{ $t('del') }}
-
+
-
+
- (字符串的最大长度)
+ {{ $t('product.product-things-model.142341-78') }}
-
+
-
+
-
+
- 整数
- 小数
- 字符串
- 对象
+ {{ $t('product.product-things-model.142341-38') }}
+ {{ $t('product.product-things-model.142341-39') }}
+ {{ $t('product.product-things-model.142341-42') }}
+ {{ $t('product.product-things-model.142341-44') }}
-
+
-
+
{{
item.order }}
{{ form.identifier + '_' + item.id }}
- 编辑
+ {{ $t('product.product-things-model.142341-84') }}
删除
+ @click="removeParameter(index)">{{ $t('del') }}
-
+
-
+
{{
item.order }}
{{ form.identifier + '_' + item.id }}
- 编辑
+ {{ $t('product.product-things-model.142341-84') }}
删除
+ @click="removeParameter(index)">{{ $t('del') }}
@@ -315,8 +315,8 @@
@@ -324,14 +324,15 @@
- 复制
+ {{ $t('product.product-things-model.142341-92') }}
+