|
@@ -13,8 +13,9 @@
|
|
|
<div class="protocol-header flex">
|
|
|
<div class="status flex-wrap">
|
|
|
<div class="manageTitle">机器维护</div>
|
|
|
- <div class="status1"><span class="icon"></span>内置</div>
|
|
|
- <div class="status2"><span class="icon"></span>扩展</div>
|
|
|
+ <div class="status1"><span class="icon"></span>物理机</div>
|
|
|
+ <div class="status2"><span class="icon"></span>虚拟机</div>
|
|
|
+ <div class="status3"><span class="icon"></span>docker</div>
|
|
|
</div>
|
|
|
<div class="addBtn">
|
|
|
<el-button class="button-white" size="small" @click="showAddDialog()">新增</el-button>
|
|
@@ -22,16 +23,22 @@
|
|
|
</div>
|
|
|
<div class="protocol-content">
|
|
|
<el-row :gutter="24">
|
|
|
- <el-col v-for="item in dataList" :key="item.protocolId" :span="4">
|
|
|
+ <el-col v-for="item in dataList" :key="item.deployNodeID" :span="4">
|
|
|
<div class="grid-content">
|
|
|
- <div :class="item.protocolStatus ? 'success' : 'error'" class="grid-content-bg"></div>
|
|
|
+ <div :class="item.deployNodeType ? 'success' : 'error'" class="grid-content-bg"></div>
|
|
|
<div class="grid-content-hand flex">
|
|
|
<div class="title flex-wrap">
|
|
|
- <div class="name">{{ item.protocolName }}</div>
|
|
|
+ <div class="name">{{ item.deployNodeName }}</div>
|
|
|
<i class="loger" @click="showEditDialog(item)" />
|
|
|
</div>
|
|
|
<i class="el-icon-close icon" @click="showRemoveDialog(item)" />
|
|
|
</div>
|
|
|
+ <div class="grid-content-hand flex">
|
|
|
+ <div class="cardContent">
|
|
|
+ <div class="IPadress">服务地址信息:10.72.3.66</div>
|
|
|
+ <div class="type">类型:物理机</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -41,21 +48,23 @@
|
|
|
<div class="airportInfoDialog dialog-public-background">
|
|
|
<div class="title">{{ editDialogTitle }}</div>
|
|
|
<div class="content">
|
|
|
- <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
|
|
|
- <el-form-item label="协议名称" prop="protocolName">
|
|
|
- <el-input v-model="ruleForm.protocolName" size="medium" placeholder="请输入协议名称(必填)" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="类名" prop="className">
|
|
|
- <el-input v-model="ruleForm.className" size="medium" type="textarea" :rows="2" placeholder="请输入类名(必填)" />
|
|
|
+ <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="130px" class="demo-ruleForm">
|
|
|
+ <el-form-item label="机器" prop="deployNodeName">
|
|
|
+ <el-input v-model="ruleForm.deployNodeName" size="medium" placeholder="请输入机器名称" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="读方法名" prop="rmethodName">
|
|
|
- <el-input v-model="ruleForm.rmethodName" size="medium" placeholder="请输入读方法名(必填)" />
|
|
|
+ <el-form-item label="机器描述">
|
|
|
+ <el-input v-model="ruleForm.deployNodeDescribe" size="medium" type="textarea" :rows="2" placeholder="请输入描述" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="写方法名" prop="smethodName">
|
|
|
- <el-input v-model="ruleForm.smethodName" size="medium" placeholder="请输入写方法名(必填)" />
|
|
|
+ <el-form-item label="服务器地址信息" prop="serviceURL">
|
|
|
+ <el-input v-model="ruleForm.serviceURL" size="medium" placeholder="请输入服务器地址信息" />
|
|
|
+
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文件名及路径" prop="filePath">
|
|
|
- <el-input v-model="ruleForm.filePath" size="medium" type="textarea" :rows="3" placeholder="请输入文件名及路径" />
|
|
|
+ <el-form-item label="机器类型" prop="deployNodeType">
|
|
|
+ <el-select v-model="ruleForm.deployNodeType" size="medium" placeholder="请选择机器类型">
|
|
|
+ <el-option label="物理机" value="1"></el-option>
|
|
|
+ <el-option label="虚拟机" value="2"></el-option>
|
|
|
+ <el-option label="docker" value="3"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -97,43 +106,41 @@ export default {
|
|
|
editDialogVisible: false,
|
|
|
removeDialogVisible: false,
|
|
|
rmObj: {},
|
|
|
- editDialogTitle: '新增协议',
|
|
|
+ editDialogTitle: '新增机器',
|
|
|
ruleForm: {
|
|
|
// 协议信息表单
|
|
|
- protocolId: null,
|
|
|
- protocolName: '',
|
|
|
- className: '',
|
|
|
- rmethodName: '',
|
|
|
- smethodName: '',
|
|
|
- filePath: ''
|
|
|
+ deployNodeID: null,
|
|
|
+ deployNodeName: '',
|
|
|
+ deployNodeDescribe: '',
|
|
|
+ serviceURL: '',
|
|
|
+ deployNodeType: ''
|
|
|
},
|
|
|
rules: {
|
|
|
// 协议信息表单验证
|
|
|
- protocolName: [{ required: true, message: '请输入协议名称', trigger: 'blur' }],
|
|
|
- className: [{ required: true, message: '请输入类名', trigger: 'blur' }],
|
|
|
- rmethodName: [{ required: true, message: '请输入读方法名', trigger: 'blur' }],
|
|
|
- smethodName: [{ required: true, message: '请输入写方法名', trigger: 'blur' }]
|
|
|
+ deployNodeName: [{ required: true, message: '请输入机器名称', trigger: 'blur' }],
|
|
|
+ serviceURL: [{ required: true, message: '请输入服务器地址信息', trigger: 'blur' }],
|
|
|
+ deployNodeType: [{ required: true, message: '请选择机器类型', trigger: 'blur' }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
created () {
|
|
|
for (let index = 0; index < 20; index++) {
|
|
|
this.dataList.push({
|
|
|
- protocolId: index,
|
|
|
- protocolStatus: index % 2 == 0 ? true : false,
|
|
|
- protocolName: 'IMBQ-' + (Math.floor(Math.random() * 10) + 1)
|
|
|
+ deployNodeID: index,
|
|
|
+ deployNodeType: index % 2 == 0 ? true : false,
|
|
|
+ deployNodeName: '主采集服务器-' + (Math.floor(Math.random() * 10) + 1)
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
// 新增-弹框
|
|
|
showAddDialog () {
|
|
|
- this.editDialogTitle = '新增协议'
|
|
|
+ this.editDialogTitle = '新增机器'
|
|
|
this.editDialogVisible = true
|
|
|
},
|
|
|
// 编辑-弹框
|
|
|
showEditDialog (item) {
|
|
|
- this.editDialogTitle = '编辑协议'
|
|
|
+ this.editDialogTitle = '编辑机器'
|
|
|
this.ruleForm = item
|
|
|
this.editDialogVisible = true
|
|
|
},
|
|
@@ -240,15 +247,22 @@ export default {
|
|
|
}
|
|
|
.status2 {
|
|
|
font-size: 14px;
|
|
|
+ margin-right: 28px;
|
|
|
.icon {
|
|
|
background: #f4c154;
|
|
|
}
|
|
|
}
|
|
|
+ .status3 {
|
|
|
+ font-size: 14px;
|
|
|
+ .icon {
|
|
|
+ background: #73D970;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
.protocol-content {
|
|
|
.grid-content {
|
|
|
- height: 120px;
|
|
|
+ height: 136px;
|
|
|
background: #ffffff;
|
|
|
box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
|
|
|
border-radius: 4px;
|
|
@@ -296,6 +310,24 @@ export default {
|
|
|
background-size: 100% 100%;
|
|
|
}
|
|
|
}
|
|
|
+ .cardContent{
|
|
|
+ margin-top: 30px;
|
|
|
+ text-align: left;
|
|
|
+ width: 100%;
|
|
|
+ .IPadress{
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: normal;
|
|
|
+ color: #101116;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .type{
|
|
|
+ margin-top: 14px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: normal;
|
|
|
+ color: #101116;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
.icon {
|
|
|
cursor: pointer;
|
|
|
font-size: 16px;
|