From 1d30d450bb41e1117e9be4d6a6c7c3ca4b007601 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期二, 28 六月 2022 09:12:16 +0800 Subject: [PATCH] 'lct' --- src/views/home/index.vue | 40 +++++++++++-------- src/stores/interface/index.ts | 1 src/views/login/component/account.vue | 2 src/router/index.ts | 1 src/stores/routesList.ts | 1 src/views/system/menu/component/menuDialog.vue | 30 +++++++++++++- 6 files changed, 53 insertions(+), 22 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index 6776c5a..c789ab0 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -87,7 +87,6 @@ const storesRoutesList = useRoutesList(pinia); const { routesList } = storeToRefs(storesRoutesList); if (routesList.value.length === 0) { - debugger // 后端控制路由:路由数据初始化,防止刷新时丢失 await initBackEndControlRoutes(); // 动态添加路由:防止非首页刷新时跳转回首页的问题 diff --git a/src/stores/interface/index.ts b/src/stores/interface/index.ts index 2690f4b..994b9a5 100644 --- a/src/stores/interface/index.ts +++ b/src/stores/interface/index.ts @@ -38,6 +38,7 @@ routesList: string[]; isColumnsMenuHover: Boolean; isColumnsNavHover: Boolean; + projectId:string, } // 布局配置 diff --git a/src/stores/routesList.ts b/src/stores/routesList.ts index 7dd2b28..5b23b15 100644 --- a/src/stores/routesList.ts +++ b/src/stores/routesList.ts @@ -12,6 +12,7 @@ routesList: [], isColumnsMenuHover: false, isColumnsNavHover: false, + projectId:'', }), actions: { async setRoutesList(data: Array<string>) { diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 2923664..45dd9ce 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -5,37 +5,44 @@ :xs="24" :sm="12" :md="12" - :lg="6" - :xl="6" + :lg="4" + :xl="4" v-for="(v, k) in homeOne" :key="k" :class="{ 'home-media home-media-lg': k > 1, 'home-media-sm': k === 1 }" > <div class="home-card-item flex" > - <el-button @click="renderMenu">{{v.name}}</el-button> + <el-button @click="renderMenu(v.id)">{{v.name}}</el-button> </div> </el-col> </el-row> <el-row :gutter="15" class="home-card-two mb15"> <el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16"> <div class="home-card-item"> - <div style="height: 100%"></div> + <div style="height: 100%"> + <el-button @click="renderMenu('6')">{{'应急管理系统'}}</el-button> + </div> </div> </el-col> <el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8" class="home-media"> <div class="home-card-item"> - <div style="height: 100%"></div> + <div style="height: 100%"> + <el-button @click="renderMenu('7')">{{'目标责任管理系统'}}</el-button> + </div> </div> </el-col> </el-row> <el-row :gutter="15" class="home-card-three"> <el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8"> <div class="home-card-item"> + <el-button @click="renderMenu('8')">{{'事故管理系统'}}</el-button> </div> </el-col> <el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16" class="home-media"> <div class="home-card-item"> - <div style="height: 100%"></div> + <div style="height: 100%"> + <el-button @click="renderMenu('9')">{{'设备综合管控系统'}}</el-button> + </div> </div> </el-col> </el-row> @@ -50,6 +57,8 @@ import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes'; import { initBackEndControlRoutes } from '/@/router/backEnd'; import {Session} from "/@/utils/storage"; +import {useRoutesList} from "/@/stores/routesList"; +import pinia from "/@/stores"; let global: any = { homeChartOne: null, @@ -69,21 +78,18 @@ export default defineComponent({ name: 'home', setup() { - const homeLineRef = ref(); - const homePieRef = ref(); - const homeBarRef = ref(); - const storesTagsViewRoutes = useTagsViewRoutes(); - const storesThemeConfig = useThemeConfig(); - const { themeConfig } = storeToRefs(storesThemeConfig); - const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes); + const storesRoutesList = useRoutesList(pinia); + const { routesList } = storeToRefs(storesRoutesList); + // const storesTagsViewRoutes = useTagsViewRoutes(); + // const storesThemeConfig = useThemeConfig(); const state = reactive<stateType>({ projectId:'', - homeOne:[{id:1,name:'系统1'},{id:2,name:'系统2'},{id:3,name:'系统4'},{id:4,name:'系统4'}], + homeOne:[{id:1,name:'基础数据权限管理系统'},{id:2,name:'系统1'},{id:3,name:'系统2'},{id:4,name:'系统3'},{id:5,name:'系统4'}], }); // 折线图 - const renderMenu = async() => { - state.projectId = '1' - Session.set('projectId','1') + const renderMenu = async (value: string) => { + state.projectId = value + Session.set('projectId',value) await initBackEndControlRoutes(); }; return { diff --git a/src/views/login/component/account.vue b/src/views/login/component/account.vue index 20f58ed..29b40dd 100644 --- a/src/views/login/component/account.vue +++ b/src/views/login/component/account.vue @@ -105,7 +105,7 @@ Session.set('projectId','') Session.set('token', res.data.data.accessToken); Session.set('sign',res.data.data.id) - // await initBackEndControlRoutes(); + await initFrontEndControlRoutes(); signInSuccess(); }else{ state.loading.signIn = false diff --git a/src/views/system/menu/component/menuDialog.vue b/src/views/system/menu/component/menuDialog.vue index ab33832..61dfd84 100644 --- a/src/views/system/menu/component/menuDialog.vue +++ b/src/views/system/menu/component/menuDialog.vue @@ -55,6 +55,19 @@ </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="项目名"> + <el-select v-model="ruleForm.projectId" controls-position="right" placeholder="请输入排序" class="w100"> + <el-option + v-for="item in projectList" + :key="item.key" + :value="item.id" + :label="item.name" + > + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="菜单排序"> <el-input-number v-model="ruleForm.priority" controls-position="right" placeholder="请输入排序" class="w100"/> </el-form-item> @@ -124,6 +137,17 @@ btnPower: '', // 菜单类型为按钮时,权限标识 }, menuData: [], // 上级菜单数据 + projectList:[ + {id:'1',name:'基础数据权限管理系统',key:0}, + {id:'2',name:'系统1',key:1}, + {id:'3',name:'系统2',key:2}, + {id:'4',name:'系统3',key:3}, + {id:'5',name:'系统4',key:4}, + {id:'6',name:'应急管理系统',key:5}, + {id:'7',name:'目标责任管理系统',key:6}, + {id:'8',name:'事故管理系统',key:7}, + {id:'9',name:'设备综合管控系统',key:8}, + ], }); // 获取 vuex 中的路由 const getMenuList = (routes: any) => { @@ -139,11 +163,11 @@ // 打开弹窗 const openDialog = (type:string,value:any) => { state.isShowDialog = true; - if(type === '新增'){ + if(type === '新增菜单'){ state.buttonName = '新增' state.title = '新增菜单' state.ruleForm = { - projectId:Session.get('projectId'), + projectId:'', parentId:0, menuSuperior: [], menuType: 'menu', @@ -189,7 +213,7 @@ let menuId = JSON.parse(JSON.stringify(state.ruleForm.menuSuperior)) state.ruleForm.parentId = menuId[menuId.length - 1] } - if(state.title === '新增'){ + if(state.title === '新增菜单'){ let res = await useMenuApi().addMenu(state.ruleForm) if(res.data.code === '200'){ ElMessage({ -- Gitblit v1.9.2