Просмотр исходного кода

添加loading加载页/调整按钮组隐藏条件的判定

lph 1 год назад
Родитель
Сommit
e3f9e2f49b

+ 8 - 8
zkqy-ui/src/permission.js

@@ -1,14 +1,14 @@
 import router from './router'
 import store from './store'
-import {Message} from 'element-ui'
+import { Message } from 'element-ui'
 import NProgress from 'nprogress'
 import 'nprogress/nprogress.css'
-import {getToken} from '@/utils/auth'
-import {isRelogin} from '@/utils/request'
+import { getToken } from '@/utils/auth'
+import { isRelogin } from '@/utils/request'
 
-NProgress.configure({showSpinner: false})
+NProgress.configure({ showSpinner: false })
 
-const whiteList = ['/login', '/register', '/404', '/adminLogin','/401']
+const whiteList = ['/login', '/register', '/404', '/adminLogin', '/401', '/loading']
 
 router.beforeEach((to, from, next) => {
   NProgress.start()
@@ -16,7 +16,7 @@ router.beforeEach((to, from, next) => {
     to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
     /* has token*/
     if (to.path === '/login') {
-      next({path: '/'})
+      next({ path: '/' })
       NProgress.done()
     } else {
       if (store.getters.roles.length === 0) {
@@ -27,12 +27,12 @@ router.beforeEach((to, from, next) => {
           store.dispatch('GenerateRoutes').then(accessRoutes => {
             // 根据roles权限生成可访问的路由表
             router.addRoutes(accessRoutes) // 动态添加可访问路由表
-            next({...to, replace: true}) // hack方法 确保addRoutes已完成
+            next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
           })
         }).catch(err => {
           store.dispatch('LogOut').then(() => {
             Message.error(err)
-            next({path: '/'})
+            next({ path: '/' })
           })
         })
       } else {

+ 17 - 12
zkqy-ui/src/router/index.js

@@ -1,6 +1,6 @@
 import Vue from 'vue'
 import Router from 'vue-router'
-import {getQueryParams} from '@/utils/other'
+import { getQueryParams } from '@/utils/other'
 
 Vue.use(Router)
 
@@ -44,7 +44,7 @@ export const constantRoutes = [
   //     }
   //   ]
   // },
-  
+
   {
     path: '/redirect',
     component: Layout,
@@ -190,6 +190,11 @@ export const constantRoutes = [
     component: () => import('@/views/error/401'),
     hidden: true
   },
+  {
+    path: '/loading',
+    component: () => import('@/views/loading'),
+    hidden: true
+  },
   {
     path: '',
     component: Layout,
@@ -230,7 +235,7 @@ export const constantRoutes = [
         path: 'profile',
         component: () => import('@/views/system/user/profile/index'),
         name: 'Profile',
-        meta: {title: '个人中心', icon: 'user'}
+        meta: { title: '个人中心', icon: 'user' }
       }
     ]
   },
@@ -250,7 +255,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/system/data/index'),
         // component: (resolve) => require(['@/views/system/data/index'], resolve),
         name: 'AuthRole',
-        meta: {title: '数据源配置', activeMenu: '/system/data'}
+        meta: { title: '数据源配置', activeMenu: '/system/data' }
       }
     ]
   },
@@ -265,7 +270,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/system/user/authRole'),
         // component: (resolve) => require(['@/views/system/user/authRole'], resolve),
         name: 'AuthRole',
-        meta: {title: '分配角色', activeMenu: '/system/user'}
+        meta: { title: '分配角色', activeMenu: '/system/user' }
       }
     ]
   },
@@ -280,7 +285,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/system/fromModel/index'),
         // component: (resolve) => require(['@/views/system/fromModel/index'], resolve),
         name: 'fromModel',
-        meta: {title: '表单建模', activeMenu: '/system/fromModel/index'}
+        meta: { title: '表单建模', activeMenu: '/system/fromModel/index' }
       },
       // {
       //   path: '/fromModel/:index',
@@ -302,7 +307,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/system/role/authUser'),
         // component: (resolve) => require(['@/views/system/role/authUser'], resolve),
         name: 'AuthUser',
-        meta: {title: '分配用户', activeMenu: '/system/role'}
+        meta: { title: '分配用户', activeMenu: '/system/role' }
       }
     ]
   },
@@ -317,7 +322,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/system/dict/data'),
         // component: (resolve) => require(['@/views/system/dict/data'], resolve),
         name: 'Data',
-        meta: {title: '字典数据', activeMenu: '/system/dict'}
+        meta: { title: '字典数据', activeMenu: '/system/dict' }
       }
     ]
   },
@@ -333,7 +338,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/system/tenant/dict/data'),
         // component: (resolve) => require(['@/views/system/tenant/dict/data'], resolve),
         name: 'TenantData',
-        meta: {title: '字典数据', activeMenu: '/system/tenant/dict'}
+        meta: { title: '字典数据', activeMenu: '/system/tenant/dict' }
       }
     ]
   },
@@ -349,7 +354,7 @@ export const dynamicRoutes = [
         component: () => import('@/views/monitor/job/log'),
         // component: (resolve) => require(['@/views/monitor/job/log'], resolve),
         name: 'JobLog',
-        meta: {title: '调度日志', activeMenu: '/monitor/job'}
+        meta: { title: '调度日志', activeMenu: '/monitor/job' }
       }
     ]
   },
@@ -365,7 +370,7 @@ export const dynamicRoutes = [
 
         // component: (resolve) => require(['@/views/tool/gen/editTable'], resolve),
         name: 'GenEdit',
-        meta: {title: '修改生成配置', activeMenu: '/tool/gen'}
+        meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
       }
     ]
   }
@@ -386,6 +391,6 @@ Router.prototype.replace = function push(location) {
 
 export default new Router({
   mode: 'history', // 去掉url中的#
-  scrollBehavior: () => ({y: 0}),
+  scrollBehavior: () => ({ y: 0 }),
   routes: constantRoutes
 })

+ 1 - 1
zkqy-ui/src/views/index.vue

@@ -56,7 +56,7 @@
       <div class="tenant-name">{{ tenantName }}</div>
       <div class="date">{{ date }}</div> -->
       <!-- <div class="title">欢迎登录Mec OS 工业应用操作系统</div> -->
-      <div class="title mt20">欢迎登录工业应用操作系统</div>
+      <div class="title mt20">欢迎登录工业应用引擎</div>
     </div>
   </div>
 </template>

+ 211 - 0
zkqy-ui/src/views/loading.vue

@@ -0,0 +1,211 @@
+<template>
+  <div id="app">
+    <div id="loader-wrapper">
+      <div id="loader"></div>
+      <div class="loader-section section-left"></div>
+      <div class="loader-section section-right"></div>
+      <div class="load_title">正在加载系统资源,请耐心等待</div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "loading",
+  props: [],
+  components: {},
+  data() {
+    return {};
+  },
+  computed: {},
+  methods: {},
+  onMounted() {},
+};
+</script>
+
+<style scoped lang="scss">
+html,
+body,
+#app {
+  height: 100%;
+  margin: 0px;
+  padding: 0px;
+}
+
+.chromeframe {
+  margin: 0.2em 0;
+  background: #ccc;
+  color: #000;
+  padding: 0.2em 0;
+}
+
+#loader-wrapper {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 999999;
+}
+
+#loader {
+  display: block;
+  position: relative;
+  left: 50%;
+  top: 50%;
+  width: 150px;
+  height: 150px;
+  margin: -75px 0 0 -75px;
+  border-radius: 50%;
+  border: 3px solid transparent;
+  border-top-color: #fff;
+  -webkit-animation: spin 2s linear infinite;
+  -ms-animation: spin 2s linear infinite;
+  -moz-animation: spin 2s linear infinite;
+  -o-animation: spin 2s linear infinite;
+  animation: spin 2s linear infinite;
+  z-index: 1001;
+}
+
+#loader:before {
+  content: "";
+  position: absolute;
+  top: 5px;
+  left: 5px;
+  right: 5px;
+  bottom: 5px;
+  border-radius: 50%;
+  border: 3px solid transparent;
+  border-top-color: #fff;
+  -webkit-animation: spin 3s linear infinite;
+  -moz-animation: spin 3s linear infinite;
+  -o-animation: spin 3s linear infinite;
+  -ms-animation: spin 3s linear infinite;
+  animation: spin 3s linear infinite;
+}
+
+#loader:after {
+  content: "";
+  position: absolute;
+  top: 15px;
+  left: 15px;
+  right: 15px;
+  bottom: 15px;
+  border-radius: 50%;
+  border: 3px solid transparent;
+  border-top-color: #fff;
+  -moz-animation: spin 1.5s linear infinite;
+  -o-animation: spin 1.5s linear infinite;
+  -ms-animation: spin 1.5s linear infinite;
+  -webkit-animation: spin 1.5s linear infinite;
+  animation: spin 1.5s linear infinite;
+}
+
+@-webkit-keyframes spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -webkit-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+
+@keyframes spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+
+  100% {
+    -webkit-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+
+#loader-wrapper .loader-section {
+  position: fixed;
+  top: 0;
+  width: 51%;
+  height: 100%;
+  background: #7171c6;
+  z-index: 1000;
+  -webkit-transform: translateX(0);
+  -ms-transform: translateX(0);
+  transform: translateX(0);
+}
+
+#loader-wrapper .loader-section.section-left {
+  left: 0;
+}
+
+#loader-wrapper .loader-section.section-right {
+  right: 0;
+}
+
+.loaded #loader-wrapper .loader-section.section-left {
+  -webkit-transform: translateX(-100%);
+  -ms-transform: translateX(-100%);
+  transform: translateX(-100%);
+  -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+}
+
+.loaded #loader-wrapper .loader-section.section-right {
+  -webkit-transform: translateX(100%);
+  -ms-transform: translateX(100%);
+  transform: translateX(100%);
+  -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+  transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+}
+
+.loaded #loader {
+  opacity: 0;
+  -webkit-transition: all 0.3s ease-out;
+  transition: all 0.3s ease-out;
+}
+
+.loaded #loader-wrapper {
+  visibility: hidden;
+  -webkit-transform: translateY(-100%);
+  -ms-transform: translateY(-100%);
+  transform: translateY(-100%);
+  -webkit-transition: all 0.3s 1s ease-out;
+  transition: all 0.3s 1s ease-out;
+}
+
+.no-js #loader-wrapper {
+  display: none;
+}
+
+.no-js h1 {
+  color: #222222;
+}
+
+#loader-wrapper .load_title {
+  font-family: "Open Sans";
+  color: #fff;
+  font-size: 19px;
+  width: 100%;
+  text-align: center;
+  z-index: 9999999999999;
+  position: absolute;
+  top: 60%;
+  opacity: 1;
+  line-height: 30px;
+}
+
+#loader-wrapper .load_title span {
+  font-weight: normal;
+  font-style: italic;
+  font-size: 13px;
+  color: #fff;
+  opacity: 0.5;
+}
+</style>

+ 1 - 1
zkqy-ui/src/views/system/excuteBtnMange/index.vue

@@ -1587,7 +1587,7 @@ export default {
       console.log(this.btnHidenCondtionData);
       if (this.btnHidenCondtionData.length == 0) return "";
       let temp = this.btnHidenCondtionData.filter((item) => {
-        return item.fieldName && item.mark && item.refValue;
+        return item.fieldName && item.mark;
       });
       if (temp.length > 0) {
         return JSON.stringify(temp);