merge
parent
4db89e8dc5
commit
edf62f525f
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
<!-- 航线库 -->
|
<!-- 航线库 -->
|
||||||
<div v-if="ariLineShow" style="width:566px;position:absolute;top:30px;left:30px;z-index:1;height: calc( 100vh - 164px);overflow-y:hidden;">
|
<div v-if="ariLineShow" style="width:566px;position:absolute;top:30px;left:30px;z-index:1;height: calc( 100vh - 164px);overflow-y:hidden;">
|
||||||
<airLineList :title="'航线管理'" @startEditAirLine="startEditAirLine" @setCurrentFolder="setCurrentFolder" @checkAriLine="checkAriLine" @previewAirLine="previewAirLine" @createAirLine="handlerCreateAirLine"></airLineList>
|
<airLineList :title="'航线管理'" ref="airLineListRef" @startEditAirLine="startEditAirLine" @setCurrentFolder="setCurrentFolder" @checkAriLine="checkAriLine" @previewAirLine="previewAirLine" @createAirLine="handlerCreateAirLine"></airLineList>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 新建航线 -->
|
<!-- 新建航线 -->
|
||||||
|
|
@ -27,9 +27,8 @@
|
||||||
|
|
||||||
<!-- 导入航线 -->
|
<!-- 导入航线 -->
|
||||||
<div v-if="importAirLineShow" style="width:566px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;height: calc( 100vh - 164px);overflow-y:hidden;">
|
<div v-if="importAirLineShow" style="width:566px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;height: calc( 100vh - 164px);overflow-y:hidden;">
|
||||||
<importAirLine @createAirLine="handlerCreateAirLineForm" :currentFolder="currentFolder" @cancle="cancleImportAirLine"></importAirLine>
|
<importAirLine @createAirLine="handlerCreateAirLineForm" :currentFolder="currentFolder" @cancle="cancleImportAirLine" @importSuccess="importSuccess"></importAirLine>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
|
@ -478,6 +477,12 @@ const startEditAirLine = (data,form,type) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const airLineListRef = ref(null);
|
||||||
|
|
||||||
|
const importSuccess = () => {
|
||||||
|
airLineListRef.value.getAirList();
|
||||||
|
importAirLineShow.value = false;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.map-out-container{
|
.map-out-container{
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,9 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="pagenation">
|
||||||
|
<a-pagination v-model:current="pageQuery.page" :total="ariLineCount" show-less-items @change="onPageChange" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -234,7 +237,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { DeleteOutlined,ExclamationCircleOutlined,PlusOutlined,FileAddOutlined,LeftOutlined,ImportOutlined,MoreOutlined,EditOutlined,InboxOutlined } from '@ant-design/icons-vue';
|
import { DeleteOutlined,ExclamationCircleOutlined,PlusOutlined,FileAddOutlined,LeftOutlined,ImportOutlined,MoreOutlined,EditOutlined,InboxOutlined } from '@ant-design/icons-vue';
|
||||||
import {ref,defineEmits,defineProps,createVNode} from 'vue'
|
import {ref,defineEmits,defineProps,createVNode,defineExpose} from 'vue'
|
||||||
|
|
||||||
import { getAirLineList,uploadXmlFile,deleteAirLine,addAirLine,getListAirLineFolder,deleteAirLineFolder,createAirLineFolder, editAirLine} from '@/api/sys/workplan';
|
import { getAirLineList,uploadXmlFile,deleteAirLine,addAirLine,getListAirLineFolder,deleteAirLineFolder,createAirLineFolder, editAirLine} from '@/api/sys/workplan';
|
||||||
import { Modal, message } from 'ant-design-vue';
|
import { Modal, message } from 'ant-design-vue';
|
||||||
|
|
@ -428,12 +431,8 @@
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getFolder();
|
getFolder();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const ariLineList = ref([])
|
const ariLineList = ref([])
|
||||||
const ariLineCount = ref(0);
|
const ariLineCount = ref(0);
|
||||||
|
|
||||||
|
|
@ -454,10 +453,17 @@
|
||||||
ariLineList.value = res.items;
|
ariLineList.value = res.items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getAirList();
|
getAirList();
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
getAirList
|
||||||
|
})
|
||||||
|
|
||||||
|
const onPageChange = (e)=>{
|
||||||
|
pageQuery.value.page = e;
|
||||||
|
getAirList();
|
||||||
|
}
|
||||||
|
|
||||||
// 重置条件
|
// 重置条件
|
||||||
const resetQueryList = () => {
|
const resetQueryList = () => {
|
||||||
pageQuery.value = {
|
pageQuery.value = {
|
||||||
|
|
@ -717,8 +723,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.routers-list .slide-container{
|
.routers-list .slide-container{
|
||||||
padding:30px;
|
padding:0px 30px 0px 30px;
|
||||||
height: calc( 100% - 50px);
|
margin-top:30px;
|
||||||
|
height: calc( 100% - 120px);
|
||||||
overflow-y:auto;
|
overflow-y:auto;
|
||||||
}
|
}
|
||||||
.ari-line{
|
.ari-line{
|
||||||
|
|
@ -1024,4 +1031,29 @@
|
||||||
.tree-node-actions span{
|
.tree-node-actions span{
|
||||||
margin:0px 2px;
|
margin:0px 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep .ant-pagination-item-link{
|
||||||
|
color:#fff!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .ant-pagination .ant-pagination-item a {
|
||||||
|
color:#fff!important;
|
||||||
|
}
|
||||||
|
::v-deep .ant-pagination .ant-pagination-item-active {
|
||||||
|
color:#408eff;
|
||||||
|
background:#313b5b!important;
|
||||||
|
border-color:#313b5b!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
::v-deep .ant-pagination .ant-pagination-item-active a{
|
||||||
|
color:#408eff;
|
||||||
|
background:#313b5b!important;
|
||||||
|
border-color:#313b5b!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagenation{
|
||||||
|
padding:20px 25px 0px 25px;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -420,7 +420,41 @@ if(props.formData){
|
||||||
watch(
|
watch(
|
||||||
()=> props.formData,
|
()=> props.formData,
|
||||||
(newVal,oldVal)=>{
|
(newVal,oldVal)=>{
|
||||||
submitForm.value = newVal;
|
if(newVal){
|
||||||
|
submitForm.value = newVal;
|
||||||
|
}else{
|
||||||
|
submitForm.value = {
|
||||||
|
"id": null,
|
||||||
|
"taskName": null,
|
||||||
|
"taskType": 0,
|
||||||
|
"taskAirLineName": null,
|
||||||
|
"taskDronePortName": null,
|
||||||
|
"taskDronePort": null,
|
||||||
|
"taskAirLine": null,
|
||||||
|
"returnAltitude": 20,
|
||||||
|
"lossOfControlAction": 1,
|
||||||
|
"continuationMode": 0,
|
||||||
|
"aiInspection": null,
|
||||||
|
"status": 0,
|
||||||
|
"periodicFormula": null,
|
||||||
|
"airLineId": null,
|
||||||
|
"createId": 0,
|
||||||
|
"createTime": "",
|
||||||
|
"waylinePrecisionType": 0,
|
||||||
|
"scheduledStartTime": "",
|
||||||
|
"scheduledEndTime": "",
|
||||||
|
"executeTime": "",
|
||||||
|
"completedTime": "",
|
||||||
|
"planExecuteDuration": 0,
|
||||||
|
"actualExecuteDuration": 0,
|
||||||
|
"workspaceId": null,
|
||||||
|
"expectedFileCount": 0,
|
||||||
|
"uploadedFileCount": 0,
|
||||||
|
"flightId": null,
|
||||||
|
"reason": null,
|
||||||
|
"externalTaskId": null,
|
||||||
|
};
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
deep:true
|
deep:true
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
import { getAirLineList,uploadXmlFile,deleteAirLine,addAirLine,getListAirLineFolder,deleteAirLineFolder,createAirLineFolder} from '@/api/sys/workplan';
|
import { getAirLineList,uploadXmlFile,deleteAirLine,addAirLine,getListAirLineFolder,deleteAirLineFolder,createAirLineFolder} from '@/api/sys/workplan';
|
||||||
import { Modal, message } from 'ant-design-vue';
|
import { Modal, message } from 'ant-design-vue';
|
||||||
|
|
||||||
const emit = defineEmits(["checkAriLine","cancle","createAirLine"])
|
const emit = defineEmits(["checkAriLine","cancle","createAirLine","importSuccess"])
|
||||||
|
|
||||||
const props = defineProps(["currentFolder"])
|
const props = defineProps(["currentFolder"])
|
||||||
|
|
||||||
|
|
@ -276,24 +276,25 @@
|
||||||
|
|
||||||
let res = await uploadXmlFile(props.currentFolder,formData);
|
let res = await uploadXmlFile(props.currentFolder,formData);
|
||||||
|
|
||||||
if(res){
|
if(res){
|
||||||
|
|
||||||
submitForm.value.wpml = res.path;
|
submitForm.value.wpml = res.path;
|
||||||
submitForm.value.folder = props.currentFolder
|
submitForm.value.folder = props.currentFolder
|
||||||
|
|
||||||
let addAirLineRes =await addAirLine(submitForm.value);
|
let addAirLineRes =await addAirLine(submitForm.value);
|
||||||
|
|
||||||
if(addAirLineRes){
|
if(addAirLineRes){
|
||||||
fileList.value = [];
|
fileList.value = [];
|
||||||
message.success("操作成功!");
|
message.success("操作成功!");
|
||||||
emit("cancle");
|
emit("cancle");
|
||||||
}else{
|
emit("importSuccess")
|
||||||
message.error("操作失败!");
|
}else{
|
||||||
}
|
message.error("操作失败!");
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
message.error("操作失败!");
|
message.error("操作失败!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
<a href="javascript:;">编辑</a>
|
<a href="javascript:;">编辑</a>
|
||||||
</a-menu-item> -->
|
</a-menu-item> -->
|
||||||
|
|
||||||
<a-menu-item @click="deletePlan(item.id)" v-if="item.status == 0">
|
<a-menu-item @click="deletePlan(item.id)" >
|
||||||
<a href="javascript:;">删除</a>
|
<a href="javascript:;">删除</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pagenation">
|
<div class="pagenation">
|
||||||
<a-pagination v-model:current="pageQuery.page" :total="lineListTotal" :defaultPageSize="10" show-less-items @change="onPageChange" />
|
<a-pagination size="small" v-model:current="pageQuery.page" v-model:page-size="pageQuery.limit" :total="lineListTotal" :defaultPageSize="10" show-less-items @change="onPageChange" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -89,7 +89,7 @@
|
||||||
import {ref,defineEmits,defineProps,createVNode,watch,defineExpose } from 'vue'
|
import {ref,defineEmits,defineProps,createVNode,watch,defineExpose } from 'vue'
|
||||||
import { Modal, message } from 'ant-design-vue';
|
import { Modal, message } from 'ant-design-vue';
|
||||||
import { getTaskPageList, deleteTask,executeFlyTask,pendingFlyTask } from '@/api/sys/workplan';
|
import { getTaskPageList, deleteTask,executeFlyTask,pendingFlyTask } from '@/api/sys/workplan';
|
||||||
import { statusOptions } from '@/components/illegalmining/util';
|
import { statusOptions } from '@/components/illegalmining/util';
|
||||||
|
|
||||||
const emit = defineEmits(["planDetail","createWorkPlan"])
|
const emit = defineEmits(["planDetail","createWorkPlan"])
|
||||||
|
|
||||||
|
|
@ -399,6 +399,15 @@ import { statusOptions } from '@/components/illegalmining/util';
|
||||||
padding:10px 15px;
|
padding:10px 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep .ant-pagination-item-ellipsis{
|
||||||
|
border:none!important;
|
||||||
|
color:#fff!important;
|
||||||
|
background: linear-gradient( 101deg, #3F4B71 0%, #1F2840 100%)!important ;
|
||||||
|
border-radius: 3px!important;
|
||||||
|
border-top-left-radius: 15px!important;
|
||||||
|
border-bottom-left-radius: 15px!important;
|
||||||
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selector{
|
::v-deep .ant-select-selector{
|
||||||
border:none!important;
|
border:none!important;
|
||||||
color:#fff!important;
|
color:#fff!important;
|
||||||
|
|
|
||||||
|
|
@ -168,14 +168,11 @@ const formData = ref(null);
|
||||||
|
|
||||||
const toCreateWorkPlan = (data)=> {
|
const toCreateWorkPlan = (data)=> {
|
||||||
formData.value = data;
|
formData.value = data;
|
||||||
// planListShow.value = false;
|
|
||||||
workPlanFormShow.value = true;
|
workPlanFormShow.value = true;
|
||||||
if(data){
|
if(data){
|
||||||
workPlanStatus.value = "edit"
|
workPlanStatus.value = "edit"
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
workPlanStatus.value = "create"
|
workPlanStatus.value = "create"
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -236,12 +233,13 @@ const startEditAirLine = (formData,airLineInfo) => {
|
||||||
console.log("formData123",formData,airLineInfo);
|
console.log("formData123",formData,airLineInfo);
|
||||||
}
|
}
|
||||||
const workPlanStatus = ref("");
|
const workPlanStatus = ref("");
|
||||||
|
|
||||||
// 查看航线详情
|
// 查看航线详情
|
||||||
const planDetail =async (item) => {
|
const planDetail =async (item) => {
|
||||||
formData.value = item;
|
formData.value = item;
|
||||||
let info =await getAirLine({airLineId : formData.value?.airLineId});
|
let info =await getAirLine({airLineId : formData.value?.airLineId});
|
||||||
|
|
||||||
if(info){
|
if(info){
|
||||||
// wayline.value = line;
|
|
||||||
waylineInfo.value = info;
|
waylineInfo.value = info;
|
||||||
wayline.value = await airLineDetail(info);
|
wayline.value = await airLineDetail(info);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue