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