From d3dd4726d7036a3f3a794c73db25ce323ed118d8 Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Thu, 24 Mar 2022 17:24:31 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E8=A7=86=E5=8C=96=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layouts/navbar/index.vue | 38 ++++++++++++++-------------------
src/pages/screen/list/index.vue | 25 ++++++++++++----------
src/plugins/requests/index.js | 5 +----
src/router/permission.js | 5 +++--
src/setting.js | 2 +-
src/styles/page/screen.scss | 2 +-
6 files changed, 36 insertions(+), 41 deletions(-)
diff --git a/src/layouts/navbar/index.vue b/src/layouts/navbar/index.vue
index 36e5dd3..8b8c5ba 100644
--- a/src/layouts/navbar/index.vue
+++ b/src/layouts/navbar/index.vue
@@ -17,23 +17,23 @@ export default {
managerStr: this.$route.query.mg, // 判断是否在后台的标识,只有url上带了mg,并且mg的值为编码后的true,才算进入了后台
isManager: false,
active: this.$route.path,
- defaultMenus: [],
- // 前台菜单
- dataMenu: [{
+ defaultMenus: [{
index: '/index/list',
title: '首页'
}, {
+ index: '/screen',
+ title: '数据看板'
+ }],
+ // 前台菜单
+ dataMenu: {
index: '/data/list',
title: '数据'
- }],
+ },
// 后台菜单(下面要根据获取到的该角色拥有的权限来显示哪些菜单)
managerMenus: [
{
index: '/stat/list',
title: '数据统计'
- }, {
- index: '/screen',
- title: '大屏展示'
}, {
index: '/user/list',
title: '用户管理'
@@ -80,29 +80,23 @@ export default {
'setManager'
]),
initMenu() {
- if (this.isManager) {// 该值为true,则表示当前是在后台(是否是后台是通过url上面的mg来判断的)
- this.defaultMenus = this.managerMenus
+ // 该值为true,则表示当前是在后台(是否是后台是通过url上面的mg来判断的)
+ if (this.isManager) {
+ const managerMenus = this.managerMenus
if (Setting.dynamicRoute) {
- let routes = this.routes
- let menus = []
- this.defaultMenus.map(e => {
+ const routes = this.routes
+ const menus = []
+ managerMenus.map(e => {
routes.find(n => n.name == e.index) && menus.push(e)
})
this.menus = menus
} else {
- this.menus = this.defaultMenus
+ this.menus = managerMenus
}
} else {
- if (Setting.dynamicRoute) {
+ this.menus = this.defaultMenus
// 如果是在前台,则判断有没有数据列表的权限
- if (this.routes.find(e => e.name === '/data/list')) {
- this.menus = this.dataMenu
- } else {
- this.menus = this.dataMenu[0]
- }
- } else {
- this.menus = this.dataMenu
- }
+ if (!Setting.dynamicRoute || this.routes.find(e => e.name === '/data/list')) this.menus.splice(1, 0, this.dataMenu)
}
},
jump(item) {
diff --git a/src/pages/screen/list/index.vue b/src/pages/screen/list/index.vue
index 7752025..c1cac7d 100644
--- a/src/pages/screen/list/index.vue
+++ b/src/pages/screen/list/index.vue
@@ -5,7 +5,7 @@
@@ -225,14 +225,14 @@
- 商品零售价格指数
+ {{ goodsSell.length ? goodsSell[0].operation_time.substr(0, 4) : 2021 }}年商品零售价格指数
概况名称 |
- 详情 |
+ 指数 |
@@ -522,7 +522,8 @@ export default {
// 国际旅游外汇收入构成
this.$get(`${this.api.previewData}?tableName=hg_zg_jr_guojilvyouwaihuishourugoucheng&tableId=52`).then(res => {
const { comment, data } = res
- const colors = ['#f845f1', '#44aff0', '#ad46f3', '#5045f6', '#4777f5', '#45dbf7', '#f6d54a']
+ if (!data.length) return false
+ const colors = ['rgba(227, 46, 138, .5)', 'rgba(123, 41, 225, .8)', 'rgba(12, 53, 215, .8)', 'rgba(69, 223, 124, .8)', 'rgba(155, 1, 55, .8)', 'rgba(200, 142, 22, .8)']
const series = []
data.map((e, i) => {
series.push({
@@ -538,7 +539,7 @@ export default {
echarts.init(document.querySelector(`#chart2`)).setOption({
tooltip: {
trigger: 'item',
- formatter: "{a}
{b} : {c}亿"
+ formatter: `${data[0].statistical_annual}年{a}
{b} : {c}亿`
},
legend: {
x: 'center',
@@ -565,10 +566,11 @@ export default {
// roseType: 'radius',
//是否启用防止标签重叠策略,默认开启,圆环图这个例子中需要强制所有标签放在中心位置,可以将该值设为 false。
// avoidLabelOverlap: false,
+ color: ['#065aab', '#066eab', '#0682ab', '#0696ab', '#06a0ab','#06b4ab','#06c8ab','#06dcab','#06f0ab'],
label: {
normal: {
show: true,
- formatter: '{b}{c}万件'
+ formatter: '{b}{c}亿美元'
},
emphasis: {
show: true
@@ -740,6 +742,7 @@ export default {
const goodsSell = []
data.map(e => {
goodsSell.push({
+ operation_time: e.operation_time,
hct: e.hct,
rcpi: e.rcpi
})
@@ -975,10 +978,10 @@ export default {
// 全社会用电分类情况
this.$get(`${this.api.previewData}?tableName=hg_zg_jr_quanshehuiyongdianfenleiqingkuangbiao&tableId=50`).then(res => {
const { comment, data } = res
- const item = data[4]
+ const item = data[3]
echarts.init(document.querySelector(`#chart7`)).setOption({
title: [{
- text: '全社会用电分类情况',
+ text: `2021年全社会用电分类情况`,
top: '11%',
left: 'center',
textStyle: {
@@ -1008,7 +1011,7 @@ export default {
type: 'pie',
center: ['50%', '55%'],
radius: ['40%', '60%'],
- color: ['#06dcab', '#065aab', '#06f0ab'],
+ color: ['rgba(123, 54, 98, .8)', 'rgba(171, 21, 241, .8)', 'rgba(12, 164, 167, .8)'],
label: {
show: false
},
@@ -1035,10 +1038,10 @@ export default {
// 全社会客货运输量
this.$get(`${this.api.previewData}?tableName=hg_zg_jr_quanshehuikehuoyunshuliang&tableId=51`).then(res => {
const { comment, data } = res
- const item = data[4]
+ if (!data.length) return false
echarts.init(document.querySelector(`#chart8`)).setOption({
title: [{
- text: '全社会客货运输量',
+ text: `${data[0].operation_time.substr(0, 4)}年全社会客货运输量`,
top: '11%',
left: 'center',
textStyle: {
diff --git a/src/plugins/requests/index.js b/src/plugins/requests/index.js
index 9a2c126..7d9da44 100644
--- a/src/plugins/requests/index.js
+++ b/src/plugins/requests/index.js
@@ -91,10 +91,7 @@ service.interceptors.response.use(
util.errorMsg('登录过期,请重新登录')
setTimeout(() => {
router.replace({
- path: '/login',
- // query: {
- // redirect: router.currentRoute.fullPath
- // }
+ path: '/login'
})
}, 1000)
break
diff --git a/src/router/permission.js b/src/router/permission.js
index bc84124..b2c3c96 100644
--- a/src/router/permission.js
+++ b/src/router/permission.js
@@ -2,14 +2,15 @@ import router from './index'
import Setting from '@/setting'
import util from '@/libs/util'
import store from '@/store'
-const managerPath = ['/stat/list', '/screen', '/user/list', '/role/list'] // 管理员才能访问的页面路径
+const managerPath = ['/stat/list', '/user/list', '/role/list'] // 管理员才能访问的页面路径
+const whiteList = ['/login', '/index/list', '/screen'] // 白名单
router.beforeEach((to, from, next) => {
document.title = Setting.titleSuffix
const user = store.state.user
JSON.stringify(user) == '{}' && util.local.clear()
const role = util.local.get(Setting.tokenKey)
- if (!role && to.path !== '/login' && to.path !== '/index/list') {
+ if (!role && !whiteList.includes(to.path)) {
next('/index/list')
} else if(role && to.path == '/login') {
next('/index')
diff --git a/src/setting.js b/src/setting.js
index d41d9e2..5a35237 100644
--- a/src/setting.js
+++ b/src/setting.js
@@ -73,7 +73,7 @@ const Setting = {
// 相同路由,不同参数间进行切换,是否强力更新
sameRouteForceUpdate: false,
// 是否使用动态路由
- dynamicRoute: false,
+ dynamicRoute: true,
// 文件上传
upload: {
apiURL: 'http://8.134.8.197:8001',
diff --git a/src/styles/page/screen.scss b/src/styles/page/screen.scss
index 11891ad..069ab48 100644
--- a/src/styles/page/screen.scss
+++ b/src/styles/page/screen.scss
@@ -1,5 +1,5 @@
::-webkit-scrollbar-thumb {
- background: #7d65f9;
+ background: rgba(77, 97, 207, .45);
}
.wrap {
width: 100%;