From 16ac09ee67d196fef8f4bff6189e7f7ff1011b4b Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期日, 24 三月 2024 23:12:35 +0800
Subject: [PATCH] 1

---
 src/utils/request.js                        |    1 
 src/style/app.scss                          |   31 +++++--
 src/style/fix.scss                          |    4 
 src/views/home/widgets/index.vue            |    2 
 src/layout/components/topbar.vue            |    5 
 src/layout/index.vue                        |   25 ++++-
 src/style/dark.scss                         |    2 
 src/utils/tool.js                           |   11 ++
 src/views/login/components/passwordForm.vue |   92 ++++++++--------------
 src/layout/components/userbar.vue           |   15 ++-
 public/img/initiallong.b9495273.png         |    0 
 src/layout/components/tags.vue              |    3 
 12 files changed, 102 insertions(+), 89 deletions(-)

diff --git a/public/img/initiallong.b9495273.png b/public/img/initiallong.b9495273.png
new file mode 100644
index 0000000..034a123
--- /dev/null
+++ b/public/img/initiallong.b9495273.png
Binary files differ
diff --git a/src/layout/components/tags.vue b/src/layout/components/tags.vue
index ae23c70..b6fac76 100644
--- a/src/layout/components/tags.vue
+++ b/src/layout/components/tags.vue
@@ -1,7 +1,8 @@
 <template>
 	<div class="adminui-tags">
 		<ul ref="tags">
-			<li v-for="tag in tagList" v-bind:key="tag" :class="[isActive(tag)?'active':'',tag.meta.affix?'affix':'' ]" @contextmenu.prevent="openContextMenu($event, tag)">
+			<li v-for="tag in tagList" v-bind:key="tag" :class="[isActive(tag)?'active':'',tag.meta.affix?'affix':'' ]">
+				<!-- 鍙抽敭  @contextmenu.prevent="openContextMenu($event, tag)" -->
 				<router-link :to="tag">
 				<span>{{ tag.meta.title }}</span>
 				<el-icon v-if="!tag.meta.affix" @click.prevent.stop='closeSelectedTag(tag)'><el-icon-close/></el-icon>
diff --git a/src/layout/components/topbar.vue b/src/layout/components/topbar.vue
index bcc9ed5..cabaac8 100644
--- a/src/layout/components/topbar.vue
+++ b/src/layout/components/topbar.vue
@@ -1,6 +1,7 @@
 <template>
 	<div class="adminui-topbar">
-		<div class="left-panel">
+		<!-- 闈㈠寘灞� -->
+		<!-- <div class="left-panel">
 			<el-breadcrumb separator-icon="el-icon-arrow-right" class="hidden-sm-and-down">
 				<transition-group name="breadcrumb">
 					<template v-for="item in breadList" :key="item.title" >
@@ -8,7 +9,7 @@
 					</template>
 				</transition-group>
 			</el-breadcrumb>
-		</div>
+		</div> -->
 		<div class="center-panel"></div>
 		<div class="right-panel">
 			<slot></slot>
diff --git a/src/layout/components/userbar.vue b/src/layout/components/userbar.vue
index 209824a..133f4cc 100644
--- a/src/layout/components/userbar.vue
+++ b/src/layout/components/userbar.vue
@@ -1,16 +1,16 @@
 <template>
 	<div class="user-bar">
-		<div class="panel-item hidden-sm-and-down" @click="search">
+		<!-- <div class="panel-item hidden-sm-and-down" @click="search">
 			<el-icon><el-icon-search /></el-icon>
-		</div>
+		</div> -->
 		<div class="screen panel-item hidden-sm-and-down" @click="screen">
 			<el-icon><el-icon-full-screen /></el-icon>
 		</div>
-		<div class="tasks panel-item" @click="tasks">
+		<!-- <div class="tasks panel-item" @click="tasks">
 			<el-icon><el-icon-sort /></el-icon>
-		</div>
+		</div> -->
 		<div class="msg panel-item" @click="showMsg">
-			<el-badge :hidden="msgList.length==0" :value="msgList.length" class="badge" type="danger">
+			<el-badge :hidden="msgList.length==0" :value="msgList.length" class="badge newbadge" type="danger">
 				<el-icon><el-icon-chat-dot-round /></el-icon>
 			</el-badge>
 			<el-drawer title="鏂版秷鎭�" v-model="msg" :size="400" append-to-body destroy-on-close>
@@ -21,7 +21,7 @@
 								<li v-for="item in msgList" v-bind:key="item.id">
 									<a :href="item.link" target="_blank">
 										<div class="msg-list__icon">
-											<el-badge is-dot type="danger">
+											<el-badge is-dot type="danger" calss="newbadge">
 												<el-avatar :size="40" :src="item.avatar"></el-avatar>
 											</el-badge>
 										</div>
@@ -186,7 +186,7 @@
 
 <style scoped>
 	.user-bar {display: flex;align-items: center;height: 100%;}
-	.user-bar .panel-item {padding: 0 10px;cursor: pointer;height: 100%;display: flex;align-items: center;}
+	.user-bar .panel-item {padding: 0 0 0 10px;cursor: pointer;height: 100%;display: flex;align-items: center;}
 	.user-bar .panel-item i {font-size: 16px;}
 	.user-bar .panel-item:hover {background: rgba(0, 0, 0, 0.1);}
 	.user-bar .user-avatar {height:49px;display: flex;align-items: center;}
@@ -204,4 +204,5 @@
 	.dark .msg-list__main h2 {color: #d0d0d0;}
 	.dark .msg-list li {border-top:1px solid #363636;}
 	.dark .msg-list li a:hover {background: #383838;}
+	.newbadge /deep/ .el-badge__content{top: 13px;}
 </style>
diff --git a/src/layout/index.vue b/src/layout/index.vue
index af6efac..7f8571a 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -128,6 +128,21 @@
 
 	<!-- 榛樿甯冨眬 -->
 	<template v-else>
+		<div class="adminui-top-header">
+			<div class="adminui-topheader-left">
+				<img src="/img/initiallong.b9495273.png" class="img" style="width: 180px; height: 40px;">
+			</div>
+			<div class="adminui-topheader-main">
+				<div>
+					<Tags v-if="!ismobile && layoutTags"></Tags>
+				</div>
+			</div>
+			<div class="adminui-topheader-right">
+				<Topbar>
+					<userbar></userbar>
+				</Topbar>
+			</div>
+		</div>
 		<section class="aminui-wrapper">
 			<div v-if="!ismobile" class="aminui-side-split">
 				<div class="aminui-side-split-top">
@@ -153,21 +168,17 @@
 				</div>
 				<div class="adminui-side-scroll">
 					<el-scrollbar>
-						<el-menu :default-active="active" router :collapse="menuIsCollapse" :unique-opened="$CONFIG.MENU_UNIQUE_OPENED">
+						<el-menu :default-active="active" router :collapse="menuIsCollapse" :unique-opened="$CONFIG.MENU_UNIQUE_OPENED" class="adminui-side-scrolul">
 							<NavMenu :navMenus="nextMenu"></NavMenu>
 						</el-menu>
 					</el-scrollbar>
 				</div>
-				<div class="adminui-side-bottom" @click="$store.commit('TOGGLE_menuIsCollapse')">
+				<!-- <div class="adminui-side-bottom" @click="$store.commit('TOGGLE_menuIsCollapse')">
 					<el-icon><el-icon-expand v-if="menuIsCollapse"/><el-icon-fold v-else /></el-icon>
-				</div>
+				</div> -->
 			</div>
 			<Side-m v-if="ismobile"></Side-m>
 			<div class="aminui-body el-container">
-				<Topbar>
-					<userbar></userbar>
-				</Topbar>
-				<Tags v-if="!ismobile && layoutTags"></Tags>
 				<div class="adminui-main" id="adminui-main">
 					<router-view v-slot="{ Component }">
 					    <keep-alive :include="this.$store.state.keepAlive.keepLiveRoute">
diff --git a/src/style/app.scss b/src/style/app.scss
index a064b80..d399b08 100644
--- a/src/style/app.scss
+++ b/src/style/app.scss
@@ -24,8 +24,14 @@
 .layout-setting i {font-size: 18px;color: #fff;}
 
 /* 澶撮儴 */
+.adminui-top-header {height: 56px;width: 100%;background: #fff;display: flex;box-shadow: 0 1px 2px 0 rgba(0,0,0,.15);color: rgba(0,0,0,.65);font-size: 28px;justify-content: space-between;}
+.adminui-topheader-left {width: 240px;min-width: 240px;display: flex;align-items: center;height:  100%;justify-content: center;display: flex;align-items: center;background-color:rgb(3, 48, 45);}
+.adminui-topheader-main {width: calc(100% - 360px);background: #fff;height: 100%;display: flex;align-items: center;overflow: hidden;padding-right: 8px;border-bottom: 1px solid #e6e6e6;}
+.adminui-topheader-main > div {box-shadow: inset 0 0 3px 2px hsla(0,0%,39.2%,.1);background: #f0f0f0;}
+.adminui-topheader-right {width: 165px;}
+
+
 .adminui-header {height: 58px;background: #222b45;color: #fff;display: flex;justify-content:space-between;}
-.adminui-header-left {display: flex;align-items: center;padding-left:20px;}
 .adminui-header-right {display: flex;align-items: center;}
 .adminui-header .logo-bar {font-size: 20px;font-weight: bold;display: flex;align-items: center;}
 .adminui-header .logo-bar .logo {margin-right: 10px;width: 35px;height: 35px;}
@@ -54,10 +60,13 @@
 .adminui-side-split-scroll::-webkit-scrollbar-track {background-color: rgba(255, 255, 255, 0);}
 .adminui-side-split-scroll::-webkit-scrollbar-track:hover {background-color: rgba(255, 255, 255, 0);}
 
-.aminui-side {display: flex;flex-flow: column;flex-shrink:0;width:210px;background: #fff;box-shadow: 2px 0 8px 0 rgba(29,35,41,.05);border-right: 1px solid #e6e6e6;transition:width 0.3s;}
+.aminui-side {display: flex;flex-flow: column;flex-shrink:0;width:176px;background: #316e6e;box-shadow: 2px 0 8px 0 rgba(29,35,41,.05);border-right: 1px solid #e6e6e6;transition:width 0.3s;}
 .adminui-side-top {border-bottom: 1px solid #ebeef5;height:50px;line-height: 50px;}
-.adminui-side-top h2 {padding:0 20px;font-size: 17px;color: #3c4a54;}
-.adminui-side-scroll {overflow: auto;overflow-x:hidden;flex: 1;}
+.adminui-side-top h2 {padding:0 20px;font-size: 17px;color: #fff;}
+.adminui-side-scroll {overflow: auto;overflow-x:hidden;flex: 1;background-color: #315655;}
+.adminui-side-scrolul {background-color: #315655;}
+.adminui-side-scrolul .el-menu-item ,.adminui-side-scrolul .el-sub-menu__title{color: #fff;}
+.adminui-side-scrolul .el-menu-item:hover,.adminui-side-scrolul .el-sub-menu__title:hover{background-color: #316e6e;}
 .adminui-side-bottom {border-top: 1px solid #ebeef5;height:51px;cursor: pointer;display: flex;align-items: center;justify-content: center;}
 .adminui-side-bottom i {font-size: 16px;}
 .adminui-side-bottom:hover {color: var(--el-color-primary);}
@@ -69,23 +78,23 @@
 /* 鍙充晶鍐呭 */
 .aminui-body {flex: 1;display: flex;flex-flow: column;}
 
-.adminui-topbar {height: 50px;border-bottom: 1px solid #ebeef5;background: #fff;box-shadow: 0 1px 4px rgba(0,21,41,.08);display: flex;justify-content:space-between;}
+.adminui-topbar {height: 56px;border-bottom: 1px solid #ebeef5;background: #fff;box-shadow: 0 1px 4px rgba(0,21,41,.08);display: flex;justify-content:space-between;}
 .adminui-topbar .left-panel {display: flex;align-items: center;}
 .adminui-topbar .right-panel {display: flex;align-items: center;}
 
 .right-panel-search {display: flex;align-items: center;}
 .right-panel-search > * + * {margin-left:10px;}
 
-.adminui-tags {height:35px;background: #fff;border-bottom: 1px solid #e6e6e6;}
+.adminui-tags {height:56px;background: #fff;}
 .adminui-tags ul {display: flex;overflow: hidden;}
-.adminui-tags li {cursor: pointer;display: inline-block;float: left;height:34px;line-height: 34px;position: relative;flex-shrink: 0;}
+.adminui-tags li {cursor: pointer;display: inline-block;float: left;height:56px;line-height: 56px;position: relative;flex-shrink: 0;font-size: 15px;font-weight: 400;color: rgb(50, 125, 125);}
 .adminui-tags li::after {content: " ";width:1px;height:100%;position: absolute;right:0px;background-image: linear-gradient(#fff, #e6e6e6);}
-.adminui-tags li a {display: inline-block;padding:0 10px;width:100%;height:100%;color: #999;text-decoration:none;display: flex;align-items: center;}
+.adminui-tags li a {display: inline-block;padding:0 10px;width:100%;height:100%;color: rgb(102, 102, 102);text-decoration:none;display: flex;align-items: center;}
 .adminui-tags li i {margin-left:10px;border-radius: 3px;width:18px;height:18px;display: flex;align-items: center;justify-content: center;}
 .adminui-tags li i:hover {background: rgba(0,0,0,.2);color: #fff;}
-.adminui-tags li:hover {background: #ecf5ff;}
-.adminui-tags li.active {background: #409EFF;}
-.adminui-tags li.active a {color: #fff;}
+.adminui-tags li:hover {background: #f8f6f6;}
+.adminui-tags li.active {background: rgb(248, 246, 246);}
+.adminui-tags li.active a {color: rgb(50, 125, 125);font-weight: bold;}
 .adminui-tags li.sortable-ghost {opacity: 0;}
 
 .adminui-main {overflow: auto;background-color: #f6f8f9;flex: 1;}
diff --git a/src/style/dark.scss b/src/style/dark.scss
index e9cde49..48f533b 100644
--- a/src/style/dark.scss
+++ b/src/style/dark.scss
@@ -26,7 +26,7 @@
 	.adminui-topbar, .adminui-tags {background: var(--el-bg-color-overlay);border-color: var(--el-border-color-light);}
 	.adminui-main {background: var(--el-bg-color);}
 	.drawerBG {background: var(--el-bg-color);}
-	.adminui-header-menu .el-menu {--el-menu-bg-color:var(--el-bg-color-overlay) !important;--el-menu-hover-bg-color: #171819 !important;}
+	.adminui-header-menu .el-menu {--el-menu-bg-color:#316e6e !important;--el-menu-hover-bg-color: #171819 !important;}
 	.adminui-header-menu .el-menu .el-sub-menu__title {background-color:transparent !important;}
 
 	//鍏ㄥ眬婊氬姩鏉℃牱寮�
diff --git a/src/style/fix.scss b/src/style/fix.scss
index ff6a5cf..f6ed18b 100644
--- a/src/style/fix.scss
+++ b/src/style/fix.scss
@@ -71,8 +71,8 @@
 .el-sub-menu .el-sub-menu__icon-arrow {font-size: 12px;}
 
 .aminui-side-split li.active {background-color: var(--el-color-primary);}
-.adminui-tags li:hover {background-color: var(--el-color-primary-light-9);}
-.adminui-tags li.active {background-color: var(--el-color-primary)!important;}
+.adminui-tags li:hover {background: #f8f6f6;}
+.adminui-tags li.active {background: rgb(248, 246, 246)!important;}
 .contextmenu li:hover {background-color: var(--el-color-primary-light-9)!important;color: var(--el-color-primary-light-2)!important;}
 .data-box .item-background {background-color: var(--el-color-primary)!important;}
 .layout-setting,.diy-grid-setting {background-color: var(--el-color-primary)!important;}
diff --git a/src/utils/request.js b/src/utils/request.js
index 8834691..239f85b 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -140,6 +140,7 @@
 	 */
 	 postJ: function(url, data={}, config={}) {
 		return new Promise((resolve, reject) => {
+			console.log(qsStringify(data))
 			axios({
 				method: 'post',
 				url: url,
diff --git a/src/utils/tool.js b/src/utils/tool.js
index 8c027db..710f402 100644
--- a/src/utils/tool.js
+++ b/src/utils/tool.js
@@ -218,4 +218,15 @@
 	}
 }
 
+tool.qsStringify = function(obj) {
+	return Object.keys(obj).map(key => {
+      if (Array.isArray(obj[key])) {
+        return obj[key]
+          .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
+          .join('&');
+      }
+      return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
+  	}).join('&');
+}
+
 export default tool
diff --git a/src/views/home/widgets/index.vue b/src/views/home/widgets/index.vue
index 5908c19..c23cb5c 100644
--- a/src/views/home/widgets/index.vue
+++ b/src/views/home/widgets/index.vue
@@ -3,7 +3,7 @@
 		<div class="widgets-content">
 			<div class="widgets-top">
 				<div class="widgets-top-title">
-					鎺у埗鍙�
+					宸ヤ綔鍙�
 				</div>
 				<div class="widgets-top-actions">
 					<el-button v-if="customizing" type="primary" icon="el-icon-check" round @click="save">瀹屾垚</el-button>
diff --git a/src/views/login/components/passwordForm.vue b/src/views/login/components/passwordForm.vue
index b0eb9cb..b07c340 100644
--- a/src/views/login/components/passwordForm.vue
+++ b/src/views/login/components/passwordForm.vue
@@ -49,6 +49,18 @@
 			//this.$HTTP.get('/api/blade-sync/outer-app-config/appStatus')
 		},
 		methods: {
+			// qsStringify(obj) {
+			//   return Object.keys(obj)
+			//     .map(key => {
+			//       if (Array.isArray(obj[key])) {
+			//         return obj[key]
+			//           .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
+			//           .join('&');
+			//       }
+			//       return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
+			//     })
+			//     .join('&');
+			// },
 			async login(){
 				var validate = await this.$refs.loginForm.validate().catch(()=>{})
 				if(!validate){ return false }
@@ -61,40 +73,7 @@
 					grant_type: "password",
 					scope: "all"
 				}
-				//鑾峰彇鑿滃崟
-				// var menu = null
-				// if(this.form.user == 'admin'){
-				// 	menu = await this.$API.system.menu.myMenus.get()
-				// }else{
-				// 	menu = await this.$API.demo.menu.get()
-				// }
-				// if(menu.code == 200){
-				// 	if(menu.data.menu.length==0){
-				// 		this.islogin = false
-				// 		this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
-				// 			type: 'error',
-				// 			center: true
-				// 		})
-				// 		return false
-				// 	}
-				// 	this.$TOOL.data.set("MENU", menu.data.menu)
-				// 	this.$TOOL.data.set("PERMISSIONS", menu.data.permissions)
-				// 	this.$TOOL.data.set("DASHBOARDGRID", menu.data.dashboardGrid)
-				// }else{
-				// 	this.islogin = false
-				// 	this.$message.warning(menu.message)
-				// 	return false
-				// }
-
-				// this.$router.replace({
-				// 	path: '/'
-				// })
-				// this.$message.success("Login Success 鐧诲綍鎴愬姛")
-				// this.islogin = false
-
-
-
-				await this.$HTTP.postJ("/api/blade-auth/oauth/token",data).then(res=> {
+				await this.$HTTP.postJ("/api/blade-auth/oauth/token?" + this.$TOOL.qsStringify(data)).then(res=> {
 					if(res.user_id) {
 						//鑾峰彇token
 						this.$TOOL.cookie.set("TOKEN", res.access_token, {
@@ -105,11 +84,8 @@
 						res.dashboard = "0";
 						res.userId =  "1";
 						this.$TOOL.data.set("USER_INFO", res);
-						//鑾峰彇鑿滃崟
-						
-						
-					}else {
 						this.islogin = false;
+					}else {
 						this.$message({
 				          showClose: true,
 				          message: res.error_description,
@@ -117,27 +93,29 @@
 				        });
 					}
 				})
+				await this.$HTTP.postJ("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({"appCode": "CPS"})).then(res=> {
+					console.log(res,1111)
+				})
 				await this.$API.system.menu.myMenus.get().then(resp=> {
-							console.log('>>>>>>')
-							if(resp.data.menu.length==0){
-								this.islogin = false
-								this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
-									type: 'error',
-									center: true
-								})
-								return false
-							}
-							this.$TOOL.data.set("MENU", resp.data.menu)
-							this.$TOOL.data.set("PERMISSIONS", resp.data.permissions)
-							this.$TOOL.data.set("DASHBOARDGRID", resp.data.dashboardGrid)
-
-						});
-						this.$router.replace({
-							path: '/'
-						})
-						this.$message.success("Login Success 鐧诲綍鎴愬姛")
+					if(resp.data.menu.length==0){
+						console.log(resp,2222)
 						this.islogin = false
-			},
+						this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
+							type: 'error',
+							center: true
+						})
+						return false
+					}
+					this.$TOOL.data.set("MENU", resp.data.menu)
+					this.$TOOL.data.set("PERMISSIONS", resp.data.permissions)
+					this.$TOOL.data.set("DASHBOARDGRID", resp.data.dashboardGrid)
+				});
+				this.$router.replace({
+					path: '/'
+				})
+				this.$message.success("Login Success 鐧诲綍鎴愬姛")
+				this.islogin = false;
+			}
 		}
 	}
 </script>

--
Gitblit v1.9.3