From ebd0ec4f51288042b6fc5bf714b1febbb63cfacc Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 09 Jan 2026 18:03:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
applications/drone-command/src/views/dataCockpit/components/templateComponents/RealEquipmentTemplate.vue | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 213 insertions(+), 0 deletions(-)
diff --git a/applications/drone-command/src/views/dataCockpit/components/templateComponents/RealEquipmentTemplate.vue b/applications/drone-command/src/views/dataCockpit/components/templateComponents/RealEquipmentTemplate.vue
new file mode 100644
index 0000000..ed08cbf
--- /dev/null
+++ b/applications/drone-command/src/views/dataCockpit/components/templateComponents/RealEquipmentTemplate.vue
@@ -0,0 +1,213 @@
+<template>
+ <div class="counter-card" @click="emit('click', data)">
+ <!-- 头部 -->
+ <div class="header">
+ <div class="title">
+ <span class="name">{{ data.name }}</span>
+
+ <span class="status">
+ <span :class="getStatusType(data.status)">
+
+ </span>
+
+ <span>
+ {{ getStatusText(data.status) }}
+ </span>
+ </span>
+ </div>
+ </div>
+
+ <!-- 字段区:两列 -->
+ <div class="content">
+ <div class="row">
+ <div class="col">
+ <span class="label">类型</span>
+ {{ data.type }}
+ </div>
+ <div class="col">
+ <span class="label">电量</span>
+ {{ data.batteryPct }}%
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col">
+ <span class="label">方位角</span>
+ {{ data.azimuth }}°
+ </div>
+ <div class="col">
+ <span class="label">俯仰角</span>
+ {{ data.elevation }}°
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col">
+ <span class="label">状态</span>
+ {{ getStatusText(data.status) }}
+ </div>
+ <div class="col">
+ <span class="label">厂商</span>
+ {{ data.manufacturer }}
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="col">
+ <span class="label">侦测目标</span>
+ {{ data.detectTargetCnt }}台
+ </div>
+ <div class="col">
+ <span class="label">有效范围</span>
+ {{ data.effectiveRangeKm }}KM
+ </div>
+ </div>
+ </div>
+
+ <!-- 底部按钮 -->
+ <div class="footer">
+ <el-button color="#284FE3" type="primary" @click.stop="emit('history', data)">历史数据</el-button>
+ </div>
+ </div>
+</template>
+
+<script setup>
+defineProps({
+ data: {
+ type: Object,
+ required: true,
+ default: () => ({})
+ }
+})
+
+const emit = defineEmits(['history', 'click'])
+
+const getStatusText = (value) => {
+ if (value === 0 || value === '0') return '在线'
+ if (value === 1 || value === '1') return '离线'
+ if (value === 2 || value === '2') return '故障'
+ if (value === 3 || value === '3') return '报废'
+ return value || '-'
+}
+
+const getStatusType = (value) => {
+ if (value === 0 || value === '0') return 'detecting'
+ if (value === 2 || value === '2') return 'jamming'
+ return ''
+}
+</script>
+
+<style scoped lang="scss">
+.counter-card {
+ margin-top: 10px;
+ padding: 10px;
+ color: #fff;
+ background: #191933;
+ border-radius: 6px 6px 6px 6px;
+
+ &:first-child {
+ margin-top: 0;
+ }
+
+ .header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .title {
+ display: flex;
+ align-items: center;
+ gap: 6px;
+
+ .name {
+ font-family: Source Han Sans CN, Source Han Sans CN;
+ font-weight: bold;
+ font-size: 14px;
+ color: #FFFFFF;
+ text-align: left;
+ font-style: normal;
+ text-transform: none;
+ }
+
+ .status {
+ padding: 0 10px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 21px;
+
+ background: #303041;
+ border-radius: 10px;
+ gap: 6px;
+
+ span {
+ font-family: Source Han Sans CN, Source Han Sans CN;
+ font-weight: 400;
+ font-size: 10px;
+ color: #FFFFFF;
+ text-align: center;
+ font-style: normal;
+ text-transform: none;
+ }
+
+
+ span.detecting {
+ width: 4px;
+ height: 4px;
+ background: #18FF4A;
+ border-radius: 50%;
+ }
+
+ span.jamming {
+ width: 4px;
+ height: 4px;
+ background: #FF4444;
+ border-radius: 50%;
+ }
+ }
+ }
+ }
+
+ .content {
+ font-family: Source Han Sans CN, Source Han Sans CN;
+ font-weight: 400;
+ font-size: 12px;
+ color: #9E9EBA;
+ text-align: left;
+ font-style: normal;
+ text-transform: none;
+
+ &>div {
+ margin-top: 10px;
+ line-height: 22px;
+
+ span.label {
+ margin-right: 10px;
+ color: #D4D5D7;
+ }
+ }
+
+ .row {
+ display: flex;
+
+ &>div {
+ width: 0;
+ flex: 1;
+ }
+ }
+ }
+
+ .footer {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 10px;
+ margin-top: 10px;
+
+ ::v-deep(.el-button) {
+ width: 96px;
+ height: 36px;
+ }
+ }
+}
+</style>
--
Gitblit v1.9.3