From 7bc9c5f7432a9533a0b552c40fb63fc07de5b5fe Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 29 九月 2025 09:56:24 +0800
Subject: [PATCH] 优化
---
admin/src/components/common/CommonHeader.vue | 201 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 136 insertions(+), 65 deletions(-)
diff --git a/admin/src/components/common/CommonHeader.vue b/admin/src/components/common/CommonHeader.vue
index da0ed18..2857921 100644
--- a/admin/src/components/common/CommonHeader.vue
+++ b/admin/src/components/common/CommonHeader.vue
@@ -4,16 +4,10 @@
<div class="logo">
<div class="title">{{ title }}</div>
<div class="list">
- <div class="item active">
- <div>鏈嶅姟涓績</div>
- <div class="linellae"></div>
- </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('3')">椹鹃┒鑸�</div>
+ <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>
- <!-- <div class="title-en">Diagnosis of Intelligent Manufacturing Integrated Service Platfrom</div> -->
</div>
<div class="user">
<el-dropdown v-if="isLogined" trigger="click">
@@ -31,26 +25,26 @@
</div>
</div>
<!-- 淇敼瀵嗙爜 -->
- <GlobalAlertWindow title="淇敼瀵嗙爜" :visible.sync="visible.changePwd"
- :showClose="userInfo && (!userInfo.needChangePwd || userInfo.needChangePwd == '0')"
- :showCancel="userInfo && (!userInfo.needChangePwd || userInfo.needChangePwd == '0')" @confirm="confirmChangePwd"
- @close="visible.changePwd = false">
- <el-form :model="changePwdData.form" ref="changePwdDataForm" :rules="changePwdData.rules">
- <el-form-item label="鍘熷瀵嗙爜" prop="oldPwd" required>
- <el-input v-model="changePwdData.form.oldPwd" type="password" placeholder="璇疯緭鍏ュ師濮嬪瘑鐮�" maxlength="30"
- show-password></el-input>
- </el-form-item>
- <el-form-item label="鏂板瘑鐮�" prop="newPwd" required>
- <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> -->
- <el-form-item label="纭鏂板瘑鐮�" prop="confirmPwd" required>
- <el-input v-model="changePwdData.form.confirmPwd" type="password" placeholder="璇峰啀娆¤緭鍏ユ柊瀵嗙爜" maxlength="20"
- show-password></el-input>
- </el-form-item>
- </el-form>
- </GlobalAlertWindow>
+ <GlobalAlertWindow title="淇敼瀵嗙爜" :visible.sync="visible.changePwd"
+ :showClose="userInfo && (!userInfo.needChangePwd || userInfo.needChangePwd == '0')"
+ :showCancel="userInfo && (!userInfo.needChangePwd || userInfo.needChangePwd == '0')" @confirm="confirmChangePwd"
+ @close="visible.changePwd = false">
+ <el-form :model="changePwdData.form" ref="changePwdDataForm" :rules="changePwdData.rules">
+ <el-form-item label="鍘熷瀵嗙爜" prop="oldPwd" required>
+ <el-input v-model="changePwdData.form.oldPwd" type="password" placeholder="璇疯緭鍏ュ師濮嬪瘑鐮�" maxlength="30"
+ show-password></el-input>
+ </el-form-item>
+ <el-form-item label="鏂板瘑鐮�" prop="newPwd" required>
+ <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> -->
+ <el-form-item label="纭鏂板瘑鐮�" prop="confirmPwd" required>
+ <el-input v-model="changePwdData.form.confirmPwd" type="password" placeholder="璇峰啀娆¤緭鍏ユ柊瀵嗙爜" maxlength="20"
+ show-password></el-input>
+ </el-form-item>
+ </el-form>
+ </GlobalAlertWindow>
</div>
</template>
@@ -68,10 +62,11 @@
default: true
}
},
- data() {
+ data () {
return {
title: process.env.VUE_APP_TITLE,
headerNavData: {},
+ currentIndex: 0,
visible: {
// 淇敼瀵嗙爜
changePwd: false
@@ -94,7 +89,7 @@
],
newPwd: [
{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
- { validator: this.validatePassword, trigger: 'blur' },
+ { validator: this.validatePassword, trigger: 'blur' }
],
confirmPwd: [
{ required: true, message: '璇峰啀娆¤緭鍏ユ柊瀵嗙爜' }
@@ -104,23 +99,23 @@
}
},
computed: {
- ...mapState(['menuData', 'userInfo']),
+ ...mapState(['menuData', 'userInfo', 'topMenuList'])
// title () {
// return this.$route.meta.title
// }
},
- created() {
+ created () {
},
- mounted() {
+ mounted () {
// needChangePwd 0 : 榛樿瀵嗙爜闇�瑕佷慨鏀癸紝1 涓嶉渶瑕�
- if (userInfo &&(!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) {
+ if (this.userInfo && (!this.userInfo.needChangePwd || this.userInfo.needChangePwd == '0')) {
this.visible.changePwd = true
}
},
filters: {
// 灞曠ず鍚嶇О
- displayName(userInfo) {
+ displayName (userInfo) {
if (userInfo == null) {
return ''
}
@@ -131,15 +126,15 @@
}
},
methods: {
- ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo']),
+ ...mapMutations(['setUserInfo', 'switchCollapseMenu', 'clearUserInfo', 'setTopMenuCurrent']),
// 淇敼瀵嗙爜
- changePwd() {
+ changePwd () {
this.visible.changePwd = true
this.$nextTick(() => {
this.$refs.changePwdDataForm.resetFields()
})
},
- validatePassword(rule, value, callback) {
+ validatePassword (rule, value, callback) {
if (!value) {
callback(new Error('璇疯緭鍏ュ瘑鐮�'))
} else {
@@ -159,13 +154,87 @@
}
}
},
- getHeaderNav(type) {
+ getHeaderNav (item,index) {
+ this.currentIndex = index
+ if(item.linkType === 0){
+ this.setTopMenuCurrent(item)
+ }else{
+ 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) {
getAppHeaderNav(type).then(res => {
- window.open(res, "_blank")
+ window.open(res, '_blank')
})
},
+ handleTest () {
+ const myWindow = window.open('https://10.50.250.253/portal/ui/index?componentId=dfe&componentMenuId=process_apply')
+ setTimeout(() => {
+ const params = {
+ componentId: 'dfe',
+ componentMenuId: 'process_apply',
+ callback: {
+ method: 'dealTlncMsg',
+ argument: {
+ msgId: '98c256b9-aaff-11ef-8347-fa163ee2c57c',
+ moduleId: 'dfeFlowTodoModuleId',
+ msgTitle: '璇峰強鏃跺鐞�13856591439鍙戣捣鐨勮鍋囩敵璇�',
+ msgStatus: '0',
+ msgCreateTime: '浠婂ぉ 15:33',
+ msgCreateTimeIso: '2024-11-25T15:33:42.000+08:00',
+ serverTime: 1732531014591,
+ menuCode: 'process_apply',
+ msgStatusStr: '寰呭鐞�',
+ comId: 'dfe',
+ userId: '13856591439',
+ extendNoShow: '{"processInstanceId":"98a57fe0-aaff-11ef-8347-fa163ee2c57c","processId":"process_dabcfdd39f1b6f46d36a9f4ff6ce1080","param":{"sourceType":"todo","modelCode":"tb_leave_dfe_for_dfe_runtime","processNodeId":"UserTask_dde7d83377343a2d5fa1f60c23b023ef","taskId":"98c256b9-aaff-11ef-8347-fa163ee2c57c"},"process.param.appId":"32ca8770-6f85-11ec-b5a3-991864da52a6","appId":"32ca8770-6f85-11ec-b5a3-991864da52a6","name":"璇峰亣鐢宠","taskId":"98c256b9-aaff-11ef-8347-fa163ee2c57c","taskNodeId":"UserTask_dde7d83377343a2d5fa1f60c23b023ef","url":"/dfe-form/process/tlnc/apply"}',
+ targetComId: 'dfe',
+ moduleName: '娴佺▼寰呭姙',
+ tid: '99cad778-aaff-11ef-9dbf-ff08ba71965c',
+ msgEndTime: null,
+ msgEndTimeIso: '',
+ picUrl: '',
+ extendJson: '{"key1":"璇峰強鏃跺鐞嗛檲楦块鍙戣捣鐨勮鍋囩敵璇�"}',
+ extendParam: null,
+ extendCascade: null,
+ createUser: '13856591439',
+ webCascadeUrl: null,
+ h5CascadeUrl: null,
+ cascadeTodoOpenType: null,
+ cascadeSourceConfigId: null,
+ h5Url: '/h5/pages/form-page/form-page?returnPath=-1&appId=32ca8770-6f85-11ec-b5a3-991864da52a6&taskId=98c256b9-aaff-11ef-8347-fa163ee2c57c&processNodeId=UserTask_dde7d83377343a2d5fa1f60c23b023ef&modelCode=tb_leave_dfe_for_dfe_runtime&type=flowHandle&component=form-apply&_sn=true',
+ segmentId: 'dfe-form',
+ lastUsers: '闄堥缚椋�',
+ currentUsers: '闄堥缚椋�',
+ todoTypeCode: 'dfe@@tlnc_placeholder_tlnc@@dfeFlowTodoModuleId',
+ currentUserIds: '13856591439',
+ lastUserIds: '13856591439',
+ msgDesc: null,
+ widgetUrl: null,
+ detailType: null,
+ widgetWidth: null,
+ widgetHeight: null,
+ userIdList: null,
+ statusName: null,
+ arriveTime: null,
+ stayTime: null,
+ todoType: null,
+ cascadePort: null,
+ openMode: null
+ }
+ },
+ msgType: 'tlnc'
+ }
+ const argus = JSON.stringify(params)
+ myWindow.postMessage('{"method":"goToApp","argument":' + argus + '}', '*')
+ }, 8000)
+ },
// 纭畾淇敼瀵嗙爜
- confirmChangePwd() {
+ confirmChangePwd () {
if (this.isWorking.changePwd) {
return
}
@@ -186,7 +255,7 @@
})
.then(() => {
this.$tip.apiSuccess('淇敼鎴愬姛')
- this.$store.commit('setUserInfo', {needChangePwd: 1})
+ this.$store.commit('setUserInfo', { needChangePwd: 1 })
this.visible.changePwd = false
})
.catch(e => {
@@ -198,7 +267,7 @@
})
},
// 閫�鍑虹櫥褰�
- logout() {
+ logout () {
logout()
.then(() => {
this.clearUserInfo()
@@ -223,31 +292,32 @@
.list {
flex: 1;
- display: flex;
- align-items: center;
margin-left: 60px;
-
- .item {
- margin-right: 40px;
- font-size: 16px;
- font-weight: 400;
+ margin-top: 10px;
display: flex;
- flex-direction: column;
align-items: center;
- justify-content: flex-start;
- height: 40px;
- cursor: pointer;
+ .item {
+ margin-right: 40px;
+ font-size: 16px;
+ font-weight: 400;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ 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 {
@@ -272,7 +342,8 @@
align-items: center;
.title {
- width: 240px;
+ font-size: 18px;
+ width: 320px;
}
// display: inline;
@@ -284,7 +355,7 @@
}
.user {
- width: 212px;
+ width: 152px;
box-sizing: border-box;
height: 56px;
padding-right: 25px;
--
Gitblit v1.9.3