whx 3 kuukautta sitten
vanhempi
commit
0b9d9627a0
100 muutettua tiedostoa jossa 602 lisäystä ja 171 poistoa
  1. 1 0
      virgo.wzfrontend/console/src/components/common/projectItemTree.vue
  2. 17 1
      virgo.wzfrontend/console/src/components/work/bim/modelDetail/house.vue
  3. 207 0
      virgo.wzfrontend/console/src/components/work/bim/modelDetail/monitor.vue
  4. 115 74
      virgo.wzfrontend/console/src/components/work/bim/operationModels.vue
  5. 165 0
      virgo.wzfrontend/console/src/components/work/common/bimModel.vue
  6. 3 2
      virgo.wzfrontend/console/src/components/work/property/propertyFlowForm.vue
  7. 3 0
      virgo.wzfrontend/console/src/config/field.js
  8. 3 3
      virgo.wzfrontend/console/src/loading/loading.vue
  9. 3 3
      virgo.wzfrontend/console/src/uitls/controls.js
  10. 1 1
      virgo.wzfrontend/console/src/views/work/bill/routine/client.vue
  11. 1 1
      virgo.wzfrontend/console/src/views/work/bill/routine/organization.vue
  12. 45 34
      virgo.wzfrontend/console/src/views/work/iot/security/monitor.vue
  13. 1 4
      virgo.wzfrontend/console/src/views/work/space/function.vue
  14. 1 1
      virgo.wzfrontend/src/main/resources/static/console/index.html
  15. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/1706.64ad472f.css
  16. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/2047.aa0edd61.css
  17. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/2193.aa0edd61.css
  18. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/2341.9e9f2398.css
  19. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/257.9910c679.css
  20. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/3181.d8191c97.css
  21. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3367.b9bbdc53.css
  22. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/3475.4287ecb0.css
  23. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3509.9910c679.css
  24. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/3788.de042a42.css
  25. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/3845.0a49a5bb.css
  26. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4108.2e9938ce.css
  27. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/411.5ead6c8a.css
  28. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4220.2ce76ddb.css
  29. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4135.8ee5f9fb.css
  30. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/45.563480f9.css
  31. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6418.28950939.css
  32. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4684.f824ccdc.css
  33. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4771.9a79a165.css
  34. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/4776.de042a42.css
  35. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/5013.731e3995.css
  36. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/5545.452f8a61.css
  37. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6338.2e4be015.css
  38. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6613.b37dfbb0.css
  39. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6666.4a136c23.css
  40. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6720.4287ecb0.css
  41. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6970.f824ccdc.css
  42. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/7342.4287ecb0.css
  43. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7536.563480f9.css
  44. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/7775.ff64d0e1.css
  45. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8184.489fda7e.css
  46. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9314.407ed996.css
  47. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9349.740aad09.css
  48. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9433.5947691c.css
  49. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9462.d29209f9.css
  50. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9691.00353a9c.css
  51. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9757.eb2d7c9e.css
  52. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9955.77e8716b.css
  53. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/app.75f574f8.css
  54. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/app.f005fcf5.css
  55. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1000-legacy.14b94fd7.js
  56. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1000.680a2a64.js
  57. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1000.ed1467b3.js
  58. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1088-legacy.7772c10d.js
  59. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1088.7bd7ecbd.js
  60. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1088.e2b0645c.js
  61. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1116.0a237898.js
  62. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1116.4fb31f53.js
  63. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1200.a3e0e8cc.js
  64. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1200.f4f416d2.js
  65. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/4771-legacy.1694e9cd.js
  66. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1216-legacy.4cf602ca.js
  67. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1216-legacy.eb57b1f7.js
  68. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1216.98d6acb6.js
  69. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1216.bf0d66ef.js
  70. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1361.f8bdef2e.js
  71. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1438-legacy.b0c80d83.js
  72. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1663.531d5015.js
  73. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1690-legacy.86570d37.js
  74. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1706-legacy.b9327a1e.js
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/1957-legacy.81680727.js
  76. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2033-legacy.7ff5efc7.js
  77. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2033.33f059bd.js
  78. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2033.78589281.js
  79. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2047.4a83daa2.js
  80. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2193-legacy.363178fe.js
  81. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2217-legacy.ab6365e0.js
  82. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2217.32535e9c.js
  83. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2217.f1077345.js
  84. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2319-legacy.bca12cb9.js
  85. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2319.8ae03a42.js
  86. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2319.af53bb58.js
  87. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2341-legacy.4676ca8e.js
  88. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2379-legacy.0e88801a.js
  89. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2379.e868abeb.js
  90. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/252-legacy.73483924.js
  91. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/252.ba5f7cb1.js
  92. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/257-legacy.d42f66bd.js
  93. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/260.97967a85.js
  94. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/260.b81836ab.js
  95. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2609.0ed865c1.js
  96. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2618-legacy.e6d8024c.js
  97. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2618.7103b660.js
  98. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/2623-legacy.1b0bd353.js
  99. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2693.2130d83f.js
  100. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/2693.75a425d1.js

+ 1 - 0
virgo.wzfrontend/console/src/components/common/projectItemTree.vue

@@ -75,6 +75,7 @@
 							})
 							return node;
 						});
+						if (this.treeData.length === 0) this.nodeClick({}, 'isInit');
 					}
 				})
 			},

+ 17 - 1
virgo.wzfrontend/console/src/components/work/bim/modelDetail/house.vue

@@ -56,12 +56,28 @@
 			<div class="user-key">招商状态</div>
 			<div class="user-value">{{detail.investmentState === 1 ? '已招商':'未招商'}}</div>
 		</div>
+		<div class="user-item-image" v-if="imageBox.length > 0">
+			<el-carousel trigger="click" height="130px">
+				<el-carousel-item v-for="item in imageBox" :key="item.id">
+					<img :src="item.url" :alt="item.url" />
+				</el-carousel-item>
+			</el-carousel>
+		</div>
 	</div>
 </template>
 
 <script>
 	export default {
-		props: ['detail']
+		props: ['detail'],
+		data() {
+			return {
+				imageBox: []
+			}
+		},
+		created() {
+			this.imageBox = this.detail.picture ? JSON.parse(this.detail.picture) : [];
+			console.log(this.imageBox);
+		}
 	}
 </script>
 

+ 207 - 0
virgo.wzfrontend/console/src/components/work/bim/modelDetail/monitor.vue

@@ -0,0 +1,207 @@
+<template>
+	<div class="monitor-model-detail user-list">
+		<div class="user-item">
+			<div class="user-key">设备名称</div>
+			<div class="user-value">{{detail.name}}</div>
+		</div>
+		<div class="user-item">
+			<div class="user-key">设备类型</div>
+			<div class="user-value">{{detail.type === 0?'普通设备':'物联网设备' }}</div>
+		</div>
+		<div class="user-item">
+			<div class="user-key">设计编码</div>
+			<div class="user-value">{{detail.designNumber}}</div>
+		</div>
+		<div class="user-item">
+			<div class="user-key">资产编码</div>
+			<div class="user-value">{{detail.assetNumber}}</div>
+		</div>
+		<div class="user-item">
+			<div class="user-key">设备编码</div>
+			<div class="user-value">{{detail.deviceNumber}}</div>
+		</div>
+		<div class="user-item">
+			<div class="user-key">品牌</div>
+			<div class="user-value">{{detail.deviceBrand}}</div>
+		</div>
+		<div class="user-item">
+			<div class="user-key">型号</div>
+			<div class="user-value">{{detail.deviceModel}}</div>
+		</div>
+		<div class="user-item-image" style="height: 150px;">
+			<play-video :ref="detail.deviceSerialNumber"
+				:sourceUrl="`ezopen://open.ys7.com/${detail.deviceSerialNumber}/1.live`" template="simple">
+			</play-video>
+			<div class="video-mask" @click="clickVideo">
+				<i class="iconfont huifont-shuzhuangcaidanxiala"></i>
+			</div>
+		</div>
+		<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="detail.id && isVideo"
+					:sourceUrl="`ezopen://open.ys7.com/${detail.deviceSerialNumber}/1.hd.live`" template="pcLive"
+					@closeVideoModel="isVideo = false">
+				</play-video>
+			</div>
+		</div>
+		<div class="video-toggle-mask" v-if="isVideo"></div>
+	</div>
+</template>
+
+<script>
+	import playVideo from '@/components/common/playVideo.vue'
+	export default {
+		props: ['detail'],
+		data() {
+			return {
+				isVideo: false,
+			}
+		},
+		created() {
+			console.log(this.detail);
+		},
+		methods: {
+			clickVideo() {
+				if (!this.$refs[this.detail.deviceSerialNumber]) return;
+				this.$refs[this.detail.deviceSerialNumber].stop();
+				this.isVideo = true;
+			},
+			closeVideo() {
+				if (this.$refs[this.detail.deviceSerialNumber]) {
+					this.$refs[this.detail.deviceSerialNumber].play();
+				}
+				this.$refs.playVideo.destroy();
+			},
+		},
+		components: {
+			playVideo
+		},
+	}
+</script>
+
+<style lang="scss">
+	.monitor-model-detail {
+		.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: 1001;
+
+			.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%;
+			}
+		}
+
+		.video-toggle-mask {
+			position: fixed;
+			top: 0;
+			left: 0;
+			right: 0;
+			bottom: 0;
+			background: rgba(0, 0, 0, 0.5);
+			z-index: 1000;
+		}
+	}
+</style>

+ 115 - 74
virgo.wzfrontend/console/src/components/work/bim/operationModels.vue

@@ -1,5 +1,11 @@
 <template>
 	<div id="distribution" class="distribution-index">
+		<div class="left-button">
+			<div :class="'menu-item pangmenzhengdao' + (node.id == pathNode.id ? ' active' :'')"
+				v-for="(node,index) in titleList" :key="node.id" @click="selectItem(node)">
+				{{node.name}}
+			</div>
+		</div>
 		<div :id="'previewBim'+_uid" class="previewBim"></div>
 		<div id="distribution-drap" class="distribution-drap" v-show="drapShow" @mousedown="dragStart"
 			@touchstart="dragStart">
@@ -7,19 +13,12 @@
 				<div id="title" class="distribution-drap-title-content">{{detail.title}}</div>
 				<i id="close" class="el-icon-circle-close" @click="drapShow = false"></i>
 			</div>
-			<div class="distribution-drap-content">
+			<div class="distribution-drap-content" v-if="drapShow">
 				<organization v-if="type === 'organizationDetail'" :detail="detail" @clickName="clickName">
 				</organization>
 				<house v-else-if="type === 'roomDetail'" :detail="detail"></house>
+				<monitor v-else-if="type === 'monitor'" :detail="detail"></monitor>
 			</div>
-			<div class="image-box" v-if="detail.imageBox">
-				<el-carousel trigger="click" height="130px">
-					<el-carousel-item v-for="item in detail.imageBox" :key="item.id">
-						<img :src="item.url" :alt="item.url" />
-					</el-carousel-item>
-				</el-carousel>
-			</div>
-			<div style="padding: 5px;" v-else></div>
 		</div>
 		<el-dialog :close-on-click-modal="false" :title="noticeBoardType === '1' ? '企业看板':'设备看板'"
 			:visible.sync="modelVisible" width="1100px" :append-to-body="true">
@@ -38,10 +37,14 @@
 	import {
 		getOrganizationListByPage
 	} from '@/httpApi/business'
+	import {
+		getDevicePartListByQuery
+	} from '@/httpApi/property'
 	import bimView from '@/uitls/controls'
 	import noticeBoard from '@/components/work/common/noticeBoard'
 	import organization from '@/components/work/bim/modelDetail/organization'
 	import house from '@/components/work/bim/modelDetail/house'
+	import monitor from '@/components/work/bim/modelDetail/monitor'
 	export default {
 		props: ['target'],
 		data() {
@@ -54,7 +57,36 @@
 				roomList: [],
 				organizationObj: {},
 				type: '',
-				item: {}
+				item: {},
+				titleList: [{
+					id: 1,
+					name: '企业'
+				}, {
+					id: 2,
+					name: '监控',
+					type: 'monitor'
+				}],
+				pathNode: {
+					id: 1,
+					name: '企业'
+				},
+				signList: [{
+					id: 1,
+					name: '摄像头',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/370f04b711094bebbf7623371678b426'
+				}, {
+					id: 2,
+					name: '门禁',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/2585f3b800b34181b6b36044ab517447'
+				}, {
+					id: 3,
+					name: '停车',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/1326f380e5c542c085899bde868358a8'
+				}, {
+					id: 4,
+					name: '照明',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/a8ad1d0f82bf453c8c972fcad32bf50e'
+				}]
 			}
 		},
 		created() {
@@ -92,9 +124,28 @@
 		components: {
 			noticeBoard,
 			organization,
-			house
+			house,
+			monitor
 		},
 		methods: {
+			selectItem(item) {
+				if (this.pathNode.id === item.id) return;
+				this.pathNode = item;
+				this.drapShow = false;
+				this.clearAll();
+				if (item.id === 1) this.setFloor();
+				if (item.id === 2) this.getDeviceList('monitor')
+			},
+			clearAll() {
+				if (!this.bimViewer) return;
+				this.clearOrganization();
+				this.bimViewer.clear3DMaker();
+			},
+			clearOrganization() { //清除企业名称
+				let ids = this.roomList.filter(node => node.name).map(node => node.roomId);
+				let arr = ids.map(id => 'organization' + id);
+				this.bimViewer.clearDrawable(arr);
+			},
 			clickName(noticeBoardType) {
 				this.modelVisible = true;
 				this.noticeBoardType = noticeBoardType;
@@ -125,6 +176,46 @@
 						this.$loading.close();
 					}
 				})
+			},
+			getDeviceList(type) { //获取设备列表
+				this.deviceList = [];
+				let postData = {
+					projectId: this.$store.getters.project.id,
+					sign: type
+				}
+				getDevicePartListByQuery(postData).then(res => {
+					if (res.state) {
+						this.sortDeviceList(res.data);
+						this.operationDevice();
+					}
+				})
+			},
+			sortDeviceList(data) {
+				for (var i = 0; i < data.length; i++) {
+					this.deviceList = this.deviceList.concat(data[i].deviceList);
+					if (data[i].children && data[i].children.length > 0) this.sortDeviceList(data[i].children);
+				}
+			},
+			operationDevice() {
+				let list = this.deviceList.filter(node => node.projectItemTargetId === this.item.id &&
+					node.type === 1);
+				for (let i = 0; i < list.length; i++) {
+					if (list[i].modelBindType) {
+						if (list[i].modelBindType === 3 && list[i].modelBindContent && list[i].modelBindPosition) {
+							let item = this.signList.find(node => node.id == list[i].modelBindContent);
+							let position = JSON.parse(list[i].modelBindPosition);
+							this.bimViewer.add3DMaker('image', position, item.iconPath, (data) => {
+								let id = data.id.split('-')[1];
+								let item = list.find(node => node.id == id);
+								item['title'] = item.name;
+								this.showDrap(this.pathNode.type, item);
+							}, 'device-' + list[i].id);
+						}
+					}
+				}
+			},
+			clickMark() {
+
 			},
 			changeTarget(data) {
 				this.clearFloor();
@@ -141,6 +232,9 @@
 							if (this.item.bimIntegrateId === '3102248339366592') this.modelRenderSuccess();
 							this.initFloor();
 							this.setFloor();
+						},
+						click: (data) => {
+							console.log(data);
 						}
 					})
 				} else {
@@ -176,8 +270,8 @@
 			},
 			clearFloor() { //清除房间
 				let ids = this.roomList.filter(node => node.name).map(node => node.roomId);
-				let arr1 = ids.map(id => 'room' + id);
-				let arr2 = ids.map(id => 'floor' + id);
+				let arr1 = ids.map(id => 'organization' + id);
+				let arr2 = ids.map(id => 'room' + id);
 				this.bimViewer.clearDrawable(arr1.concat(arr2));
 				this.bimViewer.clearAllRooms();
 			},
@@ -219,7 +313,6 @@
 					if (this.roomList[i].name) {
 						let house = this.roomList[i].data;
 						house['title'] = this.roomList[i].name;
-						house['imageBox'] = house.picture ? JSON.parse(house.picture) : [];
 						this.bimViewer.addDrawable({
 							position: {
 								x: x,
@@ -229,7 +322,7 @@
 							offsetX: -30,
 							offsetY: 5,
 							html: `	<div class="floor-name">${this.roomList[i].name}</div>`,
-							id: 'floor' + this.roomList[i].roomId
+							id: 'room' + this.roomList[i].roomId
 						}, data => {
 							this.showDrap('roomDetail', house);
 						})
@@ -246,7 +339,7 @@
 							offsetX: -75,
 							offsetY: -40,
 							html: `	<div class="tips-4"><div class="name">${organization.name}</div><i class="iconfont huifont-sanjiaojiantou-xia"></i></div>`,
-							id: 'room' + this.roomList[i].roomId,
+							id: 'organization' + this.roomList[i].roomId,
 							visibleDistance: parseInt(this.roomList[i].distance)
 						}, data => {
 							this.showDrap('organizationDetail', organization);
@@ -283,61 +376,6 @@
 		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;
 		}
@@ -395,6 +433,10 @@
 			right: 30px;
 			top: 30px;
 
+			.distribution-drap-content {
+				padding-bottom: 5px;
+			}
+
 			.distribution-drap-title {
 				height: 40px;
 				display: flex;
@@ -448,10 +490,9 @@
 				}
 			}
 
-			.image-box {
+			.user-item-image {
 				width: 100%;
 				height: 150px;
-				padding: 10px;
 				box-sizing: border-box;
 				position: relative;
 
@@ -484,7 +525,7 @@
 				}
 			}
 
-			.image-box:hover {
+			.user-item-image:hover {
 				.video-mask {
 					opacity: 1;
 				}

+ 165 - 0
virgo.wzfrontend/console/src/components/work/common/bimModel.vue

@@ -0,0 +1,165 @@
+<template>
+	<div class="bim-model-box">
+		<div class="space-null" v-if="nullType === 1">
+			<img :src="nullImage" alt="" />
+			<div class="space-null-text">您还未进行楼宇设置,请先设置楼宇!</div>
+		</div>
+		<div class="space-null" v-if="nullType === 2">
+			<img :src="nullImage" alt="" />
+			<div class="space-null-text">该单位建筑暂未集成模型</div>
+		</div>
+		<div class="space-null" v-if="nullType === 3">
+			<img :src="nullImage" alt="" />
+			<div class="space-null-text">模型集成中,请稍后再试</div>
+		</div>
+		<div :id="'previewBim'+_uid" class="previewBim" v-show="nullType === 4"></div>
+	</div>
+</template>
+
+<script>
+	import bimView from '@/uitls/controls'
+	import {
+		getIntegrateViewToken
+	} from '@/httpApi/bim';
+	export default {
+		props: ['item', 'type'],
+		data() {
+			return {
+				nullType: '',
+				nullImage: require('../../../assets/img/work/common/dataNull.png'),
+				bimViewer: null,
+				renderSuccess: false,
+				target: {},
+				deviceList: [],
+				signList: [{
+					id: 1,
+					name: '摄像头',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/370f04b711094bebbf7623371678b426'
+				}, {
+					id: 2,
+					name: '门禁',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/2585f3b800b34181b6b36044ab517447'
+				}, {
+					id: 3,
+					name: '停车',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/1326f380e5c542c085899bde868358a8'
+				}, {
+					id: 4,
+					name: '照明',
+					iconPath: 'https://file-node.oss-cn-shanghai.aliyuncs.com/youji/a8ad1d0f82bf453c8c972fcad32bf50e'
+				}]
+			}
+		},
+		beforeDestroy() {
+			if (this.bimViewer && this.renderSuccess) this.bimViewer.destroy();
+		},
+		created() {
+			this.target = this.item;
+			this.changeProject();
+		},
+		methods: {
+			changeProject(e) {
+				if (e) this.target = e;
+				if (!this.target.id) return this.nullType = 1;
+				if (!this.target.bimIntegrateId) {
+					this.nullType = 2;
+				} else {
+					this.$nextTick(() => {
+						this.initBIM();
+					})
+				}
+			},
+			initModelPosition() {
+				let list = this.deviceList.filter(node => node.projectItemTargetId === this.target.id &&
+					node.type === 1);
+				for (let i = 0; i < list.length; i++) {
+					if (list[i].modelBindType) {
+						if (list[i].modelBindType === 3 && list[i].modelBindContent && list[i].modelBindPosition) {
+							let item = this.signList.find(node => node.id == list[i].modelBindContent);
+							let position = JSON.parse(list[i].modelBindPosition);
+							this.bimViewer.add3DMaker('image', position, item.iconPath, (data) => {
+								let id = data.id.split('-')[1];
+								this.$emit('click3DMaker', list.find(node => node.id == id));
+							}, 'monitor-' + list[i].id);
+						}
+					}
+				}
+			},
+			initBIM() {
+				getIntegrateViewToken(this.target.bimIntegrateId).then(res => {
+					if (res.state) {
+						if (!res.data) return this.nullType = 3;
+						this.nullType = 4;
+						if (this.bimViewer) { //切换楼宇,直接切换模型
+							return this.bimViewer.changeView({
+								newToken: res.data,
+								bimIntegrateId: this.target.bimIntegrateId
+							});
+						}
+						this.bimViewer = new bimView({
+							dom: document.getElementById('previewBim' + this._uid),
+							viewToken: res.data,
+							bimIntegrateId: this.target.bimIntegrateId,
+							renderSuccess: () => {
+								this.renderSuccess = true;
+								if (this.target.bimIntegrateId === '3102248339366592') {
+									this.bimViewer.hideComponentsByObjectData([{
+										categoryId: "-2000038",
+										levelName: "标高 1"
+									}])
+									this.bimViewer.overrideComponentsColorByObjectData([{
+										family: "楼板",
+										levelName: "标高 1"
+									}], "#cecece")
+									this.bimViewer.overrideComponentsColorByObjectData([{
+										family: "基本墙",
+										levelName: "标高 1"
+									}], "#afa6ab")
+								}
+								this.initModelPosition();
+							},
+							click: data => {
+								console.log(data);
+							}
+						})
+					} else {
+						this.nullType === 3
+					}
+				});
+			}
+		},
+	}
+</script>
+
+<style lang="scss">
+	.bim-model-box {
+		width: 100%;
+		height: 100%;
+
+		.space-null {
+			width: 100%;
+			height: 100%;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			flex-direction: column;
+
+			img {
+				width: 420px;
+			}
+
+			.space-null-text {
+				padding: 30px 0 20px 0;
+			}
+		}
+
+		.previewBim {
+			width: 100%;
+			height: 100%;
+
+			.bf-house {
+				display: none !important;
+			}
+		}
+	}
+</style>

+ 3 - 2
virgo.wzfrontend/console/src/components/work/property/propertyFlowForm.vue

@@ -187,7 +187,7 @@
 		created() {
 			if (JSON.stringify(this.flowForm) === "{}") return this.getPartList();
 			this.propertyForm = this.flowForm;
-			if (this.flowForm.modelBindPosition) this.position = JSON.parse(this.propertyForm.modelBindPosition);
+			if (this.flowForm.modelBindPosition) this.position = JSON.parse(this.flowForm.modelBindPosition);
 			this.getPartList();
 		},
 		methods: {
@@ -264,7 +264,8 @@
 			flowForm() {
 				if (JSON.stringify(this.flowForm) === "{}") return;
 				this.propertyForm = this.flowForm;
-				this.getPartList();
+				this.getPartList();
+				if (this.flowForm.modelBindPosition) this.position = JSON.parse(this.flowForm.modelBindPosition);
 			}
 		},
 		components: {

+ 3 - 0
virgo.wzfrontend/console/src/config/field.js

@@ -56,6 +56,9 @@ const customerType = [{
 }, {
 	id: 5,
 	name: '流失客户'
+}, {
+	id: 6,
+	name: '洽商客户'
 }];
 
 const followUpState = [{

+ 3 - 3
virgo.wzfrontend/console/src/loading/loading.vue

@@ -1,5 +1,5 @@
 <template>
-	<div class="loading" v-show="show">
+	<div class="yui-loading-box" v-show="show">
 		<div class="spinner2">
 			<div class="rect1 rect"></div>
 			<div class="rect2 rect"></div>
@@ -32,8 +32,8 @@
 	}
 </script>
 
-<style lang="scss">
-	.loading {
+<style lang="scss" scoped>
+	.yui-loading-box {
 		position: fixed;
 		top: 0;
 		left: 0;

+ 3 - 3
virgo.wzfrontend/console/src/uitls/controls.js

@@ -441,7 +441,8 @@ class bimView {
 			marker3dConfig.size = 60;
 			if (id) marker3dConfig.id = id;
 			let marker3d = new Glodon.Bimface.Plugins.Marker3D.Marker3D(marker3dConfig);
-			if (clickFn) marker3d.onClick(clickFn)
+			if (clickFn) marker3d.onClick(clickFn);
+			console.log(marker3d);
 			marker3D.addItem(marker3d);
 			viewer3D.render();
 		}
@@ -778,14 +779,13 @@ class bimView {
 				viewToken: newToken
 			});
 		}
-		this.changeview = (opt) => {
+		this.changeView = (opt) => {
 			viewer3D.removeModel(model3D.id)
 			viewer3D.loadModel({
 				viewToken: opt.newToken
 			});
 			if (opt.bimIntegrateId) bimIntegrateId = opt.bimIntegrateId;
 			viewer3D.render();
-			// if (renderSuccess) renderSuccess();
 		}
 		this.destroy = () => {
 			console.log('销毁场景');

+ 1 - 1
virgo.wzfrontend/console/src/views/work/bill/routine/client.vue

@@ -72,7 +72,7 @@
 	import detail from '@/components/work/bill/routine/detail'
 	import listFilter from '@/components/common/listFilter'
 	import {
-		getPaymentListByPage
+		getPaymentsListByPage
 	} from '@/httpApi/bill'
 	import {
 		bindProjectDetail

+ 1 - 1
virgo.wzfrontend/console/src/views/work/bill/routine/organization.vue

@@ -72,7 +72,7 @@
 	import detail from '@/components/work/bill/routine/detail'
 	import listFilter from '@/components/common/listFilter'
 	import {
-		getPaymentListByPage
+		getPaymentsListByPage
 	} from '@/httpApi/bill'
 	import {
 		bindProjectDetail

+ 45 - 34
virgo.wzfrontend/console/src/views/work/iot/security/monitor.vue

@@ -1,9 +1,9 @@
 <template>
 	<div class="work-monitor">
 		<div class="yui-tree-box">
-			<project-item-tree @treeclick="treeclick"></project-item-tree>
-			<div class="hui-tree-content">
-				<model ref="model" type="monitor" fileId="10000892771892" @tipClick="tipClick"></model>
+			<project-item-tree @treeclick="treeclick" type="isInit"></project-item-tree>
+			<div class="hui-tree-content" v-if="isInit">
+				<bim-model ref="operationModels" type="monitor" :item="target" @click3DMaker="clickVideo"></bim-model>
 			</div>
 			<div class="placeholder"></div>
 		</div>
@@ -24,7 +24,9 @@
 				<div class="monitor-list hui-flex-box" v-else>
 					<div class="monitor-item" v-for="(item,index) in list" :key="item.id">
 						<div class="monitor-item-box">
-							<play-video :ref="item.number" :sourceUrl="item.appKey" template="simple">
+							<play-video :ref="item.deviceSerialNumber"
+								:sourceUrl="`ezopen://open.ys7.com/${item.deviceSerialNumber}/1.live`"
+								template="simple">
 							</play-video>
 							<div class="monitor-space">{{item.name}}</div>
 							<div class="video-mask" @click="clickVideo(item)">
@@ -42,7 +44,8 @@
 				<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"
+				<play-video ref="playVideo" v-if="nowVideo.id && isVideo"
+					:sourceUrl="`ezopen://open.ys7.com/${nowVideo.deviceSerialNumber}/1.hd.live`" template="pcLive"
 					@closeVideoModel="isVideo = false">
 				</play-video>
 			</div>
@@ -52,11 +55,11 @@
 </template>
 
 <script>
-	import model from '@/components/work/common/model'
+	import bimModel from '@/components/work/common/bimModel'
 	import projectItemTree from '@/components/common/projectItemTree'
 	import {
-		getMonitorList
-	} from '@/httpApi/test'
+		getDevicePartListByQuery
+	} from '@/httpApi/property'
 	import playVideo from '@/components/common/playVideo.vue'
 	export default {
 		data() {
@@ -65,51 +68,59 @@
 				list: [],
 				isOpen: false,
 				isVideo: false,
-				nowVideo: {}
+				nowVideo: {},
+				isInit: false,
+				deviceList: []
 			}
 		},
-		created() {
-			this.init();
-		},
+		created() {},
 		components: {
-			model,
+			bimModel,
 			projectItemTree,
 			playVideo
 		},
 		methods: {
-			init(option) {
-				let postData = option || {
-					projectId: this.$store.getters.project.id
+			init() {
+				this.deviceList = [];
+				let postData = {
+					projectId: this.$store.getters.project.id,
+					sign: 'monitor'
 				}
-				getMonitorList(postData).then(res => {
+				getDevicePartListByQuery(postData).then(res => {
 					if (res.state) {
-						this.list = res.data.dataList.map(node => {
-							node['position'] = JSON.parse(node.secret);
-							return node;
-						});
-						if (this.$refs.model) this.$refs.model.setData(this.list);
+						this.sortDeviceList(res.data);
+						this.list = this.deviceList.filter(node => node.projectItemTargetId === this.target.id &&
+							node.type === 1);
+						if (this.$refs.operationModels) this.$refs.operationModels.deviceList = this.deviceList;
 					}
 				})
 			},
-			treeclick(item) {
-				this.target = item;
-				if (!item.id) return this.init();
-				this.init({
-					projectItemTargetId: item.id
-				})
+			sortDeviceList(data) {
+				for (var i = 0; i < data.length; i++) {
+					this.deviceList = this.deviceList.concat(data[i].deviceList);
+					if (data[i].children && data[i].children.length > 0) this.sortDeviceList(data[i].children);
+				}
 			},
-			tipClick(id) {
-				let item = this.list.find(node => node.id === id);
-				if (!item || !item.id) return;
-				this.clickVideo(item)
+			treeclick(e, type) {
+				this.target = e;
+				if (type === 'isInit') {
+					this.init();
+					this.isInit = true;
+				} else {
+					this.list = this.deviceList.filter(node => node.projectItemTargetId === this.target.id && node.type ===
+						1);
+				}
+				if (this.$refs.operationModels && type != 'isInit') this.$refs.operationModels.changeProject(e);
 			},
 			clickVideo(item) {
 				this.nowVideo = item;
-				this.$refs[this.nowVideo.number][0].stop();
+				this.$refs[this.nowVideo.deviceSerialNumber][0].stop();
 				this.isVideo = true;
 			},
 			closeVideo() {
-				if (this.$refs[this.nowVideo.number][0]) this.$refs[this.nowVideo.number][0].play();
+				if (this.$refs[this.nowVideo.deviceSerialNumber][0]) {
+					this.$refs[this.nowVideo.deviceSerialNumber][0].play();
+				}
 				this.$refs.playVideo.destroy();
 			},
 		},

+ 1 - 4
virgo.wzfrontend/console/src/views/work/space/function.vue

@@ -62,9 +62,6 @@
 						<div class="space-null" v-if="nullType === 1">
 							<img :src="nullImage" alt="" />
 							<div class="space-null-text">您还未进行空间设置,请先设置空间!</div>
-							<div class="flow-button">
-								<el-button size="medium" type="primary">前去设置</el-button>
-							</div>
 						</div>
 						<div class="space-null" v-if="nullType === 2">
 							<img :src="nullImage" alt="" />
@@ -247,7 +244,7 @@
 				if (res.state) {
 					if (!res.data) return this.nullType = 3;
 					this.nullType = 4;
-					if (this.bimViewer) return this.bimViewer.changeview({
+					if (this.bimViewer) return this.bimViewer.changeView({
 						newToken: res.data,
 						bimIntegrateId: this.projectItem.bimIntegrateId
 					});

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/index.html


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/1706.64ad472f.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/2047.aa0edd61.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/2193.aa0edd61.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5257.9e9f2398.css → virgo.wzfrontend/src/main/resources/static/console/static/css/2341.9e9f2398.css


virgo.wzfrontend/src/main/resources/static/console/static/css/1957.9910c679.css → virgo.wzfrontend/src/main/resources/static/console/static/css/257.9910c679.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/3181.d8191c97.css


virgo.wzfrontend/src/main/resources/static/console/static/css/4755.b9bbdc53.css → virgo.wzfrontend/src/main/resources/static/console/static/css/3367.b9bbdc53.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/3475.4287ecb0.css


virgo.wzfrontend/src/main/resources/static/console/static/css/4933.9910c679.css → virgo.wzfrontend/src/main/resources/static/console/static/css/3509.9910c679.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/3788.de042a42.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/3845.0a49a5bb.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4108.2e9938ce.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/411.5ead6c8a.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4220.2ce76ddb.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4135.8ee5f9fb.css


virgo.wzfrontend/src/main/resources/static/console/static/css/1438.563480f9.css → virgo.wzfrontend/src/main/resources/static/console/static/css/45.563480f9.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6418.28950939.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4684.f824ccdc.css


virgo.wzfrontend/src/main/resources/static/console/static/css/2623.9a79a165.css → virgo.wzfrontend/src/main/resources/static/console/static/css/4771.9a79a165.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/4776.de042a42.css


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


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/5545.452f8a61.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6338.2e4be015.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6613.b37dfbb0.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6666.4a136c23.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6720.4287ecb0.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6970.f824ccdc.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/7342.4287ecb0.css


virgo.wzfrontend/src/main/resources/static/console/static/css/5417.563480f9.css → virgo.wzfrontend/src/main/resources/static/console/static/css/7536.563480f9.css


virgo.wzfrontend/src/main/resources/static/console/static/css/859.ff64d0e1.css → virgo.wzfrontend/src/main/resources/static/console/static/css/7775.ff64d0e1.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8184.489fda7e.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9314.407ed996.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9349.740aad09.css


virgo.wzfrontend/src/main/resources/static/console/static/css/6493.5947691c.css → virgo.wzfrontend/src/main/resources/static/console/static/css/9433.5947691c.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9462.d29209f9.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9691.00353a9c.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9757.eb2d7c9e.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9955.77e8716b.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/app.75f574f8.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/app.f005fcf5.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1000-legacy.14b94fd7.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1000.680a2a64.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1000.ed1467b3.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1088-legacy.7772c10d.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1088.7bd7ecbd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1088.e2b0645c.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1116.0a237898.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1116.4fb31f53.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1200.a3e0e8cc.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1200.f4f416d2.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/4771-legacy.1694e9cd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1216-legacy.4cf602ca.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1216-legacy.eb57b1f7.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1216.98d6acb6.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1216.bf0d66ef.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1361.f8bdef2e.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1438-legacy.b0c80d83.js


virgo.wzfrontend/src/main/resources/static/console/static/js/1663.fc4823b4.js → virgo.wzfrontend/src/main/resources/static/console/static/js/1663.531d5015.js


virgo.wzfrontend/src/main/resources/static/console/static/js/1690-legacy.622abed1.js → virgo.wzfrontend/src/main/resources/static/console/static/js/1690-legacy.86570d37.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1706-legacy.b9327a1e.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/1957-legacy.81680727.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2033-legacy.7ff5efc7.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2033.33f059bd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2033.78589281.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2047.4a83daa2.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2193-legacy.363178fe.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2217-legacy.ab6365e0.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2217.32535e9c.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2217.f1077345.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2319-legacy.bca12cb9.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2319.8ae03a42.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2319.af53bb58.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2341-legacy.4676ca8e.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2379-legacy.0e88801a.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2379.e868abeb.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/252-legacy.73483924.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/252.ba5f7cb1.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/257-legacy.d42f66bd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/260.97967a85.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/260.b81836ab.js


virgo.wzfrontend/src/main/resources/static/console/static/js/2609.5046e6ad.js → virgo.wzfrontend/src/main/resources/static/console/static/js/2609.0ed865c1.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2618-legacy.e6d8024c.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2618.7103b660.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/2623-legacy.1b0bd353.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2693.2130d83f.js


+ 0 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/2693.75a425d1.js


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä