刘妍 1 month ago
commit 1835cf73e4

@ -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,11 +431,7 @@
return data; return data;
} }
getFolder(); getFolder();
const ariLineList = ref([]) const ariLineList = ref([])
const ariLineCount = ref(0); const ariLineCount = ref(0);
@ -453,11 +452,18 @@
ariLineCount.value = res.total; ariLineCount.value = res.total;
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{
message.error("操作失败!"); }else{
} 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…
Cancel
Save