From e14264130d54c85706e063ddf6b090b5c2dd4edc Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 30 一月 2026 09:48:06 +0800
Subject: [PATCH] 最新版本541200007
---
admin/src/components/common/CommonHeader.vue | 286 +++++++++++++++------------------------------------------
1 files changed, 76 insertions(+), 210 deletions(-)
diff --git a/admin/src/components/common/CommonHeader.vue b/admin/src/components/common/CommonHeader.vue
index 8773c62..2e95744 100644
--- a/admin/src/components/common/CommonHeader.vue
+++ b/admin/src/components/common/CommonHeader.vue
@@ -2,56 +2,35 @@
<div class="common-header">
<div class="header">
<div class="logo">
- <div class="title"> <img src="@/assets/system.png" alt="" />{{sysConfig.subtitle || title }}</div>
+ <div class="title">{{ title }}</div>
<div class="list">
- <div :class="index==currentIndex?'item active':'item'" v-for="(item,index) in topMenuList.list" :key="item.id" @click="getHeaderNav(item,index)" :index="index">{{item.label}}
- <div v-if="index==currentIndex" class="linellae"></div>
- </div>
+ <div class="item active">
+ <div>鏈嶅姟涓績</div>
+ <div class="linellae"></div>
+ </div>
+ <div class="item" v-for="(item,index) in topMenuList.list" :key="item.id" @click="getHeaderNav(item)" :index="index">{{item.label}}</div>
+<!-- <div class="item" @click="getHeaderNav('0')">瀹夐槻涓績</div>
+ <div class="item" @click="getHeaderNav('1')">娑堟帶涓績</div>
+ <div class="item" @click="getHeaderNav('2')">鑳界涓績</div>
+ <div class="item" @click="getHeaderNav('7')">鍚庡嫟涓績</div>
+ <div class="item" @click="getHeaderNav('3')">椹鹃┒鑸�</div>-->
+ <!-- <div class="item" @click="handleTest">娴嬭瘯</div> -->
</div>
+ <!-- <div class="title-en">Diagnosis of Intelligent Manufacturing Integrated Service Platfrom</div> -->
</div>
<div class="user">
- <div class="user-search">
- <div class="user-search-left">
- <span>鍏ㄩ儴</span>
- <img src="@/assets/icons/xl.png" alt="">
- </div>
- <div class="user-search-right">
- <input type="text" placeholder="璇疯緭鍏�" />
- <img src="@/assets/icons/sousuo.png" alt="">
- </div>
- </div>
- <div class="user-images">
-<!-- <img src="@/assets/icons/ic_1.jpg" alt="">-->
-<!-- <img src="@/assets/icons/ic_2.png" alt="">-->
- <img src="@/assets/icons/ic_3.jpg" alt="">
- <img src="@/assets/icons/ic_4.jpg" alt="">
- <img src="@/assets/icons/ic_5.jpg" alt="">
-<!-- <img src="@/assets/icons/ic_6.jpg" alt="">-->
- <img src="@/assets/icons/ic_7.jpg" alt="">
-<!-- <img src="@/assets/icons/ic_8.jpg" alt="">-->
- </div>
- <el-dropdown v-if="isLogined" trigger="click">
- <span class="el-dropdown-link" style="cursor: pointer; color: rgba(255,255,255,.56);">
- {{ userInfo | displayName }}
- <i class="el-icon-arrow-down el-icon--right"></i>
- </span>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>
- <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
-<!-- <el-dropdown v-if="isLogined" trigger="click">-->
-<!-- <span class="el-dropdown-link">-->
-<!-- <!– <img v-if="userInfo != null" :src="userInfo.avatar == null ? `${require('@/assets/avatar/man.png')}` : userInfo.avatar" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i> –>-->
-<!-- <img v-if="userInfo != null" style="width: 30px !important" src="@/assets/avatar/man.png" alt="" />{{-->
-<!-- userInfo | displayName-->
-<!-- }}<i class="el-icon-arrow-down el-icon--right"></i>-->
-<!-- </span>-->
-<!-- <el-dropdown-menu slot="dropdown">-->
-<!-- <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>-->
-<!-- <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </el-dropdown>-->
+ <el-dropdown v-if="isLogined" trigger="click">
+ <span class="el-dropdown-link">
+ <!-- <img v-if="userInfo != null" :src="userInfo.avatar == null ? `${require('@/assets/avatar/man.png')}` : userInfo.avatar" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i> -->
+ <img v-if="userInfo != null" style="width: 30px !important" src="@/assets/avatar/man.png" alt="" />{{
+ userInfo | displayName
+ }}<i class="el-icon-arrow-down el-icon--right"></i>
+ </span>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>
+ <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
</div>
</div>
<!-- 淇敼瀵嗙爜 -->
@@ -65,7 +44,7 @@
show-password></el-input>
</el-form-item>
<el-form-item label="鏂板瘑鐮�" prop="newPwd" required>
- <el-input v-model="changePwdData.form.newPwd" type="password" placeholder="璇疯緭鍏ユ柊瀵嗙爜锛岃嚦灏戝寘鎷暟瀛椼�佸ぇ鍐欏瓧姣嶃�佸皬鍐欏瓧姣嶃�佺壒娈婂瓧绗︿腑鐨勪笁绉嶅瓧绗︼紝涓旇嚦灏�8浣嶆暟"
+ <el-input v-model="changePwdData.form.newPwd" type="password" placeholder="璇疯緭鍏ユ柊瀵嗙爜锛屽瘑鐮侀渶鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃涓殑鑷冲皯涓ょ"
maxlength="20" show-password></el-input>
</el-form-item>
<!-- <div style="font-size: 12px;color:#999999">瀵嗙爜闇�鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃涓殑鑷冲皯涓ょ</div> -->
@@ -81,7 +60,7 @@
<script>
import { mapState, mapMutations } from 'vuex'
import GlobalAlertWindow from './GlobalAlertWindow'
-import { getSystemConfig, logout, updatePwd } from '@/api/system/common'
+import { logout, updatePwd } from '@/api/system/common'
import { getAppHeaderNav } from '@/api'
export default {
name: 'CommonHeader',
@@ -128,13 +107,13 @@
}
},
computed: {
- ...mapState(['menuData', 'userInfo', 'topMenuList', 'currentIndex', 'sysConfig'])
+ ...mapState(['menuData', 'userInfo', 'topMenuList'])
// title () {
// return this.$route.meta.title
// }
},
created () {
- this.getSystemConfig()
+
},
mounted () {
// needChangePwd 0 : 榛樿瀵嗙爜闇�瑕佷慨鏀癸紝1 涓嶉渶瑕�
@@ -155,7 +134,7 @@
}
},
methods: {
- ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo', 'setTopMenuCurrent', 'setCurrentIndex', 'setSysconfig']),
+ ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo']),
// 淇敼瀵嗙爜
changePwd () {
this.visible.changePwd = true
@@ -163,68 +142,36 @@
this.$refs.changePwdDataForm.resetFields()
})
},
- getSystemConfig () {
- if (!this.sysConfig.subTitle) {
- getSystemConfig()
- .then((res) => {
- if (res && res.subtitle) {
- this.setSysconfig(res)
- }
- })
- }
- },
validatePassword (rule, value, callback) {
if (!value) {
callback(new Error('璇疯緭鍏ュ瘑鐮�'))
} else {
- // const lengthValid = /^.{6,20}$/.test(value)
- // const hasLetter = /[a-zA-Z]/.test(value)
- // const hasNumber = /[0-9]/.test(value)
- // const hasSpecial = /[!@#$%^&*(),.?":{}|<>]/.test(value)
- //
- // const typesCount = [hasLetter, hasNumber, hasSpecial].filter(Boolean).length
- //
- // if (!lengthValid) {
- // callback(new Error('瀵嗙爜闀垮害闇�涓�6鍒�20涓瓧绗�'))
- // } else if (typesCount < 2) {
- // callback(new Error('瀵嗙爜闇�鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃涓殑鑷冲皯涓ょ'))
- // } else {
- // callback() // 楠岃瘉閫氳繃
- // }
- let typeCount = 0
- if (/[a-z]/.test(value)) typeCount++ // 灏忓啓瀛楁瘝
- if (/[A-Z]/.test(value)) typeCount++ // 澶у啓瀛楁瘝
- if (/\d/.test(value)) typeCount++ // 鏁板瓧
- if (/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(value)) typeCount++ // 鐗规畩瀛楃
- if (typeCount >= 3) {
- callback()
+ const lengthValid = /^.{6,20}$/.test(value)
+ const hasLetter = /[a-zA-Z]/.test(value)
+ const hasNumber = /[0-9]/.test(value)
+ const hasSpecial = /[!@#$%^&*(),.?":{}|<>]/.test(value)
+
+ const typesCount = [hasLetter, hasNumber, hasSpecial].filter(Boolean).length
+
+ if (!lengthValid) {
+ callback(new Error('瀵嗙爜闀垮害闇�涓�6鍒�20涓瓧绗�'))
+ } else if (typesCount < 2) {
+ callback(new Error('瀵嗙爜闇�鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃涓殑鑷冲皯涓ょ'))
} else {
- callback(new Error('鑷冲皯鍖呮嫭鏁板瓧銆佸ぇ鍐欏瓧姣嶃�佸皬鍐欏瓧姣嶃�佺壒娈婂瓧绗︿腑鐨勪笁绉嶅瓧绗︼紝涓旇嚦灏�8浣嶆暟'))
+ callback() // 楠岃瘉閫氳繃
}
}
},
- getHeaderNav (item, index) {
- this.setCurrentIndex(index)
- if (item.linkType === 0) {
- this.setTopMenuCurrent(item)
- } else {
- if (item.url && item.url === 'goHKAF' && item.params != null) {
- this.getHKAFHeaderNav(item.params, item.label)
- } else if (item.url && item.url.indexOf('http') === 0) {
- window.open(item.url, '_blank')
- }
+ getHeaderNav (item) {
+ if (item.url && item.url === 'goHKAF' && item.params != null) {
+ this.getHKAFHeaderNav(item.params)
+ } else if (item.url && item.url.indexOf('http') === 0) {
+ window.open(item.url, '_blank')
}
},
- getHKAFHeaderNav (type, label) {
+ getHKAFHeaderNav (type) {
getAppHeaderNav(type).then(res => {
- if (label === '瀹夐槻涓績') {
- const openWindow = window.open(res, '_blank')
- // setTimeout(() => {
- // openWindow.close()
- // }, 7 * 1000)
- } else {
- window.open(res, '_blank')
- }
+ window.open(res, '_blank')
})
},
handleTest () {
@@ -310,9 +257,8 @@
newPwd: this.changePwdData.form.newPwd
})
.then(() => {
- console.log('淇敼鎴愬姛')
this.$tip.apiSuccess('淇敼鎴愬姛')
- // this.$store.commit('setUserInfo', { needChangePwd: 1 })
+ this.$store.commit('setUserInfo', { needChangePwd: 1 })
this.visible.changePwd = false
})
.catch(e => {
@@ -344,37 +290,36 @@
@import "@/assets/style/variables.scss";
.common-header {
- background-color: #1E7FFF;
+ background-color: #2080f7;
}
.list {
flex: 1;
+ display: flex;
+ align-items: center;
margin-left: 60px;
- margin-top: 10px;
+
+ .item {
+ margin-right: 40px;
+ font-size: 16px;
+ font-weight: 400;
display: flex;
+ flex-direction: column;
align-items: center;
- .item {
- margin-right: 24px;
- font-size: 16px;
- font-weight: 400;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: flex-start;
- height: 49px;
- cursor: pointer;
+ justify-content: flex-start;
+ height: 40px;
+ cursor: pointer;
- .linellae {
- width: 64px;
- height: 2px;
- background: #FFFFFF;
- }
+ .linellae {
+ width: 64px;
+ height: 2px;
+ background: #FFFFFF;
}
+ }
- .active {
- font-weight: 500;
- }
-
+ .active {
+ font-weight: 500;
+ }
}
.header {
@@ -389,7 +334,7 @@
box-sizing: border-box;
min-width: 360px;
height: 56px;
- padding: 10px 12px;
+ padding: 10px 30px;
// flex-shrink: 0;
line-height: 36px;
font-size: 22px;
@@ -399,18 +344,7 @@
align-items: center;
.title {
- display: flex;
- color: rgb(255, 255, 255);
- font-size: 18px;
- font-weight: 700;
- font-family: "Microsoft Yahei", "sans-serif", "segoe UI", "PingFang SC", arial, Helvetica;
- //font-size: 18px;
- //width: 320px;
- img{
- width:auto ;
- height: 32px;
- margin-right: 5px;
- }
+ width: 240px;
}
// display: inline;
@@ -422,83 +356,15 @@
}
.user {
- /*width: 152px;*/
+ width: 212px;
box-sizing: border-box;
height: 56px;
padding-right: 25px;
- /*background: url("../../assets/images/top_ic_bolang@2x.png") no-repeat;*/
+ background: url("../../assets/images/top_ic_bolang@2x.png") no-repeat;
flex-shrink: 0;
text-align: right;
- display: flex;
- align-items: center;
- .user-search {
- width: 346px;
- height: 32px;
- border-radius: 30px;
- border: 1px solid rgba(255,255,255,.56);
- margin-right: 15px;
- display: flex;
- align-items: center;
- .user-search-left {
- flex-shrink: 0;
- width: 106px;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- span {
- font-size: 14px;
- font-weight: 400;
- color: rgba(255,255,255,.56);
- margin-right: 10px;
- }
- img {
- top: 0;
- margin: 0;
- width: 20px;
- height: 16px;
- }
- }
- .user-search-right {
- flex: 1;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- padding-right: 10px;
- box-sizing: border-box;
- input {
- flex: 1;
- height: 100%;
- font-size: 14px;
- font-weight: 400;
- color: rgba(255,255,255,.56);
- border: none;
- outline: none;
- background-color: rgba(0,0,0,0);
- &::placeholder {
- color: rgba(255,255,255,.56);
- }
- }
- img {
- top: 0;
- margin: 0;
- width: 20px;
- height: 20px;
- }
- }
- }
- .user-images {
- height: 100%;
- display: flex;
- align-items: center;
- img {
- top: 0 !important;
- width: 18px;
- height: 18px;
- margin-right: 12px;
- }
- }
+ cursor: pointer;
+
.el-dropdown {
top: 2px;
color: #fff;
--
Gitblit v1.9.3