Merge branch 'dev' of github.com:dataease/dataease into dev

This commit is contained in:
taojinlong 2021-12-29 11:43:11 +08:00
commit f9f1bea6f5
4 changed files with 65 additions and 27 deletions

View File

@ -3,19 +3,34 @@ import store from './store'
// import { Message } from 'element-ui'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import { getToken } from '@/utils/auth' // get token from cookie
import {
getToken
} from '@/utils/auth' // get token from cookie
import getPageTitle from '@/utils/get-page-title'
import { buildMenus } from '@/api/system/menu'
import { filterAsyncRouter } from '@/store/modules/permission'
import {
buildMenus
} from '@/api/system/menu'
import {
filterAsyncRouter
} from '@/store/modules/permission'
import {
isMobile
} from '@/utils/index'
// import bus from './utils/bus'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
NProgress.configure({
showSpinner: false
}) // NProgress Configuration
const whiteList = ['/login', '/401', '/404', '/delink', '/nolic'] // no redirect whitelist
router.beforeEach(async(to, from, next) => {
// start progress bar
NProgress.start()
if (isMobile()) {
window.location.href = window.origin + '/app.html'
NProgress.done()
}
// set page title
document.title = getPageTitle(to.meta.title)
@ -25,7 +40,9 @@ router.beforeEach(async(to, from, next) => {
if (hasToken) {
if (to.path === '/login') {
// if is logged in, redirect to the home page
next({ path: '/' })
next({
path: '/'
})
NProgress.done()
} else {
const hasGetUserInfo = store.getters.name
@ -77,11 +94,18 @@ export const loadMenus = (next, to) => {
const datas = res.data
const filterDatas = filterRouter(datas)
const asyncRouter = filterAsyncRouter(filterDatas)
asyncRouter.push({ path: '*', redirect: '/404', hidden: true })
asyncRouter.push({
path: '*',
redirect: '/404',
hidden: true
})
store.dispatch('permission/GenerateRoutes', asyncRouter).then(() => { // 存储路由
router.addRoutes(asyncRouter)
if (pathValid(to.path, asyncRouter)) {
next({ ...to, replace: true })
next({
...to,
replace: true
})
} else {
next('/')
}

View File

@ -1,4 +1,3 @@
import Cookies from 'js-cookie'
export function timeSection(date, type) {
if (!date) {
@ -98,7 +97,9 @@ export function parseTime(time, cFormat) {
const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
const value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
if (key === 'a') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
return value.toString().padStart(2, '0')
})
return time_str
@ -115,19 +116,19 @@ export function hasClass(ele, cls) {
}
/**
* Add class to element
* @param {HTMLElement} elm
* @param {string} cls
*/
* Add class to element
* @param {HTMLElement} elm
* @param {string} cls
*/
export function addClass(ele, cls) {
if (!hasClass(ele, cls)) ele.className += ' ' + cls
}
/**
* Remove class from element
* @param {HTMLElement} elm
* @param {string} cls
*/
* Remove class from element
* @param {HTMLElement} elm
* @param {string} cls
*/
export function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
@ -189,12 +190,12 @@ export function param2Obj(url) {
}
return JSON.parse(
'{"' +
decodeURIComponent(search)
.replace(/"/g, '\\"')
.replace(/&/g, '","')
.replace(/=/g, '":"')
.replace(/\+/g, ' ') +
'"}'
decodeURIComponent(search)
.replace(/"/g, '\\"')
.replace(/&/g, '","')
.replace(/=/g, '":"')
.replace(/\+/g, ' ') +
'"}'
)
}
@ -216,7 +217,9 @@ export function formatCondition(param) {
if (!param) {
return null
}
const result = { conditions: [] }
const result = {
conditions: []
}
// eslint-disable-next-line no-unused-vars
for (const [key, value] of Object.entries(param)) {
result.conditions.push(value)
@ -273,13 +276,19 @@ export function getQueryVariable(variable) {
if (!query) {
query = Cookies.get(variable)
}
if (query !== undefined){
if (query !== undefined) {
const vars = query.split('&')
for (var i = 0; i < vars.length; i++) {
const pair = vars[i].split('=')
if (pair[0] === variable) { return pair[1] }
if (pair[0] === variable) {
return pair[1]
}
}
}
return (false)
}
export function isMobile() {
const flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
return flag
}

View File

@ -131,6 +131,7 @@ export default {
},
watch: {
chart: function() {
this.resetPage()
this.init()
}
},

View File

@ -1,6 +1,6 @@
<template>
<de-container>
<de-aside-container style="padding: 0 10px;">
<de-aside-container>
<el-tabs v-model="activeName" class="tab-panel" :stretch="true" @tab-click="handleClick">
<el-tab-pane name="PanelList">
<span slot="label"><i class="el-icon-document tablepanel-i" />{{ $t('panel.panel_list') }}</span>
@ -132,6 +132,10 @@ export default {
/* align-items: center;*/
/* justify-content: center;*/
/*}*/
.tab-panel{
height: 100%;
overflow-y: auto;
}
.tab-panel>>>.el-tabs__nav-wrap{
padding: 0 10px;
}