提交 29c6f41e 作者: 温凯

fix:任务库修改

上级 5cd09ddb
......@@ -9,22 +9,38 @@
<el-form class="task-main" label-width="70px">
<el-form-item label="任务库" v-if="useTask">
<el-select v-model="selectedTaskId" clearable>
<el-option v-for="(item , i) in taskList" :label="item.name" :value="item.id"></el-option>
<el-option
v-for="(item, i) in taskList"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="航线选择">
<el-select v-model="selectedAirwayId" :disabled="airwaySelectDisabled" clearable>
<el-option v-for="(item , i) in airwayList" :label="item.name" :value="item.id"></el-option>
<el-select
v-model="selectedAirwayId"
:disabled="airwaySelectDisabled"
clearable
>
<el-option
v-for="(item, i) in airwayList"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<div class="btn" @click="onStartTask" v-hover>一键任务</div>
<div class>
<span class="btn__add-line" @click="showAirwayEdit = true">
<span class="f8"></span> 创建航线
<span class="f8"></span> 创建航线 222
</span>
</div>
</el-form>
<AirwayEdit v-if="showAirwayEdit" @close="showAirwayEdit = false" @addDone="getAirwayList"></AirwayEdit>
<AirwayEdit
v-if="showAirwayEdit"
@close="showAirwayEdit = false"
@addDone="getAirwayList"
></AirwayEdit>
</div>
</template>
<script>
......@@ -51,7 +67,11 @@ export default {
};
},
computed: {
...mapState("MMCFlightControlCenter", ["cesiumViewer", "useSTLAirway", "useTask"]),
...mapState("MMCFlightControlCenter", [
"cesiumViewer",
"useSTLAirway",
"useTask",
]),
...mapState("MMCFlightControlCenter/uav", ["uav"]),
// 选择的任务
selectedTask() {
......@@ -106,15 +126,14 @@ export default {
},
},
watch: {
'uavRealTimeData.isFlying': {
handler: function (newVal,oldVal) {
"uavRealTimeData.isFlying": {
handler: function (newVal, oldVal) {
if (oldVal === false && newVal === true) {
this.getTaskInfoRecord()
this.getTaskInfoRecord();
}
},
deep: true,
immediate: true,
},
showAirwayEdit(newVal) {
if (newVal) {
......@@ -158,9 +177,8 @@ export default {
await this.getTaskList();
await this.getAirwayList();
// 获取正在飞行的航线
if(this.uavRealTimeData.isFlying){
this.getTaskInfoRecord()
if (this.uavRealTimeData.isFlying) {
this.getTaskInfoRecord();
}
},
beforeDestroy() {
......@@ -174,19 +192,19 @@ export default {
"clearAirwayEntities",
"apiPointsToFKZXPoints",
]),
...mapActions("MMCFlightControlCenter/uav", ["isTakeOver"]),
...mapActions("MMCFlightControlCenter/uav", ["isTakeOver","uavRealTimeData"]),
/**
* 获取任务列表
*/
async getTaskInfoRecord() {
async getTaskInfoRecord() {
let res = await TaskInfo.getTaskInfoRecord({
deviceId: this.uav && this.uav.deviceId,
});
if (res.code === 0) {
this.selectedTaskId = res.data.taskInfoId;
this.selectedTaskId = res.data.taskInfoId;
setTimeout(() => {
this.selectedAirwayId = res.data.reouteId;
},1000)
this.selectedAirwayId = res.data.reouteId;
}, 1000);
}
},
getTaskList(id) {
......@@ -198,7 +216,9 @@ export default {
type: 0,
// taskStatus: 1, // 任务状态 0:待审批 1:待执行 2:执行中 3:执行完成 4:审批不通过
callback: (res) => {
this.taskList = res?.records.filter(item => item.status != "已完成");
this.taskList = res?.records.filter(
(item) => item.status != "已完成"
);
this.$nextTick(() => {
if (id) {
this.selectedTaskId = id;
......@@ -245,6 +265,10 @@ export default {
this.$message.warning("请选择航线");
return;
}
let data = this.taskList.filter((item) => item.id == this.selectedTaskId);
if (data && data[0].status == "执行中") {
return this.$message.warning("当前任务执行中");
}
try {
await this.$confirm("请确认是否进行一键任务操作?", "安全确认", {
cancelButtonText: "取消",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论