main
徐景良 2 months ago
parent b6932a9425
commit 7e528995ed

@ -122,7 +122,7 @@
"mapbox-gl-utils": "^0.44.0",
"mars3d": "file:packages/mars3d",
"mars3d-cesium": "^1.130.0",
"mars3d-space": "^3.7.0",
"mars3d-space": "^3.9.11",
"min-dash": "^4.2.1",
"mockjs": "^1.1.0",
"mqtt": "^5.13.1",

@ -48,9 +48,12 @@
<script lang="ts" setup>
import { PlusOutlined,FileAddOutlined,LeftOutlined,ImportOutlined,MoreOutlined,EditOutlined } from '@ant-design/icons-vue';
import {ref,defineEmits} from 'vue'
import {ref,defineEmits,defineProps} from 'vue'
import { getUavPageList,getPortList } from '@/api/sys/workplan';
const props = defineProps(['workspaceId'])
const emit = defineEmits(["checkAriLine","closeAirCraft"])
const checkAriLine = (item)=> {
@ -67,6 +70,7 @@
page:1,
limit:10,
key:null,
workspaceId:props.workspaceId,
})
const getList = async ()=>{

@ -268,7 +268,7 @@
</a-form-item>
</div>
<div class="group-container">
<div class="group-container" v-if="props.workPlanStatus != 'create'">
<div style="display: flex; color: #fff; font-size: 12px; padding: 20px 0px">
<div style="flex:1;">
飞行记录
@ -308,7 +308,7 @@
<a-button @click="resetForm" style="width: 100%">取消</a-button>
</div>
<div v-if="submitForm.status == 0">
<div v-if="props.workPlanStatus == 'create'">
<a-button
style="width: 100%"
type="primary"
@ -326,12 +326,14 @@
</div>
<div class="flight-record-container" v-if="modelOpen">
<div class="flight-record-container" v-if="modelOpen" v-drag>
<div class="close-button" @click="modelOpen = false;">
<CloseOutlined />
</div>
<flightRecord :taskId="submitForm.id"></flightRecord>
</div>
</template>
<script lang="ts" setup>
import { ref, defineEmits, defineProps, watch, onMounted,createVNode } from 'vue';
@ -345,13 +347,11 @@
import { useRoute, useRouter } from 'vue-router';
import { EventBus } from '@/utils/eventBus';
import flightRecord from './flightRecord.vue';
const patrol = ref();
const router = useRoute();
const routerer = useRouter();
const paramValue = router.query.taskid;
import { vDrag } from '@/utils/drag';
const formRef = ref();
const labelCol = { span: 24 };
const wrapperCol = { span: 24 };
@ -448,6 +448,7 @@
if (res) {
submitForm.value.workspaceId = res[0].Id;
props.formData.workspaceId = res[0].Id;
}
};
@ -1114,7 +1115,7 @@
.flight-record-container{
width:800px;
height:605px;
height:510px;
position:fixed;
top:50%;
left:50%;
@ -1130,7 +1131,7 @@
width:40px;
height:40px;
position: absolute;
top:30px;
top:24px;
right:0px;
font-size:18px;
color:#fff;

@ -1,9 +1,30 @@
<template>
<div style="width:100%;">
<div class="header-container">
<div class="switch-button-container">
<div class="switch-button" @click="prevMonth">
<LeftOutlined />
</div>
<div class="switch-button" @click="nextMonth">
<RightOutlined />
</div>
<div class="switch-button" style="flex:auto;" @click="goToday">
今天
</div>
</div>
<div class="current-month">
{{ formatMonthYear() }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</div>
</div>
<a-calendar
v-model:value="value"
@panelChange="panelChange"
:header-render="customHeader"
size="small"
fullscreen="false"
>
@ -23,9 +44,12 @@
</template>
<script lang="ts" setup>
import { ref,onMounted,defineProps,watch} from 'vue';
import { Dayjs } from 'dayjs';
import { LeftOutlined,RightOutlined } from '@ant-design/icons-vue'
import dayjs,{ Dayjs } from 'dayjs';
import { getTaskHistoryList } from '@/api/sys/workplan';
const value = ref<Dayjs>();
const value = ref<Dayjs>(dayjs());
console.log("formatMonthYear",value.value);
const props = defineProps(["taskId"])
@ -40,6 +64,11 @@ onMounted(()=>{
}
})
const customHeader = ({ value, onChange, type, onTypeChange }) => {
// null
//
return null;
}
const panelChange = (e)=>{
@ -142,6 +171,31 @@ const dateFullCellRender = (date) => {
])
const prevMonth = ()=> {
value.value = value.value.subtract(1, 'month')
panelChange(value.value);
}
const nextMonth = ()=> {
value.value = value.value.add(1, 'month')
panelChange(value.value);
}
const formatMonthYear = ()=> {
return `${value.value.year()}${value.value.month() + 1}`;
}
function goToday() {
value.value = dayjs()
panelChange(value.value);
}
</script>
<style scoped>
::v-deep .ant-picker-calendar-date-content{
@ -195,7 +249,7 @@ const dateFullCellRender = (date) => {
::v-deep .ant-picker-calendar.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td{
border: 1px solid rgba(255,255,255,0.1);
padding:5px 0px;
padding:0px 0px;
}
.mark{
@ -209,7 +263,42 @@ const dateFullCellRender = (date) => {
display:none!important;
}
::v-deep .ant-picker-calendar.ant-picker-calendar-full .ant-picker-calendar-date-value{
line-height:16px!important;
color:#ccc;
}
::v-deep .ant-picker-calendar .ant-picker-calendar-header{
justify-content:flex-start;
}
::v-deep .header-container{
display: flex;
}
::v-deep .current-month{
flex:auto;
color:#fff;
font-size:14px;
line-height:30px;
text-align: center;
}
::v-deep .switch-button-container{
width:150px;
height:30px;
gap:10px;
color:#fff;
display:flex;
margin-bottom:12px;
}
::v-deep .switch-button{
padding:0px 10px;
background:#364167;
text-align: center;
line-height:30px;
cursor:pointer;
}
</style>

@ -2080,8 +2080,8 @@
topSteps: 2,
flat: true,
cameraHpr: true,
heading: e.aircraftHorizontalAngle - 90, //
pitch: e.cameraVerticalAngle - 90, // 0 - 360
heading: e.aircraftHorizontalAngle, //
pitch: e.cameraVerticalAngle, // 0 - 360
roll: 0,
},
});
@ -2100,8 +2100,8 @@
topShow: true,
topSteps: 2,
cameraHpr: true,
heading: e.aircraftHorizontalAngle - 90,
pitch: e.cameraVerticalAngle - 90, // 0 - 360
heading: e.aircraftHorizontalAngle,
pitch: e.cameraVerticalAngle, // 0 - 360
roll: 0,
},
});

@ -36,7 +36,7 @@
<div class="routers-container">
<div class="routers-list">
<div class="ari-line" v-for="(item,index) in ariLineList" :key="index">
<div class="ari-line" v-for="(item,index) in ariLineList" :key="index" @click="checkAriLine(item)">
<div class="title">
<a-tooltip placement="top">
@ -81,10 +81,10 @@
<div class="air-line-desc">
<div class="fly-info">
<div class="username"><UserOutlined />&nbsp;{{item.createUserName ? item.createUserName : '超级管理员'}}</div>
<div class="time">更新时间{{item.createTime}}</div>
<div class="time">更新时间{{item.completedTime ? item.completedTime : item.createTime}}</div>
</div>
<div class="fly-count">
<div class="fly-count-value">{{item.flyNumber}}</div>
<div class="fly-count-value">{{item.flyNumber ? item.flyNumber : '0'}}</div>
<div class="fly-count-label">飞行次数</div>
</div>
</div>

@ -57,7 +57,7 @@
<!-- 设备 -->
<div v-if="aircraftShow" style="width:340px;height: calc( 100vh - 144px);flex:1;">
<aircraft @checkAriLine="checkDronePort" @closeAirCraft="closeAirCraft" ></aircraft>
<aircraft @checkAriLine="checkDronePort" @closeAirCraft="closeAirCraft" :workspaceId="formData.workspaceId"></aircraft>
</div>
</div>
@ -343,7 +343,6 @@ const workPlanStatus = ref("");
// 线
const planDetail =async (item) => {
cancleCraete();
formData.value = item;
let info =await getAirLine({airLineId : formData.value?.airLineId});
if(info){
@ -496,6 +495,7 @@ const createAirLineAndPlan = (blob,info) => {
// 线
airLineForm.wpml = fileRes.path;
let addAirLineResult = addAirLine(airLineForm);
addAirLineResult.then(addAirLineRes=>{

Loading…
Cancel
Save