From 86baa8ff948d2e79588e0dd7efa16f6b8ac3b157 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 06 十二月 2024 15:29:15 +0800
Subject: [PATCH] ll

---
 h5/pages/staff/index.vue |  239 +++++++++++++++++++++++------------------------------------
 1 files changed, 95 insertions(+), 144 deletions(-)

diff --git a/h5/pages/staff/index.vue b/h5/pages/staff/index.vue
index 5b07e1b..15b25ae 100644
--- a/h5/pages/staff/index.vue
+++ b/h5/pages/staff/index.vue
@@ -18,9 +18,17 @@
         mode="widthFix"
       ></image>
     </view>
-    <view class="title_wrap"><view class="name">涓氬姟鍔炵悊</view></view>
+    <view v-if="list1.filter(i => checkAuth(i.auth)).length > 0" 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,17 +62,27 @@
           <view class="h1">淇敼瀵嗙爜</view>
           <view class="h2">CHANGE PASSWORD</view>
         </view>
-      </view>
+      </view> -->
     </view>
     <!--  -->
-    <view class="title_wrap"><view class="name">涓氬姟鏌ヨ</view></view>
+    <view v-if="list2.filter(i => checkAuth(i.auth)).length > 0" class="title_wrap"><view class="name">涓氬姟鏌ヨ</view></view>
     <view class="container2">
-      <view class="img_wrap" @click="jump('/pages/staff/task/index')">
+			<view class="list">
+				<block v-for="item in list2" :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 v-if="item.name == '浠诲姟涓績' && taskInfo" class="task_num">{{ taskInfo }}</view>
+					</view>
+				</block>
+			</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>
         <view class="task_num">{{
-          taskInfo.noticeWaitNum + taskInfo.noticeCopyNum
+         taskInfo
         }}</view>
       </view>
       <view class="img_wrap" @click="jump('/pages/staff/meetingCalendar')">
@@ -81,7 +99,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,67 +113,43 @@
 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: '/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() {
-    var that = this
-    // if (!that.$store.state.openid) {
-    let url = window.location.href
-    let code = ''
-    let source = ''
-    if (url.indexOf('code=') !== -1) {
-      const query = url.split('?')
-      console.log('app-app', url)
-      for (const q of query) {
-        if (q.indexOf('code=') !== -1) {
-          code = q.substring(q.indexOf('code=') + 5, q.length)
-        }
-        // if (q.indexOf('source=') !== -1) {
-        //   source = q.substring(q.indexOf('source=') + 7, q.indexOf('source=') + 8)
-        // }
-        // 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐
-      }
-      wxAuthorize({
-        code: code,
-        source: 2
-      }).then(res => {
-        console.log('app_ress', res)
-        if (res.code === 200) {
-          that.$store.commit('setOpenId', res.data.openid)
-          if (res.data.member) {
-            that.$store.commit('setMember', res.data.member)
-          }
-        }
-      })
-    } else {
-      // const appID = 'wx4d7c10bdec51942b'
-      // let uri = encodeURIComponent(url)
-      // let authURL =
-      //   `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
-      // window.location.href = authURL
-    }
-    // }
+    
     this.getTaskInfo()
     // 鍒锋柊token
-    // const token = uni.getStorageSync('token')
-    // if (token) {
+    // setTimeout(() => {
     //   refreshToken().then(res => {
     //     if (res.code && res.code === 200) {
     //       this.$store.commit('setToken', res.data)
-    //       console.log('res', res.data);
-    //       // setTimeout(() => {
-    //       //   this.getTaskInfo()
-    //       // }, 1000)
     //     }
     //   })
-    // }
+    // }, 3000)
   },
   mounted() {
     this.$eventBus.$on('taskBack', () => {
+      console.log('----');
       this.getTaskInfo()
     })
+		console.log('aaa', this.userInfo.permissions.indexOf('system:user:create'));
   },
   methods: {
     jump(path) {
@@ -163,6 +157,10 @@
         url: path
       })
     },
+		checkAuth(str) {
+			const permissions = this.userInfo.permissions
+			return permissions.indexOf(str) > -1
+		},
     loginOut() {
       this.$store.commit('empty')
       logoutPost()
@@ -174,7 +172,10 @@
       stagingHead({
         isDetail: '1'
       }).then(res => {
-        this.taskInfo = res.data
+        this.taskInfo = res.data.noticeWaitNum + res.data.noticeCopyNum
+				if(this.taskInfo && this.taskInfo > 99){
+					this.taskInfo = 99
+				}
       })
     },
   }
@@ -187,6 +188,7 @@
   justify-content: space-between;
   align-items: center;
   margin-bottom: 24rpx;
+	padding-top: 10rpx;
   .name {
     font-weight: 600;
     font-size: 34rpx;
@@ -206,6 +208,40 @@
 }
 .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;
+		}
+		.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;
+		}
+	}
 }
 .banner_wrap {
   padding: 54rpx 44rpx;
@@ -231,107 +267,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: 48rpx;
   image {
     width: 40rpx;
     height: 40rpx;

--
Gitblit v1.9.3