// 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 ) }, }