| | |
| | | <template> |
| | | <view class="popup-menu"> |
| | | <u-popup mode="right" :show="menuShow" @close="close" @open="open"> |
| | | <u-cell-group> |
| | | <u-cell |
| | | title="首页" |
| | | isLink |
| | | url="/pages/home/home" style="color:blue" |
| | | > |
| | | <image src="@/static/menuIcon/menu-home.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | v-if="shenqingMenu" |
| | | title="我的申请" |
| | | isLink |
| | | url="/pages/my-application/my-application" |
| | | > |
| | | <image src="@/static/menuIcon/menu-application.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | title="我的待办" |
| | | isLink |
| | | url="/pages/my-todo/my-todo" |
| | | > |
| | | <image src="@/static/menuIcon/menu-todo.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | title="我的已办" |
| | | isLink |
| | | url="/pages/my-have-todo/my-have-todo" |
| | | > |
| | | <image src="@/static/menuIcon/menu-havedo.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | v-if="rijihuaMenu" |
| | | title="日发运计划" |
| | | isLink |
| | | url="/pages/jihua/jihua" style="color:blue" |
| | | > |
| | | <image src="@/static/menuIcon/menu-shipment.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | <u-button text="退出" type="primary" @click="menuPopupClick"></u-button> |
| | | </u-popup> |
| | | </view> |
| | | <view class="popup-menu"> |
| | | <u-popup mode="right" :show="menuShow" @close="close" @open="open"> |
| | | <u-cell-group> |
| | | <u-cell |
| | | title="首页" |
| | | isLink |
| | | url="/pages/home/home" style="color:blue" |
| | | > |
| | | <image src="@/static/menuIcon/menu-home.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | v-if="$store.state.shenqingMenu" |
| | | v-cloak |
| | | title="我的申请" |
| | | isLink |
| | | url="/pages/my-application/my-application" |
| | | > |
| | | <image src="@/static/menuIcon/menu-application.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | title="我的待办" |
| | | isLink |
| | | url="/pages/my-todo/my-todo" |
| | | > |
| | | <image src="@/static/menuIcon/menu-todo.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | title="我的已办" |
| | | isLink |
| | | url="/pages/my-have-todo/my-have-todo" |
| | | > |
| | | <image src="@/static/menuIcon/menu-havedo.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | <u-cell |
| | | v-if="$store.state.rijihuaMenu" |
| | | v-cloak |
| | | title="日发运计划" |
| | | isLink |
| | | url="/pages/jihua/jihua" style="color:blue" |
| | | > |
| | | <image src="@/static/menuIcon/menu-shipment.png" slot="icon" size="32" name="search"/> |
| | | </u-cell> |
| | | </u-cell-group> |
| | | <u-button text="退出" type="primary" @click="menuPopupClick"></u-button> |
| | | </u-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { redirectLogin } from '@/utils/status.js'; |
| | | import {redirectLogin} from '@/utils/status.js'; |
| | | |
| | | export default { |
| | | name: 'PopupMenu', |
| | | // props:{ |
| | | // menuShow:{ |
| | | // type:Boolean, |
| | | // default:false |
| | | // } |
| | | // }, |
| | | // watch:{ |
| | | // menuShow(newV,oldV){ |
| | | // this.menuShow = newV; |
| | | // console.log('监听menu',newV); |
| | | // } |
| | | // }, |
| | | data() { |
| | | return { |
| | | menuShow:false, |
| | | rijihuaMenu:false, |
| | | shenqingMenu:false, |
| | | }; |
| | | }, |
| | | onShow() { |
| | | alert(111) |
| | | }, |
| | | methods: { |
| | | checkRijihua(data) { |
| | | let labelArry = [] |
| | | let newObj = data.filter(e => e.label == '地销计量') |
| | | newObj && newObj.forEach(e => { |
| | | if(e.children.length > 0) { |
| | | e.children.forEach(item => { |
| | | labelArry.push(item.label) |
| | | }) |
| | | }else{ |
| | | this.rijihuaMenu = false |
| | | } |
| | | }) |
| | | if(labelArry.indexOf('汽车日发运计划管理') > -1) { |
| | | this.rijihuaMenu = true |
| | | }else { |
| | | this.rijihuaMenu = false |
| | | } |
| | | }, |
| | | checkShenqing(data) { |
| | | let labelArry = [] |
| | | let newObj = data.filter(e => e.label == '工作审批') |
| | | newObj && newObj.forEach(e => { |
| | | if(e.children.length > 0) { |
| | | e.children.forEach(item => { |
| | | labelArry.push(item.label) |
| | | }) |
| | | }else{ |
| | | this.shenqingMenu = false |
| | | } |
| | | }) |
| | | if(labelArry.indexOf('我的申请') > -1) { |
| | | this.shenqingMenu = true |
| | | }else { |
| | | this.shenqingMenu = false |
| | | } |
| | | }, |
| | | menu() { |
| | | // 权限判断 |
| | | this.$reqGet('menu').then(res => { |
| | | if(res.data == null) { |
| | | this.rijihuaMenu = false |
| | | this.shenqingMenu = false |
| | | }else { |
| | | this.checkRijihua(res.data) |
| | | this.checkShenqing(res.data) |
| | | } |
| | | }) |
| | | }, |
| | | menuClick(){ |
| | | this.menuShow = !this.menuShow |
| | | this.$emit('menuShow',this.menuShow) |
| | | }, |
| | | open() { |
| | | console.log('open'); |
| | | this.menu() |
| | | }, |
| | | close() { |
| | | this.menuShow = false; |
| | | this.$emit('menuShow',this.menuShow) |
| | | }, |
| | | menuPopupClick(){ |
| | | this.menuShow = false; |
| | | redirectLogin(); |
| | | } |
| | | } |
| | | name: 'PopupMenu', |
| | | // props:{ |
| | | // menuShow:{ |
| | | // type:Boolean, |
| | | // default:false |
| | | // } |
| | | // }, |
| | | // watch:{ |
| | | // menuShow(newV,oldV){ |
| | | // this.menuShow = newV; |
| | | // console.log('监听menu',newV); |
| | | // } |
| | | // }, |
| | | data() { |
| | | return { |
| | | menuShow: false |
| | | }; |
| | | }, |
| | | onShow() { |
| | | alert(111); |
| | | }, |
| | | methods: { |
| | | menuClick() { |
| | | this.menuShow = !this.menuShow |
| | | this.$emit('menuShow', this.menuShow) |
| | | }, |
| | | open() { |
| | | console.log(this.$store.state, 'shenqingMenu====') |
| | | }, |
| | | close() { |
| | | this.menuShow = false; |
| | | this.$emit('menuShow', this.menuShow) |
| | | }, |
| | | menuPopupClick() { |
| | | this.menuShow = false; |
| | | uni.request({ |
| | | url: '/auth/token/logout', |
| | | method: 'DELETE', |
| | | header: { |
| | | 'TENANT-ID': 5, |
| | | Authorization: 'Bearer ' + uni.getStorageSync('access_token'), |
| | | VERSION: 'zzl' |
| | | } |
| | | }).then(redirectLogin()).catch(err => { |
| | | uni.showToast({ |
| | | title: '退出失败!', |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep.popup-menu { |
| | | .u-popup{ |
| | | .u-transition{ |
| | | .u-popup__content{ |
| | | // 按钮 |
| | | .u-button{ |
| | | width:vww(222); |
| | | height:vww(40); |
| | | margin-bottom:vww(40); |
| | | } |
| | | // cell单元格 |
| | | .u-cell-group{ |
| | | |
| | | .u-cell-group__wrapper{ |
| | | .u-cell{ |
| | | width:vww(270); |
| | | height:vww(48); |
| | | .u-cell__body{ |
| | | height:vww(48); |
| | | .u-cell__body__content{ |
| | | .u-cell__left-icon-wrap{ |
| | | margin-right: vww(8); |
| | | image{ |
| | | width:vww(16); |
| | | height:vww(16); |
| | | } |
| | | } |
| | | .u-cell__title{ |
| | | .u-cell__title-text{ |
| | | font-size:vww(14); |
| | | } |
| | | } |
| | | } |
| | | .u-cell__right-icon-wrap{ |
| | | .u-icon{ |
| | | .u-icon__icon{ |
| | | width:vww(7.27); |
| | | height:vww(12); |
| | | span{ |
| | | color:#007AFF; |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | .u-popup { |
| | | .u-transition { |
| | | .u-popup__content { |
| | | // 按钮 |
| | | .u-button { |
| | | width: vww(222); |
| | | height: vww(40); |
| | | margin-bottom: vww(40); |
| | | } |
| | | |
| | | // cell单元格 |
| | | .u-cell-group { |
| | | |
| | | .u-cell-group__wrapper { |
| | | .u-cell { |
| | | width: vww(270); |
| | | height: vww(48); |
| | | |
| | | .u-cell__body { |
| | | height: vww(48); |
| | | |
| | | .u-cell__body__content { |
| | | .u-cell__left-icon-wrap { |
| | | margin-right: vww(8); |
| | | |
| | | image { |
| | | width: vww(16); |
| | | height: vww(16); |
| | | } |
| | | } |
| | | |
| | | .u-cell__title { |
| | | .u-cell__title-text { |
| | | font-size: vww(14); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .u-cell__right-icon-wrap { |
| | | .u-icon { |
| | | .u-icon__icon { |
| | | width: vww(7.27); |
| | | height: vww(12); |
| | | |
| | | span { |
| | | color: #007AFF; |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |