jihongshun
2025-09-11 bcb67f336c2b352177884b8db6decc3fcf382bb0
src/views/system/shootPoint/components/shootPointDialog.vue
@@ -507,7 +507,7 @@
      console.log(this.treeData)
    },
    //数组 塔的精度 塔的纬度  塔的高度  半径
    insertRaisedPoints(data, centerLon, centerLat, centerHeight, radius = 10) {
    insertRaisedPoints(data, centerLon, centerLat, centerHeight, radius = 15) {
      const center = Cesium.Cartesian3.fromDegrees(centerLon, centerLat, centerHeight);
      const result = JSON.parse(JSON.stringify(data)); // 深拷贝避免污染原数据
      const inserts = []; // 用于存储插入项及其目标位置
@@ -520,7 +520,8 @@
        const cartA = Cesium.Cartesian3.fromDegrees(pointA.longitude, pointA.latitude, pointA.height);
        const cartB = Cesium.Cartesian3.fromDegrees(pointB.longitude, pointB.latitude, pointB.height);
        console.log(cartA)
        console.log(cartB)
        const closest = this.closestPointOnSegment(cartA, cartB, center);
        const distance = Cesium.Cartesian3.distance(closest, center);
        console.log(distance)
@@ -737,7 +738,6 @@
          });
      })
      console.log(this.treeData)
      this.dialogVisible = false
      // const dealArr = this.submitDealData()
      const transformed = this.treeData.map((ground, index) => {
        const pointNumber = index + 1;
@@ -752,11 +752,32 @@
              longitude: ground.longitude,
              pointNumber: 1,
              targetName: ground.label,
              actions:child.actions.map((item, index) => ({
                actionIndex: index.toString(),
                actionType: typeDictionary[item.type] || "", // 如果类型不存在字典中,默认空字符串
                actionValue: item.extra.value
              }))
              // actions:child.actions.map((item, index) => ({
              //   actionIndex: index.toString(),
              //   actionType: typeDictionary[item.type] || "", // 如果类型不存在字典中,默认空字符串
              //   actionValue: item.extra.value
              // }))
              actions:child.actions.map(action => {
                console.log(action)
                switch (action.type) {
                  case "悬停":
                    return { hoverTime: parseFloat(action.extra.value) };
                  case "变倍":
                    return { zoom: parseFloat(action.extra.value) };
                  case "开始录像":
                    return { startRecord: true };
                  case "结束录像":
                    return { stopRecord: true };
                  case "拍照":
                    // const [takePhotoType, useGlobalImageFormat] = action.actionValue.split('-');
                    return {
                      takePhotoType: 0,
                      useGlobalImageFormat: 0
                    };
                  default:
                    return {};
                }
              })
            }
          ],
          latitude: child.latitude,
@@ -778,6 +799,7 @@
          message: '新增模板成功',
          type: 'success'
        })
        this.dialogVisible = false
        this.$emit('on-submit')
        this.$emit('close')
      }