forked from drone/command-center-dashboard

zhongrj
2025-04-21 07360ad073b3fd82da76b7740cafc25518ca3e15
src/views/Home/AINowFly.vue
@@ -16,14 +16,14 @@
         <!--         todo-->
         <el-form-item label="飞行事件">
            <div class="event">
               <img src="@/assets/images/aiNowFly/picture-recording.png" alt="">
               <img src="../../assets/images/aiNowFly/event/startRecord.png" alt="">
               <div class="img-close" v-show="isPhoto">
                  <img @click="isPhoto=false" class="close" src="@/assets/images/aiNowFly/close.png" alt="">
                  <img src="@/assets/images/aiNowFly/photo.png" alt="">
                  <img src="../../assets/images/aiNowFly/event/takePhoto.png" alt="">
               </div>
               <div class="img-close" v-show="isStop">
                  <img @click="isStop=false" class="close" src="@/assets/images/aiNowFly/close.png" alt="">
                  <img src="@/assets/images/aiNowFly/stop.png" alt="">
                  <img src="../../assets/images/aiNowFly/event/hover.png" alt="">
               </div>
               <div class="add-event" @click="isShowEvent = !isShowEvent">+
                  <div class="event-select" v-show="isShowEvent">
@@ -50,8 +50,8 @@
               <el-checkbox v-model="item.checked" @change="handleItemCheck"/>
            </div>
            <div class="table-item">{{ item.nickname }}</div>
            <div class="table-item">{{ item.minute }}</div>
            <div class="table-item">{{ item.exe_distance }}</div>
            <div class="table-item">{{ item.minute }}(min)</div>
            <div class="table-item">{{ item.exe_distance }}(km)</div>
         </div>
      </div>
      <div class="btn-submit" @click="nowFly"><img src="@/assets/images/aiNowFly/fly.png" alt=""></div>
@@ -122,6 +122,8 @@
   await ruleFormRef.value.validate()
   if (!params.value.dock_sns.length) return ElMessage.warning('请选择将要飞行的机巢')
   if (!params.value.longitude) return ElMessage.warning('请选择飞行的点')
   // 先清除,再push
   params.value.action_modes = [{action_actuator_func:'startRecord'}]
   if (isPhoto.value) {
      params.value.action_modes.push({action_actuator_func:'takePhoto'})
   }
@@ -157,22 +159,22 @@
      label: {
        text: `预计${item.minute}分钟`,
            font: 'bold 16px Source Han Sans CN',  // 加粗并增大字号
           fillColor: new Cesium.Color(27/255, 179/255, 255/255, 1.0),
            fillColor: Cesium.Color.WHITE,
            style: Cesium.LabelStyle.FILL_AND_OUTLINE,
            verticalOrigin: Cesium.VerticalOrigin.CENTER,
            horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
            eyeOffset: new Cesium.Cartesian3(0, 0, -10),
            pixelOffset: new Cesium.Cartesian2(0, -10),
            rotation: Math.atan2(direction.y, direction.x)
           // fillColor: new Cesium.Color(27/255, 179/255, 255/255, 1.0),
            // fillColor: Cesium.Color.WHITE,
            // style: Cesium.LabelStyle.FILL_AND_OUTLINE,
            // verticalOrigin: Cesium.VerticalOrigin.CENTER,
            // horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
            // eyeOffset: new Cesium.Cartesian3(0, 0, -10),
            // pixelOffset: new Cesium.Cartesian2(0, -10),
            rotation: 12.785398, // 修改旋转计算方式
      }
    })
      viewer.entities.add({
         id: `AINow-line-${index}`,
         polyline: {
            width: 4,
            width: 2,
            positions: positionsList,
            material: new Cesium.Color(27/255, 179/255, 255/255, 1.0),
            material: index === 0 ? new Cesium.Color(2/255, 192/255, 255/255, 1) : new Cesium.Color(27/255, 179/255, 255/255, 0.4),
            clampToGround: false,
         },
      })
@@ -352,12 +354,12 @@
    :deep(.el-select__wrapper) {
      background-color: #021740;
      box-shadow: 0 0 0 1px #026AD6;
      &.is-focus {
        box-shadow: 0 0 0 1px #026AD6;
      }
    }
    :deep(.el-input__wrapper.is-disabled) {
      background-color: #021740;
      box-shadow: 0 0 0 1px #026AD6;
@@ -416,7 +418,7 @@
      padding: 0 0 14px 11px;
   }
   .tabledata {
      height: 120px;
      min-height: 120px;
      border: 1px dashed #fff;
      margin: 0px 10px;
      .table-content {
@@ -424,16 +426,21 @@
         display: flex;
         justify-content: space-between;
         align-items: center;
         border-bottom: 1px dashed #fff;
         &:not(:last-child) {
            border-bottom: 1px dashed #fff;
         }
      }
      .table-item {
         width: 100px;
         text-align: center;
         height: 32px;
         line-height: 32px;
         overflow: hidden;
         text-overflow: ellipsis;
         white-space: nowrap;
      }
   }
   .btn-submit {
      cursor: pointer;
      margin-left: 88px;