提交 c5cb10c2 作者: 温凯

style:打开运行日志时,飞行计划弹框需释放隐藏

上级 711b8c85
...@@ -6,10 +6,19 @@ ...@@ -6,10 +6,19 @@
</div> </div>
<div class="dialog-content"> <div class="dialog-content">
<el-form ref="form" :model="form" :rules="rules" label-width="90px"> <el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-date-picker v-model="form.time" :type="task.taskType == 1 ? 'datetime' : 'datetimerange'" <el-date-picker
range-separator="至" start-placeholder="请选择任务开始时间" end-placeholder="请选择任务结束时间" placeholder="选择日期时间" size="mini" v-model="form.time"
popper-class="mmc" value-format="yyyy-MM-dd HH:mm:ss" :picker-options="pickerOptions" :type="task.taskType == 1 ? 'datetime' : 'datetimerange'"
style="margin-bottom: 24px; width: 100%;"></el-date-picker> range-separator="至"
start-placeholder="请选择任务开始时间"
end-placeholder="请选择任务结束时间"
placeholder="选择日期时间"
size="mini"
popper-class="mmc"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions"
style="margin-bottom: 24px; width: 100%"
></el-date-picker>
<el-form-item label="任务库:" prop="taskId"> <el-form-item label="任务库:" prop="taskId">
{{ task.name }} {{ task.name }}
</el-form-item> </el-form-item>
...@@ -18,9 +27,21 @@ ...@@ -18,9 +27,21 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="task-add-btn"> <div class="task-add-btn">
<el-button type="danger" size="medium" class="btn btn--cancel" @click="close">取消</el-button> <el-button
<el-button type="primary" size="medium" :loading="confirmLoading" class="btn btn--ok" type="danger"
@click="onConfirm">确认</el-button> size="medium"
class="btn btn--cancel"
@click="close"
>取消</el-button
>
<el-button
type="primary"
size="medium"
:loading="confirmLoading"
class="btn btn--ok"
@click="onConfirm"
>确认</el-button
>
</div> </div>
</div> </div>
</div> </div>
...@@ -29,7 +50,7 @@ ...@@ -29,7 +50,7 @@
<script> <script>
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import { Control_API } from "../../../../../../../../../../../../api"; import { Control_API } from "../../../../../../../../../../../../api";
import Moment from 'moment'; import Moment from "moment";
export default { export default {
name: "TaskAdd", name: "TaskAdd",
...@@ -38,17 +59,16 @@ export default { ...@@ -38,17 +59,16 @@ export default {
task: { task: {
type: Object, type: Object,
default() { default() {
return {} return {};
} },
} },
}, },
data() { data() {
return { return {
form: { form: {
time: [], time: [],
}, },
rules: { rules: {},
},
pickerOptions: { pickerOptions: {
disabledDate: (time) => { disabledDate: (time) => {
// 日期选择限制 // 日期选择限制
...@@ -58,28 +78,29 @@ export default { ...@@ -58,28 +78,29 @@ export default {
confirmLoading: false, confirmLoading: false,
}; };
}, },
computed: { computed: {},
}, watch: {},
watch: {
},
async mounted() { async mounted() {
if (this.task.taskType == 1) { if (this.task.taskType == 1) {
if (this.task.taskStartTime == '/') { if (this.task.taskStartTime == "/") {
this.form.time = null this.form.time = null;
} else if (this.task.taskStartTime) { } else if (this.task.taskStartTime) {
// 定时 // 定时
this.form.time = Moment(this.task.taskStartTime).format('YYYY-MM-DD HH:mm:ss'); this.form.time = Moment(this.task.taskStartTime).format(
"YYYY-MM-DD HH:mm:ss"
);
} }
} else { } else {
if (this.task.taskStartTime == '/' || this.task.taskEndTime == '/') { if (this.task.taskStartTime == "/" || this.task.taskEndTime == "/") {
this.form.time = null this.form.time = null;
} else if (this.task.taskStartTime && this.task.taskEndTime) { } else if (this.task.taskStartTime && this.task.taskEndTime) {
// 周期 // 周期
this.form.time = [Moment(this.task.taskStartTime).format('YYYY-MM-DD HH:mm:ss'), Moment(this.task.taskEndTime).format('YYYY-MM-DD HH:mm:ss')]; this.form.time = [
Moment(this.task.taskStartTime).format("YYYY-MM-DD HH:mm:ss"),
Moment(this.task.taskEndTime).format("YYYY-MM-DD HH:mm:ss"),
];
} }
} }
}, },
methods: { methods: {
/** /**
...@@ -88,11 +109,11 @@ export default { ...@@ -88,11 +109,11 @@ export default {
onConfirm() { onConfirm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
let params = { let params = {
id: this.task.id id: this.task.id,
} };
if (this.task.taskType == 1) { if (this.task.taskType == 1) {
params.taskStartTime = Moment(this.form.time).valueOf(); params.taskStartTime = Moment(this.form.time).valueOf();
params.taskEndTime = null params.taskEndTime = null;
} else { } else {
params.taskStartTime = Moment(this.form.time[0]).valueOf(); params.taskStartTime = Moment(this.form.time[0]).valueOf();
params.taskEndTime = Moment(this.form.time[1]).valueOf(); params.taskEndTime = Moment(this.form.time[1]).valueOf();
...@@ -106,8 +127,8 @@ export default { ...@@ -106,8 +127,8 @@ export default {
console.log("taskInfoUpdateTime res", res); console.log("taskInfoUpdateTime res", res);
this.confirmLoading = false; this.confirmLoading = false;
if (res.code === 0) { if (res.code === 0) {
this.$message.success('更改时间完成'); this.$message.success("更改时间完成");
this.$emit('close'); this.$emit("close");
} else { } else {
this.$message.warning(res.error.msg); this.$message.warning(res.error.msg);
} }
...@@ -119,8 +140,8 @@ export default { ...@@ -119,8 +140,8 @@ export default {
}); });
}, },
close() { close() {
this.$emit('close'); this.$emit("close");
} },
}, },
}; };
</script> </script>
...@@ -130,10 +151,10 @@ export default { ...@@ -130,10 +151,10 @@ export default {
width: 526px; width: 526px;
height: 268px; height: 268px;
background: #222; background: #222;
// border: 1px solid #70daf9; position: fixed;
position: absolute; top:25%;
top: -5px; left: 50%; /* 水平居中 */
left: 550px; transform: translate(-50%, -25%); /* 使用 transform 进行精确居中 */
z-index: 1; z-index: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
...@@ -176,7 +197,7 @@ export default { ...@@ -176,7 +197,7 @@ export default {
font-size: 14px; font-size: 14px;
&.btn--cancel { &.btn--cancel {
color: #FF4040; color: #ff4040;
border: 1px #ff4040 solid; border: 1px #ff4040 solid;
background-color: transparent; background-color: transparent;
} }
...@@ -206,6 +227,5 @@ export default { ...@@ -206,6 +227,5 @@ export default {
.el-form-item__label { .el-form-item__label {
line-height: $height; line-height: $height;
} }
} }
</style> </style>
\ No newline at end of file
<template> <template>
<div class="task-add dialog1027" v-interact> <div class="task-add dialog1027" v-interact>
<div class="task-add-header dialog-header"> <div class="task-add-header dialog-header">
<img class="dialog-header__icon" src="../../../../../../assets/images/mount_head.png" /> <img
class="dialog-header__icon"
src="../../../../../../assets/images/mount_head.png"
/>
<div class="header__title dialog-header__title">飞行计划</div> <div class="header__title dialog-header__title">飞行计划</div>
<div class="header-right dialog-header__close"> <div class="header-right dialog-header__close">
<el-select placeholder="请选择任务场景" v-model="selectedTask" class="select" popper-class="mmc"> <el-select
<el-option v-for="item in taskList" :label="item.name" :value="item.id"></el-option> placeholder="请选择任务场景"
v-model="selectedTask"
class="select"
popper-class="mmc"
>
<el-option
v-for="item in taskList"
:label="item.name"
:value="item.id"
></el-option>
</el-select> </el-select>
<div class="header-right__close" @click="$emit('close')">关闭</div> <div class="header-right__close" @click="$emit('close')">关闭</div>
</div> </div>
...@@ -22,7 +34,7 @@ ...@@ -22,7 +34,7 @@
<div class="timed-task-main"> <div class="timed-task-main">
<div <div
class="row" class="row"
:class="{single: i % 2 != 0}" :class="{ single: i % 2 != 0 }"
v-for="(item, i) in flightPlan" v-for="(item, i) in flightPlan"
:key="item.id" :key="item.id"
> >
...@@ -33,25 +45,44 @@ ...@@ -33,25 +45,44 @@
:content="item.putStartTime" :content="item.putStartTime"
placement="top-start" placement="top-start"
> >
<span>{{item.putStartTime}}</span> <span>{{ item.putStartTime }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="row__column flex2"> <div class="row__column flex2">
<el-tooltip class="item" effect="dark" :content="item.reouteName" placement="top-start"> <el-tooltip
<span>{{item.reouteName}}</span> class="item"
effect="dark"
:content="item.reouteName"
placement="top-start"
>
<span>{{ item.reouteName }}</span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="row__column flex2"> <div class="row__column flex2">
<el-tooltip class="item" effect="dark" :content="item.status" placement="top-start"> <el-tooltip
<span v-if="item.abnormal==1|| item.abnormal==0">{{ abnormalType[item.abnormal] }}</span> class="item"
<span v-else> effect="dark"
暂无 :content="item.status"
</span> placement="top-start"
>
<span v-if="item.abnormal == 1 || item.abnormal == 0">{{
abnormalType[item.abnormal]
}}</span>
<span v-else> 暂无 </span>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="row__column flex2"> <div class="row__column flex2">
<el-tooltip class="item" effect="dark" :content="item.abnormalName" placement="top-start"> <el-tooltip
<span style="color:red" v-if="item.abnormal==2 ||item.abnormal<0">{{item.abnormalName}}</span> class="item"
effect="dark"
:content="item.abnormalName"
placement="top-start"
>
<span
style="color: red"
v-if="item.abnormal == 2 || item.abnormal < 0"
>{{ item.abnormalName }}</span
>
<span v-else>暂无</span> <span v-else>暂无</span>
</el-tooltip> </el-tooltip>
</div> </div>
...@@ -91,9 +122,9 @@ export default { ...@@ -91,9 +122,9 @@ export default {
}, },
data() { data() {
return { return {
abnormalType:{ abnormalType: {
0:'完成', 0: "完成",
1:'待执行', 1: "待执行",
}, },
flightPlan: [ flightPlan: [
/* { /* {
...@@ -179,10 +210,13 @@ export default { ...@@ -179,10 +210,13 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.task-add::v-deep { .task-add::v-deep {
height: 232px; min-height: 232px;
position: absolute; position: fixed;
top: -5px; top: 20%; /* 设置为 0 */
left: 550px; left: 0; /* 设置为 0 */
right: 0; /* 设置为 0 */
bottom: 0; /* 设置为 0 */
margin: auto; /* 自动边距实现居中 */
width: 660px; width: 660px;
z-index: 1; z-index: 1;
display: flex; display: flex;
...@@ -240,7 +274,7 @@ export default { ...@@ -240,7 +274,7 @@ export default {
} }
.stl-timed-task { .stl-timed-task {
height: 0; height: 340px;
flex-grow: 1; flex-grow: 1;
} }
...@@ -271,4 +305,4 @@ export default { ...@@ -271,4 +305,4 @@ export default {
align-items: center; align-items: center;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -6,20 +6,53 @@ ...@@ -6,20 +6,53 @@
<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 class="timed-task-main" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)"> <div
<div class="row" :class="{ single: i % 2 != 0 }" v-for="(item, i) in taskListAll" :key="item.id"> class="timed-task-main"
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 class="item" effect="dark" :content="item.name" placement="top-start"> <el-tooltip
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 class="item" effect="dark" :content="item.taskStartTime" placement="top-start"> <el-tooltip class="item" effect="dark" placement="top-start">
<span class="f9">{{ item.taskStartTime }}</span> <template #content>
<div>
{{ item.taskStartTime }}
<div v-if="type == 2">
{{ item.taskEndTime }}
</div>
</div>
</template>
<div v-if="type == 2" class="f9">
<div>
{{ item.taskStartTime }}
</div>
{{ item.taskEndTime }}
</div>
<span class="f9" v-else>{{ 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 class="item" effect="dark" :content="item.status" placement="top-start"> <el-tooltip
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>
...@@ -31,14 +64,21 @@ ...@@ -31,14 +64,21 @@
<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 class="el-icon-edit" @click="onOpenEdit(item)" v-if="item.status !== '执行中' && item.status !== '已完成'"></i> <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" <i
@click="onDelAirway(item)"></i> v-if="item.status !== '执行中' && item.status !== '已完成'"
class="el-icon-delete"
@click="onDelAirway(item)"
></i>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
...@@ -47,9 +87,18 @@ ...@@ -47,9 +87,18 @@
<div class="task-add__btn" @click="showFlightPlan = true">创建定时任务</div> <div class="task-add__btn" @click="showFlightPlan = true">创建定时任务</div>
</div>--> </div>-->
<FlightPlan v-if="showFlightPlan" :taskId="selectedTask.id" :taskList="taskListAll" @close="showFlightPlan = false"> <FlightPlan
v-if="showFlightPlan"
:taskId="selectedTask.id"
:taskList="taskListAll"
@close="showFlightPlan = false"
>
</FlightPlan> </FlightPlan>
<FlightEdit v-if="showFlightEdit" :task="selectedTask" @close="showFlightEdit = false"></FlightEdit> <FlightEdit
v-if="showFlightEdit"
:task="selectedTask"
@close="showFlightEdit = false"
></FlightEdit>
</div> </div>
</template> </template>
...@@ -107,21 +156,21 @@ export default { ...@@ -107,21 +156,21 @@ export default {
showFlightEdit: { showFlightEdit: {
handler(val) { handler(val) {
if (!val && !this.showFlightPlan) { if (!val && !this.showFlightPlan) {
this.changeflyLogStatus(false) this.changeflyLogStatus(false);
}else{ } else {
this.changeflyLogStatus(true) this.changeflyLogStatus(true);
} }
} },
}, },
showFlightPlan: { showFlightPlan: {
handler(val) { handler(val) {
if (!val&&!this.showFlightEdit) { if (!val && !this.showFlightEdit) {
this.changeflyLogStatus(false) this.changeflyLogStatus(false);
} else { } else {
this.changeflyLogStatus(true) this.changeflyLogStatus(true);
} }
} },
} },
}, },
created() { created() {
this.timeHandle = setInterval(() => { this.timeHandle = setInterval(() => {
...@@ -285,10 +334,9 @@ export default { ...@@ -285,10 +334,9 @@ export default {
.row { .row {
display: flex; display: flex;
color: #fff; color: #fff;
$height: 52px; min-height: 52px;
height: $height;
background-color: #222222; background-color: #222222;
line-height: $height; align-items: center;
gap: 3px; gap: 3px;
&.single { &.single {
......
<template> <template>
<div class="cpt-nest-logger dialog1027" :class="{ chang: dakai == true, }" v-interact> <div
class="cpt-nest-logger dialog1027"
:class="{ chang: dakai == true }"
v-interact
>
<div class="title-box dialog-header"> <div class="title-box dialog-header">
<div class="title"> <div class="title">
<img src="../../../../../../../../assets/images/mount_head.png" /> <img src="../../../../../../../../assets/images/mount_head.png" />
<div class="dialog-header__title">运行监控日志</div> <div class="dialog-header__title">运行监控日志</div>
<div effect="dark" class="status">{{ getProcessStatus(hangarRealTimeData.processStatus) }}</div> <div effect="dark" class="status">
{{ getProcessStatus(hangarRealTimeData.processStatus) }}
</div>
</div> </div>
<div style="display: flex"> <div style="display: flex">
<div class="icon-box" @click="onClear"> <div class="icon-box" @click="onClear">
...@@ -45,9 +51,16 @@ ...@@ -45,9 +51,16 @@
<div class="time">时间</div> <div class="time">时间</div>
</div> </div>
<div class="list-box mt7"> <div class="list-box mt7">
<div class="item-box" v-for="(item, index) in hangarMsgList" :key="index"> <div
class="item-box"
v-for="(item, index) in hangarMsgList"
:key="index"
>
<div class="text-box"> <div class="text-box">
<div class="type-box" :class="{ emerg: item.type == 1, ordinary: item.type == 8 }"> <div
class="type-box"
:class="{ emerg: item.type == 1, ordinary: item.type == 8 }"
>
<span class="type" v-if="item.type == 1">紧急</span> <span class="type" v-if="item.type == 1">紧急</span>
<span class="type" v-else-if="item.type == 8">普通</span> <span class="type" v-else-if="item.type == 8">普通</span>
<span class="type" v-else>AUTO</span> <span class="type" v-else>AUTO</span>
...@@ -288,8 +301,9 @@ export default { ...@@ -288,8 +301,9 @@ export default {
position: fixed; position: fixed;
width: 670px; width: 670px;
height: 143px; height: 143px;
top: 21%; top: 20%;
left: 32%; left: 50%; /* 水平居中 */
transform: translate(-50%); /* 使用 transform 进行精确居中 */
display: flex; display: flex;
// overflow-y: auto; // overflow-y: auto;
background: rgba(9, 32, 87, 0.7); background: rgba(9, 32, 87, 0.7);
......
...@@ -263,8 +263,4 @@ export default { ...@@ -263,8 +263,4 @@ export default {
} }
} }
.logger {
position: absolute;
left: -1200px;
}
</style> </style>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论