Compare commits
No commits in common. "c1575d47ddb76d97e51199baabe650165ce5ffe8" and "f34844f110b0095bf90dd0066965c716a1d731cd" have entirely different histories.
c1575d47dd
...
f34844f110
@ -7,8 +7,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@EnableScheduling
|
||||
@MapperScan("com.zhangy.skyeye.**.mapper")
|
||||
@SpringBootApplication(scanBasePackages = "com.zhangy.**")
|
||||
@ -20,20 +18,6 @@ import java.io.File;
|
||||
public class SEApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
String projectRoot = System.getProperty("user.dir");
|
||||
// String libPath = projectRoot + "/library/logisen/GMTI";
|
||||
// System.setProperty("jna.library.path", libPath);
|
||||
// 1. GMTI 路径
|
||||
String gmtiPath = projectRoot + "/library/logisen/GMTI";
|
||||
// 2. OpenCV 路径 (根据您的目录名: opencv-4.11.0-windows)
|
||||
String opencvPath = projectRoot + "/library/opencv-4.11.0-windows";
|
||||
|
||||
// 使用 File.pathSeparator (Windows是分号; Linux是冒号:) 连接多个路径
|
||||
String combinedPath = gmtiPath + File.pathSeparator + opencvPath;
|
||||
|
||||
System.setProperty("jna.library.path", combinedPath);
|
||||
// 如果 OpenCV 使用的是标准 JNI (System.loadLibrary),可能还需要设置 java.library.path
|
||||
System.setProperty("java.library.path", opencvPath);
|
||||
SpringApplication.run(SEApplication.class, args);
|
||||
}
|
||||
}
|
||||
|
||||
@ -346,15 +346,6 @@ public class JmJobServiceImpl implements JmJobService {
|
||||
// SarBackImageFrameDTO.i = 1;
|
||||
// 校验无人机、载荷
|
||||
jobStatusService.checkDeviceForNewJob(job.getUavList());
|
||||
|
||||
JmJobUav uav = job.getUavList().get(0);
|
||||
List<JmAirline> airlineList = uav.getAirlineList();
|
||||
for(JmAirline airline:airlineList) {
|
||||
log.info("we are going to start job {}", job.getId());
|
||||
log.info("airline origin status is {}, set to {}", airline.getStatus(), ExecStatusEnum.NOT);
|
||||
airline.setStatus(ExecStatusEnum.NOT.getValue());
|
||||
}
|
||||
|
||||
// 保存任务状态
|
||||
job.setStatus(ExecStatusEnum.PROCESSING.getValue());
|
||||
job.setBeginTime(DateUtil.date());
|
||||
|
||||
@ -1,148 +1,120 @@
|
||||
|
||||
;(function(win, lib) {
|
||||
var doc = win.document
|
||||
var docEl = doc.documentElement
|
||||
var metaEl = doc.querySelector('meta[name="viewport"]')
|
||||
var flexibleEl = doc.querySelector('meta[name="flexible"]')
|
||||
var dpr = 0
|
||||
var scale = 0
|
||||
var tid
|
||||
var flexible = lib.flexible || (lib.flexible = {})
|
||||
var doc = win.document;
|
||||
var docEl = doc.documentElement;
|
||||
var metaEl = doc.querySelector('meta[name="viewport"]');
|
||||
var flexibleEl = doc.querySelector('meta[name="flexible"]');
|
||||
var dpr = 0;
|
||||
var scale = 0;
|
||||
var tid;
|
||||
var flexible = lib.flexible || (lib.flexible = {});
|
||||
|
||||
if (metaEl) {
|
||||
console.warn('将根据已有的meta标签来设置缩放比例')
|
||||
var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/)
|
||||
console.warn('将根据已有的meta标签来设置缩放比例');
|
||||
var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/);
|
||||
if (match) {
|
||||
scale = parseFloat(match[1])
|
||||
dpr = parseInt(1 / scale)
|
||||
scale = parseFloat(match[1]);
|
||||
dpr = parseInt(1 / scale);
|
||||
}
|
||||
} else if (flexibleEl) {
|
||||
var content = flexibleEl.getAttribute('content')
|
||||
var content = flexibleEl.getAttribute('content');
|
||||
if (content) {
|
||||
var initialDpr = content.match(/initial\-dpr=([\d\.]+)/)
|
||||
var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/)
|
||||
var initialDpr = content.match(/initial\-dpr=([\d\.]+)/);
|
||||
var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/);
|
||||
if (initialDpr) {
|
||||
dpr = parseFloat(initialDpr[1])
|
||||
scale = parseFloat((1 / dpr).toFixed(2))
|
||||
dpr = parseFloat(initialDpr[1]);
|
||||
scale = parseFloat((1 / dpr).toFixed(2));
|
||||
}
|
||||
if (maximumDpr) {
|
||||
dpr = parseFloat(maximumDpr[1])
|
||||
scale = parseFloat((1 / dpr).toFixed(2))
|
||||
dpr = parseFloat(maximumDpr[1]);
|
||||
scale = parseFloat((1 / dpr).toFixed(2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!dpr && !scale) {
|
||||
var isAndroid = win.navigator.appVersion.match(/android/gi)
|
||||
var isIPhone = win.navigator.appVersion.match(/iphone/gi)
|
||||
var devicePixelRatio = win.devicePixelRatio
|
||||
var isAndroid = win.navigator.appVersion.match(/android/gi);
|
||||
var isIPhone = win.navigator.appVersion.match(/iphone/gi);
|
||||
var devicePixelRatio = win.devicePixelRatio;
|
||||
if (isIPhone) {
|
||||
// iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案
|
||||
if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {
|
||||
dpr = 3
|
||||
dpr = 3;
|
||||
} else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){
|
||||
dpr = 2
|
||||
dpr = 2;
|
||||
} else {
|
||||
dpr = 1
|
||||
dpr = 1;
|
||||
}
|
||||
} else {
|
||||
// 其他设备下,仍旧使用1倍的方案
|
||||
dpr = 1
|
||||
dpr = 1;
|
||||
}
|
||||
scale = 1 / dpr
|
||||
scale = 1 / dpr;
|
||||
}
|
||||
|
||||
docEl.setAttribute('data-dpr', dpr)
|
||||
docEl.setAttribute('data-dpr', dpr);
|
||||
if (!metaEl) {
|
||||
metaEl = doc.createElement('meta')
|
||||
metaEl.setAttribute('name', 'viewport')
|
||||
metaEl.setAttribute(
|
||||
'content',
|
||||
'initial-scale=' +
|
||||
scale +
|
||||
', maximum-scale=' +
|
||||
scale +
|
||||
', minimum-scale=' +
|
||||
scale +
|
||||
', user-scalable=no'
|
||||
)
|
||||
metaEl = doc.createElement('meta');
|
||||
metaEl.setAttribute('name', 'viewport');
|
||||
metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no');
|
||||
if (docEl.firstElementChild) {
|
||||
docEl.firstElementChild.appendChild(metaEl)
|
||||
docEl.firstElementChild.appendChild(metaEl);
|
||||
} else {
|
||||
var wrap = doc.createElement('div')
|
||||
wrap.appendChild(metaEl)
|
||||
doc.write(wrap.innerHTML)
|
||||
var wrap = doc.createElement('div');
|
||||
wrap.appendChild(metaEl);
|
||||
doc.write(wrap.innerHTML);
|
||||
}
|
||||
}
|
||||
|
||||
function refreshRem(){
|
||||
var width = docEl.getBoundingClientRect().width
|
||||
if (width / dpr <= 1366) {
|
||||
width = 1366 * dpr
|
||||
} else if (width / dpr <= 1440) {
|
||||
width = 1440 * dpr
|
||||
} else if (width / dpr <= 1600) {
|
||||
width = 1600 * dpr
|
||||
} else if (width / dpr <= 1680) {
|
||||
width = 1680 * dpr
|
||||
} else if (width / dpr <= 1768) {
|
||||
width = 1768 * dpr
|
||||
} else if (width / dpr <= 1980) {
|
||||
width = 1980 * dpr
|
||||
var width = docEl.getBoundingClientRect().width;
|
||||
if (width / dpr < 1980) {
|
||||
width = 1980 * dpr;
|
||||
} else if (width / dpr > 5760) {
|
||||
width = 5760 * dpr
|
||||
width = 5760 * dpr;
|
||||
}
|
||||
var rem = width / 10
|
||||
docEl.style.fontSize = rem + 'px'
|
||||
flexible.rem = win.rem = rem
|
||||
var rem = width / 10;
|
||||
docEl.style.fontSize = rem + 'px';
|
||||
flexible.rem = win.rem = rem;
|
||||
}
|
||||
|
||||
win.addEventListener(
|
||||
'resize',
|
||||
function () {
|
||||
clearTimeout(tid)
|
||||
tid = setTimeout(refreshRem, 300)
|
||||
},
|
||||
false
|
||||
)
|
||||
win.addEventListener(
|
||||
'pageshow',
|
||||
function (e) {
|
||||
win.addEventListener('resize', function() {
|
||||
clearTimeout(tid);
|
||||
tid = setTimeout(refreshRem, 300);
|
||||
}, false);
|
||||
win.addEventListener('pageshow', function(e) {
|
||||
if (e.persisted) {
|
||||
clearTimeout(tid)
|
||||
tid = setTimeout(refreshRem, 300)
|
||||
clearTimeout(tid);
|
||||
tid = setTimeout(refreshRem, 300);
|
||||
}
|
||||
},
|
||||
false
|
||||
)
|
||||
}, false);
|
||||
|
||||
if (doc.readyState === 'complete') {
|
||||
doc.body.style.fontSize = 12 * dpr + 'px'
|
||||
doc.body.style.fontSize = 12 * dpr + 'px';
|
||||
} else {
|
||||
doc.addEventListener(
|
||||
'DOMContentLoaded',
|
||||
function (e) {
|
||||
doc.body.style.fontSize = 12 * dpr + 'px'
|
||||
},
|
||||
false
|
||||
)
|
||||
doc.addEventListener('DOMContentLoaded', function(e) {
|
||||
doc.body.style.fontSize = 12 * dpr + 'px';
|
||||
}, false);
|
||||
}
|
||||
|
||||
refreshRem()
|
||||
|
||||
flexible.dpr = win.dpr = dpr
|
||||
flexible.refreshRem = refreshRem
|
||||
refreshRem();
|
||||
|
||||
flexible.dpr = win.dpr = dpr;
|
||||
flexible.refreshRem = refreshRem;
|
||||
flexible.rem2px = function(d) {
|
||||
var val = parseFloat(d) * this.rem
|
||||
var val = parseFloat(d) * this.rem;
|
||||
if (typeof d === 'string' && d.match(/rem$/)) {
|
||||
val += 'px'
|
||||
val += 'px';
|
||||
}
|
||||
return val
|
||||
return val;
|
||||
}
|
||||
flexible.px2rem = function(d) {
|
||||
var val = parseFloat(d) / this.rem
|
||||
var val = parseFloat(d) / this.rem;
|
||||
if (typeof d === 'string' && d.match(/px$/)) {
|
||||
val += 'rem'
|
||||
val += 'rem';
|
||||
}
|
||||
return val
|
||||
return val;
|
||||
}
|
||||
})(window, window['lib'] || (window['lib'] = {}))
|
||||
|
||||
})(window, window['lib'] || (window['lib'] = {}));
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
<!-- </template>-->
|
||||
<div class="task-list__content">
|
||||
<div v-for="item in taskList.data" :key="item.id" class="task-item">
|
||||
<div class="top-part">
|
||||
<div class="left-part">
|
||||
<!-- <div class="task-progress-bar" :style="'width: ' + item.uavCompletion +'%;'"></div>-->
|
||||
<div class="execute-info" @click="openTaskLineDetail(item)">
|
||||
<span
|
||||
@ -41,13 +41,14 @@
|
||||
</div>
|
||||
<div class="task-info">
|
||||
{{ item.statusName }}
|
||||
<!-- <i class="el-icon-camera"></i>-->
|
||||
<!-- <span class="task-name">{{ item.name }}</span>-->
|
||||
<!-- <span :class="{ 'task-finish': item.isFinish }">{{-->
|
||||
<!-- item.taskProgressName-->
|
||||
<!-- }}</span>-->
|
||||
</div>
|
||||
|
||||
<!-- <div class="task-time">{{ item.beginTime }}</div> -->
|
||||
<div class="task-time">{{ item.beginTime }}</div>
|
||||
</div>
|
||||
<p>无人机名称: 无人机1</p>
|
||||
<p>雷达名称: SAR1</p>
|
||||
<p>开始时间:{{ item.beginTime }}</p>
|
||||
<div class="right-part">
|
||||
<!-- <i class="el-icon-edit-outline edit-task" @click.stop="editTask(item)"></i>-->
|
||||
<!-- <el-tooltip-->
|
||||
@ -58,6 +59,18 @@
|
||||
<!-- <i class="ri-repeat-line" @click.stop="reRunTask(item)"></i>-->
|
||||
|
||||
<!-- </el-tooltip>-->
|
||||
<el-tooltip effect="dark" content="修改名称" placement="right">
|
||||
<i
|
||||
class="el-icon-edit-outline"
|
||||
@click.stop="editTaskName(item)"
|
||||
></i>
|
||||
</el-tooltip>
|
||||
<el-tooltip effect="dark" content="删除" placement="right">
|
||||
<i
|
||||
class="el-icon-close delete-task"
|
||||
@click.stop="deleteTask(item)"
|
||||
></i>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -876,9 +876,7 @@ export default {
|
||||
if (name === '执行中') {
|
||||
return '#6ae965'
|
||||
} else if (name === '已完成') {
|
||||
return '#0f8cc7'
|
||||
} else if (name === '未执行') {
|
||||
return '#b2ff38'
|
||||
return '#336dff'
|
||||
}
|
||||
},
|
||||
getUavList() {
|
||||
@ -987,15 +985,6 @@ export default {
|
||||
let list = []
|
||||
data.forEach(item => {
|
||||
item.statusName = this.jobStatus[item.status + '']
|
||||
console.log(item, 33333333333);
|
||||
let uav = undefined
|
||||
let sar = undefined
|
||||
if (item.uavList.length) {
|
||||
uav = item.uavList[0].uavName
|
||||
if (item.uavList[0].payloadList.length) {
|
||||
sar = item.uavList[0].payloadList[0].payloadName
|
||||
}
|
||||
}
|
||||
list.push({
|
||||
id: item.id,
|
||||
beginTime: item.beginTime,
|
||||
@ -1005,8 +994,6 @@ export default {
|
||||
name: item.name,
|
||||
status: item.status,
|
||||
statusName: item.statusName,
|
||||
uav,
|
||||
sar
|
||||
})
|
||||
this.removeTaskTarget(item.id)
|
||||
})
|
||||
|
||||
@ -26,35 +26,122 @@
|
||||
}
|
||||
|
||||
.task-item {
|
||||
height: 40px;
|
||||
box-sizing: border-box;
|
||||
width: calc(100% - 5px);
|
||||
width: 100%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 8px 0;
|
||||
border: 1px solid $--color-border-1;
|
||||
padding: 8px 15px;
|
||||
box-sizing: border-box;
|
||||
border-radius: 6px;
|
||||
background-color: $--color-black-3-alpha;
|
||||
|
||||
&:hover {
|
||||
background-color: $--color-black-3;
|
||||
.left-part {
|
||||
padding: 0 8px;
|
||||
background: rgba(51, 51, 51, 0.6);
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.task-progress-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border-radius: 4px;
|
||||
background: #43522c;
|
||||
//z-index: -1;
|
||||
}
|
||||
|
||||
>p {
|
||||
line-height: 24px;
|
||||
color: $--color-text-2;
|
||||
padding-left: 3px;
|
||||
.execute-info {
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
// width: 150px;
|
||||
|
||||
.execute-type-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
margin-right: 4px;
|
||||
border: 1px solid $--color-text-1;
|
||||
|
||||
>i {
|
||||
color: $--color-text-1;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.execute-state-0 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-1 {
|
||||
border: 1px solid #39cf0b;
|
||||
box-shadow: 0 0 5px rgba(17, 172, 38, 0.8),
|
||||
0 0 10px rgba(17, 172, 38, 0.6),
|
||||
0 0 20px rgba(17, 172, 38, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-2 {
|
||||
border: 1px solid $--color-text-1;
|
||||
box-shadow: 0 0 2px rgba(250, 250, 250, 0.8),
|
||||
0 0 6px rgba(250, 250, 250, 0.6),
|
||||
0 0 14px rgba(250, 250, 250, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-3 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-4 {
|
||||
border: 1px solid #893654;
|
||||
box-shadow: 0 0 5px rgba(137, 54, 84, 0.8),
|
||||
0 0 10px rgba(137, 54, 84, 0.6),
|
||||
0 0 20px rgba(137, 54, 84, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-5 {
|
||||
border: 1px solid #681c1f;
|
||||
box-shadow: 0 0 5px rgba(104, 28, 31, 0.8),
|
||||
0 0 10px rgba(104, 28, 31, 0.6),
|
||||
0 0 20px rgba(104, 28, 31, 0.3);
|
||||
}
|
||||
|
||||
.task-execute {
|
||||
color: $--color-text-1;
|
||||
font-size: 14px;
|
||||
width: 85px;
|
||||
margin-left: 5px;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.task-info {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: $--color-black-2;
|
||||
padding: 4px 15px;
|
||||
border-bottom-right-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
width: 50px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
>i {
|
||||
font-size: 16px;
|
||||
@ -76,9 +163,46 @@
|
||||
color: $--color-green;
|
||||
}
|
||||
}
|
||||
|
||||
.task-time {
|
||||
z-index: 1;
|
||||
color: $--color-text-1;
|
||||
min-width: 140px;
|
||||
}
|
||||
}
|
||||
|
||||
.right-part {
|
||||
width: 60px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 5px;
|
||||
|
||||
>i {
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
.edit-task {
|
||||
color: #ffff00;
|
||||
}
|
||||
|
||||
.delete-task {
|
||||
color: $--color-red;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//.task-list__large {
|
||||
// height: calc(50vh - 110px);
|
||||
// left: $--icon-mode-larger-card-left;
|
||||
// top: $--icon-mode-larger-card-top;
|
||||
// transition: 0.2s ease-in-out;
|
||||
//}
|
||||
|
||||
.task-form {
|
||||
width: 410px;
|
||||
height: calc(100vh - 70px);
|
||||
@ -89,6 +213,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
//.task-form__large {
|
||||
// height: calc(100vh - 110px);
|
||||
// left: $--icon-mode-larger-card-left;
|
||||
// top: $--icon-mode-larger-card-top;
|
||||
// transition: 0.2s ease-in-out;
|
||||
//}
|
||||
.requirement-form {
|
||||
box-sizing: border-box;
|
||||
padding-right: 10px;
|
||||
@ -423,115 +553,3 @@
|
||||
background-color: #00000052;
|
||||
}
|
||||
}
|
||||
|
||||
.top-part {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
line-height: 24px;
|
||||
|
||||
&__left {
|
||||
flex: 1;
|
||||
|
||||
.execute-info {
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
// width: 150px;
|
||||
|
||||
.execute-type-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
margin-right: 4px;
|
||||
border: 1px solid $--color-text-1;
|
||||
|
||||
>i {
|
||||
color: $--color-text-1;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.execute-state-0 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-1 {
|
||||
border: 1px solid #39cf0b;
|
||||
box-shadow: 0 0 5px rgba(17, 172, 38, 0.8),
|
||||
0 0 10px rgba(17, 172, 38, 0.6),
|
||||
0 0 20px rgba(17, 172, 38, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-2 {
|
||||
border: 1px solid $--color-text-1;
|
||||
box-shadow: 0 0 2px rgba(250, 250, 250, 0.8),
|
||||
0 0 6px rgba(250, 250, 250, 0.6),
|
||||
0 0 14px rgba(250, 250, 250, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-3 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-4 {
|
||||
border: 1px solid #893654;
|
||||
box-shadow: 0 0 5px rgba(137, 54, 84, 0.8),
|
||||
0 0 10px rgba(137, 54, 84, 0.6),
|
||||
0 0 20px rgba(137, 54, 84, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-5 {
|
||||
border: 1px solid #681c1f;
|
||||
box-shadow: 0 0 5px rgba(104, 28, 31, 0.8),
|
||||
0 0 10px rgba(104, 28, 31, 0.6),
|
||||
0 0 20px rgba(104, 28, 31, 0.3);
|
||||
}
|
||||
|
||||
.task-execute {
|
||||
color: $--color-text-1;
|
||||
font-size: 14px;
|
||||
width: calc(100% - 50px);
|
||||
margin-left: 5px;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__right {
|
||||
width: 60px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 5px;
|
||||
|
||||
>i {
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
.edit-task {
|
||||
color: #ffff00;
|
||||
}
|
||||
|
||||
.delete-task {
|
||||
color: $--color-red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,9 +30,8 @@
|
||||
:key="item.id"
|
||||
class="task-item"
|
||||
>
|
||||
<div class="top-part">
|
||||
<div class="left-part">
|
||||
<!-- <div class="task-progress-bar" :style="'width: ' + item.uavCompletion +'%;'"></div>-->
|
||||
<div class="top-part__left">
|
||||
<div class="execute-info" @click="openTaskLineDetail(item)">
|
||||
<span
|
||||
class="execute-type-icon"
|
||||
@ -41,8 +40,20 @@
|
||||
></span>
|
||||
<span class="task-execute">{{ item.name }}</span>
|
||||
</div>
|
||||
<div
|
||||
class="task-info"
|
||||
:style="{ color: dealStatusColor(item.statusName) }"
|
||||
>
|
||||
{{ item.statusName }}
|
||||
<!-- <i class="el-icon-camera"></i>-->
|
||||
<!-- <span class="task-name">{{ item.name }}</span>-->
|
||||
<!-- <span :class="{ 'task-finish': item.isFinish }">{{-->
|
||||
<!-- item.taskProgressName-->
|
||||
<!-- }}</span>-->
|
||||
</div>
|
||||
<div class="top-part__right">
|
||||
<div class="task-time">{{ item.beginTime }}</div>
|
||||
</div>
|
||||
<div class="right-part">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="item.check ? '隐藏' : '显示'"
|
||||
@ -89,16 +100,21 @@
|
||||
<el-dropdown-item command="remove">删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<p>无人机名称: {{ item.uav }}</p>
|
||||
<p>雷达名称: {{ item.sar }}</p>
|
||||
<p>开始时间:{{ item.beginTime }}</p>
|
||||
<div
|
||||
class="task-info"
|
||||
:style="{ color: dealStatusColor(item.statusName) }"
|
||||
>
|
||||
{{ item.statusName }}
|
||||
<!-- <el-tooltip effect="dark" content="修改名称" placement="top">
|
||||
<i
|
||||
class="el-icon-edit-outline"
|
||||
@click.stop="editTaskName(item)"
|
||||
></i>
|
||||
</el-tooltip>
|
||||
<el-tooltip effect="dark" content="复制" placement="top">
|
||||
<i class="ri-file-copy-2-line" @click.stop="copyTask(item)"></i>
|
||||
</el-tooltip>
|
||||
<el-tooltip effect="dark" content="删除" placement="top">
|
||||
<i
|
||||
class="el-icon-close delete-task"
|
||||
@click.stop="deleteTask(item)"
|
||||
></i>
|
||||
</el-tooltip> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1085,7 +1085,6 @@ export default {
|
||||
console.log('任务列表', res.data.data)
|
||||
let data = res.data.data
|
||||
let list = []
|
||||
|
||||
data.forEach(item => {
|
||||
// item.check = item.status === 1 || item.status === 3
|
||||
item.check = false
|
||||
@ -1097,15 +1096,6 @@ export default {
|
||||
}
|
||||
child.jobName = item.name
|
||||
})
|
||||
|
||||
let uav = undefined
|
||||
let sar = undefined
|
||||
if (item.uavList.length) {
|
||||
uav = item.uavList[0].uavName
|
||||
if (item.uavList[0].payloadList.length) {
|
||||
sar = item.uavList[0].payloadList[0].payloadName
|
||||
}
|
||||
}
|
||||
list.push({
|
||||
id: item.id,
|
||||
beginTime: item.beginTime,
|
||||
@ -1115,8 +1105,6 @@ export default {
|
||||
name: item.name,
|
||||
status: item.status,
|
||||
statusName: item.statusName,
|
||||
uav,
|
||||
sar
|
||||
})
|
||||
// TODO
|
||||
// item.pointList = [item.pointList]
|
||||
@ -2619,10 +2607,6 @@ export default {
|
||||
name: '/topic/jobStatus',
|
||||
callback: this.handleWebsocketState
|
||||
},
|
||||
{
|
||||
name: '/topic/gmti',
|
||||
callback: this.handleWebsocketGmti
|
||||
},
|
||||
],
|
||||
success: () => {
|
||||
console.log('自身websocket链接成功2')
|
||||
@ -2632,9 +2616,6 @@ export default {
|
||||
socketInstance = socket
|
||||
stompClientInstance = stompClient
|
||||
},
|
||||
handleWebsocketGmti(info) {
|
||||
console.log('Gmti信息', info.body)
|
||||
},
|
||||
handleWebsocketStatus(info) {
|
||||
console.log('SAR状态信息', info.body)
|
||||
let data = JSON.parse(info.body)
|
||||
@ -2797,7 +2778,7 @@ export default {
|
||||
// console.log('SAR图像', info.body)
|
||||
let data = JSON.parse(info.body)
|
||||
console.log('SAR图像2', data)
|
||||
this.addMarkPicture2(data)
|
||||
// this.addMarkPicture2(data)
|
||||
// console.log('灭有匹配到吗taskUavCollection', taskUavCollection, taskUavCollection[data.jobId])
|
||||
if (taskUavCollection[data.jobId]) {
|
||||
let find = taskUavCollection[data.jobId].find(item => item.uavId + '' === data.uavId + '')
|
||||
@ -3006,12 +2987,9 @@ export default {
|
||||
// 从执行中变为执行完毕
|
||||
if (this.taskList.data[findIndex].status === 1 && data.jobStatus === 2) {
|
||||
// 移除任务相关信息
|
||||
// console.log('任务变更', this.jobStatus, this.jobStatus[data.jobStatus + ''])
|
||||
// this.taskList.data[findIndex].statusName = this.jobStatus[data.jobStatus + '']
|
||||
// taskListResource[findIndex].statusName = this.jobStatus[data.jobStatus + '']
|
||||
taskListResource.splice(findIndex, 1)
|
||||
this.getTaskList()
|
||||
this.removeTaskTarget(data.jobId)
|
||||
console.log('任务变更', this.jobStatus, this.jobStatus[data.jobStatus + ''])
|
||||
this.taskList.data[findIndex].statusName = this.jobStatus[data.jobStatus + '']
|
||||
taskListResource[findIndex].statusName = this.jobStatus[data.jobStatus + '']
|
||||
}
|
||||
if (data.jobStatus === 1 && this.detailUav.id === data.jobId) {
|
||||
this.updateUavInfo(data.sarStatus)
|
||||
|
||||
@ -48,34 +48,122 @@
|
||||
}
|
||||
|
||||
.task-item {
|
||||
height: 40px;
|
||||
box-sizing: border-box;
|
||||
width: calc(100% - 5px);
|
||||
width: 100%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 8px 0;
|
||||
border: 1px solid $--color-border-1;
|
||||
padding: 8px 15px;
|
||||
box-sizing: border-box;
|
||||
border-radius: 6px;
|
||||
background-color: $--color-black-3-alpha;
|
||||
|
||||
&:hover {
|
||||
background-color: $--color-black-3;
|
||||
.left-part {
|
||||
padding: 0 8px;
|
||||
background: rgba(51, 51, 51, 0.6);
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.task-progress-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border-radius: 4px;
|
||||
background: #43522c;
|
||||
//z-index: -1;
|
||||
}
|
||||
|
||||
>p {
|
||||
color: $--color-text-2;
|
||||
line-height: 24px;
|
||||
.execute-info {
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
// width: 150px;
|
||||
|
||||
.execute-type-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
margin-right: 4px;
|
||||
border: 1px solid $--color-text-1;
|
||||
|
||||
>i {
|
||||
color: $--color-text-1;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.execute-state-0 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-1 {
|
||||
border: 1px solid #39cf0b;
|
||||
box-shadow: 0 0 5px rgba(17, 172, 38, 0.8),
|
||||
0 0 10px rgba(17, 172, 38, 0.6),
|
||||
0 0 20px rgba(17, 172, 38, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-2 {
|
||||
border: 1px solid $--color-text-1;
|
||||
box-shadow: 0 0 2px rgba(250, 250, 250, 0.8),
|
||||
0 0 6px rgba(250, 250, 250, 0.6),
|
||||
0 0 14px rgba(250, 250, 250, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-3 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-4 {
|
||||
border: 1px solid #893654;
|
||||
box-shadow: 0 0 5px rgba(137, 54, 84, 0.8),
|
||||
0 0 10px rgba(137, 54, 84, 0.6),
|
||||
0 0 20px rgba(137, 54, 84, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-5 {
|
||||
border: 1px solid #681c1f;
|
||||
box-shadow: 0 0 5px rgba(104, 28, 31, 0.8),
|
||||
0 0 10px rgba(104, 28, 31, 0.6),
|
||||
0 0 20px rgba(104, 28, 31, 0.3);
|
||||
}
|
||||
|
||||
.task-execute {
|
||||
color: $--color-text-1;
|
||||
font-size: 14px;
|
||||
width: 90px;
|
||||
margin-left: 5px;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.task-info {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: $--color-black-2;
|
||||
padding: 4px 15px;
|
||||
border-bottom-right-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
width: 50px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
>i {
|
||||
font-size: 16px;
|
||||
@ -97,6 +185,36 @@
|
||||
color: $--color-green;
|
||||
}
|
||||
}
|
||||
|
||||
.task-time {
|
||||
z-index: 1;
|
||||
color: $--color-text-1;
|
||||
min-width: 140px;
|
||||
}
|
||||
}
|
||||
|
||||
.right-part {
|
||||
width: 40px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 8px;
|
||||
align-items: center;
|
||||
|
||||
>i {
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
.edit-task {
|
||||
color: #ffff00;
|
||||
}
|
||||
|
||||
.delete-task {
|
||||
color: $--color-red;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -290,9 +408,9 @@
|
||||
.detail-uav-wrap {
|
||||
width: 430px;
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
bottom: 5px;
|
||||
right: 10px;
|
||||
height: calc(100vh - 220px);
|
||||
height: calc(100vh - 60px);
|
||||
}
|
||||
|
||||
.detail-info {
|
||||
@ -968,6 +1086,35 @@
|
||||
}
|
||||
}
|
||||
|
||||
.task-info {
|
||||
z-index: 1;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
width: 50px;
|
||||
|
||||
>i {
|
||||
font-size: 16px;
|
||||
color: #07e5e5;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
>span {
|
||||
color: $--color-orange;
|
||||
}
|
||||
|
||||
.task-name {
|
||||
color: $--color-text-1;
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.task-finish {
|
||||
color: $--color-green;
|
||||
}
|
||||
}
|
||||
|
||||
.task-time {
|
||||
z-index: 1;
|
||||
color: $--color-text-1;
|
||||
@ -1036,7 +1183,13 @@
|
||||
|
||||
.detail-uav {
|
||||
width: 410px;
|
||||
height: calc(100vh - 220px);
|
||||
// position: fixed;
|
||||
top: 60px;
|
||||
//bottom: 5px;
|
||||
right: 10px;
|
||||
//right: 510px;
|
||||
height: calc(100vh - 70px);
|
||||
//height: calc(100vh - 620px);
|
||||
transition: 0.2s ease-in-out;
|
||||
z-index: 2;
|
||||
|
||||
@ -1106,6 +1259,66 @@
|
||||
}
|
||||
}
|
||||
|
||||
.target-task-item {
|
||||
height: 40px;
|
||||
margin: 8px 0;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
padding: 0 8px;
|
||||
background: #333333;
|
||||
border-radius: 4px;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
.task-progress-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border-radius: 4px;
|
||||
background: #43522c;
|
||||
//z-index: -1;
|
||||
}
|
||||
|
||||
.task-info {
|
||||
z-index: 1;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
width: 50px;
|
||||
|
||||
>i {
|
||||
font-size: 16px;
|
||||
color: #07e5e5;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
>span {
|
||||
color: $--color-orange;
|
||||
}
|
||||
|
||||
.task-name {
|
||||
color: $--color-text-1;
|
||||
font-size: 14px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.task-finish {
|
||||
color: $--color-green;
|
||||
}
|
||||
}
|
||||
|
||||
.task-time {
|
||||
z-index: 1;
|
||||
color: $--color-text-1;
|
||||
min-width: 140px;
|
||||
}
|
||||
}
|
||||
|
||||
.uav-span-wrap {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
@ -1202,114 +1415,3 @@
|
||||
::v-deep .el-collapse {
|
||||
border-top: unset;
|
||||
}
|
||||
|
||||
.top-part {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
line-height: 24px;
|
||||
|
||||
&__left {
|
||||
flex: 1;
|
||||
|
||||
.execute-info {
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
.execute-type-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
margin-right: 4px;
|
||||
border: 1px solid $--color-text-1;
|
||||
|
||||
>i {
|
||||
color: $--color-text-1;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.execute-state-0 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-1 {
|
||||
border: 1px solid #39cf0b;
|
||||
box-shadow: 0 0 5px rgba(17, 172, 38, 0.8),
|
||||
0 0 10px rgba(17, 172, 38, 0.6),
|
||||
0 0 20px rgba(17, 172, 38, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-2 {
|
||||
border: 1px solid $--color-text-1;
|
||||
box-shadow: 0 0 2px rgba(250, 250, 250, 0.8),
|
||||
0 0 6px rgba(250, 250, 250, 0.6),
|
||||
0 0 14px rgba(250, 250, 250, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-3 {
|
||||
border: 1px solid #a45d35;
|
||||
box-shadow: 0 0 5px rgba(164, 93, 53, 0.8),
|
||||
0 0 10px rgba(164, 93, 53, 0.6),
|
||||
0 0 20px rgba(164, 93, 53, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-4 {
|
||||
border: 1px solid #893654;
|
||||
box-shadow: 0 0 5px rgba(137, 54, 84, 0.8),
|
||||
0 0 10px rgba(137, 54, 84, 0.6),
|
||||
0 0 20px rgba(137, 54, 84, 0.3);
|
||||
}
|
||||
|
||||
.execute-state-5 {
|
||||
border: 1px solid #681c1f;
|
||||
box-shadow: 0 0 5px rgba(104, 28, 31, 0.8),
|
||||
0 0 10px rgba(104, 28, 31, 0.6),
|
||||
0 0 20px rgba(104, 28, 31, 0.3);
|
||||
}
|
||||
|
||||
.task-execute {
|
||||
color: $--color-text-1;
|
||||
font-size: 14px;
|
||||
width: calc(100% - 50px);
|
||||
margin-left: 5px;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__right {
|
||||
width: 40px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 5px;
|
||||
|
||||
>i {
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
.edit-task {
|
||||
color: #ffff00;
|
||||
}
|
||||
|
||||
.delete-task {
|
||||
color: $--color-red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,9 +75,8 @@
|
||||
class="task-item"
|
||||
@click="openSarStatusDetail(item)"
|
||||
>
|
||||
<div class="top-part">
|
||||
<div class="left-part">
|
||||
<!-- <div class="task-progress-bar" :style="'width: ' + item.uavCompletion +'%;'"></div>-->
|
||||
<div class="top-part__left">
|
||||
<div class="execute-info">
|
||||
<span
|
||||
class="execute-type-icon"
|
||||
@ -86,8 +85,15 @@
|
||||
></span>
|
||||
<span class="task-execute">{{ item.name }}</span>
|
||||
</div>
|
||||
<div
|
||||
class="task-info"
|
||||
:style="{ color: dealStatusColor(item.statusName) }"
|
||||
>
|
||||
{{ item.statusName }}
|
||||
</div>
|
||||
<div class="top-part__right">
|
||||
<div class="task-time">{{ item.beginTime }}</div>
|
||||
</div>
|
||||
<div class="right-part">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="item.check ? '隐藏' : '显示'"
|
||||
@ -98,6 +104,17 @@
|
||||
@click.stop="toggleTaskSceneShow(item, index)"
|
||||
></i>
|
||||
</el-tooltip>
|
||||
<!-- <el-tooltip
|
||||
v-if="item.status === 0"
|
||||
effect="dark"
|
||||
content="执行"
|
||||
placement="top"
|
||||
>
|
||||
<i
|
||||
class="ri-arrow-up-circle-line"
|
||||
@click.stop="makeTaskUavFly(item, index)"
|
||||
></i>
|
||||
</el-tooltip> -->
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
content="结束任务"
|
||||
@ -109,16 +126,17 @@
|
||||
@click.stop="stopTask(item, index)"
|
||||
></i>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<p>无人机名称: {{ item.uav }}</p>
|
||||
<p>雷达名称: {{ item.sar }}</p>
|
||||
<p>开始时间:{{ item.beginTime }}</p>
|
||||
<div
|
||||
class="task-info"
|
||||
:style="{ color: dealStatusColor(item.statusName) }"
|
||||
<!-- <el-tooltip
|
||||
effect="dark"
|
||||
content="重新执行"
|
||||
placement="top"
|
||||
v-if="item.status === 2"
|
||||
>
|
||||
{{ item.statusName }}
|
||||
<i
|
||||
class="ri-restart-line"
|
||||
@click.stop="reRunTask(item, index)"
|
||||
></i>
|
||||
</el-tooltip> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -274,6 +292,50 @@
|
||||
<i class="el-icon-info device-lock" @click="showUavMore"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="target-task-list">-->
|
||||
<!-- <div class="target-task-item" v-for="item in detailInfo.taskList" :key="item.id">-->
|
||||
<!-- <div class="execute-info">-->
|
||||
<!-- <span class="execute-type-icon" :class="'execute-state-' + item.status"><i class="ri-dv-line"></i></span>-->
|
||||
<!-- <span class="task-execute">{{ item.name }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="task-time">{{item.beginTime}}</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="picture-list">
|
||||
<div>回传图像:</div>
|
||||
<div
|
||||
v-for="item in detailInfo.pictureList"
|
||||
:key="item.createTime"
|
||||
class="picture-list-item"
|
||||
>
|
||||
<div class="picture-item-image">
|
||||
<el-image
|
||||
style="width: 40px; height: 40px"
|
||||
:src="item.url"
|
||||
:preview-src-list="[item.url]"
|
||||
>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="picture-item-info">
|
||||
<div>
|
||||
拍摄任务:{{ item.taskName }} | 拍摄载荷:{{
|
||||
item.loaderName
|
||||
}}
|
||||
</div>
|
||||
<div>拍摄时间:{{ item.createTime }}</div>
|
||||
</div>
|
||||
<div class="picture-command">
|
||||
<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>
|
||||
</dt-card>
|
||||
</right-slide>
|
||||
|
||||
@ -1524,7 +1524,7 @@ export default {
|
||||
},
|
||||
//#endregion
|
||||
sarChange(val) {
|
||||
// this.moveInfoBar = val
|
||||
this.moveInfoBar = val
|
||||
},
|
||||
|
||||
//#region ais船
|
||||
|
||||
@ -147,18 +147,18 @@ module.exports = {
|
||||
css: {
|
||||
loaderOptions: {
|
||||
postcss: {
|
||||
plugins: [
|
||||
require('postcss-pxtorem')({
|
||||
rootValue: 192, // 正常适配
|
||||
// rootValue: 280, // 3840 * 2160
|
||||
propList: ['*'], // 可以从px更改为rem的属性
|
||||
selectorBlackList: [
|
||||
// 匹配不被转换为rem的选择器
|
||||
'super-cesium-timeline-icon16'
|
||||
// 'card-position'
|
||||
]
|
||||
})
|
||||
]
|
||||
// plugins: [
|
||||
// require('postcss-pxtorem')({
|
||||
// rootValue: 192, // 正常适配
|
||||
// // rootValue: 280, // 3840 * 2160
|
||||
// propList: ['*'], // 可以从px更改为rem的属性
|
||||
// selectorBlackList: [
|
||||
// // 匹配不被转换为rem的选择器
|
||||
// 'super-cesium-timeline-icon16'
|
||||
// // 'card-position'
|
||||
// ]
|
||||
// })
|
||||
// ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user