Compare commits

..

No commits in common. "37acb9954dea9b06be6d141bf8cab70e0eddae01" and "71023e0153abb2eaba09a2dedabe6b1b77e60942" have entirely different histories.

3 changed files with 138 additions and 210 deletions

View File

@ -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,34 +29,14 @@
<!-- </el-tooltip>--> <!-- </el-tooltip>-->
<!-- </template>--> <!-- </template>-->
<div class="resource-list__content"> <div class="resource-list__content">
<div <div v-for="item in resourceList.data" :key="item.id" class="resource-item" @click.stop="resourceClick(item)">
v-for="item in resourceList.data" <span class="device-status" :class="item.status ? 'device-status__online' : ''"></span>
: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 <span class="battery" :class="getDeviceBatteryClass(item.battery)" style="opacity: 0;"><i class="ri-battery-saver-line"></i>{{item.battery}}%</span>
class="battery" <span class="fly-height"><i class="ri-expand-vertical-line"></i>{{item.flyHeight}}m</span>
:class="getDeviceBatteryClass(item.battery)" <span class="device-location"><i class="ri-map-pin-line"></i>{{item.lon}},{{item.lat}}</span>
style="opacity: 0" <i class="iconfont icon-zhuizong device-lock" @click.stop="flyToTarget(item.lon, item.lat, item.flyHeight)"></i>
><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>
@ -146,10 +126,7 @@
</dt-card> </dt-card>
--> -->
<!-- 图片上传 --> <!-- 图片上传 -->
<pictures-upload <pictures-upload v-if="uploadPictureInfo.visible" :visible.sync="uploadPictureInfo.visible"></pictures-upload>
v-if="uploadPictureInfo.visible"
:visible.sync="uploadPictureInfo.visible"
></pictures-upload>
<!-- 气象预警 --> <!-- 气象预警 -->
<!-- <!--
@ -224,7 +201,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="详细信息"
@ -238,28 +215,12 @@
<div class="base-info"> <div class="base-info">
<!-- 无人机 --> <!-- 无人机 -->
<div class="uav-item" > <div class="uav-item" >
<span <span class="device-status" :class="getDeviceSignalClass(detailInfo.baseInfo.signal)"></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 <span class="battery" :class="getDeviceBatteryClass(detailInfo.baseInfo.battery)" style="opacity: 0;"><i class="ri-battery-saver-line"></i>{{detailInfo.baseInfo.battery}}%</span>
class="battery" <span class="fly-height"><i class="ri-expand-vertical-line"></i>{{detailInfo.baseInfo.flyHeight}}m</span>
:class="getDeviceBatteryClass(detailInfo.baseInfo.battery)" <span class="device-location"><i class="ri-map-pin-line"></i>{{detailInfo.baseInfo.lon}},{{detailInfo.baseInfo.lat}}</span>
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>
@ -274,36 +235,21 @@
<!-- </div>--> <!-- </div>-->
<div class="picture-list"> <div class="picture-list">
<div>回传图像</div> <div>回传图像</div>
<div <div v-for="item in detailInfo.pictureList" :key="item.createTime" class="picture-list-item">
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> <div>拍摄任务{{item.taskName}} | 拍摄载荷{{item.loaderName}}</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 <i class="iconfont icon-dt-icon-dingwei" @click="lockHistoryPicture(item)"></i>
class="iconfont icon-dt-icon-dingwei" <i class="iconfont icon-quanjushijiao-copy" @click="toggleHistoryPicture(item)"></i>
@click="lockHistoryPicture(item)"
></i>
<i
class="iconfont icon-quanjushijiao-copy"
@click="toggleHistoryPicture(item)"
></i>
</div> </div>
</div> </div>
</div> </div>
@ -311,11 +257,12 @@
</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="详细信息"
@ -327,45 +274,24 @@
> >
<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 <span :class="detailUav.baseInfo.status ? 'uav-status-online' : 'uav-status-offline'"></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 <span><i class="ri-expand-vertical-line"></i>{{detailUav.baseInfo.flyHeight}}m</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 <i class="iconfont icon-zhuizong" @click.stop="flyToTarget(detailUav.baseInfo.longitude, detailUav.baseInfo.latitude, detailUav.baseInfo.flyHeight)"></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 <el-collapse v-model="detailUav.activeNames" @change="handleUavDetailCollapse">
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>-->
@ -386,31 +312,19 @@
<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 <div class="uav-span-wrap" v-for="item in detailUav.statusInfo.dev" :key="item.name">
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 <div class="uav-span-wrap" v-for="item in detailUav.statusInfo.gps" :key="item.name">
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 <div class="uav-span-wrap" v-for="item in detailUav.statusInfo.imu" :key="item.name">
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>
@ -433,36 +347,21 @@
</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 <div v-for="item in detailInfo.pictureList" :key="item.time" class="picture-list-item">
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> <div>拍摄任务{{item.taskName}} | 拍摄载荷{{item.loaderName}}</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 <i class="iconfont icon-dt-icon-dingwei" @click="lockHistoryPicture(item)"></i>
class="iconfont icon-dt-icon-dingwei" <i class="iconfont icon-quanjushijiao-copy" @click="toggleHistoryPicture(item)"></i>
@click="lockHistoryPicture(item)"
></i>
<i
class="iconfont icon-quanjushijiao-copy"
@click="toggleHistoryPicture(item)"
></i>
</div> </div>
</div> </div>
</div> </div>
@ -472,6 +371,7 @@
</div> </div>
</dt-card> </dt-card>
<dt-dialog <dt-dialog
:title="taskLineDetail.title" :title="taskLineDetail.title"
top="20vh" top="20vh"
@ -480,25 +380,53 @@
append-to-body append-to-body
> >
<div class="task-line-detail"> <div class="task-line-detail">
<el-table :data="taskLineDetail.data" height="100%" style="width: 100%"> <el-table
<el-table-column type="index" width="50"> </el-table-column> :data="taskLineDetail.data"
<el-table-column prop="startLon" label="起点经度"> </el-table-column> height="100%"
<el-table-column prop="startLat" label="起点纬度"> </el-table-column> style="width: 100%"
<el-table-column prop="startHeight" label="起点相对高度"> >
<el-table-column
type="index"
width="50">
</el-table-column> </el-table-column>
<el-table-column prop="startAlt" label="起点海拔高度"> <el-table-column
prop="startLon"
label="起点经度">
</el-table-column> </el-table-column>
<el-table-column prop="endLon" label="终点经度"> </el-table-column> <el-table-column
<el-table-column prop="endLat" label="终点纬度"> </el-table-column> prop="startLat"
<el-table-column prop="endHeight" label="终点相对高度"> label="起点纬度">
</el-table-column> </el-table-column>
<el-table-column prop="endAlt" label="终点海拔高度"> <el-table-column
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>

View File

@ -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>

View File

@ -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>