提交 b36d5e12 作者: 翁进城

fix: 1. 去除智能识别

2. 创建航线改为本地创建
3. 周期任务标题名修正
上级 b286abd3
export { default as Control_API } from './modules/uav_control'; export { default as Control_API } from './modules/uav_control';
export { default as flightTaskAPI } from './modules/flightTask'; export { default as AirLine } from './modules/airLine';
export { default as AirLine } from './modules/air-line';
export { default as Map } from './modules/map'; export { default as Map } from './modules/map';
export { default as AI_API} from './modules/ai'; export { default as AI_API} from './modules/ai';
export { default as ViewLibrary } from './modules/viewLibrary'; export { default as ViewLibrary } from './modules/viewLibrary';
......
import request from "../request";
class AirLine {
/**
* 航线列表
* @param {*} params
* @returns
*/
static lineList(params) {
return request({
url: "/dms/route/page",
method: "get",
params,
});
}
/**
* 航线规划
* @param {*} data
* @returns
*/
static Edit(data) {
return request({
url: "/dms/route/add",
method: "post",
data,
});
}
static routeDelete(id) {
return request({
url: `/dms/route/delete/${id}`,
method: "delete",
});
}
/**
* 航线修改
* @param {*} data
* @returns
*/
static Change(data) {
return request({
url: "/dms/route/update",
method: "put",
data,
});
}
/**
* 航线详情
* @param {*} data
* @returns
*/
static details(params) {
return request({
url: `/tmj/route/getRouteDetail/${params}`,
method: "get",
params,
});
}
/**
* 上传航线
* @param {*} data
* @returns
*/
static upload(data) {
return request({
headers: {
"Content-Type": "multipart/form-data",
},
url: "/dms/route/upload",
method: "post",
data,
});
}
/**
* 上传航线
* @param {*} data
* @returns
*/
static uploadFile(data) {
return request({
headers: {
"Content-Type": "multipart/form-data",
},
url: "/crm/dimensionMark/uploadFile",
method: "post",
data,
});
}
/**
* 上传多条航线
* @param {*} data
* @returns
*/
static uploadRoutes(data) {
return request({
headers: {
"Content-Type": "multipart/form-data",
},
url: "/dms/route/upload",
method: "post",
data,
});
}
/**
* 航线删除
* @param {*} data
* @returns
*/
static deleteRoute(params) {
return request({
url: `/dms/route/delete/${params}`,
method: "delete",
});
}
/**
* 航线详情
* @param {*} params
* @returns
*/
static routeDetail(params) {
return request({
url: "/admin-api/uas/flight-line/get",
method: "get",
params,
}).then(async (res) => {
let content = await window.$mmc.$store.dispatch("MMCFlightControlCenter/apiPointsToFKZXPoints", {
list: res.data.linePointRespVOS,
actionListKey: "pointActionRespVOS",
});
res.data = {
id: res.data.id,
name: res.data.flightName,
organizationName: "无",
status: "可用", //空域状态
safe: res.data.safe ? 1 : 0, // 安全状态1: 安全 , 0: 待确定,
labelName: "无",
//航线数据
content,
};
return res;
});
}
/**
* 飞行日志
* @param {*} params
* @returns
*/
static getSorties(params) {
return request({
url: "/dms/route/id",
method: "get",
params,
});
}
/**
* 飞行日志-历史视频
* @param {*} params
* @returns
*/
static getSortiesHistoryVideo(params) {
return request({
url: "/dms/sortie/history-video",
method: "get",
params,
});
}
/**
* 飞行日志-架次-历史轨迹
* @param {*} params
* @returns
*/
static getSortiesTrajectory(params) {
return request({
url: "/dms/sortie/data",
method: "get",
params,
});
}
}
export default AirLine;
import request from "../request";
// 创建视图数据
export default class AirLine {
/**
* 添加航线
* @param {*} data
* @returns
*/
static add(data) {
return request({
url: '/admin-api/uas/flight-line/create',
method: "post",
data
});
}
}
import request from '../request';
class flightTaskAPI {
/**
* 飞行任务列表 1
* @param {*} data
* @returns
*/
static getFlightList(data) {
return request({
url: `/tmj/task/getTaskList`,
method: 'post',
data
});
}
/**
* 飞行任务列表 3 期
* @param {*} data
* @returns
*/
static tssTaskPage(data) {
return request({
url: `/tss/task/web/page`,
method: 'post',
data
});
}
/**
* 流程选择 3 期
* @param {*} projectId
* @returns
*/
static processProcessBoxProjectId(projectId) {
return request({
url: `/tss/process/processBox/${projectId}`,
method: 'get'
});
}
/**
* 创建飞行任务 3 期
* @param {*} data
* @returns
*/
static tssTask(data) {
return request({
url: `/tss/task`,
method: 'POST',
data
});
}
// 编辑航线 3 期修改航线
static editFlight(data) {
return request({
url: `/tss/task`,
method: 'put',
data
});
}
static reCreateTask(data) {
return request({
url: `/tss/task/reCreate`,
method: 'post',
data
});
}
// 获取无人机列表
static getUav(params) {
return request({
url: `/tmj/device/getDeviceSelect`,
method: 'get',
params
});
}
// 获取无任务无人机列表
static getUnbindUav(params) {
return request({
url: `/tmj/device/getDeviceSelect`,
method: 'get',
params
});
}
// 飞行任务创建任务获取无人机列表
static getUavflyList(params) {
return request({
url: `/dms/uav/page`,
method: 'get',
params
});
}
// 获取组织列表
static getCompany(data) {
return request({
url: `/crm/organization/getOrganizationSelect`,
method: 'get',
data
});
}
// 获取航线
static getflight(data) {
return request({
url: `/tmj/route/getRouteSelect`,
method: 'get',
data
});
}
// 新增航线
static createTask(data) {
return request({
url: `/tmj/task/createTask`,
method: 'post',
data
});
}
/**
* 新增航线
* @param {*} data
* @returns
*/
static addFlight(data) {
return request({
url: '/dms/route/add',
method: 'post',
data
});
}
// 编辑航线
static changeFlight(data) {
return request({
url: `/dms/route/update`,
method: 'put',
data
});
}
// 设备在线状态
static getDeviceOnlineState(data) {
return request({
url: `/tmj/device/deviceIsOnline`,
method: 'post',
data
});
}
// 设备任务状态
static isDeviceHaveTask(data) {
return request({
url: `/tmj/device/deviceHaveTask`,
method: 'post',
data
});
}
// 获取单个无人机数据最后一次上传
static deviceData(data) {
const formData = new FormData();
Object.keys(data).forEach((key) => {
formData.append(key, data[key]);
});
return request({
url: `/tmj/device/deviceData`,
method: 'post',
data: formData
});
}
// 任务列表
static getTaskSelect(data) {
return request({
url: `/tmj/task/getTaskSelect`,
method: 'get',
data
});
}
// 任务开始
static taskStart(params) {
return request({
url: `/tmj/task/startTask`,
method: 'get',
params
});
}
// 任务完成
static taskEnd(params) {
return request({
url: `/tmj/task/endTask`,
method: 'get',
params
});
}
// 图片查询
static getTaskImages(params) {
return request({
url: `/tmj/task/getPhotograph`,
method: 'get',
params
});
}
// 保存图片
static savaTaskImages(data) {
return request({
// headers: {
// "Content-Type": "multipart/form-data",
// },
url: `/tmj/task/photograph`,
method: 'post',
data
});
}
// 导出报告
static getExportToWord(params) {
return request({
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
responseType: 'blob',
url: `/tmj/taskPointExportToWordV1`,
method: 'GET',
params
});
}
// 开始任务
static startTask(params) {
return request({
url: '/tmj/task/startTask',
method: 'GET',
params
});
}
// 删除任务
static deleteTask(data) {
return request({
url: `/tss/task/${data}`,
method: 'DELETE'
});
}
// 审批任务
static approveTask(data) {
return request({
url: `/tss/task/approve`,
method: 'post',
data
});
}
}
export default flightTaskAPI;
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<el-form-item label="预计飞行时间">{{time}}</el-form-item> <el-form-item label="预计飞行时间">{{time}}</el-form-item>
</el-form> </el-form>
<div class="ae-btns"> <div class="ae-btns">
<el-button type="primary" @click="onSave">保存</el-button> <el-button type="primary" @click="onSave" :loading="saveLoading">保存</el-button>
<el-button type="danger" @click="onDel">删除航点</el-button> <el-button type="danger" @click="onDel">删除航点</el-button>
</div> </div>
</div> </div>
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
</template> </template>
<script> <script>
import { Map } from "../../../../../../../../../../../../api"; import { Map, AirLine } from "../../../../../../../../../../../../api";
import { mapState } from "vuex"; import { mapState } from "vuex";
import Utils from "../../../../../../../../../../../../components/cesiumLayer/lib/cesium/utils"; import Utils from "../../../../../../../../../../../../components/cesiumLayer/lib/cesium/utils";
import { nanoid } from "nanoid"; import { nanoid } from "nanoid";
...@@ -124,10 +124,11 @@ export default { ...@@ -124,10 +124,11 @@ export default {
positions: [], //航点坐标集合 positions: [], //航点坐标集合
isPickAddress: false, //是否通过目标位置对地理信息 isPickAddress: false, //是否通过目标位置对地理信息
showActions: false, // 打开航点动作 showActions: false, // 打开航点动作
saveLoading: false,
}; };
}, },
computed: { computed: {
...mapState("MMCFlightControlCenter", ["cesiumViewer"]), ...mapState("MMCFlightControlCenter", ["cesiumViewer", "userInfo"]),
...mapState("MMCFlightControlCenter/hangar", ["hangar"]), ...mapState("MMCFlightControlCenter/hangar", ["hangar"]),
// 当前的表单 // 当前的表单
curForm() { curForm() {
...@@ -189,15 +190,19 @@ export default { ...@@ -189,15 +190,19 @@ export default {
this.onPickPoint, this.onPickPoint,
Cesium.ScreenSpaceEventType.LEFT_DOWN Cesium.ScreenSpaceEventType.LEFT_DOWN
); );
// todo 连续两次创建航线后销毁cesium会崩溃, 原因未知, 改为隐藏
// 直接销毁会报错 /* this.$nextTick(() => {
this.$nextTick(() => { let list = this.cesiumViewer?.dataSources?.getByName(this.dataSourceName);
this.cesiumViewer.dataSources.remove(this.dataSource); for (let i = 0; i < list.length; i++) {
}); let dataSource = list[i];
this.cesiumViewer.dataSources.remove(dataSource);
}
}); */
this.dataSource.show = false;
}, },
methods: { methods: {
// 保存航线 // 保存航线
onSave() { async onSave() {
if (!this.name) { if (!this.name) {
this.$message.warning("请输入航线名称"); this.$message.warning("请输入航线名称");
return; return;
...@@ -238,7 +243,47 @@ export default { ...@@ -238,7 +243,47 @@ export default {
waypointActions: actions, waypointActions: actions,
}; };
}); });
this.rootNode.$emit("airwayAdd", { //标准化里创建
let airway = {
content: waypoints,
distance: this.distance,
dutyOrganizationId: "",
name: this.name,
speed: this.form[0].speed,
};
try {
let res = await AirLine.add({
flightName: airway.name || `${this.userInfo.username}-巡查}`,
pointCount: airway.content.length,
distance: airway.distance,
sourceType: 1,
linePointSaveReqVOS: airway.content.map((point) => ({
latitude: point.coordinate.latitude,
longitude: point.coordinate.longitude,
altitude: point.altitude,
speed: point.speed,
pointActionSaveReqVOS: point.waypointActions.map((action) => {
let actionValue = [];
actionValue.push(`param1:${action.param1 || ""}`);
actionValue.push(`param2:${action.param2 || ""}`);
actionValue.push(`param3:${action.param3 || ""}`);
actionValue.push(`param4:${action.param4 || ""}`);
return {
actionType: action.actionType,
actionValue: actionValue.join(";"),
};
}),
})),
nestId: this.hangar.id,
});
this.$message.success("创建航线成功");
this.$emit("addDone", res.data);
this.$emit("close");
} catch (e) {}
this.saveLoading = false;
// 通过事件创建会出现重复创建的情况, 改为标准化里创建
/* this.rootNode.$emit("airwayAdd", {
airway: { airway: {
content: waypoints, content: waypoints,
distance: this.distance, distance: this.distance,
...@@ -251,7 +296,7 @@ export default { ...@@ -251,7 +296,7 @@ export default {
this.$emit("addDone", data.id); this.$emit("addDone", data.id);
this.$emit("close"); this.$emit("close");
}, },
}); }); */
}, },
/** /**
* 动作保存 * 动作保存
...@@ -563,6 +608,7 @@ export default { ...@@ -563,6 +608,7 @@ export default {
position: absolute; position: absolute;
top: -50px; top: -50px;
width: 450px; width: 450px;
z-index: 2;
.dialog-content { .dialog-content {
display: flex; display: flex;
......
<template> <template>
<div class="task-add dialog1027" v-interact> <div class="task-add dialog1027" v-interact>
<div class="dialog-header"> <div class="dialog-header">
<div class="dialog-header__title">定时任务</div> <div class="dialog-header__title">周期任务</div>
<div class="dialog-header__close" @click="$emit('close')">关闭</div> <div class="dialog-header__close" @click="$emit('close')">关闭</div>
</div> </div>
<div class="dialog-content"> <div class="dialog-content">
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="left-bar-item__text">任务</div> <div class="left-bar-item__text">任务</div>
</div> </div>
<AirwayList class="task-list" v-if="openTask"></AirwayList> <AirwayList class="task-list" v-if="openTask"></AirwayList>
<div class="left-bar-item item" @click="onClickAI"> <!-- <div class="left-bar-item item" @click="onClickAI">
<img class="left-bar-item__icon" src="./assets/images/ai.svg" /> <img class="left-bar-item__icon" src="./assets/images/ai.svg" />
<div class="left-bar-item__text">智能识别</div> <div class="left-bar-item__text">智能识别</div>
</div> </div>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
@close="openTraffic = false" @close="openTraffic = false"
/> />
<Jm v-if="openModeling" :device="device" class="jm-dialog" @close="openModeling = false"></Jm> <Jm v-if="openModeling" :device="device" class="jm-dialog" @close="openModeling = false"></Jm>
</div> </div> -->
<!-- 展示视频 --> <!-- 展示视频 -->
<div class="left-video" :class="{collapse: playerCollapse}" v-if="hangar && showPanel && listCollapse"> <div class="left-video" :class="{collapse: playerCollapse}" v-if="hangar && showPanel && listCollapse">
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
</template> </template>
<script> <script>
import { Map } from "../../../../../../../../../../api"; import { Map, AirLine } from "../../../../../../../../../../api";
import { mapState } from "vuex"; import { mapState } from "vuex";
import Utils from "../../../../../../../../../../components/cesiumLayer/lib/cesium/utils"; import Utils from "../../../../../../../../../../components/cesiumLayer/lib/cesium/utils";
import { nanoid } from "nanoid"; import { nanoid } from "nanoid";
...@@ -202,7 +202,7 @@ export default { ...@@ -202,7 +202,7 @@ export default {
}, },
methods: { methods: {
// 保存航线 // 保存航线
onSave() { async onSave() {
if (!this.name) { if (!this.name) {
this.$message.warning("请输入航线名称"); this.$message.warning("请输入航线名称");
return; return;
...@@ -246,7 +246,46 @@ export default { ...@@ -246,7 +246,46 @@ export default {
}; };
}); });
this.rootNode.$emit("airwayAdd", { //标准化里创建
let airway = {
content: waypoints,
distance: this.distance,
dutyOrganizationId: "",
name: this.name,
speed: this.form[0].speed,
};
try {
let res = await AirLine.add({
flightName: airway.name || `${this.userInfo.username}-巡查}`,
pointCount: airway.content.length,
distance: airway.distance,
sourceType: 1,
linePointSaveReqVOS: airway.content.map((point) => ({
latitude: point.coordinate.latitude,
longitude: point.coordinate.longitude,
altitude: point.altitude,
speed: point.speed,
pointActionSaveReqVOS: point.waypointActions.map((action) => {
let actionValue = [];
actionValue.push(`param1:${action.param1 || ""}`);
actionValue.push(`param2:${action.param2 || ""}`);
actionValue.push(`param3:${action.param3 || ""}`);
actionValue.push(`param4:${action.param4 || ""}`);
return {
actionType: action.actionType,
actionValue: actionValue.join(";"),
};
}),
})),
});
this.$message.success("创建航线成功");
this.$emit("addDone", res.data);
this.$emit("close");
} catch (e) {}
this.saveLoading = false;
// 通过事件创建会出现重复创建的情况, 改为标准化里创建
/* this.rootNode.$emit("airwayAdd", {
airway: { airway: {
content: waypoints, content: waypoints,
distance: this.distance, distance: this.distance,
...@@ -261,7 +300,7 @@ export default { ...@@ -261,7 +300,7 @@ export default {
} }
this.saveLoading = false; this.saveLoading = false;
}, },
}); }); */
}, },
/** /**
* 动作保存 * 动作保存
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
</div> </div>
<TaskList class="task-list" v-if="!useAirway && openTask"></TaskList> <TaskList class="task-list" v-if="!useAirway && openTask"></TaskList>
<AirwayList class="task-list" v-if="useAirway && openTask"></AirwayList> <AirwayList class="task-list" v-if="useAirway && openTask"></AirwayList>
<div class="left-bar-item item" @click="onClickAI"> <!-- <div class="left-bar-item item" @click="onClickAI">
<img class="left-bar-item__icon" src="./assets/images/ai.svg" /> <img class="left-bar-item__icon" src="./assets/images/ai.svg" />
<div class="left-bar-item__text">智能识别</div> <div class="left-bar-item__text">智能识别</div>
</div> </div>
...@@ -19,15 +19,6 @@ ...@@ -19,15 +19,6 @@
<img class="left-bar-item__icon" src="./assets/images/car.svg" /> <img class="left-bar-item__icon" src="./assets/images/car.svg" />
<div class="left-bar-item__text">车辆识别</div> <div class="left-bar-item__text">车辆识别</div>
</div> </div>
<!-- <div class="left-bar-item item" @click.stop="switchAI(2)">
<img class="left-bar-item__icon" src="./assets/images/traffic.png" />
<div class="left-bar-item__text">交通指引</div>
</div>
<div class="left-bar-item item" @click.stop="switchAI(3)">
<img class="left-bar-item__icon" src="./assets/images/ksjm.png" />
<div class="left-bar-item__text">快速建模</div>
</div>-->
<Face v-if="openFace" class="ai-dialog" :uavId="uav.deviceId" @close="openFace = false" /> <Face v-if="openFace" class="ai-dialog" :uavId="uav.deviceId" @close="openFace = false" />
<Car v-if="openPlate" class="ai-dialog" :uavId="uav.deviceId" @close="openPlate = false" /> <Car v-if="openPlate" class="ai-dialog" :uavId="uav.deviceId" @close="openPlate = false" />
<Traffic <Traffic
...@@ -37,7 +28,7 @@ ...@@ -37,7 +28,7 @@
@close="openTraffic = false" @close="openTraffic = false"
/> />
<Jm v-if="openModeling" :device="device" class="jm-dialog" @close="openModeling = false"></Jm> <Jm v-if="openModeling" :device="device" class="jm-dialog" @close="openModeling = false"></Jm>
</div> </div> -->
</div> </div>
</template> </template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论