Compare commits
2 Commits
71023e0153
...
37acb9954d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37acb9954d | ||
|
|
8554660258 |
@ -4,7 +4,7 @@
|
|||||||
<dt-card
|
<dt-card
|
||||||
:class="{
|
:class="{
|
||||||
'resource-list': true,
|
'resource-list': true,
|
||||||
'resource-list__large': isIconModeLarge
|
'resource-list__large': isIconModeLarge,
|
||||||
}"
|
}"
|
||||||
icon="ri-send-plane-line"
|
icon="ri-send-plane-line"
|
||||||
title="可用资源"
|
title="可用资源"
|
||||||
@ -29,14 +29,34 @@
|
|||||||
<!-- </el-tooltip>-->
|
<!-- </el-tooltip>-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<div class="resource-list__content">
|
<div class="resource-list__content">
|
||||||
<div v-for="item in resourceList.data" :key="item.id" class="resource-item" @click.stop="resourceClick(item)">
|
<div
|
||||||
<span class="device-status" :class="item.status ? 'device-status__online' : ''"></span>
|
v-for="item in resourceList.data"
|
||||||
|
:key="item.id"
|
||||||
|
class="resource-item"
|
||||||
|
@click.stop="resourceClick(item)"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="device-status"
|
||||||
|
:class="item.status ? 'device-status__online' : ''"
|
||||||
|
></span>
|
||||||
<span class="icon"><i class="ri-dv-line"></i></span>
|
<span class="icon"><i class="ri-dv-line"></i></span>
|
||||||
<span class="device-name">{{ item.name }}</span>
|
<span class="device-name">{{ item.name }}</span>
|
||||||
<span class="battery" :class="getDeviceBatteryClass(item.battery)" style="opacity: 0;"><i class="ri-battery-saver-line"></i>{{item.battery}}%</span>
|
<span
|
||||||
<span class="fly-height"><i class="ri-expand-vertical-line"></i>{{item.flyHeight}}m</span>
|
class="battery"
|
||||||
<span class="device-location"><i class="ri-map-pin-line"></i>{{item.lon}},{{item.lat}}</span>
|
:class="getDeviceBatteryClass(item.battery)"
|
||||||
<i class="iconfont icon-zhuizong device-lock" @click.stop="flyToTarget(item.lon, item.lat, item.flyHeight)"></i>
|
style="opacity: 0"
|
||||||
|
><i class="ri-battery-saver-line"></i>{{ item.battery }}%</span
|
||||||
|
>
|
||||||
|
<span class="fly-height"
|
||||||
|
><i class="ri-expand-vertical-line"></i>{{ item.flyHeight }}m</span
|
||||||
|
>
|
||||||
|
<span class="device-location"
|
||||||
|
><i class="ri-map-pin-line"></i>{{ item.lon }},{{ item.lat }}</span
|
||||||
|
>
|
||||||
|
<i
|
||||||
|
class="iconfont icon-zhuizong device-lock"
|
||||||
|
@click.stop="flyToTarget(item.lon, item.lat, item.flyHeight)"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</dt-card>
|
</dt-card>
|
||||||
@ -126,7 +146,10 @@
|
|||||||
</dt-card>
|
</dt-card>
|
||||||
-->
|
-->
|
||||||
<!-- 图片上传 -->
|
<!-- 图片上传 -->
|
||||||
<pictures-upload v-if="uploadPictureInfo.visible" :visible.sync="uploadPictureInfo.visible"></pictures-upload>
|
<pictures-upload
|
||||||
|
v-if="uploadPictureInfo.visible"
|
||||||
|
:visible.sync="uploadPictureInfo.visible"
|
||||||
|
></pictures-upload>
|
||||||
|
|
||||||
<!-- 气象预警 -->
|
<!-- 气象预警 -->
|
||||||
<!--
|
<!--
|
||||||
@ -201,7 +224,7 @@
|
|||||||
<dt-card
|
<dt-card
|
||||||
:class="{
|
:class="{
|
||||||
'detail-info': true,
|
'detail-info': true,
|
||||||
'detail-info__large': isIconModeLarge
|
'detail-info__large': isIconModeLarge,
|
||||||
}"
|
}"
|
||||||
icon="iconfont icon-target"
|
icon="iconfont icon-target"
|
||||||
title="详细信息"
|
title="详细信息"
|
||||||
@ -215,12 +238,28 @@
|
|||||||
<div class="base-info">
|
<div class="base-info">
|
||||||
<!-- 无人机 -->
|
<!-- 无人机 -->
|
||||||
<div class="uav-item">
|
<div class="uav-item">
|
||||||
<span class="device-status" :class="getDeviceSignalClass(detailInfo.baseInfo.signal)"></span>
|
<span
|
||||||
|
class="device-status"
|
||||||
|
:class="getDeviceSignalClass(detailInfo.baseInfo.signal)"
|
||||||
|
></span>
|
||||||
<span class="icon"><i class="ri-dv-line"></i></span>
|
<span class="icon"><i class="ri-dv-line"></i></span>
|
||||||
<span class="device-name">{{ detailInfo.baseInfo.name }}</span>
|
<span class="device-name">{{ detailInfo.baseInfo.name }}</span>
|
||||||
<span class="battery" :class="getDeviceBatteryClass(detailInfo.baseInfo.battery)" style="opacity: 0;"><i class="ri-battery-saver-line"></i>{{detailInfo.baseInfo.battery}}%</span>
|
<span
|
||||||
<span class="fly-height"><i class="ri-expand-vertical-line"></i>{{detailInfo.baseInfo.flyHeight}}m</span>
|
class="battery"
|
||||||
<span class="device-location"><i class="ri-map-pin-line"></i>{{detailInfo.baseInfo.lon}},{{detailInfo.baseInfo.lat}}</span>
|
:class="getDeviceBatteryClass(detailInfo.baseInfo.battery)"
|
||||||
|
style="opacity: 0"
|
||||||
|
><i class="ri-battery-saver-line"></i
|
||||||
|
>{{ detailInfo.baseInfo.battery }}%</span
|
||||||
|
>
|
||||||
|
<span class="fly-height"
|
||||||
|
><i class="ri-expand-vertical-line"></i
|
||||||
|
>{{ detailInfo.baseInfo.flyHeight }}m</span
|
||||||
|
>
|
||||||
|
<span class="device-location"
|
||||||
|
><i class="ri-map-pin-line"></i>{{ detailInfo.baseInfo.lon }},{{
|
||||||
|
detailInfo.baseInfo.lat
|
||||||
|
}}</span
|
||||||
|
>
|
||||||
<i class="el-icon-info device-lock" @click="showUavMore"></i>
|
<i class="el-icon-info device-lock" @click="showUavMore"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -235,21 +274,36 @@
|
|||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<div class="picture-list">
|
<div class="picture-list">
|
||||||
<div>回传图像:</div>
|
<div>回传图像:</div>
|
||||||
<div v-for="item in detailInfo.pictureList" :key="item.createTime" class="picture-list-item">
|
<div
|
||||||
|
v-for="item in detailInfo.pictureList"
|
||||||
|
:key="item.createTime"
|
||||||
|
class="picture-list-item"
|
||||||
|
>
|
||||||
<div class="picture-item-image">
|
<div class="picture-item-image">
|
||||||
<el-image
|
<el-image
|
||||||
style="width: 40px; height: 40px"
|
style="width: 40px; height: 40px"
|
||||||
:src="item.url"
|
:src="item.url"
|
||||||
:preview-src-list="[item.url]">
|
:preview-src-list="[item.url]"
|
||||||
|
>
|
||||||
</el-image>
|
</el-image>
|
||||||
</div>
|
</div>
|
||||||
<div class="picture-item-info">
|
<div class="picture-item-info">
|
||||||
<div>拍摄任务:{{item.taskName}} | 拍摄载荷:{{item.loaderName}}</div>
|
<div>
|
||||||
|
拍摄任务:{{ item.taskName }} | 拍摄载荷:{{
|
||||||
|
item.loaderName
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
<div>拍摄时间:{{ item.createTime }}</div>
|
<div>拍摄时间:{{ item.createTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="picture-command">
|
<div class="picture-command">
|
||||||
<i class="iconfont icon-dt-icon-dingwei" @click="lockHistoryPicture(item)"></i>
|
<i
|
||||||
<i class="iconfont icon-quanjushijiao-copy" @click="toggleHistoryPicture(item)"></i>
|
class="iconfont icon-dt-icon-dingwei"
|
||||||
|
@click="lockHistoryPicture(item)"
|
||||||
|
></i>
|
||||||
|
<i
|
||||||
|
class="iconfont icon-quanjushijiao-copy"
|
||||||
|
@click="toggleHistoryPicture(item)"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -257,12 +311,11 @@
|
|||||||
</dt-card>
|
</dt-card>
|
||||||
</right-slide>
|
</right-slide>
|
||||||
|
|
||||||
|
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<dt-card
|
<dt-card
|
||||||
:class="{
|
:class="{
|
||||||
'detail-uav': true,
|
'detail-uav': true,
|
||||||
'detail-uav__large': isIconModeLarge
|
'detail-uav__large': isIconModeLarge,
|
||||||
}"
|
}"
|
||||||
icon="iconfont icon-target"
|
icon="iconfont icon-target"
|
||||||
title="详细信息"
|
title="详细信息"
|
||||||
@ -274,24 +327,45 @@
|
|||||||
>
|
>
|
||||||
<div class="detail-uav__content">
|
<div class="detail-uav__content">
|
||||||
<div class="image-info">
|
<div class="image-info">
|
||||||
<img :src="detailUav.baseInfo.url" alt="">
|
<img :src="detailUav.baseInfo.url" alt="" />
|
||||||
<div class="status-info">
|
<div class="status-info">
|
||||||
<div>
|
<div>
|
||||||
<span :class="detailUav.baseInfo.status ? 'uav-status-online' : 'uav-status-offline'"></span>
|
<span
|
||||||
|
:class="
|
||||||
|
detailUav.baseInfo.status
|
||||||
|
? 'uav-status-online'
|
||||||
|
: 'uav-status-offline'
|
||||||
|
"
|
||||||
|
></span>
|
||||||
<span>{{ detailUav.baseInfo.status ? '在线' : '离线' }}</span>
|
<span>{{ detailUav.baseInfo.status ? '在线' : '离线' }}</span>
|
||||||
<!-- <span style="opacity: 0;"><i class="ri-battery-saver-line"></i>{{detailUav.baseInfo.battery}}%</span>-->
|
<!-- <span style="opacity: 0;"><i class="ri-battery-saver-line"></i>{{detailUav.baseInfo.battery}}%</span>-->
|
||||||
<span><i class="ri-expand-vertical-line"></i>{{detailUav.baseInfo.flyHeight}}m</span>
|
<span
|
||||||
|
><i class="ri-expand-vertical-line"></i
|
||||||
|
>{{ detailUav.baseInfo.flyHeight }}m</span
|
||||||
|
>
|
||||||
<!-- <span><i class="ri-expand-horizontal-line"></i>{{detailUav.baseInfo.flyWidth}}m</span>-->
|
<!-- <span><i class="ri-expand-horizontal-line"></i>{{detailUav.baseInfo.flyWidth}}m</span>-->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>{{ detailUav.baseInfo.longitude }}</span>
|
<span>{{ detailUav.baseInfo.longitude }}</span>
|
||||||
<span>{{ detailUav.baseInfo.latitude }}</span>
|
<span>{{ detailUav.baseInfo.latitude }}</span>
|
||||||
<i class="iconfont icon-zhuizong" @click.stop="flyToTarget(detailUav.baseInfo.longitude, detailUav.baseInfo.latitude, detailUav.baseInfo.flyHeight)"></i>
|
<i
|
||||||
|
class="iconfont icon-zhuizong"
|
||||||
|
@click.stop="
|
||||||
|
flyToTarget(
|
||||||
|
detailUav.baseInfo.longitude,
|
||||||
|
detailUav.baseInfo.latitude,
|
||||||
|
detailUav.baseInfo.flyHeight
|
||||||
|
)
|
||||||
|
"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="other-info">
|
<div class="other-info">
|
||||||
<el-collapse v-model="detailUav.activeNames" @change="handleUavDetailCollapse">
|
<el-collapse
|
||||||
|
v-model="detailUav.activeNames"
|
||||||
|
@change="handleUavDetailCollapse"
|
||||||
|
>
|
||||||
<!-- <el-collapse-item title="基本信息" name="1">-->
|
<!-- <el-collapse-item title="基本信息" name="1">-->
|
||||||
<!-- <div class="uav-span-wrap"><span>名称:</span><span>{{detailUav.basicsInfo.name}}</span></div>-->
|
<!-- <div class="uav-span-wrap"><span>名称:</span><span>{{detailUav.basicsInfo.name}}</span></div>-->
|
||||||
<!-- <div class="uav-span-wrap"><span>分组:</span><span>{{detailUav.basicsInfo.group}}</span></div>-->
|
<!-- <div class="uav-span-wrap"><span>分组:</span><span>{{detailUav.basicsInfo.group}}</span></div>-->
|
||||||
@ -312,19 +386,31 @@
|
|||||||
<el-collapse-item title="状态信息" name="3">
|
<el-collapse-item title="状态信息" name="3">
|
||||||
<el-tabs v-model="detailUav.activeTab">
|
<el-tabs v-model="detailUav.activeTab">
|
||||||
<el-tab-pane label="DEV" name="DEV">
|
<el-tab-pane label="DEV" name="DEV">
|
||||||
<div class="uav-span-wrap" v-for="item in detailUav.statusInfo.dev" :key="item.name">
|
<div
|
||||||
|
class="uav-span-wrap"
|
||||||
|
v-for="item in detailUav.statusInfo.dev"
|
||||||
|
:key="item.name"
|
||||||
|
>
|
||||||
<span>{{ item.name }}:</span>
|
<span>{{ item.name }}:</span>
|
||||||
<span>{{ item.value }}{{ item.unit }}</span>
|
<span>{{ item.value }}{{ item.unit }}</span>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="GPS" name="GPS">
|
<el-tab-pane label="GPS" name="GPS">
|
||||||
<div class="uav-span-wrap" v-for="item in detailUav.statusInfo.gps" :key="item.name">
|
<div
|
||||||
|
class="uav-span-wrap"
|
||||||
|
v-for="item in detailUav.statusInfo.gps"
|
||||||
|
:key="item.name"
|
||||||
|
>
|
||||||
<span>{{ item.name }}:</span>
|
<span>{{ item.name }}:</span>
|
||||||
<span>{{ item.value }}{{ item.unit }}</span>
|
<span>{{ item.value }}{{ item.unit }}</span>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="IMU" name="IMU">
|
<el-tab-pane label="IMU" name="IMU">
|
||||||
<div class="uav-span-wrap" v-for="item in detailUav.statusInfo.imu" :key="item.name">
|
<div
|
||||||
|
class="uav-span-wrap"
|
||||||
|
v-for="item in detailUav.statusInfo.imu"
|
||||||
|
:key="item.name"
|
||||||
|
>
|
||||||
<span>{{ item.name }}:</span>
|
<span>{{ item.name }}:</span>
|
||||||
<span>{{ item.value }}{{ item.unit }}</span>
|
<span>{{ item.value }}{{ item.unit }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -347,21 +433,36 @@
|
|||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="回传图像" name="5">
|
<el-collapse-item title="回传图像" name="5">
|
||||||
<div class="back-image">
|
<div class="back-image">
|
||||||
<div v-for="item in detailInfo.pictureList" :key="item.time" class="picture-list-item">
|
<div
|
||||||
|
v-for="item in detailInfo.pictureList"
|
||||||
|
:key="item.time"
|
||||||
|
class="picture-list-item"
|
||||||
|
>
|
||||||
<div class="picture-item-image">
|
<div class="picture-item-image">
|
||||||
<el-image
|
<el-image
|
||||||
style="width: 40px; height: 40px"
|
style="width: 40px; height: 40px"
|
||||||
:src="item.url"
|
:src="item.url"
|
||||||
:preview-src-list="[item.url]">
|
:preview-src-list="[item.url]"
|
||||||
|
>
|
||||||
</el-image>
|
</el-image>
|
||||||
</div>
|
</div>
|
||||||
<div class="picture-item-info">
|
<div class="picture-item-info">
|
||||||
<div>拍摄任务:{{item.taskName}} | 拍摄载荷:{{item.loaderName}}</div>
|
<div>
|
||||||
|
拍摄任务:{{ item.taskName }} | 拍摄载荷:{{
|
||||||
|
item.loaderName
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
<div>拍摄时间:{{ item.time }}</div>
|
<div>拍摄时间:{{ item.time }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="picture-command">
|
<div class="picture-command">
|
||||||
<i class="iconfont icon-dt-icon-dingwei" @click="lockHistoryPicture(item)"></i>
|
<i
|
||||||
<i class="iconfont icon-quanjushijiao-copy" @click="toggleHistoryPicture(item)"></i>
|
class="iconfont icon-dt-icon-dingwei"
|
||||||
|
@click="lockHistoryPicture(item)"
|
||||||
|
></i>
|
||||||
|
<i
|
||||||
|
class="iconfont icon-quanjushijiao-copy"
|
||||||
|
@click="toggleHistoryPicture(item)"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -371,7 +472,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</dt-card>
|
</dt-card>
|
||||||
|
|
||||||
|
|
||||||
<dt-dialog
|
<dt-dialog
|
||||||
:title="taskLineDetail.title"
|
:title="taskLineDetail.title"
|
||||||
top="20vh"
|
top="20vh"
|
||||||
@ -380,53 +480,25 @@
|
|||||||
append-to-body
|
append-to-body
|
||||||
>
|
>
|
||||||
<div class="task-line-detail">
|
<div class="task-line-detail">
|
||||||
<el-table
|
<el-table :data="taskLineDetail.data" height="100%" style="width: 100%">
|
||||||
:data="taskLineDetail.data"
|
<el-table-column type="index" width="50"> </el-table-column>
|
||||||
height="100%"
|
<el-table-column prop="startLon" label="起点经度"> </el-table-column>
|
||||||
style="width: 100%"
|
<el-table-column prop="startLat" label="起点纬度"> </el-table-column>
|
||||||
>
|
<el-table-column prop="startHeight" label="起点相对高度">
|
||||||
<el-table-column
|
|
||||||
type="index"
|
|
||||||
width="50">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="startAlt" label="起点海拔高度">
|
||||||
prop="startLon"
|
|
||||||
label="起点经度">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="endLon" label="终点经度"> </el-table-column>
|
||||||
prop="startLat"
|
<el-table-column prop="endLat" label="终点纬度"> </el-table-column>
|
||||||
label="起点纬度">
|
<el-table-column prop="endHeight" label="终点相对高度">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="endAlt" label="终点海拔高度">
|
||||||
prop="startHeight"
|
|
||||||
label="起点相对高度">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="startAlt"
|
|
||||||
label="起点海拔高度">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="endLon"
|
|
||||||
label="终点经度">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="endLat"
|
|
||||||
label="终点纬度">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="endHeight"
|
|
||||||
label="终点相对高度">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="endAlt"
|
|
||||||
label="终点海拔高度">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</dt-dialog>
|
</dt-dialog>
|
||||||
|
|
||||||
<dt-loading :visible="loadingCount > 0"></dt-loading>
|
<!-- <dt-loading :visible="loadingCount > 0"></dt-loading> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script src="./index.js"></script>
|
<script src="./index.js"></script>
|
||||||
|
|||||||
@ -526,7 +526,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</dt-dialog>
|
</dt-dialog>
|
||||||
|
|
||||||
<dt-loading :visible="loadingCount > 0"></dt-loading>
|
<!-- <dt-loading :visible="loadingCount > 0"></dt-loading> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script src="./index.js"></script>
|
<script src="./index.js"></script>
|
||||||
|
|||||||
@ -61,7 +61,7 @@
|
|||||||
<info-bar v-if="menus.situation.active || menus.taskManage.active" />
|
<info-bar v-if="menus.situation.active || menus.taskManage.active" />
|
||||||
|
|
||||||
<!-- 遮罩 -->
|
<!-- 遮罩 -->
|
||||||
<dt-loading :visible="loadingCount > 0"></dt-loading>
|
<!-- <dt-loading :visible="loadingCount > 0"></dt-loading> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script src="./index.js"></script>
|
<script src="./index.js"></script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user