Compare commits

..

3 Commits

Author SHA1 Message Date
774f54ede5 mes跳转过来用户不变的问题和不允许操作退出 2026-08-18 14:20:09 +08:00
2a82167c23 改名称 2026-07-31 15:58:00 +08:00
790f158cdb mes跳转的汝阳驾驶仓 2026-07-31 15:05:39 +08:00
13 changed files with 66 additions and 39 deletions

View File

@@ -14,9 +14,10 @@ VUE_APP_TITLE = 洛玻集团驾驶舱
# 小田
# VUE_APP_BASE_API = 'http://172.16.19.232:7070'
# 测试
VUE_APP_BASE_API = 'http://192.168.0.35:8080'
# VUE_APP_BASE_API = 'http://192.168.0.35:8080'
# 闫阳
# VUE_APP_BASE_API = 'http://172.16.19.131:7070'
VUE_APP_BASE_API = 'http://dashboard.kszny.picaiba.com'
# 路由懒加载

View File

@@ -2,7 +2,7 @@
ENV = 'development'
# 页面标题
VUE_APP_TITLE = 洛玻集团驾驶舱
VUE_APP_TITLE = 智能MES系统驾驶舱
# 芋道管理系统/本地环境
VUE_APP_BASE_API = 'http://api-dashboard.yudao.iocoder.cn'

View File

@@ -3,7 +3,7 @@ NODE_ENV = production
ENV = 'production'
# 页面标题
VUE_APP_TITLE = 洛玻集团驾驶舱
VUE_APP_TITLE = 智能MES系统驾驶舱
# 芋道管理系统/生产环境
# VUE_APP_BASE_API = '/prod-api'

View File

@@ -11,20 +11,14 @@
<div class="avatar-wrapper">
<img :src="require(`../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" />
<!-- <i class="el-icon-caret-bottom" /> -->
</div>
<el-dropdown-menu slot="dropdown">
<!-- <router-link to="/user/profile">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link> -->
<!-- <el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item> -->
<!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu> -->
</el-dropdown>
</div>
</div>
@@ -180,7 +174,7 @@ export default {
position: relative;
.user-avatar {
cursor: pointer;
// cursor: pointer;
width: 35px;
height: 35px;
border-radius: 50%;

View File

@@ -1,3 +1,11 @@
<!--
* @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
* @Date: 2024-08-02 16:36:49
* @LastEditors: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
* @LastEditTime: 2026-07-31 15:30:18
* @FilePath: \yudao-dev\src\layout\components\Sidebar\Logo.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
<transition name="sidebarLogoFade">
@@ -35,7 +43,7 @@ export default {
},
data() {
return {
title: '洛玻集团驾驶舱',
title: '智能MES系统驾驶舱',
logo: logoImg
}
}
@@ -79,7 +87,7 @@ export default {
color: #fff;
font-weight: 600;
line-height: 50px;
font-size: 14px;
font-size: 16px;
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
vertical-align: middle;
}

View File

@@ -3,7 +3,7 @@ import store from './store'
import { Message } from 'element-ui'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { getAccessToken, removeToken } from '@/utils/auth'
import { getAccessToken, setToken, removeToken } from '@/utils/auth'
import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
@@ -55,11 +55,26 @@ const whiteList = ['/login', '/social-login', '/auth-redirect', '/bind', '/regi
router.beforeEach((to, from, next) => {
NProgress.start()
// === MES SSO 跳转URL 参数中携带 token自动存储并登录 ===
// 本地 token 与 URL token 不一致(换用户或首次跳转)时,覆盖并强制重新登录
const searchParams = new URLSearchParams(window.location.search)
const urlAccessToken = searchParams.get('accessToken') || searchParams.get('access_token')
const urlRefreshToken = searchParams.get('refreshToken') || searchParams.get('refresh_token')
if (urlAccessToken && urlRefreshToken && urlAccessToken !== getAccessToken()) {
setToken({ accessToken: urlAccessToken, refreshToken: urlRefreshToken })
// 清空已加载的用户状态,否则 roles 已存在时守卫不会重新 GetInfo导致显示旧用户
store.commit('SET_ROLES', [])
store.commit('SET_PERMISSIONS', [])
next({ path: '/', replace: true })
return
}
// ======
if (getAccessToken()) {
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
/* has token*/
if (to.path === '/login') {
next({ path: store.getters.defaultPath || '/' })
const redirectPath = to.query.redirect ? decodeURIComponent(to.query.redirect) : undefined
next({ path: redirectPath || store.getters.defaultPath || '/' })
NProgress.done()
} else {
if (store.getters.roles.length === 0) {
@@ -130,5 +145,14 @@ router.beforeEach((to, from, next) => {
})
router.afterEach(() => {
// 清理 MES SSO 跳转带入的 token 参数,避免暴露在地址栏
var s = window.location.search
if (s && (s.indexOf('access_token') > -1 || s.indexOf('refresh_token') > -1)) {
var p = new URLSearchParams(s)
p.delete('access_token'); p.delete('accessToken')
p.delete('refresh_token'); p.delete('refreshToken')
var ns = p.toString()
history.replaceState(null, '', window.location.pathname + (ns ? '?' + ns : '') + window.location.hash)
}
NProgress.done()
})

View File

@@ -12,14 +12,14 @@
<div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" />
<!-- <i class="el-icon-caret-bottom" /> -->
</div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu> -->
</el-dropdown>
<el-button type="text" class="screen-btn" @click="changeHomeSider">
<svg-icon style="color: #0B58FF;" v-if="openSider" icon-class="closeSider" />
@@ -235,7 +235,7 @@ export default {
.top-title {
height: 55px;
font-family: "YouSheBiaoTiHei", sans-serif;
font-size: 42px;
font-size: 36px;
color: #1E1651;
line-height: 55px;
letter-spacing: 6px;
@@ -389,7 +389,7 @@ export default {
position: relative;
.user-avatar {
cursor: pointer;
// cursor: pointer;
width: 32px;
height: 32px;
border-radius: 50%;

View File

@@ -11,14 +11,14 @@
<div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" />
<!-- <i class="el-icon-caret-bottom" /> -->
</div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu> -->
</el-dropdown>
<!-- <el-button type="text" class="return-btn" :title="'返回'" @click="handleReturn">
<svg-icon style="color: #0B58FF;" icon-class="returnIcon" />
@@ -378,7 +378,7 @@ export default {
position: relative;
.user-avatar {
cursor: pointer;
// cursor: pointer;
width: 32px;
height: 32px;
border-radius: 50%;

View File

@@ -11,14 +11,14 @@
<div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" />
<!-- <i class="el-icon-caret-bottom" /> -->
</div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu> -->
</el-dropdown>
<el-button type="text" class="return-btn" :title="'返回'" v-if="showReturnBtn" @click="handleReturn">
<svg-icon style="color: #0B58FF;" icon-class="returnIcon" />
@@ -408,7 +408,7 @@ export default {
position: relative;
.user-avatar {
cursor: pointer;
// cursor: pointer;
width: 32px;
height: 32px;
border-radius: 50%;

View File

@@ -1,7 +1,7 @@
<template>
<div id="dayReport" class="dayReport" :style="styles">
<sidebar style="opacity: .9;" v-if="!sidebar.hide && openSider" class="sidebar-container" />
<ReportHeader top-title="洛玻集团运营驾驶舱" :dateData="dateData" :openSider="openSider" :is-full-screen="isFullScreen" @screenfullChange="screenfullChange"
<ReportHeader top-title="智能MES系统运营驾驶舱" :dateData="dateData" :openSider="openSider" :is-full-screen="isFullScreen" @screenfullChange="screenfullChange"
@siderOpenChange="siderOpenChange" @timeRangeChange="handleTimeChange" />
<div class="main-body"
style="margin-top: -20px; flex: 1; display: flex;padding: 0px 16px 0;flex-direction: column;">

View File

@@ -11,14 +11,14 @@
<div class="avatar-wrapper">
<img :src="require(`../../../assets/images/choicepart/avatar.png`)" class="user-avatar">
<span v-if="nickname" class="user-nickname">{{ nickname }}</span>
<i class="el-icon-caret-bottom" />
<!-- <i class="el-icon-caret-bottom" /> -->
</div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native='handleToggle'>切换账号</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu> -->
</el-dropdown>
<el-button type="text" class="return-btn" :title="'返回'" v-if="showReturnBtn" @click="handleReturn">
<svg-icon style="color: #0B58FF;" icon-class="returnIcon" />
@@ -476,7 +476,7 @@ export default {
position: relative;
.user-avatar {
cursor: pointer;
// cursor: pointer;
width: 32px;
height: 32px;
border-radius: 50%;

View File

@@ -39,7 +39,7 @@
border-radius: 100%;
background: #26b9de;
"></span>
洛玻集团
智能MES系统
</p>
</div>
<video src="/static/videos/login.webm" muted autoplay loop style="
@@ -54,12 +54,12 @@
<div class="field">
<!-- [移动端]标题 -->
<h2 class="mobile-title">
<h3 class="title">洛玻集团</h3>
<h3 class="title">智能MES系统</h3>
</h2>
<h2 class="pc-title" style="">
<h3 class="title" style="">
<img src="../assets/logo/cnbm.png" alt="cnbm_logo" style="" class="cnbm_logo" />
<span>洛玻集团</span>
<span>智能MES系统</span>
</h3>
<h3 class="sub-title" style=""></h3>
</h2>

View File

@@ -9,7 +9,7 @@ function resolve(dir) {
const CompressionPlugin = require("compression-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const name = process.env.VUE_APP_TITLE || "洛玻集团驾驶舱"; // 网页标题
const name = process.env.VUE_APP_TITLE || "智能MES系统驾驶舱"; // 网页标题
const port = process.env.port || process.env.npm_config_port || 80; // 端口