赞
踩
1.
pages下创建三个不同用户身份的“我的”页面。
显示第几个tabbar,0是管理员 1是财务 2是司机
2.
在uni_modules文件夹创建底部导航cc-myTabbar文件夹,在cc-myTabbar文件夹创建components文件夹,在components文件夹创建cc-myTabbar.vue组件
3.
在utils文件夹创建tabBar.js
4.
pages.json里指定路径
5.
在单页面引入底部导航组件
- //cc-myTabbar.vue 底部导航组件
- <template>
- <view class="page-total">
- <view class="tab-list">
- <view class="list" v-for="(item,index) in TabBarList" @click="onTabBar(item,index)" :style="{marginTop: (item.name == '') ? '-88rpx' : '0px'}" :key="item.index">
- <image :src="item.acImg" mode="widthFix" v-show="tabBarShow ===index" :style="{width: (item.name == '') ? '100rpx' : '54rpx',borderRadius: (item.name == '') ? '24rpx' : '0rpx'}"></image>
- <image :src="item.img" mode="widthFix" v-show="tabBarShow != index" :style="{width: (item.name == '') ? '100rpx' : '54rpx',borderRadius: (item.name == '') ? '24rpx' : '0rpx'}"></image>
- <text :class="{'action':tabBarShow===index}">{{item.name}}</text>
- </view>
- </view>
- </view>
- </template>
-
- <script>
- import tabBar from "@/utils/tabBar.js"
- // 判断当前登陆用户角色
- // 0 为管理员
- // 1 为财务
- // 2 为司机
-
- // 三元表达式判断当前登陆的用户角色
- // var user_type = uni.getStorageSync("userType")
- var user_type = 0
- let type = user_type === 0 ? 'admin' : user_type === 1 ? "finance" : "driver"
-
- const state = {
- list: tabBar[type]
- }
- // console.log(user_type, 'user_type');
- // console.log(type, 'type');
- // console.log(state, 'state');
- export default {
- data () {
- return {
- TabBarList: state.list,
- codeheight: 0,
- isOverall: 0,
- phoneModel: '',
- };
- },
- props: {
- tabBarShow: {
- type: Number,
- default: 0,
- }
- },
- mounted () {
- try {
- const res = uni.getSystemInfoSync();
- let that = this;
- // 获取系统信息
- uni.getSystemInfo({
- success (res) {
- console.log(res.brand) //手机牌子
- console.log(res.model) //手机型号
- console.log(res.screenWidth) //屏幕宽度
- console.log(res.screenHeight) //屏幕高度
- that.codeheight = Math.round(res.screenHeight);
- that.phoneModel = res.model
- if (res.model.search('iPhone')) {
- that.isOverall = 0;
- } else if (Math.round(res.screenHeight) > 740) {
- that.isOverall = 1;
- }
- console.log(that.isOverall);
- }
- });
- } catch (e) {
- // error
- }
- },
- methods: {
- // 底部导航 跳转
- onTabBar (item, index) {
- // this.tabBarShow = index;
- // console.log(item, 'item');
- // console.log(index, 'index');
-
- if (user_type == 2) { // 司机
- switch (item.name) {
- case '首页':
- uni.switchTab({
- url: '/pages/homePage/homePage'
- })
- break;
- case '':
- // uni.switchTab({
- // url: '/pages/scan/scan'
- // })
- // 允许从相机和相册扫码
- uni.scanCode({
- success: function (res) {
- console.log('条码类型:' + res.scanType);
- console.log('条码内容:' + res.result);
- }
- });
- break;
- case '我的':
- uni.switchTab({
- url: '/pages/mineDriver/mineDriver'
- })
- break;
- }
- } else if (user_type == 0) { //管理员
- switch (item.name) {
- case '首页':
- uni.switchTab({
- url: '/pages/homePage/homePage'
- })
- break;
- case '':
- // uni.switchTab({
- // url: '/pages/scan/scan'
- // })
- // 允许从相机和相册扫码
- uni.scanCode({
- success: function (res) {
- console.log('条码类型:' + res.scanType);
- console.log('条码内容:' + res.result);
- }
- });
- break;
- case '我的':
- uni.switchTab({
- url: '/pages/mine/mine'
- })
- break;
- }
- } else { // 财务
- switch (item.name) {
- case '首页':
- uni.switchTab({
- url: '/pages/homePage/homePage'
- })
- break;
- case '':
- // uni.switchTab({
- // url: '/pages/scan/scan'
- // })
- // 允许从相机和相册扫码
- uni.scanCode({
- success: function (res) {
- console.log('条码类型:' + res.scanType);
- console.log('条码内容:' + res.result);
- }
- });
- break;
- case '我的':
- uni.switchTab({
- url: '/pages/mineFinance/mineFinance'
- })
- break;
- }
- }
-
- }
- }
- }
- </script>
-
- <style scoped lang="scss">
- @import 'cc-myTabbar.scss';
- </style>
-
- //在components文件夹里创建cc-myTabbar.scss
- //cc-myTabbar.scss
- /* 主要颜色 */
- $base: #508AF1; // 基础颜色
-
- .page-total {
- position: fixed;
- left: 0;
- bottom: 0;
- width: 100%;
- // height: 100rpx;
- }
-
- .tab-list {
- display: flex;
- justify-content: space-between;
- align-items: center;
- width: 100%;
- height: 140rpx;
- padding-bottom: 20rpx;
- background-color: #FFFFFF;
-
- // border-top: 1px solid #e8e8e8;
- .list {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- width: 38%;
- height: 120rpx;
-
- image {
- width: 48rpx;
- height: 48rpx;
- background-color: white;
-
-
- }
-
- text {
- color: #707070;
- font-weight: 900;
- font-size: 24rpx;
- margin-top: 10rpx;
- }
-
- .action {
- color: $base;
- }
- }
- }
- //tabBar.js
- // 小程序管理者
- const admin = [
- {
- pagePath: "/pages/homePage/homePage",
- index: 0,
- name: '首页',
- img: '/static/images/tabBar/tab_01.png',
- acImg: '/static/images/tabBar/tab_02.png'
- },
- // {
- // index: 2,
- // name: '',
- // img: '/static/images/tabBar/tab_03.png',
- // acImg: '/static/images/tabBar/tab_04.png'
- // },
- {
- pagePath: "/pages/mine/mine",
- index: 1,
- name: '我的',
- img: '/static/images/tabBar/tab_05.png',
- acImg: '/static/images/tabBar/tab_06.png'
- },
- ]
- // 财务
- const finance = [
- {
- pagePath: "/pages/homePage/homePage",
- index: 0,
- name: '首页',
- img: '/static/images/tabBar/tab_01.png',
- acImg: '/static/images/tabBar/tab_02.png'
- },
- // {
- // index: 1,
- // name: '',
- // img: '/static/images/tabBar/tab_03.png',
- // acImg: '/static/images/tabBar/tab_04.png'
- // },
- {
- pagePath: "/pages/mineFinance/mineFinance",
- index: 1,
- name: '我的',
- img: '/static/images/tabBar/tab_05.png',
- acImg: '/static/images/tabBar/tab_06.png'
- },
- ]
-
- // 司机
- const driver = [
- {
- pagePath: "/pages/homePage/homePage",
- index: 0,
- name: '首页',
- img: '/static/images/tabBar/tab_01.png',
- acImg: '/static/images/tabBar/tab_02.png'
- },
- // {
- // pagePath: "/pages/scan/scan",
- // index: 1,
- // name: '',
- // img: '/static/images/tabBar/tab_03.png',
- // acImg: '/static/images/tabBar/tab_04.png'
- // },
- {
- pagePath: "/pages/mineDriver/mineDriver",
- index: 1,
- name: '我的',
- img: '/static/images/tabBar/tab_05.png',
- acImg: '/static/images/tabBar/tab_06.png'
- },
- ]
-
- export default {
- admin,
- finance,
- driver
- }
- // pages.json
- {
- "pages": [
- {
- "path": "pages/homePage/homePage",
- "style": {
- "navigationBarTitleText": "首页"
- // "navigationStyle": "custom"
- }
- },
- {
- "path": "pages/login",
- "style": {
- "navigationBarTitleText": "登录"
- }
- },
- {
- "path": "pages/register",
- "style": {
- "navigationBarTitleText": "注册"
- }
- },
- {
- "path": "pages/work/work",
- "style": {
- "navigationBarTitleText": "工作台"
- }
- },
- {
- "path": "pages/mine/mine", //管理员
- "style": {
- "navigationBarTitleText": "我的"
- }
- },
- {
- "path": "pages/mineDriver/mineDriver", // 司机
- "style": {
- "navigationBarTitleText": "我的"
- }
- },
- {
- "path": "pages/mineFinance/mineFinance", // 财务
- "style": {
- "navigationBarTitleText": "我的"
- }
- },
- {
- "path": "pages/mine/avatar/index",
- "style": {
- "navigationBarTitleText": "修改头像"
- }
- },
- {
- "path": "pages/mine/info/index",
- "style": {
- "navigationBarTitleText": "个人信息"
- }
- },
- {
- "path": "pages/mine/info/edit",
- "style": {
- "navigationBarTitleText": "编辑资料"
- }
- },
- {
- "path": "pages/mine/pwd/index",
- "style": {
- "navigationBarTitleText": "修改密码"
- }
- },
- {
- "path": "pages/mine/setting/index",
- "style": {
- "navigationBarTitleText": "应用设置"
- }
- },
- {
- "path": "pages/mine/help/index",
- "style": {
- "navigationBarTitleText": "常见问题"
- }
- },
- {
- "path": "pages/mine/about/index",
- "style": {
- "navigationBarTitleText": "关于我们"
- }
- },
- ],
- "tabBar": {
- "custom": true, // 隐藏tabBar
- "color": "#000000",
- "selectedColor": "#508af1", // 选中颜色
- "borderStyle": "white",
- "backgroundColor": "#ffffff",
- "list": [
- {
- "pagePath": "pages/homePage/homePage"
- // "iconPath": "static/images/tabbar/tab_01.png",
- // "selectedIconPath": "static/images/tabbar/tab_02.png",
- // "text": "首页"
- },
- // {
- // "pagePath": "pages/work/work",
- // "iconPath": "static/images/tabbar/work.png",
- // "selectedIconPath": "static/images/tabbar/work_.png",
- // "text": "工作台"
- // },
- {
- "pagePath": "pages/mine/mine"
- // "iconPath": "static/images/tabbar/tab_09.png",
- // "selectedIconPath": "static/images/tabbar/tab_10.png",
- // "text": "我的"
- },
- {
- "pagePath": "pages/mineDriver/mineDriver"
- // "iconPath": "static/images/tabbar/tab_09.png",
- // "selectedIconPath": "static/images/tabbar/tab_10.png",
- // "text": "我的"
- },
- {
- "pagePath": "pages/mineFinance/mineFinance"
- // "iconPath": "static/images/tabbar/tab_09.png",
- // "selectedIconPath": "static/images/tabbar/tab_10.png",
- // "text": "我的"
- }
- ]
- },
- "globalStyle": {
- "navigationBarTextStyle": "black",
- "navigationBarTitleText": "RuoYi",
- "navigationBarBackgroundColor": "#FFFFFF"
- }
- }
- // 单页面
- // mine.vue管理员版"我的"页面 / mineDriver.vue司机版"我的"页面 / mineFinance.vue财务版"我的"页面
-
- <template>
- <view class="page">
-
- <!-- tabBarShow:显示第几个tabbar 0是管理员 1是财务 2是司机-->
- <cc-myTabbar :tabBarShow="0"></cc-myTabbar>
-
- </view>
- </template>
-
- <script>
- export default {
-
- data() {
- return {
-
- };
- },
- onReady() {
- uni.hideTabBar()
- },
-
- methods: {
-
- }
- }
- </script>
-
- <style scoped lang="scss">
- page {
- padding-bottom: 140rpx;
-
- }
- </style>
上一篇文章,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。