Compare commits

..

No commits in common. "77e6de4c8b5d36e970ed3b9f7e9ddcb7ad947176" and "af1cf9c662db8878d4f6d3af987fd2dc3ff9023d" have entirely different histories.

15 changed files with 86 additions and 197 deletions

View File

@ -30,7 +30,7 @@ public class SarWsAsyncService {
* @param datName * @param datName
* @param fileData * @param fileData
*/ */
// @Async("commonThreadPool") @Async("commonThreadPool")
public void saveImageDat(Object dirName, String datName, byte[] fileData) { public void saveImageDat(Object dirName, String datName, byte[] fileData) {
String imageSrcPath = sysFileTypeService.getAbsolutePath(FileTypeEnum.SAR_IMAGE_LOW_SRC, dirName, datName); String imageSrcPath = sysFileTypeService.getAbsolutePath(FileTypeEnum.SAR_IMAGE_LOW_SRC, dirName, datName);
FileUtil.createDir(imageSrcPath); FileUtil.createDir(imageSrcPath);
@ -48,7 +48,7 @@ public class SarWsAsyncService {
* @param image 图像像素 * @param image 图像像素
* @param release 是否释放参数 image 资源 * @param release 是否释放参数 image 资源
*/ */
// @Async("commonThreadPool") @Async("commonThreadPool")
public void write(String imagePath, Mat image, boolean release) { public void write(String imagePath, Mat image, boolean release) {
OpenCVUtil.write(imagePath, image, true); OpenCVUtil.write(imagePath, image, true);
} }

View File

@ -195,7 +195,7 @@ export default {
] ]
}, },
detailUav: { detailUav: {
visible: false, visible: true,
id: 1, id: 1,
baseInfo: { baseInfo: {
url: require('@/assets/img/uav.png'), url: require('@/assets/img/uav.png'),
@ -475,12 +475,6 @@ export default {
historyPictureList = [] historyPictureList = []
} }
} }
},
'detailUav.visible': {
handler: function (nv) {
this.$emit('sar-change', nv)
},
immediate: true,
} }
}, },
created() { created() {
@ -1116,8 +1110,6 @@ export default {
// 测试 // 测试
// this.addUavToScene(item) // this.addUavToScene(item)
}) })
this.detailUav.id = data.length ? data[0].id : 1
this.detailUav.visible = data.length ? true : false
taskListResource = data taskListResource = data
this.taskList.data = list this.taskList.data = list
if (this.taskList.data.length) { if (this.taskList.data.length) {
@ -1563,7 +1555,7 @@ export default {
}).then(res => { }).then(res => {
stopTaskFly({ id: info.id }).then(res => { stopTaskFly({ id: info.id }).then(res => {
if (res.data.code === 200) { if (res.data.code === 200) {
// info.status = 2 info.status = 2
this.getTaskList() this.getTaskList()
this.$message.success('任务已结束!') this.$message.success('任务已结束!')
this.removeTaskTarget(info.id) this.removeTaskTarget(info.id)
@ -2744,7 +2736,8 @@ export default {
console.log('SAR波形', JSON.parse(info.body)) console.log('SAR波形', JSON.parse(info.body))
let data = JSON.parse(info.body) let data = JSON.parse(info.body)
console.log('id对比', this.detailUav.id, data.payloadId); console.log('id对比', this.detailUav.id, data.payloadId);
if (this.detailUav.visible && this.detailUav.id === data.jobId) { // && this.detailUav.id === data.payloadId
if (this.detailUav.visible) {
let channel1False = [] let channel1False = []
let channel1Real = [] let channel1Real = []
let channel2False = [] let channel2False = []
@ -2991,7 +2984,7 @@ export default {
this.taskList.data[findIndex].statusName = this.jobStatus[data.jobStatus + ''] this.taskList.data[findIndex].statusName = this.jobStatus[data.jobStatus + '']
taskListResource[findIndex].statusName = this.jobStatus[data.jobStatus + ''] taskListResource[findIndex].statusName = this.jobStatus[data.jobStatus + '']
} }
if (data.jobStatus === 1 && this.detailUav.id === data.jobId) { if (data.jobStatus === 1) {
this.updateUavInfo(data.sarStatus) this.updateUavInfo(data.sarStatus)
} }
this.taskList.data[findIndex].status = data.jobStatus this.taskList.data[findIndex].status = data.jobStatus
@ -3050,11 +3043,7 @@ export default {
} }
}, },
//#endregion //#endregion
// 打开状态和波形信息展示
openSarStatusDetail(data) {
this.detailUav.id = data.id
this.detailUav.visible = true
},
//#region //#region
handleUavDetailCollapse(actives) { handleUavDetailCollapse(actives) {

View File

@ -405,14 +405,6 @@
height: calc(100vh - 620px); height: calc(100vh - 620px);
} }
.detail-uav-wrap {
width: 430px;
position: fixed;
bottom: 5px;
right: 10px;
height: calc(100vh - 60px);
}
.detail-info { .detail-info {
width: 460px; width: 460px;
//position: fixed; //position: fixed;
@ -1182,8 +1174,8 @@
.detail-uav { .detail-uav {
width: 410px; width: 460px;
// position: fixed; position: fixed;
top: 60px; top: 60px;
//bottom: 5px; //bottom: 5px;
right: 10px; right: 10px;
@ -1193,10 +1185,6 @@
transition: 0.2s ease-in-out; transition: 0.2s ease-in-out;
z-index: 2; z-index: 2;
::v-deep .dt-card__header {
display: none;
}
.detail-uav__content { .detail-uav__content {
padding-right: 8px; padding-right: 8px;
box-sizing: border-box; box-sizing: border-box;

View File

@ -73,11 +73,10 @@
v-for="(item, index) in taskList.data" v-for="(item, index) in taskList.data"
:key="item.id" :key="item.id"
class="task-item" class="task-item"
@click="openSarStatusDetail(item)"
> >
<div class="left-part"> <div class="left-part">
<!-- <div class="task-progress-bar" :style="'width: ' + item.uavCompletion +'%;'"></div>--> <!-- <div class="task-progress-bar" :style="'width: ' + item.uavCompletion +'%;'"></div>-->
<div class="execute-info"> <div class="execute-info" @click="openTaskLineDetail(item)">
<span <span
class="execute-type-icon" class="execute-type-icon"
:class="'execute-state-' + item.status" :class="'execute-state-' + item.status"
@ -341,75 +340,74 @@
</right-slide> </right-slide>
<!-- 详情 --> <!-- 详情 -->
<right-slide class="detail-uav-wrap" v-if="detailUav.visible"> <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="详细信息" v-if="detailUav.visible"
v-if="detailUav.visible" :visible.sync="detailUav.visible"
:visible.sync="detailUav.visible" :scroll="true"
:scroll="true" :showClose="true"
:showClose="true" :showDivider="false"
:showDivider="false" >
> <div class="detail-uav__content">
<div class="detail-uav__content"> <div class="other-info">
<div class="other-info"> <el-collapse
<el-collapse v-model="detailUav.activeNames"
v-model="detailUav.activeNames" @change="handleUavDetailCollapse"
@change="handleUavDetailCollapse" >
> <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"
class="uav-span-wrap" v-for="item in detailUav.statusInfo.dev"
v-for="item in detailUav.statusInfo.dev" :key="item.name"
: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"
class="uav-span-wrap" v-for="item in detailUav.statusInfo.gps"
v-for="item in detailUav.statusInfo.gps" :key="item.name"
: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"
class="uav-span-wrap" v-for="item in detailUav.statusInfo.imu"
v-for="item in detailUav.statusInfo.imu" :key="item.name"
: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-tabs>
</el-tabs> </el-collapse-item>
</el-collapse-item> <el-collapse-item title="波形信息" name="4">
<el-collapse-item title="波形信息" name="4"> <div class="wave-chart">
<div class="wave-chart"> <dt-multiple-analysis
<dt-multiple-analysis ref="uavDetailChart"
ref="uavDetailChart" :data="detailUav.chart.data"
:data="detailUav.chart.data" :legend="detailUav.chart.legend"
:legend="detailUav.chart.legend" :tooltip="detailUav.chart.tooltip"
:tooltip="detailUav.chart.tooltip" :title="detailUav.chart.title"
:title="detailUav.chart.title" :grid="detailUav.chart.grid"
:grid="detailUav.chart.grid" :xAxis="detailUav.chart.xAxis"
:xAxis="detailUav.chart.xAxis" :yAxis="detailUav.chart.yAxis"
:yAxis="detailUav.chart.yAxis" ></dt-multiple-analysis>
></dt-multiple-analysis> </div>
</div> </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" v-for="item in detailInfo.pictureList"
@ -444,12 +442,11 @@
</div> </div>
</div> </div>
</div> </div>
</el-collapse-item> --> </el-collapse-item>
</el-collapse> </el-collapse>
</div>
</div> </div>
</dt-card> </div>
</right-slide> </dt-card>
<dt-dialog <dt-dialog
:title="taskLineDetail.title" :title="taskLineDetail.title"

View File

@ -443,8 +443,7 @@ export default {
visible: false, visible: false,
data: [], data: [],
boatTypeLegend: [] boatTypeLegend: []
}, }
moveInfoBar: false
} }
}, },
computed: { computed: {
@ -1523,9 +1522,7 @@ export default {
} }
}, },
//#endregion //#endregion
sarChange(val) {
this.moveInfoBar = val
},
//#region ais船 //#region ais船
getAisData() { getAisData() {

View File

@ -66,7 +66,6 @@
width: 300px; width: 300px;
box-sizing: border-box; box-sizing: border-box;
padding: 5px 10px; padding: 5px 10px;
.message-title { .message-title {
height: 30px; height: 30px;
display: flex; display: flex;
@ -75,19 +74,16 @@
box-sizing: border-box; box-sizing: border-box;
border-bottom: 1px solid $--color-black-3; border-bottom: 1px solid $--color-black-3;
margin-bottom: 4px; margin-bottom: 4px;
>span { >span {
font-size: 14px; font-size: 14px;
color: $--color-text-1; color: $--color-text-1;
} }
>i { >i {
font-size: 16px; font-size: 16px;
color: $--color-text-1; color: $--color-text-1;
cursor: pointer; cursor: pointer;
} }
} }
.message-body { .message-body {
//height: 50px; //height: 50px;
@ -99,12 +95,10 @@
padding: 0 5px; padding: 0 5px;
position: relative; position: relative;
width: 100%; width: 100%;
.el-textarea { .el-textarea {
flex: 1; flex: 1;
margin: 0 10px; margin: 0 10px;
} }
>i { >i {
font-size: 14px; font-size: 14px;
color: $--color-text-1; color: $--color-text-1;
@ -112,14 +106,12 @@
margin-top: 10px; margin-top: 10px;
} }
} }
.message-send { .message-send {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-top: 10px; margin-top: 10px;
.el-button { .el-button {
margin: 0 10px; margin: 0 10px;
} }
@ -132,7 +124,3 @@
width: 100%; width: 100%;
} }
} }
.info-bar-show {
right: 430px;
}

View File

@ -37,7 +37,6 @@
ref="twinSituation" ref="twinSituation"
v-if="menus.situation.active" v-if="menus.situation.active"
:visible.sync="menus.situation.active" :visible.sync="menus.situation.active"
@sar-change="sarChange"
></twin-situation> ></twin-situation>
<task-manage <task-manage
v-if="menus.taskManage.active" v-if="menus.taskManage.active"
@ -59,11 +58,8 @@
v-if="menus.userList.active" v-if="menus.userList.active"
:visible.sync="menus.userList.active" :visible.sync="menus.userList.active"
></user-list> ></user-list>
<info-bar v-if="menus.situation.active || menus.taskManage.active" />
<info-bar
:class="{ 'info-bar-show': moveInfoBar }"
v-if="menus.situation.active || menus.taskManage.active"
/>
<!-- 遮罩 --> <!-- 遮罩 -->
<!-- <dt-loading :visible="loadingCount > 0"></dt-loading> --> <!-- <dt-loading :visible="loadingCount > 0"></dt-loading> -->
</div> </div>

View File

@ -1,52 +0,0 @@
#ifndef __CHSRTPROC_H__
#define __CHSRTPROC_H__
#pragma once
#include "stdafx.h"
#include <conio.h>
// 输出内存地址点航迹的结构体
struct MTI_pDot {
unsigned __int16 tar_no;
unsigned __int16 tar_rg;
__int16 tar_az;
__int16 tar_vr;
__int16 tar_high;
unsigned __int16 tar_ampl;
unsigned __int32 tar_logn;
unsigned __int32 tar_lati;
};
struct MTI_pTrk {
unsigned __int16 trk_no;
__int16 trk_high;
__int32 trk_logn;
__int32 trk_lati;
__int16 trk_vel;
__int16 trk_heading;
unsigned __int16 trk_ampl;
__int16 nc;
};
/*
dataAr GMTI格式V3.02 1cpi处理的点迹信息和辅助数据,8192BYTES
1dataRes GMTI格式V3.022dataRes全部为0则没有航迹8192
outpath outpath\\GMTIDotInfo_lzx.dat outpath\\GMTITrkInfo_lzx.dat"
*/
__declspec(dllexport) void MTIDotProc(unsigned char *dataAr, unsigned char *dataRes, char *outpath);
#endif

Binary file not shown.

Binary file not shown.

View File

@ -1,14 +0,0 @@
############ Track Relate Modual Param ##############
nj_Rwin: 20
nj_Awin: 5
bomen_vmax: 20
bomen_vmin: 3
bomen_size: 50
miss_frame_tmp: 4
miss_frame_trust: 3
NoiseMatrixRg: 100
NoiseMatrixAz: 100
NoiseSpetrumPowerDensity: 1

Binary file not shown.