diff --git a/frontend/src/business/components/settings/system/TestResourcePool.vue b/frontend/src/business/components/settings/system/TestResourcePool.vue
index fe3d78b261..aa6cf7fba4 100644
--- a/frontend/src/business/components/settings/system/TestResourcePool.vue
+++ b/frontend/src/business/components/settings/system/TestResourcePool.vue
@@ -160,9 +160,14 @@
@click="addResourceInfo()">
{{ $t('commons.add') }}
+
+ {{ $t('commons.batch_add') }}
+
+
-
+
@@ -231,10 +236,11 @@ import MsTableHeader from "../../common/components/MsTableHeader";
import MsTableOperator from "../../common/components/MsTableOperator";
import MsDialogFooter from "../../common/components/MsDialogFooter";
import {listenGoBack, removeGoBackListener} from "@/common/js/utils";
+import BatchAddResource from "@/business/components/settings/system/components/BatchAddResource";
export default {
name: "MsTestResourcePool",
- components: {MsCreateBox, MsTablePagination, MsTableHeader, MsTableOperator, MsDialogFooter},
+ components: {BatchAddResource, MsCreateBox, MsTablePagination, MsTableHeader, MsTableOperator, MsDialogFooter},
data() {
return {
result: {},
@@ -317,6 +323,32 @@ export default {
this.$warning(this.$t('test_resource_pool.cannot_remove_all_node'));
}
},
+ batchAddResource() {
+ this.$refs.batchAddResource.open();
+ },
+ batchSave(resources) {
+ let targets = this._handleBatchVars(resources);
+ targets.forEach(row => {
+ this.infoList.push(row);
+ });
+ },
+ _handleBatchVars(data) {
+ let params = data.split("\n");
+ let keyValues = [];
+ params.forEach(item => {
+ let line = item.split(/,|,/);
+ if (line.length < 3) {
+ return;
+ }
+ keyValues.push({
+ ip: line[0],
+ port: line[1],
+ monitorPort: line[2],
+ maxConcurrency: line[3],
+ });
+ });
+ return keyValues;
+ },
validateResourceInfo() {
if (this.infoList.length <= 0) {
return {validate: false, msg: this.$t('test_resource_pool.cannot_empty')};
diff --git a/frontend/src/business/components/settings/system/components/BatchAddResource.vue b/frontend/src/business/components/settings/system/components/BatchAddResource.vue
new file mode 100644
index 0000000000..fb33588903
--- /dev/null
+++ b/frontend/src/business/components/settings/system/components/BatchAddResource.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+ {{ $t('commons.cancel') }}
+
+ {{ $t('commons.confirm') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/i18n/en-US.js b/frontend/src/i18n/en-US.js
index 378f001565..7608b60ffb 100644
--- a/frontend/src/i18n/en-US.js
+++ b/frontend/src/i18n/en-US.js
@@ -1773,6 +1773,7 @@ export default {
pod_thread_limit: 'Maximum number of threads per POD',
usage: 'Usage',
backend_listener: 'Backend Listener',
+ batch_add_resource_tips: 'Format: IP, Port, Monitor, maximum concurrent number
such as: 192.168.1.52,8082,9100,500',
},
system_parameter_setting: {
mailbox_service_settings: 'Mailbox Settings',
diff --git a/frontend/src/i18n/zh-CN.js b/frontend/src/i18n/zh-CN.js
index e41b1f4611..ba571763d4 100644
--- a/frontend/src/i18n/zh-CN.js
+++ b/frontend/src/i18n/zh-CN.js
@@ -1784,6 +1784,7 @@ export default {
pod_thread_limit: '单POD最大线程数',
usage: '用途',
backend_listener: '后置监听器',
+ batch_add_resource_tips: '格式:IP,Port,Monitor,最大并发数
如:192.168.1.52,8082,9100,500',
},
system_parameter_setting: {
mailbox_service_settings: '邮件设置',
diff --git a/frontend/src/i18n/zh-TW.js b/frontend/src/i18n/zh-TW.js
index 773bdbbcd1..a61e265aa8 100644
--- a/frontend/src/i18n/zh-TW.js
+++ b/frontend/src/i18n/zh-TW.js
@@ -1785,6 +1785,7 @@ export default {
pod_thread_limit: '單POD最大線程數',
usage: '用途',
backend_listener: '後置監聽器',
+ batch_add_resource_tips: '格式:IP,Port,Monitor,最大並發數
如:192.168.1.52,8082,9100,500',
},
system_parameter_setting: {
mailbox_service_settings: '郵件設置',