From 9d901b4215323c97a00a068cd962f5c9c04dadfa Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 04 九月 2025 10:15:09 +0800
Subject: [PATCH] 前端
---
small-program/pages/mine/mine.vue | 270 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 227 insertions(+), 43 deletions(-)
diff --git a/small-program/pages/mine/mine.vue b/small-program/pages/mine/mine.vue
index 7bc9062..26b9905 100644
--- a/small-program/pages/mine/mine.vue
+++ b/small-program/pages/mine/mine.vue
@@ -7,96 +7,130 @@
</view>
<view class="info">
<view class="info-box">
- <view class="info-box-head" @click="jump(1)">
- <view class="info-box-head-image">
- <image src="/static/logo.png" mode="widthFix"></image>
+ <view class="info-box-head" >
+ <view class="info-box-head-image" @click="jump(isLogin?1:5)">
+ <image v-if="userInfo.fullCoverImage&&userInfo.fullCoverImage !=''" :src="userInfo.fullCoverImage" mode="widthFix"></image>
+ <image v-else src="/static/icon/img@2x.png" mode="widthFix"></image>
</view>
- <view class="info-box-head-info">
- <view class="info-box-head-info-name">鏉ㄥ┓鐟�</view>
+ <view class="info-box-head-info" v-if="isLogin">
+ <view class="info-box-head-info-name" @click="jump(1)">{{userInfo.nickName||'鍖垮悕'}}</view>
<view class="info-box-head-info-type">
- <view class="info-box-head-info-type-val">鐢ㄥ伐鍙戝竷鏂�</view>
- <view class="info-box-head-info-type-wz">鍒囨崲</view>
+ <view class="info-box-head-info-type-val">{{userInfo.useIdentity==1?'鐢ㄥ伐鎺ュ崟鏂�':'鐢ㄥ伐鍙戝竷鏂�'}}</view>
+ <view class="info-box-head-info-type-wz" @click="editUseIdentity">鍒囨崲</view>
+ </view>
+ </view>
+ <view class="info-box-head-info" v-else @click="jump(5)">
+ <view class="info-box-head-info-name">鐐瑰嚮鐧诲綍</view>
+ <view class="info-box-head-info-type">
+ <view class="info-box-head-info-type-wz">寰俊鎺堟潈鐧诲綍</view>
</view>
</view>
</view>
<view class="info-box-label">璐︽埛浣欓</view>
<view class="info-box-price">
- <text>楼1000.00</text>
- <view class="info-box-price-btn" @click="jumpTX">鍘绘彁鐜�</view>
+ <text>锟{isLogin?((userInfo.amount|| 0)/100).toFixed(2) :0.00}}</text>
+ <view class="info-box-price-btn" @click="jump(isLogin?6:5)">鍘绘彁鐜�</view>
</view>
</view>
</view>
<view class="statistics">
- <view class="statistics-box">
- <view class="statistics-item">
- <text>248</text>
+ <view class="statistics-box" v-if="!isLogin || userInfo.useIdentity !=1">
+ <view class="statistics-item" @click="jumpOrderList('0')" >
+ <text>{{isLogin?(userInfo.userCenterVO.releaseTaskTotal||0):'-'}}</text>
<text>鎬诲彂鍗曟暟</text>
</view>
<view class="statistics-x"></view>
- <view class="statistics-item">
- <text>1</text>
+ <view class="statistics-item" @click="jumpOrderList('1')" >
+ <text class="redtxt">{{isLogin?(userInfo.userCenterVO.waitReceiveTotal||0):'-'}}</text>
<text>寰呮帴鍗�</text>
</view>
- <view class="statistics-item">
- <text>2</text>
+ <view class="statistics-item" @click="jumpOrderList('2')" >
+ <text>{{isLogin?(userInfo.userCenterVO.doingTotal||0):'-'}}</text>
<text>杩涜涓�</text>
</view>
- <view class="statistics-item">
- <text>2</text>
+ <view class="statistics-item" @click="jumpOrderList('3')" >
+ <text>{{isLogin?(userInfo.userCenterVO.waitCommentTotal||0):'-'}}</text>
<text>寰呰瘎浠�</text>
</view>
+ </view>
+ <view class="statistics-box" v-else>
+ <view class="statistics-item" @click="jumpOrderList('4')" >
+ <text>{{isLogin?(userInfo.userCenterVO.receiveTotal||0):'-'}}</text>
+ <text>宸叉帴鍗�</text>
+ </view>
+ <view class="statistics-x"></view>
+ <view class="statistics-item" @click="jumpOrderList('5')">
+ <text>{{isLogin?(userInfo.userCenterVO.taskingTotal||0):'-'}}</text>
+ <text>杩涜涓�</text>
+ </view>
+ <view class="statistics-item" @click="jumpOrderList('6')">
+ <text>{{isLogin?(userInfo.userCenterVO.doneTotal||0):'-'}}</text>
+ <text>宸插畬鎴�</text>
+ </view>
</view>
</view>
<view class="guanggao">
<view class="guanggao-image">
<image src="/static/image/share@2x.png" mode="widthFix"></image>
+ <button mode="widthFix"class='sharebtn' open-type="share"></button>
</view>
</view>
- <view class="paidan">
+ <view class="paidan" v-if="isLogin && userInfo.useIdentity ==1">
<view class="paidan-box">
<view class="paidan-label">鎺ュ彈绯荤粺鑷姩娲惧崟</view>
<view class="paidan-right">
<text>鍏抽棴</text>
- <u-switch activeColor="#00BC12" v-model="value"></u-switch>
+ <u-switch activeColor="#00BC12" @change="updateMemberInfo" v-model="autoReceiveStatus"></u-switch>
</view>
</view>
</view>
<view class="list">
<view class="list-hz">
- <view class="list-hz-item">
+ <view class="list-hz-item"@click="jumpService(1)">
<text>鏈嶅姟浠嬬粛</text>
- <u-icon name="arrow-right" color="#111111" size="18"></u-icon>
+ <u-icon name="arrow-right" color="#111111" size="18"></u-icon>
</view>
- <view class="list-hz-item">
+ <view class="list-hz-item" @click="jumpService(2)">
<text>鏀惰垂鏍囧噯</text>
<u-icon name="arrow-right" color="#111111" size="18"></u-icon>
</view>
- <view class="list-hz-item" @click="jump(2)">
+ <view class="list-hz-item" @click="jump(isLogin?2:5)">
<text>宸ヤ汉璧氶挶</text>
<view class="list-hz-item-r">
- <text>鍙帴鐢ㄥ伐璁㈠崟</text>
+ <text v-if="userInfo.workerIdentity === 2">宸茶璇�</text>
+ <text class="orangetxt" v-else-if="userInfo.workerIdentity === 1">璁よ瘉涓�</text>
+ <text class="redtxt" v-else-if="userInfo.workerIdentity === 3">璁よ瘉澶辫触</text>
+ <text v-else>鍙帴鐢ㄥ伐璁㈠崟</text>
<u-icon name="arrow-right" color="#111111" size="18"></u-icon>
</view>
</view>
- <view class="list-hz-item" @click="jump(3)">
+ <view class="list-hz-item" @click="jump(isLogin?3:5)">
<text>鍙告満璧氶挶</text>
<view class="list-hz-item-r">
- <text>鍙帴鐢ㄥ伐璁㈠崟</text>
+ <text v-if="userInfo.driverIdentity === 2">宸茶璇�</text>
+ <text class="orangetxt" v-else-if="userInfo.driverIdentity === 1">璁よ瘉涓�</text>
+ <text class="redtxt" v-else-if="userInfo.driverIdentity === 3">璁よ瘉澶辫触</text>
+ <text v-else>鍙帴杩愯揣璁㈠崟</text>
<u-icon name="arrow-right" color="#111111" size="18"></u-icon>
</view>
</view>
- <view class="list-hz-item" @click="jump(4)">
+ <view class="list-hz-item" @click="jump(isLogin?4:5)">
<text>鎴戣兘渚涢</text>
<view class="list-hz-item-r">
- <text>鍙帴鐢ㄥ伐璁㈠崟</text>
+ <text v-if="userInfo.chefIdentity === 2">宸茶璇�</text>
+ <text class="orangetxt" v-else-if="userInfo.chefIdentity === 1">璁よ瘉涓�</text>
+ <text class="redtxt" v-else-if="userInfo.chefIdentity === 3">璁よ瘉澶辫触</text>
+ <text v-else>鍙帴鐢ㄩ璁㈠崟</text>
<u-icon name="arrow-right" color="#111111" size="18"></u-icon>
</view>
</view>
- <view class="list-hz-item">
+ <view class="list-hz-item" @click="jumpService(3)">
<text>鍏充簬鎴戜滑</text>
<u-icon name="arrow-right" color="#111111" size="18"></u-icon>
</view>
</view>
+ <view class="setup-sub" v-if="isLogin" @click="logOffDo">閫�鍑虹櫥褰�</view>
+ <view class="setup-sub" v-if="!isLogin" @click="jump(5)">鍘荤櫥褰�</view>
</view>
</view>
</view>
@@ -106,43 +140,155 @@
import { mapState } from 'vuex'
export default {
computed: {
- ...mapState(['navHeight', 'statusbarHeight'])
+ ...mapState(['navHeight', 'statusbarHeight','userInfo','token','openid'])
},
data() {
return {
- value: false
+ changing:false,
+ changing1:false,
+ autoReceiveStatus: false,
+ isLogin:false,
+ useIdentity:0
+ }
+ },
+ onShow(options){
+ this.isLogin=false
+ this.autoReceiveStatus=false;
+ this.useIdentity =0
+
+ if(this.token &&this.token!='' && this.userInfo && JSON.stringify(this.userInfo) != '{}'){
+ this.isLogin=true
+ this.getUserInfo()
+ this.autoReceiveStatus = this.userInfo.autoReceiveStatus === 1
+ this.useIdentity = this.userInfo.useIdentity
}
},
methods: {
- jumpTX() {
+ jumpOrderList(flag){
+ const app = getApp();
+ app.globalData.orderStatus = flag;
+ uni.switchTab({
+ url: '/pages/demand-hall/demand-hall'
+ })
+ },
+ getUserInfo() {
+ var that = this;
+ this.$u.api.getMemberInfo({}).then(res =>{
+ if (res&&res.code ===200) {
+ that.$store.commit('setUserInfo', res.data)
+ that.$isResolve()
+ }else{
+ that.$store.commit('setToken','')
+ that.$store.commit('setUserInfo',{})
+ that.$isResolve()
+ }
+ })
+ },
+ jumpService(flag) {
uni.navigateTo({
- url: '/pages/withdrawal/withdrawal'
+ url: '/pages/rich-text-page/rich-text-page?flag='+flag
})
},
jump(type) {
switch(type) {
case 1:
uni.navigateTo({
- url: '/pages/set-up/set-up'
+ url: '/packageA/pages/set-up/set-up'
})
break;
case 2:
- uni.navigateTo({
- url: '/pages/employment-certification/employment-certification'
- })
+ if(!this.userInfo.workerIdentity ||this.userInfo.workerIdentity ==0){
+ uni.navigateTo({
+ url: '/packageA/pages/employment-certification/employment-certification?flag=0'
+ })
+ }else{
+ uni.navigateTo({
+ url: '/packageA/pages/certification-results/certification-results?flag=0'
+ })
+ }
+ break;
break;
case 3:
- uni.navigateTo({
- url: '/pages/freight-certification/freight-certification'
- })
+ if(!this.userInfo.driverIdentity ||this.userInfo.driverIdentity ==0){
+ uni.navigateTo({
+ url: '/packageA/pages/employment-certification/employment-certification?flag=1'
+ })
+ }else{
+ uni.navigateTo({
+ url: '/packageA/pages/certification-results/certification-results?flag=1'
+ })
+ }
break;
case 4:
+ if(!this.userInfo.chefIdentity ||this.userInfo.chefIdentity ==0){
+ uni.navigateTo({
+ url: '/packageA/pages/employment-certification/employment-certification?flag=2'
+ })
+ }else{
+ uni.navigateTo({
+ url: '/packageA/pages/certification-results/certification-results?flag=2'
+ })
+ }
+ break;
+ case 5:
uni.navigateTo({
- url: '/pages/catering-certification/catering-certification'
+ url: '/pages/login/login'
+ })
+ break;
+ case 6:
+ uni.navigateTo({
+ url: '/packageA/pages/withdrawal/withdrawal'
+ })
+ break;
+ case 7:
+ uni.navigateTo({
+ url: '/packageA/pages/certification-results/certification-results'
})
break;
}
- }
+ },
+ logOffDo() {
+ var that = this
+ this.$u.api.logOff({}).then(res =>{
+ //閫�鍑虹櫥褰曟垚鍔�
+ that.isLogin =false
+ that.$store.commit("empty")
+ })
+ } ,
+ editUseIdentity() {
+ if(this.changing1){
+ return
+ }
+ this.changing1 = true
+ var that = this
+ var param ={useIdentity:this.userInfo.useIdentity==1?0:1}
+ that.$u.api.editUseIdentity(param)
+ .then(res =>{
+ console.log(222,res)
+ if(res.code ===200){
+ that.userInfo.useIdentity = param.useIdentity
+ that.$store.commit('setUserInfo', that.userInfo)
+ uni.$emit('refresh')
+ }
+ }).finally(() => {
+ that.changing1 = false
+ })
+ } ,
+ updateMemberInfo(e) {
+ if(this.changing){
+ return
+ }
+ this.changing = true
+ var that = this
+ var param ={ autoReceiveStatus:that.autoReceiveStatus?1:0}
+ this.$u.api.editMemberInfo(param).then(res =>{
+ if(res.code ===200){
+ that.userInfo.autoReceiveStatus = param.autoReceiveStatus
+ }
+ }).finally(() => {
+ that.changing = false
+ })
+ }
}
}
</script>
@@ -163,6 +309,7 @@
.list {
width: 100%;
padding: 0 30rpx;
+ padding-bottom: 30px;
box-sizing: border-box;
.list-hz {
width: 100%;
@@ -234,6 +381,20 @@
image {
width: 100%;
height: 100%;
+ z-index: 999;
+ }
+ .sharebtn{
+ position: relative;
+ top: -150rpx;
+ left: 0;
+ outline:none;
+ padding:0px;
+ cursor: pointer;
+ border: none;
+ opacity: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 1000;
}
}
}
@@ -401,4 +562,27 @@
}
}
}
+ .setup-sub {
+ width: 100%;
+ height: 88rpx;
+ line-height: 88rpx;
+ text-align: center;
+ box-shadow: 0rpx 8rpx 12rpx 0rpx rgba(91,190,56,0.16);
+ border-radius: 44rpx;
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #5BBE38;
+ margin-top: 80rpx;
+ border: 1rpx solid #15CF52;
+ bottom: 50px;
+ }
+ .bluetxt{
+ color:blue !important ;
+ }
+ .redtxt{
+ color:#FF0000 !important ;
+ }
+ .orangetxt{
+ color: #FF7200 !important ;
+ }
</style>
--
Gitblit v1.9.3