whx 4 月之前
父節點
當前提交
d7ae44470e
共有 88 個文件被更改,包括 508 次插入131 次删除
  1. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/all.png
  2. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/device-bg.png
  3. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/fault.png
  4. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/open.png
  5. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/sound-bg1.png
  6. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/sound-item.png
  7. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/sound-title.png
  8. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/sound.png
  9. 二進制
      virgo.wzfrontend/console/src/assets/image/environment/soundproof.png
  10. 251 41
      virgo.wzfrontend/console/src/components/common/noticeBoard/device.vue
  11. 121 4
      virgo.wzfrontend/console/src/components/work/bim/operationModel.vue
  12. 16 2
      virgo.wzfrontend/console/src/components/work/common/threeModel.vue
  13. 37 11
      virgo.wzfrontend/console/src/uitls/threeControls.js
  14. 1 2
      virgo.wzfrontend/console/src/views/work/index.vue
  15. 1 1
      virgo.wzfrontend/src/main/resources/static/console/index.html
  16. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/1490.731e3995.css
  17. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/2051.01c1f917.css
  18. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3836.c727902a.css
  19. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/5641.c727902a.css
  20. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6635.9b338b3a.css
  21. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4106.b01ee7b6.css
  22. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9805.b01ee7b6.css
  23. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/805.9b338b3a.css
  24. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9204.01c1f917.css
  25. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/2.cc2f9240.png
  26. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/4.d2c106a8.png
  27. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/all.a2cb8dd0.png
  28. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/device-bg.3ed2f4a4.png
  29. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/fault.42bef97e.png
  30. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/ju2.7cbd8284.png
  31. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/ju3.df81b180.png
  32. 二進制
      virgo.wzfrontend/src/main/resources/static/console/static/img/open.fb5ff9c0.png
  33. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1200.01a7b7b8.js
  34. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2051.9e7fc291.js
  35. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2693.5c19d7b2.js
  36. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3836-legacy.62bf9d03.js
  37. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4106.58645554.js
  38. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5013-legacy.c2f0fd24.js
  39. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5013.2dd67b88.js
  40. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5641.1d511878.js
  41. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/6635.25e150ac.js
  42. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/7072.33a03ad1.js
  43. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/7104-legacy.7833ba81.js
  44. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/7768-legacy.fb83932d.js
  45. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/805-legacy.c6e08435.js
  46. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/861-legacy.16c5d457.js
  47. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/897-legacy.5986c4f0.js
  48. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/897.02575645.js
  49. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/9204-legacy.679654fe.js
  50. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/9805-legacy.2c9f7c84.js
  51. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/app-legacy.6b25f5fc.js
  52. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/app-legacy.9588ef5d.js
  53. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/app.7b3ab0c1.js
  54. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/app.ebe0acf1.js
  55. 1 1
      virgo.wzfrontend/yui_wx/pages/highseas/highseas.vue
  56. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/build/mp-weixin/common/vendor.js
  57. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/build/mp-weixin/pages/highseas/highseas.js
  58. 2 2
      virgo.wzfrontend/yui_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-status-bar/components/uv-status-bar/uv-status-bar.json
  59. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  60. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/city/city.js.map
  61. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/highseas/highseas.js.map
  62. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/myHouse/myHouse.js.map
  63. 3 3
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/common/vendor.js
  64. 2 2
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/common/navbar.json
  65. 2 2
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/common/upload.json
  66. 2 2
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/contract/clauseDetail.json
  67. 2 2
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/device/lighting.json
  68. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/attention/attention.js
  69. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/city/city.js
  70. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/client/client.js
  71. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/clientDetail/clientDetail.js
  72. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/data/data.js
  73. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/fans/fans.js
  74. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/highseas/highseas.js
  75. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/index/index.js
  76. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/login/login.js
  77. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/message/message.js
  78. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/messageDetail/messageDetail.js
  79. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/messageList/messageList.js
  80. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/messageSystem/messageSystem.js
  81. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/my/my.js
  82. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/myDetail/myDetail.js
  83. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/myHouse/myHouse.js
  84. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/person/person.js
  85. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/project/project.js
  86. 1 1
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/projectList/projectList.js
  87. 20 13
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/project.config.json
  88. 2 2
      virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/uni_modules/hb-comment/components/hb-comment/hb-comment.json

二進制
virgo.wzfrontend/console/src/assets/image/environment/all.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/device-bg.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/fault.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/open.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/sound-bg1.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/sound-item.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/sound-title.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/sound.png


二進制
virgo.wzfrontend/console/src/assets/image/environment/soundproof.png


+ 251 - 41
virgo.wzfrontend/console/src/components/common/noticeBoard/device.vue

@@ -17,8 +17,8 @@
 							<div class="value">运维部</div>
 						</div>
 						<div class="item">
-							<div class="key">主营业务</div>
-							<div class="value">人工智能技术服务</div>
+							<div class="key">设备位置</div>
+							<div class="value">1号楼-1F</div>
 						</div>
 						<div class="item">
 							<div class="key">生产厂家</div>
@@ -147,12 +147,57 @@
 		<div class="center">
 			<div class="center-top">
 				<box label="实时数据">
-					<div ref="chart1" class="right-chart"></div>
+					<div class="device-data">
+						<div class="device-list">
+							<div class="device-item">
+								<span>设备状态</span>
+								<span class="color-green state">在线</span>
+							</div>
+							<div class="device-item">
+								<span>运行状态</span>
+								<span class="color-green state">开启</span>
+							</div>
+						</div>
+						<div class="device-test">
+							<div class="test-item">
+								<div class="test-icon all"></div>
+								<div class="test-content">
+									<div class="name">传感器数量</div>
+									<div class="number">
+										<span class="const alibaba">3</span>
+										<span class="unit">个</span>
+									</div>
+								</div>
+							</div>
+							<div class="test-item">
+								<div class="test-icon open"></div>
+								<div class="test-content">
+									<div class="name">开启数量</div>
+									<div class="number">
+										<span class="const alibaba">3</span>
+										<span class="unit">个</span>
+									</div>
+								</div>
+							</div>
+							<div class="test-item">
+								<div class="test-icon fault"></div>
+								<div class="test-content">
+									<div class="name">故障数量</div>
+									<div class="number">
+										<span class="const alibaba">0</span>
+										<span class="unit">个</span>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
 				</box>
 			</div>
 			<div class="center-bottom">
 				<box label="设备模型">
-					<three-model url="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/f1e6fc9ca6ed46e79ba18d0a3f1b73dc" :type="1">
+					<three-model
+						url="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/f1e6fc9ca6ed46e79ba18d0a3f1b73dc"
+						:type="1">
 					</three-model>
 				</box>
 			</div>
@@ -245,10 +290,113 @@
 		created() {},
 		mounted() {
 			this.$nextTick(() => {
-				this.init()
+				this.init();
+				this.chart(this.$refs.chart1, ['3:00', '6:00', '9:00', '12:00', '15:00', '18:00', '21:00',
+					'24:00'
+				], [3, 4, 2, 5, 6, 4, 7, 3])
 			})
 		},
 		methods: {
+			chart(elem, x, data) {
+				let chart = echarts.init(elem);
+				let option = {
+					tooltip: {
+						show: true,
+						trigger: 'axis',
+						formatter: function() {
+							return ''
+						},
+						backgroundColor: 'rgba(255,255,255,0)',
+						borderWidth: 0,
+						padding: 0,
+						axisPointer: {
+							lineStyle: {
+								type: 'solid',
+								color: '#4E5561',
+							}
+						}
+					},
+					grid: {
+						left: '5',
+						top: '15',
+						right: '10',
+						bottom: '0',
+						containLabel: true
+					},
+					color: ['#d39524'],
+					xAxis: {
+						type: 'category',
+						data: x,
+						axisLabel: {
+							margin: 4,
+							color: '#D0DEEE',
+							fontSize: 10
+						},
+						boundaryGap: false,
+						axisLine: {
+							lineStyle: {
+								color: '#6C8097'
+							}
+						},
+						axisTick: {
+							show: false
+						}
+					},
+					yAxis: {
+						type: 'value',
+						axisLabel: {
+							margin: 10,
+							color: '#D0DEEE',
+							fontSize: 10
+						},
+						splitLine: {
+							show: true,
+							lineStyle: {
+								color: 'rgba(108,128,151,0.3)',
+								type: 'dashed'
+							}
+						}
+					},
+					series: [{
+						data: data,
+						type: 'line',
+						symbolSize: 6,
+						areaStyle: {
+							color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+									offset: 0,
+									color: 'rgba(229,154,61,0.15)'
+								},
+								{
+									offset: 1,
+									color: 'rgba(229,154,61,0)'
+								}
+							])
+						},
+						z: 99
+					}, {
+						data: data,
+						type: 'line',
+						showSymbol: false,
+						label: {
+							show: true,
+							color: '#D0DEEE'
+						},
+						areaStyle: {
+							color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+									offset: 0,
+									color: 'rgba(229,154,61,0.15)'
+								},
+								{
+									offset: 1,
+									color: 'rgba(229,154,61,0)'
+								}
+							])
+						},
+						z: 99
+					}]
+				};
+				chart.setOption(option);
+			},
 			init() {
 				let myChart = echarts.init(this.$refs.chart2);
 				// option
@@ -269,7 +417,7 @@
 							},
 							textStyle: {
 								color: "rgba(255,255,255,.6)",
-								fontSize: 12,
+								fontSize: 10,
 							},
 						},
 						axisLine: {
@@ -295,7 +443,7 @@
 						axisLabel: {
 							textStyle: {
 								color: "rgba(255,255,255,.6)",
-								fontSize: 12,
+								fontSize: 10,
 							},
 						},
 						splitLine: {
@@ -523,40 +671,6 @@
 			align-items: center;
 		}
 
-		.test-item {
-			width: 146px;
-			height: 50px;
-			font-size: 12px;
-			background-size: 100% 100%;
-			background-repeat: no-repeat;
-			position: relative;
-			background-image: url('../../../assets/img/device/2.png');
-			position: relative;
-
-			.label {
-				position: absolute;
-				left: 35px;
-				top: 2px;
-				color: RGBA(26, 236, 104, 0.7);
-			}
-
-			.value {
-				position: absolute;
-				top: 21px;
-				left: 42px;
-				font-size: 15px;
-				color: #fff;
-			}
-		}
-
-		.alarm {
-			background-image: url('../../../assets/img/device/4.png');
-
-			.label {
-				color: RGBA(254, 61, 52, 0.7);
-			}
-		}
-
 		.record-item {
 			height: 30px;
 			display: flex;
@@ -597,6 +711,102 @@
 			padding: 10px 0;
 			display: flex;
 			flex-direction: column;
+
+			.device-data {
+				height: 140px;
+				display: flex;
+				flex-direction: column;
+			}
+
+			.device-list {
+				margin-top: 15px;
+				width: 100%;
+				display: flex;
+			}
+
+			.device-data .device-item {
+				flex: 1;
+				width: 0;
+				overflow: hidden;
+				padding: 0 16px;
+				height: 48px;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				margin-right: 18px;
+				background: url(../../../assets/image/environment/device-bg.png) no-repeat;
+				background-size: contain;
+
+			}
+
+			.device-data .device-item:last-child {
+				margin-right: 0;
+			}
+
+			.device-data .state {
+				font-weight: 500;
+			}
+
+			.device-data .device-test {
+				display: flex;
+				flex: 1;
+				height: 0;
+				align-items: center;
+			}
+
+			.device-data .test-item {
+				display: flex;
+				align-items: center;
+				flex: 1;
+				width: 0;
+				overflow: hidden;
+			}
+
+			.device-data .test-icon {
+				background-repeat: no-repeat;
+				background-size: contain;
+
+			}
+
+			.device-data .all {
+				width: 46px;
+				height: 46px;
+				margin-right: 13px;
+				background-image: url(../../../assets/image/environment/all.png);
+			}
+
+			.device-data .open {
+				width: 52px;
+				height: 46px;
+				margin-right: 7px;
+				background-image: url(../../../assets/image/environment/open.png);
+			}
+
+			.device-data .fault {
+				width: 46px;
+				height: 46px;
+				margin-right: 13px;
+				background-image: url(../../../assets/image/environment/fault.png);
+			}
+
+			.device-data .number {
+				display: flex;
+				align-items: center;
+			}
+
+			.device-data .name {
+				font-size: 12px;
+				margin-bottom: 2px;
+			}
+
+			.device-data .const {
+				font-size: 20px;
+				margin-right: 4px;
+			}
+
+			.device-data .unit {
+				font-size: 12px;
+			}
 		}
 
 		.center-bottom {

+ 121 - 4
virgo.wzfrontend/console/src/components/work/bim/operationModel.vue

@@ -31,15 +31,39 @@
 							<el-switch v-model="value" active-color="#13ce66">
 							</el-switch>
 						</div>
-						<div class="user-value" :title="item.value" v-else>{{item.value}}</div>
+						<div class="user-value" :title="item.value" v-else>
+							<span v-if="item.value === '元重构人工智能科技(上海)有限公司'" class="color-blue"
+								@click="open('1')">{{item.value}}</span>
+							<span v-else-if="item.name === '设备名称'" class="color-blue"
+								@click="open('2')">{{item.value}}</span>
+							<span v-else>{{item.value}}</span>
+						</div>
 					</div>
 				</div>
 			</div>
 			<div class="image-box" v-if="detail.imageUrl">
 				<img :src="detail.imageUrl" alt="aa.png" />
+				<div class="video-mask" v-if="detail.title === '监控信息'" @click="isVideo = true">
+					<i class="iconfont huifont-shuzhuangcaidanxiala"></i>
+				</div>
 			</div>
 			<div style="padding: 5px;" v-else></div>
 		</div>
+		<el-dialog :close-on-click-modal="false" :title="type === '1' ? '企业看板':'设备看板'" :visible.sync="modelVisible"
+			width="1100px" :append-to-body="true">
+			<notice-board v-if="modelVisible" :type="type"></notice-board>
+		</el-dialog>
+		<div class="video-toggle" v-if="isVideo">
+			<div class="chart-title">
+				<div>监控</div>
+				<i class="el-icon-close" @click="isVideo = false"></i>
+			</div>
+			<div class="video-toggle-box">
+				<img style="width: 100%;height: 100%;"
+					src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/d8f0a8b4bd2043dfb8058d92763e57b0"
+					alt="" />
+			</div>
+		</div>
 	</div>
 </template>
 
@@ -50,6 +74,7 @@
 	import bimView from '@/uitls/controls'
 	// import bimData from '@/config/demo'//新华医院
 	import bimData from '@/config/demo1'
+	import noticeBoard from '@/components/work/common/noticeBoard'
 	export default {
 		data() {
 			return {
@@ -207,7 +232,10 @@
 					list: [],
 					imageUrl: ''
 				},
-				value: true
+				value: true,
+				type: '1',
+				modelVisible: false,
+				isVideo: false,
 			}
 		},
 		mounted() {
@@ -219,6 +247,9 @@
 		beforeDestroy() {
 			if (this.bimViewer) this.bimViewer.destroy();
 		},
+		components: {
+			noticeBoard
+		},
 		methods: {
 			dragStart(evt) {
 				let oEvent = evt || event; //获取事件对象,这个是兼容写法
@@ -521,7 +552,7 @@
 			},
 			clearFloor() { //清除房间
 				let ids = bimData.roomList.filter(node => node.name).map(node => node.roomId);
-				let arr = ids.map(id => 'room' + id).concat(ids.map(id => 'floor' + id));
+				let arr = ids.map(id => 'room' + id);
 				this.bimViewer.clearDrawable(arr);
 			},
 			setMonitor() { //设置摄像头
@@ -548,6 +579,10 @@
 						}, 'light' + i);
 				}
 			},
+			open(type) {
+				this.type = type;
+				this.modelVisible = true;
+			},
 			setWalk() {
 				this.isWalk = true;
 				if (!this.bimViewer) return;
@@ -672,7 +707,7 @@
 						},
 						click: data => {
 							console.log(data);
-							this.setRoom(data);
+							// this.setRoom(data);
 						}
 					})
 				}
@@ -734,6 +769,61 @@
 		overflow: hidden;
 		background: $--box-background;
 
+		.video-toggle {
+			position: fixed;
+			width: 700px;
+			height: 500px;
+			background: #000;
+			left: 50%;
+			top: 50%;
+			transform: translate(-50%, -50%);
+			display: flex;
+			flex-direction: column;
+			z-index: 999;
+
+			.chart-title {
+				display: flex;
+				justify-content: space-between;
+				width: 100%;
+				background-size: contain;
+				position: relative;
+				background-color: $--background;
+				padding-left: 15px;
+				align-items: center;
+
+				.el-icon-close {
+					padding: 8px;
+					font-size: 24px;
+					cursor: pointer;
+				}
+			}
+
+			.chart-title:before {
+				content: "";
+				position: absolute;
+				height: 2px;
+				left: 0px;
+				right: 0;
+				border-bottom: 2px solid;
+				-o-border-image: linear-gradient(315deg, rgba(167, 208, 255, 0), rgba(110, 163, 255, .3)) 2 2;
+				border-image: linear-gradient(315deg, rgba(167, 208, 255, 0), rgba(110, 163, 255, .3)) 2 2;
+				bottom: .5px;
+			}
+
+			.video-toggle-box {
+				flex: 1;
+				height: 0;
+				display: flex;
+				align-items: center;
+				padding: 20px;
+				box-sizing: border-box;
+			}
+
+			video {
+				max-height: 100%;
+			}
+		}
+
 		.tips-4 {
 			cursor: pointer;
 		}
@@ -845,12 +935,39 @@
 				height: 150px;
 				padding: 10px;
 				box-sizing: border-box;
+				position: relative;
 
 				img {
 					width: 100%;
 					height: 100%;
 					object-fit: cover;
 				}
+
+				.video-mask {
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					bottom: 0;
+					background: rgba(0, 0, 0, 0.5);
+					z-index: 2;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					opacity: 0;
+					transition: 300ms;
+					cursor: pointer;
+
+					i {
+						font-size: 24px;
+					}
+				}
+			}
+
+			.image-box:hover {
+				.video-mask {
+					opacity: 1;
+				}
 			}
 		}
 

+ 16 - 2
virgo.wzfrontend/console/src/components/work/common/threeModel.vue

@@ -14,9 +14,14 @@
 				imgUrl: ''
 			}
 		},
-		created() {
+		created() {
+			console.log('create');
 			if (this.url) this.init();
 		},
+		beforeDestroy() {
+			console.log("销毁");
+			this.destroyThreejs();
+		},
 		methods: {
 			init() {
 				this.$nextTick(() => {
@@ -37,7 +42,16 @@
 			},
 			getSnapshot() {
 				return this.threeObj.getSnapshot();
-			}
+			},
+			destroyThreejs() {
+				this.threeObj.destroy();
+			},
+			removeEventListeners() {
+				const dom = this.$refs.three_container;
+				window.removeEventListener("keydown", this.toggleFullscreen, false);
+				dom.removeEventListener("mousedown", this.onMouseDown, false);
+				dom.removeEventListener("wheel", this.onMouseWheel, false);
+			},
 		},
 	}
 </script>

+ 37 - 11
virgo.wzfrontend/console/src/uitls/threeControls.js

@@ -96,6 +96,32 @@ class threeControls {
 		dirLight.castShadow = false;
 		scene.add(dirLight);
 	}
+	destroy() {
+		try {
+			renderer.dispose();
+			renderer.forceContextLoss();
+			renderer.content = null;
+			let gl = renderer.domElement.getContext("webgl");
+			if (gl && gl.getExtension("WEBGL_lose_context")) {
+				gl.getExtension("WEBGL_lose_context").loseContext();
+			}
+			renderer = null;
+			camera = null;
+			scene.traverse((child) => {
+				if (child.material) {
+					child.material.dispose();
+				}
+				if (child.geometry) {
+					child.geometry.dispose();
+				}
+				child = null;
+			});
+			scene = null;
+			console.log('销毁成功');
+		} catch (e) {
+			console.error("Failed to destroy threejs", e);
+		}
+	}
 	setGridHelper() { //坐标格辅助对象. 坐标格实际上是2维线数组.
 		/*
 		 * size — 坐标格尺寸. 默认为 10
@@ -119,16 +145,16 @@ class threeControls {
 	}
 	loaderFBX(url) { //加载fbx模型
 		const loader = new FBXLoader();
-		loader.load(url, (object) => {
-			console.log('FBX加载成功');
-			let box = new THREE.Box3().setFromObject(object);
-			let mdlen = box.max.x - box.min.x; //模型长度
-			let mdwid = box.max.z - box.min.z; //模型宽度
-			let mdhei = box.max.y - box.min.y; //模型高度
-			let x1 = box.min.x + mdlen / 2
-			let y1 = box.min.y + mdhei / 2
-			let z1 = box.min.z + mdwid / 2
-			object.position.set(-x1, -y1, -z1);
+		loader.load(url, (object) => {
+			console.log('FBX加载成功');
+			let box = new THREE.Box3().setFromObject(object);
+			let mdlen = box.max.x - box.min.x; //模型长度
+			let mdwid = box.max.z - box.min.z; //模型宽度
+			let mdhei = box.max.y - box.min.y; //模型高度
+			let x1 = box.min.x + mdlen / 2
+			let y1 = box.min.y + mdhei / 2
+			let z1 = box.min.z + mdwid / 2
+			object.position.set(-x1, -y1, -z1);
 			camera.position.set((mdlen / 2) + 20, (mdlen / 2) + 20, (mdlen / 2) + 20);
 			scene.add(object);
 			renderer.render(scene, camera);
@@ -341,7 +367,7 @@ class threeControls {
 }
 
 function animate() {
-
+	if (!renderer) return;
 	if (personControl && isMouseDown) personControl.update(clock.getDelta());
 	if (stats) stats.update();
 	const time = performance.now();

+ 1 - 2
virgo.wzfrontend/console/src/views/work/index.vue

@@ -216,9 +216,8 @@
 		</el-drawer>
 		<el-dialog :close-on-click-modal="false" :title="type === '1' ? '企业看板':'设备看板'" :visible.sync="modelVisible"
 			width="1100px" :append-to-body="true">
-			<notice-board :type="type"></notice-board>
+			<notice-board v-if="modelVisible" :type="type"></notice-board>
 		</el-dialog>
-
 	</div>
 </template>
 <script>

文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/index.html


virgo.wzfrontend/src/main/resources/static/console/static/css/897.731e3995.css → virgo.wzfrontend/src/main/resources/static/console/static/css/1490.731e3995.css


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/2051.01c1f917.css


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/3836.c727902a.css


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/5641.c727902a.css


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6635.9b338b3a.css


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4106.b01ee7b6.css


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9805.b01ee7b6.css


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/805.9b338b3a.css


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9204.01c1f917.css


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/2.cc2f9240.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/4.d2c106a8.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/all.a2cb8dd0.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/device-bg.3ed2f4a4.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/fault.42bef97e.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/ju2.7cbd8284.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/ju3.df81b180.png


二進制
virgo.wzfrontend/src/main/resources/static/console/static/img/open.fb5ff9c0.png


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1200.01a7b7b8.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2051.9e7fc291.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2693.5c19d7b2.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3836-legacy.62bf9d03.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4106.58645554.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5013-legacy.c2f0fd24.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5013.2dd67b88.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5641.1d511878.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/6635.25e150ac.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/7072.33a03ad1.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/7104-legacy.7833ba81.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/7768-legacy.fb83932d.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/805-legacy.c6e08435.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/861-legacy.16c5d457.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/897-legacy.5986c4f0.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/897.02575645.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/9204-legacy.679654fe.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/9805-legacy.2c9f7c84.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/app-legacy.6b25f5fc.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/app-legacy.9588ef5d.js


文件差異過大導致無法顯示
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/app.7b3ab0c1.js


文件差異過大導致無法顯示
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/app.ebe0acf1.js


+ 1 - 1
virgo.wzfrontend/yui_wx/pages/highseas/highseas.vue

@@ -77,7 +77,7 @@
 			getLocation() {
 				let coordinates = this.coordinates.split(',');
 				uni.request({
-					url: "http://api.tianditu.gov.cn/geocoder?postStr={'lon':" + coordinates[0] + ",'lat':" +
+					url: "https://api.tianditu.gov.cn/geocoder?postStr={'lon':" + coordinates[0] + ",'lat':" +
 						coordinates[1] + ",'ver':1}&type=geocode&tk=72632adad893994a0450b55949c8a8fc", // 服务器url
 					method: 'GET', // 请求方法,默认为GET
 					success: (res) => {

文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/build/mp-weixin/common/vendor.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/build/mp-weixin/pages/highseas/highseas.js


+ 2 - 2
virgo.wzfrontend/yui_wx/unpackage/dist/build/mp-weixin/uni_modules/uv-status-bar/components/uv-status-bar/uv-status-bar.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/city/city.js.map


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/highseas/highseas.js.map


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/.sourcemap/mp-weixin/pages/myHouse/myHouse.js.map


文件差異過大導致無法顯示
+ 3 - 3
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/common/vendor.js


+ 2 - 2
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/common/navbar.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/common/upload.json

@@ -1,6 +1,6 @@
 {
+  "component": true,
   "usingComponents": {
     "uv-upload": "/uni_modules/uv-upload/components/uv-upload/uv-upload"
-  },
-  "component": true
+  }
 }

+ 2 - 2
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/contract/clauseDetail.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/components/device/lighting.json

@@ -1,6 +1,6 @@
 {
-  "component": true,
   "usingComponents": {
     "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons"
-  }
+  },
+  "component": true
 }

文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/attention/attention.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/city/city.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/client/client.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/clientDetail/clientDetail.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/data/data.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/fans/fans.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/highseas/highseas.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/index/index.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/login/login.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/message/message.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/messageDetail/messageDetail.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/messageList/messageList.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/messageSystem/messageSystem.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/my/my.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/myDetail/myDetail.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/myHouse/myHouse.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/person/person.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/project/project.js


文件差異過大導致無法顯示
+ 1 - 1
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/pages/projectList/projectList.js


+ 20 - 13
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/project.config.json

@@ -1,8 +1,7 @@
 {
   "description": "项目配置文件。",
   "packOptions": {
-    "ignore": [],
-    "include": []
+    "ignore": []
   },
   "setting": {
     "urlCheck": false,
@@ -10,20 +9,28 @@
     "postcss": true,
     "minified": true,
     "newFeature": true,
-    "bigPackageSizeSupport": true,
-    "babelSetting": {
-      "ignore": [],
-      "disablePlugins": [],
-      "outputPath": ""
-    }
+    "bigPackageSizeSupport": true
   },
   "compileType": "miniprogram",
-  "libVersion": "3.5.3",
+  "libVersion": "",
   "appid": "wx3c006d364161d240",
   "projectname": "yui_wx",
-  "condition": {},
-  "editorSetting": {
-    "tabIndent": "insertSpaces",
-    "tabSize": 2
+  "condition": {
+    "search": {
+      "current": -1,
+      "list": []
+    },
+    "conversation": {
+      "current": -1,
+      "list": []
+    },
+    "game": {
+      "current": -1,
+      "list": []
+    },
+    "miniprogram": {
+      "current": -1,
+      "list": []
+    }
   }
 }

+ 2 - 2
virgo.wzfrontend/yui_wx/unpackage/dist/dev/mp-weixin/uni_modules/hb-comment/components/hb-comment/hb-comment.json

@@ -1,6 +1,6 @@
 {
-  "component": true,
   "usingComponents": {
     "uni-dateformat": "/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat"
-  }
+  },
+  "component": true
 }