完成服务重启功能

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 () { GET_ALL_DEVICES () {
return request({ url: '?query=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-edit="handleRowEdit"
@row-remove="handleRowRemove" @row-remove="handleRowRemove"
@dialog-cancel="handleDialogCancel" @dialog-cancel="handleDialogCancel"
@set-device="drawerShow"> @set-device="drawerShow"
@exec="handleDialogFormVisible">
<el-button slot="header" style="margin-bottom: 5px" @click="addRow">新增</el-button> <el-button slot="header" style="margin-bottom: 5px" @click="addRow">新增</el-button>
</d2-crud> </d2-crud>
@@ -25,17 +26,33 @@
:visible.sync="isDrawerShow" :visible.sync="isDrawerShow"
> >
<div slot="title" > <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 <el-tag
:color="serveStatus[selectedServerData.status].backgroundColor" :color="serveStatus[selectedServerData.status].backgroundColor"
:style="{color:serveStatus[selectedServerData.status].textColor,borderColor:serveStatus[selectedServerData.status].borderColor}" :style="{color:serveStatus[selectedServerData.status].textColor,borderColor:serveStatus[selectedServerData.status].borderColor}"
> >
{{serveStatus[selectedServerData.status].name}} {{serveStatus[selectedServerData.status].name}}
</el-tag> </el-tag>
<el-alert title="设备配置已更改,请在服务配置界面重启对应服务生效" type="warning" style="width:400px;display: inline-block;vertical-align: middle; margin-left: 5px;" :closable="false" />
</div> </div>
<device :server='server' @changeStatus='changeSelectedServerStatus'/> <device :server='server' @changeStatus='changeSelectedServerStatus'/>
</el-drawer> </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> </d2-container>
</template> </template>
@@ -81,6 +98,20 @@ export default {
} }
], ],
isDrawerShow: false, isDrawerShow: false,
dialogFormVisible: false,
form: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入账号', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
]
},
dialogFormServerId: 0,
server: {}, server: {},
serveStatus: { serveStatus: {
online: { online: {
@@ -134,6 +165,11 @@ export default {
text: '设备配置', text: '设备配置',
size: 'small', size: 'small',
emit: 'set-device' emit: 'set-device'
},
{
text: '配置应用',
size: 'small',
emit: 'exec'
} }
] ]
}, },
@@ -262,7 +298,6 @@ export default {
} else { } else {
this.serverSettings.Content.ServerInfoConfig.DeviceName = row.deviceName this.serverSettings.Content.ServerInfoConfig.DeviceName = row.deviceName
this.serverSettings.Content.ServerInfoConfig.CaptureURL = row.address this.serverSettings.Content.ServerInfoConfig.CaptureURL = row.address
console.log(this.serverSettings.Content.ServerInfoConfig)
this.$api.MODIFY_SERVER( this.$api.MODIFY_SERVER(
'http://' + row.url + ':' + row.port, 'http://' + row.url + ':' + row.port,
row.userName, row.userName,
@@ -323,6 +358,33 @@ export default {
}) })
done() 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) { handleDialogCancel (done) {
this.$message({ this.$message({
message: '用户放弃改动', message: '用户放弃改动',