From 6ee26b5dcd3312ef1c673ac52f75a352ffb8457e Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 01 九月 2023 17:07:54 +0800
Subject: [PATCH] 	modified:   src/App.vue 	modified:   src/main.js 	new file:   src/utils/EventBus.js 	new file:   src/utils/GlobalClickMixin.js

---
 src/utils/GlobalClickMixin.js |   26 ++++++
 src/main.js                   |    3 
 src/utils/EventBus.js         |    3 
 src/App.vue                   |  176 ++++++++++++++++++++++---------------------
 4 files changed, 120 insertions(+), 88 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index f9aafd2..6b43b77 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,12 +1,14 @@
 <template>
-  <div id="app">
-    <router-view />
-  </div>
+	<div id="app">
+		<router-view />
+	</div>
 </template>
 
 <script>
+import GlobalClickMixin from "@/utils/GlobalClickMixin";
 export default {
-  name: 'App',
+	mixins: [GlobalClickMixin], // 浣跨敤娣峰叆
+	name: 'App',
 	mounted() {
 		document.title = "瑁呭鐢电紗 lims 绯荤粺"
 	}
@@ -14,86 +16,88 @@
 </script>
 
 <style>
-	#app{
-		overflow: hidden !important;
-	}
-	
-	.breadcrumb-container{
-		height: 40px;
-	}
-	.app-main{
-		margin-top: 41px !important;
-	}
-	
-	.el-menu-item{
-		width: 100%;
-	}
-	
-	/* 鍏ㄥ眬妯℃�佹鏍峰紡 */
-	.el-dialog{
-		border-radius: 10px;
-		overflow: hidden;
-	}
-	
-	.el-dialog__header,.el-message-box__header {
-	  box-sizing: border-box;
-	  height: 46px;
-	  border-bottom: 1px solid rgb(238, 238, 238);
-	  padding: 0px;
-		padding-left: 18px;
-	  display: flex;
-	  align-items: center;
-		background-color: #069cff;
-	}
-	
-	.el-dialog__header *{
-	  font-size: 16px !important;
-		color: #fff;
-	}
-	
-	.el-message-box{
-		border: 0;
-		border-radius: 15px;
-	}
-	
-	.el-message-box__header * {
-		font-size: 16px !important;
-		color: #fff !important;
-	}
-	
-	.el-dialog__headerbtn .el-dialog__close{
-		color: #fff;
-		top: -20px;
-	}
-	
-	.el-dialog__headerbtn{
-		top: initial;
-	}
-	
-	.el-dialog__footer .el-button * {
-	  font-size: 14px !important;
-	}
-	
-	.el-dialog__footer .el-button {
-	  height: 36px;
-	  border: 1px solid rgba(190, 190, 190, 0.44);
-	  box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
-	  padding: 0 14px;
-	}
-	
-	.ins_state_success{
-		background-color: #67c23a;
-		color: #fff;
-		display: initial;
-		padding: 6px 10px;
-		border-radius: 4px;
-	}
-	
-	.ins_state_error{
-		background-color: #f56c6c;
-		color: #fff;
-		display: initial;
-		padding: 6px 10px;
-		border-radius: 4px;
-	}
+#app {
+	overflow: hidden !important;
+}
+
+.breadcrumb-container {
+	height: 40px;
+}
+
+.app-main {
+	margin-top: 41px !important;
+}
+
+.el-menu-item {
+	width: 100%;
+}
+
+/* 鍏ㄥ眬妯℃�佹鏍峰紡 */
+.el-dialog {
+	border-radius: 10px;
+	overflow: hidden;
+}
+
+.el-dialog__header,
+.el-message-box__header {
+	box-sizing: border-box;
+	height: 46px;
+	border-bottom: 1px solid rgb(238, 238, 238);
+	padding: 0px;
+	padding-left: 18px;
+	display: flex;
+	align-items: center;
+	background-color: #069cff;
+}
+
+.el-dialog__header * {
+	font-size: 16px !important;
+	color: #fff;
+}
+
+.el-message-box {
+	border: 0;
+	border-radius: 15px;
+}
+
+.el-message-box__header * {
+	font-size: 16px !important;
+	color: #fff !important;
+}
+
+.el-dialog__headerbtn .el-dialog__close {
+	color: #fff;
+	top: -20px;
+}
+
+.el-dialog__headerbtn {
+	top: initial;
+}
+
+.el-dialog__footer .el-button * {
+	font-size: 14px !important;
+}
+
+.el-dialog__footer .el-button {
+	height: 36px;
+	border: 1px solid rgba(190, 190, 190, 0.44);
+	box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+	padding: 0 14px;
+}
+
+.ins_state_success {
+	background-color: #67c23a;
+	color: #fff;
+	display: initial;
+	padding: 6px 10px;
+	border-radius: 4px;
+}
+
+.ins_state_error {
+	background-color: #f56c6c;
+	color: #fff;
+	display: initial;
+	padding: 6px 10px;
+	border-radius: 4px;
+}
 </style>
diff --git a/src/main.js b/src/main.js
index d578a57..08ded1c 100644
--- a/src/main.js
+++ b/src/main.js
@@ -9,7 +9,6 @@
 import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
 import VueClipboard from 'vue-clipboard2'
 Vue.use(VueClipboard)
-
 import '@/styles/index.scss' // global css
 
 import App from './App'
@@ -61,4 +60,4 @@
   router,
   store,
   render: h => h(App)
-})
+});
diff --git a/src/utils/EventBus.js b/src/utils/EventBus.js
new file mode 100644
index 0000000..b3e3ca6
--- /dev/null
+++ b/src/utils/EventBus.js
@@ -0,0 +1,3 @@
+// EventBus.js
+import Vue from 'vue';
+export const EventBus = new Vue();
\ No newline at end of file
diff --git a/src/utils/GlobalClickMixin.js b/src/utils/GlobalClickMixin.js
new file mode 100644
index 0000000..1d5f8aa
--- /dev/null
+++ b/src/utils/GlobalClickMixin.js
@@ -0,0 +1,26 @@
+import { EventBus } from './EventBus.js';
+
+export default {
+  mounted() {
+    this.$el.addEventListener('click', this.$_handleGlobalClick);
+  },
+  beforeDestroy() {
+    this.$el.removeEventListener('click', this.$_handleGlobalClick);
+  },
+  methods: {
+    $_handleGlobalClick(event) {
+        if (event.target.tagName === 'SPAN'||event.target.tagName==='BUTTON') {
+            if(sessionStorage.getItem('user')===undefined&&sessionStorage.getItem('user')===null){
+                return;
+            }
+            let user=JSON.parse(sessionStorage.getItem('user'));
+            if(user.account === 'admin'&&user.sessionLayerId === 'f5c8bcb7d5a0fd27e2323280f7e98cad'){
+                return;
+            }
+            // console.log(this.$router.currentRoute);
+            // console.log(user.role.roleMenuList);
+            // console.log(event.target.innerText);
+          }
+    }
+  }
+};
\ No newline at end of file

--
Gitblit v1.9.3