From f14f98a263141d2f8ec0079866a758cc7a1c38d1 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期一, 22 八月 2022 03:20:29 +0800 Subject: [PATCH] 添加用户删除功能 --- src/components/IndexHeader.vue | 215 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 136 insertions(+), 79 deletions(-) diff --git a/src/components/IndexHeader.vue b/src/components/IndexHeader.vue index 8abf868..42dde17 100644 --- a/src/components/IndexHeader.vue +++ b/src/components/IndexHeader.vue @@ -3,14 +3,16 @@ <div class="header" :class="{ showBox: isShow, disOpacity: !opacity }"> <!-- 鍙充晶 --> <div class="left"> - <img class="logo" src="/images/index/LOGO.png" alt="" /> - <div class="title">宸ヤ笟鐗╄仈缃戝钩鍙�</div> - <div class="label"><router-link to="/">棣栭〉</router-link></div> - <div class="label">浜戞湇鍔�</div> - <div class="label"> - <router-link to="/equipmentManagement">绠$悊涓績</router-link> - </div> - <div class="label">搴旂敤鍟嗗煄</div> + <router-link to="/"> + <img class="logo" src="/images/index/LOGO.png" alt="" /> + </router-link> + <div class="title" @click="$router.push('/')">鏅烘収璁惧绠$悊骞冲彴</div> + <!-- <div class="label" @click="$router.push('/')">棣栭〉</div> --> + <!-- <div class="label">浜戞湇鍔�</div> --> + <div class="label" @click="$router.push('/manageCenter')">绠$悊涓績</div> + <div class="label" @click="$router.push('/dataView')">鏁版嵁鍒嗘瀽</div> + <!-- <div class="label" @click="dataView">鏁版嵁鍒嗘瀽</div> --> + <!-- <div class="label" @click="$router.push('/product')">搴旂敤鍟嗗煄</div> --> </div> <!-- 宸︿晶 --> @@ -19,95 +21,93 @@ placeholder="璇疯緭鍏ュ叧閿瘝" v-model="keyWord" @focus="showInputBox(true)" + :class="{ Unlogin: !userInfo }" > <div class="iconList" slot="suffix"> <i class="search iconfont" v-if="!isShow"></i> - <i class="search iconfont" v-if="isShow"></i> - <i class="del iconfont" v-if="isShow" @click="showInputBox(false)" - ></i - > + <i class="search iconfont" @click="search" v-if="isShow"></i> + <i class="del iconfont" v-if="isShow" @click="showInputBox(false)"></i> </div> </el-input> <!-- 鏈櫥褰曟儏鍐� --> - <div class="headerLogin" v-if="!userInfo"> - <router-link to="/login"> 鐧诲綍</router-link> + <div class="headerLogin" v-if="!userInfo" @click="$router.push('/login')"> + 鐧诲綍 </div> - <div class="register" v-if="!userInfo"> - <router-link to="/register"> 鍏嶈垂娉ㄥ唽 </router-link> + <div class="register" v-if="!userInfo" @click="$router.push('/register')"> + 鍏嶈垂娉ㄥ唽 </div> <!-- 宸茬櫥褰曟儏鍐� --> <img class="userImg" - src="/images/index/榛樿澶村儚-01.png" + src="/images/index/8.jpg" alt="" v-if="userInfo" @mouseenter="showUserBox" @mouseleave="hiddenUserBox" + style="border-radius: 50%" /> </div> </div> <!-- 鐢ㄦ埛涓嬫媺妗� --> - <div - class="userBox" - v-if="userInfo && isShowUserBox" - @mouseenter="showUserBox" - @mouseleave="hiddenUserBox" - > + <div class="userBox" v-if="userInfo && isShowUserBox" @mouseenter="showUserBox" @mouseleave="hiddenUserBox"> <div class="userName">{{ userInfo.username }}</div> <ul> - <li class="money"> + <!-- <li class="money"> <div class="label">浣欓</div> <div class="content"> <span class="button">鍏呭��</span> - <span class="number">锟�4900.82</span> + <span class="number">锟�0</span> </div> </li> - + --> <li class="personal"> - <div class="label">涓汉涓績</div> - <div class="content"> - <span class="iconfont"></span> 宸插疄鍚嶈璇� + <div class="label"> + <router-link to="/personalCenter">涓汉涓績</router-link> </div> + + <div class="content"><span class="iconfont"></span> 宸插疄鍚嶈璇�</div> </li> - <li> - <div class="label">璁㈠崟绠$悊</div> + <li v-show="false"> + <div class="label" @click="jump(0)">璁㈠崟绠$悊</div> </li> - <li> + <!-- <li> <div class="label">浜у搧缁垂</div> - </li> + </li> --> - <li> + <!-- <li> <div class="label">鏈娑堟伅</div> + </li> --> + + <li v-show="false"> + <div class="label" @click="jump(0, 1)">鏈敮浠樿鍗�</div> </li> <li> - <div class="label">鏈敮浠樿鍗�</div> - </li> - - <li> - <div class="label">绠$悊涓績</div> + <div class="label"> + <router-link to="/manageCenter">绠$悊涓績</router-link> + </div> </li> </ul> <div class="logOut" @click="logOut">閫�鍑虹櫥褰�</div> </div> <!-- 杈撳叆涓嬫媺妗� --> - <div class="inputBox" v-if="isShowBox"> + <div class="inputBox" :class="{ Unlogin: !userInfo }" v-if="isShowBox"> <div class="hotKey"> <div class="title">鐑棬鎼滅储</div> <ul class="keyCard"> - <li class="keyItem" v-for="(item, index) in hotKeyArr" :key="index"> + <li class="keyItem" @click="jumpToSearch(item)" v-for="(item, index) in hotKeyArr" :key="index"> {{ item }} </li> </ul> </div> - <div class="historyKey"> + <!-- <div class="historyKey"> <div class="title colorLight">鍘嗗彶鎼滅储</div> <ul class="keyCard"> @@ -119,7 +119,7 @@ {{ item }} </li> </ul> - </div> + </div> --> </div> <!-- 閬僵灞� --> @@ -128,19 +128,19 @@ </template> <script> -import { logout } from "@/api/login"; +import { logout } from "@/api/login" export default { props: { opacity: { type: Boolean, - default: true, - }, + default: true + } }, name: "Header", created() { //灏濊瘯浠巗ession涓嬁鐢ㄦ埛淇℃伅 - this.userInfo = JSON.parse(sessionStorage.getItem("userInfo")); + this.userInfo = JSON.parse(sessionStorage.getItem("userInfo")) /* document.addEventListener("click", () => { this.showUserBox = false; }); */ @@ -149,56 +149,93 @@ return { keyWord: "", //杈撳叆妗嗗唴瀹� isShow: false, //鏄剧ず涓嬫媺妗� - hotKeyArr: ["绠楁硶", "鏅鸿兘AI", "浜戞湇鍔�", "绠$悊涓績", "瀹炴椂闊宠棰�", "鐭俊"], //鐑棬鍏抽敭璇� + hotKeyArr: ["鎵撶數璇�", "绂诲矖", "鐫″矖", "鍏ヤ镜", "绂诲矖", "瀹夊叏甯�"], //鐑棬鍏抽敭璇� historyKeyArr: ["浜戞湇鍔�", "绠楁硶", "绠$悊鏈嶅姟", "搴旂敤"], //鍘嗗彶鍏抽敭璇� isShowBox: false, //杈撳叆涓嬫媺妗� userInfo: null, //鐢ㄦ埛淇℃伅 isShowUserBox: false, //鐢ㄦ埛淇℃伅寮瑰眰 - UserTimer: null, // 鎺у埗寮瑰眰鐨勫畾鏃跺櫒 - }; + UserTimer: null // 鎺у埗寮瑰眰鐨勫畾鏃跺櫒 + } }, methods: { + dataView() { + const { href } = this.$router.resolve({ + path: "/dataView" + }) + window.open(href, "_blank") + }, // 鎺у埗杈撳叆妗哹ox showInputBox(toggle) { - this.isShow = toggle; - this.isShowBox = toggle; - this.$emit("showInputBox", toggle); + this.isShow = toggle + this.isShowBox = toggle + this.keyWord = "" + this.$emit("showInputBox", toggle) }, //鎺у埗鐢ㄦ埛淇℃伅box showUserBox() { if (this.UserTimer) { - clearTimeout(this.UserTimer); - this.UserTimer = null; + clearTimeout(this.UserTimer) + this.UserTimer = null } - this.isShowUserBox = true; + this.isShowUserBox = true }, hiddenUserBox() { - const _this = this; + const _this = this this.UserTimer = setTimeout(() => { - _this.isShowUserBox = false; - }, 100); + _this.isShowUserBox = false + }, 200) }, logOut() { logout().then(() => { - sessionStorage.removeItem("loginedInfo"); - sessionStorage.removeItem("expires_in"); - sessionStorage.removeItem("userInfo"); + sessionStorage.removeItem("loginedInfo") + sessionStorage.removeItem("expires_in") + sessionStorage.removeItem("userInfo") this.$router.push({ - path: "/login", - }); + path: "/login" + }) this.$notify({ title: "鎻愮ず", type: "success", message: "閫�鍑烘垚鍔燂紒", duration: 2500, - offset: 57, - }); - }); + offset: 57 + }) + }) }, - }, -}; + + jump(id, type) { + if (type) { + sessionStorage.setItem("type", type) + } + this.$router.push({ + path: "/personalCenter", + query: { + id: id + } + }) + }, + + search() { + this.$router.push({ + path: "/product", + query: { + keyWord: this.keyWord + } + }) + }, + + jumpToSearch(keyWord) { + this.$router.push({ + path: "/product", + query: { + keyWord + } + }) + } + } +} </script> <style lang="scss" scoped> @@ -219,10 +256,12 @@ .logo { margin: 0 7px 0 20px; + cursor: pointer; } .title { margin-right: 10px; + cursor: pointer; } .label { @@ -301,6 +340,9 @@ .label { color: #3d3d3d; + &:hover { + color: #0065ff; + } } } .right { @@ -329,10 +371,15 @@ &.showBox .right .el-input { position: absolute; z-index: 4; - top: 0; - right: 158px; + top: -7px; + right: 88px; width: 300px; background-color: #fff; + + &.Unlogin { + right: 158px; + } + ::v-deep input { width: 300px; background-color: #fff; @@ -350,12 +397,17 @@ box-sizing: border-box; position: absolute; top: 62px; - right: 158px; + right: 88px; padding: 12px 20px 8px 20px; width: 300px; background-color: #fff; border-top: 1px solid rgb(204, 204, 204); z-index: 4; + + &.Unlogin { + top: 52px; + right: 158px; + } .hotKey, .historyKey { @@ -399,12 +451,12 @@ .userBox { box-sizing: border-box; position: absolute; - z-index: 3; + z-index: 10; right: 20px; top: 64px; padding: 0 20px; width: 240px; - height: 427px; + // height: 327px; background-color: #fff; box-shadow: 0px 4px 12px rgba(96, 100, 106, 0.12); border-radius: 4px; @@ -416,7 +468,7 @@ } ul { - height: 300px; + // height: 200px; border-top: 1px solid #e9ebee; border-bottom: 1px solid #e9ebee; @@ -456,10 +508,15 @@ } .logOut { - margin-top: 20px; - font-size: 16px; - color: #0065ff; + // margin-top: 20px; + line-height: 40px; + font-size: 14px; + color: #3d3d3d; cursor: pointer; + + &:hover { + color: #0065ff; + } } } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0