mirror of
https://gitee.com/fit2cloud-feizhiyun/MeterSphere.git
synced 2024-12-05 05:29:29 +08:00
fix: 修复改了资源池之后资源池ID变了的问题
This commit is contained in:
parent
d26c05a306
commit
9a34a5f27f
@ -210,7 +210,6 @@ public class TestResourcePoolService {
|
||||
private void updateTestResource(TestResource testResource) {
|
||||
testResource.setUpdateTime(System.currentTimeMillis());
|
||||
testResource.setCreateTime(System.currentTimeMillis());
|
||||
testResource.setId(UUID.randomUUID().toString());
|
||||
testResourceMapper.insertSelective(testResource);
|
||||
}
|
||||
|
||||
|
@ -3,9 +3,10 @@
|
||||
<el-card class="table-card" v-loading="result.loading">
|
||||
<template v-slot:header>
|
||||
<ms-table-header :condition.sync="condition" @search="search" @create="create"
|
||||
:create-tip="$t('test_resource_pool.create_resource_pool')" :title="$t('commons.test_resource_pool')"/>
|
||||
:create-tip="$t('test_resource_pool.create_resource_pool')"
|
||||
:title="$t('commons.test_resource_pool')"/>
|
||||
</template>
|
||||
<el-table border class="adjust-table" :data="items" style="width: 100%">
|
||||
<el-table border class="adjust-table" :data="items" style="width: 100%">
|
||||
<el-table-column prop="name" :label="$t('commons.name')"/>
|
||||
<el-table-column prop="description" :label="$t('commons.description')"/>
|
||||
<el-table-column prop="type" :label="$t('test_resource_pool.type')">
|
||||
@ -174,225 +175,228 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MsCreateBox from "../CreateBox";
|
||||
import MsTablePagination from "../../common/pagination/TablePagination";
|
||||
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 MsCreateBox from "../CreateBox";
|
||||
import MsTablePagination from "../../common/pagination/TablePagination";
|
||||
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";
|
||||
|
||||
export default {
|
||||
name: "MsTestResourcePool",
|
||||
components: {MsCreateBox, MsTablePagination, MsTableHeader, MsTableOperator, MsDialogFooter},
|
||||
data() {
|
||||
return {
|
||||
result: {},
|
||||
createVisible: false,
|
||||
infoList: [],
|
||||
updateVisible: false,
|
||||
queryPath: "testresourcepool/list",
|
||||
condition: {},
|
||||
items: [],
|
||||
currentPage: 1,
|
||||
pageSize: 5,
|
||||
total: 0,
|
||||
form: {},
|
||||
rule: {
|
||||
name: [
|
||||
{required: true, message: this.$t('test_resource_pool.input_pool_name'), trigger: 'blur'},
|
||||
{min: 2, max: 20, message: this.$t('commons.input_limit', [2, 20]), trigger: 'blur'},
|
||||
{
|
||||
required: true,
|
||||
pattern: /^[\u4e00-\u9fa5_a-zA-Z0-9.·-]+$/,
|
||||
message: this.$t('test_resource_pool.pool_name_valid'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
description: [
|
||||
{max: 60, message: this.$t('commons.input_limit', [0, 60]), trigger: 'blur'}
|
||||
],
|
||||
type: [
|
||||
{required: true, message: this.$t('test_resource_pool.select_pool_type'), trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
export default {
|
||||
name: "MsTestResourcePool",
|
||||
components: {MsCreateBox, MsTablePagination, MsTableHeader, MsTableOperator, MsDialogFooter},
|
||||
data() {
|
||||
return {
|
||||
result: {},
|
||||
createVisible: false,
|
||||
infoList: [],
|
||||
updateVisible: false,
|
||||
queryPath: "testresourcepool/list",
|
||||
condition: {},
|
||||
items: [],
|
||||
currentPage: 1,
|
||||
pageSize: 5,
|
||||
total: 0,
|
||||
form: {},
|
||||
rule: {
|
||||
name: [
|
||||
{required: true, message: this.$t('test_resource_pool.input_pool_name'), trigger: 'blur'},
|
||||
{min: 2, max: 20, message: this.$t('commons.input_limit', [2, 20]), trigger: 'blur'},
|
||||
{
|
||||
required: true,
|
||||
pattern: /^[\u4e00-\u9fa5_a-zA-Z0-9.·-]+$/,
|
||||
message: this.$t('test_resource_pool.pool_name_valid'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
description: [
|
||||
{max: 60, message: this.$t('commons.input_limit', [0, 60]), trigger: 'blur'}
|
||||
],
|
||||
type: [
|
||||
{required: true, message: this.$t('test_resource_pool.select_pool_type'), trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
activated() {
|
||||
this.initTableData();
|
||||
},
|
||||
methods: {
|
||||
initTableData() {
|
||||
|
||||
this.result = this.$post(this.buildPagePath(this.queryPath), this.condition, response => {
|
||||
let data = response.data;
|
||||
this.items = data.listObject;
|
||||
this.total = data.itemCount;
|
||||
})
|
||||
},
|
||||
changeResourceType() {
|
||||
this.infoList = [];
|
||||
this.infoList.push({})
|
||||
},
|
||||
|
||||
addResourceInfo() {
|
||||
this.infoList.push({})
|
||||
},
|
||||
removeResourceInfo(index) {
|
||||
if (this.infoList.length > 1) {
|
||||
this.infoList.splice(index, 1)
|
||||
} else {
|
||||
this.$warning(this.$t('test_resource_pool.cannot_remove_all_node'))
|
||||
}
|
||||
},
|
||||
activated() {
|
||||
this.initTableData();
|
||||
},
|
||||
methods: {
|
||||
initTableData() {
|
||||
validateResourceInfo() {
|
||||
if (this.infoList.length <= 0) {
|
||||
return {validate: false, msg: this.$t('test_resource_pool.cannot_empty')}
|
||||
}
|
||||
|
||||
this.result = this.$post(this.buildPagePath(this.queryPath), this.condition, response => {
|
||||
let data = response.data;
|
||||
this.items = data.listObject;
|
||||
this.total = data.itemCount;
|
||||
})
|
||||
},
|
||||
changeResourceType() {
|
||||
this.infoList = [];
|
||||
this.infoList.push({})
|
||||
},
|
||||
|
||||
addResourceInfo() {
|
||||
this.infoList.push({})
|
||||
},
|
||||
removeResourceInfo(index) {
|
||||
if (this.infoList.length > 1) {
|
||||
this.infoList.splice(index, 1)
|
||||
} else {
|
||||
this.$warning(this.$t('test_resource_pool.cannot_remove_all_node'))
|
||||
}
|
||||
},
|
||||
validateResourceInfo() {
|
||||
if (this.infoList.length <= 0) {
|
||||
return {validate: false, msg: this.$t('test_resource_pool.cannot_empty')}
|
||||
}
|
||||
|
||||
let resultValidate = {validate: true, msg: this.$t('test_resource_pool.fill_the_data')};
|
||||
this.infoList.forEach(function (info) {
|
||||
for (let key in info) {
|
||||
if (info[key] != '0' && !info[key]) {
|
||||
resultValidate.validate = false
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!info.maxConcurrency) {
|
||||
let resultValidate = {validate: true, msg: this.$t('test_resource_pool.fill_the_data')};
|
||||
this.infoList.forEach(function (info) {
|
||||
for (let key in info) {
|
||||
if (info[key] != '0' && !info[key]) {
|
||||
resultValidate.validate = false
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
return resultValidate;
|
||||
},
|
||||
buildPagePath(path) {
|
||||
return path + "/" + this.currentPage + "/" + this.pageSize;
|
||||
},
|
||||
search() {
|
||||
this.initTableData();
|
||||
},
|
||||
create() {
|
||||
this.createVisible = true;
|
||||
listenGoBack(this.closeFunc);
|
||||
},
|
||||
edit(row) {
|
||||
this.updateVisible = true;
|
||||
this.form = JSON.parse(JSON.stringify(row));
|
||||
this.convertResources();
|
||||
listenGoBack(this.closeFunc);
|
||||
},
|
||||
convertResources() {
|
||||
let resources = [];
|
||||
if (this.form.resources) {
|
||||
this.form.resources.forEach(function (resource) {
|
||||
resources.push(JSON.parse(resource.configuration));
|
||||
})
|
||||
}
|
||||
this.infoList = resources;
|
||||
},
|
||||
del(row) {
|
||||
window.console.log(row);
|
||||
this.$confirm(this.$t('test_resource_pool.delete_prompt'), this.$t('commons.prompt'), {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
cancelButtonText: this.$t('commons.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.result = this.$get(`/testresourcepool/delete/${row.id}`,() => {
|
||||
this.initTableData();
|
||||
this.$success(this.$t('commons.delete_success'));
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$info(this.$t('commons.delete_cancel'));
|
||||
});
|
||||
},
|
||||
createTestResourcePool(createTestResourcePoolForm) {
|
||||
this.$refs[createTestResourcePoolForm].validate(valid => {
|
||||
if (valid) {
|
||||
let vri = this.validateResourceInfo();
|
||||
if (vri.validate) {
|
||||
this.convertSubmitResources();
|
||||
this.result = this.$post("/testresourcepool/add", this.form, () => {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('commons.save_success')
|
||||
},
|
||||
this.createVisible = false,
|
||||
this.initTableData());
|
||||
});
|
||||
} else {
|
||||
this.$warning(vri.msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
if (!info.maxConcurrency) {
|
||||
resultValidate.validate = false
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
return resultValidate;
|
||||
},
|
||||
buildPagePath(path) {
|
||||
return path + "/" + this.currentPage + "/" + this.pageSize;
|
||||
},
|
||||
search() {
|
||||
this.initTableData();
|
||||
},
|
||||
create() {
|
||||
this.createVisible = true;
|
||||
listenGoBack(this.closeFunc);
|
||||
},
|
||||
edit(row) {
|
||||
this.updateVisible = true;
|
||||
this.form = JSON.parse(JSON.stringify(row));
|
||||
this.convertResources();
|
||||
listenGoBack(this.closeFunc);
|
||||
},
|
||||
convertResources() {
|
||||
let resources = [];
|
||||
if (this.form.resources) {
|
||||
this.form.resources.forEach(function (resource) {
|
||||
let configuration = JSON.parse(resource.configuration);
|
||||
configuration.id = resource.id
|
||||
resources.push(configuration);
|
||||
})
|
||||
},
|
||||
convertSubmitResources() {
|
||||
let resources = [];
|
||||
let poolId = this.form.id;
|
||||
this.infoList.forEach(function (info) {
|
||||
let resource = {"configuration": JSON.stringify(info)};
|
||||
if (poolId) {
|
||||
resource.testResourcePoolId = poolId;
|
||||
}
|
||||
resources.push(resource);
|
||||
}
|
||||
this.infoList = resources;
|
||||
},
|
||||
del(row) {
|
||||
window.console.log(row);
|
||||
this.$confirm(this.$t('test_resource_pool.delete_prompt'), this.$t('commons.prompt'), {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
cancelButtonText: this.$t('commons.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.result = this.$get(`/testresourcepool/delete/${row.id}`, () => {
|
||||
this.initTableData();
|
||||
this.$success(this.$t('commons.delete_success'));
|
||||
});
|
||||
this.form.resources = resources;
|
||||
},
|
||||
updateTestResourcePool(updateTestResourcePoolForm) {
|
||||
this.$refs[updateTestResourcePoolForm].validate(valid => {
|
||||
if (valid) {
|
||||
let vri = this.validateResourceInfo();
|
||||
if (vri.validate) {
|
||||
this.convertSubmitResources();
|
||||
this.result = this.$post("/testresourcepool/update", this.form, () => {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('commons.modify_success')
|
||||
},
|
||||
this.updateVisible = false,
|
||||
this.initTableData(),
|
||||
self.loading = false);
|
||||
});
|
||||
} else {
|
||||
this.$warning(vri.msg);
|
||||
return false;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$info(this.$t('commons.delete_cancel'));
|
||||
});
|
||||
},
|
||||
createTestResourcePool(createTestResourcePoolForm) {
|
||||
this.$refs[createTestResourcePoolForm].validate(valid => {
|
||||
if (valid) {
|
||||
let vri = this.validateResourceInfo();
|
||||
if (vri.validate) {
|
||||
this.convertSubmitResources();
|
||||
this.result = this.$post("/testresourcepool/add", this.form, () => {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('commons.save_success')
|
||||
},
|
||||
this.createVisible = false,
|
||||
this.initTableData());
|
||||
});
|
||||
} else {
|
||||
this.$warning(vri.msg);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
closeFunc() {
|
||||
this.form = {};
|
||||
this.updateVisible = false;
|
||||
this.createVisible = false;
|
||||
removeGoBackListener(this.closeFunc);
|
||||
},
|
||||
changeSwitch(row) {
|
||||
this.result.loading = true;
|
||||
this.$info(this.$t('test_resource_pool.check_in'), 1000);
|
||||
this.$get('/testresourcepool/update/' + row.id + '/' + row.status)
|
||||
.then(() => {
|
||||
this.$success(this.$t('test_resource_pool.status_change_success'));
|
||||
this.result.loading = false;
|
||||
}).catch(() => {
|
||||
this.$error(this.$t('test_resource_pool.status_change_failed'));
|
||||
row.status = 'INVALID';
|
||||
this.result.loading = false;
|
||||
})
|
||||
}
|
||||
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
})
|
||||
},
|
||||
convertSubmitResources() {
|
||||
let resources = [];
|
||||
let poolId = this.form.id;
|
||||
this.infoList.forEach(function (info) {
|
||||
let configuration = JSON.stringify(info);
|
||||
let resource = {"configuration": configuration, id: info.id};
|
||||
if (poolId) {
|
||||
resource.testResourcePoolId = poolId;
|
||||
}
|
||||
resources.push(resource);
|
||||
});
|
||||
this.form.resources = resources;
|
||||
},
|
||||
updateTestResourcePool(updateTestResourcePoolForm) {
|
||||
this.$refs[updateTestResourcePoolForm].validate(valid => {
|
||||
if (valid) {
|
||||
let vri = this.validateResourceInfo();
|
||||
if (vri.validate) {
|
||||
this.convertSubmitResources();
|
||||
this.result = this.$post("/testresourcepool/update", this.form, () => {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('commons.modify_success')
|
||||
},
|
||||
this.updateVisible = false,
|
||||
this.initTableData(),
|
||||
self.loading = false);
|
||||
});
|
||||
} else {
|
||||
this.$warning(vri.msg);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
closeFunc() {
|
||||
this.form = {};
|
||||
this.updateVisible = false;
|
||||
this.createVisible = false;
|
||||
removeGoBackListener(this.closeFunc);
|
||||
},
|
||||
changeSwitch(row) {
|
||||
this.result.loading = true;
|
||||
this.$info(this.$t('test_resource_pool.check_in'), 1000);
|
||||
this.$get('/testresourcepool/update/' + row.id + '/' + row.status)
|
||||
.then(() => {
|
||||
this.$success(this.$t('test_resource_pool.status_change_success'));
|
||||
this.result.loading = false;
|
||||
}).catch(() => {
|
||||
this.$error(this.$t('test_resource_pool.status_change_failed'));
|
||||
row.status = 'INVALID';
|
||||
this.result.loading = false;
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.box {
|
||||
padding-left: 5px;
|
||||
}
|
||||
.box {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
Loading…
Reference in New Issue
Block a user