whx 11 ay önce
ebeveyn
işleme
dde301b5cd
32 değiştirilmiş dosya ile 346 ekleme ve 29 silme
  1. 19 11
      virgo.wzfrontend/console/src/components/work/common/model.vue
  2. 9 2
      virgo.wzfrontend/console/src/router/modules/operation.js
  3. 40 2
      virgo.wzfrontend/console/src/uitls/controls.js
  4. 20 1
      virgo.wzfrontend/console/src/views/system/log.vue
  5. 241 0
      virgo.wzfrontend/console/src/views/work/operation/device/indoor.vue
  6. 1 1
      virgo.wzfrontend/src/main/resources/static/index.html
  7. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/1315.12ef80f5.css
  8. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/1843.0a49a5bb.css
  9. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/2375.0a49a5bb.css
  10. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/3871.7c138caa.css
  11. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/786.61575138.css
  12. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/924.61575138.css
  13. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/3697-legacy.a27f26cf.js
  14. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/3697.98b95963.js
  15. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1843-legacy.3c492fe6.js
  16. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2375.a704fbac.js
  17. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/2527-legacy.6f50ef07.js
  18. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/2527-legacy.bf2e689d.js
  19. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/2527.d6bb0f6f.js
  20. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3871-legacy.d322e178.js
  21. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/3871.d54d4fb4.js
  22. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/4304.534e00d2.js
  23. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/4984.10e4a8ff.js
  24. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/5314-legacy.2d6ed115.js
  25. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/6970-legacy.16bf11f6.js
  26. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/6970.b131ce1f.js
  27. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/7022-legacy.7c97d60b.js
  28. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/786.a0fa2abf.js
  29. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/924-legacy.50164b62.js
  30. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/app-legacy.fe4f8611.js
  31. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/app.0486b8af.js
  32. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/app.b3e9bd0e.js

+ 19 - 11
virgo.wzfrontend/console/src/components/work/common/model.vue

@@ -448,26 +448,26 @@
 				indoorState: {
 					"name": "persp",
 					"position": {
-						"x": 34490.39166681019,
-						"y": -4446.200151936504,
-						"z": 87475.5269349177
+						"x": 10566.259694957296,
+						"y": -2920.5585095707893,
+						"z": 2227.418599240323
 					},
 					"target": {
-						"x": 81134.74413480613,
-						"y": 42198.323650018305,
-						"z": 40831.34580150999
+						"x": 7355.281398915804,
+						"y": -21190.64334795937,
+						"z": 206.02268070395849
 					},
 					"up": {
 						"x": 0,
-						"y": -0.0000036732051026200687,
+						"y": -0.0000036732051125063344,
 						"z": 0.9999999999932538
 					},
-					"near": 6.632204869802914,
-					"far": 62067.1589508684,
-					"zoom": 2.8738694845972517,
+					"near": 1.0400857793302378,
+					"far": 8442.583401822878,
+					"zoom": 1,
 					"version": 1,
 					"fov": 45,
-					"aspect": 2.133676092544987,
+					"aspect": 1.3531073446327684,
 					"coordinateSystem": "world"
 				},
 				outdoorState: {
@@ -1129,6 +1129,7 @@
 								}, data => {})
 							} else if (this.type === 'indoor') {
 								this.bimViewer.setCameraState(this.indoorState);
+								this.bimViewer.setLight();
 							} else if (this.type === 'outdoor') {
 								this.bimViewer.setCameraState(this.outdoorState);
 								this.bimViewer.overrideComponentsColorByObjectData();
@@ -1349,6 +1350,13 @@
 				} else {
 					this.bimViewer.removeGlowEffectById(ids);
 				}
+			},
+			indoor(isOpen, ids) {
+				if (isOpen) {
+					this.bimViewer.setLightShow(ids);
+				} else {
+					this.bimViewer.clearLight();
+				}
 			}
 		},
 	}

+ 9 - 2
virgo.wzfrontend/console/src/router/modules/operation.js

@@ -36,9 +36,16 @@ const operation = [{
 }, {
 	path: 'operation/device/outdoor',
 	component: () => import('@/views/work/operation/device/outdoor'),
-	name: '照明设备',
+	name: '室外照明',
 	meta: {
-		title: '照明设备'
+		title: '室外照明'
+	}
+}, {
+	path: 'operation/device/indoor',
+	component: () => import('@/views/work/operation/device/indoor'),
+	name: '室内照明',
+	meta: {
+		title: '室内照明'
 	}
 }]
 export default operation;

+ 40 - 2
virgo.wzfrontend/console/src/uitls/controls.js

@@ -10,7 +10,8 @@ class bimView {
 				fileId: '',
 				objectId: ''
 			},
-			extObjMng, roomEditorToolbar, bimIntegrateId, roamAngle, wallEffect;
+			extObjMng, roomEditorToolbar, bimIntegrateId, roamAngle, wallEffect, lightMng, directionalLight,
+			bloomEffectConfig, bloomEffect;
 		dom = arg.dom
 		viewToken = arg.viewToken;
 		renderSuccess = arg.renderSuccess;
@@ -484,7 +485,7 @@ class bimView {
 			model3D.getComponentsByConditions(query, data => {
 				this.setGlowEffectById(data);
 			})
-		}
+		}
 		this.removeGlowEffectById = (ids) => {
 			model3D.removeGlowEffectById(ids);
 			viewer3D.render();
@@ -602,6 +603,43 @@ class bimView {
 			// 构造电子围墙扫描效果对象
 			wallEffect = new Glodon.Bimface.Plugins.Animation.WallEffect(wallEffectConfig);
 		}
+		this.setLight = () => {
+			if (!lightMng) lightMng = viewer3D.getLightManager();
+			// 获取默认用于控制投影的方向光
+			if (!directionalLight) directionalLight = lightMng.getAllDirectionalLights()[0];
+			// 开启阴影
+			directionalLight.enableShadow(true);
+			// 设置曝光补偿量
+			viewer3D.setExposureShift(-0.1);
+		}
+		this.setLightShow = (ids) => {
+			console.log(model3D);
+			if (!bloomEffectConfig) {
+				// 构造辉光效果的配置项
+				bloomEffectConfig = new Glodon.Bimface.Plugins.Effect.BloomEffectConfig();
+				// 设置构件ID数组、强度、扩散程度、viewer参数
+				bloomEffectConfig.ids = [{
+					"modelId": model3D.modelId,
+					"objectIds": ids
+				}];
+				bloomEffectConfig.intensity = 0.8;
+				bloomEffectConfig.spread = 4;
+				bloomEffectConfig.viewer = viewer3D;
+				// 构造辉光效果
+				bloomEffect = new Glodon.Bimface.Plugins.Effect.BloomEffect(bloomEffectConfig);
+			} else {
+				bloomEffect.setIds([{
+					"modelId": model3D.modelId,
+					"objectIds": ids
+				}])
+				bloomEffect.update();
+			}
+			viewer3D.render();
+		}
+		this.clearLight=()=>{
+			bloomEffect.clear();
+			viewer3D.render();
+		}
 		this.destroy = () => {
 			console.log('销毁场景');
 			viewer3D.destroy();

+ 20 - 1
virgo.wzfrontend/console/src/views/system/log.vue

@@ -145,7 +145,8 @@
 			<el-timeline-item timestamp="2024-07-02" placement="top">
 				<div class="log-box">
 					<div class="log-item">1、新增运维管理-模型设备,展示BIM模型。</div>
-					<div class="log-item">2、实现部分小程序页面(<span class="download-item" @click="download(13809)">点击下载</span>)。
+					<div class="log-item">
+						2、实现部分小程序页面(<span class="download-item" @click="download(13809)">点击下载</span>)。
 					</div>
 				</div>
 			</el-timeline-item>
@@ -164,10 +165,28 @@
 				<div class="log-box">
 					<div class="log-item">
 						1、新增监控设备功能。
+					</div>
+					<div class="log-item">
 						2、新增照明设备功能,开关灯能在模型上体现。
 					</div>
 				</div>
 			</el-timeline-item>
+			<el-timeline-item timestamp="2024-07-04" placement="top">
+				<div class="log-box">
+					<div class="log-item">
+						1、新增室内照明功能。
+					</div>
+					<div class="log-item">
+						2、设计部分小程序UI页面:
+						<div class="log-item">
+							1、登录-首页-房源-个人中心(<span class="download-item" @click="download(13819)">点击下载</span>)。
+						</div>
+						<div class="log-item">
+							2、工单工功能(<span class="download-item" @click="download(13820)">点击下载</span>)。
+						</div>
+					</div>
+				</div>
+			</el-timeline-item>
 		</el-timeline>
 	</div>
 </template>

+ 241 - 0
virgo.wzfrontend/console/src/views/work/operation/device/indoor.vue

@@ -0,0 +1,241 @@
+<template>
+	<div class="yui-tree-box">
+		<select-space></select-space>
+		<div class="hui-tree-content">
+			<div class="indoor box-background">
+				<div class="indoor-box">
+					<div class="indoor-center">
+						<div class="bim-box" style="margin-top: 0;">
+							<model ref="model" type="indoor" fileId="10000746828136"></model>
+						</div>
+					</div>
+					<div class="indoor-right color-font">
+						<div class="light-operation">
+							<div class="indoor-title">
+								<div class="hui-chart-title">
+									照明控制
+								</div>
+							</div>
+							<div class="operation">
+								<div class="hui-operation">
+									<div class="operation-item">
+										<div class="operation-label">
+											<span class="label">开灯数</span>
+											<span class="number alibaba">0</span>
+										</div>
+										<div class="operation-test">
+											<div class="test-number" style="width:0%;background: #F9B115;"></div>
+										</div>
+									</div>
+									<div class="operation-item">
+										<div class="operation-label">
+											<span class="label">关闭数</span>
+											<span class="number alibaba">1</span>
+										</div>
+										<div class="operation-test">
+											<div class="test-number" style="width:100%;background: #BDC7DB;"></div>
+										</div>
+									</div>
+								</div>
+								<div class="light-list">
+									<div class="light-item">
+										<div class="item-box">
+											<div class="light-top">
+												<i class="iconfont huifont-zhaoming"></i>
+												<el-switch v-model="value" @change="changeDoor"></el-switch>
+											</div>
+											<div class="label hui-ellipsis">
+												照明1
+											</div>
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import testAlarm from '@/components/work/common/testAlarm'
+	import selectSpace from '@/components/work/common/selectSpace'
+	import model from '@/components/work/common/model'
+	export default {
+		data() {
+			return {
+				value: false
+			}
+		},
+		methods: {
+			changeDoor() {
+				this.$refs.model.indoor(this.value, ['2828342']);
+			}
+		},
+		components: {
+			testAlarm,
+			selectSpace,
+			model
+		}
+	}
+</script>
+
+<style lang="scss">
+	.indoor {
+		width: 100%;
+		height: 100%;
+		padding: 20px;
+		overflow: auto;
+
+		.indoor-title {
+			padding: 20px 20px 0 20px;
+			margin-bottom: 12px;
+		}
+
+		.indoor-box {
+			width: 100%;
+			height: 100%;
+			min-width: 1100px;
+			min-height: 699px;
+			display: flex;
+		}
+
+		.indoor-center {
+			flex: 1;
+			width: 0;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+		}
+
+		.indoor-right {
+			height: 100%;
+			width: 350px;
+			background: rgba(0, 4, 10, 0.3);
+			margin-left: 12px;
+			display: flex;
+			flex-direction: column;
+		}
+
+		.light-operation {
+			flex: 1;
+			height: 0;
+			display: flex;
+			flex-direction: column;
+
+			.operation {
+				flex: 1;
+				height: 0;
+				overflow-y: auto;
+				padding: 0px 10px 0px 20px;
+			}
+		}
+
+		.curtain-list {
+			.curtain-item {
+				height: 180px;
+				background: #1E2430;
+				border-radius: 8px;
+				margin-top: 12px;
+				padding: 16px 12px;
+			}
+
+			.curtain-title {
+				margin-bottom: 10px;
+			}
+
+			.curtain-box {
+				text-align: center;
+				margin-bottom: 26px;
+				justify-content: center;
+			}
+
+			.huifont-chuanglian {
+				font-size: 56px;
+				color: #576171;
+			}
+
+			.curtain-operation {
+				display: flex;
+				justify-content: center;
+			}
+
+			.curtain-operation-item {
+				width: 32px;
+				line-height: 24px;
+				background: rgba(255, 255, 255, 0.1);
+				border-radius: 4px;
+				text-align: center;
+				cursor: pointer;
+				margin: 0 6px;
+			}
+
+			.curtain-operation-item:hover {
+				color: $--color-primary;
+				background: rgba(51, 113, 255, 0.1);
+			}
+		}
+
+		.light-list {
+			display: flex;
+			flex-wrap: wrap;
+
+			.light-line {
+				width: 10px;
+			}
+
+			.light-top {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				i {
+					font-size: 28px;
+				}
+			}
+
+			.light-item {
+				flex: 1;
+				min-width: 33.33333%;
+				margin-top: 12px;
+				padding-right: 10px;
+			}
+
+			.item-box {
+				height: 100px;
+				padding: 14px 10px 16px 10px;
+				background: #1E2430;
+				border-radius: 8px;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+			}
+
+			.el-switch {
+				.el-switch__core {
+					width: 24px !important;
+					height: 12px;
+					line-height: 12px;
+					background: rgba(255, 255, 255, 0.2);
+					border: none;
+				}
+			}
+
+			.el-switch.is-checked .el-switch__core {
+				background: $--color-primary;
+			}
+
+			.el-switch .el-switch__core::after {
+				width: 10px;
+				height: 10px;
+				top: 1px;
+			}
+
+			.el-switch.is-checked .el-switch__core::after {
+				margin-left: -10px;
+			}
+		}
+	}
+</style>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/index.html


virgo.wzfrontend/src/main/resources/static/static/css/3697.12ef80f5.css → virgo.wzfrontend/src/main/resources/static/static/css/1315.12ef80f5.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/1843.0a49a5bb.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/css/2375.0a49a5bb.css


virgo.wzfrontend/src/main/resources/static/static/css/6970.7c138caa.css → virgo.wzfrontend/src/main/resources/static/static/css/3871.7c138caa.css


virgo.wzfrontend/src/main/resources/static/static/css/4304.61575138.css → virgo.wzfrontend/src/main/resources/static/static/css/786.61575138.css


virgo.wzfrontend/src/main/resources/static/static/css/7022.61575138.css → virgo.wzfrontend/src/main/resources/static/static/css/924.61575138.css


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/3697-legacy.a27f26cf.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/3697.98b95963.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/1843-legacy.3c492fe6.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2375.a704fbac.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/2527-legacy.6f50ef07.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/2527-legacy.bf2e689d.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/2527.d6bb0f6f.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3871-legacy.d322e178.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/3871.d54d4fb4.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/4304.534e00d2.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/4984.10e4a8ff.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/5314-legacy.2d6ed115.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/6970-legacy.16bf11f6.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/6970.b131ce1f.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/7022-legacy.7c97d60b.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/786.a0fa2abf.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/924-legacy.50164b62.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/app-legacy.fe4f8611.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/app.0486b8af.js


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/app.b3e9bd0e.js