// import { EventBus } from '@/eventBus/event-bus';
|
import { EBizCode, EBizCodeMessage } from '@/utils/staticData/enums'
|
import { ControlSource } from '@/utils/staticData/device'
|
|
export default {
|
data() {
|
return {
|
droneControlSource: '',
|
payloadControlSource: '',
|
ControlSource: ControlSource,
|
}
|
},
|
methods: {
|
useDroneControlWsEvent(sn, payloadSn, funcs) {
|
const _this = this
|
this.droneControlSource = this.ControlSource.A
|
this.payloadControlSource = this.ControlSource.B
|
|
function onControlSourceChange(data) {
|
if (data.type === 1 && data.sn === sn) {
|
_this.droneControlSource = data.control_source
|
_this.$store.commit('SET_DRONE_CONTROL_SOURCE', _this.droneControlSource)
|
// _this.$message.info(`飞行控制改为 ${_this.droneControlSource}`)
|
// _this._showMessage.info(`飞行控制改为 ${_this.droneControlSource}`)
|
return
|
}
|
if (data.type === 2 && data.sn === payloadSn) {
|
_this.payloadControlSource = data.control_source
|
// _this.$message.info(`负载控制改为 ${_this.payloadControlSource}.`)
|
// _this._showMessage.info(`负载控制改为 ${_this.payloadControlSource}.`)
|
}
|
}
|
|
function handleProgress(key, message, error) {
|
if (error !== 0) {
|
// _this.$notify.closeAll()
|
// _this.$notify.error({
|
// title: key + '错误码:' + error,
|
// message: message,
|
// duration: 30
|
// })
|
// _this._showMessage.warning(key + '错误码:' + error)
|
_this._showMessage.warning(key)
|
} else {
|
// _this.$notify.closeAll()
|
// _this.$notify.info({
|
// title: key,
|
// message: message,
|
// duration: 30
|
// })
|
_this._showMessage.info(message)
|
}
|
}
|
|
function handleDroneControlWsEvent(payload) {
|
if (!payload) {
|
return
|
}
|
switch (payload.biz_code) {
|
case EBizCode.ControlSourceChange: {
|
onControlSourceChange(payload.data)
|
break
|
}
|
case EBizCode.FlyToPointProgress: {
|
const { sn: deviceSn, result, message: msg } = payload.data
|
if (deviceSn !== sn) return
|
handleProgress(
|
EBizCodeMessage[EBizCode.FlyToPointProgress],
|
`设备(编码: ${deviceSn}) ${msg}`,
|
result
|
)
|
break
|
}
|
case EBizCode.TakeoffToPointProgress: {
|
const { sn: deviceSn, result, message: msg } = payload.data
|
if (deviceSn !== sn) return
|
handleProgress(
|
EBizCodeMessage[EBizCode.TakeoffToPointProgress],
|
`设备(编码: ${deviceSn}) ${msg}`,
|
result
|
)
|
break
|
}
|
case EBizCode.JoystickInvalidNotify: {
|
const { sn: deviceSn, result, message: msg } = payload.data
|
if (deviceSn !== sn) return
|
handleProgress(
|
EBizCodeMessage[EBizCode.JoystickInvalidNotify],
|
`设备(编码: ${deviceSn}) ${msg}`,
|
result
|
)
|
break
|
}
|
case EBizCode.DrcStatusNotify: {
|
const { sn: deviceSn, result, message: msg } = payload.data
|
break
|
}
|
}
|
}
|
|
return {
|
handleDroneControlWsEvent,
|
}
|
},
|
},
|
mounted() {
|
this.$EventBus.$on(
|
'droneControlWs',
|
this.useDroneControlWsEvent(this.sn, this.payloadSelectInfo.value).handleDroneControlWsEvent
|
)
|
},
|
beforeDestroy() {
|
this.$EventBus.$off(
|
'droneControlWs',
|
this.useDroneControlWsEvent(this.sn, this.payloadSelectInfo.value).handleDroneControlWsEvent
|
)
|
},
|
}
|