提交 d2c7ec7b 作者: 翁进城

style: V4样式修正

feat: 创建航线
上级 9af1d91c
流水线 #10670 已失败 于阶段
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
@uavChange="dispatchEvent('uavChange', $event)" @uavChange="dispatchEvent('uavChange', $event)"
@uavTaskStart="dispatchEvent('uavTaskStart', $event)" @uavTaskStart="dispatchEvent('uavTaskStart', $event)"
@uavTaskAdd="dispatchEvent('uavTaskAdd', $event)" @uavTaskAdd="dispatchEvent('uavTaskAdd', $event)"
@uavAirwayAdd="dispatchEvent('uavAirwayAdd', $event)"
@hangarChange="dispatchEvent('hangarChange', $event)" @hangarChange="dispatchEvent('hangarChange', $event)"
@hangarTaskTabChange="dispatchEvent('hangarTaskTabChange', $event)" @hangarTaskTabChange="dispatchEvent('hangarTaskTabChange', $event)"
@hangarTaskStart="dispatchEvent('hangarTaskStart', $event)" @hangarTaskStart="dispatchEvent('hangarTaskStart', $event)"
......
<template> <template>
<div class="car dialog1027"> <div class="car dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title"> <div class="dialog-header__title">
快速建模 快速建模
......
<template> <template>
<div class="car dialog1027"> <div class="car dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title"> <div class="dialog-header__title">
车辆识别 车辆识别
......
<template> <template>
<div class="face dialog1027"> <div class="face dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title"> <div class="dialog-header__title">
人脸识别 人脸识别
......
<template> <template>
<div class="cpt-command-airway-list"> <div class="cpt-command-airway-list" v-interact>
<div class="hd" v-interact> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<!-- <img src="../../../../../../assets/images/mount_head.png" /> --> <!-- <img src="../../../../../../assets/images/mount_head.png" /> -->
<div class="title">航空航线</div> <div class="title">航空航线</div>
......
...@@ -166,7 +166,7 @@ export default { ...@@ -166,7 +166,7 @@ export default {
airway: data, //航线数据 airway: data, //航线数据
callback: ({ id }) => { callback: ({ id }) => {
// 返回新增任务后的任务id // 返回新增任务后的任务id
this.selectedTaskId = id; this.selectedTaskId = [id];
}, },
}); // 根节点发送机库任务新增事件 }); // 根节点发送机库任务新增事件
} }
......
<template> <template>
<div class="task-add dialog1027"> <div class="task-add dialog1027" v-interact>
<div class="dialog-header" v-interact> <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>
......
<template> <template>
<div class="task-add dialog1027" :class="{more: showMore}"> <div class="task-add dialog1027" :class="{more: showMore}" v-interact>
<div class="task-add-header dialog-header" v-interact> <div class="task-add-header dialog-header">
<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">
<div class="header-right__add" @click="onTaskAdd"> <div class="header-right__add" @click="onTaskAdd">
......
...@@ -98,12 +98,12 @@ export default { ...@@ -98,12 +98,12 @@ export default {
text-align: left; text-align: left;
font-style: normal; font-style: normal;
background: linear-gradient( background: linear-gradient(
45deg, right,
#e3aa77 0%, #e3aa77,
#f5cda9 38%, #f5cda9,
#f9ecd3 58%, #f9ecd3,
#fcdbb1 79%, #fcdbb1,
#edb07a 100% #edb07a
); );
line-height: 32px; line-height: 32px;
-webkit-background-clip: text; -webkit-background-clip: text;
......
<template> <template>
<div class="traffic dialog1027"> <div class="traffic dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title">交通指引</div> <div class="dialog-header__title">交通指引</div>
<div class="dialog-header_close" style="color:#fff" @click="()=>$emit('close')">关闭</div> <div class="dialog-header_close" style="color:#fff" @click="()=>$emit('close')">关闭</div>
......
<template> <template>
<div class="cpt-nest-logger dialog1027" :class="{ chang: dakai == true, }"> <div class="cpt-nest-logger dialog1027" :class="{ chang: dakai == true, }" v-interact>
<div class="title-box dialog-header" v-interact> <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="font">运行监控日志</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">
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z40" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_FB1" :style="containerStyle"> <div class="cpt-MMC_Gimbal_FB1" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">破窗灭火器</div> <div class="title">破窗灭火器</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_FN3" :style="containerStyle"> <div class="cpt-MMC_Gimbal_FN3" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">网枪</div> <div class="title">网枪</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_FE3" :style="containerStyle"> <div class="cpt-MMC_Gimbal_FE3" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">干粉灭火器</div> <div class="title">干粉灭火器</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_FE8" :style="containerStyle"> <div class="cpt-MMC_Gimbal_FE8" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<!-- <div class="title">八孔投弹器</div> --> <!-- <div class="title">八孔投弹器</div> -->
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
......
<template> <template>
<div class="cpt-MMC_Gimbal_FF6"> <div class="cpt-MMC_Gimbal_FF6" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="title">喷火器</div> <div class="title">喷火器</div>
</div> </div>
<div class="bd"> <div class="bd">
......
<!-- 挂载--气体检测 --> <!-- 挂载--气体检测 -->
<template> <template>
<div class="cpt-MMC_Gimbal pr"> <div class="cpt-MMC_Gimbal pr" v-interact>
<div class="hd" v-interact> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<div class="title">多气体检测</div> <div class="title">多气体检测</div>
</div> </div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_L50"> <div class="cpt-MMC_Gimbal_L50" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="title">探照灯</div> <div class="title">探照灯</div>
</div> </div>
<div class="bd"> <div class="bd">
......
<template> <template>
<div class="cpt-MMC_Gimbal_L60" :style="containerStyle"> <div class="cpt-MMC_Gimbal_L60" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="title">探照灯</div> <div class="title">探照灯</div>
<div class="close" @click="$emit('close')">关闭</div> <div class="close" @click="$emit('close')">关闭</div>
</div> </div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_L60" :style="containerStyle"> <div class="cpt-MMC_Gimbal_L60" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="title">探照灯</div> <div class="title">探照灯</div>
<div class="close" @click="$emit('close')">关闭</div> <div class="close" @click="$emit('close')">关闭</div>
</div> </div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_P0_Pro"> <div class="cpt-MMC_Gimbal_P0_Pro" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="title">喊话器</div> <div class="title">喊话器</div>
</div> </div>
<div class="bd"> <div class="bd">
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
height: '465px' height: '465px'
}" }"
> >
<div class="PopupBox"> <div class="PopupBox" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="Popup h40 lh40 jcsb"> <div class="Popup h40 lh40 jcsb">
<div class="ml30 jcsb"> <div class="ml30 jcsb">
<img class="w20 h20 mt6" src="../assets/images/mount/mount_head.png" /> <img class="w20 h20 mt6" src="../assets/images/mount/mount_head.png" />
......
<template> <template>
<div class="cpt-MMC_Gimbal_S1"> <div class="cpt-MMC_Gimbal_S1" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="title">抛投</div> <div class="title">抛投</div>
</div> </div>
<div class="bd"> <div class="bd">
......
<template> <template>
<div class="cpt-MMC_Gimbal_S79" :style="containerStyle"> <div class="cpt-MMC_Gimbal_S79" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">射击枪</div> <div class="title">射击枪</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z20" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z20" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z20" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z20" :style="containerStyle" v-interac>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
class="cpt-MMC_Gimbal_Z30Pro" class="cpt-MMC_Gimbal_Z30Pro"
:style="containerStyle" :style="containerStyle"
:class="{ heightOne: routePath == true }" :class="{ heightOne: routePath == true }"
v-interact
> >
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z33N" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z33N" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z40" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z40N" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40N" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<!-- 挂载--Z40S fckernel1027 --> <!-- 挂载--Z40S fckernel1027 -->
<template> <template>
<div class="cpt-MMC_Gimbal_Z40" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机Z40S</div> <div class="title">高清变焦相机Z40S</div>
......
<!-- 挂载--Z40S fckernel1027 --> <!-- 挂载--Z40S fckernel1027 -->
<template> <template>
<div class="cpt-MMC_Gimbal_Z40" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机Z40S</div> <div class="title">高清变焦相机Z40S</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z40" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_Z40" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z40" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<!-- 高清变焦相机Z60R --> <!-- 高清变焦相机Z60R -->
<template> <template>
<div class="cpt-MMC_Gimbal_Z60R" :style="containerStyle"> <div class="cpt-MMC_Gimbal_Z60R" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机Z60R</div> <div class="title">高清变焦相机Z60R</div>
......
<template> <template>
<div class="cpt-MMC_Gimbal_ZT1"> <div class="cpt-MMC_Gimbal_ZT1" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">红外热成像</div> <div class="title">红外热成像</div>
......
<!-- 双光 --> <!-- 双光 -->
<template> <template>
<div class="cpt-MMC_Gimbal_ZT30N" :style="containerStyle"> <div class="cpt-MMC_Gimbal_ZT30N" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">红外热成像</div> <div class="title">红外热成像</div>
......
<!-- 高清变焦相机Z60S --> <!-- 高清变焦相机Z60S -->
<template> <template>
<div class="cpt-MMC_Gimbal_ZT60R" :style="containerStyle"> <div class="cpt-MMC_Gimbal_ZT60R" :style="containerStyle" v-interact>
<div v-interact class="hd"> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="title">高清变焦相机ZT60R</div> <div class="title">高清变焦相机ZT60R</div>
......
<template> <template>
<div class="PagerP1Box" style="pointer-events: auto"> <div class="PagerP1Box" style="pointer-events: auto" v-interact>
<div v-interact class="PagerP1TitleBox jcsb"> <div class="PagerP1TitleBox jcsb">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount/mount_head.png" /> <img src="../assets/images/mount/mount_head.png" />
<div class="cp">{{ title }}</div> <div class="cp">{{ title }}</div>
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>手动飞行-选中</title>
<g id="套用鹰视改" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驾驶中心-无人机应用4-AI人脸" transform="translate(-1114.000000, -871.000000)">
<g id="手动飞行-选中" transform="translate(1125.000000, 882.000000) scale(-1, 1) translate(-1125.000000, -882.000000) translate(1114.000000, 871.000000)">
<rect id="矩形" x="0" y="0" width="22" height="22"></rect>
<text id="A" font-family="SourceHanSansCN-Bold, Source Han Sans CN" font-size="10" font-weight="bold" line-spacing="10" fill="#4E4E4E">
<tspan x="2" y="12">A</tspan>
</text>
<path d="M15.8851398,2.2006884 C18.4513254,2.2006884 20.5316299,4.34209967 20.5316299,6.98366435 C20.5316299,9.62522902 18.4513254,11.7666403 15.8851398,11.7666403 C13.3189542,11.7666403 11.2386497,9.62522902 11.2386497,6.98366435 C11.2386497,4.34209967 13.3189542,2.2006884 15.8851398,2.2006884 Z" id="路径" fill="#4E4E4E" fill-rule="nonzero"></path>
<path d="M14.4631515,12.984153 L12.4837298,15.8157077 L13.0262848,15.8157077 C13.7778855,15.8859857 14.360153,16.5229174 14.3826725,17.299435 C14.3814616,17.4595724 14.3598772,17.6188566 14.3184701,17.7732224 C15.913582,18.0571225 16.9824155,18.5686082 16.9824155,19.154094 C16.9809982,19.2018663 16.9718291,19.2490583 16.9552878,19.293717 C16.7653935,18.96793 15.549618,19.154094 13.8518728,19.0172634 C13.6838982,19.1627519 13.4723007,19.2441235 13.2528016,19.2476414 L10.087897,19.2476414 C9.85125189,19.2442624 9.62405888,19.1515108 9.44949056,18.9870118 C7.53743608,19.1103455 6.13764401,18.9404708 5.93282951,19.2941824 C5.91631263,19.2495165 5.9071444,19.2023288 5.90570176,19.1545594 C5.90570176,18.5169476 7.17166356,17.9672984 9.00549968,17.7038763 C8.97481916,17.5710172 8.95859341,17.4350569 8.95712184,17.2985041 C8.95712184,16.478917 9.46305444,15.8147769 10.0874449,15.8147769 L11.6943121,15.8147769 L13.7044787,12.769599 C13.5472439,12.7129244 13.3924704,12.6492585 13.2405941,12.5787808 C13.2207004,12.5699381 13.2003546,12.5624915 13.1804609,12.5531833 C13.0389445,12.4866296 12.9028535,12.4135603 12.7685712,12.3353714 C12.7414434,12.3200129 12.7138635,12.3060506 12.6871879,12.2888304 C12.5599483,12.2120974 12.4356687,12.130278 12.3146335,12.0435593 C12.285245,12.0226158 12.2549524,12.0030686 12.2242076,11.9816597 C12.1075583,11.8960243 11.998143,11.8048039 11.8864671,11.7107911 C11.8566265,11.6851935 11.8258817,11.6600614 11.7960412,11.6339984 C11.6911915,11.5402607 11.5898414,11.442454 11.4922104,11.3407901 L11.4017846,11.2477081 C11.3081938,11.1467141 11.2209329,11.0424623 11.130507,10.935418 C11.1015708,10.8995814 11.0726345,10.8637448 11.0446025,10.8269774 C10.9626163,10.7205536 10.8845487,10.611958 10.8103995,10.5011904 C10.7823675,10.4593035 10.7552398,10.4174166 10.728112,10.3750643 C10.6584841,10.2646069 10.5923225,10.152288 10.5296273,10.0381074 C10.5034038,9.99156638 10.4780846,9.94083666 10.4527653,9.89150321 C10.3951623,9.77919803 10.3408818,9.66512011 10.2899988,9.54942682 C10.2655838,9.49357762 10.2447859,9.43679758 10.220823,9.38001758 C10.1756101,9.26738833 10.1303972,9.15429369 10.0942269,9.03840659 C10.0790966,8.97295723 10.0617544,8.90807069 10.042232,8.8438652 C10.0087156,8.73300435 9.97855909,8.62109664 9.95180615,8.50830457 C9.93462523,8.43430437 9.92106135,8.35937334 9.9065932,8.28444231 C9.88534312,8.17693259 9.86409307,8.06942287 9.84872069,7.95865529 C9.83696531,7.87348525 9.83018338,7.78738438 9.82204505,7.70174894 C9.81209822,7.60028954 9.80079497,7.49929557 9.79582157,7.39643994 C9.79084817,7.29358431 9.79356091,7.19817526 9.79582157,7.09857752 C9.79582157,7.0054955 9.79310879,6.91567137 9.79582157,6.82305478 C9.80124712,6.70297899 9.81571526,6.5824378 9.82837487,6.46189657 C9.83606108,6.38836177 9.83967809,6.31529241 9.85007707,6.24175761 C9.87765694,6.04675079 9.91427941,5.85081317 9.96130086,5.65534095 C10.3323119,4.11070926 11.2847264,2.78130799 12.6086737,1.96007893 C13.932621,1.13884986 15.5194489,0.89318879 17.0194901,1.27722864 C17.0425487,1.28327896 17.064703,1.29212177 17.0877616,1.29863749 C17.1108203,1.30515321 17.1270969,1.30468781 17.1465384,1.30980733 C20.2783269,2.07257018 22.2164465,5.30430294 21.4754496,8.52808447 C20.7344528,11.751866 17.59494,13.7469158 14.4631515,12.984153 L14.4631515,12.984153 Z M10.0874449,16.8735848 C9.71308192,16.8735848 9.40925108,16.8065657 9.40925108,17.2985041 C9.40925108,17.7904425 9.71308192,17.7234235 10.0874449,17.7234235 L13.2523494,17.7234235 C13.6267124,17.7234235 13.9305433,17.7904426 13.9305433,17.2985041 C13.9305433,16.8065657 13.6267124,16.8735848 13.2523494,16.8735848 L10.0874449,16.8735848 L10.0874449,16.8735848 Z M15.6938472,2.07726852 C13.7371468,2.07726852 11.9731157,3.29057916 11.2243188,5.1514356 C10.475522,7.01229204 10.8894222,9.15423045 12.2730183,10.5784683 C13.6566145,12.0027062 15.737431,12.4287642 17.5451865,11.6579722 C19.352942,10.8871802 20.5316299,9.0713325 20.5316299,7.05715601 C20.5316299,4.30684009 18.3656808,2.07726852 15.6938472,2.07726852 L15.6938472,2.07726852 Z M12.7676669,6.0695559 L12.134686,6.0695559 C12.2108376,4.7327597 13.2468036,3.66616323 14.545439,3.5875241 L14.545439,4.23909818 C13.5952179,4.31491998 12.8400303,5.09150061 12.7654063,6.0695559 L12.7676669,6.0695559 Z M12.9937315,8.73170139 L12.5443151,9.19431897 C12.0726108,8.5845918 11.8876634,7.79102923 12.0392868,7.02736978 L12.6483048,7.1953828 C12.551277,7.73410365 12.6749886,8.29014528 12.9901145,8.73170139 L12.9937315,8.73170139 Z M7.60073418,14.0471496 C6.97647401,14.0471496 6.47041117,13.5262216 6.47041117,12.8836244 C6.47041117,12.2410273 6.97647403,11.7200993 7.6007342,11.7200993 C8.22499437,11.7200993 8.73105725,12.2410272 8.73105725,12.8836244 C8.73105725,13.1922105 8.61197,13.4881576 8.3999933,13.7063609 C8.1880166,13.9245642 7.9005145,14.0471496 7.60073418,14.0471496 L7.60073418,14.0471496 Z M5.56615269,11.9528043 C4.94189252,11.9528043 4.43582968,11.4318764 4.43582968,10.7892792 C4.43582968,10.146682 4.94189254,9.62575412 5.56615271,9.62575412 C6.19041288,9.62575412 6.69647576,10.146682 6.69647576,10.7892792 C6.69647576,11.0978652 6.57738851,11.3938124 6.36541181,11.6120157 C6.15343511,11.830219 5.86593301,11.9528043 5.56615269,11.9528043 Z M3.5315712,14.0471496 C2.90731103,14.0471496 2.40124819,13.5262216 2.40124819,12.8836244 C2.40124819,12.2410273 2.90731105,11.7200993 3.53157122,11.7200993 C4.15583139,11.7200993 4.66189427,12.2410272 4.66189427,12.8836244 C4.66189427,13.1922105 4.54280701,13.4881576 4.33083032,13.7063609 C4.11885362,13.9245642 3.83135152,14.0471496 3.5315712,14.0471496 L3.5315712,14.0471496 Z M5.56615269,13.8144445 C6.19041287,13.8144445 6.69647573,14.3353725 6.69647573,14.9779696 C6.69647573,15.6205668 6.19041287,16.1414947 5.56615269,16.1414947 C4.94189251,16.1414947 4.43582965,15.6205668 4.43582965,14.9779696 C4.43582965,14.3353725 4.94189251,13.8144445 5.56615269,13.8144445 L5.56615269,13.8144445 Z M18.7769164,19.8996809 C18.6033789,20.1815037 18.4983837,20.5022294 18.4708249,20.8346897 C16.5583183,20.6652804 14.1154641,20.5628902 11.4438326,20.5628902 C5.69003612,20.5628902 0.963477237,21.0329544 0.420922173,21.6333333 C0.388765361,21.5789522 0.370130228,21.5172484 0.366666667,21.453685 C0.366666667,20.3064493 5.32607207,19.3760946 11.4438326,19.3760946 C13.8976211,19.3567809 16.3492167,19.5318262 18.7769164,19.8996809 L18.7769164,19.8996809 Z" id="形状结合" fill="#4E4E4E" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</div> </div>
<template v-if="uav.network === 2"> <template v-if="uav.network === 2">
<div v-if="controlType === 0" class="control-bottom-item" @click="onModeManual"> <div v-if="controlType === 0" class="control-bottom-item" @click="onModeManual">
<img src="./assets/images/manual.svg" /> <img src="./assets/images/auto.svg" />
<span class="dib">自动</span> <span class="dib">自动</span>
</div> </div>
<div v-else-if="controlType === 1" class="control-bottom-item" @click="onModeKeyboard"> <div v-else-if="controlType === 1" class="control-bottom-item" @click="onModeKeyboard">
......
<template> <template>
<div class="car dialog1027"> <div class="car dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title"> <div class="dialog-header__title">
快速建模 快速建模
......
<template> <template>
<div class="car dialog1027"> <div class="car dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title"> <div class="dialog-header__title">
车辆识别 车辆识别
......
<template> <template>
<div class="face dialog1027"> <div class="face dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title"> <div class="dialog-header__title">
人脸识别 人脸识别
......
<template>
<div class="rm-actions dialog1027" v-interact>
<div class="dialog-header">
<img class="dialog-header__icon" src="../../../../../../assets/images/mount_head.png" />
<div class="dialog-header__title">航点动作</div>
<div class="dialog-header__close">
<el-dropdown trigger="click">
<span class="el-dropdown-link">
<div class="icon el-icon-plus" title="添加"></div>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="(item, index) in actions"
@click.native="selectActions1.push(item)"
>{{ item.label }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class @click="$emit('close')">关闭</div>
</div>
</div>
<div class="rm-as-list">
<div
class="rm-as-item"
v-for="(item, i) in selectActions1"
:key="i"
:class="{double: ['云台控制'].includes(item.label)}"
>
<div class="rm-as-item__title">{{item.label}}</div>
<div class="rm-as-item__input" v-if="['间隔拍照', '悬停', '变焦'].includes(item.label)">
<div>
<el-input-number
:min="item.min"
:max="item.max"
v-if="['间隔拍照', '悬停'].includes(item.label)"
v-model="item.param1"
></el-input-number>
<el-input-number
:min="item.min"
:max="item.max"
v-if="['变焦'].includes(item.label)"
v-model="item.param2"
></el-input-number>
{{item.unit}}
</div>
</div>
<div class="rm-as-item__input" v-if="['云台控制'].includes(item.label)">
<div>
(俯仰)
<el-input-number :min="-90" :max="30" v-model="item.param1"></el-input-number>(度)
</div>
<div>
(偏航)
<el-input-number :min="-145" :max="145" v-model="item.param3"></el-input-number>(度)
</div>
</div>
<i class="el-icon-delete rm-as-item__del" v-hover @click="selectActions.splice()"></i>
</div>
</div>
<div class="rm-rp-btns">
<div class="rm-rp-btn" v-hover @click="$emit('close')">取消</div>
<div class="rm-rp-btn save" v-hover @click="$emit('save', selectActions1)">保存</div>
</div>
</div>
</template>
<script>
export default {
name: "Actions",
props: {
selectActions: {
type: Array,
default() {
return [];
},
},
},
data() {
return {
actions: [
{
label: "无动作",
actionType: "",
param1: 1,
},
{
label: "间隔拍照",
actionType: "TRIGGER",
param1: 1,
unit: "米",
},
{
label: "悬停",
min: 0,
// max: 32000,
actionType: "STAY",
param1: 10,
unit: "秒",
},
{
label: "云台控制",
actionType: "GIMBAL_PITCH",
param1: 0,
param2: 0,
param3: 0,
param4: 2,
},
{
label: "开始录像",
actionType: "START_RECORD",
param1: 1,
},
{
label: "停止录像",
actionType: "STOP_RECORD",
param1: 1,
},
{
label: "变焦",
min: 0,
// max: 32000,
actionType: "CAMERA_ZOOM",
param1: 2,
param2: 0,
unit: "倍",
},
{
label: "拍照",
actionType: "START_TAKE_PHOTO",
param3: 1,
},
], //全部动作
selectActions1: [], //选中的动作
};
},
created(){
this.selectActions1 = JSON.parse(JSON.stringify(this.selectActions));
}
};
</script>
<style lang="scss" scoped>
.rm-actions {
position: absolute;
left: 480px;
top: 0;
height: 100%;
width: 420px;
background: #222222;
display: flex;
flex-direction: column;
.dialog-header__close::v-deep {
display: flex;
gap: 20px;
.icon {
color: #fff;
}
}
.rm-as-list {
padding: 16px;
flex: auto;
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 16px;
.rm-as-item::v-deep {
background: #3c3c3c;
border-radius: 1px;
display: flex;
align-items: center;
font-weight: 400;
font-size: 14px;
color: #dedede;
line-height: 20px;
padding: 16px 16px;
justify-content: space-between;
&.double {
.rm-as-item__title {
width: 60px;
}
}
.el-input__inner {
height: 32px;
background: #191919;
border-radius: 2px;
border: 1px solid #4b4b4b;
}
.rm-as-item__title {
width: 120px;
}
.rm-as-item__input {
width: 140px;
flex: auto;
display: flex;
flex-direction: column;
gap: 16px;
.el-input-number {
width: 140px;
line-height: 32px;
}
.el-input-number__decrease {
width: 32px;
height: 32px;
background: transparent;
border-right: 1px solid #4b4b4b;
}
.el-input-number__increase {
width: 32px;
height: 32px;
background: transparent;
border-left: 1px solid #4b4b4b;
}
}
.rm-as-item__del {
font-size: 24px;
}
}
}
}
.rm-rp-btns {
flex: 0;
padding: 32px 0;
display: flex;
justify-content: center;
gap: 32px;
}
.rm-rp-btn {
width: 100px;
height: 32px;
border-radius: 2px;
border: 1px solid #3388ff;
font-weight: 400;
font-size: 14px;
color: #ffffff;
line-height: 16px;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
&.save {
background: #3388ff;
border: none;
}
&.del {
background: #f56c6c;
border: none;
}
}
</style>
\ No newline at end of file
<template> <template>
<div class="cpt-command-airway-list"> <div class="cpt-command-airway-list" v-interact>
<div class="hd" v-interact> <div class="hd">
<div class="left ml8"> <div class="left ml8">
<!-- <img src="../../../../assets/images/mount_head.png" /> --> <!-- <img src="../../../../assets/images/mount_head.png" /> -->
<div class="title">航空航线</div> <div class="title">航空航线</div>
......
...@@ -48,13 +48,14 @@ ...@@ -48,13 +48,14 @@
</el-tooltip> </el-tooltip>
</el-form-item> </el-form-item>
<div class="btn" @click="onStartTask" v-hover>一键任务</div> <div class="btn" @click="onStartTask" v-hover>一键任务</div>
<!-- <div class> <div class>
<span class="btn__add-line"> <span class="btn__add-line" @click="showAirwayEdit = true">
<span class="f8"></span> 创建航线 <span class="f8"></span> 创建航线
</span> </span>
</div>--> </div>
</el-form> </el-form>
<LineList v-if="showFlywayDialog" @close="showFlywayDialog = false;" @change="onChangeLine"></LineList> <LineList v-if="showFlywayDialog" @close="showFlywayDialog = false;" @change="onChangeLine"></LineList>
<AirwayEdit v-if="showAirwayEdit" @close="showAirwayEdit = false"></AirwayEdit>
</div> </div>
</template> </template>
<script> <script>
...@@ -62,13 +63,14 @@ import LineList from "./components/lineList"; ...@@ -62,13 +63,14 @@ import LineList from "./components/lineList";
import { Utils } from "../../../../../../../../lib/cesium"; import { Utils } from "../../../../../../../../lib/cesium";
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import { AirLine } from "../../../../../../../../api"; import { AirLine } from "../../../../../../../../api";
import AirwayEdit from './components/airwayEdit';
const airwayEntities = []; // 航线实体 const airwayEntities = []; // 航线实体
let point_entity = null; let point_entity = null;
export default { export default {
name: "taskList", name: "taskList",
components: { LineList }, components: { LineList, AirwayEdit },
props: {}, props: {},
inject: ["rootNode", "bus"], inject: ["rootNode", "bus"],
data() { data() {
...@@ -82,6 +84,8 @@ export default { ...@@ -82,6 +84,8 @@ export default {
}, },
// 航线选择窗口 // 航线选择窗口
showFlywayDialog: false, showFlywayDialog: false,
// 创建航线窗口
showAirwayEdit: false
}; };
}, },
computed: { computed: {
...@@ -94,7 +98,7 @@ export default { ...@@ -94,7 +98,7 @@ export default {
* 是否选择任务 * 是否选择任务
*/ */
isSelectTask() { isSelectTask() {
return this.selectedTaskId[0] !== -1; return this.selectedTaskId[0] && this.selectedTaskId[0] !== -1;
}, },
/** /**
* 选择的任务数据 * 选择的任务数据
...@@ -253,13 +257,13 @@ export default { ...@@ -253,13 +257,13 @@ export default {
color: #14faff; color: #14faff;
line-height: 26px; line-height: 26px;
text-shadow: 0px 1px 1px rgba(2, 32, 56, 0.2); text-shadow: 0px 1px 1px rgba(2, 32, 56, 0.2);
background: linear-gradient( background-image: -webkit-linear-gradient(
135deg, right,
#e3aa77 0%, #e3aa77,
#f5cda9 38%, #f5cda9,
#f9ecd3 58%, #f9ecd3,
#fcdbb1 79%, #fcdbb1,
#edb07a 100% #edb07a
); );
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
......
<template> <template>
<div class="traffic dialog1027"> <div class="traffic dialog1027" v-interact>
<div class="dialog-header" v-interact> <div class="dialog-header">
<div class="dialog-header__icon" /> <div class="dialog-header__icon" />
<div class="dialog-header__title">交通指引</div> <div class="dialog-header__title">交通指引</div>
<div class="dialog-header_close" style="color:#fff" @click="()=>$emit('close')">关闭</div> <div class="dialog-header_close" style="color:#fff" @click="()=>$emit('close')">关闭</div>
......
<template> <template>
<div class="PagerP1Box" style="pointer-events: auto"> <div class="PagerP1Box" style="pointer-events: auto" v-interact>
<div class="PagerP1TitleBox jcsb" v-interact> <div class="PagerP1TitleBox jcsb">
<span class="cp">{{ title }}</span> <span class="cp">{{ title }}</span>
<span class="cp" @click="close">{{ exit }}</span> <span class="cp" @click="close">{{ exit }}</span>
</div> </div>
......
<template> <template>
<div> <div class="police dialog1027" v-interact>
<div class="police dialog1027" v-interact> <div class="dialog-header">
<div class="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="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="police_ceonter"> <div class="police_ceonter">
<!-- 警灯模式 --> <!-- 警灯模式 -->
<div class="police_controls"> <div class="police_controls">
<div class="plice_fontTwo">警灯模式:</div> <div class="plice_fontTwo">警灯模式:</div>
<div> <div>
<el-radio-group v-model="alarmLampMode" @change="onChangeALMode"> <el-radio-group v-model="alarmLampMode" @change="onChangeALMode">
<el-radio :label="1">关闭</el-radio> <el-radio :label="1">关闭</el-radio>
<el-radio :label="2">慢闪</el-radio> <el-radio :label="2">慢闪</el-radio>
<el-radio :label="3">快闪</el-radio> <el-radio :label="3">快闪</el-radio>
<el-radio :label="4">交替闪</el-radio> <el-radio :label="4">交替闪</el-radio>
</el-radio-group> </el-radio-group>
</div>
</div> </div>
<!-- 尾灯 --> </div>
<div class="police_controls"> <!-- 尾灯 -->
<div class="plice_fontTwo">尾灯:</div> <div class="police_controls">
<div> <div class="plice_fontTwo">尾灯:</div>
<el-radio-group v-model="tailLightSwitch" @change="onSwitchTL"> <div>
<el-radio :label="1"></el-radio> <el-radio-group v-model="tailLightSwitch" @change="onSwitchTL">
<el-radio :label="2"></el-radio> <el-radio :label="1"></el-radio>
</el-radio-group> <el-radio :label="2"></el-radio>
</div> </el-radio-group>
</div> </div>
<!-- 降落伞灯 --> </div>
<div class="police_controls"> <!-- 降落伞灯 -->
<div class="plice_fontTwo">降落伞灯:</div> <div class="police_controls">
<div> <div class="plice_fontTwo">降落伞灯:</div>
<el-radio-group v-model="parachuteLightSwitch" @change="onSwitchPL"> <div>
<el-radio :label="1"></el-radio> <el-radio-group v-model="parachuteLightSwitch" @change="onSwitchPL">
<el-radio :label="2"></el-radio> <el-radio :label="1"></el-radio>
</el-radio-group> <el-radio :label="2"></el-radio>
</div> </el-radio-group>
</div> </div>
<!-- 隐蔽模式 --> </div>
<div class="police_controls"> <!-- 隐蔽模式 -->
<div class="plice_fontTwo">隐蔽模式:</div> <div class="police_controls">
<div> <div class="plice_fontTwo">隐蔽模式:</div>
<el-radio-group v-model="covertSwitch" @change="onSwitchCovert"> <div>
<el-radio :label="1"></el-radio> <el-radio-group v-model="covertSwitch" @change="onSwitchCovert">
<el-radio :label="2"></el-radio> <el-radio :label="1"></el-radio>
</el-radio-group> <el-radio :label="2"></el-radio>
</div> </el-radio-group>
</div> </div>
</div> </div>
</div> </div>
......
<template> <template>
<div class="cpt-nest-logger"> <div class="cpt-nest-logger dialog1027" v-interact>
<div class="title-box" v-interact> <div class="title-box dialog-header">
<div class="title pl20"> <img class="dialog-header__icon" src="../../../../assets/images/mount_head.png" />
<img src="../../../../assets/images/mount_head.png" /> <div class="dialog-header__title">运行监控日志</div>
<div class="font">运行监控日志</div> <div class="dialog-header__close" style="display: flex">
</div>
<div style="display: flex">
<div class="icon-box" @click="onClear"> <div class="icon-box" @click="onClear">
<span class="iconfont icon-qingchushuju"></span> <span class="iconfont icon-qingchushuju"></span>
<!-- <span class="icon-text pr20">清除数据</span> --> <!-- <span class="icon-text pr20">清除数据</span> -->
...@@ -13,7 +11,7 @@ ...@@ -13,7 +11,7 @@
<div class="close" @click="$emit('close')">关闭</div> <div class="close" @click="$emit('close')">关闭</div>
</div> </div>
</div> </div>
<div class="ctx-box"> <div class="ctx-box dialog-content">
<div class="head mt7"> <div class="head mt7">
<div class="text">CODE</div> <div class="text">CODE</div>
<div class="text con">消息内容</div> <div class="text con">消息内容</div>
...@@ -95,20 +93,6 @@ export default { ...@@ -95,20 +93,6 @@ export default {
flex-direction: column; flex-direction: column;
.title-box { .title-box {
flex-shrink: 0;
display: flex;
justify-content: space-between;
align-items: center;
height: 32px;
background: linear-gradient(
180deg,
#9198ff 0%,
rgba(45, 81, 153, 0.45) 40%,
#05091a 100%
);
box-shadow: inset 0px 0px 10px 2px #3f9dff;
border-radius: 10px 10px 0px 0px;
border: 1px solid #427dff;
.title { .title {
display: flex; display: flex;
......
<template> <template>
<div class="nset_control_box"> <div class="nset_control_box dialog1027">
<div class="nset_control_box_header"> <div class="dialog-header">
<div class="title"> <img class="dialog-header__icon" src="../../assets/images/mount_head.png" />
<img src="../../assets/images/mount_head.png" /> <div class="dialog-header__title">操作区域</div>
<div class="font">操作区域</div> <div class="dialog-header__close" @click="$emit('exit')">关闭</div>
</div>
<div class="exit" @click="$emit('exit')">关闭</div>
</div> </div>
<div class="nset_control_box_area"> <div class="nset_control_box_area">
<div class="wrj"> <div class="wrj">
......
<template> <template>
<div class="mountControllerBox"> <div class="mountControllerBox" v-interact>
<div class="wih00 h40 fix mountControllerTitle" v-interact> <div class="wih00 h40 fix mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">破窗器 </div> <div class="fl ml20 lh40 mr30 cfc fw700">破窗器 </div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
......
<template> <template>
<div class="mountControllerBox"> <div class="mountControllerBox" v-interact>
<div class="wih00 h40 fix mountControllerTitle" v-interact> <div class="wih00 h40 fix mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">飞鹰战术发射器</div> <div class="fl ml20 lh40 mr30 cfc fw700">飞鹰战术发射器</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
</div> </div>
......
<template> <template>
<div class="mountControllerBox"> <div class="mountControllerBox" v-interact>
<div class="wih00 fix h40 mountControllerTitle" v-interact> <div class="wih00 fix h40 mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">飞鹰喷火器</div> <div class="fl ml20 lh40 mr30 cfc fw700">飞鹰喷火器</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
</div> </div>
......
<!-- 挂载--Z40S --> <!-- 挂载--Z40S -->
<template> <template>
<div class="cpt-MMC_Gimbal_Z40"> <div class="cpt-MMC_Gimbal_Z40" v-interact>
<div class="hd" v-interact> <div class="hd">
<!-- v-interact -->
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount_head.png" /> <img src="../assets/images/mount_head.png" />
<div class="title">高清变焦相机Z40S</div> <div class="title">高清变焦相机Z40S</div>
......
<!-- 高清变焦相机 --> <!-- 高清变焦相机 -->
<template> <template>
<div class="ofh waibi"> <div class="ofh waibi" v-interact>
<div class="wih00 pr mountControllerTitle" v-interact> <div class="wih00 pr mountControllerTitle">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount_head.png" /> <img src="../assets/images/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="ovh mountControllerBox"> <div class="ovh mountControllerBox" v-interact>
<div class="wih00 pr mountControllerTitle" v-interact> <div class="wih00 pr mountControllerTitle">
<div class="left ml8"> <div class="left ml8">
<img src="../assets/images/mount_head.png" /> <img src="../assets/images/mount_head.png" />
<div class="title">高清变焦相机</div> <div class="title">高清变焦相机</div>
......
<template> <template>
<div class="ovh mountControllerBox"> <div class="ovh mountControllerBox" v-interact>
<div class="wih00 h40 fix mountControllerTitle" v-interact> <div class="wih00 h40 fix mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">双光</div> <div class="fl ml20 lh40 mr30 cfc fw700">双光</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
</div> </div>
......
<template> <template>
<div class="mountControllerBox"> <div class="mountControllerBox" v-interact>
<div class="wih00 fix h40 mountControllerTitle" v-interact> <div class="wih00 fix h40 mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">霹雳火S79</div> <div class="fl ml20 lh40 mr30 cfc fw700">霹雳火S79</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
</div> </div>
......
<template> <template>
<div class="ovh mountControllerBox"> <div class="ovh mountControllerBox" v-interact>
<div class="wih00 fix h40 mountControllerTitle" v-interact> <div class="wih00 fix h40 mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">探照灯</div> <div class="fl ml20 lh40 mr30 cfc fw700">探照灯</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
......
<template> <template>
<div class="mountControllerBox"> <div class="mountControllerBox" v-interact>
<div class="wih00 ht40 fix mountControllerTitle" v-interact> <div class="wih00 ht40 fix mountControllerTitle">
<div class="fl ml10 lh40 mr30 cfc fw700">喊话器</div> <div class="fl ml10 lh40 mr30 cfc fw700">喊话器</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
......
<template> <template>
<div class="ofh mountControllerBox"> <div class="ofh mountControllerBox" v-interact>
<div class="wih00 h40 fix mountControllerTitle" v-interact> <div class="wih00 h40 fix mountControllerTitle">
<div class="fl ml20 lh40 mr30 cfc fw700">飞鹰抛投器</div> <div class="fl ml20 lh40 mr30 cfc fw700">飞鹰抛投器</div>
<div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div> <div class="fr lh40 cfc mr20 cp" @click="$emit('close')">关闭</div>
</div> </div>
......
<template> <template>
<div class="content"> <div class="content" v-interact>
<div class="content_head" v-interact> <div class="content_head">
<div class="left"> <div class="left">
<img src="../../assets/images/mount_head.png" /> <img src="../../assets/images/mount_head.png" />
<div class="font">车流识别</div> <div class="font">车流识别</div>
......
<template> <template>
<div class="content"> <div class="content" v-interact>
<div class="content_head" v-interact> <div class="content_head">
<div class="left"> <div class="left">
<img src="../../assets/images/mount_head.png" /> <img src="../../assets/images/mount_head.png" />
<div class="font">车辆识别</div> <div class="font">车辆识别</div>
......
<template> <template>
<div class="content"> <div class="content" v-interact>
<div class="content_head" v-interact> <div class="content_head">
<div class="left"> <div class="left">
<img src="../../assets/images/mount_head.png" /> <img src="../../assets/images/mount_head.png" />
<div class="font">人脸识别</div> <div class="font">人脸识别</div>
......
...@@ -123,8 +123,6 @@ export default { ...@@ -123,8 +123,6 @@ export default {
var canvas = document.createElement("canvas"); var canvas = document.createElement("canvas");
canvas.width = video.clientWidth; canvas.width = video.clientWidth;
canvas.height = video.clientHeight; canvas.height = video.clientHeight;
var img = document.createElement("img");
img.src = canvas.toDataURL("image/png");
const ctx = canvas.getContext("2d"); const ctx = canvas.getContext("2d");
ctx.drawImage(video, 0, 0, canvas.width, canvas.height); // 将video中的数据绘制到canvas里 ctx.drawImage(video, 0, 0, canvas.width, canvas.height); // 将video中的数据绘制到canvas里
// const image = canvas.toDataURL("image/png"); // const image = canvas.toDataURL("image/png");
......
...@@ -98,12 +98,12 @@ import { Utils } from "../../../../../../lib/cesium"; ...@@ -98,12 +98,12 @@ import { Utils } from "../../../../../../lib/cesium";
import { mapState } from "vuex"; import { mapState } from "vuex";
import { flightTaskAPI } from "../../../../../../api"; import { flightTaskAPI } from "../../../../../../api";
import { nanoid } from "nanoid"; import { nanoid } from "nanoid";
import svgFace from './assets/images/face.svg'; import svgFace from "./assets/images/face.svg";
import svgCar from './assets/images/car.svg'; import svgCar from "./assets/images/car.svg";
import svgPeople from './assets/images/people.svg'; import svgPeople from "./assets/images/people.svg";
import svgSwim from './assets/images/swim.svg'; import svgSwim from "./assets/images/swim.svg";
import svgYan from './assets/images/yan.svg'; import svgYan from "./assets/images/yan.svg";
import svgThings from './assets/images/things.svg'; import svgThings from "./assets/images/things.svg";
export default { export default {
props: { props: {
...@@ -112,7 +112,7 @@ export default { ...@@ -112,7 +112,7 @@ export default {
default: () => ({}), default: () => ({}),
}, },
}, },
inject: ['bus'], inject: ["bus", "rootNode"],
data() { data() {
return { return {
disable: true, // 生成航线按钮是否可用 disable: true, // 生成航线按钮是否可用
...@@ -281,9 +281,13 @@ export default { ...@@ -281,9 +281,13 @@ export default {
_this.pointInfo = data; _this.pointInfo = data;
_this.infoShow = true; _this.infoShow = true;
_this.getDe(); _this.getDe();
console.log(_this.pointList, "actitiiti"); console.log("新增航点", _this.pointList);
}); });
function blobToBase64(blob, callback) { function blobToBase64(blob, callback) {
if(!blob){
callback(null);
return;
}
let reader = new FileReader(); let reader = new FileReader();
reader.onload = () => { reader.onload = () => {
callback(reader.result); callback(reader.result);
...@@ -397,7 +401,7 @@ export default { ...@@ -397,7 +401,7 @@ export default {
}, },
async getLineName() { async getLineName() {
let filename = ""; let filename = "";
filename = `${this.userInfo.userName}-巡查-${Date.now()}`; filename = `${this.userInfo.username}-巡查-${Date.now()}`;
this.lineNameAI = filename; this.lineNameAI = filename;
}, },
async saveLine() { async saveLine() {
...@@ -433,48 +437,31 @@ export default { ...@@ -433,48 +437,31 @@ export default {
}); });
let time = parseInt(distance / 6); let time = parseInt(distance / 6);
let flight = { let waypoints = this.pointList.map((val) => {
filename: this.lineNameAI, return {
line: { altitude: val.alt,
baseSpeed: this.speed, coordinate: {
}, latitude: val.lat,
points: this.pointList, longitude: val.lon,
}; },
let waypoints = []; frame: 3,
this.pointList.forEach((val) => { speed: this.speed,
let data = { stay: 0,
uuid: nanoid(), waypointActions: val.actions,
latitude: val.lat,
longitude: val.lon,
alt: val.alt,
speed: flight.line.baseSpeed,
actions: val.actions,
pitchAngle: 0,
yawAngle: val.heading,
}; };
waypoints.push(data);
}); });
flight.content = waypoints;
let data = { let data = {
altitude: waypoints[0].alt, content: waypoints,
content: JSON.stringify(flight),
distance, distance,
dutyOrganizationId: "", dutyOrganizationId: "",
height: waypoints[0].alt, // name: this.lineNameAI,
name: this.lineNameAI,
pitch: 0,
pointCount: this.pointList.length,
speed: this.speed, speed: this.speed,
time: 521,
yaw: waypoints[0].heading,
}; };
let res = await flightTaskAPI.addFlight(data); this.rootNode.$emit('uavAirwayAdd', {
airway: data
});
this.$emit("close"); this.$emit("close");
if (res.code === 0) {
this.$message.success("航线已生成!");
this.bus.$emit('getFlyway');
}
}, 0); }, 0);
}, },
}, },
...@@ -520,7 +507,7 @@ export default { ...@@ -520,7 +507,7 @@ export default {
background: url("./assets/images/btn_lan.png") no-repeat; background: url("./assets/images/btn_lan.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
color: #fff; color: #fff;
opacity: 1, opacity: 1;
} }
.close { .close {
margin-left: 33px; margin-left: 33px;
......
...@@ -12,6 +12,11 @@ import { ...@@ -12,6 +12,11 @@ import {
SrsRtcPlayerAsync, SrsRtcPlayerAsync,
SrsRtcFormatSenders, SrsRtcFormatSenders,
} from "./srs.sdk"; } from "./srs.sdk";
import html2canvas from 'html2canvas';
import {
dataURLToBlob,
canvasToDataURL,
} from "../../../../../../utils/image-tool";
const $ = jquery; const $ = jquery;
window.$ = $; window.$ = $;
...@@ -83,7 +88,7 @@ export default { ...@@ -83,7 +88,7 @@ export default {
}); });
} }
if (this.fpvUrl) { if (this.fpvUrl?.vUrl) {
this.sdk = new SrsRtcPlayerAsync(); this.sdk = new SrsRtcPlayerAsync();
this.$refs["fpv"].srcObject = this.sdk.stream; this.$refs["fpv"].srcObject = this.sdk.stream;
this.sdk this.sdk
...@@ -105,6 +110,26 @@ export default { ...@@ -105,6 +110,26 @@ export default {
video.play(); video.play();
}, 200); }, 200);
}, },
screenShot() {
let video = {};
let scale = 1;
// video = this.$refs.video;
video = this.$refs.webrtc;
if (!video) {
return null;
}
video.useCORS = true; // 解决跨域
video.crossOrigin = "Anonymous"; // 这两个参数必填 解决跨域
var canvas = document.createElement("canvas");
canvas.width = video.clientWidth;
canvas.height = video.clientHeight;
const ctx = canvas.getContext("2d");
ctx.drawImage(video, 0, 0, canvas.width, canvas.height); // 将video中的数据绘制到canvas里
// const image = canvas.toDataURL("image/png");
const image = canvasToDataURL(canvas);
let blob = dataURLToBlob(image);
return blob;
},
}, },
}; };
</script> </script>
......
<template> <template>
<div class="content"> <div class="content" v-interact>
<div class="content_head" v-interact> <div class="content_head">
<div class="left"> <div class="left">
<img src="../../assets/images/mount_head.png" /> <img src="../../assets/images/mount_head.png" />
<div class="font">人流识别</div> <div class="font">人流识别</div>
......
...@@ -339,4 +339,7 @@ export default { ...@@ -339,4 +339,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.player {
z-index: 1 !important;
}
</style> </style>
...@@ -382,6 +382,14 @@ export default { ...@@ -382,6 +382,14 @@ export default {
color: #ffffff; color: #ffffff;
} }
.el-input-group__append {
font-size: 20px;
}
.el-autocomplete {
width: 100%;
}
.el-radio { .el-radio {
color: #fff; color: #fff;
} }
......
...@@ -9,24 +9,10 @@ export default { ...@@ -9,24 +9,10 @@ export default {
let it = interact(el).draggable({ let it = interact(el).draggable({
listeners: { listeners: {
start(event) { start(event) {
let els = document.querySelectorAll(".cpt-dialog"); el.style.zIndex = 999;
for (let i = 0; i < els.length; i++) {
if (els[i].style.zIndex == 99 || els[i].style.zIndex == 88) {
els[i].style.zIndex = 88;
} else {
els[i].style.zIndex = 10;
}
}
if (val && val.top) {
el.style.zIndex = 99;
} else {
el.style.zIndex = 20;
}
el.parentElement.style.zIndex = 999;
}, },
move(event) { move(event) {
var target = event.target.parentElement; var target = event.target;
// keep the dragged position in the data-x/data-y attributes // keep the dragged position in the data-x/data-y attributes
var x = (parseFloat(target.getAttribute("data-x")) || 0) + event.dx; var x = (parseFloat(target.getAttribute("data-x")) || 0) + event.dx;
var y = (parseFloat(target.getAttribute("data-y")) || 0) + event.dy; var y = (parseFloat(target.getAttribute("data-y")) || 0) + event.dy;
...@@ -39,6 +25,8 @@ export default { ...@@ -39,6 +25,8 @@ export default {
target.setAttribute("data-x", x); target.setAttribute("data-x", x);
target.setAttribute("data-y", y); target.setAttribute("data-y", y);
}, },
end(event){
}
}, },
inertia: true, inertia: true,
modifiers: [ modifiers: [
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论