From ecc89fd2f61441ea03a264f6111a6089ce4ed2aa Mon Sep 17 00:00:00 2001
From: jihongshun <1151753686@qq.com>
Date: 星期一, 28 七月 2025 10:58:53 +0800
Subject: [PATCH] 视锥体保存更新

---
 src/views/system/model/components/modelDialog.vue |   71 ++++++++++++++++-------------------
 1 files changed, 33 insertions(+), 38 deletions(-)

diff --git a/src/views/system/model/components/modelDialog.vue b/src/views/system/model/components/modelDialog.vue
index 0ed2cac..ab34088 100644
--- a/src/views/system/model/components/modelDialog.vue
+++ b/src/views/system/model/components/modelDialog.vue
@@ -13,8 +13,11 @@
                 :value="dict.value"></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item label="妯″瀷楂樺害" prop="modelHeight">
+            <el-input v-model="form.modelHeight" placeholder="璇疯緭鍏ユā鍨嬮珮搴�" />
+          </el-form-item>
           <el-form-item label="鏂囦欢涓婁紶" prop="modelRoute">
-            <el-upload class="upload-demo" action="" :auto-upload="false" accept=""
+            <el-upload class="upload-demo" action="" :auto-upload="false" accept=".glb"
                 :on-change="getFile" :limit="1">
                 <div class="icon-bg-box icon-bg-box1">
                   <el-icon ><PictureFilled /> </el-icon>
@@ -42,6 +45,7 @@
 
 <script>
 import cesiumMapNoSelect from "@/components/common/cesiumMapNoSelect.vue";
+import { uploadFile} from "@/api/system/device"
 export default {
   name: 'modelManage',
   components: { cesiumMapNoSelect },
@@ -66,9 +70,9 @@
         modelName: [
           { required: true, message: '璇疯緭鍏ユā鍨嬪悕绉�', trigger: 'blur' }
         ],
-        deptId: [
-          { required: true, message: '褰掑睘閮ㄩ棬' } // trigger鐩戝惉涓嶅埌 浣跨敤@input鍗曠嫭鏍¢獙vue-treeSelect琛ㄥ崟椤�
-        ]
+        modelHeight: [
+          { required: true, message: '璇疯緭鍏ユā鍨嬪悕绉�', trigger: 'blur' }
+        ],
       },
       // 閮ㄩ棬鏁版嵁
       deptOptions: null,
@@ -87,7 +91,7 @@
           this.open = true
           this.$nextTick(() => {
             this.$refs.cesiumMapNoSelect.clearMap()
-            this.addModel()
+            this.addModel(this.form)
           })
         })
       } else {
@@ -106,7 +110,7 @@
       // formData.append("type", 'pic');
       //涓婁紶鍥剧墖鐨勬帴鍙�
       uploadFile(formData).then(res => {
-        this.$set(this.form, 'modelRoute', res.data.url)
+        this.$set(this.form, 'modelRoute', res.url)
       })
     },
     handleSelectAddress(data) {
@@ -123,52 +127,43 @@
     submitForm() {
       this.$refs["form"].validate(valid => {
         console.log(this.form)
-        // if (valid) {
-        //   this.$api.save('work/tower/', 'id', Object.assign({}, this.form)).then(res => {
-        //     this.form = {}
-        //     this.$emit('on-submit')
-        //     this.open = false
-        //   })
-        // }
+        
+        if (valid) {
+          this.$api.save('tower/model/', 'id', Object.assign({}, this.form)).then(res => {
+            this.form = {}
+            this.$emit('on-submit')
+            this.open = false
+          })
+        }
       });
     },
-    addModel(){
+    addModel(row){
       console.log(window)
       console.log(window.viewer)
-      // viewer.entities.add({
-      //   position: Cesium.Cartesian3.fromDegrees(0, 0, 0),
-      //   model: {
-      //     uri: "/Model/tower.glb",
-      //     scale: 10000,
-      //     minimumPixelSize: 50,
-      //   },
-      // });
-      // const position = Cesium.Cartesian3.fromDegrees(139.745433, 35.658581, 0);
       const position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
 
       // 璁剧疆妯″瀷鏂瑰悜锛堝彲閫夛級
-      const heading = Cesium.Math.toRadians(135); // 鏈濅笢鍗楁柟鍚�
+      const heading = Cesium.Math.toRadians(0); // 鏈濅笢鍗楁柟鍚�
       const pitch = 0;
       const roll = 0;
       const orientation = Cesium.Transforms.headingPitchRollQuaternion(
         position,
         new Cesium.HeadingPitchRoll(heading, pitch, roll)
       );
+      if(row){
+        const entity = viewer.entities.add({
+          name: "MyModel",
+          position: position,
+          orientation: orientation,
+          model: {
+            uri: row.modelRoute, // 鏇挎崲鎴愪綘鐨勬ā鍨嬭矾寰�
+          },
+        });
+        console.log(entity)
 
-      // 鍔犺浇 glTF 妯″瀷
-      const entity = viewer.entities.add({
-        name: "MyModel",
-        position: position,
-        orientation: orientation,
-        model: {
-          uri: "/Model/tower.glb", // 鏇挎崲鎴愪綘鐨勬ā鍨嬭矾寰�
-          scale: 1000,
-        },
-      });
-      console.log(entity)
-
-      // 椋炶鍒版ā鍨嬩綅缃�
-      viewer.flyTo(entity)
+        // 椋炶鍒版ā鍨嬩綅缃�
+        viewer.flyTo(entity)
+      }
     },
     cancel() {
       this.$refs.cesiumMapNoSelect.clearMap()

--
Gitblit v1.9.3