whx 7 달 전
부모
커밋
240a2474e2
100개의 변경된 파일5957개의 추가작업 그리고 2007개의 파일을 삭제
  1. 3 8
      virgo.wzfrontend/console/src/assets/icons/index.js
  2. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/dir.svg
  3. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/div.svg
  4. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/doc.svg
  5. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/docx.svg
  6. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/java.svg
  7. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/jpeg.svg
  8. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/jpg.svg
  9. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/mp3.svg
  10. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/mp4.svg
  11. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/nofile.svg
  12. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/pdf.svg
  13. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/png.svg
  14. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/ppt.svg
  15. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/pptx.svg
  16. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/rar.svg
  17. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/txt.svg
  18. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/xls.svg
  19. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/xlsx.svg
  20. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/file/zip.svg
  21. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/baoxue.svg
  22. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/baoyu.svg
  23. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/dafeng.svg
  24. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/daxue.svg
  25. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/dayu.svg
  26. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/feng.svg
  27. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/leizhenyu.svg
  28. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/mai.svg
  29. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/qing.svg
  30. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/qingjianduoyun.svg
  31. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/shachenbao.svg
  32. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/wu.svg
  33. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/xiaoyu.svg
  34. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/xue.svg
  35. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/yin.svg
  36. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/yujiaxue.svg
  37. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/zhenyu.svg
  38. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/zhongxue.svg
  39. 1 0
      virgo.wzfrontend/console/src/assets/icons/svg/weather/zhongyu.svg
  40. 108 0
      virgo.wzfrontend/console/src/components/common/weatherIcon.vue
  41. 33 0
      virgo.wzfrontend/console/src/httpApi/operation.js
  42. 4 0
      virgo.wzfrontend/console/src/layout/components/breadCrumb.vue
  43. 14 4
      virgo.wzfrontend/console/src/layout/components/topNav.vue
  44. 3 0
      virgo.wzfrontend/console/src/main.js
  45. 16 16
      virgo.wzfrontend/console/src/router/modules/operation.js
  46. 9 0
      virgo.wzfrontend/console/src/router/modules/staging.js
  47. 14 14
      virgo.wzfrontend/console/src/uitls/permission.js
  48. 719 4
      virgo.wzfrontend/console/src/views/work/index.vue
  49. 0 1102
      virgo.wzfrontend/console/src/views/work/operation/device/device.vue
  50. 0 241
      virgo.wzfrontend/console/src/views/work/operation/device/indoor.vue
  51. 0 311
      virgo.wzfrontend/console/src/views/work/operation/device/monitor.vue
  52. 0 268
      virgo.wzfrontend/console/src/views/work/operation/device/outdoor.vue
  53. 1414 0
      virgo.wzfrontend/console/src/views/work/operation/week/organization.vue
  54. 1086 0
      virgo.wzfrontend/console/src/views/work/operation/week/part.vue
  55. 1086 0
      virgo.wzfrontend/console/src/views/work/operation/week/work.vue
  56. 1401 0
      virgo.wzfrontend/console/src/views/work/staging/project.vue
  57. 1 1
      virgo.wzfrontend/src/main/resources/static/console/index.html
  58. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/1171.9ac836aa.css
  59. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/1843.0a49a5bb.css
  60. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/2375.0a49a5bb.css
  61. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/2527.ecdd411e.css
  62. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/264.489fda7e.css
  63. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9155.9e9f2398.css
  64. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/316.9b736443.css
  65. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9741.00353a9c.css
  66. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/396.3532808c.css
  67. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4260.2e4be015.css
  68. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4593.b9bbdc53.css
  69. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4612.452f8a61.css
  70. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4637.b8e60b74.css
  71. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4896.51f305b6.css
  72. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/175.fd889f81.css
  73. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4937.3f5e8527.css
  74. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4984.2ae46d4c.css
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/4996.8ee5f9fb.css
  76. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/5314.2ae46d4c.css
  77. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/578.ff64d0e1.css
  78. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6654.77e8716b.css
  79. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6658.4287ecb0.css
  80. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/6946.64ad472f.css
  81. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/7196.61575138.css
  82. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/7401.0a49a5bb.css
  83. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/7470.b37dfbb0.css
  84. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/786.61575138.css
  85. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/7883.a047c5c7.css
  86. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8043.2ae46d4c.css
  87. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8095.740aad09.css
  88. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8247.f5556d6e.css
  89. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8452.0aae4e96.css
  90. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8468.eb2d7c9e.css
  91. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/8619.9a79a165.css
  92. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/882.4a136c23.css
  93. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/924.61575138.css
  94. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9494.3532808c.css
  95. 0 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/9624.5ead6c8a.css
  96. 1 0
      virgo.wzfrontend/src/main/resources/static/console/static/css/9896.3532808c.css
  97. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/css/app.d05e67e5.css
  98. 1 1
      virgo.wzfrontend/src/main/resources/static/console/static/js/7196-legacy.a05d24eb.js
  99. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1271-legacy.b63a885f.js
  100. 0 0
      virgo.wzfrontend/src/main/resources/static/console/static/js/1843-legacy.1ea45765.js

+ 3 - 8
virgo.wzfrontend/console/src/assets/icons/index.js

@@ -1,8 +1,3 @@
-import Vue from 'vue'
-import svgIcon from "@/components/common/svgIcon.vue"
-Vue.component('svgIcon', svgIcon)
-
-
-const req = require.context('./svg', false, /\.svg$/);
-const requireAll = requireContext => requireContext.keys().map(requireContext);
-requireAll(req);
+const req = require.context('./svg', true, /\.svg$/);
+const requireAll = requireContext => requireContext.keys().map(requireContext)
+requireAll(req)

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/dir.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/div.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/doc.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/docx.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/java.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/jpeg.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/jpg.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/mp3.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/mp4.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/nofile.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/pdf.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/png.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/ppt.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/pptx.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/rar.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/txt.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/xls.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/xlsx.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/file/zip.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/baoxue.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/baoyu.svg


+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/dafeng.svg

@@ -0,0 +1 @@
+<svg t="1729064204573" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3484" width="200" height="200"><path d="M544 288a32 32 0 0 1 0-64h224a32 32 0 0 1 0 64h-224zM768 416a32 32 0 0 0 0-64H416a32 32 0 0 0 0 64h352zM768 672a32 32 0 0 0 0-64H384a32 32 0 0 0 0 64h384zM768 800a32 32 0 0 0 0-64H256a32 32 0 0 0 0 64h512zM704 544a32 32 0 0 0 0-64H320a32 32 0 0 0 0 64h384z" fill="#4A90E2" p-id="3485"></path></svg>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/daxue.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/dayu.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/feng.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/leizhenyu.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/mai.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/qing.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/qingjianduoyun.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/shachenbao.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/wu.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/xiaoyu.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/xue.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/yin.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/yujiaxue.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/zhenyu.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/zhongxue.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/console/src/assets/icons/svg/weather/zhongyu.svg


+ 108 - 0
virgo.wzfrontend/console/src/components/common/weatherIcon.vue

@@ -0,0 +1,108 @@
+<template>
+	<svg :class="svgClass" :style="{ color, width, height }" aria-hidden="true" v-bind="$attrs">
+		<use :xlink:href="iconName" />
+	</svg>
+</template>
+
+<script>
+	const weatherPinyinData = ["qing", "qingjianduoyun", "dafeng", "zhenyu", "leizhenyu", "xiaoyu", "zhongyu", "dayu",
+		"baoyu", "yujiaxue", "xue", "zhongxue", "daxue", "baoxue", "shachenbao", "wu"
+	]
+	const repeat = {
+		"re": "qing",
+		"shaoyun": "yin",
+		"duoyun": "yin",
+		"yin": "yin",
+		"youfeng": "feng",
+		"pingjing": "feng",
+		"weifeng": "feng",
+		"hefeng": "feng",
+		"qingfeng": "feng",
+		"qiangfeng/jingfeng": "dafeng",
+		"jifeng": "dafeng",
+		"liefeng": "dafeng",
+		"fengbao": "dafeng",
+		"kuangbaofeng": "dafeng",
+		"jufeng": "dafeng",
+		"redaifengbao": "dafeng",
+		"mai": "mai",
+		"zhongdumai": "mai",
+		"yanzhongmai": "mai",
+		"maomaoyu/xiyu": "xiaoyu",
+		"yu": "xiaoyu",
+		"xiaoyu-zhongyu": "xiaoyu",
+		"leizhenyubingbanyoubingbao": "leizhenyu",
+		"dabaoyu": "baoyu",
+		"tedabaoyu": "baoyu",
+		"jiduanjiangyu": "baoyu",
+		"qiangzhenyu": "zhenyu",
+		"qiangleizhenyu": "leizhenyu",
+		"zhongyu-dayu": "zhongyu",
+		"dayu-baoyu": "dayu",
+		"baoyu-dabaoyu": "baoyu",
+		"dabaoyu-tedabaoyu": "baoyu",
+		"yuxuetianqi": "yujiaxue",
+		"zhenyujiaxue": "yujiaxue",
+		"dongyu": "yujiaxue",
+		"zhenxue": "xue",
+		"xiaoxue": "xue",
+		"xiaoxue-zhongxue": "xue",
+		"zhongxue-daxue": "zhongxue",
+		"daxue-baoxue": "daxue",
+		"fuchen": "mai",
+		"yangsha": "mai",
+		"qiangshachenbao": "shachenbao",
+		"longjuanfeng": "shachenbao",
+		"nongwu": "wu",
+		"qiangnongwu": "wu",
+		"qingwu": "wu",
+		"dawu": "wu",
+		"teqiangnongwu": "wu"
+	}
+	export default {
+		name: "weatherIcon",
+		props: {
+			name: {
+				type: String,
+				required: true,
+			},
+			className: String,
+			color: String,
+			width: String,
+			height: String,
+		},
+		data() {
+			return {
+				svgName: ''
+			}
+		},
+		created() {
+			if (weatherPinyinData.filter(node => node === this.name).length > 0) {
+				this.svgName = this.name;
+			} else if (repeat[this.name]) {
+				this.svgName = repeat[this.name];
+			} else {
+				this.svgName = "yin";
+			}
+		},
+		computed: {
+			iconName() {
+				return `#icon-${this.svgName}`;
+			},
+			svgClass() {
+				let className = this.className ? `icon-${this.className}` : "";
+				return ["svg-icon", className];
+			},
+		}
+	}
+</script>
+
+<style scoped>
+	.svg-icon {
+		width: 1.3em;
+		height: 1.3em;
+		vertical-align: -0.15em;
+		fill: currentColor;
+		overflow: hidden;
+	}
+</style>

+ 33 - 0
virgo.wzfrontend/console/src/httpApi/operation.js

@@ -152,4 +152,37 @@ export function getCameraAccessToken() {
 		url: `/ringzle/iot/camera/accessToken`,
 		method: 'get'
 	})
+}
+/* 
+ * 获取日志列表
+ * 
+ */
+export function getProjectListByQuery(data) {
+	return request({
+		url: `/api/operationLog/${data.currPage}/${data.pageSize}`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 新增日志
+ * 
+ */
+export function insertLog(data) {
+	return request({
+		url: `/api/operationLog`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 获取日志详情
+ * 
+ * 
+ */
+export function getLogDetailById(id) {
+	return request({
+		url: `/api/operationLog/${id}`,
+		method: 'get'
+	})
 }

+ 4 - 0
virgo.wzfrontend/console/src/layout/components/breadCrumb.vue

@@ -1,6 +1,10 @@
 <template>
 	<div class="bread-crumb">
 		<div class="crumb-box">
+			<div class="crumb-item" style="opacity: 1;cursor: pointer;" @click="$router.push('/work')">
+				<span>个人工作台</span>
+				<span class="tips">/</span>
+			</div>
 			<div class="crumb-item" v-for="(item,index) in levelList" :key="index">
 				<span>{{item}}</span>
 				<span class="tips" v-if="index !== levelList.length - 1">/</span>

+ 14 - 4
virgo.wzfrontend/console/src/layout/components/topNav.vue

@@ -16,9 +16,13 @@
 			</div>
 		</div>
 		<div class="work-layout-right">
-			<div class="work-layout-button" @click="$router.push('/website/home')">
+			<div class="work-layout-button" @click="$router.push('/website/home')" style="margin-right: 20px;">
 				<i class="iconfont huifont-shouye"></i><span>公海房源</span>
 			</div>
+			<div :class="'work-layout-type'+($route.path === item.path?' active' : '')" v-for="(item,index) in list"
+				@click="$router.push(item.path)" :key="item.id">
+				<i :class="'iconfont ' + item.icon"></i><span>{{item.name}}</span>
+			</div>
 			<div class="work-layout-badge" @click="$router.push('/message')">
 				<el-badge is-dot>
 					<i class="iconfont huifont-xiaoxi"></i>
@@ -65,7 +69,13 @@
 				users: {},
 				userDropdown: false,
 				drawer: false,
-				visible: false
+				visible: false,
+				list: [{
+					id: 2,
+					path: '/work/staging/project',
+					name: '项目工作台',
+					icon: 'huifont-xiangmugongzuotai1'
+				}]
 			}
 		},
 		created() {
@@ -183,9 +193,9 @@
 			}
 
 			.work-layout-badge {
-				margin-right: 32px;
+				margin-right: 35px;
 				cursor: pointer;
-				margin-left: 45px;
+				margin-left: 20px;
 
 				.iconfont {
 					font-size: 22px;

+ 3 - 0
virgo.wzfrontend/console/src/main.js

@@ -13,6 +13,9 @@ Vue.config.productionTip = false;
 
 import loading from './loading/loading';
 Vue.use(loading);
+
+import svgIcon from "@/components/common/svgIcon.vue"
+Vue.component('svgIcon', svgIcon)
 
 import empty from './components/common/empty'
 Vue.component('empty', empty)

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

@@ -20,32 +20,32 @@ const operation = [{
 		title: '会议设置'
 	}
 }, {
-	path: 'operation/device/device',
-	component: () => import('@/views/work/operation/device/device'),
-	name: '冷源设备',
+	path: 'operation/week/organization',
+	component: () => import('@/views/work/operation/week/organization'),
+	name: '公司周报',
 	meta: {
-		title: '冷源设备'
+		title: '公司周报'
 	}
 }, {
-	path: 'operation/device/monitor',
-	component: () => import('@/views/work/operation/device/monitor'),
-	name: '监控设备',
+	path: 'operation/week/part',
+	component: () => import('@/views/work/operation/week/part'),
+	name: '部门周报',
 	meta: {
-		title: '监控设备'
+		title: '部门周报'
 	}
 }, {
-	path: 'operation/device/outdoor',
-	component: () => import('@/views/work/operation/device/outdoor'),
-	name: '室外照明',
+	path: 'operation/week/work',
+	component: () => import('@/views/work/operation/week/work'),
+	name: '工作周报',
 	meta: {
-		title: '室外照明'
+		title: '工作周报'
 	}
 }, {
-	path: 'operation/device/indoor',
-	component: () => import('@/views/work/operation/device/indoor'),
-	name: '室内照明',
+	path: 'operation/log/project',
+	component: () => import('@/views/work/operation/log/project'),
+	name: '项目日志',
 	meta: {
-		title: '室内照明'
+		title: '项目日志'
 	}
 }]
 export default operation;

+ 9 - 0
virgo.wzfrontend/console/src/router/modules/staging.js

@@ -0,0 +1,9 @@
+const staging = [{
+	path: 'staging/project',
+	component: () => import('@/views/work/staging/project'),
+	name: '项目工作台',
+	meta: {
+		title: '项目工作台'
+	}
+}]
+export default staging;

+ 14 - 14
virgo.wzfrontend/console/src/uitls/permission.js

@@ -14,7 +14,7 @@ NProgress.configure({
 	showSpinner: false
 })
 const baseUrl = ['/', '/401', '/404', '/loginRegister/login', '/work', '/message', '/work/space/project',
-	'/iot/device/detail', '/work/system/main', '/website/home'
+	'/iot/device/detail', '/work/staging/project'
 ];
 
 const testBaseUrl = (path) => { //判断公共路由
@@ -44,19 +44,19 @@ const testComment = (path) => { //判断权限路由
 router.beforeEach((to, from, next) => {
 	if (getToken() && !(store.getters && store.getters.user && store.getters.user.userId) && !sessionStorage
 		.getItem('store')) removeToken();
-	if (to.path.indexOf('website') === -1) {
-		/* 判断是否登录 */
-		if (!getToken() && testBaseUrl(to.path)) return next('/loginRegister/login');
-		/* 判断路由是否存在 */
-		if (to.matched.length === 0) return next('/404');
-		/* 判断是否有权限 */
-		if (testComment(to.path)) return next('/401');
-		/* 无项目时跳转项目列表页面 */
-		if (getToken() && localStorage.getItem('projectId') == 0 && to.path !== '/work/space/project') {
-			tip('暂无项目,请先添加项目');
-			return next('/work/space/project');
-		}
-	}
+	// if (to.path.indexOf('website') === -1) {
+	// 	/* 判断是否登录 */
+	// 	if (!getToken() && testBaseUrl(to.path)) return next('/loginRegister/login');
+	// 	/* 判断路由是否存在 */
+	// 	if (to.matched.length === 0) return next('/404');
+	// 	/* 判断是否有权限 */
+	// 	if (testComment(to.path)) return next('/401');
+	// 	/* 无项目时跳转项目列表页面 */
+	// 	if (getToken() && localStorage.getItem('projectId') == 0 && to.path !== '/work/space/project') {
+	// 		tip('暂无项目,请先添加项目');
+	// 		return next('/work/space/project');
+	// 	}
+	// }
 	NProgress.start();
 	next();
 });

+ 719 - 4
virgo.wzfrontend/console/src/views/work/index.vue

@@ -1,13 +1,728 @@
 <template>
-	<div class="index">
-		
+	<div class="custom-admin-box">
+		<div class="custom-admin">
+			<div class="staging-left">
+				<div class="staging-user-detail box-background">
+					<div class="user-avatar">
+						<div class="user-avatar-img">
+							<avatar :user="user" :size="20"></avatar>
+						</div>
+						<div class="user-avatar-name">{{user.name}}</div>
+					</div>
+					<div class="user-list">
+						<div class="user-item">
+							<div class="user-key">岗位名称</div>
+							<div class="user-value">物业经理</div>
+						</div>
+						<div class="user-item">
+							<div class="user-key">公司部门</div>
+							<div class="user-value">智慧城市事业部</div>
+						</div>
+						<div class="user-item">
+							<div class="user-key">联系方式</div>
+							<div class="user-value">17777777777</div>
+						</div>
+						<div class="user-item">
+							<div class="user-key">空间定位</div>
+							<div class="user-value">魔方大厦A栋</div>
+						</div>
+					</div>
+				</div>
+				<div class="staging-user-sign">
+					<div class="staging-sign-item box-background">
+						<div class="sign-icon">
+							<i class="iconfont huifont-qiandao"></i>
+						</div>
+						<div class="sign-test">
+							<div class="sign-label">月签到</div>
+							<div class="sign-number">59</div>
+						</div>
+					</div>
+					<div class="sign-line"></div>
+					<div class="staging-sign-item box-background">
+						<div class="sign-icon sign-icons">
+							<i class="iconfont huifont-queqinshu"></i>
+						</div>
+						<div class="sign-test">
+							<div class="sign-label">月缺勤</div>
+							<div class="sign-number">01</div>
+						</div>
+					</div>
+				</div>
+				<div class="staging-chart box-background">
+					<div class="user-title">
+						<div class="user-title-name">客户分析</div>
+					</div>
+					<div class="client-chart">
+						<div ref="chart1" class="client-chart-box"></div>
+						<div class="client-chart-tips">
+							<div class="legend-item" v-for="(item,index) in industryList" :key="index">
+								<span class="legend-bage" :style="'background:'+item.color+';'"></span>
+								<span class="legend-label">{{item.name}}</span>
+								<span class="legend-label alibaba">{{item.value}}</span>
+							</div>
+						</div>
+					</div>
+					<div class="client-list">
+						<div class="alarm-table-box hui-flex">
+							<div class="alarm-title">
+								<div class="alarm-tr">
+									<span class="tr-50">序号</span>
+									<span class="tr-flex">姓名</span>
+									<span class="tr-flex">行业</span>
+									<span class="tr-50">类型</span>
+								</div>
+							</div>
+							<div class="alarm-table hui-flex-box">
+								<div class="alarm-tr">
+									<span class="tr-50">1</span>
+									<span class="tr-flex hui-ellipsis">林夕三</span>
+									<span class="tr-flex">金融行业</span>
+									<span class="tr-50">潜在客户</span>
+								</div>
+								<div class="alarm-tr">
+									<span class="tr-50">2</span>
+									<span class="tr-flex hui-ellipsis">林夕三</span>
+									<span class="tr-flex">金融行业</span>
+									<span class="tr-50">潜在客户</span>
+								</div>
+								<div class="alarm-tr">
+									<span class="tr-50">3</span>
+									<span class="tr-flex hui-ellipsis">林夕三</span>
+									<span class="tr-flex">金融行业</span>
+									<span class="tr-50">潜在客户</span>
+								</div>
+								<div class="alarm-tr">
+									<span class="tr-50">4</span>
+									<span class="tr-flex hui-ellipsis">林夕三</span>
+									<span class="tr-flex">金融行业</span>
+									<span class="tr-50">潜在客户</span>
+								</div>
+								<div class="alarm-tr">
+									<span class="tr-50">5</span>
+									<span class="tr-flex hui-ellipsis">林夕三</span>
+									<span class="tr-flex">金融行业</span>
+									<span class="tr-50">潜在客户</span>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="staging-right">
+				<div class="weekly-log">
+					<div class="weekly-box box-background">
+						<div class="user-title">
+							<div class="user-title-name">个人周报</div>
+							<div class="user-title-right">
+								<span>更多</span>
+								<i class="iconfont huifont-xiala-right"></i>
+							</div>
+						</div>
+						<div class="weekly-list">
+							<div class="weekly-item">
+								<div class="weekly-number">
+									<div>第2周</div>
+									<div>03-12</div>
+								</div>
+								<div class="weekly-label">
+									<div class="weekly-date">2023-03-12</div>
+									<div class="weekly-content">
+										目易无铁她商根教给消运意解连经入家成利根极且术在任质结产门六入术接查白二节育大育真等复劳所光机保气六历层越消关并际三…
+									</div>
+								</div>
+							</div>
+							<div class="weekly-item">
+								<div class="weekly-number">
+									<div>第1周</div>
+									<div>03-12</div>
+								</div>
+								<div class="weekly-label">
+									<div class="weekly-date">2023-03-12</div>
+									<div class="weekly-content">
+										目易无铁她商根教给消运意解连经入家成利根极且术在任质结产门六入术接查白二节育大育真等复劳所光机保气六历层越消关并际三…
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+					<div class="log-box box-background">
+						<div class="user-title">
+							<div class="user-title-name">个人日志</div>
+							<div class="user-title-right">
+								<span>更多</span>
+								<i class="iconfont huifont-xiala-right"></i>
+							</div>
+						</div>
+						<div class="log-list">
+							<div class="log-item">林志权在2024-11-04邀请您加入【魔方大厦】项目,请及时处理</div>
+							<div class="log-item">Lisa在2024-11-04时申请使用【公章】印章,请及时处理。</div>
+							<div class="log-item">林志权在2024-11-04邀请您加入【魔方大厦】项目,请及时处理</div>
+							<div class="log-item">Lisa在2024-11-04时申请使用【公章】印章,请及时处理。</div>
+							<div class="log-item">林志权在2024-11-04邀请您加入【魔方大厦】项目,请及时处理</div>
+						</div>
+					</div>
+				</div>
+				<div class="staging-message box-background">
+					<div class="hui-flex hui-content">
+						<div class="user-title">
+							<div class="user-title-name">我的消息</div>
+							<div class="user-title-right">
+								<span>更多</span>
+								<i class="iconfont huifont-xiala-right"></i>
+							</div>
+						</div>
+						<div class="hui-flex-box hui-table">
+							<el-table :data="tableData" row-key="id" stripe height="100%" @row-click="clickRow">
+								<el-table-column label="序号" width="50">
+									<template slot-scope="scope">
+										{{scope.$index + 1}}
+									</template>
+								</el-table-column>
+								<el-table-column label="消息内容" prop="message"></el-table-column>
+								<el-table-column label="消息类型" prop="messageType" width="80">
+									<template slot-scope="scope">
+										<span>{{messageType(scope.row.messageType).name}}</span>
+									</template>
+								</el-table-column>
+								<el-table-column label="时间" prop="date" width="180"></el-table-column>
+								<template slot="empty">
+									<empty width="100" description="暂无消息"></empty>
+								</template>
+							</el-table>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
 	</div>
 </template>
 <script>
-
+	export default {
+		data() {
+			return {
+				user: {
+					name: '林'
+				},
+				tableData: [],
+				industryList: [{
+					value: 21,
+					name: "建筑业",
+					color: '#EB7E65'
+				}, {
+					value: 90,
+					name: "金融业",
+					color: '#9D60FB'
+				}, {
+					value: 16,
+					name: "房地产开发",
+					color: '#5AD8A6'
+				}, {
+					value: 59,
+					name: "服装业",
+					color: '#F7C739'
+				}, {
+					value: 19,
+					name: "制造业",
+					color: '#5B8FF9'
+				}, {
+					value: 40,
+					name: "批发零售",
+					color: '#5D7092'
+				}, {
+					value: 26,
+					name: "其他",
+					color: '#6DC8EC'
+				}]
+			}
+		},
+		mounted() {
+			this.chart1();
+		},
+		methods: {
+			clickRow() {},
+			chart1() {
+				let chart = echarts.init(this.$refs.chart1);
+				let title = '建筑业',
+					len = "7.75"
+				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: 24,
+									lineHeight: 38,
+									fontFamily: 'alibabaMedium'
+								},
+							}
+						}
+					},
+					color: this.industryList.map(node => node.color),
+					series: [{
+						type: 'pie',
+						center: ['50%', '50%'],
+						radius: ['60%', '90%'],
+						avoidLabelOverlap: false,
+						itemStyle: {
+							borderColor: 'RGBA(21, 26, 37, 1)',
+							borderWidth: 2,
+							borderRadius: 3,
+						},
+						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: 24,
+										lineHeight: 38,
+										fontFamily: 'alibabaMedium'
+									},
+								}
+							},
+						},
+						labelLine: {
+							show: false
+						},
+						data: this.industryList
+					}]
+				};
+				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
+						}
+					});
+				});
+			}
+		},
+	}
 </script>
 
 
 <style lang="scss">
-	.map {}
+	.custom-admin-box {
+		width: 100%;
+		height: 100%;
+		overflow: auto;
+		background: $--background;
+
+		.custom-admin {
+			width: 100%;
+			height: 100%;
+			display: flex;
+			min-width: 1200px;
+			min-height: 600px;
+		}
+
+		.user-title {
+			width: 100%;
+			display: flex;
+			align-items: center;
+			padding: 15px;
+			padding-bottom: 0;
+
+			.user-title-name {
+				font-size: 16px;
+				font-weight: 500;
+				flex: 1;
+				width: 0;
+			}
+		}
+
+		.staging-left {
+			flex: 1;
+			width: 0;
+			margin-right: 10px;
+			display: flex;
+			flex-direction: column;
+
+			.staging-chart {
+				flex: 1;
+				height: 0;
+				overflow: hidden;
+				margin-top: 10px;
+				display: flex;
+				flex-direction: column;
+			}
+		}
+
+		.staging-right {
+			flex: 2;
+			width: 0;
+			display: flex;
+			flex-direction: column;
+		}
+
+		.staging-user-detail {
+			padding: 15px;
+			display: flex;
+
+			.user-avatar {
+				width: 110px;
+				height: 150px;
+				background: #232A37;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				padding-top: 25px;
+				margin-right: 5px;
+
+				.user-avatar-img {
+					width: 64px;
+					height: 64px;
+					border: 4px solid rgba(255, 255, 255, 0.1);
+					border-radius: 50%;
+					overflow: hidden;
+				}
+
+				.user-avatar-name {
+					margin-top: 6px;
+				}
+			}
+
+			.user-list {
+				flex: 1;
+				width: 0;
+
+				.user-item {
+					display: flex;
+					margin-bottom: 2px;
+
+					.user-value {
+						flex: 1;
+						width: 0;
+						margin-left: 2px;
+						overflow: hidden;
+						white-space: nowrap;
+						text-overflow: ellipsis;
+
+					}
+				}
+
+				.user-item>div {
+					background: #232A37;
+					line-height: 36px;
+					padding: 0 16px;
+				}
+
+				.user-item:last-child {
+					margin-bottom: 0;
+				}
+			}
+		}
+
+		.staging-user-sign {
+			display: flex;
+			margin-top: 10px;
+
+			.sign-line {
+				width: 10px;
+			}
+
+			.staging-sign-item {
+				padding: 15px;
+				display: flex;
+				flex: 1;
+				width: 0;
+
+				.sign-icon {
+					width: 52px;
+					height: 52px;
+					background: $--color-orange;
+					border-radius: 20px;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					margin-right: 16px;
+
+					i {
+						font-size: 30px;
+						color: #fff;
+					}
+				}
+
+				.sign-label {
+					line-height: 20px;
+				}
+
+				.sign-number {
+					font-size: 24px;
+					line-height: 32px;
+				}
+
+				.sign-icons {
+					background: $--color-primary;
+				}
+			}
+
+		}
+
+		.client-chart {
+			display: flex;
+			padding: 15px;
+			align-items: center;
+
+			.client-chart-box {
+				width: 180px;
+				height: 180px;
+			}
+
+			.client-chart-tips {
+				flex: 1;
+				width: 0;
+				overflow: hidden;
+				overflow-y: auto;
+				max-height: 180px;
+				margin-left: 40px;
+				display: flex;
+				flex-wrap: wrap;
+
+				.legend-item {
+					display: flex;
+					align-items: center;
+					margin-bottom: 8px;
+					width: 50%;
+
+					.legend-bage {
+						width: 8px;
+						height: 8px;
+						margin-right: 9px;
+					}
+
+					.legend-label {
+						margin-right: 8px;
+						display: flex;
+						align-items: center;
+						font-size: 12px;
+					}
+				}
+			}
+		}
+
+		.client-list {
+			flex: 1;
+			height: 0;
+
+			.alarm-title {
+				padding-top: 12px;
+			}
+		}
+
+		.weekly-log {
+			width: 100%;
+			margin-bottom: 10px;
+			display: flex;
+
+			.weekly-box {
+				margin-right: 10px;
+				flex: 1;
+				width: 0;
+				height: 272px;
+				overflow: hidden;
+			}
+
+			.weekly-list {
+				padding: 20px 0;
+
+				.weekly-item {
+					padding: 16px;
+					display: flex;
+					cursor: pointer;
+				}
+
+				.weekly-number {
+					width: 56px;
+					height: 68px;
+					background: rgba(255, 255, 255, 0.05);
+					border-radius: 16px;
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					justify-content: center;
+					color: #FFFFFF;
+					margin-right: 12px;
+				}
+
+				.weekly-number>div:first-child {
+					margin-bottom: 8px;
+				}
+
+				.weekly-item:hover {
+					.weekly-number {
+						background: $--color-primary;
+
+					}
+
+					.weekly-content,
+					.weekly-date {
+						color: $--color-primary;
+						text-decoration: underline;
+					}
+				}
+
+				.weekly-label {
+					flex: 1;
+					width: 0;
+				}
+
+				.weekly-date {
+					opacity: 0.6;
+					line-height: 20px;
+					margin-bottom: 8px;
+				}
+
+				.weekly-content {
+					overflow: hidden;
+					height: 40px;
+					text-overflow: ellipsis;
+					line-height: 20px;
+				}
+			}
+
+			.log-box {
+				flex: 1;
+				width: 0;
+				height: 272px;
+				overflow: hidden;
+			}
+
+			.log-list {
+				padding: 20px 20px 16px 20px;
+
+				.log-item {
+					line-height: 40px;
+					overflow: hidden;
+					white-space: nowrap;
+					text-overflow: ellipsis;
+					padding: 0 10px;
+					cursor: pointer;
+				}
+
+				.log-item:nth-child(2n-1) {
+					background: #232A37;
+				}
+
+				.log-item:hover {
+					color: $--color-primary;
+					text-decoration: underline;
+				}
+			}
+		}
+
+		.staging-message {
+			flex: 1;
+			height: 0;
+			overflow: hidden;
+
+			.hui-table {
+				padding-top: 20px;
+				padding-bottom: 0;
+
+				.el-table--group::after,
+				.el-table--border::after,
+				.el-table::before {
+					background-color: transparent;
+				}
+
+				tr {
+					border-color: transparent;
+					cursor: pointer;
+				}
+
+				th.el-table__cell.is-leaf,
+				td.el-table__cell {
+					border-right: none;
+					border-color: transparent;
+				}
+
+				tr:hover>td.el-table__cell {
+					background: $--box-background;
+					color: $--color-primary;
+				}
+
+				.el-table__row--striped {
+
+					th.el-table__cell.is-leaf,
+					td.el-table__cell {
+						background: #232A37;
+					}
+				}
+
+				tr.el-table__row--striped:hover>td.el-table__cell {
+					background: #232A37;
+					color: $--color-primary;
+				}
+
+				.el-table__header th.el-table__cell {
+					border-color: transparent;
+				}
+
+				.el-table__cell {
+					padding: 10px 0;
+
+					.cell {
+						overflow: hidden;
+						white-space: nowrap;
+						text-overflow: ellipsis;
+					}
+
+				}
+			}
+		}
+	}
 </style>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1102
virgo.wzfrontend/console/src/views/work/operation/device/device.vue


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

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

+ 0 - 311
virgo.wzfrontend/console/src/views/work/operation/device/monitor.vue

@@ -1,311 +0,0 @@
-<template>
-	<div class="work-monitor">
-		<div class="yui-tree-box">
-			<div class="hui-left-tree">
-				<div class="hui-left-tree-title">
-					<svg-icon name="zhuangshi" width="16" height="20"></svg-icon>
-					<span class="hui-left-tree-sub">摄像列表</span>
-				</div>
-				<div class="hui-left-tree-content">
-					<el-collapse v-model="activeName">
-						<el-collapse-item v-for="item in treeData" :key="item.id" :name="item.id">
-							<template slot="title">
-								<i class="iconfont huifont-shuzhuangcaidantubiao"></i>
-								<span class="el-collapse-name">{{item.name}}</span>
-							</template>
-							<div>
-								<el-tree :data="item.projectItemTargetList" :props="defaultProps"
-									@node-click="selectItem">
-									<div :class="'tree-node' + (data.id == nowItem.id ? ' active':'')"
-										slot-scope="{ node, data }">
-										<span class="tree-node-label">{{ node.label }}</span>
-										<i class="iconfont huifont-shexiangtou"></i>
-									</div>
-								</el-tree>
-							</div>
-						</el-collapse-item>
-					</el-collapse>
-				</div>
-			</div>
-			<div class="hui-tree-content">
-				<model type="monitor" fileId="10000786668235" @tipClick="tipClick"></model>
-			</div>
-			<div class="placeholder"></div>
-		</div>
-		<div :class="'monitor-box' + (isOpen?' open':'')">
-			<div class="monitor-tag" @click="isOpen = !isOpen">
-				<div class="iconfont-box">
-					<i class="iconfont huifont-a-zhankaishousuo"></i>
-				</div>
-			</div>
-			<div class="hui-flex box-background">
-				<div class="monitor-box-title">
-					二号楼 / 二层
-				</div>
-				<div class="monitor-list hui-flex-box">
-					<div class="monitor-item">
-						<div class="monitor-item-box">
-							<play-video :width="352" :height="198"></play-video>
-							<!-- <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>
-			</div>
-		</div>
-		<el-dialog 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>
-		</el-dialog>
-	</div>
-</template>
-
-<script>
-	import {
-		getProjectDetailById,
-	} from '@/httpApi/space'
-	import playVideo from '@/components/work/common/playVideo'
-	import model from '@/components/work/common/model'
-	import {
-		roomList
-	} from '@/uitls';
-	export default {
-		data() {
-			return {
-				type: 'device',
-				treeData: [],
-				nowItem: {},
-				defaultProps: {
-					label: 'name'
-				},
-				activeName: [],
-				isOpen: false,
-				visible: false
-			}
-		},
-		created() {
-			this.initList();
-		},
-		components: {
-			playVideo,
-			model
-		},
-		methods: {
-			initList() {
-				getProjectDetailById(this.$store.getters.project.id).then(res => {
-					if (res.state) {
-						this.treeData = res.data.projectItemList;
-						this.activeName = this.treeData.map(node => node.id);
-					}
-				})
-			},
-			selectItem(item) {
-				if (item.projectItemTargetId) this.nowItem = item;
-			},
-			tipClick() {
-				this.visible = true;
-			}
-		},
-	}
-</script>
-
-<style lang="scss">
-	.el-dialog.monitor-dialog {
-		height: 500px;
-		margin-top: 20vh !important;
-	}
-
-	.work-monitor {
-		position: relative;
-		width: 100%;
-		height: 100%;
-
-		.yui-tree-box {
-			width: 100%;
-			height: 100%;
-		}
-
-		.tree-node {
-			display: flex;
-			align-items: center;
-
-			.tree-node-label {
-				flex: 1;
-				width: 0;
-			}
-
-			i {
-				opacity: 0.5;
-			}
-		}
-
-		.active {
-			color: $--color-primary;
-
-			i {
-				opacity: 1;
-			}
-		}
-
-		.placeholder {
-			width: 400px;
-		}
-
-
-
-		.monitor-box {
-			position: absolute;
-			right: 0;
-			top: 0;
-			bottom: 0;
-			width: 412px;
-			padding-left: 12px;
-			background: #11131B;
-
-			.monitor-tag {
-				position: absolute;
-				top: 50%;
-				left: 0px;
-				width: 12px;
-				line-height: 70px;
-				opacity: 0.8;
-				text-align: center;
-				cursor: pointer;
-
-				.iconfont-box {
-					display: inline-block;
-				}
-
-				i {
-					position: relative;
-					font-size: 12px;
-				}
-			}
-
-			.monitor-tag::before {
-				content: '';
-				position: absolute;
-				top: 0;
-				left: 0;
-				right: 0;
-				bottom: 0;
-				border-right: 12px solid #303848;
-				border-top: 6px solid transparent;
-				border-bottom: 6px solid transparent;
-			}
-
-			.monitor-box-title {
-				padding: 20px;
-				padding-bottom: 10px;
-			}
-
-			.monitor-list {
-				padding: 10px 5px 5px 20px;
-				display: flex;
-				flex-wrap: wrap;
-				align-content: flex-start;
-			}
-
-			.monitor-item {
-				padding-bottom: 15px;
-				padding-right: 15px;
-				font-size: 12px;
-				cursor: pointer;
-				width: 100%;
-
-				.monitor-item-box {
-					width: 100%;
-					height: 100%;
-					border: 1px solid #607182;
-					position: relative;
-					height: 200px;
-					overflow: hidden;
-				}
-
-				img {
-					width: 100%;
-					height: 100%;
-				}
-
-				.monitor-date {
-					position: absolute;
-					top: 8px;
-					left: 14px;
-					text-shadow: 0px 1px 2px #000000;
-
-				}
-
-				.monitor-space {
-					position: absolute;
-					bottom: 0;
-					width: 100%;
-					font-size: 12px;
-					padding: 5px 18px;
-				}
-
-				.monitor-operation {
-					width: 100%;
-					position: absolute;
-					height: 30px;
-					background: #000000;
-					bottom: -30px;
-					transition: all 200ms linear;
-				}
-
-				.monitor-download {
-					width: 24px;
-					height: 24px;
-					background: #000000;
-					border-radius: 2px;
-					opacity: 0.79;
-					position: absolute;
-					top: 8px;
-					right: 8px;
-					text-align: center;
-					line-height: 24px;
-					top: -24px;
-					transition: all 200ms linear;
-					padding-right: 1px;
-				}
-			}
-
-			.monitor-item:hover {
-
-				.monitor-item-box {
-					border: 1px solid $--color-primary;
-				}
-
-				.monitor-operation {
-					bottom: 0px;
-				}
-
-				.monitor-download {
-					opacity: 1;
-					top: 8px;
-				}
-			}
-		}
-
-		.open.monitor-box {
-			width: 100%;
-
-
-			.monitor-item {
-				width: 25%;
-				min-width: 360px;
-			}
-
-			.monitor-tag {
-				.iconfont-box {
-					transform: rotate(180deg);
-				}
-			}
-		}
-	}
-</style>

+ 0 - 268
virgo.wzfrontend/console/src/views/work/operation/device/outdoor.vue

@@ -1,268 +0,0 @@
-<template>
-	<div class="yui-tree-box">
-		<select-space></select-space>
-		<div class="hui-tree-content">
-			<div class="outdoor box-background">
-				<div class="outdoor-box">
-					<div class="outdoor-center">
-						<div class="bim-box" style="margin-top: 0;">
-							<model ref="model" type="outdoor" fileId="10000780512264"></model>
-						</div>
-					</div>
-					<div class="outdoor-right color-font">
-						<div class="outdoor-light-all">
-							<div class="hui-chart-title">
-								照明控制
-							</div>
-							<div class="light-box">
-								<span class="light-label">
-									照明群控
-								</span>
-								<div class="light-operation">
-									<i class="iconfont huifont-zhaoming"></i>
-									<span class="label">{{allChecked?'全关':'全开'}}</span>
-									<el-switch v-model="allChecked" @change="changeAllChecked"></el-switch>
-								</div>
-							</div>
-						</div>
-						<div class="outdoor-light">
-							<div class="outdoor-operation-title">
-								<div class="hui-chart-title">
-									照明控制
-								</div>
-							</div>
-							<div class="outdoor-operation-list">
-								<div class="light-box">
-									<span class="light-label">
-										独立控制
-									</span>
-									<div class="light-operation" v-if="checkList.length > 0">
-										<el-button size="mini" type="primary" @click="open(true)">打开</el-button>
-										<el-button size="mini" @click="open(false)">关闭</el-button>
-									</div>
-								</div>
-								<el-checkbox-group class="outdoor-operation-box" v-model="checkList">
-									<div class="outdoor-operation-item" v-for="(item,index) in itemList" :key="item.id">
-										<div class="outdoor-operation-box">
-											<el-checkbox :label="item.id">
-												{{item.name}}
-											</el-checkbox>
-											<span class="label color-primary" v-if="item.isOpen">打开</span>
-											<span class="label" v-else>关闭</span>
-										</div>
-									</div>
-								</el-checkbox-group>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-</template>
-
-<script>
-	import testAlarm from '@/components/work/common/testAlarm'
-	import selectSpace from '@/components/work/common/selectSpace'
-	import model from '@/components/work/common/model'
-	export default {
-		data() {
-			return {
-				allChecked: false,
-				checkList: [],
-				itemList: [{
-					id: 1,
-					name: '1F',
-					isOpen: false,
-					elementId: '834601'
-				}, {
-					id: 2,
-					name: '2F',
-					isOpen: false,
-					elementId: '856814'
-				}, {
-					id: 3,
-					name: '3F',
-					isOpen: false,
-					elementId: '883538'
-				}, {
-					id: 4,
-					name: '外墙',
-					isOpen: false,
-					elementId: '912369'
-				}]
-			}
-		},
-		methods: {
-			name() {
-
-			},
-			changeAllChecked(val) {
-				this.$refs.model.outdoor(val, this.itemList.map(node => node.elementId));
-				for (var i = 0; i < this.itemList.length; i++) {
-					this.itemList[i].isOpen = val;
-				}
-			},
-			open(isOpen) {
-				let data = this.itemList.filter(node => this.checkList.filter(res => res === node.id).length > 0);
-				this.$refs.model.outdoor(isOpen, data.map(node => node.elementId));
-				for (var i = 0; i < data.length; i++) {
-					data[i].isOpen = isOpen;
-				}
-				this.allChecked = this.itemList.filter(res => !res.isOpen) == 0;
-				this.checkList = [];
-				this.$message.success('操作成功');
-			}
-		},
-		components: {
-			testAlarm,
-			selectSpace,
-			model
-		}
-	}
-</script>
-
-<style lang="scss">
-	.outdoor {
-		width: 100%;
-		height: 100%;
-		padding: 20px;
-		overflow: auto;
-
-		.outdoor-box {
-			width: 100%;
-			height: 100%;
-			min-width: 1100px;
-			min-height: 699px;
-			display: flex;
-		}
-
-		.outdoor-center {
-			flex: 1;
-			width: 0;
-			height: 100%;
-			display: flex;
-			flex-direction: column;
-		}
-
-		.outdoor-right {
-			height: 100%;
-			width: 350px;
-			margin-left: 12px;
-			display: flex;
-			flex-direction: column;
-		}
-
-		.outdoor-title {
-			padding: 20px 20px 0 20px;
-			margin-bottom: 12px;
-		}
-
-		.outdoor-light-all {
-			padding: 20px 10px 20px 20px;
-			background: rgba(0, 4, 10, 0.3);
-		}
-
-		.outdoor-light {
-			margin-top: 12px;
-			background: rgba(0, 4, 10, 0.3);
-			flex: 1;
-			height: 0;
-			display: flex;
-			flex-direction: column;
-		}
-
-		.outdoor-operation-title {
-			padding: 20px 20px 0px 20px;
-		}
-
-		.outdoor-operation-list {
-			flex: 1;
-			height: 0;
-			overflow-y: auto;
-			padding: 0 10px 0 20px;
-			margin-bottom: 20px;
-		}
-
-		.outdoor-operation-box {
-			display: flex;
-			flex-wrap: wrap;
-
-			.outdoor-operation-item {
-				flex: 1;
-				margin-top: 10px;
-				width: 0;
-				min-width: 50%;
-				padding-right: 10px;
-
-				.outdoor-operation-box {
-					display: flex;
-					align-items: center;
-					padding: 0 16px;
-					height: 48px;
-					background: #1E2430;
-					border-radius: 8px;
-				}
-
-				.label {
-					font-size: 14px;
-				}
-			}
-
-			.el-checkbox {
-				flex: 1;
-				width: 0;
-				overflow: hidden;
-			}
-		}
-
-		.light-box {
-			height: 68px;
-			background: #1E2430;
-			border-radius: 8px;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			margin-top: 16px;
-			padding: 0 20px;
-			margin-right: 10px;
-
-			.huifont-zhaoming {
-				font-size: 20px;
-			}
-
-			.light-operation {
-				display: flex;
-				align-items: center;
-
-				.label {
-					margin: 0 8px 0 12px;
-				}
-			}
-		}
-
-		.el-switch {
-			.el-switch__core {
-				width: 24px !important;
-				height: 12px;
-				line-height: 12px;
-				background: rgba(255, 255, 255, 0.2);
-				border: none;
-			}
-		}
-
-		.el-switch.is-checked .el-switch__core {
-			background: $--color-primary;
-		}
-
-		.el-switch .el-switch__core::after {
-			width: 10px;
-			height: 10px;
-			top: 1px;
-		}
-
-		.el-switch.is-checked .el-switch__core::after {
-			margin-left: -10px;
-		}
-	}
-</style>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1414 - 0
virgo.wzfrontend/console/src/views/work/operation/week/organization.vue


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1086 - 0
virgo.wzfrontend/console/src/views/work/operation/week/part.vue


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1086 - 0
virgo.wzfrontend/console/src/views/work/operation/week/work.vue


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1401 - 0
virgo.wzfrontend/console/src/views/work/staging/project.vue


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/index.html


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/1171.9ac836aa.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/1843.0a49a5bb.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/2375.0a49a5bb.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/2527.ecdd411e.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/264.489fda7e.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9155.9e9f2398.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/316.9b736443.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9741.00353a9c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/396.3532808c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4260.2e4be015.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4593.b9bbdc53.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4612.452f8a61.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4637.b8e60b74.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4896.51f305b6.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/175.fd889f81.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4937.3f5e8527.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4984.2ae46d4c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/4996.8ee5f9fb.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/5314.2ae46d4c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/578.ff64d0e1.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6654.77e8716b.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6658.4287ecb0.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/6946.64ad472f.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/7196.61575138.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/7401.0a49a5bb.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/7470.b37dfbb0.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/786.61575138.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/7883.a047c5c7.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8043.2ae46d4c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8095.740aad09.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8247.f5556d6e.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8452.0aae4e96.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8468.eb2d7c9e.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/8619.9a79a165.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/882.4a136c23.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/924.61575138.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9494.3532808c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/9624.5ead6c8a.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/console/static/css/9896.3532808c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/css/app.d05e67e5.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/console/static/js/7196-legacy.a05d24eb.js


virgo.wzfrontend/src/main/resources/static/console/static/js/1271-legacy.a83b4b6b.js → virgo.wzfrontend/src/main/resources/static/console/static/js/1271-legacy.b63a885f.js


+ 0 - 0
virgo.wzfrontend/src/main/resources/static/console/static/js/1843-legacy.1ea45765.js


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.