From bec1a5e6532575b221b24094471fce8c814fc7ae Mon Sep 17 00:00:00 2001
From: jihongshun <1151753686@qq.com>
Date: 星期三, 09 七月 2025 17:26:59 +0800
Subject: [PATCH] 优化算法

---
 src/views/system/project/components/chooseModelDialog.vue |  110 ++++++++++++++++++++++++++----------------------------
 1 files changed, 53 insertions(+), 57 deletions(-)

diff --git a/src/views/system/project/components/chooseModelDialog.vue b/src/views/system/project/components/chooseModelDialog.vue
index a56d779..a601599 100644
--- a/src/views/system/project/components/chooseModelDialog.vue
+++ b/src/views/system/project/components/chooseModelDialog.vue
@@ -3,18 +3,22 @@
     title="閫夋嫨妯℃澘"
     :visible.sync="dialogVisible"
     @close="cancel"
-    width="50%">
-    <el-form ref="form" :model="form" label-width="80px">
-      <el-form-item label="娲诲姩鍖哄煙">
-        <el-select v-model="form.region" placeholder="璇烽�夋嫨娲诲姩鍖哄煙">
-          <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-          <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+    width="20%">
+    <el-form ref="form" :model="form" label-width="80px" :rules="rules">
+      <el-form-item label="妯℃澘">
+        <el-select v-model="form.modelObj" placeholder="璇烽�夋嫨妯℃澘">
+          <el-option
+              v-for="item in templateArr"
+              :key="item.id"
+              :label="item.name"
+              :value="item">
+            </el-option>
         </el-select>
       </el-form-item>
-       <span slot="footer" class="dialog-footer">
-        <el-button @click="cancel">鍙� 娑�</el-button>
+      <el-form-item>
         <el-button type="primary" @click="submit">纭� 瀹�</el-button>
-      </span>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </el-form-item>
     </el-form>
   </el-dialog>
 </template>
@@ -23,10 +27,15 @@
     name:'chooseModelDialog',
     components: {
     },
+    props: {
+      deviceId: {
+        type: String,
+        defaule: null
+      }
+    },
     data() {
       return {
         dialogVisible: true,
-        showMap:false,
         tableColumns: [
             {
               label: '璁惧鍚嶇О',
@@ -37,59 +46,46 @@
               prop: 'belongingRoute'
             },
         ],
-        selectArr:[]
+        selectArr:[],
+        form:{},
+        templateArr:[
+          {
+            id:111,
+            name:'妯℃澘1'
+          },
+          {
+            id:222,
+            name:'妯℃澘2'
+          },
+          {
+            id:333,
+            name:'妯℃澘3'
+          }
+        ],
+        rules:{
+          modelObj: [
+            { required: true, message: '璇烽�夋嫨妯℃澘', trigger: 'change' }
+          ]
+        }
       };
     },
+    mounted() {
+      console.log(this.deviceId)
+      if(this.deviceId){
+        //鐐瑰嚮妯℃澘鏌ヨ璁惧涓嬬殑鍏宠仈妯″瀷鐨勬墍鏈夋ā鏉� 
+      }
+    },  
     methods: {
       cancel(){
-        this.showMap = false
-        this.$emit('cancel')
-      },
-      chooseRow(row){
-        this.showMap = false
-        this.$emit('cancel')
-        this.$emit('getRowData',row)
-      },  
+        this.$emit('cancelModel')
+      }, 
       submit(){
         // this.selectArr 
-        this.$emit('dealChooseArr',this.selectArr)
-      },
-      clickRow(row){
-        console.log(row)
-        this.showMap =true
-        setTimeout(()=>{
-          const position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
-          // 璁剧疆妯″瀷鏂瑰悜锛堝彲閫夛級
-          // const heading = Cesium.Math.toRadians(135); // 鏈濅笢鍗楁柟鍚�
-          let model = viewer.entities.getById("modelList");
-          const heading = Cesium.Math.toRadians(120); // 鏈濅笢鍗楁柟鍚�
-          const pitch = 0;
-          const roll = 0;
-          const orientation = Cesium.Transforms.headingPitchRollQuaternion(
-            position,
-            new Cesium.HeadingPitchRoll(heading, pitch, roll)
-          );
-          if(!model) {
-            // 鍔犺浇 glTF 妯″瀷
-            const entity = viewer.entities.add({
-              id: "modelList",
-              name: "modelList",
-              position: position,
-              orientation: orientation,
-              model: {
-                uri: row.modelRoute, // 鏇挎崲鎴愪綘鐨勬ā鍨嬭矾寰�
-                scale: 1000,
-              },
-            });
-            viewer.flyTo(entity)
-          }else {
-            model.orientation = orientation
-          }
-        },1000)
-      },
-      handleSelectionChange(selection) {
-        console.log(selection)
-        this.selectArr = selection
+        //鍙嶆樉鍙傛暟浼犻�抩ption瀵硅薄  
+        this.form.deviceId = this.deviceId
+        console.log(this.form)
+        this.$emit('receiveModel',this.form)
+        this.$emit('cancelModel')
       },
     }
   };

--
Gitblit v1.9.3