作者 王勇

服务器增加创建选项

@@ -27,10 +27,13 @@ @@ -27,10 +27,13 @@
27 <el-table-column type="selection" width="55" align="center"></el-table-column> 27 <el-table-column type="selection" width="55" align="center"></el-table-column>
28 <el-table-column type="index" align="center"></el-table-column> 28 <el-table-column type="index" align="center"></el-table-column>
29 <el-table-column label="服务器名称" prop="serverName" align="center" width="180"></el-table-column> 29 <el-table-column label="服务器名称" prop="serverName" align="center" width="180"></el-table-column>
30 - <el-table-column label="服务器地址" prop="serverIp" align="center" width="180"></el-table-column>  
31 - <el-table-column label="服务器端口号" prop="serverPort" align="center" width="160"></el-table-column> 30 + <el-table-column label="服务器地址" prop="serverIp" align="center" width="200"></el-table-column>
  31 + <el-table-column label="服务器端口号" prop="serverPort" align="center" width="150"></el-table-column>
  32 + <el-table-column label="客户端端口号" prop="clientPort" align="center" width="150"></el-table-column>
  33 + <el-table-column label="超级用户名称" prop="superUsername" align="center"
  34 + width="150"></el-table-column>
32 <el-table-column label="相关描述" prop="description" align="center" width="300"></el-table-column> 35 <el-table-column label="相关描述" prop="description" align="center" width="300"></el-table-column>
33 - <el-table-column label="操作" width="300px" align="center"> 36 + <el-table-column label="操作" width="300px" align="center" fixed="right">
34 <template slot-scope="scope"> 37 <template slot-scope="scope">
35 <!-- 虚拟主机 --> 38 <!-- 虚拟主机 -->
36 <el-tooltip effect="dark" content="虚拟主机" placement="top-start" :enterable="false"> 39 <el-tooltip effect="dark" content="虚拟主机" placement="top-start" :enterable="false">
@@ -38,7 +41,6 @@ @@ -38,7 +41,6 @@
38 @click="toVirtualHost(scope.$index,scope.row)">虚拟主机 41 @click="toVirtualHost(scope.$index,scope.row)">虚拟主机
39 </el-button> 42 </el-button>
40 </el-tooltip> 43 </el-tooltip>
41 -  
42 <!-- 编辑按钮 --> 44 <!-- 编辑按钮 -->
43 <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false"> 45 <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
44 <el-button type="primary" icon="el-icon-edit" size="mini" 46 <el-button type="primary" icon="el-icon-edit" size="mini"
@@ -86,8 +88,7 @@ @@ -86,8 +88,7 @@
86 style="margin-top: -50px" 88 style="margin-top: -50px"
87 width="50%" text-align="center" @close="serverAddDialogClosed"> 89 width="50%" text-align="center" @close="serverAddDialogClosed">
88 <el-form :inline="true" :model="addServerForm" label-width="120px" status-icon 90 <el-form :inline="true" :model="addServerForm" label-width="120px" status-icon
89 - :rules="addServerFormRules" ref="addServerFormRef"  
90 - align="center"> 91 + :rules="addServerFormRules" ref="addServerFormRef" style="margin-top: -30px" align="center">
91 <el-form-item label="服务器名称:" prop="serverName"> 92 <el-form-item label="服务器名称:" prop="serverName">
92 <el-input v-model="addServerForm.serverName" style="width:270px" size="small" clearable 93 <el-input v-model="addServerForm.serverName" style="width:270px" size="small" clearable
93 placeholder="请输入服务器名称"></el-input> 94 placeholder="请输入服务器名称"></el-input>
@@ -96,10 +97,26 @@ @@ -96,10 +97,26 @@
96 <el-input v-model="addServerForm.serverIp" style="width:270px" size="small" clearable 97 <el-input v-model="addServerForm.serverIp" style="width:270px" size="small" clearable
97 placeholder="请输入服务器IP地址"></el-input> 98 placeholder="请输入服务器IP地址"></el-input>
98 </el-form-item> 99 </el-form-item>
99 - <el-form-item label="端口号:" prop="serverPort"> 100 + <el-form-item label="服务器端口号:" prop="serverPort">
100 <el-input v-model="addServerForm.serverPort" style="width:270px" size="small" clearable 101 <el-input v-model="addServerForm.serverPort" style="width:270px" size="small" clearable
101 placeholder="请输入服务器端口号"></el-input> 102 placeholder="请输入服务器端口号"></el-input>
102 </el-form-item> 103 </el-form-item>
  104 + <el-form-item label="客户端端口号:" prop="clientPort">
  105 + <el-input v-model="addServerForm.clientPort" style="width:270px" size="small" clearable
  106 + placeholder="请输入客户端端口号"></el-input>
  107 + </el-form-item>
  108 + <el-form-item label="超级用户名称:" prop="superUsername">
  109 + <el-input v-model="addServerForm.superUsername" style="width:270px" size="small" clearable
  110 + placeholder="请输入超级用户名称"></el-input>
  111 + </el-form-item>
  112 + <el-form-item label="超级用户密码:" prop="firstPassword">
  113 + <el-input type="password" v-model="addServerForm.firstPassword" style="width:270px"
  114 + size="small" clearable show-password placeholder="请输入超级用户密码"></el-input>
  115 + </el-form-item>
  116 + <el-form-item label="重新输入密码:" prop="superPassword">
  117 + <el-input type="password" v-model="addServerForm.superPassword" style="width:270px"
  118 + size="small" clearable show-password placeholder="请重新输入密码"></el-input>
  119 + </el-form-item>
103 <el-form-item label="相关描述:" prop="description"> 120 <el-form-item label="相关描述:" prop="description">
104 <el-input v-model="addServerForm.description" placeholder="请输入相关描述" 121 <el-input v-model="addServerForm.description" placeholder="请输入相关描述"
105 style="width:270px" size="small" clearable 122 style="width:270px" size="small" clearable
@@ -107,7 +124,7 @@ @@ -107,7 +124,7 @@
107 </el-form-item> 124 </el-form-item>
108 </el-form> 125 </el-form>
109 126
110 - <div slot="footer" class="dialog-footer" style="text-align: center"> 127 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -20px">
111 <el-button type="info" @click="serverDialog.addDialog = false" size="medium" 128 <el-button type="info" @click="serverDialog.addDialog = false" size="medium"
112 style="width: 100px">取消 129 style="width: 100px">取消
113 </el-button> 130 </el-button>
@@ -138,11 +155,21 @@ @@ -138,11 +155,21 @@
138 readonly disabled 155 readonly disabled
139 placeholder="请输入服务器IP地址"></el-input> 156 placeholder="请输入服务器IP地址"></el-input>
140 </el-form-item> 157 </el-form-item>
141 - <el-form-item label="端口号:" prop="serverPort"> 158 + <el-form-item label="服务器端口号:" prop="serverPort">
142 <el-input v-model="editServerForm.serverPort" style="width:270px" size="small" clearable 159 <el-input v-model="editServerForm.serverPort" style="width:270px" size="small" clearable
143 readonly disabled 160 readonly disabled
144 placeholder="请输入服务器端口号"></el-input> 161 placeholder="请输入服务器端口号"></el-input>
145 </el-form-item> 162 </el-form-item>
  163 + <el-form-item label="客户端端口号:" prop="clientPort">
  164 + <el-input v-model="editServerForm.clientPort" style="width:270px" size="small" clearable
  165 + readonly disabled placeholder="请输入客户端端口号"></el-input>
  166 + </el-form-item>
  167 +
  168 + <el-form-item label="超级用户名称:" prop="superUsername">
  169 + <el-input v-model="editServerForm.superUsername" style="width:270px" size="small" clearable
  170 + readonly disabled placeholder="请输入超级用户名称"></el-input>
  171 + </el-form-item>
  172 +
146 <el-form-item label="相关描述:" prop="description"> 173 <el-form-item label="相关描述:" prop="description">
147 <el-input v-model="editServerForm.description" placeholder="请输入相关描述" 174 <el-input v-model="editServerForm.description" placeholder="请输入相关描述"
148 style="width:270px" size="small" clearable 175 style="width:270px" size="small" clearable
@@ -179,6 +206,15 @@ @@ -179,6 +206,15 @@
179 name: "Server", 206 name: "Server",
180 207
181 data() { 208 data() {
  209 + const validatePassword = (rule, value, callback) => {
  210 + if (value === '') {
  211 + callback(new Error('请重新输入密码'));
  212 + } else if (value !== this.addServerForm.firstPassword) {
  213 + callback(new Error('两次输入密码不一致!'));
  214 + } else {
  215 + callback();
  216 + }
  217 + };
182 // 验证IP地址的自定义规则 218 // 验证IP地址的自定义规则
183 const serverIpValid = (rule, value, callback) => { 219 const serverIpValid = (rule, value, callback) => {
184 // 验证IP地址的正则表达式 220 // 验证IP地址的正则表达式
@@ -212,6 +248,14 @@ @@ -212,6 +248,14 @@
212 serverIp: '', 248 serverIp: '',
213 // 服务器端口号 249 // 服务器端口号
214 serverPort: undefined, 250 serverPort: undefined,
  251 + // 客户端端口号
  252 + clientPort: undefined,
  253 + // 超级用户名称
  254 + superUsername: '',
  255 + // 第一次输入密码
  256 + firstPassword: '',
  257 + // 超级用户密码
  258 + superPassword: '',
215 // 相关描述 259 // 相关描述
216 description: '', 260 description: '',
217 }, 261 },
@@ -271,7 +315,7 @@ @@ -271,7 +315,7 @@
271 ], 315 ],
272 serverIp: [ 316 serverIp: [
273 {required: true, message: '请输入服务器IP地址', trigger: ['blur', 'change']}, 317 {required: true, message: '请输入服务器IP地址', trigger: ['blur', 'change']},
274 - {validator: serverIpValid, trigger: 'blur'} 318 + {validator: serverIpValid, trigger: ['blur', 'change']}
275 ], 319 ],
276 serverPort: [ 320 serverPort: [
277 {required: true, message: '请输入服务器端口号', trigger: ['blur', 'change']}, 321 {required: true, message: '请输入服务器端口号', trigger: ['blur', 'change']},
@@ -279,6 +323,19 @@ @@ -279,6 +323,19 @@
279 description: [ 323 description: [
280 {required: true, message: '请输入服务器相关描述', trigger: ['blur', 'change']}, 324 {required: true, message: '请输入服务器相关描述', trigger: ['blur', 'change']},
281 ], 325 ],
  326 + clientPort: [
  327 + {required: true, message: '请输入客户端端口号', trigger: ['blur', 'change']},
  328 + ],
  329 + superUsername: [
  330 + {required: true, message: '请输入超级用户名称', trigger: ['blur', 'change']},
  331 + ],
  332 + firstPassword: [
  333 + {required: true, message: '请输入超级用户密码', trigger: ['blur', 'change']},
  334 + ],
  335 + superPassword: [
  336 + {required: true, message: '请重新输入密码', trigger: ['blur', 'change']},
  337 + {validator: validatePassword, trigger: ['blur', 'change']}
  338 + ],
282 }, 339 },
283 /** 340 /**
284 * 编辑服务器,表单的验证规则对象 341 * 编辑服务器,表单的验证规则对象
@@ -297,6 +354,12 @@ @@ -297,6 +354,12 @@
297 description: [ 354 description: [
298 {required: true, message: '请输入服务器相关描述', trigger: ['blur', 'change']}, 355 {required: true, message: '请输入服务器相关描述', trigger: ['blur', 'change']},
299 ], 356 ],
  357 + clientPort: [
  358 + {required: true, message: '请输入客户端端口号', trigger: ['blur', 'change']},
  359 + ],
  360 + superUsername: [
  361 + {required: true, message: '请输入超级用户名称', trigger: ['blur', 'change']},
  362 + ],
300 }, 363 },
301 } 364 }
302 }, 365 },