Browse Source

fix: 网格组件-服务器管理:遗漏部分多语言

vera_min 1 tháng trước cách đây
mục cha
commit
d7c71ae008

+ 5 - 2
src/i18n/pages/iotmanagerI18n/en.ts

@@ -2,7 +2,7 @@
  * @Author: vera_min vera_min@163.com
  * @Date: 2025-08-05 12:42:31
  * @LastEditors: vera_min vera_min@163.com
- * @LastEditTime: 2025-08-31 12:30:16
+ * @LastEditTime: 2025-09-01 11:27:50
  * @FilePath: /sagoo-admin-ui/src/i18n/pages/iotmanagerI18n/en.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -491,7 +491,10 @@ export default {
 		"TF100设备与服务通讯协议": "TF100 Device and Service Communication Protocol",
 		"editStatus": "Edit Status",
 		"unknown": "Unknown",
-		"serverDetail": "Server Detail"
+		"serverDetail": "Server Detail",
+		"enabled": "Successfully enabled!",
+		"disabled": "Successfully disabled!",
+		deleteServerMessage: "This operation will permanently delete the server: {name}, continue?",
 	},
 	// 通道管理
 	channel: {

+ 5 - 2
src/i18n/pages/iotmanagerI18n/zh-cn.ts

@@ -2,7 +2,7 @@
  * @Author: vera_min vera_min@163.com
  * @Date: 2025-08-28 16:18:16
  * @LastEditors: vera_min vera_min@163.com
- * @LastEditTime: 2025-08-31 12:28:59
+ * @LastEditTime: 2025-09-01 11:24:07
  * @FilePath: /sagoo-admin-ui-dev/src/i18n/pages/iotmanagerI18n/zh-cn.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -491,7 +491,10 @@ export default {
 		"TF100设备与服务通讯协议": "TF100设备与服务通讯协议",
 		"editStatus": "修改状态",
 		"unknown": "未知",
-		"serverDetail": "服务器详情"
+		"serverDetail": "服务器详情",
+		"enabled": "已开启",
+		"disabled": "已关闭",
+		deleteServerMessage: "此操作将永久删除服务器:{name}, 是否继续?",
 	},
 	// 通道管理
 	channel: {

+ 5 - 2
src/i18n/pages/iotmanagerI18n/zh-tw.ts

@@ -2,7 +2,7 @@
  * @Author: vera_min vera_min@163.com
  * @Date: 2025-08-05 12:42:31
  * @LastEditors: vera_min vera_min@163.com
- * @LastEditTime: 2025-08-31 12:28:13
+ * @LastEditTime: 2025-09-01 11:26:19
  * @FilePath: /sagoo-admin-ui/src/i18n/pages/iotmanager/zh-tw.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -491,7 +491,10 @@ export default {
 		"TF100设备与服务通讯协议": "TF100設備與服務通訊協議",
 		"editStatus": "修改狀態",
 		"unknown": "未知",
-		"serverDetail": "伺服器詳情"
+		"serverDetail": "伺服器詳情",
+		"enabled": "已開啟",
+		"disabled": "已關閉",
+		deleteServerMessage: "此操作將永久刪除伺服器:{name},是否繼續?",
 	},
 	// 通道管理
 	channel: {

+ 9 - 6
src/views/iot/network/server/component/list.vue

@@ -95,7 +95,7 @@ export default defineComponent({
 
     const { network_server_type } = proxy.useDict('network_server_type');
 
-    const { locale} = useI18n();
+    const { locale, t} = useI18n();
 
     const currentLocale = computed(() => locale.value);
 
@@ -119,7 +119,7 @@ export default defineComponent({
     const onChangeStatus = (id: number, status: number) => {
       api.server.changeServerStatus({ id: id, status: status }).then(() => {
         // 已开启 / 已关闭
-        ElMessage.success(status ? '已开启' : '已关闭');
+        ElMessage.success(status ? t('message.server.enabled') : t('message.server.disabled'));
         fetchList();
       })
     };
@@ -157,16 +157,19 @@ export default defineComponent({
     };
     // 删除
     const onRowDel = (row: TableDataForm) => {
-      ElMessageBox.confirm(`此操作将永久删除“${row.name}”,是否继续?`, '提示', {
-        confirmButtonText: '确认',
-        cancelButtonText: '取消',
+      // 此操作将永久删除“${row.name}”,是否继续?
+      ElMessageBox.confirm(
+        t('message.server.deleteServerMessage', { name: row.name }),
+        t('message.tableI18nConfirm.deleteTitle'), {
+        confirmButtonText: t('message.tableI18nConfirm.confirmText'),
+        cancelButtonText: t('message.tableI18nConfirm.cancelText'),
         type: 'warning',
       })
         .then(() => {
           api.server.deleteItem({ ids: [row.id] }).then(() => {
             fetchList()
             // 删除成功
-            ElMessage.success('删除成功');
+            ElMessage.success(t('message.tableI18nConfirm.deleteSuccess'));
           });
         })
         .catch(() => { });

+ 4 - 3
src/views/iot/network/server/component/serverDetail.vue

@@ -2,7 +2,7 @@
  * @Author: vera_min vera_min@163.com
  * @Date: 2025-08-28 16:18:16
  * @LastEditors: vera_min vera_min@163.com
- * @LastEditTime: 2025-08-30 22:13:54
+ * @LastEditTime: 2025-09-01 11:30:44
  * @FilePath: /sagoo-admin-ui-dev/src/views/iot/network/server/component/serverDetail.vue
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
@@ -48,7 +48,8 @@
 import { ref } from 'vue'
 import { ElMessage } from 'element-plus'
 import api from '/@/api/network'
-
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
 const loading = ref(false)
 
 const emit = defineEmits(['update:detail'])
@@ -68,7 +69,7 @@ const onChangeStatus = () => {
 			.changeServerStatus({ id: props.detail.id, status })
 			.then(() => {
 				// 已启动/未启动
-				ElMessage.success(props.detail.status ? '已启动' : '未启动')
+				ElMessage.success(props.detail.status ? t('message.server.enabled') : t('message.server.disabled'));
 				emit('update:detail', { ...props.detail, status })
 			})
 			.finally(() => {

+ 7 - 7
src/views/iot/network/server/createOrEdit.vue

@@ -16,8 +16,9 @@
                 <!-- 类型 -->
                 <el-form-item :label="$t('message.server.type')">
                   <!-- 请选择类型 -->
-                  <el-select v-model="form.types" :placeholder="$t('message.server.typePlaceholder')" >
-                    <el-option v-for="dict in network_server_type" :key="dict.value" :label="$t('message.server.'+ dict.label)" :value="dict.value">
+                  <el-select v-model="form.types" :placeholder="$t('message.server.typePlaceholder')">
+                    <!-- :label="$t('message.server.'+ dict.label)" -->
+                    <el-option v-for="dict in network_server_type" :key="dict.value" :label="dict.label" :value="dict.value">
                     </el-option>
                   </el-select>
                 </el-form-item>
@@ -136,7 +137,7 @@
               <el-form-item :label="$t('message.server.protocol')">
                 <!-- 请选择协议适配 -->
                 <el-select v-model="form.protocol.name" :placeholder="$t('message.server.protocolPlaceholder')">
-                  <el-option v-for="dict in messageData" :key="dict.types" :label="$t('message.server.'+dict.title)" :value="dict.name"></el-option>
+                  <el-option v-for="dict in messageData" :key="dict.types" :label="dict.title" :value="dict.name"></el-option>
                   <!-- 增加系统默认的mqtt选项 -->
                   <el-option label="Sagoo Mqtt" value="SagooMqtt"> </el-option>
                 </el-select>
@@ -188,7 +189,7 @@ const stickData = ref({
     "endian": ""
   }
 });
-const stick_type = ref([
+const stick_type = computed(() => [
   // 分隔符
   {
     label: t('message.server.separator'),
@@ -325,13 +326,13 @@ const submit = () => {
   if(params.id) {
     // 编辑成功
     api.server.editItem(params).then(() => {
-      ElMessage.success('编辑成功')
+      ElMessage.success(t('message.tableI18nConfirm.editSuccess'))
       goBack()
     });
   }else {
     // 新增成功
     api.server.addItem(params).then(() => {
-      ElMessage.success('新增成功')
+      ElMessage.success(t('message.tableI18nConfirm.addSuccess'))
       goBack()
     });
   }
@@ -379,7 +380,6 @@ const getCertificateList = () => {
 const getMessageData = () => {
   deviceApi.product.getTypesAll({ types: 'protocol' }).then((res: any) => {
     messageData.value = res || [];
-    console.log(messageData.value)
   });
 }
 

+ 13 - 1
src/views/iot/network/server/detail.vue

@@ -1,3 +1,11 @@
+<!--
+ * @Author: vera_min vera_min@163.com
+ * @Date: 2025-08-30 23:00:29
+ * @LastEditors: vera_min vera_min@163.com
+ * @LastEditTime: 2025-09-01 11:18:55
+ * @FilePath: /sagoo-admin-ui-pro2/src/views/iot/network/server/detail.vue
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+-->
 <template>
 	<div class="page bg border padding Ipt-2" style="position: relative;">
 		<el-tabs v-model="activeName" @tab-click="handleClick">
@@ -23,6 +31,8 @@ import serverDetail from './component/serverDetail.vue';
 import { useRoute, useRouter } from 'vue-router';
 
 import api from '/@/api/network';
+import { useI18n } from 'vue-i18n';
+
 
 interface TableDataState {
 	resourceModalPro: {
@@ -44,6 +54,7 @@ export default defineComponent({
 	setup(props) {
 		const route = useRoute();
 		const router = useRouter();
+		const { t } = useI18n();
 		const state = reactive<TableDataState>({
 			resourceModalPro: {
 				mode: '',
@@ -60,7 +71,8 @@ export default defineComponent({
 		};
 		const freshData = () => {
 			getDetail()
-			ElMessage.success('刷新成功');
+			// 刷新成功
+			ElMessage.success(t('message.tableI18nConfirm.freshSuccess'));
 		};
 		const toEdit = () => {
 			router.push(`/iotmanager/network/server/edit/${route.params && route.params.id}`)