| | |
| | | <template> |
| | | <div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }"> |
| | | <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange"> |
| | | <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click"> |
| | | <div class="layout-navbars-breadcrumb-user-icon"> |
| | | <span style="font-weight: 800;">{{userInfos.clientName}}</span> <el-icon><Location /></el-icon> |
| | | |
| | | </div> |
| | | <template #dropdown> |
| | | <el-dropdown-menu class="scrollable-menu"> |
| | | <el-dropdown-item v-for="(client,key) in userInfos.clientInfos" :key="key" @click="clientSet(client)" > |
| | | <span :style="{color:userInfos.clientName===client.clientName?'#409EFF':''}"> |
| | | {{client.clientName}} |
| | | </span> |
| | | |
| | | </el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | | <!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange"> |
| | | <div class="layout-navbars-breadcrumb-user-icon"> |
| | | <i class="iconfont icon-ziti" :title="$t('message.user.title0')"></i> |
| | | </div> |
| | |
| | | <el-dropdown-item command="small" :disabled="state.disabledSize === 'small'">{{ $t('message.user.dropdownSmall') }}</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | | <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange"> |
| | | </el-dropdown> --> |
| | | <!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange"> |
| | | <div class="layout-navbars-breadcrumb-user-icon"> |
| | | <i |
| | | class="iconfont" |
| | |
| | | <el-dropdown-item command="zh-tw" :disabled="state.disabledI18n === 'zh-tw'">繁體中文</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | | <div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick"> |
| | | </el-dropdown> --> |
| | | <!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick"> |
| | | <el-icon :title="$t('message.user.title2')"> |
| | | <ele-Search /> |
| | | </el-icon> |
| | | </div> |
| | | <div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick"> |
| | | </div> --> |
| | | <!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick"> |
| | | <i class="icon-skin iconfont" :title="$t('message.user.title3')"></i> |
| | | </div> |
| | | <div class="layout-navbars-breadcrumb-user-icon" ref="userNewsBadgeRef" v-click-outside="onUserNewsClick"> |
| | | </div> --> |
| | | <!-- <div class="layout-navbars-breadcrumb-user-icon" ref="userNewsBadgeRef" v-click-outside="onUserNewsClick"> |
| | | <el-badge :is-dot="true"> |
| | | <el-icon :title="$t('message.user.title4')"> |
| | | <ele-Bell /> |
| | |
| | | :persistent="false" |
| | | > |
| | | <UserNews /> |
| | | </el-popover> |
| | | <div class="layout-navbars-breadcrumb-user-icon mr10" @click="onScreenfullClick"> |
| | | </el-popover> --> |
| | | <!-- <div class="layout-navbars-breadcrumb-user-icon mr10" @click="onScreenfullClick"> |
| | | <i |
| | | class="iconfont" |
| | | :title="state.isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" |
| | | :class="!state.isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'" |
| | | ></i> |
| | | </div> |
| | | </div> --> |
| | | <el-dropdown :show-timeout="70" :hide-timeout="50" @command="onHandleCommandClick"> |
| | | <span class="layout-navbars-breadcrumb-user-link"> |
| | | <img :src="userInfos.photo" class="layout-navbars-breadcrumb-user-link-photo mr5" /> |
| | |
| | | <template #dropdown> |
| | | <el-dropdown-menu> |
| | | <el-dropdown-item command="/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item> |
| | | <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item> |
| | | <!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item> --> |
| | | <el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item> |
| | | <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item> |
| | | <el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item> |
| | | <el-dropdown-item command="/tongji">患者健康服务统计</el-dropdown-item> |
| | | <el-dropdown-item command="/userAdmin">用户管理</el-dropdown-item> |
| | | <el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | |
| | | import { useI18n } from 'vue-i18n'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { useUserInfo } from '/@/stores/userInfo'; |
| | | import {confirmClient} from '/@/api/login' |
| | | |
| | | import { useThemeConfig } from '/@/stores/themeConfig'; |
| | | import other from '/@/utils/other'; |
| | | import mittBus from '/@/utils/mitt'; |
| | |
| | | const initI18nOrSize = (value: string, attr: string) => { |
| | | (<any>state)[attr] = Local.get('themeConfig')[value]; |
| | | }; |
| | | const clientSet=(client:any)=>{ |
| | | useUserInfo().setUserCilent({code:client.code,clientName:client.clientName}); |
| | | // 缓存客户选择 |
| | | Local.set('client_'+client.code,client.code) |
| | | confirmClient('clientCode='+client.code).then((res)=>{ |
| | | // 更新token |
| | | Session.set('token', res.data); |
| | | window.location.reload(); |
| | | }) |
| | | } |
| | | // 页面加载时 |
| | | onMounted(() => { |
| | | if (Local.get('themeConfig')) { |
| | |
| | | initI18nOrSize('globalI18n', 'disabledI18n'); |
| | | } |
| | | }); |
| | | </script> |
| | | |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | .scrollable-menu { |
| | | max-height: 600px; |
| | | overflow: auto; |
| | | } |
| | | .layout-navbars-breadcrumb-user { |
| | | display: flex; |
| | | align-items: center; |