Fixiaobai
2023-09-01 6ee26b5dcd3312ef1c673ac52f75a352ffb8457e
	modified:   src/App.vue
modified: src/main.js
new file: src/utils/EventBus.js
new file: src/utils/GlobalClickMixin.js
已修改2个文件
已添加2个文件
208 ■■■■■ 文件已修改
src/App.vue 176 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/EventBus.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/GlobalClickMixin.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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)
})
});
src/utils/EventBus.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,3 @@
// EventBus.js
import Vue from 'vue';
export const EventBus = new Vue();
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);
          }
    }
  }
};