From a8c03746e6bd8ac1d46dc48c1b10bceff543664f Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 10 十二月 2024 20:16:12 +0800 Subject: [PATCH] ll --- h5/pages/staff/index.vue | 583 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 292 insertions(+), 291 deletions(-) diff --git a/h5/pages/staff/index.vue b/h5/pages/staff/index.vue index 15b25ae..369467b 100644 --- a/h5/pages/staff/index.vue +++ b/h5/pages/staff/index.vue @@ -1,291 +1,292 @@ -<template> - <view class="main_app"> - <view class="title_wrap"> - <view class="name" v-if="userInfo.realname" - >{{ userInfo.realname || "" }}锛屾杩庣櫥褰曪綖</view - > - <view class="name" v-else>璇峰厛鐧诲綍</view> - <view class="btn" @click="loginOut">{{ - userInfo.realname ? "閫�鍑虹櫥褰�" : "鍘荤櫥褰�" - }}</view> - </view> - <view class="banner_wrap"> - <view class="h1">瀹夋嘲鐗╂祦</view> - <view class="h2">瀹夊叏閲嶄簬娉板北 鏈嶅姟杩芥眰鍗撹秺</view> - <image - class="banner" - src="../../static/banner.jpg" - mode="widthFix" - ></image> - </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="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> - <view class="h2">VISITOR REPORTING</view> - </view> - <view class="img_wrap img2" @click="jump('/pages/staff/meetingSub')"> - <image src="@/static/staff/ic_yuyuehuiyishi.png" class="img"></image> - <view class="h1">棰勭害浼氳瀹�</view> - <view class="h2">BOOK A MEETING ROOM</view> - </view> - </view> - <view class="right"> - <view class="img_wrap img2" @click="jump('/pages/staff/snapshot')"> - <image src="@/static/staff/ic_yinhuansuipai.png" class="img"></image> - <view class="h1">闅愭偅闅忔墜鎷�</view> - <view class="h2">HIDDEN DANGER</view> - </view> - <view class="img_wrap img2" @click="jump('/pages/staff/vehicle/index')"> - <image - src="@/static/staff/ic_yongcheshenqing.png" - class="img" - ></image> - <view class="h1">鐢ㄨ溅鐢宠</view> - <view class="h2">VEHICLE APPLICATION</view> - </view> - <view - class="img_wrap img2" - @click="jump('/pages/changePassword/changePassword')" - > - <image src="@/static/staff/ic_xiugaimima.png" class="img"></image> - <view class="h1">淇敼瀵嗙爜</view> - <view class="h2">CHANGE PASSWORD</view> - </view> - </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="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 - }}</view> - </view> - <view class="img_wrap" @click="jump('/pages/staff/meetingCalendar')"> - <image class="img" src="@/static/staff/ic_wodehuiyi.png"></image> - <view class="h1">鎴戠殑浼氳鏃ュ巻</view> - <view class="h2">MY MEETING CALENDAR</view> - </view> - <view class="img_wrap" @click="jump('/pages/staff/vehicle/sendACar')"> - <image class="img" src="@/static/staff/ic_paichejilu.png"></image> - <view class="h1">娲捐溅璁板綍</view> - <view class="h2">VEHICLE DISPATCH</view> - </view> - <view class="img_wrap" @click="jump('/pages/staff/meetingManager')"> - <image class="img" src="@/static/staff/ic_huiyishiguanli.png"></image> - <view class="h1">浼氳瀹ょ鐞�</view> - <view class="h2">MANAGE MEETING ROOMS</view> - </view> --> - </view> - <view class="copyright"> - <image src="@/static/logo_s@2x.png" mode="widthFix" /> - <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text> - </view> - </view> -</template> - -<script> -import { logoutPost, stagingHead, wxAuthorize, refreshToken } 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() { - - this.getTaskInfo() - // 鍒锋柊token - // setTimeout(() => { - // refreshToken().then(res => { - // if (res.code && res.code === 200) { - // this.$store.commit('setToken', res.data) - // } - // }) - // }, 3000) - }, - mounted() { - this.$eventBus.$on('taskBack', () => { - console.log('----'); - this.getTaskInfo() - }) - console.log('aaa', this.userInfo.permissions.indexOf('system:user:create')); - }, - methods: { - jump(path) { - uni.navigateTo({ - url: path - }) - }, - checkAuth(str) { - const permissions = this.userInfo.permissions - return permissions.indexOf(str) > -1 - }, - loginOut() { - this.$store.commit('empty') - logoutPost() - uni.redirectTo({ - url: '/pages/staffLogin/login' - }) - }, - 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; - display: flex; - justify-content: center; - align-items: center; - } -} -.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; - color: #fff; - position: relative; - width: 688rpx; - height: 270rpx; - margin-bottom: 40rpx; - .h1 { - font-weight: bold; - line-height: 66rpx; - font-size: 44rpx; - margin-bottom: 14rpx; - } - .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> +<template> + <view class="main_app"> + <view class="title_wrap"> + <view class="name" v-if="userInfo.realname">{{ userInfo.realname || "" }}锛屾杩庣櫥褰曪綖</view> + <view class="name" v-else>璇峰厛鐧诲綍</view> + <view class="btn" @click="loginOut">{{ + userInfo.realname ? "閫�鍑虹櫥褰�" : "鍘荤櫥褰�" + }}</view> + </view> + <view class="banner_wrap"> + <view class="h1">瀹夋嘲鐗╂祦</view> + <view class="h2">瀹夊叏閲嶄簬娉板北 鏈嶅姟杩芥眰鍗撹秺</view> + <image class="banner" src="../../static/banner.jpg" mode="widthFix"></image> + </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="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> + <!-- --> + <view v-if="list2.filter(i => checkAuth(i.auth)).length > 0" class="title_wrap"> + <view class="name">涓氬姟鏌ヨ</view> + </view> + <view class="container2"> + <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> + <view class="copyright"> + <image src="@/static/logo_s@2x.png" mode="widthFix" /> + <text>瀹夊窘瀹夋嘲鐗╂祦鏈夐檺璐d换鍏徃鐗堟潈鎵�鏈�</text> + </view> + </view> +</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' + } + ], + + } + }, + mounted() { + }, + + 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() + 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 + } + }) + }, + } +} +</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; + display: flex; + justify-content: center; + align-items: center; + } +} + +.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; + color: #fff; + position: relative; + width: 688rpx; + height: 270rpx; + margin-bottom: 40rpx; + + .h1 { + font-weight: bold; + line-height: 66rpx; + font-size: 44rpx; + margin-bottom: 14rpx; + } + + .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> \ No newline at end of file -- Gitblit v1.9.3