ll
liukangdong
2024-12-12 b6d0ad0e7e57a77d1983009494b09aa1da5fbfc4
h5/pages/staff/index.vue
@@ -48,264 +48,269 @@
</template>
<script>
import {
   logoutPost,
   stagingHead,
   wxAuthorize,
   refreshToken,
   app_url
} from '@/api'
export default {
   data() {
      return {
         userInfo: uni.getStorageSync('userInfo') || {
            permissions: []
         },
         taskInfo: 0,
         list1: [{
            name: '访客报备',
            url: '/pages/staff/visitorReport',
            img: require('@/static/home/ic_fangkebaobei@3x.png'),
            auth: 'weixin:menu:visitcar'
         },
         {
            name: '隐患随手拍',
            url: '/pages/staff/snapshot',
            img: require('@/static/home/ic_yinhuansuishoupai@3x.png'),
            auth: 'weixin:menu:hiddendanger'
         },
         {
            name: '用车申请',
            url: '/pages/staff/vehicle/index',
            img: require('@/static/home/ic_yongcheshenqing@3x.png'),
            auth: 'weixin:menu:usecar'
         },
         {
            name: '预约会议室',
            url: '/pages/staff/meetingSub',
            img: require('@/static/home/ic_yuyuehuiyishi@3x.png'),
            auth: 'weixin:menu:meeting'
         },
         {
            name: '修改密码',
            url: '/pages/changePassword/changePassword',
            img: require('@/static/home/ic_xiugaimima@3x.png'),
            auth: 'weixin:menu:password'
         },
         {
            name: '我的考勤',
            url: '/pages/staff/signin',
            img: require('@/static/home/ic_kaoqin@3x.png'),
            auth: 'weixin:menu:attendance'
         },
         ],
         list2: [{
            name: '任务中心',
            url: '/pages/staff/task/index',
            img: require('@/static/home/ic_renwuzhongxin@3x.png'),
            auth: 'weixin:menu:taskcenter'
         },
         {
            name: '我的会议日历',
            url: '/pages/staff/meetingCalendar',
            img: require('@/static/home/ic_wodehuiyi@3x.png'),
            auth: 'weixin:menu:meetingcalendar'
         },
         {
            name: '派车记录',
            url: '/pages/staff/vehicle/sendACar',
            img: require('@/static/home/ic_paichejilu@3x.png'),
            auth: 'weixin:menu:usecarrecord'
         },
         {
            name: '会议室管理',
            url: '/pages/staff/meetingManager',
            img: require('@/static/home/ic_huiyishiguanli@3x.png'),
            auth: 'weixin:menu:meetingmanage'
         }
         ],
   import {
      logoutPost,
      stagingHead,
      wxAuthorize,
      refreshToken,
      app_url
   } from '@/api'
   export default {
      data() {
         return {
            userInfo: uni.getStorageSync('userInfo') || {
               permissions: []
            },
            taskInfo: 0,
            list1: [{
                  name: '访客报备',
                  url: '/pages/staff/visitorReport',
                  img: require('@/static/home/ic_fangkebaobei@3x.png'),
                  auth: 'weixin:menu:visitcar'
               },
               {
                  name: '隐患随手拍',
                  url: '/pages/staff/snapshot',
                  img: require('@/static/home/ic_yinhuansuishoupai@3x.png'),
                  auth: 'weixin:menu:hiddendanger'
               },
               {
                  name: '用车申请',
                  url: '/pages/staff/vehicle/index',
                  img: require('@/static/home/ic_yongcheshenqing@3x.png'),
                  auth: 'weixin:menu:usecar'
               },
               {
                  name: '预约会议室',
                  url: '/pages/staff/meetingSub',
                  img: require('@/static/home/ic_yuyuehuiyishi@3x.png'),
                  auth: 'weixin:menu:meeting'
               },
               {
                  name: '修改密码',
                  url: '/pages/changePassword/changePassword',
                  img: require('@/static/home/ic_xiugaimima@3x.png'),
                  auth: 'weixin:menu:password'
               },
               {
                  name: '我的考勤',
                  url: '/pages/staff/signin',
                  img: require('@/static/home/ic_kaoqin@3x.png'),
                  auth: 'weixin:menu:attendance'
               },
            ],
            list2: [{
                  name: '任务中心',
                  url: '/pages/staff/task/index',
                  img: require('@/static/home/ic_renwuzhongxin@3x.png'),
                  auth: 'weixin:menu:taskcenter'
               },
               {
                  name: '我的会议日历',
                  url: '/pages/staff/meetingCalendar',
                  img: require('@/static/home/ic_wodehuiyi@3x.png'),
                  auth: 'weixin:menu:meetingcalendar'
               },
               {
                  name: '派车记录',
                  url: '/pages/staff/vehicle/sendACar',
                  img: require('@/static/home/ic_paichejilu@3x.png'),
                  auth: 'weixin:menu:usecarrecord'
               },
               {
                  name: '会议室管理',
                  url: '/pages/staff/meetingManager',
                  img: require('@/static/home/ic_huiyishiguanli@3x.png'),
                  auth: 'weixin:menu:meetingmanage'
               }
            ],
      }
   },
   onLoad() {
      const ywinfo = uni.getStorageSync('ywinfo') || {}
      if(ywinfo.ywid && ywinfo.type == 2){
         setTimeout(() => {
            uni.removeStorageSync('ywinfo')
         }, 500)
         const yw = ywinfo.yw
         if(yw == 1 || yw == 6){
            this.jump('/pages/staff/meetingDetail?id=' + ywinfo.ywid)
         }else if(yw == 2){
            this.jump('/pages/staff/task/visitorApprove?id=' + ywinfo.ywid)
         }else if(yw == 3){
            this.jump('/pages/staff/task/visitorReport?id=' + ywinfo.ywid)
         }else if(yw == 4){
            this.jump('/pages/staff/task/vDangetAppr?id=' + ywinfo.ywid)
         }else if(yw == 7){
            this.jump('/pages/staff/task/driver?id=' + ywinfo.ywid)
         }else if(yw == 5){
            this.jump('/pages/staff/vehicle/index')
         }
      }
   },
   onShow() {
      setTimeout(() => {
         this.getTaskInfo()
      }, 300)
   },
   methods: {
      jump(path) {
         if (path == '/pages/staff/signin') {
            window.open('https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index')
         } else {
            uni.navigateTo({
               url: path
            })
         }
      },
      checkAuth(str) {
         const permissions = this.userInfo.permissions
         return permissions.indexOf(str) > -1
      },
      loginOut() {
         logoutPost({isH5: 1})
         this.$store.commit('empty')
         window.location.href = app_url
      },
      getTaskInfo() {
         stagingHead({
            isDetail: '1'
         }).then(res => {
            this.taskInfo = res.data.noticeWaitNum + res.data.noticeCopyNum
            if (this.taskInfo && this.taskInfo > 99) {
               this.taskInfo = 99
      onLoad() {
         const ywinfo = uni.getStorageSync('ywinfo') || {}
         if (ywinfo.ywid && ywinfo.type == 2) {
            setTimeout(() => {
               uni.removeStorageSync('ywinfo')
            }, 500)
            const yw = ywinfo.yw
            if (yw == 1 || yw == 6) {
               this.jump('/pages/staff/meetingDetail?id=' + ywinfo.ywid)
            } else if (yw == 2) {
               this.jump('/pages/staff/task/visitorApprove?id=' + ywinfo.ywid)
            } else if (yw == 3) {
               this.jump('/pages/staff/task/visitorReport?id=' + ywinfo.ywid)
            } else if (yw == 4) {
               this.jump('/pages/staff/task/vDangetAppr?id=' + ywinfo.ywid)
            } else if (yw == 7) {
               this.jump('/pages/staff/task/driver?id=' + ywinfo.ywid)
            } else if (yw == 5) {
               this.jump('/pages/staff/vehicle/index')
            }
         })
         }
      },
      onShow() {
         setTimeout(() => {
            this.getTaskInfo()
         }, 300)
      },
      methods: {
         jump(path) {
            if (path == '/pages/staff/signin') {
               window.open('https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index')
            } else {
               uni.navigateTo({
                  url: path
               })
            }
         },
         checkAuth(str) {
            const permissions = this.userInfo.permissions
            return permissions.indexOf(str) > -1
         },
         loginOut() {
            logoutPost({
               isH5: 1
            }).then(res => {
               this.$store.commit('empty')
               setTimeout(() => {
                  window.location.href = app_url
               }, 300)
            })
         },
         getTaskInfo() {
            stagingHead({
               isDetail: '1'
            }).then(res => {
               this.taskInfo = res.data.noticeWaitNum + res.data.noticeCopyNum
               if (this.taskInfo && this.taskInfo > 99) {
                  this.taskInfo = 99
               }
            })
         },
      }
   }
}
</script>
<style lang="scss" scoped>
.title_wrap {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 24rpx;
   padding-top: 10rpx;
   .name {
      font-weight: 600;
      font-size: 34rpx;
      color: #222222;
   }
   .btn {
      width: 144rpx;
      height: 56rpx;
      border-radius: 36rpx;
      border: 1rpx solid $uni-color-primary;
      font-size: 26rpx;
      color: $uni-color-primary;
   .title_wrap {
      display: flex;
      justify-content: center;
      justify-content: space-between;
      align-items: center;
   }
}
      margin-bottom: 24rpx;
      padding-top: 10rpx;
.main_app {
   padding-top: 12rpx;
}
.list {
   display: flex;
   width: 100%;
   flex-wrap: wrap;
   .item {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 25%;
      margin-bottom: 40rpx;
      font-size: 26rpx;
      position: relative;
      image {
         width: 88rpx;
         height: 88rpx;
         margin-bottom: 20rpx;
      .name {
         font-weight: 600;
         font-size: 34rpx;
         color: #222222;
      }
      .task_num {
         position: absolute;
         top: -10rpx;
         right: 28rpx;
         font-size: 24rpx;
         width: 36rpx;
         height: 36rpx;
         background-color: red;
         color: #fff;
         border-radius: 50%;
      .btn {
         width: 144rpx;
         height: 56rpx;
         border-radius: 36rpx;
         border: 1rpx solid $uni-color-primary;
         font-size: 26rpx;
         color: $uni-color-primary;
         display: flex;
         justify-content: center;
         align-items: center;
      }
   }
}
.banner_wrap {
   padding: 54rpx 44rpx;
   color: #fff;
   position: relative;
   width: 688rpx;
   height: 270rpx;
   margin-bottom: 40rpx;
   .h1 {
      font-weight: bold;
      line-height: 66rpx;
      font-size: 44rpx;
      margin-bottom: 14rpx;
   .main_app {
      padding-top: 12rpx;
   }
   .banner {
      position: absolute;
      top: 0;
      left: 0;
   .list {
      display: flex;
      width: 100%;
      z-index: -1;
      flex-wrap: wrap;
      .item {
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         width: 25%;
         margin-bottom: 40rpx;
         font-size: 26rpx;
         position: relative;
         image {
            width: 88rpx;
            height: 88rpx;
            margin-bottom: 20rpx;
         }
         .task_num {
            position: absolute;
            top: -10rpx;
            right: 28rpx;
            font-size: 24rpx;
            width: 36rpx;
            height: 36rpx;
            background-color: red;
            color: #fff;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
         }
      }
   }
}
.container1 {
   display: flex;
   flex-wrap: wrap;
   padding: 10rpx 0 10rpx;
}
   .banner_wrap {
      padding: 54rpx 44rpx;
      color: #fff;
      position: relative;
      width: 688rpx;
      height: 270rpx;
      margin-bottom: 40rpx;
.container2 {
   display: flex;
   flex-wrap: wrap;
}
      .h1 {
         font-weight: bold;
         line-height: 66rpx;
         font-size: 44rpx;
         margin-bottom: 14rpx;
      }
.copyright {
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 24rpx;
   color: #666666;
   position: fixed;
   width: 100%;
   left: 0;
   bottom: 48rpx;
   image {
      width: 40rpx;
      height: 40rpx;
      .banner {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         z-index: -1;
      }
   }
}
   .container1 {
      display: flex;
      flex-wrap: wrap;
      padding: 10rpx 0 10rpx;
   }
   .container2 {
      display: flex;
      flex-wrap: wrap;
   }
   .copyright {
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24rpx;
      color: #666666;
      position: fixed;
      width: 100%;
      left: 0;
      bottom: 48rpx;
      image {
         width: 40rpx;
         height: 40rpx;
      }
   }
</style>