-
zhangwei
2025-03-04 aaa8b1b2fca572d6a989179d568991ce4bd48cfb
src/pages/mine/index.vue
@@ -1,6 +1,6 @@
<template>
   <view class="container">
      <view class="header">
      <view :class="identity=='enterprise'?'header-hide':'header'">
         <view class="header-img">
            <view class="header-image-left" @click='tologin'>
               <up-avatar :src="userInfo.avatar" shape="circle" size='60'></up-avatar>
@@ -12,7 +12,7 @@
               <text class='iconfont icon-qiehuan chuany-font28'></text>
            </view>
         </view>
         <view class="num-box">
         <view class="num-box" v-if="identity!=='enterprise'">
            <view @tap="goWallet" class="num-item" data-ptpid="ef57-17f4-bbea-280f">
               <view class="num-bold">{{ balance }}元</view>
               <view class="num-text">
@@ -49,15 +49,93 @@
               <view class="tool_item" @click="toWorkerRecord" v-if="isAdmin">
                  <image src="@/static/image/record.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     打卡记录
                     工资审核
                  </view>
               </view>
               <!-- <view class="tool_item" @click="toPage('/otherPages/member/sendCompany/sendCompany')">
                  <image src="@/static/image/server.png" mode="aspectFit" class="item_img"></image>
               <view class="tool_item" @click="toSalary" v-if="isAdmin">
                  <image src="@/static/image/salary.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     服务中心
                     工资查询
                  </view>
               </view> -->
               </view>
            </view>
         </view>
      </view>
      <view class="money_bag" v-if="identity=='enterprise'&&isWorker">
         <view class="tool_wrap">
            <view class="tool_title">
               费用报销
            </view>
            <view class="tool_content">
               <view class="tool_item" @click="toReimbursement" v-if="isWorker">
                  <image src="@/static/image/baoxiao.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     报销申请
                  </view>
               </view>
               <view class="tool_item" @click="toMyList" v-if="isWorker">
                  <image src="@/static/image/mybaoxiao.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     我的报销
                  </view>
               </view>
               <view class="tool_item" @click="toCaiwu" v-if="IsCaiWu">
                  <image src="@/static/image/caiwu.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     费用报销
                  </view>
               </view>
               <view class="tool_item" @click="toZhuguan" v-if="IsBaoxiaozhuguan">
                  <image src="@/static/image/zshenpi.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     主管审批
                  </view>
               </view>
               <view class="tool_item" @click="toJingli" v-if="Isbaoxiaojingli">
                  <image src="@/static/image/Jshenpi.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     报销审批
                  </view>
               </view>
            </view>
         </view>
      </view>
      <view class="money_bag">
         <view class="tool_wrap">
            <view class="tool_title">
               物流管理
            </view>
            <view class="tool_content">
               <view class="tool_item" @click="toDelivergoods('reservationWorker')" v-if="isWorker">
                  <image src="@/static/image/reservation.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     预约送货
                  </view>
               </view>
               <view class="tool_item" @click="toDelivergoods('reservation')" v-if="isDriver">
                  <image src="@/static/image/drivershouli.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     送货受理
                  </view>
               </view>
               <view class="tool_item" @click="toDelivergoods('arrange')">
                  <image src="@/static/image/arrange.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     送货安排
                  </view>
               </view>
               <view class="tool_item" @click="toDelivergoods('query')">
                  <image src="@/static/image/query.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     送货查询
                  </view>
               </view>
               <view class="tool_item" @click="toDelivergoods('feedback')" v-if="isDriver">
                  <image src="@/static/image/feedback.png" mode="aspectFit" class="item_img"></image>
                  <view class="tool_label">
                     送货反馈
                  </view>
               </view>
            </view>
         </view>
      </view>
@@ -94,7 +172,62 @@
               </view>
            </view>
         </view>
         <!-- <view class="" v-if="isWorker">
            <view @tap="item.cb" class="nav-item" :data-index="index" data-ptpid="58ac-1481-a7d3-b98e"
               v-for="(item, index) in workerList" :key="item.name">
               <view class="nav-title">
                  <view :class="'iconfont ' + item.icon"></view>
                  {{ item.name }}
               </view>
               <view class="nav-icon">
                  <view v-if="item.num || item.num === 0">{{ item.num }}</view>
                  <view class="iconfont iconarrow"></view>
               </view>
            </view>
         </view> -->
         <!-- <view class="" v-if="Isbaoxiaojingli">
            <view @tap="item.cb" class="nav-item" :data-index="index" data-ptpid="58ac-1481-a7d3-b98e"
               v-for="(item, index) in jingLiList" :key="item.name">
               <view class="nav-title">
                  <view :class="'iconfont ' + item.icon"></view>
                  {{ item.name }}
               </view>
               <view class="nav-icon">
                  <view v-if="item.num || item.num === 0">{{ item.num }}</view>
                  <view class="iconfont iconarrow"></view>
               </view>
            </view>
         </view> -->
         <!-- <view class="" v-if="IsBaoxiaozhuguan">
            <view @tap="item.cb" class="nav-item" :data-index="index" data-ptpid="58ac-1481-a7d3-b98e"
               v-for="(item, index) in zhuGuanList" :key="item.name">
               <view class="nav-title">
                  <view :class="'iconfont ' + item.icon"></view>
                  {{ item.name }}
               </view>
               <view class="nav-icon">
                  <view v-if="item.num || item.num === 0">{{ item.num }}</view>
                  <view class="iconfont iconarrow"></view>
               </view>
            </view>
         </view> -->
         <!-- <view class="" v-if="IsCaiWu">
            <view @tap="item.cb" class="nav-item" :data-index="index" data-ptpid="58ac-1481-a7d3-b98e"
               v-for="(item, index) in CaiWuList" :key="item.name">
               <view class="nav-title">
                  <view :class="'iconfont ' + item.icon"></view>
                  {{ item.name }}
               </view>
               <view class="nav-icon">
                  <view v-if="item.num || item.num === 0">{{ item.num }}</view>
                  <view class="iconfont iconarrow"></view>
               </view>
            </view>
         </view> -->
      </view>
      <view class="nav-box" v-else>
         <view @tap="item.cb" class="nav-item" :data-index="index" data-ptpid="58ac-1481-a7d3-b98e"
@@ -132,8 +265,62 @@
                     url: '/pages/company/staff'
                  });
               }
            }, ],
            navList1: [{
            }],
            workerList: [{
               icon: 'icon-baoxiaoshenqing',
               name: '费用报销申请',
               cb: function() {
                  uni.navigateTo({
                     url: '/pages/reimbursement/index'
                  });
               }
            }, {
               icon: 'icon-baoxiao',
               name: '我的费用报销',
               cb: function() {
                  uni.navigateTo({
                     url: '/pages/reimbursement/myreim'
                  });
               }
            }],
            CaiWuList: [{
               icon: 'icon-baoxiaodan',
               name: '费用报销',
               cb: function() {
                  uni.navigateTo({
                     url: '/pages/reimbursement/reimbursement'
                  });
               }
            }],
            zhuGuanList: [{
               icon: 'icon-shenpicaigoudan',
               name: '主管列表',
               cb: function() {
                  uni.navigateTo({
                     url: '/pages/reimbursement/examine?role=zhuGuan'
                  });
               }
            }],
            jingLiList: [{
               icon: 'icon-shenpi',
               name: '经理列表',
               cb: function() {
                  uni.navigateTo({
                     url: '/pages/reimbursement/examine?role=jingLi'
                  });
               }
            }],
            navList2: [{
                  icon: 'icon-dingdan',
                  name: '上班打卡',
                  cb: this.toMyWork
               },
               {
                  icon: 'icon-fuwutuandui',
                  name: '工作记录',
                  cb: this.toMyRecord
               },
               {
                  icon: 'icon-wanshanxinxi',
                  name: '完善资料',
                  cb: function() {
@@ -142,9 +329,10 @@
                     });
                  }
               },
               {
            ],
            navList3: [{
                  icon: 'icon-dingdan',
                  name: '我的工作',
                  name: '上班打卡',
                  cb: this.toMyWork
               },
               {
@@ -152,8 +340,17 @@
                  name: '工作记录',
                  cb: this.toMyRecord
               },
               {
                  icon: 'icon-wanshanxinxi',
                  name: '修改资料',
                  cb: function() {
                     uni.navigateTo({
                        url: '/pages/mine/apply'
                     });
                  }
               },
            ],
            token: this.$db.get('userToken')||''
            token: this.$db.get('userToken') || ''
         };
      },
      onLoad: function() {
@@ -166,6 +363,44 @@
         ...mapGetters(['userInfo', 'identity']),
         isAdmin() {
            return this.userInfo.userCompany ? this.userInfo.userCompany.isAdmin : false
         },
         // 是否是员工
         isWorker() {
            if (this.userInfo.oaPermissions) {
               return this.userInfo.oaPermissions.memberId ? true : false
            }
            return false
         },
         // 是否为报销主管
         IsBaoxiaozhuguan() {
            if (this.userInfo.oaPermissions) {
               return this.userInfo.oaPermissions.bF_IsBaoxiaozhuguan ? true : false
            }
            return false
         },
         // 是否为报销经理
         Isbaoxiaojingli() {
            if (this.userInfo.oaPermissions) {
               return this.userInfo.oaPermissions.bF_Isbaoxiaojingli ? true : false
            }
            return false
         },
         // 财务
         IsCaiWu() {
            if (this.userInfo.oaPermissions) {
               return this.userInfo.oaPermissions.bF_IsCaiWu ? true : false
            }
            return false
         },
         // 是否是司机
         isDriver() {
            if (this.userInfo.oaPermissions) {
               return this.userInfo.oaPermissions.bF_IsDriver ? true : false
            }
            return false
         },
         navList1() {
            return this.userInfo.userWorker ? this.navList3 : this.navList2
         },
         isLogin() {
            return this.token ? true : false;
@@ -253,6 +488,20 @@
               url: '/pages/company/index'
            });
         },
         toSalary() {
            if (!this.userInfo.userCompany) {
               uni.navigateTo({
                  url: '/pages/enterprise/enterprise'
               });
               this.$util.showToast({
                  title: '请先完善企业资料!'
               })
               return
            }
            uni.navigateTo({
               url: '/pages/worker/salary'
            });
         },
         toMyWork() {
            if (!this.userInfo.userWorker) {
               uni.navigateTo({
@@ -310,6 +559,37 @@
               }
            });
         },
         toReimbursement() {
            uni.navigateTo({
               url: '/pages/reimbursement/index'
            });
         },
         toMyList() {
            uni.navigateTo({
               url: '/pages/reimbursement/myreim'
            });
         },
         toCaiwu() {
            uni.navigateTo({
               url: '/pages/reimbursement/reimbursement'
            });
         },
         toZhuguan() {
            uni.navigateTo({
               url: '/pages/reimbursement/examine?role=zhuGuan'
            });
         },
         toJingli() {
            uni.navigateTo({
               url: '/pages/reimbursement/examine?role=jingLi'
            });
         },
         toDelivergoods(val) {
            uni.navigateTo({
               url: `/pages/delivergoods/${val}`
            });
         }
      }
   };
</script>
@@ -482,6 +762,7 @@
         .tool_content {
            display: flex;
            justify-content: space-between;
            padding: 30rpx 0;
            .tool_item {
@@ -490,7 +771,7 @@
               flex-direction: column;
               height: 120rpx;
               justify-content: center;
               margin: 0 50rpx 0 0;
               // margin: 0 50rpx 0 0;
               width: 120rpx;
               &:nth-child(4n) {