提交 c44f0c0a 作者: 温凯

fix:点击飞行计划弹框,运行监控日志或其他弹框需释放掉,不显示其他弹框

上级 678e084c
...@@ -6,44 +6,20 @@ ...@@ -6,44 +6,20 @@
<div class="header__column status">状态</div> <div class="header__column status">状态</div>
<div class="header__column flex2">操作</div> <div class="header__column flex2">操作</div>
</div> </div>
<div <div class="timed-task-main" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)">
class="timed-task-main" <div class="row" :class="{ single: i % 2 != 0 }" v-for="(item, i) in taskListAll" :key="item.id">
v-loading="loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
>
<div
class="row"
:class="{ single: i % 2 != 0 }"
v-for="(item, i) in taskListAll"
:key="item.id"
>
<div class="row__column flex2"> <div class="row__column flex2">
<el-tooltip <el-tooltip class="item" effect="dark" :content="item.name" placement="top-start">
class="item"
effect="dark"
:content="item.name"
placement="top-start"
>
<span class="f12">{{ item.name }}</span> <span class="f12">{{ item.name }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="row__column flex2 col-2"> <div class="row__column flex2 col-2">
<el-tooltip <el-tooltip class="item" effect="dark" :content="item.taskStartTime" placement="top-start">
class="item"
effect="dark"
:content="item.taskStartTime"
placement="top-start"
>
<span class="f9">{{ item.taskStartTime }}</span> <span class="f9">{{ item.taskStartTime }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="row__column status" style="color: rgb(255, 189, 54)"> <div class="row__column status" style="color: rgb(255, 189, 54)">
<el-tooltip <el-tooltip class="item" effect="dark" :content="item.status" placement="top-start">
class="item"
effect="dark"
:content="item.status"
placement="top-start"
>
<span class="f12">{{ item.status }}</span> <span class="f12">{{ item.status }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
...@@ -55,17 +31,14 @@ ...@@ -55,17 +31,14 @@
<i class="el-icon-date" @click="onOpenPlan(item)"></i> <i class="el-icon-date" @click="onOpenPlan(item)"></i>
</el-tooltip> </el-tooltip>
<el-tooltip content="编辑" placement="top" v> <el-tooltip content="编辑" placement="top" v>
<i <i class="el-icon-edit" @click="onOpenEdit(item)" v-if="item.status !== '执行中' && item.status !== '已完成'"></i>
class="el-icon-edit"
@click="onOpenEdit(item)"
v-if="item.status !== '执行中' && item.status !== '已完成'"
></i>
</el-tooltip> </el-tooltip>
<!-- <el-tooltip content="开关" placement="top"> <!-- <el-tooltip content="开关" placement="top">
<i class="el-icon-turn-off"></i> <i class="el-icon-turn-off"></i>
</el-tooltip> --> </el-tooltip> -->
<el-tooltip content="删除" placement="top"> <el-tooltip content="删除" placement="top">
<i v-if="item.status !== '执行中' && item.status !== '已完成'" class="el-icon-delete" @click="onDelAirway(item)"></i> <i v-if="item.status !== '执行中' && item.status !== '已完成'" class="el-icon-delete"
@click="onDelAirway(item)"></i>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
...@@ -74,18 +47,9 @@ ...@@ -74,18 +47,9 @@
<div class="task-add__btn" @click="showFlightPlan = true">创建定时任务</div> <div class="task-add__btn" @click="showFlightPlan = true">创建定时任务</div>
</div>--> </div>-->
<FlightPlan <FlightPlan v-if="showFlightPlan" :taskId="selectedTask.id" :taskList="taskListAll" @close="showFlightPlan = false">
v-if="showFlightPlan"
:taskId="selectedTask.id"
:taskList="taskListAll"
@close="showFlightPlan = false"
>
</FlightPlan> </FlightPlan>
<FlightEdit <FlightEdit v-if="showFlightEdit" :task="selectedTask" @close="showFlightEdit = false"></FlightEdit>
v-if="showFlightEdit"
:task="selectedTask"
@close="showFlightEdit = false"
></FlightEdit>
</div> </div>
</template> </template>
...@@ -140,6 +104,24 @@ export default { ...@@ -140,6 +104,24 @@ export default {
this.getTaskList(); this.getTaskList();
}, },
}, },
showFlightEdit: {
handler(val) {
if (!val && !this.showFlightPlan) {
this.changeflyLogStatus(false)
}else{
this.changeflyLogStatus(true)
}
}
},
showFlightPlan: {
handler(val) {
if (!val&&!this.showFlightEdit) {
this.changeflyLogStatus(false)
} else {
this.changeflyLogStatus(true)
}
}
}
}, },
created() { created() {
this.timeHandle = setInterval(() => { this.timeHandle = setInterval(() => {
...@@ -155,6 +137,13 @@ export default { ...@@ -155,6 +137,13 @@ export default {
"createAirwayEntities", "createAirwayEntities",
"clearAirwayEntities", "clearAirwayEntities",
]), ]),
// 改变飞行日志弹框状态
changeflyLogStatus(falg) {
this.$store.commit("MMCFlightControlCenter/setState", {
key: "flyLogStatus",
value: falg,
});
},
/** /**
* 更新任务列表 * 更新任务列表
*/ */
...@@ -224,13 +213,17 @@ export default { ...@@ -224,13 +213,17 @@ export default {
onOpenPlan(item) { onOpenPlan(item) {
this.selectedTask = item; this.selectedTask = item;
this.showFlightPlan = true; this.showFlightPlan = true;
this.showFlightEdit = false;
this.changeflyLogStatus(false)
}, },
/** /**
* 打开飞行编辑 * 打开飞行编辑
*/ */
onOpenEdit(item) { onOpenEdit(item) {
this.selectedTask = item; this.selectedTask = item;
this.showFlightPlan = false;
this.showFlightEdit = true; this.showFlightEdit = true;
this.changeflyLogStatus(false)
}, },
}, },
}; };
......
<template> <template>
<ControlRight <ControlRight ref="controlRight" isHangar @switchCallback="showHangar = false; showMonitor = false;">
ref="controlRight" <div slot="hangar" class="control-item" :class="showHangar ? 'active' : ''" @click="onSwitchShow('showHangar')">
isHangar
@switchCallback="showHangar = false; showMonitor = false;"
>
<div
slot="hangar"
class="control-item"
:class="showHangar ? 'active' : ''"
@click="onSwitchShow('showHangar')"
>
<img src="./assets/images/hangar.svg" /> <img src="./assets/images/hangar.svg" />
<span class="dib">机库</span> <span class="dib">机库</span>
</div> </div>
...@@ -21,25 +12,16 @@ ...@@ -21,25 +12,16 @@
<span class="dialog-header__close" @click="showHangar = false;">关闭</span> <span class="dialog-header__close" @click="showHangar = false;">关闭</span>
</div> </div>
<div class="hangar-ctrl-list"> <div class="hangar-ctrl-list">
<div <div class="hangar-ctrl-item" v-for="(item, i) in ctrlList" :key="i" @click="onClickCMD(i)">
class="hangar-ctrl-item"
v-for="(item, i) in ctrlList"
:key="i"
@click="onClickCMD(i)"
>
<SymbolIcon v-if="item.icon" :icon="item.icon" class="hangar-ctrl-item__icon" /> <SymbolIcon v-if="item.icon" :icon="item.icon" class="hangar-ctrl-item__icon" />
<img v-else :src="item.img" class="hangar-ctrl-item__icon" /> <img v-else :src="item.img" class="hangar-ctrl-item__icon" />
<div class="hangar-ctrl-item__title">{{item.label}}</div> <div class="hangar-ctrl-item__title">{{ item.label }}</div>
</div> </div>
</div> </div>
</div> </div>
<Logger class="logger" @exit="showLogger = false" v-if="showLogger"></Logger> <Logger class="logger" @exit="showLogger = false" v-if="showLogger"></Logger>
<HangarMonitor <HangarMonitor :uavMsg="uavRealTimeData.msg" :weatherStation="hangarRealTimeData.weatherStation"
:uavMsg="uavRealTimeData.msg" :hangarData="hangarRealTimeData" v-if="showMonitor"></HangarMonitor>
:weatherStation="hangarRealTimeData.weatherStation"
:hangarData="hangarRealTimeData"
v-if="showMonitor"
></HangarMonitor>
</div> </div>
</ControlRight> </ControlRight>
</template> </template>
...@@ -120,11 +102,21 @@ export default { ...@@ -120,11 +102,21 @@ export default {
}; };
}, },
computed: { computed: {
...mapState("MMCFlightControlCenter", ["showAirwayEdit"]), ...mapState("MMCFlightControlCenter", ["showAirwayEdit", "flyLogStatus"]),
...mapState("MMCFlightControlCenter/uav", ["uavRealTimeData"]), ...mapState("MMCFlightControlCenter/uav", ["uavRealTimeData"]),
...mapState("MMCFlightControlCenter/hangar", ["hangarRealTimeData"]), ...mapState("MMCFlightControlCenter/hangar", ["hangarRealTimeData"]),
}, },
watch: { watch: {
flyLogStatus: {
handler(val) {
if (val) {
this.showLogger = false
} else {
this.showLogger = true
}
},
immediate: true,
},
// 打开航线编辑时关闭所有窗口 // 打开航线编辑时关闭所有窗口
showAirwayEdit(newVal) { showAirwayEdit(newVal) {
if (newVal) { if (newVal) {
...@@ -150,7 +142,7 @@ export default { ...@@ -150,7 +142,7 @@ export default {
* 切换展示 * 切换展示
*/ */
async onSwitchShow(key) { async onSwitchShow(key) {
if(!await this.isTakeOver()){ if (!await this.isTakeOver()) {
this.$message.warning("请先接管设备"); this.$message.warning("请先接管设备");
return; return;
} }
...@@ -163,7 +155,7 @@ export default { ...@@ -163,7 +155,7 @@ export default {
* @param {number} i this.ctrlList被点击元素的索引 * @param {number} i this.ctrlList被点击元素的索引
*/ */
async onClickCMD(i) { async onClickCMD(i) {
if(!await this.isTakeOver()){ if (!await this.isTakeOver()) {
this.$message.warning("请先接管设备"); this.$message.warning("请先接管设备");
return; return;
} }
...@@ -221,8 +213,7 @@ export default { ...@@ -221,8 +213,7 @@ export default {
justify-content: space-between; justify-content: space-between;
height: 32px; height: 32px;
.hangar-ctrl-header__title { .hangar-ctrl-header__title {}
}
.hangar-ctrl-header__close { .hangar-ctrl-header__close {
font-size: 14px; font-size: 14px;
...@@ -234,6 +225,7 @@ export default { ...@@ -234,6 +225,7 @@ export default {
align-items: center; align-items: center;
} }
} }
.hangar-ctrl-list { .hangar-ctrl-list {
box-sizing: border-box; box-sizing: border-box;
padding: 8px 16px 14px; padding: 8px 16px 14px;
......
...@@ -7,6 +7,7 @@ import { Utils } from "../lib/cesium"; ...@@ -7,6 +7,7 @@ import { Utils } from "../lib/cesium";
export default { export default {
namespaced: true, namespaced: true,
state: { state: {
flyLogStatus: false, //飞行日志状态
devMode: false, //开发模式, 使用开发环境接口 devMode: false, //开发模式, 使用开发环境接口
token: "", //登录token token: "", //登录token
TenantId: "", //租户id TenantId: "", //租户id
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论