From 78fa1f005a9ec2581611e53d7eba8efeacb4df6e Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期三, 15 一月 2025 18:35:48 +0800 Subject: [PATCH] 调试头像接口 --- Source/plt-web/plt-web-ui/src/page/index/top/index.vue | 385 +++++++++++++++++++++++++++--------------------------- 1 files changed, 193 insertions(+), 192 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/page/index/top/index.vue b/Source/plt-web/plt-web-ui/src/page/index/top/index.vue index 8430d37..ad400a3 100644 --- a/Source/plt-web/plt-web-ui/src/page/index/top/index.vue +++ b/Source/plt-web/plt-web-ui/src/page/index/top/index.vue @@ -1,255 +1,256 @@ <template> <div class="avue-top"> <div class="top-bar__left"> - <div class="avue-breadcrumb" + <div v-if="showCollapse" :class="[{ 'avue-breadcrumb--active': isCollapse }]" - v-if="showCollapse"> - <i class="icon-navicon" - @click="setCollapse"></i> + class="avue-breadcrumb"> + <i class="icon-navicon" @click="setCollapse"></i> </div> </div> <div class="top-bar__title"> - <div class="top-bar__item top-bar__item--show" - v-if="showMenu"> + <div v-if="showMenu" + class="top-bar__item top-bar__item--show"> <top-menu ref="topMenu"></top-menu> </div> - <span class="top-bar__item" - v-if="showSearch"> + <span v-if="showSearch" + class="top-bar__item"> <top-search></top-search> </span> </div> <div class="top-bar__right"> <el-tooltip v-if="showColor" - effect="dark" :content="$t('navbar.color')" + effect="dark" placement="bottom"> <div class="top-bar__item"> <top-color></top-color> </div> </el-tooltip> - <el-tooltip v-if="showDebug" - effect="dark" - :content="logsFlag?$t('navbar.bug'):logsLen+$t('navbar.bugs')" - placement="bottom"> - <div class="top-bar__item"> - <top-logs></top-logs> - </div> - </el-tooltip> + <!-- 閿欒鏃ュ織--> + <!-- <el-tooltip v-if="showDebug"--> + <!-- :content="logsFlag?$t('navbar.bug'):logsLen+$t('navbar.bugs')"--> + <!-- effect="dark"--> + <!-- placement="bottom">--> + <!-- <div class="top-bar__item">--> + <!-- <top-logs></top-logs>--> + <!-- </div>--> + <!-- </el-tooltip>--> <el-tooltip v-if="showLock" - effect="dark" :content="$t('navbar.lock')" + effect="dark" placement="bottom"> <div class="top-bar__item"> <top-lock></top-lock> </div> </el-tooltip> <el-tooltip v-if="showTheme" - effect="dark" :content="$t('navbar.theme')" + effect="dark" placement="bottom"> <div class="top-bar__item top-bar__item--show"> <top-theme></top-theme> </div> </el-tooltip> - <el-tooltip effect="dark" - :content="$t('navbar.notice')" - placement="bottom"> - <div class="top-bar__item top-bar__item--show"> - <top-notice></top-notice> - </div> - </el-tooltip> - <el-tooltip effect="dark" - :content="$t('navbar.language')" + <!-- 娑堟伅閫氱煡--> + <!-- <el-tooltip :content="$t('navbar.notice')"--> + <!-- effect="dark"--> + <!-- placement="bottom">--> + <!-- <div class="top-bar__item top-bar__item--show">--> + <!-- <top-notice></top-notice>--> + <!-- </div>--> + <!-- </el-tooltip>--> + <el-tooltip :content="$t('navbar.language')" + effect="dark" placement="bottom"> <div class="top-bar__item top-bar__item--show"> <top-lang></top-lang> </div> </el-tooltip> <el-tooltip v-if="showFullScren" - effect="dark" :content="isFullScren?$t('navbar.screenfullF'):$t('navbar.screenfull')" + effect="dark" placement="bottom"> <div class="top-bar__item"> <i :class="isFullScren?'icon-tuichuquanping':'icon-quanping'" @click="handleScreen"></i> </div> </el-tooltip> - <img class="top-bar__img" - :src="userInfo.avatar"> - <el-dropdown> - <span class="el-dropdown-link"> - {{userInfo.userName}} - <i class="el-icon-arrow-down el-icon--right"></i> + <el-tooltip content="涓汉淇℃伅"> + <div> + <img :src="avatar" + class="top-bar__img" + @click="gotoInfo"> + </div> + </el-tooltip> + + <el-tooltip content="閫�鍑虹櫥褰�"> + <div> + <span style="font-size: 16px" @click="logout"> + {{ userInfo.userName }} </span> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item> - <router-link to="/">{{$t('navbar.dashboard')}}</router-link> - </el-dropdown-item> - <el-dropdown-item> - <router-link to="/info/index">{{$t('navbar.userinfo')}}</router-link> - </el-dropdown-item> - <el-dropdown-item v-if="this.website.switchMode" @click.native="switchDept" - >{{$t('navbar.switchDept')}} - </el-dropdown-item> - <el-dropdown-item @click.native="logout" - divided>{{$t('navbar.logOut')}} - </el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> - <el-dialog title="鐢ㄦ埛淇℃伅閫夋嫨" + </div> + </el-tooltip> + + <el-dialog :visible.sync="userBox" append-to-body - :visible.sync="userBox" + title="鐢ㄦ埛淇℃伅閫夋嫨" width="350px"> - <avue-form ref="form" :option="userOption" v-model="userForm" @submit="submitSwitch"/> + <avue-form ref="form" v-model="userForm" :option="userOption" @submit="submitSwitch"/> </el-dialog> + </div> </div> </template> <script> - import {resetRouter} from '@/router/router' - import {mapGetters, mapState} from "vuex"; - import {fullscreenToggel, listenfullscreen} from "@/util/util"; - import topLock from "./top-lock"; - import topMenu from "./top-menu"; - import topSearch from "./top-search"; - import topTheme from "./top-theme"; - import topLogs from "./top-logs"; - import topColor from "./top-color"; - import topNotice from './top-notice' - import topLang from "./top-lang"; +import {resetRouter} from '../../../router/router' +import {mapGetters, mapState} from "vuex"; +import {fullscreenToggel, listenfullscreen} from "@/util/util"; +import topLock from "./top-lock"; +import topMenu from "./top-menu"; +import topSearch from "./top-search"; +import topTheme from "./top-theme"; +import topLogs from "./top-logs"; +import topColor from "./top-color"; +import topNotice from './top-notice' +import topLang from "./top-lang"; - export default { - components: { - topLock, - topMenu, - topSearch, - topTheme, - topLogs, - topColor, - topNotice, - topLang - }, - name: "top", - data() { - return { - userBox: false, - userForm: { - deptId: '', - roleId: '' - }, - userOption: { - labelWidth: 70, - submitBtn: true, - emptyBtn: false, - submitText: '鍒囨崲', - column: [ - { - label: '閮ㄩ棬', - prop: 'deptId', - type: 'select', - props: { - label: 'deptName', - value: 'id' - }, - dicUrl: '/api/blade-system/dept/select', - span: 24, - display: false, - rules: [{ - required: true, - message: "璇烽�夋嫨閮ㄩ棬", - trigger: "blur" - }], +export default { + components: { + topLock, + topMenu, + topSearch, + topTheme, + topLogs, + topColor, + topNotice, + topLang + }, + name: "top", + data() { + return { + userBox: false, + userForm: { + deptId: '', + roleId: '' + }, + userOption: { + labelWidth: 70, + submitBtn: true, + emptyBtn: false, + submitText: '鍒囨崲', + column: [ + { + label: '閮ㄩ棬', + prop: 'deptId', + type: 'select', + props: { + label: 'deptName', + value: 'id' }, - { - label: '瑙掕壊', - prop: 'roleId', - type: 'select', - props: { - label: 'roleName', - value: 'id' - }, - dicUrl: '/api/blade-system/role/select', - span: 24, - display: false, - rules: [{ - required: true, - message: "璇烽�夋嫨瑙掕壊", - trigger: "blur" - }], + dicUrl: '/api/blade-system/dept/select', + span: 24, + display: false, + rules: [{ + required: true, + message: "璇烽�夋嫨閮ㄩ棬", + trigger: "blur" + }], + }, + { + label: '瑙掕壊', + prop: 'roleId', + type: 'select', + props: { + label: 'roleName', + value: 'id' }, - ] - } - }; - }, - filters: {}, - created() { - }, - mounted() { - listenfullscreen(this.setScreen); - }, - computed: { - ...mapState({ - showDebug: state => state.common.showDebug, - showTheme: state => state.common.showTheme, - showLock: state => state.common.showLock, - showFullScren: state => state.common.showFullScren, - showCollapse: state => state.common.showCollapse, - showSearch: state => state.common.showSearch, - showMenu: state => state.common.showMenu, - showColor: state => state.common.showColor - }), - ...mapGetters([ - "userInfo", - "isFullScren", - "tagWel", - "tagList", - "isCollapse", - "tag", - "logsLen", - "logsFlag" - ]) - }, - methods: { - handleScreen() { - fullscreenToggel(); - }, - setCollapse() { - this.$store.commit("SET_COLLAPSE"); - }, - setScreen() { - this.$store.commit("SET_FULLSCREN"); - }, - switchDept() { - const userId = this.userInfo.user_id; - const deptColumn = this.findObject(this.userOption.column, "deptId"); - deptColumn.dicUrl = `/api/blade-system/dept/select?userId=${userId}`; - deptColumn.display = true; - const roleColumn = this.findObject(this.userOption.column, "roleId"); - roleColumn.dicUrl = `/api/blade-system/role/select?userId=${userId}`; - roleColumn.display = true; - this.userBox = true; - }, - submitSwitch (form, done) { - this.$store.dispatch("refreshToken", form).then(() => { - this.userBox = false; - this.$router.push({path: "/"}); - }) - done(); - }, - logout() { - this.$confirm(this.$t("logoutTip"), this.$t("tip"), { - confirmButtonText: this.$t("submitText"), - cancelButtonText: this.$t("cancelText"), - type: "warning" - }).then(() => { - //this.$store.dispatch("LogOut").then(() => { - resetRouter(); - this.$router.push({path: "/login"}); - //}); - }); + dicUrl: '/api/blade-system/role/select', + span: 24, + display: false, + rules: [{ + required: true, + message: "璇烽�夋嫨瑙掕壊", + trigger: "blur" + }], + }, + ] } + }; + }, + filters: {}, + created() { + }, + mounted() { + listenfullscreen(this.setScreen); + }, + computed: { + avatar(){ + return this.userInfo.avatar + }, + ...mapState({ + showDebug: state => state.common.showDebug, + showTheme: state => state.common.showTheme, + showLock: state => state.common.showLock, + showFullScren: state => state.common.showFullScren, + showCollapse: state => state.common.showCollapse, + showSearch: state => state.common.showSearch, + showMenu: state => state.common.showMenu, + showColor: state => state.common.showColor + }), + ...mapGetters([ + "userInfo", + "isFullScren", + "tagWel", + "tagList", + "isCollapse", + "tag", + "logsLen", + "logsFlag" + ]) + }, + methods: { + handleScreen() { + fullscreenToggel(); + }, + setCollapse() { + this.$store.commit("SET_COLLAPSE"); + }, + setScreen() { + this.$store.commit("SET_FULLSCREN"); + }, + gotoInfo() { + this.$router.push({path: '/info'}); + }, + switchDept() { + const userId = this.userInfo.user_id; + const deptColumn = this.findObject(this.userOption.column, "deptId"); + deptColumn.dicUrl = `/api/blade-system/dept/select?userId=${userId}`; + deptColumn.display = true; + const roleColumn = this.findObject(this.userOption.column, "roleId"); + roleColumn.dicUrl = `/api/blade-system/role/select?userId=${userId}`; + roleColumn.display = true; + this.userBox = true; + }, + + // 鍏抽棴淇敼瀵嗙爜瀵硅瘽妗� + passwordClose() { + this.$refs.form.resetFields(); + }, + + logout() { + this.$confirm(this.$t("logoutTip"), this.$t("tip"), { + confirmButtonText: this.$t("submitText"), + cancelButtonText: this.$t("cancelText"), + type: "warning" + }).then(() => { + this.$store.dispatch("LogOut").then(() => { + resetRouter(); + this.$router.push({path: "/login"}); + }); + }); } - }; + } +}; </script> <style lang="scss" scoped> -- Gitblit v1.9.3