| | |
| | | <div class="drone-info-card" @click="emit('click', data)"> |
| | | <div class="title"> |
| | | <span class="name"> |
| | | {{ data.name }} |
| | | {{ data.droneName }} |
| | | </span> |
| | | </div> |
| | | |
| | | <div class="rows"> |
| | | <div class="row"> |
| | | <span class="label">序列号</span> |
| | | <span class="value">{{ data.serialNumber }}</span> |
| | | <span class="value">{{ data.droneSerialNo }}</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <span class="label">数据源</span> |
| | | <span class="value">{{ data.dataSource }}</span> |
| | | <span class="value">{{ getDataSource(data) }}</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <span class="label">信号频段</span> |
| | | <span class="value">{{ data.frequency }}</span> |
| | | <span class="value">{{ formatFrequency(data.signalFreqMhz) }}</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <span class="label">发现时间</span> |
| | | <span class="value"> |
| | | <span class="date">{{ data.discoveredAt?.date }}</span> |
| | | <span class="time">{{ data.discoveredAt?.time }}</span> |
| | | <span class="date">{{ getAlarmDate(data.alarmTime) }}</span> |
| | | <span class="time">{{ getAlarmTime(data.alarmTime) }}</span> |
| | | </span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <span class="label">停留时间</span> |
| | | <span class="value">{{ data.stayTime }}</span> |
| | | <span class="value">{{ data.stayDuration }}</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <span class="label">反制方式</span> |
| | | <span class="value">{{ data.counterMethod }}</span> |
| | | <span class="value">{{ getCounterWayText(data.counterWay) }}</span> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <span class="label">飞行状态</span> |
| | | <span class="value">{{ getFlightStatusText(data.flightStatus) }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | }) |
| | | |
| | | const emit = defineEmits(['click']) |
| | | |
| | | const getDataSource = (item) => { |
| | | return item?.deviceName || item?.areaName || '-' |
| | | } |
| | | |
| | | const formatFrequency = (value) => { |
| | | if (value == null || value === '') return '-' |
| | | return `${value}MHZ` |
| | | } |
| | | |
| | | const getAlarmDate = (value) => { |
| | | if (!value) return '-' |
| | | const parts = value.replace('T', ' ').split(' ') |
| | | return parts[0] || value |
| | | } |
| | | |
| | | const getAlarmTime = (value) => { |
| | | if (!value) return '-' |
| | | const parts = value.replace('T', ' ').split(' ') |
| | | return parts[1] || value |
| | | } |
| | | |
| | | const getFlightStatusText = (value) => { |
| | | if (value === 1 || value === '1') return '侦测中' |
| | | if (value === 2 || value === '2') return '反制中' |
| | | return value || '-' |
| | | } |
| | | |
| | | const getCounterWayText = (value) => { |
| | | if (value === 1 || value === '1') return '信号干扰' |
| | | if (value === 2 || value === '2') return '诱导驱离' |
| | | if (value === 3 || value === '3') return '无' |
| | | return value || '-' |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |