whx 5 months ago
parent
commit
60ed04320c
100 changed files with 1010 additions and 937 deletions
  1. 3 3
      virgo.wzfrontend/console/package-lock.json
  2. 1 1
      virgo.wzfrontend/console/package.json
  3. 32 23
      virgo.wzfrontend/console/src/components/common/playVideo.vue
  4. 23 4
      virgo.wzfrontend/console/src/components/common/projectItemTree.vue
  5. 14 9
      virgo.wzfrontend/console/src/components/work/bim/bimForm.vue
  6. 480 491
      virgo.wzfrontend/console/src/components/work/common/model.vue
  7. 24 0
      virgo.wzfrontend/console/src/httpApi/test.js
  8. 6 2
      virgo.wzfrontend/console/src/views/work/bim/roam.vue
  9. 134 169
      virgo.wzfrontend/console/src/views/work/iot/device/alarmMonitor.vue
  10. 36 110
      virgo.wzfrontend/console/src/views/work/iot/device/monitor.vue
  11. 197 93
      virgo.wzfrontend/console/src/views/work/iot/security/monitor.vue
  12. 1 1
      virgo.wzfrontend/src/main/resources/static/console/index.html
  13. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/1171.9ac836aa.css
  14. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/191.b6c7aaf0.css
  15. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/264.489fda7e.css
  16. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/316.9b736443.css
  17. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3892.08408220.css
  18. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4260.2e4be015.css
  19. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4284.28d0077f.css
  20. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/457.7bca48cd.css
  21. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4593.b9bbdc53.css
  22. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4612.452f8a61.css
  23. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4637.b8e60b74.css
  24. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4896.51f305b6.css
  25. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4937.3f5e8527.css
  26. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4996.8ee5f9fb.css
  27. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/5064.7e28460d.css
  28. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/578.ff64d0e1.css
  29. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/5793.2ce76ddb.css
  30. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/641.28d0077f.css
  31. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6654.77e8716b.css
  32. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6658.4287ecb0.css
  33. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/7215.d70b16f2.css
  34. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/6946.64ad472f.css
  35. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7196.61575138.css
  36. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7376.7c138caa.css
  37. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/3059.0aae4e96.css
  38. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7470.b37dfbb0.css
  39. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7883.a047c5c7.css
  40. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/5411.71c8d2e4.css
  41. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8095.740aad09.css
  42. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8247.f5556d6e.css
  43. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8468.eb2d7c9e.css
  44. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/8619.9a79a165.css
  45. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/882.4a136c23.css
  46. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9018.b01ee7b6.css
  47. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9155.9e9f2398.css
  48. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9624.5ead6c8a.css
  49. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9741.00353a9c.css
  50. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9757.d8f96344.css
  51. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9919.7bca48cd.css
  52. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/8551-legacy.790c2c8b.js
  53. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1266.76ea2f23.js
  54. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1368-legacy.e001a56c.js
  55. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1368.f2d635d6.js
  56. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1374-legacy.a910eac1.js
  57. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1374.14b53fa1.js
  58. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1618.dde3ecab.js
  59. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1821-legacy.8d1e28fc.js
  60. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1821-legacy.edca067a.js
  61. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/191.0fb32dfc.js
  62. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1962.ebda7749.js
  63. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2059.8e20547e.js
  64. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2059.bdb9fef6.js
  65. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2066.c84ce16d.js
  66. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2186.eee78fee.js
  67. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2264-legacy.5bd9e8d8.js
  68. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2314-legacy.9392b23f.js
  69. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2314.fa907453.js
  70. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/264-legacy.381f8e54.js
  71. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/264-legacy.66c21f91.js
  72. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2643.49175a39.js
  73. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2643.b708383c.js
  74. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3059-legacy.ec2a075a.js
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3059.60d330bc.js
  76. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/316-legacy.60297c08.js
  77. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3182.b61af047.js
  78. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3427.edb5c651.js
  79. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3433-legacy.2e4af5f1.js
  80. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3571-legacy.3ad4b541.js
  81. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3755-legacy.e210815b.js
  82. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/3782.165cef48.js
  83. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3817-legacy.20aaa047.js
  84. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/3817.16648df1.js
  85. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/8832-legacy.bf928669.js
  86. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4136.389c307f.js
  87. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4260-legacy.4cf5de20.js
  88. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/7204-legacy.27046d57.js
  89. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4388-legacy.d7fab152.js
  90. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4523-legacy.88f9fac4.js
  91. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/457.97eef73a.js
  92. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/9818-legacy.c789aadc.js
  93. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4595-legacy.abb420ea.js
  94. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4595.2a8da94c.js
  95. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4612-legacy.5b7c008f.js
  96. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4637-legacy.eace913c.js
  97. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4667.53c146c3.js
  98. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4767.30f54648.js
  99. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/4767.f88922ab.js
  100. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/5350-legacy.08493d90.js

+ 3 - 3
virgo.wzfrontend/console/package-lock.json

@@ -7086,9 +7086,9 @@
 			"dev": true
 		},
 		"ezuikit-js": {
-			"version": "7.7.7",
-			"resolved": "https://registry.npmmirror.com/ezuikit-js/-/ezuikit-js-7.7.7.tgz",
-			"integrity": "sha512-VRkQN5u7bTdSwCqQYk3db7lR2kiXdCrMzr/rwmRZww8xqeXaghgttPjjI/kS+u/xVMAkl6hp9+47Yxs/zBRB8A=="
+			"version": "7.7.0",
+			"resolved": "https://registry.npmmirror.com/ezuikit-js/-/ezuikit-js-7.7.0.tgz",
+			"integrity": "sha512-nJXSR0XPKKA3YL0k4jSfj+qtieDHnpKqlA4ihnkCRrYvnnIAa1kSdprMM1/msgCrlTKqqVFb8Bo4d16tXYwhbA=="
 		},
 		"fast-deep-equal": {
 			"version": "3.1.3",

+ 1 - 1
virgo.wzfrontend/console/package.json

@@ -13,7 +13,7 @@
 		"core-js": "^3.3.2",
 		"dayjs": "^1.11.11",
 		"element-ui": "^2.15.13",
-		"ezuikit-js": "^7.7.7",
+		"ezuikit-js": "^7.7.0",
 		"jquery": "^3.7.1",
 		"path-browserify": "^1.0.1",
 		"pinyin-pro": "^3.25.0",

+ 32 - 23
virgo.wzfrontend/console/src/components/common/playVideo.vue

@@ -1,5 +1,5 @@
 <template>
-	<div id="video-box" class="video">
+	<div :id="'video-box' + _uid" class="video">
 		<div :id="'ezuikit-player' + _uid"></div>
 	</div>
 </template>
@@ -10,37 +10,41 @@
 	} from '@/httpApi/iot'
 	export default {
 		props: {
-			width: {
-				type: Number,
-				default: 352
-			},
-			height: {
-				type: Number,
-				default: 198
-			},
 			sourceUrl: {
 				type: String,
 				default: ''
+			},
+			template: {
+				type: String,
+				default: 'simple'
+			},
+			time: {
+				type: Number,
+				default: 1
 			}
 		},
 		data() {
 			return {
-				player: null
+				player: null,
+				width: 352,
+				height: 198,
+				reset: 0
 			};
 		},
 		computed: {},
 		created() {
 			let _self = this;
 			_self.$nextTick(() => {
-				this.init();
+				this.width = document.getElementById('video-box' + this._uid).clientWidth;
+				this.height = document.getElementById('video-box' + this._uid).clientHeight;
+				if (this.sourceUrl) setTimeout(() => {
+					this.init();
+				}, 2000 * this.time);
 			});
 		},
 		beforeDestroy() {
 			if (this.player) this.destroy() //销毁并停止直播视频
 		},
-		destroy() {
-			if (this.player) this.destroy() //销毁并停止直播视频
-		},
 		methods: {
 			init() {
 				if (this.player) {
@@ -51,16 +55,20 @@
 						this.player = new EZUIKit.EZUIKitPlayer({
 							id: "ezuikit-player" + this._uid, // 视频容器ID
 							accessToken: res.data,
-							url: "ezopen://open.ys7.com/G87900549/34.hd.live",
-							template: "simple",
-							audio: 0, // 是否默认开启声音 0 - 关闭 1 - 开启
-							autoplay: false,
+							url: this.sourceUrl,
+							template: this.template,
 							width: this.width,
 							height: this.height,
 							handleSuccess: () => {
-								// this.stop();
-								console.log('-----success');
-							}
+								this.reset = 0;
+							},
+							handleError: (data) => {
+								if (data.msg == "该用户不拥有该设备") return;
+								if (this.reset < 5) {
+									this.play();
+									this.reset++
+								}
+							},
 						});
 					}
 				})
@@ -125,11 +133,12 @@
 				this.player.fullScreen();
 			},
 			destroy() {
-				if (!this.player.destroy) return;
+				if (!this.player.destroy) return this.$emit('closeVideoModel');
 				this.stop();
 				var destroyPromise = this.player.destroy();
 				destroyPromise.then((data) => {
-					console.log("promise 移除", data);
+					console.log('关闭流成功');
+					this.$emit('closeVideoModel');
 				});
 				this.player = null;
 			}

+ 23 - 4
virgo.wzfrontend/console/src/components/common/projectItemTree.vue

@@ -7,8 +7,13 @@
 					<span class="el-collapse-name">{{item.name}}</span>
 				</template>
 				<div>
-					<el-tree :data="item.projectItemTargetList" :props="defaultProps" :expand-on-click-node="false"
-						@node-click="nodeClick">
+					<el-tree :data="item.projectItemTargetList" :props="defaultProps">
+						<div class="custom-tree-node" slot-scope="{ node, data }">
+							<div class="label">{{node.label}}</div>
+							<div :class="nowData.id === data.id ? 'active':''" @click.stop="nodeClick(data)">
+								<i :class="iconfontClass"></i>
+							</div>
+						</div>
 					</el-tree>
 				</div>
 			</el-collapse-item>
@@ -21,6 +26,12 @@
 		getProjectDetailById,
 	} from '@/httpApi/space'
 	export default {
+		props: {
+			iconfontClass: {
+				type: String,
+				default: 'iconfont huifont-shexiangtou'
+			},
+		},
 		data() {
 			return {
 				treeData: [],
@@ -28,6 +39,7 @@
 					children: 'children',
 					label: 'name'
 				},
+				nowData: {}
 			}
 		},
 		created() {
@@ -37,12 +49,19 @@
 			init() {
 				getProjectDetailById(this.$store.getters.project.id).then(res => {
 					if (res.state) {
-						this.treeData = res.data.projectItemList;
+						this.treeData = res.data.projectItemList.map(node => {
+							node.projectItemTargetList = node.projectItemTargetList.map(target => {
+								target['projectItemName'] = node.name
+								return target;
+							})
+							return node;
+						});
 					}
 				})
 			},
 			nodeClick(item) {
-				this.$emit('treeclick', item.id);
+				this.nowData = this.nowData.id === item.id ? {} : item;
+				this.$emit('treeclick', this.nowData);
 			}
 		}
 	}

+ 14 - 9
virgo.wzfrontend/console/src/components/work/bim/bimForm.vue

@@ -79,15 +79,20 @@
 				this.bimForm.bim = {};
 			},
 			submit() {
-				this.loading = true;
-				let id = this.$refs.projectItem.formBox.projectItemTargetId;
-				getProjectItemTargetBimList(id).then(res => {
-					if (res.state) {
-						let bims = res.data ? res.data.bims : res.data;
-						!bims ? this.insertProjectItemTargetBim(id) : this.updateProjectItemTargetBim(id, bims, res
-							.data.id);
-					} else {
-						this.loading = false;
+				this.$refs.projectItem.submitValidate((data, state) => {
+					if (!this.bimForm.bim.id) return this.$message.warning('请上传模型');
+					if (state) {
+						this.loading = true;
+						let id = this.$refs.projectItem.formBox.projectItemTargetId;
+						getProjectItemTargetBimList(id).then(res => {
+							if (res.state) {
+								let bims = res.data ? res.data.bims : res.data;
+								!bims ? this.insertProjectItemTargetBim(id) : this
+									.updateProjectItemTargetBim(id, bims, res.data.id);
+							} else {
+								this.loading = false;
+							}
+						})
 					}
 				})
 			},

File diff suppressed because it is too large
+ 480 - 491
virgo.wzfrontend/console/src/components/work/common/model.vue


+ 24 - 0
virgo.wzfrontend/console/src/httpApi/test.js

@@ -21,4 +21,28 @@ export function getCallAlarmList(data) {
 		method: 'post',
 		data: data
 	})
+}
+/* 
+ * 获取设备检测
+ * 
+ * 
+ */
+export function getMonitoringList(data) {
+	return request({
+		url: `/api/test/monitoring/get`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 获取摄像头列表
+ * 
+ * 
+ */
+export function getMonitorList(data) {
+	return request({
+		url: `/api/test/camera/1/100`,
+		method: 'post',
+		data: data
+	})
 }

+ 6 - 2
virgo.wzfrontend/console/src/views/work/bim/roam.vue

@@ -20,8 +20,12 @@
 				<div class="hui-content-title">
 					<div class="hui-title-item active">BIM漫游设置</div>
 				</div>
-				<div class="hui-flex-box hui-flex">
-					<bim-roam v-if="projectItem.id" :projectItem="projectItem" :key="projectItem.id"></bim-roam>
+				<div class="hui-flex-box">
+					<div v-if="!projectItem.bimIntegrateId"
+						style="display: flex;align-items: center;justify-content: center;height: 100%;">
+						<empty description="该楼宇暂无集成模型"></empty>
+					</div>
+					<bim-roam v-else :projectItem="projectItem" :key="projectItem.id"></bim-roam>
 				</div>
 			</div>
 		</div>

+ 134 - 169
virgo.wzfrontend/console/src/views/work/iot/device/alarmMonitor.vue

@@ -62,7 +62,7 @@
 						<div class="legend-item" v-for="(item,index) in topAlarm" :key="index">
 							<span :class="'legend-bage bg'+(index+1)"></span>
 							<span class="legend-label">{{item.name}}</span>
-							<span class="legend-label alibaba">{{item.number}}</span>
+							<span class="legend-label alibaba">{{item.value}}</span>
 						</div>
 					</div>
 				</div>
@@ -84,7 +84,7 @@
 									<div :class="'tr-top'+(index+1)">{{returnTop(String(index+1))}}</div>
 								</span>
 								<span class="tr-flex">{{item.name}}</span>
-								<span class="tr-flex tr-center alibaba">{{item.number}}</span>
+								<span class="tr-flex tr-center alibaba">{{item.value}}</span>
 							</div>
 						</div>
 					</div>
@@ -248,30 +248,6 @@
 						<div class="alarm-title">
 							<div class="hui-chart-title">
 								设备故障列表
-								<div class="select-box combination-select">
-									<el-select size="mini" v-model="value" placeholder="空间位置">
-										<el-option label="1F" :value="1">
-										</el-option>
-										<el-option label="2F" :value="2">
-										</el-option>
-									</el-select>
-									<el-select size="mini" v-model="value" placeholder="设备类型">
-										<el-option label="冷源" :value="1">
-										</el-option>
-										<el-option label="2F" :value="2">
-										</el-option>
-									</el-select>
-									<el-select size="mini" v-model="value" placeholder="设备">
-										<el-option label="1F" :value="1">
-										</el-option>
-										<el-option label="2F" :value="2">
-										</el-option>
-									</el-select>
-									<el-date-picker size="mini" v-model="value1" type="daterange" range-separator="-"
-										start-placeholder="开始日期" end-placeholder="结束日期">
-									</el-date-picker>
-									<el-button size="mini" type="primary" style="margin-left: 8px;">查询</el-button>
-								</div>
 							</div>
 							<div class="alarm-tr">
 								<span class="tr-50">序号</span>
@@ -322,11 +298,11 @@
 					</div>
 					<div class="params-chart-box">
 						<div class="params-chart-item params-chart-left">
-							<div class="title">参数告警趋势(累计)</div>
+							<div class="title">类型告警趋势</div>
 							<div ref="chart2" class="chart-box"></div>
 						</div>
 						<div class="params-chart-item params-chart-right">
-							<div class="title">告警趋势(最近30天)</div>
+							<div class="title">告警趋势</div>
 							<div ref="chart3" class="chart-box"></div>
 						</div>
 					</div>
@@ -372,15 +348,6 @@
 					max: 100,
 					value: 99
 				});
-				
-				this.chart1(this.$refs.chart2, [
-					[1, 3, 2, 6, 1]
-				])
-				this.chart1(this.$refs.chart3, [
-					[0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-						1, 1
-					]
-				])
 			})
 		},
 		methods: {
@@ -401,146 +368,150 @@
 			},
 			testTopData() {
 				let obj = {},
-					list = [];
+					list = [],
+					all = 0,
+					dateObj = {},
+					dateList = [];
 				for (let i = 0; i < this.alarmList.length; i++) {
-					console.log(this.alarmList[i]);
+					let date = this.$dayjs(this.alarmList[i].date).format('YYYY/MM/DD');
+					if (!dateObj[date]) {
+						dateObj[date] = 1;
+						dateList.push({
+							name: date,
+							value: 0
+						})
+					}
 					if (!obj[this.alarmList[i].deviceId]) {
 						obj[this.alarmList[i].deviceId] = 1;
 						list.push({
 							id: this.alarmList[i].deviceId,
 							name: this.alarmList[i].deviceName,
-							number: 0,
+							value: 0,
 						})
 					}
-					list.find(node => node.id == this.alarmList[i].deviceId).number++
+					list.find(node => node.id == this.alarmList[i].deviceId).value++;
+					all++;
+					dateList.find(node => node.name == date).value++;
 				}
-				this.topAlarm = list.sort((a, b) => a.number > b.number);
-				this.chart();
+				this.topAlarm = list.sort((a, b) => a.value > b.value);
+				let title = this.topAlarm[0].name;
+				let len = this.topAlarm[0].value;
+				this.chart(title, ((len / all) * 100).toFixed(2).padStart(5, '0'), this.topAlarm);
+				this.chart1(this.$refs.chart2, [this.topAlarm.map(node => node.value)], this.topAlarm.map(node => node
+					.name))
+				this.chart1(this.$refs.chart3, [dateList.map(node => node.value)], dateList.map(node => node
+					.name))
 			},
 			returnTop(number) {
 				let str = number.length === 1 ? ('0' + number) : number;
 				return 'TOP' + str;
-			},
-			chart() {
-				let chart = echarts.init(this.$refs.chart1);
-				let title = '设备名称2',
-					len = "50.00"
-				let option = {
-					title: {
-						text: ("{name|" + title + "}" + "\n{percent|" + len + "}{name|%}"),
-						left: 'center',
-						top: 'center',
-						textStyle: {
-							rich: {
-								name: {
-									color: "#fff",
-									fontSize: 12,
-									lineHeight: 16
-								},
-								percent: {
-									color: "#fff",
-									fontSize: 28,
-									lineHeight: 38,
-									fontFamily: 'alibabaMedium'
-								},
-							}
-						}
-					},
-					color: ['#EB7E65', '#9D60FB', '#5AD8A6', '#F7C739', '#5B8FF9', '#5D7092', '#6DC8EC', '#FF9D4D'],
-					series: [{
-						type: 'pie',
-						center: ['50%', '50%'],
-						radius: ['60%', '90%'],
-						avoidLabelOverlap: false,
-						itemStyle: {
-							borderColor: 'RGBA(21, 26, 37, 1)',
-							borderWidth: 10
-						},
-						label: {
-							show: false,
-							position: 'center'
-						},
-						emphasis: {
-							label: {
-								show: true,
-								formatter: (params) => {
-									return ("{name|" + params.name + "}" + "\n{percent|" +
-										params.percent.toFixed(2) + "}{name|%}");
-								},
-								rich: {
-									name: {
-										color: "#fff",
-										fontSize: 12,
-										lineHeight: 16
-									},
-									percent: {
-										color: "#fff",
-										fontSize: 28,
-										lineHeight: 38,
-										fontFamily: 'alibabaMedium'
-									},
-								}
-							},
-						},
-						labelLine: {
-							show: false
-						},
-						data: [{
-								value: 3,
-								name: "设备名称2"
-							},
-							{
-								value: 2,
-								name: "设备名称3"
-							},
-							{
-								value: 1,
-								name: "设备名称4"
-							}
-						]
-					}]
-				};
-				chart.setOption(option);
-				// 高亮时
-				chart.on('highlight', (e) => {
-					chart.setOption({
-						title: {
-							show: false
-						}
-					});
-				});
-				// 取消高亮时
-				chart.on('downplay', (e) => {
-					chart.setOption({
-						title: {
-							show: true
-						}
-					});
-				});
-				// 鼠标移入数据时
-				chart.on('mouseover', {
-					componentType: 'series',
-					seriesType: 'pie'
-				}, (params) => {
-					chart.setOption({
-						title: {
-							show: false
-						}
-					});
-				});
-				// 鼠标移出数据时
-				chart.on('mouseout', {
-					componentType: 'series',
-					seriesType: 'pie'
-				}, (params) => {
-					chart.setOption({
-						title: {
-							show: true
-						}
-					});
-				});
 			},
-			chart1(elem, data) {
+			chart(title, len, data) {
+				let chart = echarts.init(this.$refs.chart1);
+				let option = {
+					title: {
+						text: ("{name|" + title + "}" + "\n{percent|" + len + "}{name|%}"),
+						left: 'center',
+						top: 'center',
+						textStyle: {
+							rich: {
+								name: {
+									color: "#fff",
+									fontSize: 12,
+									lineHeight: 16
+								},
+								percent: {
+									color: "#fff",
+									fontSize: 28,
+									lineHeight: 38,
+									fontFamily: 'alibabaMedium'
+								},
+							}
+						}
+					},
+					color: ['#EB7E65', '#9D60FB', '#5AD8A6', '#F7C739', '#5B8FF9', '#5D7092', '#6DC8EC', '#FF9D4D'],
+					series: [{
+						type: 'pie',
+						center: ['50%', '50%'],
+						radius: ['60%', '90%'],
+						avoidLabelOverlap: false,
+						itemStyle: {
+							borderColor: 'RGBA(21, 26, 37, 1)',
+							borderWidth: 10
+						},
+						label: {
+							show: false,
+							position: 'center'
+						},
+						emphasis: {
+							label: {
+								show: true,
+								formatter: (params) => {
+									return ("{name|" + params.name + "}" + "\n{percent|" +
+										params.percent.toFixed(2) + "}{name|%}");
+								},
+								rich: {
+									name: {
+										color: "#fff",
+										fontSize: 12,
+										lineHeight: 16
+									},
+									percent: {
+										color: "#fff",
+										fontSize: 28,
+										lineHeight: 38,
+										fontFamily: 'alibabaMedium'
+									},
+								}
+							},
+						},
+						labelLine: {
+							show: false
+						},
+						data: data
+					}]
+				};
+				chart.setOption(option);
+				// 高亮时
+				chart.on('highlight', (e) => {
+					chart.setOption({
+						title: {
+							show: false
+						}
+					});
+				});
+				// 取消高亮时
+				chart.on('downplay', (e) => {
+					chart.setOption({
+						title: {
+							show: true
+						}
+					});
+				});
+				// 鼠标移入数据时
+				chart.on('mouseover', {
+					componentType: 'series',
+					seriesType: 'pie'
+				}, (params) => {
+					chart.setOption({
+						title: {
+							show: false
+						}
+					});
+				});
+				// 鼠标移出数据时
+				chart.on('mouseout', {
+					componentType: 'series',
+					seriesType: 'pie'
+				}, (params) => {
+					chart.setOption({
+						title: {
+							show: true
+						}
+					});
+				});
+			},
+			chart1(elem, data, x) {
 				let chart = echarts.init(elem);
 				let series = [];
 				for (var i = 0; i < data.length; i++) {
@@ -568,11 +539,6 @@
 					obj['data'] = data[i];
 					series.push(obj);
 				}
-				let x = ['类目一', '类目二', '类目三', '类目四', '类目五'];
-				if (data.length > 1) x = ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日', '12日', '13日',
-					'14日', '15日', '16日', '17日', '18日', '19日', '20日', '21日', '22日', '23日', '24日', '25日', '26日', '27日',
-					'28日', '29日', '30日'
-				]
 				let option = {
 					tooltip: {
 						show: true,
@@ -606,7 +572,6 @@
 							color: '#D0DEEE',
 							fontSize: 10
 						},
-						boundaryGap: false,
 						axisLine: {
 							lineStyle: {
 								color: '#6C8097'

+ 36 - 110
virgo.wzfrontend/console/src/views/work/iot/device/monitor.vue

@@ -269,32 +269,6 @@
 				<div class="params-title">
 					<div class="hui-chart-title">
 						设备监测
-						<div class="select-box combination-select">
-							<el-select size="mini" v-model="value" placeholder="空间位置">
-								<el-option label="1F" :value="1">
-								</el-option>
-								<el-option label="2F" :value="2">
-								</el-option>
-							</el-select>
-							<el-select size="mini" v-model="value" placeholder="设备类型">
-								<el-option label="冷源" :value="1">
-								</el-option>
-								<el-option label="2F" :value="2">
-								</el-option>
-							</el-select>
-							<el-select size="mini" v-model="value" placeholder="设备">
-								<el-option label="1F" :value="1">
-								</el-option>
-								<el-option label="2F" :value="2">
-								</el-option>
-							</el-select>
-							<el-date-picker size="mini" v-model="value1" type="daterange" range-separator="-"
-								start-placeholder="开始日期" end-placeholder="结束日期">
-							</el-date-picker>
-							<el-button size="mini" type="primary">查询</el-button>
-							<div class="hui-tag">下载</div>
-							<div class="hui-tag" @click="$router.push('/iot/device/detail')">设备详情</div>
-						</div>
 					</div>
 					<div class="params-item">
 						<div class="params-date">记录时间</div>
@@ -312,89 +286,23 @@
 					</div>
 				</div>
 				<div class="params-box">
-					<div class="params-item params-tr">
-						<div class="params-date">2024-01-12 12:14:10</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td color-green">开启</div>
-					</div>
-					<div class="params-item params-tr">
-						<div class="params-date">2024-01-12 12:14:10</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td color-green">开启</div>
-					</div>
-					<div class="params-item params-tr">
-						<div class="params-date">2024-01-12 12:14:10</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td color-green">开启</div>
-					</div>
-					<div class="params-item params-tr">
-						<div class="params-date">2024-01-12 12:14:10</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td color-green">开启</div>
-					</div>
-					<div class="params-item params-tr">
-						<div class="params-date">2024-01-12 12:14:10</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td color-green">开启</div>
-					</div>
-					<div class="params-item params-tr">
-						<div class="params-date">2024-01-12 12:14:10</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td">23.6</div>
-						<div class="params-td color-green">开启</div>
+					<div class="params-item params-tr" v-for="(item,index) in list" :key="item.id">
+						<div class="params-date">{{item.date}}</div>
+						<div class="params-td">{{item.controlTemperature}}</div>
+						<div class="params-td">{{item.supplyWaterTemperature}}</div>
+						<div class="params-td">{{item.backWaterTemperature}}</div>
+						<div class="params-td">{{item.nonSmokingTemperature}}</div>
+						<div class="params-td">{{item.mediumPressure}}</div>
+						<div class="params-td">{{item.mediumTemperature}}</div>
+						<div class="params-td">{{item.instantaneousFlowRate}}</div>
+						<div class="params-td">{{item.unitLoad}}</div>
+						<div class="params-td">{{item.fault}}</div>
+						<div class="params-td">{{item.setTemperature}}</div>
+						<div class="params-td">
+							<div class="color-gray" v-if="!item.state">关闭</div>
+							<div class="color-green" v-else-if="item.state === 1">开启</div>
+							<div class="color-orange" v-else="item.state === 2">故障</div>
+						</div>
 					</div>
 				</div>
 			</div>
@@ -403,13 +311,31 @@
 </template>
 
 <script>
+	import {
+		getMonitoringList
+	} from '@/httpApi/test'
 	export default {
 		data() {
 			return {
+				list: [],
 				value: '',
 				value1: ''
 			}
-		}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			init() {
+				getMonitoringList({
+					projectId: this.$store.getters.project.id
+				}).then(res => {
+					if (res.state) {
+						this.list = res.data;
+					}
+				})
+			}
+		},
 	}
 </script>
 

+ 197 - 93
virgo.wzfrontend/console/src/views/work/iot/security/monitor.vue

@@ -11,7 +11,7 @@
 				</div>
 			</div>
 			<div class="hui-tree-content">
-				<model type="monitor" fileId="10000786668235" @tipClick="tipClick"></model>
+				<model ref="model" type="monitor" fileId="10000786668235" @tipClick="tipClick"></model>
 			</div>
 			<div class="placeholder"></div>
 		</div>
@@ -23,122 +23,100 @@
 			</div>
 			<div class="hui-flex box-background">
 				<div class="monitor-box-title">
-					二号楼 / 二层
+					<span v-if="target.id">{{target.projectItemName}} / {{target.name}}</span>
+					<span v-else>全部列表</span>
 				</div>
 				<div class="monitor-list hui-flex-box">
-					<div class="monitor-item">
+					<div class="monitor-item" v-for="(item,index) in list" :key="item.id">
 						<div class="monitor-item-box">
-							<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/854594e68cd64a41a296be319b295a04"
-								alt="" />
-							<div class="monitor-date">2023-12-22 04:12:32</div>
-							<div class="monitor-space">1号楼-3层-设备间-摄像头001</div>
-							<div class="monitor-operation"></div>
-							<div class="monitor-download">
-								<i class="iconfont huifont-xiazai"></i>
-							</div>
-						</div>
-					</div>
-					<div class="monitor-item">
-						<div class="monitor-item-box">
-							<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/854594e68cd64a41a296be319b295a04"
-								alt="" />
-							<div class="monitor-date">2023-12-22 04:12:32</div>
-							<div class="monitor-space">1号楼-3层-设备间-摄像头001</div>
-							<div class="monitor-operation"></div>
-							<div class="monitor-download">
-								<i class="iconfont huifont-xiazai"></i>
-							</div>
-						</div>
-					</div>
-					<div class="monitor-item">
-						<div class="monitor-item-box">
-							<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/854594e68cd64a41a296be319b295a04"
-								alt="" />
-							<div class="monitor-date">2023-12-22 04:12:32</div>
-							<div class="monitor-space">1号楼-3层-设备间-摄像头001</div>
-							<div class="monitor-operation"></div>
-							<div class="monitor-download">
-								<i class="iconfont huifont-xiazai"></i>
-							</div>
-						</div>
-					</div>
-					<div class="monitor-item">
-						<div class="monitor-item-box">
-							<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/854594e68cd64a41a296be319b295a04"
-								alt="" />
-							<div class="monitor-date">2023-12-22 04:12:32</div>
-							<div class="monitor-space">1号楼-3层-设备间-摄像头001</div>
-							<div class="monitor-operation"></div>
-							<div class="monitor-download">
-								<i class="iconfont huifont-xiazai"></i>
-							</div>
-						</div>
-					</div>
-					<div class="monitor-item">
-						<div class="monitor-item-box">
-							<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/854594e68cd64a41a296be319b295a04"
-								alt="" />
-							<div class="monitor-date">2023-12-22 04:12:32</div>
-							<div class="monitor-space">1号楼-3层-设备间-摄像头001</div>
-							<div class="monitor-operation"></div>
-							<div class="monitor-download">
-								<i class="iconfont huifont-xiazai"></i>
-							</div>
-						</div>
-					</div>
-					<div class="monitor-item">
-						<div class="monitor-item-box">
-							<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/854594e68cd64a41a296be319b295a04"
-								alt="" />
-							<div class="monitor-date">2023-12-22 04:12:32</div>
-							<div class="monitor-space">1号楼-3层-设备间-摄像头001</div>
-							<div class="monitor-operation"></div>
-							<div class="monitor-download">
-								<i class="iconfont huifont-xiazai"></i>
+							<play-video :ref="item.number" :sourceUrl="item.appKey" template="simple">
+							</play-video>
+							<div class="monitor-space">{{item.name}}</div>
+							<div class="video-mask" @click="clickVideo(item)">
+								<i class="iconfont huifont-shuzhuangcaidanxiala"></i>
 							</div>
 						</div>
 					</div>
 				</div>
 			</div>
 		</div>
-		<el-dialog :close-on-click-modal="false" title="摄像头" custom-class="monitor-dialog" :visible.sync="visible"
-			width="900px" height="500px" :append-to-body="true">
-			<div class="hui-dialog">
-				<play-video :width="900" :height="445"></play-video>
+		<div class="video-toggle" v-if="isVideo">
+			<div class="title">
+				<div class="title-icon"><i></i></div>
+				<span class="label">摄像头</span>
+				<i class="el-icon-close" @click="closeVideo"></i>
+			</div>
+			<div class="video-toggle-box">
+				<play-video ref="playVideo" v-if="nowVideo.id && isVideo" :sourceUrl="nowVideo.appKey" template="pcLive"
+					@closeVideoModel="isVideo = false">
+				</play-video>
 			</div>
-		</el-dialog>
+		</div>
+		<div class="video-mask" v-if="isVideo"></div>
 	</div>
 </template>
 
 <script>
 	import model from '@/components/work/common/model'
 	import projectItemTree from '@/components/common/projectItemTree'
+	import {
+		getMonitorList
+	} from '@/httpApi/test'
+	import playVideo from '@/components/common/playVideo.vue'
 	export default {
 		data() {
 			return {
-				type: 'device',
-				treeData: [],
-				nowItem: {},
-				defaultProps: {
-					label: 'name'
-				},
-				activeName: [],
+				target: {},
+				list: [],
 				isOpen: false,
-				visible: false
+				isVideo: false,
+				nowVideo: {}
 			}
 		},
-		created() {},
+		created() {
+			this.init();
+		},
 		components: {
 			model,
-			projectItemTree
+			projectItemTree,
+			playVideo
 		},
 		methods: {
-			treeclick() {
-
+			init(option) {
+				let postData = option || {
+					projectId: this.$store.getters.project.id
+				}
+				getMonitorList(postData).then(res => {
+					if (res.state) {
+						this.list = res.data.dataList.map(node => {
+							node['position'] = JSON.parse(node.secret);
+							return node;
+						});
+						this.$refs.model.setData(this.list);
+					}
+				})
+			},
+			treeclick(item) {
+				this.target = item;
+				if (!item.id) return this.init();
+				this.init({
+					projectItemTargetId: item.id
+				})
+			},
+			tipClick(id) {
+				let item = this.list.find(node => node.id === id);
+				if (!item || !item.id) return;
+				this.clickVideo(item)
+			},
+			clickVideo(item) {
+				this.nowVideo = item;
+				this.$refs[this.nowVideo.number][0].stop();
+				this.isVideo = true;
+			},
+			closeVideo() {
+				if (this.$refs[this.nowVideo.number][0]) this.$refs[this.nowVideo.number][0].play();
+				this.$refs.playVideo.destroy();
 			},
-			tipClick() {
-				this.visible = true;
-			}
 		},
 	}
 </script>
@@ -154,6 +132,114 @@
 		width: 100%;
 		height: 100%;
 
+		.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: 101;
+
+			.title {
+				display: flex;
+				align-items: center;
+				position: relative;
+				background: linear-gradient(315deg, rgba(167, 208, 255, 0), rgba(110, 163, 255, 0.2));
+				margin-bottom: 2px;
+				line-height: 32px;
+				padding: 0 10px;
+
+				.title-icon {
+					width: 14px;
+					height: 14px;
+					border: 1px solid #4f7adb;
+					margin-right: 10px;
+					box-shadow: 0px 0px 6px 2px rgba(110, 163, 255, 0.2);
+					display: flex;
+					align-items: center;
+					justify-content: center;
+
+					i {
+						display: inline-block;
+						width: 4px;
+						height: 4px;
+						background: rgba(110, 163, 255, 0.6);
+					}
+				}
+
+				&:before {
+					content: '';
+					left: -1px;
+					bottom: 0px;
+					position: absolute;
+					width: 15px;
+					height: 2px;
+					border-radius: 2px;
+					background: #4777e3;
+				}
+
+				.label {
+					flex: 1;
+					width: 0;
+					overflow: hidden;
+					font-weight: 500;
+				}
+
+				.title-option {
+					display: flex;
+					align-items: center;
+					background: rgba(26, 38, 60, 0.8);
+					height: 20px;
+					border-radius: 2px;
+				}
+
+				.option-item {
+					width: 60px;
+					height: 20px;
+					color: #818CA2;
+					font-size: 12px;
+					text-align: center;
+					line-height: 20px;
+					border-radius: 2px;
+					cursor: pointer;
+				}
+
+				.option-item.active,
+				.option-item:hover {
+					background: #6c7589;
+					color: #D2E4FF;
+				}
+
+				.more {
+					color: $--color-primary;
+					font-size: 12px;
+					cursor: pointer;
+				}
+
+				.el-icon-close {
+					font-size: 20px;
+					cursor: pointer;
+				}
+			}
+
+			.video-toggle-box {
+				flex: 1;
+				height: 0;
+				display: flex;
+				align-items: center;
+				padding: 0 20px 20px 20px;
+				box-sizing: border-box;
+			}
+
+			video {
+				max-height: 100%;
+			}
+		}
+
 		.yui-tree-box {
 			width: 100%;
 			height: 100%;
@@ -299,12 +385,30 @@
 					transition: all 200ms linear;
 					padding-right: 1px;
 				}
+
+				.video-mask {
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					bottom: 0;
+					background: rgba(0, 0, 0, 0.5);
+					z-index: 3;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					opacity: 0;
+					transition: 300ms;
+
+					i {
+						font-size: 24px;
+					}
+				}
 			}
 
 			.monitor-item:hover {
-
-				.monitor-item-box {
-					border: 1px solid $--color-primary;
+				.video-mask {
+					opacity: 1;
 				}
 
 				.monitor-operation {

File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/index.html


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/1171.9ac836aa.css


virgo.wzfrontend/src/main/resources/static/console/static/css/6393.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/console/static/css/191.b6c7aaf0.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/264.489fda7e.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/316.9b736443.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/3892.08408220.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4260.2e4be015.css


virgo.wzfrontend/src/main/resources/static/console/static/css/7204.28d0077f.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4284.28d0077f.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5287.7bca48cd.css → virgo.wzfrontend/src/main/resources/static/console/static/css/457.7bca48cd.css


virgo.wzfrontend/src/main/resources/static/console/static/css/9818.b9bbdc53.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4593.b9bbdc53.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4612.452f8a61.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4637.b8e60b74.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4896.51f305b6.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4937.3f5e8527.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4996.8ee5f9fb.css


virgo.wzfrontend/src/main/resources/static/console/static/css/7746.7e28460d.css → virgo.wzfrontend/src/main/resources/static/console/static/css/5064.7e28460d.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/578.ff64d0e1.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/5793.2ce76ddb.css


virgo.wzfrontend/src/main/resources/static/console/static/css/7788.28d0077f.css → virgo.wzfrontend/src/main/resources/static/console/static/css/641.28d0077f.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/6654.77e8716b.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/6658.4287ecb0.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/7215.d70b16f2.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/6946.64ad472f.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/7196.61575138.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5062.7c138caa.css → virgo.wzfrontend/src/main/resources/static/console/static/css/7376.7c138caa.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/3059.0aae4e96.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/7470.b37dfbb0.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/7883.a047c5c7.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/5411.71c8d2e4.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/8095.740aad09.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/8247.f5556d6e.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/8468.eb2d7c9e.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/8619.9a79a165.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/882.4a136c23.css


virgo.wzfrontend/src/main/resources/static/console/static/css/3354.b01ee7b6.css → virgo.wzfrontend/src/main/resources/static/console/static/css/9018.b01ee7b6.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9155.9e9f2398.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9624.5ead6c8a.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9741.00353a9c.css


virgo.wzfrontend/src/main/resources/static/console/static/css/4595.d8f96344.css → virgo.wzfrontend/src/main/resources/static/console/static/css/9757.d8f96344.css


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9919.7bca48cd.css


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/8551-legacy.790c2c8b.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1266.76ea2f23.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1368-legacy.e001a56c.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1368.f2d635d6.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1374-legacy.a910eac1.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1374.14b53fa1.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1618.dde3ecab.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1821-legacy.8d1e28fc.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1821-legacy.edca067a.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/191.0fb32dfc.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1962.ebda7749.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2059.8e20547e.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2059.bdb9fef6.js


virgo.wzfrontend/src/main/resources/static/console/static/js/2066.a99db0ee.js → virgo.wzfrontend/src/main/resources/static/console/static/js/2066.c84ce16d.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2186.eee78fee.js


virgo.wzfrontend/src/main/resources/static/console/static/js/2264-legacy.d15fbdcb.js → virgo.wzfrontend/src/main/resources/static/console/static/js/2264-legacy.5bd9e8d8.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2314-legacy.9392b23f.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2314.fa907453.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/264-legacy.381f8e54.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/264-legacy.66c21f91.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2643.49175a39.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2643.b708383c.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3059-legacy.ec2a075a.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3059.60d330bc.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/316-legacy.60297c08.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3182.b61af047.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3427.edb5c651.js


virgo.wzfrontend/src/main/resources/static/console/static/js/3433-legacy.1bf41a7f.js → virgo.wzfrontend/src/main/resources/static/console/static/js/3433-legacy.2e4af5f1.js


virgo.wzfrontend/src/main/resources/static/console/static/js/3571-legacy.663539b3.js → virgo.wzfrontend/src/main/resources/static/console/static/js/3571-legacy.3ad4b541.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3755-legacy.e210815b.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/3782.165cef48.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3817-legacy.20aaa047.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/3817.16648df1.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/8832-legacy.bf928669.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4136.389c307f.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4260-legacy.4cf5de20.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/7204-legacy.27046d57.js


virgo.wzfrontend/src/main/resources/static/console/static/js/4388-legacy.947b6234.js → virgo.wzfrontend/src/main/resources/static/console/static/js/4388-legacy.d7fab152.js


virgo.wzfrontend/src/main/resources/static/console/static/js/4523-legacy.045ffca9.js → virgo.wzfrontend/src/main/resources/static/console/static/js/4523-legacy.88f9fac4.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/457.97eef73a.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/9818-legacy.c789aadc.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4595-legacy.abb420ea.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4595.2a8da94c.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4612-legacy.5b7c008f.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4637-legacy.eace913c.js


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4667.53c146c3.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4767.30f54648.js


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/4767.f88922ab.js


+ 0 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/5350-legacy.08493d90.js


Some files were not shown because too many files changed in this diff