From 9cb42e93ea6fc79268b7c43a4115b8f0076c84e1 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: Tue, 09 Aug 2022 19:18:28 +0800
Subject: [PATCH] 添加修改页面
---
src/views/homeMenu/homeMenu.vue | 95 +++++++++++++++++++++++++++++++++++------------
1 files changed, 71 insertions(+), 24 deletions(-)
diff --git a/src/views/homeMenu/homeMenu.vue b/src/views/homeMenu/homeMenu.vue
index 0e7d3d1..6af789f 100644
--- a/src/views/homeMenu/homeMenu.vue
+++ b/src/views/homeMenu/homeMenu.vue
@@ -1,5 +1,5 @@
<template>
- <div class="login-container">
+ <div class="login-container" :key="once">
<div class="topPanel">
<div class="topPanelCont">
<div class="topTit">
@@ -22,22 +22,22 @@
<div class="gridCont">
<el-row :gutter="20">
<el-col :span="6"
- ><div class="grid-content" v-throttle @click="renderMenu('2')">
+ ><div class="grid-content" v-throttle @click="render('2')">
<div class="itemTit">双重预防系统</div>
<img class="iconImg" src="../../assets/menu/icon4.png" /><img class="bgImg" src="../../assets/menu/card4.png" /></div
></el-col>
<el-col :span="6"
- ><div class="grid-content" v-throttle @click="renderMenu('3')">
+ ><div class="grid-content" v-throttle @click="render('3')">
<div class="itemTit">特殊作业系统</div>
<img class="iconImg" src="../../assets/menu/icon7.png" /><img class="bgImg" src="../../assets/menu/card7.png" /></div
></el-col>
<el-col :span="6"
- ><div class="grid-content" v-throttle @click="renderMenu('4')">
+ ><div class="grid-content" v-throttle @click="render('4')">
<div class="itemTit">智能巡检系统</div>
<img class="iconImg" src="../../assets/menu/icon8.png" /><img class="bgImg" src="../../assets/menu/card8.png" /></div
></el-col>
<el-col :span="6">
- <div class="grid-content" v-throttle @click="renderMenu('5')">
+ <div class="grid-content" v-throttle @click="toRiskPlatform">
<div class="itemTit">安全风险综合 <br />预警预报平台</div>
<img class="iconImg" src="../../assets/menu/icon1.png" />
<img class="bgImg" src="../../assets/menu/card1.png" />
@@ -46,40 +46,40 @@
</el-row>
<el-row :gutter="20">
<el-col :span="6"
- ><div class="grid-content grid-content-2" v-throttle @click="renderMenu('6')">
+ ><div class="grid-content grid-content-2" v-throttle @click="render('6')">
<div class="itemTit">应急管理系统</div>
<img class="iconImg" src="../../assets/menu/icon5.png" /><img class="bgImg" src="../../assets/menu/card5.png" /></div
></el-col>
<el-col :span="6"
- ><div class="grid-content grid-content-2" v-throttle @click="renderMenu('7')">
+ ><div class="grid-content grid-content-2" v-throttle @click="render('7')">
<div class="itemTit">目标责任管理系统</div>
<img class="iconImg" src="../../assets/menu/icon2.png" /><img class="bgImg" src="../../assets/menu/card2.png" /></div
></el-col>
<el-col :span="6"
- ><div class="grid-content grid-content-2" v-throttle @click="renderMenu('8')">
+ ><div class="grid-content grid-content-2" v-throttle @click="render('8')">
<div class="itemTit">事故管理系统</div>
<img class="iconImg" src="../../assets/menu/icon6.png" /><img class="bgImg" src="../../assets/menu/card6.png" /></div
></el-col>
<el-col :span="6"
- ><div class="grid-content grid-content-2" v-throttle @click="renderMenu('9')">
+ ><div class="grid-content grid-content-2" v-throttle @click="render('9')">
<div class="itemTit">设备综合管控系统</div>
<img class="iconImg" src="../../assets/menu/icon9.png" /><img class="bgImg" src="../../assets/menu/card9.png" /></div
></el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6"
- ><div class="grid-content grid-content-3" v-throttle @click="renderMenu('10')">
+ ><div class="grid-content grid-content-3" v-throttle @click="render('10')">
<div class="itemTit">安全知识图谱系统</div>
<img class="iconImg" src="../../assets/menu/icon3.png" /><img class="bgImg" src="../../assets/menu/card3.png" /></div
></el-col>
<el-col :span="9"
- ><div class="grid-content grid-content-3" v-throttle @click="renderMenu('11')">
+ ><div class="grid-content grid-content-3" v-throttle @click="render('11')">
<div class="itemTit">危险化学品全生命周期安全<br />管理系统</div>
<img class="iconImg" src="../../assets/menu/icon10.png" /><img class="bgImg" src="../../assets/menu/card10.png" /></div
></el-col>
<el-col :span="9"
- ><div class="grid-content grid-content-3" v-throttle @click="renderMenu('1')">
- <div class="itemTit">基础数据权限管理系统</div>
+ ><div class="grid-content grid-content-3" @click="render('1')">
+ <div class="itemTit">安全基础信息系统</div>
<img class="iconImg" src="../../assets/menu/icon11.png" /><img class="bgImg" src="../../assets/menu/card11.png" /></div
></el-col>
</el-row>
@@ -106,11 +106,15 @@
import { ElMessageBox } from 'element-plus/es';
import { useLoginApi } from '/@/api/login';
import { useI18n } from 'vue-i18n';
+import router from '../../router'
// 定义接口来定义对象的类型
interface LoginState {
tabsActiveName: string;
isScan: boolean;
+ count: number;
+ projectId: string;
+ once: number;
}
export default defineComponent({
@@ -118,7 +122,6 @@
components: {},
setup() {
const { t } = useI18n();
- const route = useRoute();
const router = useRouter();
const userInfo = useUserInfo();
const { userInfos } = storeToRefs(userInfo);
@@ -128,7 +131,10 @@
const { themeConfig } = storeToRefs(storesThemeConfig);
const state = reactive<LoginState>({
tabsActiveName: 'account',
- isScan: false
+ isScan: false,
+ count: 0,
+ projectId: '1',
+ once: 0
});
// 获取布局配置信息
const getThemeConfig = computed(() => {
@@ -175,18 +181,56 @@
})
.catch(() => {});
};
- const renderMenu = async (value: string) => {
- Session.set('projectId', value);
- userInfos.value.projectId = value;
+ //选择菜单
+ const render = (value: string) => {
+ state.projectId = value;
+ renderMenu();
+ };
+
+ // 去风险大屏
+ const toRiskPlatform = ()=>{
+ router.push({
+ name: "bigDataScreen"
+ });
+ }
+ const throttle = (renderMenu: any, delay: number) => {
+ let flag = true;
+ let count = 0;
+ return function () {
+ if (!flag) return;
+ flag = false;
+ if (count === 0) {
+ renderMenu.apply();
+ count++;
+ flag = true;
+ } else {
+ setTimeout(() => {
+ renderMenu.apply();
+ flag = true;
+ }, delay);
+ }
+ };
+ };
+
+ //调用菜单方法
+ const renderMenu = throttle(() => {
+ renderFun();
+ }, 2000);
+
+ //调后台菜单接口
+ const renderFun = async () => {
+ Session.set('projectId', state.projectId);
+ userInfos.value.projectId = state.projectId;
await initBackEndControlRoutes().then(() => {
let linkToMenu = [...routesList.value];
if (linkToMenu && linkToMenu.length > 1) {
router.push(linkToFirstMenu(JSON.parse(JSON.stringify(linkToMenu))[1]));
} else {
- ElMessage({ type: 'warning', message: '你没有该项目的权限' });
+ ElMessage({ type: 'warning', message: '你没有该子系统的权限' });
}
});
};
+
const linkToFirstMenu: any = (value: any) => {
let returnMenu = value;
if (returnMenu.children?.length > 0) {
@@ -201,16 +245,18 @@
// };
// 页面加载时
onMounted(() => {
+ state.once += 1;
NextLoading.done();
// loginBg();
// loginApp()
});
return {
+ render,
logoMini,
onLoginOut,
+ toRiskPlatform,
loginIconTwo,
getThemeConfig,
- renderMenu,
...toRefs(state)
};
}
@@ -222,7 +268,7 @@
width: 100%;
height: 100%;
position: relative;
- background: url('../../assets/menu/bg_home1.jpg') no-repeat center;
+ background: url('../../assets/menu/bg_home.jpg') no-repeat center;
.topPanel {
position: absolute;
width: 100%;
@@ -328,10 +374,10 @@
.grid-content {
border-radius: 10px;
- height: 234px;
+ height: calc((100vh - 240px) / 3);
padding: 32px;
position: relative;
- background-image: linear-gradient(135deg, #00c0f5, #44b1ff);
+ background: #007BE5;
overflow: hidden;
cursor: pointer;
transition: 0.3s;
@@ -346,7 +392,8 @@
line-height: 36px;
height: 40%;
font-family: 'PingFang SC';
- font-weight: lighter;
+ font-weight: bolder;
+ letter-spacing: 1px;
color: #fff;
margin-bottom: 25px;
}
--
Gitblit v1.9.2