完成服务重启功能

This commit is contained in:
wu
2022-08-18 14:25:29 +08:00
parent 73814c500e
commit cbad19a3f6
2 changed files with 68 additions and 5 deletions

View File

@@ -84,5 +84,6 @@ export default ({ service, request, serviceForMock, requestForMock, mock, faker,
},
GET_ALL_DEVICES () {
return request({ url: '?query=all_devices' })
}
},
SET_SERVER_EXEC: (data) => handlePost(request, data),
})

View File

@@ -15,7 +15,8 @@
@row-edit="handleRowEdit"
@row-remove="handleRowRemove"
@dialog-cancel="handleDialogCancel"
@set-device="drawerShow">
@set-device="drawerShow"
@exec="handleDialogFormVisible">
<el-button slot="header" style="margin-bottom: 5px" @click="addRow">新增</el-button>
</d2-crud>
@@ -25,17 +26,33 @@
:visible.sync="isDrawerShow"
>
<div slot="title" >
<span class="title-text">前置服务 {{selectedServerData.name}} IP:{{selectedServerData.url}}</span>
<span class="title-text">前置服务 {{selectedServerData.name}} URL:{{selectedServerData.url}}</span>
<el-tag
:color="serveStatus[selectedServerData.status].backgroundColor"
:style="{color:serveStatus[selectedServerData.status].textColor,borderColor:serveStatus[selectedServerData.status].borderColor}"
>
{{serveStatus[selectedServerData.status].name}}
</el-tag>
<el-alert title="设备配置已更改,请在服务配置界面重启对应服务生效" type="warning" style="width:400px;display: inline-block;vertical-align: middle; margin-left: 5px;" :closable="false" />
</div>
<device :server='server' @changeStatus='changeSelectedServerStatus'/>
</el-drawer>
<el-dialog title="配置应用" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="账号" prop="username">
<el-input v-model="form.username" ></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input type="password" v-model="form.password" ></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="setServerExec"> </el-button>
</div>
</el-dialog>
</d2-container>
</template>
@@ -81,6 +98,20 @@ export default {
}
],
isDrawerShow: false,
dialogFormVisible: false,
form: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入账号', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
]
},
dialogFormServerId: 0,
server: {},
serveStatus: {
online: {
@@ -134,6 +165,11 @@ export default {
text: '设备配置',
size: 'small',
emit: 'set-device'
},
{
text: '配置应用',
size: 'small',
emit: 'exec'
}
]
},
@@ -262,7 +298,6 @@ export default {
} else {
this.serverSettings.Content.ServerInfoConfig.DeviceName = row.deviceName
this.serverSettings.Content.ServerInfoConfig.CaptureURL = row.address
console.log(this.serverSettings.Content.ServerInfoConfig)
this.$api.MODIFY_SERVER(
'http://' + row.url + ':' + row.port,
row.userName,
@@ -323,6 +358,33 @@ export default {
})
done()
},
setServerExec () {
this.$refs.form.validate(async (valid) => {
if (valid) {
try {
await this.$api.SET_SERVER_EXEC({
action: 'exec',
server_id: this.dialogFormServerId,
command: 'server_restart',
username: this.form.username,
password: this.form.password
})
this.$message({
message: '服务应用请求成功,请求动作已添加至请求队列中,请从服务监控页面查看结果',
type: 'success'
})
this.dialogFormServerId = 0
this.dialogFormVisible = false
} catch (e) {
console.log(e)
}
}
})
},
handleDialogFormVisible ({ row }) {
this.dialogFormServerId = row.id
this.dialogFormVisible = true
},
handleDialogCancel (done) {
this.$message({
message: '用户放弃改动',