jihongshun
2 天以前 f03ea598d39abceac4eeb5f3a10b1fe7dd706b2c
src/views/system/device/components/deviceDialog.vue
@@ -20,6 +20,9 @@
            <el-input v-model="form.face" placeholder="请输入朝向"  style="width:90%;"/>
            <i class="el-icon-map-location" @click="gettiles3dCam" title="预览"></i>
          </el-form-item>
          <el-form-item label="海拔高度" prop="altitude">
            <el-input v-model="form.altitude" placeholder="请输入海拔高度" />
          </el-form-item>
        </el-form>
      </template>
      <template slot="cesium">
@@ -74,19 +77,25 @@
      this.resetForm("form");
      if (ids) {
        this.getModel()
        // 编辑
        this.$api.detail('/tower/device', ids).then(res => {
          console.log(res)
          this.form = res.data
          this.open = true
          this.$nextTick(() => {
            console.log(this.form)
            this.$refs.cesiumMapSelctPoint.showPickPoint({
              longitude: +this.form.longitude,
              latitude: +this.form.latitude,
              altitude: +this.form.altitude,
              deviceHeight: +this.form.deviceHeight,
            })
            console.log(this.modelListData)
            let url = this.modelListData.filter(item=>item.id == this.form.modelId)[0].modelRoute
            console.log(url)
            this.modelUrl = url
            const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.altitude);
            const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.deviceHeight);
            console.log(position)
            // 设置模型方向(可选)
            let model = viewer.entities.getById("MyModel");
            const heading = Cesium.Math.toRadians(this.form.face); // 朝东南方向
@@ -122,20 +131,22 @@
      }
    },
    handleSelectAddress(data) {
      console.log(data)
      this.$set(this.form, 'longitude', data.longitude)
      this.$set(this.form, 'latitude', data.latitude)
      this.$set(this.form, 'altitude', data.altitude)
      this.$set(this.form, 'deviceHeight', data.altitude)
      this.$refs.form.validateField('longitude')
      this.$refs.form.validateField('latitude')
      this.$refs.form.validateField('altitude')
      this.$refs.form.validateField('deviceHeight')
    },
    submitForm() {
      this.$refs["form"].validate(valid => {
        console.log(this.form)
        this.form.longitude = Number(this.form.longitude)
        this.form.latitude = Number(this.form.latitude)
        this.form.altitude = Number(this.form.altitude)
        this.form.deviceHeight = Number(this.form.deviceHeight)
        this.form.face = Number(this.form.face)
        this.form.altitude = Number(this.form.altitude) || 0
        if (valid) {
          this.$api.save('tower/device/', 'id', Object.assign({}, this.form)).then(res => {
            this.form = {}
@@ -178,13 +189,13 @@
        this.$message.error("请输入纬度");
        return;
      }
      if (!this.form.altitude) {
      if (!this.form.deviceHeight) {
        this.$message.error("请输入高度");
        return;
      }
      //动态经纬度朝向 加载模型位置预览
      // const position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
      const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.altitude);
      const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.deviceHeight);
      // 设置模型方向(可选)
      // const heading = Cesium.Math.toRadians(135); // 朝东南方向
      let model = viewer.entities.getById("MyModel");