doum
2025-09-15 a1c569d40b5d1d6571a197467a41fd3421c393ce
small-program/pages/mine/mine.vue
@@ -7,63 +7,68 @@
         </view>
         <view class="info">
            <view class="info-box">
               <view class="info-box-head" @click="jump(isLogin?1:0)">
                  <view class="info-box-head-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/logo.png" mode="widthFix"></image>
                     <image v-else src="/static/icon/img@2x.png" mode="widthFix"></image>
                  </view>
                  <view class="info-box-head-info" v-if="isLogin">
                     <view class="info-box-head-info-name">{{userInfo.nickName||'匿名'}}</view>
                     <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-val1" v-if="userInfo.useIdentity==1">用工接单方</view>
                        <view class="info-box-head-info-type-val" v-else>用工发布方</view>
                        <!-- <view class="info-box-head-info-type-wz" @click="editUseIdentity">切换</view> -->
                     </view> 
                  </view>
                  <view class="info-box-head-info" v-else>
                  <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 class="info-box-head-qiehuan" @click="editUseIdentity">
                     <image src="/static/icon/ic_change@2x.png" mode="widthFix"></image>
                     <text>切换身份</text>
                  </view>
               </view>
               <view class="info-box-label">账户余额</view>
               <view class="info-box-price">
                  <text>¥{{isLogin?(userInfo.amount || 0) :0.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" v-if="!isLogin || userInfo.useIdentity !=1">
               <view class="statistics-item" >
               <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>{{isLogin?(userInfo.userCenterVO.waitReceiveTotal||0):'-'}}</text>
               <view class="statistics-item" @click="jumpOrderList('1')" >
                  <text class="redtxt">{{isLogin?(userInfo.userCenterVO.waitReceiveTotal||0):'-'}}</text>
                  <text>待接单</text>
               </view>
               <view class="statistics-item">
               <view class="statistics-item" @click="jumpOrderList('2')" >
                  <text>{{isLogin?(userInfo.userCenterVO.doingTotal||0):'-'}}</text>
                  <text>进行中</text>
               </view>
               <view class="statistics-item">
               <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" >
               <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">
               <view class="statistics-item" @click="jumpOrderList('5')">
                  <text>{{isLogin?(userInfo.userCenterVO.taskingTotal||0):'-'}}</text>
                  <text>进行中</text>
               </view>
               <view class="statistics-item">
               <view class="statistics-item" @click="jumpOrderList('6')">
                  <text>{{isLogin?(userInfo.userCenterVO.doneTotal||0):'-'}}</text>
                  <text>已完成</text>
               </view> 
@@ -72,53 +77,65 @@
         <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>
@@ -132,22 +149,37 @@
      },
      data() {
         return {
            value: false,
            isLogin: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: {
         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.code ===200) {
               if (res&&res.code ===200) {
                  that.$store.commit('setUserInfo', res.data)
                  that.$isResolve()
               }else{
@@ -157,41 +189,111 @@
               }
            })
         },
         jumpTX() {
         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:
                  uni.navigateTo({
                     url: '/pages/catering-certification/catering-certification'
                  })
                  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/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>
@@ -212,6 +314,7 @@
         .list {
            width: 100%;
            padding: 0 30rpx;
            padding-bottom: 30px;
            box-sizing: border-box;
            .list-hz {
               width: 100%;
@@ -283,6 +386,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;
               }
            }
         }
@@ -372,7 +489,6 @@
                  width: 100%;
                  height: 108rpx;
                  display: flex;
                  align-items: center;
                  margin-bottom: 30rpx;
                  .info-box-head-image {
                     width: 108rpx;
@@ -386,6 +502,20 @@
                     margin-right: 24rpx;
                     image {
                        width: 100%;
                     }
                  }
                  .info-box-head-qiehuan {
                     flex-shrink: 0;
                     display: flex;
                     image {
                        width: 32rpx;
                        height: 32rpx;
                        margin-right: 10rpx;
                     }
                     text {
                        font-weight: 400;
                        font-size: 28rpx;
                        color: #00BC12;
                     }
                  }
                  .info-box-head-info {
@@ -414,6 +544,19 @@
                           font-size: 24rpx;
                           color: #FF7200;
                           border: 2rpx solid #FD9E24;
                           margin-right: 20rpx;
                        }
                        .info-box-head-info-type-val1 {
                           width: 144rpx;
                           height: 42rpx;
                           line-height: 42rpx;
                           text-align: center;
                           background: rgba(91,190,56,0.06);
                           border-radius: 8rpx;
                           font-weight: 400;
                           font-size: 24rpx;
                           color: #00BC12;
                           border: 2rpx solid #00BC12;
                           margin-right: 20rpx;
                        }
                        .info-box-head-info-type-wz {
@@ -450,4 +593,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>