From 4df0471b7dff0494625ff09969b1a13b5359a26e Mon Sep 17 00:00:00 2001 From: XingChuan <m17600301067@163.com> Date: 星期一, 31 五月 2021 22:41:47 +0800 Subject: [PATCH] 统计表弹框UI优化;增加点击企业名称缩放至企业;二级表展示功能优化。 --- src/utils/navigation.js | 179 +++-------------------------------------------------------- 1 files changed, 11 insertions(+), 168 deletions(-) diff --git a/src/utils/navigation.js b/src/utils/navigation.js index be520db..1c09633 100644 --- a/src/utils/navigation.js +++ b/src/utils/navigation.js @@ -1,7 +1,6 @@ import Cookies from 'js-cookie' -import { hasOneOf, objEqual, _ } from '@/utils/tools' const appConfig = require('@/app.config') -const { title, cookieExpires, useI18n } = appConfig +const { cookieExpires } = appConfig export const TOKEN_KEY = 'token' export const ACCOUNT_KEY = 'account' @@ -11,7 +10,7 @@ export const getToken = () => { const token = Cookies.get(TOKEN_KEY) - if (token) return token + if (token !== 'undefined') return token else return false } @@ -27,61 +26,6 @@ export const hasChild = (item) => { return item.children && item.children.length !== 0 -} - -/** - * @param {Array} routeMetched 褰撳墠璺敱metched - * @returns {Array} - */ -export const getBreadCrumbList = (route, homeRoute) => { - let homeItem = { ...homeRoute, icon: homeRoute.meta.icon } - let routeMetched = route.matched - if (routeMetched.some(item => item.name === homeRoute.name)) return [homeItem] - let res = routeMetched.filter(item => { - return item.meta === undefined || !item.meta.hideInBread - }).map(item => { - let meta = { ...item.meta } - if (meta.title && typeof meta.title === 'function') { - meta.__titleIsFunction__ = true - meta.title = meta.title(route) - } - let obj = { - icon: (item.meta && item.meta.icon) || '', - name: item.name, - meta: meta - } - return obj - }) - res = res.filter(item => { - return !item.meta.hideInMenu - }) - return [{ ...homeItem, to: homeRoute.path }, ...res] -} - -export const getRouteTitleHandled = (route) => { - let router = { ...route } - let meta = { ...route.meta } - let title = '' - if (meta.title) { - if (typeof meta.title === 'function') { - meta.__titleIsFunction__ = true - title = meta.title(router) - } else title = meta.title - } - meta.title = title - router.meta = meta - return router -} - -export const showTitle = (item, vm) => { - let { title, __titleIsFunction__ } = item.meta - if (!title) return - if (useI18n) { - if (title.includes('{{') && title.includes('}}') && useI18n) title = title.replace(/({{[\s\S]+?}})/, (m, str) => str.replace(/{{([\s\S]*)}}/, (m, _) => vm.$t(_.trim()))) - else if (__titleIsFunction__) title = item.meta.title - else title = vm.$t(item.name) - } else title = (item.meta && item.meta.title) || item.name - return title } /** @@ -105,12 +49,12 @@ */ export const getHomeRouter = (routers, homeName = 'Home') => { let i = -1 - let len = routers.length + const len = routers.length let homeRoute = {} while (++i < len) { - let item = routers[i] + const item = routers[i] if (item.children && item.children.length) { - let res = getHomeRouter(item.children, homeName) + const res = getHomeRouter(item.children, homeName) if (res.name) return res } else { if (item.name === homeName) homeRoute = item @@ -126,70 +70,10 @@ */ export const getNewTagList = (list, newRoute) => { const { name, path, meta } = newRoute - let newList = [...list] + const newList = [...list] if (newList.findIndex(item => item.name === name) >= 0) return newList else newList.push({ name, path, meta }) return newList -} - -/** - * @param {*} access 鐢ㄦ埛鏉冮檺鏁扮粍锛屽 ['super_admin', 'admin'] - * @param {*} route 璺敱鍒楄〃 - */ -const hasAccess = (access, route) => { - if (route.meta && route.meta.access) return hasOneOf(access, route.meta.access) - else return true -} - -/** - * 鑿滃崟鏉冮壌 - * @param {*} name 鍗冲皢璺宠浆鐨勮矾鐢眓ame - * @param {*} access 鐢ㄦ埛鏉冮檺鏁扮粍 - * @param {*} routes 璺敱鍒楄〃 - * @description 鐢ㄦ埛鏄惁鍙烦杞埌璇ラ〉 - */ -export const canTurnTo = (name, access, routes) => { - const routePermissionJudge = (list) => { - return list.some(item => { - if (item.children && item.children.length) { - return routePermissionJudge(item.children) - } else if (item.name === name) { - return hasAccess(access, item) - } - }) - } - - return routePermissionJudge(routes) -} - -/** - * @param {String} url - * @description 浠嶶RL涓В鏋愬弬鏁� - */ -export const getParams = url => { - const keyValueArr = url.split('?')[1].split('&') - let paramObj = {} - _.forEach(keyValueArr, item => { - const keyValue = item.split('=') - paramObj[keyValue[0]] = keyValue[1] - }) - return paramObj -} - -/** - * @param {Array} list 鏍囩鍒楄〃 - * @param {String} name 褰撳墠鍏抽棴鐨勬爣绛剧殑name - */ -export const getNextRouter = (list, route) => { - let res = {} - if (list.length === 2) { - res = getHomeRouter(list) - } else { - const index = list.findIndex(item => routeEqual(item, route)) - if (index === list.length - 1) res = list[list.length - 2] - else res = list[index + 1] - } - return res } /** @@ -214,9 +98,9 @@ } export const findNodeUpperByClasses = (ele, classes) => { - let parentNode = ele.parentNode + const parentNode = ele.parentNode if (parentNode) { - let classList = parentNode.classList + const classList = parentNode.classList if (classList && classes.every(className => classList.contains(className))) { return parentNode } else { @@ -229,42 +113,13 @@ const tagName = tag.toUpperCase() if (ele.childNodes.length) { let i = -1 - let len = ele.childNodes.length + const len = ele.childNodes.length while (++i < len) { - let child = ele.childNodes[i] + const child = ele.childNodes[i] if (child.tagName === tagName) return child else return findNodeDownward(child, tag) } } -} - -export const showByAccess = (access, canViewAccess) => { - return hasOneOf(canViewAccess, access) -} - -/** - * @description 鏍规嵁name/params/query鍒ゆ柇涓や釜璺敱瀵硅薄鏄惁鐩哥瓑 - * @param {*} route1 璺敱瀵硅薄 - * @param {*} route2 璺敱瀵硅薄 - */ -export const routeEqual = (route1, route2) => { - const params1 = route1.params || {} - const params2 = route2.params || {} - const query1 = route1.query || {} - const query2 = route2.query || {} - return (route1.name === route2.name) && objEqual(params1, params2) && objEqual(query1, query2) -} - -/** - * 鍒ゆ柇鎵撳紑鐨勬爣绛惧垪琛ㄩ噷鏄惁宸插瓨鍦ㄨ繖涓柊娣诲姞鐨勮矾鐢卞璞� - */ -export const routeHasExist = (tagNavList, routeItem) => { - let len = tagNavList.length - let res = false - doCustomTimes(len, (index) => { - if (routeEqual(tagNavList[index], routeItem)) res = true - }) - return res } export const localSave = (key, value) => { @@ -282,7 +137,7 @@ window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || - function(callback) { + function (callback) { return window.setTimeout(callback, 1000 / 60) } ) @@ -309,16 +164,4 @@ window.requestAnimationFrame(() => scroll(d, end, step)) } scroll(from, to, step) -} - -/** - * @description 鏍规嵁褰撳墠璺宠浆鐨勮矾鐢辫缃樉绀哄湪娴忚鍣ㄦ爣绛剧殑title - * @param {Object} routeItem 璺敱瀵硅薄 - * @param {Object} vm Vue瀹炰緥 - */ -export const setTitle = (routeItem, vm) => { - const handledRoute = getRouteTitleHandled(routeItem) - const pageTitle = showTitle(handledRoute, vm) - const resTitle = pageTitle ? `${title} - ${pageTitle}` : title - window.document.title = resTitle } -- Gitblit v1.8.0