<template>
|
|
<view class="page">
|
|
<view class="content">
|
|
<!-- 顶部背景和用户信息 -->
|
|
<view class="banner b-relative">
|
|
<image src="/static/re/center.png" class="banner-before" mode="scaleToFill" />
|
|
<view class="flex head-d" @click="clickLogin">
|
|
<view class="square120 garden mr20">
|
|
<image :src="userAvatar" mode="aspectFill" class="square120" />
|
|
</view>
|
|
<view class="nickname">{{ name || '点击登录' }}</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 用户/泵司功能菜单 -->
|
|
<view v-if="Number(role) === 0" style="background-color:white">
|
|
<view class="re-item flex-sb bottom-line" @click="clickSells">
|
|
<view>我要推荐</view>
|
|
<view class="subf">推荐领奖
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb bottom-line" @click="clickOrder">
|
|
<view>我的订单</view>
|
|
<view class="subf">立即查看
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb bottom-line" @click="clickHistory">
|
|
<view>历史订单</view>
|
|
<view class="subf">点击查看
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb">
|
|
<view>我要拒单</view>
|
|
<button class="subf" @click="clickService">联系客服
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</button>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 企业功能菜单 -->
|
|
<view v-if="Number(role) === 1" style="background-color:white">
|
|
<view class="re-item flex-sb bottom-line" @click="clickCars">
|
|
<view>企业设备</view>
|
|
<view class="subf">{{ cars.length || 0 }}台
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb bottom-line" @click="clickPush">
|
|
<view>发布订单</view>
|
|
<view class="subf">立即发布
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb">
|
|
<view>联系客服</view>
|
|
<button class="subf" @click="clickService">微信客服
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</button>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 员工功能菜单 -->
|
|
<view v-if="Number(role) === 2" style="background-color:white">
|
|
<view class="re-item flex-sb bottom-line" @click="clickCars">
|
|
<view>企业设备</view>
|
|
<view class="subf">{{ cars.length || 0 }}台
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb bottom-line" @click="clickSells">
|
|
<view>推荐司机</view>
|
|
<view class="subf">推荐有礼
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb bottom-line" @click="clickStaff">
|
|
<view>员工管理</view>
|
|
<view class="subf">管理员工
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb">
|
|
<view>员工订单</view>
|
|
<view class="subf" @click="swichHall">查看订单
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 区域管理员功能菜单 -->
|
|
<view v-if="Number(role) === 3" style="background-color:white">
|
|
<view class="re-item flex-sb bottom-line" @click="clickRejectApply">
|
|
<view>拒单申请</view>
|
|
<view class="subf">查看申请
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb">
|
|
<view>区域订单</view>
|
|
<view class="subf" @click="swichHall">查看订单
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 通用功能菜单 -->
|
|
<view style="background-color:white; margin-top: 20rpx;">
|
|
<view class="re-item flex-sb bottom-line" @click="swichHall">
|
|
<view>切换大厅</view>
|
|
<view class="subf">{{ roleText }}
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb bottom-line" @click="clickYuan">
|
|
<view>意见反馈</view>
|
|
<view class="subf">提交建议
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
<view class="re-item flex-sb">
|
|
<view>关于我们</view>
|
|
<view class="subf" @click="clickShen">了解更多
|
|
<uv-icon name="arrow-right" size="16" color="#999"></uv-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<tabber select="center" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import tabber from '@/components/base/tabbar.vue'
|
|
export default {
|
|
components: {
|
|
tabber,
|
|
},
|
|
data() {
|
|
return {
|
|
name: '',
|
|
role: '1',
|
|
cars: [],
|
|
userAvatar: 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132'
|
|
}
|
|
},
|
|
computed: {
|
|
roleText() {
|
|
const roleNum = Number(this.role);
|
|
if (roleNum === 0) {
|
|
return '用户/泵司';
|
|
} else if (roleNum === 1) {
|
|
return '企业用户';
|
|
} else if (roleNum === 2) {
|
|
return '员工';
|
|
} else if (roleNum === 3) {
|
|
return '区域管理员';
|
|
} else {
|
|
return '用户';
|
|
}
|
|
}
|
|
},
|
|
onShow() {
|
|
this.role = uni.getStorageSync('role') || '1';
|
|
this.name = uni.getStorageSync('name') || '用户';
|
|
this.loadCars();
|
|
},
|
|
methods: {
|
|
// 点击头像
|
|
clickLogin() {
|
|
uni.showToast({
|
|
title: '用户信息',
|
|
icon: 'none'
|
|
});
|
|
},
|
|
// 我的订单
|
|
clickOrder() {
|
|
uni.navigateTo({ url: '/pages_order/user/orders' });
|
|
},
|
|
// 历史订单
|
|
clickHistory() {
|
|
uni.navigateTo({ url: '/pages_order/user/history' });
|
|
},
|
|
// 推荐功能
|
|
clickSells() {
|
|
uni.navigateTo({ url: '/pages_order/base/sells' });
|
|
},
|
|
// 员工功能
|
|
clickStaff() {
|
|
uni.navigateTo({ url: '/pages_order/staff/staffManage' });
|
|
},
|
|
// 企业设备
|
|
clickCars() {
|
|
uni.navigateTo({ url: '/pages_order/staff/cars' });
|
|
},
|
|
// 发布订单
|
|
clickPush() {
|
|
uni.navigateTo({ url: '/pages_order/staff/create' });
|
|
},
|
|
// 意见反馈
|
|
clickYuan() {
|
|
uni.navigateTo({ url: '/pages_order/base/yuan' });
|
|
},
|
|
// 关于我们
|
|
clickShen() {
|
|
uni.navigateTo({ url: '/pages_order/base/shen' });
|
|
},
|
|
// 切换大厅
|
|
swichHall() {
|
|
uni.reLaunch({ url: '/pages/index/order' });
|
|
},
|
|
// 拒单申请(区域管理员)
|
|
clickRejectApply() {
|
|
uni.navigateTo({ url: '/pages_order/base/rejectApply' });
|
|
},
|
|
// 联系客服
|
|
clickService() {
|
|
uni.showModal({
|
|
title: '联系客服',
|
|
content: '确定拨打客服电话?',
|
|
success: (res) => {
|
|
if (res.confirm) {
|
|
uni.makePhoneCall({
|
|
phoneNumber: '400-123-4567'
|
|
});
|
|
}
|
|
}
|
|
});
|
|
},
|
|
// 加载设备数据
|
|
loadCars() {
|
|
// 模拟加载设备数据
|
|
this.cars = [
|
|
{ id: 1, name: '泵车001' },
|
|
{ id: 2, name: '泵车002' },
|
|
{ id: 3, name: '搅拌车001' }
|
|
];
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
body {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
page {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
button {
|
|
padding: 0;
|
|
margin: 0;
|
|
background-color: transparent;
|
|
border: none;
|
|
}
|
|
|
|
button::after {
|
|
border: none;
|
|
}
|
|
|
|
button:hover {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.head-d {
|
|
position: absolute;
|
|
top: 188rpx;
|
|
left: 64rpx;
|
|
z-index: 3;
|
|
}
|
|
|
|
.banner {
|
|
width: 100vw;
|
|
min-height: 420rpx;
|
|
position: relative;
|
|
}
|
|
|
|
.banner-before {
|
|
content: " ";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
filter: blur(2rpx);
|
|
z-index: -1;
|
|
}
|
|
|
|
.banner::after {
|
|
content: " ";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: rgba(0, 0, 0, .2);
|
|
-webkit-backdrop-filter: blur(5rpx);
|
|
backdrop-filter: blur(5rpx);
|
|
z-index: 1;
|
|
}
|
|
|
|
.nickname {
|
|
line-height: 120rpx !important;
|
|
font-weight: bolder !important;
|
|
color: #fff;
|
|
font-size: 32rpx;
|
|
}
|
|
|
|
.square120 {
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
border-radius: 60rpx;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.garden {
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.mr20 {
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.flex {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.flex-sb {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.re-item {
|
|
padding: 30rpx;
|
|
font-size: 32rpx;
|
|
color: #333;
|
|
}
|
|
|
|
.bottom-line {
|
|
border-bottom: 1rpx solid #f0f0f0;
|
|
}
|
|
|
|
.subf {
|
|
font-size: 28rpx;
|
|
color: #999;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10rpx;
|
|
}
|
|
|
|
.b-relative {
|
|
position: relative;
|
|
}
|
|
</style>
|