ll
liukangdong
2024-10-18 e6acb39a2475e211f2c1decc45a95c868239c25f
h5/pages/staff/index.vue
@@ -20,7 +20,15 @@
    </view>
    <view class="title_wrap"><view class="name">业务办理</view></view>
    <view class="container1">
      <view class="left">
         <view class="list">
            <block v-for="item in list1" :key="item.name">
               <view v-if="checkAuth(item.auth)" class="item" @click="jump(item.url)">
                  <image :src="item.img" class="icon" />
                  <view class="name">{{item.name}}</view>
               </view>
            </block>
         </view>
<!--      <view class="left">
        <view class="img_wrap img1" @click="jump('/pages/staff/visitorReport')">
          <image src="@/static/staff/ic_fangkebaobei.png" class="img"></image>
          <view class="h1">访客报备</view>
@@ -54,12 +62,19 @@
          <view class="h1">修改密码</view>
          <view class="h2">CHANGE PASSWORD</view>
        </view>
      </view>
      </view> -->
    </view>
    <!--  -->
    <view class="title_wrap"><view class="name">业务查询</view></view>
    <view class="container2">
      <view class="img_wrap" @click="jump('/pages/staff/task/index')">
         <view class="list">
            <view class="item" @click="jump(item.url)" v-for="item in list2" :key="item.name">
               <image :src="item.img" class="icon" />
               <view class="name">{{item.name}}</view>
            </view>
         </view>
<!--      <view class="img_wrap" @click="jump('/pages/staff/task/index')">
        <image class="img" src="@/static/staff/ic_renwuzhongxin.png"></image>
        <view class="h1">任务中心</view>
        <view class="h2">TASK CENTER</view>
@@ -81,7 +96,7 @@
        <image class="img" src="@/static/staff/ic_huiyishiguanli.png"></image>
        <view class="h1">会议室管理</view>
        <view class="h2">MANAGE MEETING ROOMS</view>
      </view>
      </view> -->
    </view>
    <view class="copyright">
      <image src="@/static/logo_s@2x.png" mode="widthFix" />
@@ -95,8 +110,23 @@
export default {
  data() {
    return {
      userInfo: uni.getStorageSync('userInfo'),
      taskInfo: 0
      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: '', 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() {
@@ -152,6 +182,7 @@
      console.log('----');
      this.getTaskInfo()
    })
      console.log('aaa', this.userInfo.permissions.indexOf('system:user:create'));
  },
  methods: {
    jump(path) {
@@ -159,6 +190,10 @@
        url: path
      })
    },
      checkAuth(str) {
         const permissions = this.userInfo.permissions
         return permissions.indexOf(str) > -1
      },
    loginOut() {
      this.$store.commit('empty')
      logoutPost()
@@ -203,6 +238,25 @@
.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;
      image{
         width: 88rpx;
         height: 88rpx;
         margin-bottom: 20rpx;
      }
   }
}
.banner_wrap {
  padding: 54rpx 44rpx;
  color: #fff;
@@ -227,107 +281,22 @@
.container1 {
  display: flex;
  flex-wrap: wrap;
  view {
    width: 336rpx;
  }
  .left {
    margin-right: 18rpx;
  }
  .img_wrap {
    position: relative;
    padding: 24rpx 0rpx 0 28rpx;
    border-radius: 8rpx;
    overflow: hidden;
    .h1 {
      font-weight: 600;
      font-size: 32rpx;
      color: #222222;
      line-height: 48rpx;
      margin-bottom: 4rpx;
    }
    .h2 {
      font-size: 22rpx;
      color: #7b9da1;
      line-height: 34rpx;
    }
    .img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
    }
  }
  .img1 {
    width: 336rpx;
    height: 296rpx;
    margin-bottom: 16rpx;
  }
  .img2 {
    width: 336rpx;
    height: 140rpx;
    margin-bottom: 16rpx;
  }
   padding: 10rpx 0 10rpx;
}
.container2 {
  display: flex;
  flex-wrap: wrap;
  .img_wrap {
    width: 336rpx;
    height: 140rpx;
    margin-bottom: 16rpx;
    position: relative;
    border-radius: 8rpx;
    overflow: hidden;
    padding: 24rpx 0rpx 0 28rpx;
    &:nth-of-type(2n) {
      margin-left: 18rpx;
    }
    .task_num {
      position: absolute;
      left: 168rpx;
      top: 26rpx;
      width: 52rpx;
      height: 52rpx;
      border-radius: 50%;
      /* border: 1px solid; */
      background-color: #fff;
      color: #db534c;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24rpx;
    }
    .h1 {
      font-weight: 600;
      font-size: 32rpx;
      color: #222222;
      line-height: 48rpx;
      margin-bottom: 4rpx;
    }
    .h2 {
      font-size: 22rpx;
      color: #7b9da1;
      line-height: 34rpx;
    }
    .img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
    }
  }
}
.copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 44rpx;
  font-size: 24rpx;
  color: #666666;
   position: fixed;
   width: 100%;
   left: 0;
   bottom: 88rpx;
  image {
    width: 40rpx;
    height: 40rpx;