| | |
| | | const storesRoutesList = useRoutesList(pinia); |
| | | const { routesList } = storeToRefs(storesRoutesList); |
| | | if (routesList.value.length === 0) { |
| | | debugger |
| | | // 后端控制路由:路由数据初始化,防止刷新时丢失 |
| | | await initBackEndControlRoutes(); |
| | | // 动态添加路由:防止非首页刷新时跳转回首页的问题 |
| | |
| | | routesList: string[]; |
| | | isColumnsMenuHover: Boolean; |
| | | isColumnsNavHover: Boolean; |
| | | projectId:string, |
| | | } |
| | | |
| | | // 布局配置 |
| | |
| | | routesList: [], |
| | | isColumnsMenuHover: false, |
| | | isColumnsNavHover: false, |
| | | projectId:'', |
| | | }), |
| | | actions: { |
| | | async setRoutesList(data: Array<string>) { |
| | |
| | | :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> |
| | |
| | | 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, |
| | |
| | | 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 { |
| | |
| | | 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 |
| | |
| | | </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> |
| | |
| | | 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) => { |
| | |
| | | // 打开弹窗 |
| | | 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', |
| | |
| | | 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({ |