emis-frontend/src/layout/components/Navbar.vue
2024-11-05 07:36:43 +08:00

569 lines
21 KiB
Vue

<template>
<div class="navbar">
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
<!-- 搜索 -->
<!-- <search2 id="header-search"/> -->
<!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/> -->
<div class="user-restpwd-notice" v-if="needRstPwd"><i class="el-icon-warning-outline" /> 您当前密码不安全,请立即<span style="color:blue" @click="goToRstPwd">【修改密码】</span>!</div>
<div class="user-restpwd-notice" v-if="needRecharge&&$store.getters.ownerSiteCode != '88888'"><i class="el-icon-warning-outline" /> 网点当前余额不足,请立即<span style="color:blue" @click="goToRecharge">【充值】</span>!</div>
<div class="user-restpwd-notice" v-if="needRechargeWarning&&$store.getters.ownerSiteCode != '88888'"><i class="el-icon-warning-outline" /> 网点当前余额低于预警值,请安排<span style="color:blue" @click="goToRecharge">【充值】</span>!</div>
<!-- <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/> -->
<!-- <top-nav id="topmenu-container" class="topmenu-container" /> -->
<div style="line-height: 46px;cursor: pointer;height: 100%;float: left; position: relative;">
<template v-if="device!=='mobile'">
<!-- <screenfull id="screenfull" class="right-menu-item hover-effect" /> -->
<!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip> -->
</template>
</div>
<div style="line-height: 46px;cursor: pointer;height: 100%;float: left;max-width: 70%;min-width: 50%; position: relative;">
<top-tags-view class="topmenu-container" style="left:0px;" />
</div>
<div class="right-menu">
<!-- 在线客服 -->
<div class="right-menu-item hover-effect" style="padding: 0 20px;" @click="showOnlineKefu">
<span class="kf-agent" title="在线客服">
<img src="" alt="" style="display: none;">
</span>
</div>
<!-- 消息通知 -->
<div class="right-menu-item hover-effect" style="padding: 0 20px;">
<top-notice/>
</div>
<!-- 国际化 -->
<el-dropdown class="right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper" >
<div style="display: inline-flex;line-height: 20px;padding: 5px;text-align: center; min-width: 35px; border-radius: 30px;" slot="reference">
<div>
<svg-icon icon-class="lang" style="width:20px" />
<!-- <img v-if="i18nLang=='zh'" style="width:20px" src="../../assets/lang_logo/zh-cn.png" /> -->
<!-- <img v-if="i18nLang=='en'" style="width:20px" src="../../assets/lang_logo/en.png" /> -->
</div>
</div>
</div>
<el-dropdown-menu slot="dropdown" >
<el-dropdown-item @click.native="changeLanguage('zh-CN')">
<span v-if="i18nLang=='zh-CN'" style="display:block;color: red;">{{ $t('locale.zh-CN') }}</span>
<span v-else style="display:block;">{{ $t('locale.zh-CN') }}</span>
</el-dropdown-item>
<el-dropdown-item @click.native="changeLanguage('en')">
<span v-if="i18nLang=='en'" style="display:block;color: red;">{{ $t('locale.en') }}</span>
<span v-else style="display:block;">{{ $t('locale.en') }}</span>
</el-dropdown-item>
<el-dropdown-item @click.native="changeLanguage('vi')">
<span v-if="i18nLang=='vi'" style="display:block;color: red;">{{ $t('locale.vi') }}</span>
<span v-else style="display:block;">{{ $t('locale.vi') }}</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper">
<div style="display: inline-flex;line-height: 25px;">
<div><img :src="avatar" class="user-avatar"></div>
<div style="font-size:12px;color: black;">{{empName}}({{ownerSiteName}})</div>
</div>
<i class="el-icon-caret-bottom" />
</div>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item @click.native="showKfView">
<span>切换登录网点</span>
</el-dropdown-item> -->
<el-dropdown-item @click.native="showAppView">
<span>下载员工APP</span>
</el-dropdown-item>
<el-dropdown-item>
<router-link to="/user/profile">个人信息</router-link>
</el-dropdown-item>
<!-- <el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item> -->
<!-- <el-dropdown-item @click.native="showKfView">
<span>联系客服</span>
</el-dropdown-item> -->
<el-dropdown-item divided @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<div >
<!-- 在线客服 -->
<!-- <div style="position:fixed; top:50px;right:0px;cursor:pointer" @click="showOnlineKefu">
<span class="kf-agent" title="在线客服">
<img src="" alt="" style="display: none;">
</span>
</div> -->
<el-dialog title="在线客服" :visible.sync="openOnlineKefu" width="80%" class="kf-panel" append-to-body>
<div style="padding:0px;height:500px">
<iframe frameborder="0" :src="rlKefuURL" width="100%" height="100%" />
</div>
</el-dialog>
</div>
<div class="kf_dialog_center">
<el-dialog title="联系客服" :visible.sync="openKfView" width="400px" append-to-body>
<div style="padding:30px">
<img :src="zoneConfig.kfQrImage" width="100%" draggable="false"/>
<div style="text-align: center;">打开微信扫一扫 添加专属客服</div>
<div style="text-align: center" >帮助您更全面的了解系统功能</div>
</div>
</el-dialog>
</div>
<div class="kf_dialog_center">
<el-dialog title="下载探路国际速运APP" :visible.sync="openAppView" width="400px" append-to-body>
<div style="padding:0px;margin-bottom:30px">
<div style="width:100%;text-align:center;margin-bottom: 30px;">
<img src="@/assets/logo/short_logo.png" width="60px" draggable="false"/>
<div>扫二维码下载 探路国际速运APP</div>
</div>
<div style="width: 100%;height: 100%;text-align:center;">
<QrCodeImage width="220" height="220" style="width: 220px;margin:auto" id="shareQrCodeImage" :text="appUrl" />
</div>
</div>
</el-dialog>
</div>
<el-dialog title="当前密码不安全,请立即修改密码" :visible.sync="openRstPwd" width="40%" v-dialogDrag append-to-body>
<resetPwd :user="user" @on-success="onRstPwdSuccess" @on-close="onRstPwdClose" />
</el-dialog>
<el-dialog title="预充值登记" :visible.sync="openPrepaidRecharge" width="60%" v-dialogDrag append-to-body>
<SitePrepaidRechargeForm @on-changed="onPrepaidRechargeSuccess" @on-cancel="onPrepaidRechargeClose"></SitePrepaidRechargeForm>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import TopNav from '@/components/TopNav'
import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
import Search2 from '@/components/HeaderSearch/index2'
import TopTagsView from '../components/TopTagsView'
import TopNotice from '../components/TopNotice'
import Cookies from 'js-cookie'
import { getI18nMessages } from "@/api/common"
import { checkIsInitPassword,getUserProfile } from "@/api/system/user"
import { getSiteBalance } from "@/api/emis/emisSiteAccount"
import SitePrepaidRechargeForm from '@/views/emis/emisSitePrepaidRecharge/emisSitePrepaidRechargeForm';
import resetPwd from "@/views/system/user/profile/resetPwd";
import { getLastAppVersion,getKefuSsoToken } from "@/api/emis/emisCommon"
import QrCodeImage from '@/components/QrCodeImage'
var qimoClientId = null;
export default {
components: {
Breadcrumb,
TopNav,
Hamburger,
Screenfull,
SizeSelect,
Search,
Search2,
TopTagsView,
TopNotice,
resetPwd,
QrCodeImage,
SitePrepaidRechargeForm
},
data() {
return {
openKfView:false,
openAppView:false,
timer: undefined,
needRstPwd:false,
openRstPwd:false,
rlKefuURL:null,
openOnlineKefu:false,
needRecharge:false,
needRechargeWarning:false,
openPrepaidRecharge:false,
appUrl:null,
user:{},
}
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'nickName',
'empCode',
'empName',
'ownerSiteName',
'device'
]),
zoneConfig: {
get() {
return this.$store.state.zoneConfig;
},
},
setting: {
get() {
return this.$store.state.settings.showSettings
},
set(val) {
this.$store.dispatch('settings/changeSetting', {
key: 'showSettings',
value: val
})
}
},
topNav: {
get() {
return this.$store.state.settings.topNav
}
},
i18nLang:{
get() {
return this.$i18n.locale;
}
}
},
mounted() {
this.initKFClient();
this.checkIsNeedRstPwd();
this.checkSiteBalance();
},
methods: {
goToRstPwd(){
getUserProfile().then(response => {
this.user = response.data;
this.openRstPwd=true;
});
},
initOnlineKefu(){
getKefuSsoToken().then(res=>{
if(res.code==200){
this.rlKefuURL="https://ykf.7moor.com?token="+res.data;
}else{
// this.$modal.msgError("token fail");
}
}).catch(error => {
this.$modal.msgError(error);
});
},
showOnlineKefu(){
this.initOnlineKefu();
this.openOnlineKefu=true;
},
goToRecharge(){
this.openPrepaidRecharge=true;
// /fAZrq2/PrepaidRechargeRegister
},
// 初始化客服
initKFClient(){
// qimoClientId = {userId: this.empCode, nickName:this.empName,agent:'8000',customField: {}, priority: false}
// console.log(qimoClientId);
// this.insertJsScript('https://ykf-weixin01.7moor.com/javascripts/7moorInit.js?accessId=0c6a3ec0-020b-11ef-a016-bf340ef083f1&autoShow=true&language=ZHCN');
},
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},
// 检查弱密码
checkIsNeedRstPwd(){
checkIsInitPassword().then(res=>{
if(res.code==200){
if(res.data=="0"){
this.needRstPwd=false;
}else{
this.needRstPwd=true;
this.openRstPwd=true;
}
}
}).catch(error => {
});
},
// 检查弱密码
checkSiteBalance(){
getSiteBalance().then(res=>{
if(res.code==200){
let balanceItem = res.data;
if(balanceItem.confirmMoney <= balanceItem.closeMoney){
this.needRecharge=true;
}
else if(balanceItem.confirmMoney <= balanceItem.watchMoney){
this.needRechargeWarning = true;
}
}
}).catch(error => {
});
},
onRstPwdSuccess(){
this.needRstPwd=false;
this.openRstPwd=false;
},
onRstPwdClose(){
this.openRstPwd=false;
},
onPrepaidRechargeSuccess(){
this.openPrepaidRecharge=false;
},
onPrepaidRechargeClose(){
this.openPrepaidRecharge=false;
},
async logout() {
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
// location.href = '/index';
let indexUrl=this.$store.state.permission.indexPage;
location.href = indexUrl;
})
}).catch(() => {});
},
async changeLanguage(locale) {
localStorage.setItem('locale', locale);
this.$i18n.locale = locale;
let language = this.$i18n.locale;
const res = await getI18nMessages(language);
if(res.code == 200){
localStorage.setItem("transLang_"+language, JSON.stringify(res.data));
let oMessages=this.$i18n.getLocaleMessage(language);
const newMessages = Object.assign(oMessages, res.data)
this.$i18n.setLocaleMessage(language, newMessages)
}
},
// key 点的形式转为 json数据
cvtDataToI18nData(serverDataStr) {
var serverData = serverDataStr;
var clientData = {};
for (var i in serverData) {
clientData = {};
var lanData = serverData[i].resourceMap;
for (var key in lanData) {
//遍历json对象的每个key/value对,p为key
var keyArr = key.split(".");
var lanMsg = lanData[key];
var itemObj = {};
for (var j = keyArr.length - 1; j >= 0; j--) {
var itemKey = keyArr[j];
var obj = {};
if (j == keyArr.length - 1) {
obj[itemKey] = lanMsg;
} else {
obj[itemKey] = itemObj;
}
itemObj = obj;
}
// this.mergeToJson(itemObj, clientData[lanCode]);
this.mergeToJson(itemObj, clientData);
}
}
return clientData;
},
mergeToJson(source, target) {
for (var key in source) {
if (target[key]) {
return this.mergeToJson(source[key], target[key]);
} else {
target[key] = source[key];
}
}
return target;
},
showKfView(){
this.openKfView=true;
},
showAppView(){
getLastAppVersion().then(response => {
const appVersion = response.data;
this.appUrl=appVersion.apkUrl;
// new QRCode('qrcode',{
// width:300,
// height: 300,
// text: appVersion.apkUrl
// })
});
this.openAppView=true;
},
}
}
</script>
<style lang="scss" scoped>
.kf-panel > .el-dialog .el-dialog__body {
margin: 0px!important;
}
.kf-agent {
display: inline-block;
float: left;
width: 40px;
height: 40px;
border-radius: 50%;
background: url(data:image/png;base64,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) no-repeat 50% 50%;
background-size: 30px auto;
overflow: hidden
}
.kf-agent img {
width: 32px;
height: 32px;
background-color: var(--color-text-white)
}
.navbar {
height: 50px;
overflow: hidden;
position: relative;
// background: #fff;
// box-shadow: 0 1px 4px rgba(0,21,41,.08);
.hamburger-container {
line-height: 46px;
height: 100%;
float: left;
cursor: pointer;
transition: background .3s;
-webkit-tap-highlight-color:transparent;
&:hover {
background: rgba(0, 0, 0, .025)
}
}
.breadcrumb-container {
float: left;
}
.topmenu-container {
position: absolute;
left: 50px;
}
.errLog-container {
display: inline-block;
vertical-align: top;
}
.right-menu {
float: right;
// height: 100%;
// line-height: 50px;
display: flex;
flex-shrink: 0;
padding: 0 12px;
font-size: 18px;
height: 100%;
&:focus {
outline: none;
}
.right-menu-item {
// display: inline-block;
// padding: 0 8px;
// height: 100%;
// font-size: 18px;
// color: #5a5e66;
// vertical-align: text-bottom;
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
padding: 0 12px;
cursor: pointer;
&.hover-effect {
cursor: pointer;
transition: background .3s;
&:hover {
background: rgba(0, 0, 0, .025)
}
}
}
.avatar-container {
margin-right: 30px;
.avatar-wrapper {
margin-top: 5px;
position: relative;
.user-avatar {
cursor: pointer;
width: 25px;
height: 25px;
border-radius: 25px;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -20px;
top: 10px;
font-size: 12px;
}
}
}
}
.user-restpwd-notice {
line-height: 50px;
font-size: 14px;
font-weight: 600;
color: red;
cursor: pointer;
position: absolute;
top: 0px;
background: white;
z-index: 9999;
width: 70%;
padding-left: 20px;
margin-left: 14px;
}
:deep .el-dialog{
display: flex;
flex-direction: column;
margin:0 !important;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
max-height:calc(100% - 30px);
max-width:calc(100% - 30px);
}
:deep .el-dialog .el-dialog__body{
flex:1;
overflow: auto;
}
}
</style>