whx 1 year ago
parent
commit
b988f346da
100 changed files with 911 additions and 192 deletions
  1. 3 0
      virgo.wzfrontend/console/src/axios/index.js
  2. 9 0
      virgo.wzfrontend/console/src/components/common/listFilter.vue
  3. 8 1
      virgo.wzfrontend/console/src/components/work/organization/user/edit.vue
  4. 11 1
      virgo.wzfrontend/console/src/httpApi/organization.js
  5. 4 0
      virgo.wzfrontend/console/src/layout/components/breadCrumb.vue
  6. 204 0
      virgo.wzfrontend/console/src/layout/components/selectProject.vue
  7. 12 66
      virgo.wzfrontend/console/src/layout/components/topNav.vue
  8. 23 0
      virgo.wzfrontend/console/src/router/modules/order.js
  9. 1 0
      virgo.wzfrontend/console/src/store/getters.js
  10. 10 1
      virgo.wzfrontend/console/src/store/modules/app.js
  11. 94 40
      virgo.wzfrontend/console/src/views/login/index.vue
  12. 7 0
      virgo.wzfrontend/console/src/views/system/log.vue
  13. 145 0
      virgo.wzfrontend/console/src/views/work/order/clear.vue
  14. 145 0
      virgo.wzfrontend/console/src/views/work/order/operation.vue
  15. 145 0
      virgo.wzfrontend/console/src/views/work/order/service.vue
  16. 1 1
      virgo.wzfrontend/src/main/resources/static/index.html
  17. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/139.52c2cdde.css
  18. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/170.67238434.css
  19. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/292.67238434.css
  20. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/458.48fa06e5.css
  21. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/556.b6c7aaf0.css
  22. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/56.b6c7aaf0.css
  23. 0 0
      virgo.wzfrontend/src/main/resources/static/static/css/796.48fa06e5.css
  24. 0 1
      virgo.wzfrontend/src/main/resources/static/static/css/app.694e614d.css
  25. 1 0
      virgo.wzfrontend/src/main/resources/static/static/css/app.8e6d501f.css
  26. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1-legacy.83a3e348.js
  27. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/1.c80310db.js
  28. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/129-legacy.4603d34c.js
  29. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/129-legacy.4e4e0486.js
  30. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.a3cd7e66.js
  31. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/153-legacy.b47ef324.js
  32. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/166-legacy.5c563171.js
  33. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/166.addba414.js
  34. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/170-legacy.e48191aa.js
  35. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/181.39f25f67.js
  36. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/191-legacy.6610ce7c.js
  37. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/191.2e2f4840.js
  38. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/192-legacy.b27781e2.js
  39. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/197-legacy.58bc4f57.js
  40. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/197-legacy.c676dcc9.js
  41. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/231-legacy.3e707cfe.js
  42. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/231-legacy.c6bf548f.js
  43. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/292.98efeb8a.js
  44. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/293.3c849cdd.js
  45. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/293.44312817.js
  46. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/359.c8cf2514.js
  47. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/375.0a221a0c.js
  48. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/396-legacy.0a9cd902.js
  49. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/396-legacy.cf685539.js
  50. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/404-legacy.c6571952.js
  51. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/404-legacy.db4c68d4.js
  52. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/412.7a6df5af.js
  53. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/419-legacy.52deb2da.js
  54. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/419-legacy.b1d51d57.js
  55. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/419.165312a4.js
  56. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/458-legacy.5b2e5a7e.js
  57. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/461.143d9080.js
  58. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/465-legacy.bc1a59db.js
  59. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/495.6ee8b7a7.js
  60. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.1553e139.js
  61. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.a3adf354.js
  62. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/499-legacy.3f999b75.js
  63. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/499-legacy.60884805.js
  64. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/499.a092887d.js
  65. 0 42
      virgo.wzfrontend/src/main/resources/static/static/js/50-legacy.5fb1cdfd.js
  66. 42 0
      virgo.wzfrontend/src/main/resources/static/static/js/50-legacy.68c901b2.js
  67. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/51-legacy.c605e01a.js
  68. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/51.c55c0e6f.js
  69. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/510.88ab23b3.js
  70. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/510.97b0b682.js
  71. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/525-legacy.b6ff2885.js
  72. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/525-legacy.b7367007.js
  73. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/525.8a7c2b40.js
  74. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.4447f6e9.js
  75. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.97d327f8.js
  76. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/556-legacy.a3414653.js
  77. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/56.3c1529bb.js
  78. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/568-legacy.2f5ebb12.js
  79. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/568-legacy.e826c0b7.js
  80. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.5840b04d.js
  81. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/61.6c783e3d.js
  82. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.6c783e3d.js
  83. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/64.c6e44433.js
  84. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/656-legacy.4e074330.js
  85. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/656-legacy.881cab5a.js
  86. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/709-legacy.1fe71ae7.js
  87. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/709-legacy.78400548.js
  88. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/709.452c3cf5.js
  89. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/719-legacy.1195c8ed.js
  90. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/719-legacy.a09e6eb7.js
  91. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/740.2f27fa8f.js
  92. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/999.4b90e5da.js
  93. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/813-legacy.0a30dd9a.js
  94. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/813-legacy.4a40b0c9.js
  95. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/836-legacy.80c1c45c.js
  96. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/836.25868d7a.js
  97. 1 0
      virgo.wzfrontend/src/main/resources/static/static/js/850-legacy.1530d666.js
  98. 0 1
      virgo.wzfrontend/src/main/resources/static/static/js/850-legacy.e6bb0e63.js
  99. 1 1
      virgo.wzfrontend/src/main/resources/static/static/js/850.c9b41997.js
  100. 0 0
      virgo.wzfrontend/src/main/resources/static/static/js/867-legacy.64ea79f3.js

+ 3 - 0
virgo.wzfrontend/console/src/axios/index.js

@@ -13,6 +13,9 @@ const service = axios.create({
 /* 消息提示 */
 const tip = (msg, type) => {
 	let types = type || 'warning';
+	if (msg == 'RET_INVALID_PASSWORD') {
+		msg = '账号验证码有误'
+	}
 	Message({
 		message: msg,
 		type: types,

+ 9 - 0
virgo.wzfrontend/console/src/components/common/listFilter.vue

@@ -49,6 +49,11 @@
 				</el-date-picker>
 			</div>
 		</div>
+		<div class="filter-box" v-if="type === 'order'">
+			<div class="filter-item">
+				<el-input prefix-icon="el-icon-search" v-model="order.name" placeholder="请输入房间号"></el-input>
+			</div>
+		</div>
 		<div class="filter-btn">
 			<el-button type="primary" size="medium" @click="submit">查询</el-button>
 			<el-button size="medium" @click="resetForm">重置</el-button>
@@ -82,6 +87,10 @@
 					endDate: ''
 				},
 				contractData: {},
+				order: {
+					name: '',
+				},
+				orderData: {},
 			}
 		},
 		created() {

+ 8 - 1
virgo.wzfrontend/console/src/components/work/organization/user/edit.vue

@@ -58,6 +58,8 @@
 						validator: (rule, value, callback) => {
 							if (!/^1[123456789]\d{9}$/.test(value)) {
 								callback(new Error("请输入正确的手机号"));
+							} else if (value == '18888888888') {
+								callback(new Error("不能添加该号码"));
 							} else {
 								testPhone(value).then(data => {
 									this.show = !data.data;
@@ -73,6 +75,9 @@
 				alertShow: false
 			}
 		},
+		created() {
+			console.log(this.$store.getters.user);
+		},
 		methods: {
 			submit() {
 				this.$nextTick(() => {
@@ -86,7 +91,9 @@
 												.id,
 											projectId: this.$store.getters.project.id,
 											userId: res.data.id,
-											identityId: 3
+											identityId: this.$store.getters.organization
+												.contactTel == this.$store.getters.user
+												.phone ? 6 : 3
 										}).then(res => {
 											if (res.state) {
 												this.$emit('callback', 'init');

+ 11 - 1
virgo.wzfrontend/console/src/httpApi/organization.js

@@ -1,5 +1,15 @@
 import request from '@/axios'
-
+/* 
+ * 获取组织详情
+ * 
+ * 
+ */
+export function getOrganizationDetailById(id) {
+	return request({
+		url: `/manager/base/organization/${id}`,
+		method: 'get'
+	})
+}
 /* 
  * 更新组织信息
  * 

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

@@ -6,6 +6,7 @@
 				<span class="tips" v-if="index !== levelList.length - 1">/</span>
 			</div>
 		</div>
+		<div>当前组织:{{$store.getters.organization.name}}</div>
 	</div>
 </template>
 
@@ -63,6 +64,9 @@
 
 <style lang="scss">
 	.bread-crumb {
+		display: flex;
+		justify-content: space-between;
+
 		.crumb-box {
 			position: relative;
 			padding-top: 1px;

+ 204 - 0
virgo.wzfrontend/console/src/layout/components/selectProject.vue

@@ -0,0 +1,204 @@
+<template>
+	<div class="hui-flex hui-dialog select-project-index">
+		<div class="hui-flex-box hui-dialog-content">
+			<el-table :data="tableData" row-key="id" border height="100%">
+				<el-table-column label="序号" width="50">
+					<template slot-scope="scope">
+						<div style="text-align: center;">{{scope.$index + 1}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column label="项目名称" prop="projectName"></el-table-column>
+				<el-table-column label="所属企业" prop="organizationName"></el-table-column>
+				<el-table-column label="项目身份">
+					<template slot-scope="scope">
+						<div class="hui-table-tag" style="display: flex;align-items: center;">
+							<div class="hui-tag hui-tag-success" v-if="scope.row.identityId === 1">客户</div>
+							<div class="hui-tag hui-tag-success" v-else-if="scope.row.identityId === 2">中介</div>
+							<div class="hui-tag hui-tag-success" v-else-if="scope.row.identityId === 3">
+								组织成员
+							</div>
+							<div class="hui-tag hui-tag-success" v-else-if="scope.row.identityId === 4">
+								关联公司
+							</div>
+							<div class="hui-tag hui-tag-success" v-else-if="scope.row.identityId === 5">
+								经纪公司
+							</div>
+							<div class="hui-tag hui-tag-success" v-else-if="scope.row.identityId === 6">
+								所有者
+							</div>
+						</div>
+					</template>
+				</el-table-column>
+				<el-table-column label="操作" width="100">
+					<template slot-scope="scope">
+						<div class="hui-table-operation">
+							<span class="table-operation" v-if="$store.getters.project.id != scope.row.projectId"
+								@click="changeProject(scope.row)">
+								切换项目
+							</span>
+						</div>
+					</template>
+				</el-table-column>
+				<template slot="empty">
+					<empty description="暂无数据"></empty>
+				</template>
+			</el-table>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		selectProject,
+		getOrganizedProjectList,
+		selectOrangaized
+	} from '@/httpApi/loginRegister'
+	import {
+		bindProjectDetail,
+		getOrganizationDetailById
+	} from '@/httpApi/organization'
+	import {
+		getProjectDetailById,
+		getProjectListByPage
+	} from '@/httpApi/space'
+	import {
+		setComment
+	} from '@/uitls/auth';
+	export default {
+		data() {
+			return {
+				tableData: []
+			}
+		},
+		created() {
+			let user = this.$store.getters.user;
+			if (user.userId === 1) {
+				getProjectListByPage({
+					currPage: 1,
+					pageSize: 100
+				}).then(res => {
+					if (res.state) {
+						this.tableData = res.data.dataList.map(node => {
+							return {
+								projectId: node.id,
+								projectName: node.name,
+								organizationId: node.organizationId,
+								organizationName: user.organizationList.find(item => item.id === node
+									.organizationId).name,
+								identityId: 6
+							}
+						})
+					}
+				})
+			} else {
+				this.init();
+			}
+		},
+		methods: {
+			init() {
+				bindProjectDetail({
+					userId: this.$store.getters.user.userId
+				}).then(res => {
+					if (res.state) {
+						let clientData = res.data;
+						bindProjectDetail({
+							bindOrganizationId: this.$store.getters.organization.id
+						}).then(res => {
+							if (res.state) {
+								let organizationData = res.data;
+								if (this.$store.getters.user.phone == this.$store.getters.organization
+									.contactTel) {
+									getOrganizedProjectList(this.$store.getters.organization.id).then(
+										res => {
+											if (res.state) {
+												let data = res.data || [];
+												let obj = data.map(node => {
+													return {
+														projectId: node.id,
+														projectName: node.name,
+														organizationId: node.organizationId,
+														organizationName: this.$store.getters
+															.organization.name,
+														identityId: 6
+													}
+												})
+												this.tableData = clientData.concat(organizationData,
+													obj).sort((a, b) => a.projectId - b.projectId);
+											}
+										});
+								} else {
+									this.tableData = clientData.concat(organizationData).sort((a, b) => a
+										.projectId - b.projectId);
+								}
+							}
+						})
+					}
+				})
+			},
+			changeProject(item) {
+				if (item.identityId == 6 || item.identityId == 3) {
+					getOrganizationDetailById(item.organizationId).then(res => {
+						if (res.state) {
+							this.$store.dispatch('app/changeOrganization', res.data);
+							selectOrangaized(res.data)
+						}
+					})
+				}
+				getProjectDetailById(item.projectId).then(res => {
+					if (res.state) {
+						let data = res.data;
+						selectProject(data.id).then(res => {
+							if (res.state) {
+								let user = res.data;
+								this.$store.dispatch('app/changeiIdentityId', item.identityId);
+								this.$store.dispatch('projectBase/changeProject', data);
+								localStorage.setItem('projectId', data.id);
+								this.$store.dispatch('app/changeUser', user);
+								this.$store.dispatch('app/changeMenuData', user.resource ? JSON.parse(user
+									.resource) : []);
+								setComment(user.menu ? user.menu : JSON.stringify([]));
+								this.$emit('callback');
+								this.$router.push({
+									path: '/',
+									replace: true
+								})
+								this.$message.success('切换成功');
+							} else {
+								this.$message.error('切换失败');
+							}
+						});
+					}
+				})
+			},
+			submit() {
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.select-project-index {
+		.select-project-item {
+			flex: 1;
+			height: 0;
+			display: flex;
+			flex-direction: column;
+
+			.select-project-title {
+				padding: 10px 15px;
+				position: relative;
+
+				&::before {
+					content: '';
+					width: 4px;
+					height: 18px;
+					left: 4px;
+					top: 11px;
+					background: $--color-primary;
+					position: absolute;
+				}
+			}
+		}
+	}
+</style>

+ 12 - 66
virgo.wzfrontend/console/src/layout/components/topNav.vue

@@ -10,18 +10,10 @@
 				<i class="iconfont huifont-shouye"></i><span>首页</span>
 			</div>
 			<div class="work-layout-line"></div>
-			<el-dropdown trigger="click" @visible-change="projectVisible" @command="projectCommand"
-				v-if="projects.name">
-				<div class="work-layout-project">
-					<span>{{projects.name}}</span>
-					<i :class="'iconfont huifont-xiala-top'+ (projectDropdown ? ' dropdown-icon' : '')"></i>
-				</div>
-				<el-dropdown-menu class="project-dropdown" slot="dropdown">
-					<el-dropdown-item :command="item.id" v-for="(item,index) in projectList" :key="item.id">
-						{{item.name}}
-					</el-dropdown-item>
-				</el-dropdown-menu>
-			</el-dropdown>
+			<div class="work-layout-project" @click="visible = true">
+				<span>{{projects.name}}</span>
+				<i class="iconfont huifont-xiala-top"></i>
+			</div>
 		</div>
 		<div class="work-layout-right">
 			<el-dropdown @visible-change="value => userDropdown = value" @command="userCommand">
@@ -42,22 +34,18 @@
 			:append-to-body="true">
 			<user-detail v-if="drawer"></user-detail>
 		</el-drawer>
-		<el-dialog title="切换项目" :visible.sync="visible" width="900px" :append-to-body="true">
-			
+		<el-dialog title="切换项目" :visible.sync="visible" width="900px" :append-to-body="true">
+			<select-project @callback="callback" v-if="visible"></select-project>
 		</el-dialog>
 	</div>
 </template>
 
 <script>
 	import userDetail from './userDetail'
+	import selectProject from './selectProject'
 	import {
-		removeToken,
-		setComment
+		removeToken
 	} from '@/uitls/auth';
-	import {
-		selectProject,
-		getOrganizedProjectList
-	} from '@/httpApi/loginRegister'
 	import {
 		mapGetters
 	} from 'vuex';
@@ -68,15 +56,12 @@
 				projects: {},
 				users: {},
 				userDropdown: false,
-				projectDropdown: false,
-				projectList: [],
 				drawer: false,
 				visible: false
 			}
 		},
 		created() {
 			this.init();
-			this.initProject();
 		},
 		methods: {
 			init() {
@@ -91,47 +76,8 @@
 					this.$message.success('退出成功');
 				});
 			},
-			initProject() {
-				getOrganizedProjectList(this.$store.getters.organization.id).then(res => {
-					if (res.state) {
-						this.projectList = res.data || [];
-						if (this.projects.id) return;
-						if (this.projectList.length === 1) this.changeProject(this.projectList[0]);
-					}
-				})
-			},
-			projectVisible(value) {
-				if (value) this.initProject();
-				this.projectDropdown = value;
-			},
-			projectCommand(command) {
-				let data = this.projectList.filter(node => node.id === command)[0];
-				this.changeProject(data);
-			},
-			changeProject(data) {
-				if (!data) return;
-				data.projectItemList = data.projectItemList || [];
-				data.projectItemList.sort((a, b) => {
-					return a.id - b.id;
-				});
-				selectProject(data.id).then(res => {
-					if (res.state) {
-						let user = res.data;
-						this.$store.dispatch('projectBase/changeProject', data);
-						localStorage.setItem('projectId', data.id);
-						this.$store.dispatch('app/changeUser', user);
-						this.$store.dispatch('app/changeMenuData', user.resource ? JSON.parse(user.resource) : []);
-						setComment(user.menu ? user.menu : JSON.stringify([]));
-						this.init();
-						this.$router.push({
-							path: '/',
-							replace: true
-						})
-						this.$message.success('切换成功');
-					} else {
-						this.$message.error('切换失败');
-					}
-				});
+			callback() {
+				this.visible = false;
 			},
 			userCommand(command) {
 				switch (command) {
@@ -147,7 +93,8 @@
 			}
 		},
 		components: {
-			userDetail
+			userDetail,
+			selectProject
 		},
 		watch: {
 			user() {
@@ -155,7 +102,6 @@
 			},
 			project() {
 				this.init();
-				this.initProject('reload');
 			}
 		},
 		computed: {

+ 23 - 0
virgo.wzfrontend/console/src/router/modules/order.js

@@ -0,0 +1,23 @@
+const order = [{
+	path: 'order/service',
+	component: () => import('@/views/work/order/service'),
+	name: '维修工单',
+	meta: {
+		title: '维修工单'
+	}
+}, {
+	path: 'order/clear',
+	component: () => import('@/views/work/order/clear'),
+	name: '保洁工单',
+	meta: {
+		title: '保洁工单'
+	}
+}, {
+	path: 'order/operation',
+	component: () => import('@/views/work/order/operation'),
+	name: '运营工单',
+	meta: {
+		title: '运营工单'
+	}
+}]
+export default order;

+ 1 - 0
virgo.wzfrontend/console/src/store/getters.js

@@ -6,5 +6,6 @@ const getters = {
 	project: state => state.projectBase.project || {}, //项目
 	config: state => state.app.config, //url配置信息
 	document: state => state.app.document, //模板context渲染
+	identityId: state => state.app.identityId, //身份
 }
 export default getters

+ 10 - 1
virgo.wzfrontend/console/src/store/modules/app.js

@@ -8,7 +8,8 @@ const state = {
 	organization: {},
 	menuData: [],
 	config: {},
-	document: {}
+	document: {},
+	identityId: 0
 }
 
 const mutations = {
@@ -29,6 +30,9 @@ const mutations = {
 	},
 	CHANGE_DOCUMENT: (state, document) => {
 		state.document = document;
+	},
+	CHANGE_IDENTITYID: (state, identityId) => {
+		state.identityId = identityId;
 	}
 }
 
@@ -62,6 +66,11 @@ const actions = {
 		commit
 	}, document) {
 		commit('CHANGE_DOCUMENT', document);
+	},
+	changeiIdentityId({
+		commit
+	}, identityId) {
+		commit('CHANGE_IDENTITYID', identityId);
 	}
 }
 

+ 94 - 40
virgo.wzfrontend/console/src/views/login/index.vue

@@ -41,6 +41,12 @@
 		getImgCode,
 		sendPhoneCode
 	} from '@/httpApi/loginRegister';
+	import {
+		bindProjectDetail
+	} from '@/httpApi/organization'
+	import {
+		getProjectDetailById
+	} from '@/httpApi/space'
 	import {
 		setToken,
 		setComment
@@ -149,23 +155,78 @@
 						setToken(res.data.token);
 						getUserInfo().then(res => {
 							if (res.state) {
-								let organized = this.testOrganized(res.data);
-								if (!organized) return this.loginLoading = false;
+								let user = res.data;
+								let organized = this.testOrganized(user);
 								this.selectOrganized(organized);
 								this.$store.dispatch('app/changeOrganization', organized);
-								//vuex仓库存储user基本信息
-								let user = res.data;
-								getOrganizedProjectList(organized.id).then(res => {
+								this.$store.dispatch('app/changeUser', user);
+								if (user.projectId === -1) {
+									this.getUserProjectList();
+								} else {
+									this.selectProject({
+										projectId: user.projectId,
+										identityId: 6
+									})
+								}
+							} else {
+								this.loginLoading = false;
+							}
+						})
+					} else {
+						this.loginLoading = false;
+					}
+				})
+			},
+			testOrganized(data) {
+				let organized = !data.organization ? data.organizationList[0] : data.organization;
+				return organized;
+			},
+			getUserProjectList() {
+				bindProjectDetail({
+					userId: this.$store.getters.user.userId
+				}).then(res => {
+					if (res.state) {
+						let clientData = res.data;
+						bindProjectDetail({
+							bindOrganizationId: this.$store.getters.organization.id
+						}).then(res => {
+							if (res.state) {
+								let organizationData = res.data;
+								getOrganizedProjectList(this.$store.getters.organization.id).then(res => {
 									if (res.state) {
-										if (!res.data || res.data.length == 0) {
+										let data = res.data || [];
+										let obj = []
+										if (this.$store.getters.user.phone == this.$store.getters
+											.organization.contactTel) {
+											obj = data.map(node => {
+												return {
+													projectId: node.id,
+													projectName: node.name,
+													organizationId: node.organizationId,
+													organizationName: this.$store.getters
+														.user.organizationList.find(item =>
+															item.id === node.organizationId
+														).name,
+													identityId: 6
+												}
+											})
+										}
+										let projectList = clientData.concat(organizationData, obj)
+											.sort((a, b) => a.projectId - b.projectId);
+										if (projectList.length === 0) {
+											this.loginLoading = false;
+											this.$store.dispatch('app/changeMenuData', []);
+											setComment(JSON.stringify([]));
 											this.$store.dispatch('projectBase/changeProject', {});
-											this.$store.dispatch('app/changeUser', user);
 											localStorage.setItem('projectId', 0);
+											this.$store.dispatch('app/changeiIdentityId', 6);
+											this.$message.success('登录成功');
 											return this.$router.push('/space/project');
+										} else {
+											this.selectProject(projectList[0])
 										}
-										let project = user.projectId === -1 ? res.data[0] : res
-											.data.filter(node => node.id == user.projectId)[0];
-										this.selectProject(project)
+									} else {
+										this.loginLoading = false;
 									}
 								});
 							} else {
@@ -177,38 +238,31 @@
 					}
 				})
 			},
-			testOrganized(data) {
-				if (data.operateOrganizationList == 0) {
-					this.$message.warning('您暂未有组织,请联系组织管理员添加');
-					return false;
-				}
-				let organized = !data.organization ? data.organizationList[0] : data.organization;
-				if (organized.status === 0) {
-					this.$message.warning('您所属的组织信息暂未审核通过');
-					return false;
-				}
-				return organized;
-			},
-			selectProject(data) {
-				data.projectItemList = data.projectItemList || [];
-				data.projectItemList.sort((a, b) => {
-					return a.id - b.id;
-				});
-				this.project = data;
-				this.$store.dispatch('projectBase/changeProject', data);
-				localStorage.setItem('projectId', data.id);
-				selectProject(data.id).then(res => {
-					this.loginLoading = false;
+			selectProject(item) {
+				getProjectDetailById(item.projectId).then(res => {
 					if (res.state) {
-						let user = res.data;
-						if (!user.operateUserInfo) user['operateUserInfo'] = {};
-						this.$store.dispatch('app/changeUser', user);
-						this.$store.dispatch('app/changeMenuData', user.resource ? JSON.parse(user.resource) : []);
-						setComment(user.menu ? user.menu : JSON.stringify([]));
-						this.$router.push('/');
-						this.$message.success('登录成功');
+						let data = res.data;
+						selectProject(data.id).then(res => {
+							if (res.state) {
+								let user = res.data;
+								this.$store.dispatch('app/changeiIdentityId', item.identityId);
+								this.$store.dispatch('projectBase/changeProject', data);
+								localStorage.setItem('projectId', data.id);
+								this.$store.dispatch('app/changeUser', user);
+								this.$store.dispatch('app/changeMenuData', user.resource ? JSON.parse(user
+									.resource) : []);
+								setComment(user.menu ? user.menu : JSON.stringify([]));
+								this.loginLoading = false;
+								this.$router.push('/');
+								this.$message.success('登录成功');
+							} else {
+								this.loginLoading = false;
+							}
+						});
+					} else {
+						this.loginLoading = false;
 					}
-				});
+				})
 			},
 			selectOrganized(data) {
 				selectOrangaized(data)

+ 7 - 0
virgo.wzfrontend/console/src/views/system/log.vue

@@ -40,6 +40,13 @@
 					<div class="log-item">3、新增公司合同、个人合同的功能。</div>
 				</div>
 			</el-timeline-item>
+			<el-timeline-item timestamp="2024-06-13" placement="top">
+				<div class="log-box">
+					<div class="log-item">1、完成对系统身份的梳理,包括1.客户、2.中介、3.组织成员、4.关联公司、5.组织所有者。</div>
+					<div class="log-item">2、新增项目组织按身份切换。</div>
+					<div class="log-item">3、新增工单管理页面。</div>
+				</div>
+			</el-timeline-item>
 		</el-timeline>
 	</div>
 </template>

+ 145 - 0
virgo.wzfrontend/console/src/views/work/order/clear.vue

@@ -0,0 +1,145 @@
+<template>
+	<div class="hui-flex hui-content">
+		<div class="hui-flex">
+			<div class="hui-content-title">
+				<div class="hui-title-item active">保洁工单</div>
+			</div>
+			<div class="hui-flex-box hui-flex hui-table">
+				<list-filter type="order" @filter="filterInit"></list-filter>
+				<div class="hui-content-insert">
+					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+				</div>
+				<div class="hui-flex-box">
+					<el-table :data="tableData" row-key="id" border height="100%">
+						<el-table-column label="序号" width="50">
+							<template slot-scope="scope">
+								<div style="text-align: center;">{{scope.$index + 1}}</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="楼宇" prop="code"></el-table-column>
+						<el-table-column label="租客" prop="name">
+							<template slot-scope="scope">
+								{{scope.row.tenantType === 1 ? scope.row.merchantName: scope.row.clientName}}
+							</template>
+						</el-table-column>
+						<el-table-column label="房号" prop="projectItemTargetRoomIds">
+							<template slot-scope="scope">
+								<div class="hui-ellipsis">
+									<span v-for="(item,index) in scope.row.roomMap">
+										{{item}}、
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="开始日" prop="startDate"></el-table-column>
+						<el-table-column label="结束日" prop="endDate"></el-table-column>
+						<el-table-column label="运营跟进人" prop="operatorName"></el-table-column>
+						<el-table-column label="操作" width="150">
+							<template slot-scope="scope">
+								<div class="hui-table-operation">
+									<span class="table-operation" @click="detailItem(scope.row)">
+										详情
+									</span>
+									<span class="table-operation" @click="updateItem(scope.row)">
+										编辑
+									</span>
+									<span class="table-operation" @click="deleteItem(scope.row)">
+										删除
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<template slot="empty">
+							<empty description="暂无数据"></empty>
+						</template>
+					</el-table>
+				</div>
+				<div class="hui-content-pagination">
+					<el-pagination :page-size="pageSize" :pager-count="9" layout="prev, pager, next" :total="totalCount"
+						@current-change="currentChange">
+					</el-pagination>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import edit from '@/components/work/contract/list/edit'
+	import detail from '@/components/work/contract/list/detail'
+	import listFilter from '@/components/common/listFilter'
+
+	import {
+		getContractListByPage,
+		deleteContractById
+	} from '@/httpApi/contract'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				currPage: 1,
+				pageSize: 10,
+				totalCount: 0,
+				detailId: '',
+				filterOption: {}
+			}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			init() {
+				let postData = {
+					currPage: this.currPage,
+					pageSize: this.pageSize,
+					organizationId: this.$store.getters.organization.id,
+					projectId: this.$store.getters.project.id
+				}
+				postData = Object.assign(postData, this.filterOption);
+			},
+			filterInit(option) {
+				this.filterOption = option;
+				this.currPage = 1;
+				this.init();
+			},
+			insert() {
+				this.$message.warning('功能开发中')
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			detailItem(item) {
+				this.detailId = item.id;
+			},
+			updateItem(item) {
+				this.detailId = item.id;
+			},
+			deleteItem(item) {
+				this.$confirm('确定要删除该合同文件?', () => {
+					deleteContractById(item.id).then(res => {
+						if (res.state) {
+							this.$message({
+								type: 'success',
+								message: '操作成功'
+							})
+							this.init();
+						}
+					})
+				});
+			},
+			callback(type) {
+				if (type === 'init') this.init();
+				this.type = 'list';
+			}
+		},
+		components: {
+			edit,
+			detail,
+			listFilter
+		},
+	}
+</script>
+
+<style>
+</style>

+ 145 - 0
virgo.wzfrontend/console/src/views/work/order/operation.vue

@@ -0,0 +1,145 @@
+<template>
+	<div class="hui-flex hui-content">
+		<div class="hui-flex">
+			<div class="hui-content-title">
+				<div class="hui-title-item active">运维工单</div>
+			</div>
+			<div class="hui-flex-box hui-flex hui-table">
+				<list-filter type="order" @filter="filterInit"></list-filter>
+				<div class="hui-content-insert">
+					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+				</div>
+				<div class="hui-flex-box">
+					<el-table :data="tableData" row-key="id" border height="100%">
+						<el-table-column label="序号" width="50">
+							<template slot-scope="scope">
+								<div style="text-align: center;">{{scope.$index + 1}}</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="楼宇" prop="code"></el-table-column>
+						<el-table-column label="租客" prop="name">
+							<template slot-scope="scope">
+								{{scope.row.tenantType === 1 ? scope.row.merchantName: scope.row.clientName}}
+							</template>
+						</el-table-column>
+						<el-table-column label="房号" prop="projectItemTargetRoomIds">
+							<template slot-scope="scope">
+								<div class="hui-ellipsis">
+									<span v-for="(item,index) in scope.row.roomMap">
+										{{item}}、
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="开始日" prop="startDate"></el-table-column>
+						<el-table-column label="结束日" prop="endDate"></el-table-column>
+						<el-table-column label="运营跟进人" prop="operatorName"></el-table-column>
+						<el-table-column label="操作" width="150">
+							<template slot-scope="scope">
+								<div class="hui-table-operation">
+									<span class="table-operation" @click="detailItem(scope.row)">
+										详情
+									</span>
+									<span class="table-operation" @click="updateItem(scope.row)">
+										编辑
+									</span>
+									<span class="table-operation" @click="deleteItem(scope.row)">
+										删除
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<template slot="empty">
+							<empty description="暂无数据"></empty>
+						</template>
+					</el-table>
+				</div>
+				<div class="hui-content-pagination">
+					<el-pagination :page-size="pageSize" :pager-count="9" layout="prev, pager, next" :total="totalCount"
+						@current-change="currentChange">
+					</el-pagination>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import edit from '@/components/work/contract/list/edit'
+	import detail from '@/components/work/contract/list/detail'
+	import listFilter from '@/components/common/listFilter'
+
+	import {
+		getContractListByPage,
+		deleteContractById
+	} from '@/httpApi/contract'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				currPage: 1,
+				pageSize: 10,
+				totalCount: 0,
+				detailId: '',
+				filterOption: {}
+			}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			init() {
+				let postData = {
+					currPage: this.currPage,
+					pageSize: this.pageSize,
+					organizationId: this.$store.getters.organization.id,
+					projectId: this.$store.getters.project.id
+				}
+				postData = Object.assign(postData, this.filterOption);
+			},
+			filterInit(option) {
+				this.filterOption = option;
+				this.currPage = 1;
+				this.init();
+			},
+			insert() {
+				this.$message.warning('功能开发中')
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			detailItem(item) {
+				this.detailId = item.id;
+			},
+			updateItem(item) {
+				this.detailId = item.id;
+			},
+			deleteItem(item) {
+				this.$confirm('确定要删除该合同文件?', () => {
+					deleteContractById(item.id).then(res => {
+						if (res.state) {
+							this.$message({
+								type: 'success',
+								message: '操作成功'
+							})
+							this.init();
+						}
+					})
+				});
+			},
+			callback(type) {
+				if (type === 'init') this.init();
+				this.type = 'list';
+			}
+		},
+		components: {
+			edit,
+			detail,
+			listFilter
+		},
+	}
+</script>
+
+<style>
+</style>

+ 145 - 0
virgo.wzfrontend/console/src/views/work/order/service.vue

@@ -0,0 +1,145 @@
+<template>
+	<div class="hui-flex hui-content">
+		<div class="hui-flex">
+			<div class="hui-content-title">
+				<div class="hui-title-item active">维修工单</div>
+			</div>
+			<div class="hui-flex-box hui-flex hui-table">
+				<list-filter type="order" @filter="filterInit"></list-filter>
+				<div class="hui-content-insert">
+					<el-button type="primary" size="medium" @click="insert">新增工单</el-button>
+				</div>
+				<div class="hui-flex-box">
+					<el-table :data="tableData" row-key="id" border height="100%">
+						<el-table-column label="序号" width="50">
+							<template slot-scope="scope">
+								<div style="text-align: center;">{{scope.$index + 1}}</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="楼宇" prop="code"></el-table-column>
+						<el-table-column label="租客" prop="name">
+							<template slot-scope="scope">
+								{{scope.row.tenantType === 1 ? scope.row.merchantName: scope.row.clientName}}
+							</template>
+						</el-table-column>
+						<el-table-column label="房号" prop="projectItemTargetRoomIds">
+							<template slot-scope="scope">
+								<div class="hui-ellipsis">
+									<span v-for="(item,index) in scope.row.roomMap">
+										{{item}}、
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="开始日" prop="startDate"></el-table-column>
+						<el-table-column label="结束日" prop="endDate"></el-table-column>
+						<el-table-column label="运营跟进人" prop="operatorName"></el-table-column>
+						<el-table-column label="操作" width="150">
+							<template slot-scope="scope">
+								<div class="hui-table-operation">
+									<span class="table-operation" @click="detailItem(scope.row)">
+										详情
+									</span>
+									<span class="table-operation" @click="updateItem(scope.row)">
+										编辑
+									</span>
+									<span class="table-operation" @click="deleteItem(scope.row)">
+										删除
+									</span>
+								</div>
+							</template>
+						</el-table-column>
+						<template slot="empty">
+							<empty description="暂无数据"></empty>
+						</template>
+					</el-table>
+				</div>
+				<div class="hui-content-pagination">
+					<el-pagination :page-size="pageSize" :pager-count="9" layout="prev, pager, next" :total="totalCount"
+						@current-change="currentChange">
+					</el-pagination>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import edit from '@/components/work/contract/list/edit'
+	import detail from '@/components/work/contract/list/detail'
+	import listFilter from '@/components/common/listFilter'
+
+	import {
+		getContractListByPage,
+		deleteContractById
+	} from '@/httpApi/contract'
+	export default {
+		data() {
+			return {
+				tableData: [],
+				currPage: 1,
+				pageSize: 10,
+				totalCount: 0,
+				detailId: '',
+				filterOption: {}
+			}
+		},
+		created() {
+			this.init();
+		},
+		methods: {
+			init() {
+				let postData = {
+					currPage: this.currPage,
+					pageSize: this.pageSize,
+					organizationId: this.$store.getters.organization.id,
+					projectId: this.$store.getters.project.id
+				}
+				postData = Object.assign(postData, this.filterOption);
+			},
+			filterInit(option) {
+				this.filterOption = option;
+				this.currPage = 1;
+				this.init();
+			},
+			insert() {
+				this.$message.warning('功能开发中')
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			detailItem(item) {
+				this.detailId = item.id;
+			},
+			updateItem(item) {
+				this.detailId = item.id;
+			},
+			deleteItem(item) {
+				this.$confirm('确定要删除该合同文件?', () => {
+					deleteContractById(item.id).then(res => {
+						if (res.state) {
+							this.$message({
+								type: 'success',
+								message: '操作成功'
+							})
+							this.init();
+						}
+					})
+				});
+			},
+			callback(type) {
+				if (type === 'init') this.init();
+				this.type = 'list';
+			}
+		},
+		components: {
+			edit,
+			detail,
+			listFilter
+		},
+	}
+</script>
+
+<style>
+</style>

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


virgo.wzfrontend/src/main/resources/static/static/css/527.52c2cdde.css → virgo.wzfrontend/src/main/resources/static/static/css/139.52c2cdde.css


virgo.wzfrontend/src/main/resources/static/static/css/359.67238434.css → virgo.wzfrontend/src/main/resources/static/static/css/170.67238434.css


virgo.wzfrontend/src/main/resources/static/static/css/893.67238434.css → virgo.wzfrontend/src/main/resources/static/static/css/292.67238434.css


virgo.wzfrontend/src/main/resources/static/static/css/192.48fa06e5.css → virgo.wzfrontend/src/main/resources/static/static/css/458.48fa06e5.css


virgo.wzfrontend/src/main/resources/static/static/css/181.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/static/css/556.b6c7aaf0.css


virgo.wzfrontend/src/main/resources/static/static/css/465.b6c7aaf0.css → virgo.wzfrontend/src/main/resources/static/static/css/56.b6c7aaf0.css


virgo.wzfrontend/src/main/resources/static/static/css/999.48fa06e5.css → virgo.wzfrontend/src/main/resources/static/static/css/796.48fa06e5.css


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


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


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/129-legacy.4603d34c.js


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


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


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


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


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


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/191-legacy.6610ce7c.js


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/197-legacy.58bc4f57.js


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/231-legacy.3e707cfe.js


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


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


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


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


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


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


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


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


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


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/419-legacy.52deb2da.js


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


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


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


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


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/498-legacy.1553e139.js


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/499-legacy.3f999b75.js


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


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


File diff suppressed because it is too large
+ 0 - 42
virgo.wzfrontend/src/main/resources/static/static/js/50-legacy.5fb1cdfd.js


File diff suppressed because it is too large
+ 42 - 0
virgo.wzfrontend/src/main/resources/static/static/js/50-legacy.68c901b2.js


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


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


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


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


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


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.4447f6e9.js


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/529-legacy.97d327f8.js


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


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/568-legacy.2f5ebb12.js


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.5840b04d.js


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


File diff suppressed because it is too large
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/static/js/61-legacy.6c783e3d.js


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


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


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/656-legacy.881cab5a.js


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


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


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


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/719-legacy.1195c8ed.js


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


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


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


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


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


File diff suppressed because it is too large
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/static/js/836-legacy.80c1c45c.js


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


File diff suppressed because it is too large
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/static/js/850-legacy.1530d666.js


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


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


+ 0 - 0
virgo.wzfrontend/src/main/resources/static/static/js/867-legacy.64ea79f3.js


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