refactor: 批量添加资源池节点 --story=1002506 --user=刘瑞斌 测试资源池添加节点支... https://www.tapd.cn/55049933/s/1045374
This commit is contained in:
parent
3ae230f591
commit
c30963dcb5
|
@ -160,9 +160,14 @@
|
|||
@click="addResourceInfo()">
|
||||
{{ $t('commons.add') }}
|
||||
</el-button>
|
||||
<el-button icon="el-icon-circle-plus-outline" plain size="mini"
|
||||
@click="batchAddResource">
|
||||
{{ $t('commons.batch_add') }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="infoList" class="tb-edit" align="center" border highlight-current-row>
|
||||
<el-table-column type="index" width="50"/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="ip"
|
||||
|
@ -207,7 +212,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<batch-add-resource ref="batchAddResource" @batchSave="batchSave"/>
|
||||
</el-form>
|
||||
</div>
|
||||
<template v-slot:footer>
|
||||
|
@ -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')};
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
<template>
|
||||
<div>
|
||||
<ms-drawer :visible="dialogVisible" :size="30" @close="handleClose" direction="right"
|
||||
:show-full-screen="false" :is-show-close="false">
|
||||
<div>
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<div v-html="$t('test_resource_pool.batch_add_resource_tips')"></div>
|
||||
</el-col>
|
||||
<el-col :span="10" class="buttons">
|
||||
<el-button size="mini" @click="handleClose">{{ $t('commons.cancel') }}</el-button>
|
||||
<el-button type="primary" size="mini" @click="confirm" @keydown.enter.native.prevent>
|
||||
{{ $t('commons.confirm') }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="ms-code">
|
||||
<ms-code-edit class="ms-code" :enable-format="false" mode="text" :data.sync="parameters" theme="eclipse"
|
||||
:modes="['text']"
|
||||
ref="codeEdit"/>
|
||||
</div>
|
||||
</div>
|
||||
</ms-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MsDialogFooter from "@/business/components/common/components/MsDialogFooter";
|
||||
import {listenGoBack, removeGoBackListener} from "@/common/js/utils";
|
||||
import MsCodeEdit from "@/business/components/common/components/MsCodeEdit";
|
||||
import MsDrawer from "@/business/components/common/components/MsDrawer";
|
||||
|
||||
export default {
|
||||
name: "BatchAddResource",
|
||||
components: {
|
||||
MsDrawer,
|
||||
MsDialogFooter,
|
||||
MsCodeEdit
|
||||
},
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
parameters: "",
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
this.dialogVisible = true;
|
||||
listenGoBack(this.handleClose);
|
||||
},
|
||||
handleClose() {
|
||||
this.parameters = "";
|
||||
this.dialogVisible = false;
|
||||
removeGoBackListener(this.handleClose);
|
||||
},
|
||||
confirm() {
|
||||
this.dialogVisible = false;
|
||||
this.$emit("batchSave", this.parameters);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.ms-drawer {
|
||||
padding: 10px 13px;
|
||||
}
|
||||
|
||||
.ms-code {
|
||||
height: calc(100vh);
|
||||
}
|
||||
|
||||
.buttons .el-button {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.buttons .el-button:nth-child(2) {
|
||||
margin-right: 15px;
|
||||
}
|
||||
</style>
|
|
@ -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<br/>such as: 192.168.1.52,8082,9100,500',
|
||||
},
|
||||
system_parameter_setting: {
|
||||
mailbox_service_settings: 'Mailbox Settings',
|
||||
|
|
|
@ -1784,6 +1784,7 @@ export default {
|
|||
pod_thread_limit: '单POD最大线程数',
|
||||
usage: '用途',
|
||||
backend_listener: '后置监听器',
|
||||
batch_add_resource_tips: '格式:IP,Port,Monitor,最大并发数<br/>如:192.168.1.52,8082,9100,500',
|
||||
},
|
||||
system_parameter_setting: {
|
||||
mailbox_service_settings: '邮件设置',
|
||||
|
|
|
@ -1785,6 +1785,7 @@ export default {
|
|||
pod_thread_limit: '單POD最大線程數',
|
||||
usage: '用途',
|
||||
backend_listener: '後置監聽器',
|
||||
batch_add_resource_tips: '格式:IP,Port,Monitor,最大並發數<br/>如:192.168.1.52,8082,9100,500',
|
||||
},
|
||||
system_parameter_setting: {
|
||||
mailbox_service_settings: '郵件設置',
|
||||
|
|
Loading…
Reference in New Issue