<template>
|
<a-modal :title='title' :width='500' :visible='visible' :maskClosable='false' :confirmLoading='confirmLoading'
|
:okButtonProps='{ props: {disabled: disableSubmit} }' @ok='handleOk' @cancel='handleCancel' cancelText='关闭'>
|
<a-spin :spinning='confirmLoading'>
|
<a-form :form='form'>
|
<a-row :gutter='24'>
|
<a-col :span='24'>
|
<a-form-item label='起止日期' :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-range-picker
|
name='buildTime'
|
style='width: 100%'
|
@change='logRange'
|
v-decorator="['buildTime',{rules: [{ required: true, message: '请选择起止日期' }]}]" />
|
</a-form-item>
|
</a-col>
|
</a-row>
|
</a-form>
|
</a-spin>
|
<template slot='footer'>
|
<a-button :style="{ marginRight: '8px' }" @click='handleCancel'>关闭</a-button>
|
<a-button @click='handleOk' type='primary'>确定</a-button>
|
</template>
|
</a-modal>
|
</template>
|
|
<script>
|
import pick from 'lodash.pick'
|
import { getAction } from '@/api/manage'
|
|
|
export default {
|
name: 'LogModel',
|
data() {
|
return {
|
dayStart: '',
|
dayEnd: '',
|
title: '获取日志',
|
visible: false,
|
model: {},
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 5 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 18 }
|
},
|
confirmLoading: false,
|
form: this.$form.createForm(this),
|
url: {
|
log: '/serve/deploy/obtain/log'
|
},
|
disableSubmit: false
|
}
|
},
|
methods: {
|
websocket(data){
|
const that = this
|
that.confirmLoading = false
|
if (data.state == '1') {
|
that.close()
|
that.$message.success(data.message)
|
} else {
|
that.$message.warning(data.message)
|
}
|
},
|
logRange(date, dateString) {
|
this.dayStart = dateString[0]
|
this.dayEnd = dateString[1]
|
},
|
edit(record) {
|
this.form.resetFields()
|
this.model = Object.assign({}, record)
|
this.visible = true
|
this.$nextTick(() => {
|
this.form.setFieldsValue(pick(this.model, 'serverAddress', 'serverName', 'serverPort', 'remark'))
|
})
|
},
|
close() {
|
this.$emit('close')
|
this.visible = false
|
},
|
handleOk() {
|
const that = this
|
// 触发表单验证
|
this.form.validateFields((err, values) => {
|
if (!err) {
|
that.confirmLoading = true
|
let formData = Object.assign(this.model, values)
|
let loginParams = { dayStart: this.dayStart, dayEnd: this.dayEnd, serverCode: formData.serverCode }
|
// 查询日志
|
getAction(this.url.log, loginParams)
|
}
|
})
|
},
|
reconnect() {
|
var that = this
|
if (that.lockReconnect) return
|
that.lockReconnect = true
|
//没连接上会一直重连,设置延迟避免请求过多
|
setTimeout(function() {
|
console.info('尝试重连...')
|
that.initWebSocket()
|
that.lockReconnect = false
|
}, 5000)
|
},
|
handleCancel() {
|
this.close()
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
/** 主表单行间距 */
|
.ant-form .ant-form-item {
|
margin-bottom: 10px;
|
}
|
|
/** Tab页面行间距 */
|
.ant-tabs-content .ant-form-item {
|
margin-bottom: 0px;
|
}
|
</style>
|