| | |
| | | VisitReason: [], |
| | | memberList: [], |
| | | uploadData: { |
| | | folder: 'member' |
| | | folder: 'member', |
| | | isFace: 0 |
| | | }, |
| | | startPickerOptions: { |
| | | disabledDate (time) { |
| | |
| | | <template> |
| | | <div :style="styleEditor"> |
| | | <Toolbar style="border-bottom: 1px solid #ccc" :editor="editor" :defaultConfig="toolbarConfig" :mode="mode" /> |
| | | <Editor style="max-height: 300px;min-height: 100px; overflow-y: hidden;" v-model="html" :defaultConfig="editorConfig" :mode="mode" |
| | | <Editor style="min-height: 80px; overflow-y: hidden;" v-model="html" :defaultConfig="editorConfig" :mode="mode" |
| | | @onCreated="onCreated" @onChange="onChange" /> |
| | | </div> |
| | | </template> |
| | |
| | | this.getCate() |
| | | }, |
| | | methods: { |
| | | handleSelectionChange(e) { |
| | | this.searchForm.ids = e.map(i => i.id).join(',') |
| | | }, |
| | | // handleSelectionChange(e) { |
| | | // this.searchForm.ids = e.map(i => i.id).join(',') |
| | | // }, |
| | | changeSel(e) { |
| | | console.log(e) |
| | | if (e && e.length == 1) { |
| | |
| | | <script> |
| | | import { wxAuthorize, refreshToken } from '@/api' |
| | | import { wxAuthorize, refreshToken, app_url } from '@/api' |
| | | export default { |
| | | onLaunch: function () { |
| | | |
| | | window.addEventListener("popstate", (event) => { |
| | | const path = this.$route.fullPath |
| | | if(path == '/pages/login/login' || path == '/'){ |
| | | window.location.href = app_url |
| | | } |
| | | }) |
| | | }, |
| | | onShow: function () { |
| | | console.log('App Show') |
| | |
| | | method: 'get' |
| | | }) |
| | | } |
| | | export const saveHkUserOpenid = () => { |
| | | return http({ |
| | | url: 'visitsAdmin/cloudService/business/hksync/saveHkUserOpenid', |
| | | method: 'post' |
| | | }) |
| | | } |
| | | // 刷新token |
| | | export const refreshToken = () => { |
| | | return http({ |
| | |
| | | </view> |
| | | <view class="sub"> |
| | | <view class="time" v-if="item.arriveDate && item.contractNum">{{ item.arriveDate.slice(5) }}</view> |
| | | <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate">{{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</view> |
| | | <view class="time" v-if="item.type != 4 && item.platformWmsJob && item.platformWmsJob.ioCreatedate">
|
| | | {{ item.platformWmsJob.ioCreatedate.slice(5, 19) }}</view>
|
| | | <view v-if="item.status == 0" class="sub_btn">确认任务</view> |
| | | <view v-if="item.status == 1" class="sub_btn">立即签到</view> |
| | | <view v-if="item.status == 2" class="sub_btn" @click.stop="handleQueue(item)">查看排队</view> |
| | |
| | | </swiper> |
| | | </view> |
| | | <!-- --> |
| | | <view class="title_wrap"><view class="name">业务办理</view></view> |
| | | <view class="title_wrap">
|
| | | <view class="name">业务办理</view>
|
| | | </view>
|
| | | <view class="container1"> |
| | | <view class="left"> |
| | | <view class="img_wrap img1" @click="$jump('/pages/driver/notice')"> |
| | | <view class="img_wrap img1" @click="jump('/pages/driver/notice')">
|
| | | <image src="@/static/driver/wuliu_ic_ruyuanyuyue@2x.png" class="img"></image> |
| | | <view class="h1">入园须知</view> |
| | | <view class="h2">RESERVATION</view> |
| | | </view> |
| | | <view class="img_wrap img2" @click="$jump('/pages/driver/reservedGuide?str=bookingTips')"> |
| | | <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=bookingTips')">
|
| | | <image src="@/static/driver/wuliu_ic_zhinan@2x.png" class="img"></image> |
| | | <view class="h1">预约指南</view> |
| | | <view class="h2">APPOINTMENT GUIDE</view> |
| | | </view> |
| | | </view> |
| | | <view class="right"> |
| | | <view class="img_wrap img2" @click="$jump('/pages/driver/reservedRecord')"> |
| | | <view class="img_wrap img2" @click="jump('/pages/driver/reservedRecord')">
|
| | | <image src="@/static/driver/wuliu_ic_yuyuejilu@2x.png" class="img"></image> |
| | | <view class="h1">预约记录</view> |
| | | <view class="h2">APPOINTMENT RECORD</view> |
| | | </view> |
| | | <view class="img_wrap img2" @click="$jump('/pages/driver/queueUp')"> |
| | | <view class="img_wrap img2" @click="jump('/pages/driver/queueUp')">
|
| | | <image src="@/static/driver/wuliu_ic_paidui@2x.png" class="img"></image> |
| | | <view class="h1">月台排队情况</view> |
| | | <view class="h2">HIDDEN DANGER</view> |
| | | </view> |
| | | <view class="img_wrap img2" @click="$jump('/pages/driver/reservedGuide?str=reservationMap')"> |
| | | <view class="img_wrap img2" @click="jump('/pages/driver/reservedGuide?str=reservationMap')">
|
| | | <image src="@/static/driver/wuliu_ic_daolan@2x.png" class="img"></image> |
| | | <view class="h1">园区导览图</view> |
| | | <view class="h2">GUIDE MAP</view> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { logoutPost, driverHomeData } from '@/api'; |
| | | import {
|
| | | logoutPost,
|
| | | driverHomeData,
|
| | | app_url
|
| | | } from '@/api'
|
| | | export default { |
| | | data() { |
| | | return { |
| | | taskList: [], |
| | | driverInfo: uni.getStorageSync('driverInfo'), |
| | | |
| | | }; |
| | | }
|
| | | }, |
| | | onShow() { |
| | | this.initData(); |
| | | this.initData()
|
| | | }, |
| | |
|
| | | methods: { |
| | | jump(path) {
|
| | | this.$jump(path)
|
| | | },
|
| | | initData() { |
| | | driverHomeData().then(res => { |
| | | if (res.code == 200) { |
| | |
| | | bookingTips: res.data.bookingTips, |
| | | reservationMap: res.data.reservationMap, |
| | | signDistance: res.data.signDistance |
| | | }); |
| | | })
|
| | | this.taskList = res.data.platformJobList || [] |
| | | } |
| | | }); |
| | | })
|
| | | }, |
| | | loginOut() { |
| | | this.$store.commit('empty'); |
| | | logoutPost(); |
| | | uni.redirectTo({ |
| | | url: '/pages/driver/login' |
| | | }); |
| | | logoutPost()
|
| | | this.$store.commit('empty')
|
| | | window.location.href = app_url
|
| | | }, |
| | | taskClick(item) { |
| | | const status = item.status |
| | | console.log(item); |
| | | if(status == 0){ |
| | | uni.navigateTo({url: '/pages/driver/taskConfirm?id=' + item.id}); |
| | | uni.navigateTo({
|
| | | url: '/pages/driver/taskConfirm?id=' + item.id
|
| | | })
|
| | | } |
| | | // else if(status == 2){ |
| | | // uni.navigateTo({url:'/pages/driver/queueUp?jobId=' + item.id}) |
| | | // } |
| | | else{ |
| | | uni.navigateTo({url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`}); |
| | | uni.navigateTo({
|
| | | url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}`
|
| | | })
|
| | | } |
| | | }, |
| | | handleTask(item) { |
| | | uni.navigateTo({ |
| | | url: '/pages/driver/taskConfirm?id=' + item.id |
| | | }); |
| | | })
|
| | | }, |
| | | handleSign(item) { |
| | | uni.navigateTo({ |
| | | url: `/pages/driver/taskDetail?id=${item.id}&status=${item.status}` |
| | | }); |
| | | })
|
| | | }, |
| | | handleQueue(item) { |
| | | uni.navigateTo({ |
| | |
| | | }) |
| | | }, |
| | | } |
| | | }; |
| | | }
|
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | |
| | | align-items: center; |
| | | margin-bottom: 24rpx; |
| | | padding-top: 10rpx; |
| | |
|
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 34rpx; |
| | | color: #222222; |
| | | } |
| | |
|
| | | .btn { |
| | | width: 144rpx; |
| | | height: 56rpx; |
| | |
| | | align-items: center; |
| | | } |
| | | } |
| | |
|
| | | .main_app { |
| | | padding-top: 12rpx; |
| | | } |
| | |
|
| | | .banner_wrap { |
| | | padding: 54rpx 44rpx; |
| | | color: #fff; |
| | |
| | | width: 688rpx; |
| | | height: 270rpx; |
| | | margin-bottom: 28rpx; |
| | |
|
| | | .h1 { |
| | | font-weight: bold; |
| | | line-height: 66rpx; |
| | | font-size: 44rpx; |
| | | margin-bottom: 14rpx; |
| | | } |
| | |
|
| | | .h2 { |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | |
| | | box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(39, 155, 170, 0.31); |
| | | border-radius: 24rpx; |
| | | } |
| | |
|
| | | .banner { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | z-index: -1; |
| | | } |
| | | } |
| | |
|
| | | .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; |
| | |
| | | line-height: 48rpx; |
| | | margin-bottom: 4rpx; |
| | | } |
| | |
|
| | | .h2 { |
| | | font-size: 22rpx; |
| | | color: #7b9da1; |
| | | line-height: 34rpx; |
| | | } |
| | |
|
| | | .img { |
| | | width: 100%; |
| | | height: 100%; |
| | |
| | | z-index: -1; |
| | | } |
| | | } |
| | |
|
| | | .img1 { |
| | | width: 336rpx; |
| | | height: 296rpx; |
| | | margin-bottom: 16rpx; |
| | | } |
| | |
|
| | | .img2 { |
| | | width: 336rpx; |
| | | height: 140rpx; |
| | | margin-bottom: 16rpx; |
| | | } |
| | | } |
| | |
|
| | | .task_list { |
| | | margin-bottom: 0rpx; |
| | |
|
| | | .task_swiper { |
| | | padding: 12rpx 10rpx; |
| | | height: 340rpx; |
| | |
| | | margin-left: -20rpx; |
| | | box-sizing: border-box; |
| | | } |
| | |
|
| | | .item { |
| | | background: #ffffff; |
| | | box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(39, 155, 170, 0.32); |
| | |
| | | height: 280rpx; |
| | | width: 98%; |
| | | margin-left: 1%; |
| | |
|
| | | .head { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | background: linear-gradient(270deg, #fefeff 0%, #e1f7fe 100%); |
| | | padding: 0rpx 30rpx; |
| | | height: 92rpx; |
| | |
|
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 36rpx; |
| | | color: #222222; |
| | | } |
| | |
|
| | | .status { |
| | | color: $uni-color-primary; |
| | | font-weight: 600; |
| | | text-align: right; |
| | |
|
| | | .time { |
| | | font-size: 24rpx; |
| | | font-weight: 360; |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .content { |
| | | height: 180rpx; |
| | |
|
| | | .info { |
| | | display: flex; |
| | | padding: 24rpx 30rpx; |
| | |
|
| | | .plate { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | |
|
| | | .icon { |
| | | width: 26rpx; |
| | | height: 26rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .sub { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 68rpx; |
| | | padding: 0 30rpx 0; |
| | |
|
| | | .time { |
| | | font-size: 26rpx; |
| | | color: #999999; |
| | | } |
| | |
|
| | | .sub_btn { |
| | | height: 68rpx; |
| | | line-height: 68rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .copyright { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | margin-top: 44rpx; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | |
|
| | | image { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { wxAuthorize } from '@/api' |
| | | import { wxAuthorize, app_url } from '@/api' |
| | | export default { |
| | | |
| | | data() { |
| | | return { |
| | | |
| | | } |
| | | }, |
| | | onBackPress(options) { |
| | | uni.redirectTo({ |
| | | url: '/pages/login/login' |
| | | }) |
| | | return true |
| | | }, |
| | | onLoad() { |
| | | |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | position: relative; |
| | | |
| | | .banner_bg { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | width: 100%; |
| | | z-index: -1; |
| | | } |
| | | |
| | | .h2 { |
| | | font-size: 28rpx; |
| | | font-family: SourceHanSansSC, SourceHanSansSC; |
| | |
| | | color: #ffffff; |
| | | margin-top: 14rpx; |
| | | } |
| | | |
| | | text { |
| | | &:first-child { |
| | | font-size: 44rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .main_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | margin: 40rpx 0 32rpx; |
| | | } |
| | | |
| | | .box_list { |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | .box_list_item { |
| | | width: 100%; |
| | | margin-bottom: 20rpx; |
| | | |
| | | image { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .copyright { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | margin-top: 84rpx; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | |
| | | image { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" />
|
| | | <image class="login_bg" src="@/static/staff/shenfen_bg@2x.png" mode="widthFix" />
|
| | | <view class="h1">安泰物流智慧园区</view>
|
| | | <view class="placeholder6 place">请选择您的身份</view>
|
| | | <view class="item" @click="userAuth(1)">
|
| | |
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | code: '091RVIkl2SZXDe4WySll2pAL8D1RVIkb'
|
| | | code: ''
|
| | | }
|
| | | },
|
| | | onLoad() {
|
| | | onShow() {
|
| | | var that = this
|
| | | let url = window.location.href
|
| | | let url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
|
| | | let code = ''
|
| | | if (url.indexOf('code=') !== -1) {
|
| | | if (window.location.href.indexOf('code=') !== -1 || this.code) {
|
| | |
|
| | | } else { |
| | | return
|
| | | let url = window.location.href
|
| | | // let url = window.location.href
|
| | | const appID = 'wx173e6caf5abc718a'
|
| | | let uri = encodeURIComponent(url)
|
| | | let authURL =
|
| | |
| | | let url = window.location.href
|
| | | let code = ''
|
| | | if (url.indexOf('code=') !== -1 || this.code) {
|
| | | // const query = url.split('?')
|
| | | // for (const q of query) {
|
| | | // if (q.indexOf('code=') !== -1) {
|
| | | // let statusIndex = q.indexOf('&state') - 1
|
| | | // code = q.substring(q.indexOf('code=') + 5, statusIndex)
|
| | | // }
|
| | | // }
|
| | | const query = url.split('?')
|
| | | for (const q of query) {
|
| | | if (q.indexOf('code=') !== -1) {
|
| | | let statusIndex = q.indexOf('&state')
|
| | | code = q.substring(q.indexOf('code=') + 5, statusIndex)
|
| | | }
|
| | | }
|
| | | wxAuthorizea({
|
| | | code: code || this.code,
|
| | | source: source
|
| | |
| | | if (res.data.member) {
|
| | | that.$store.commit('setMember', res.data.member)
|
| | | } |
| | | let flag = res.data.member && res.data.member.id
|
| | | setTimeout(() => {
|
| | | if (source == 0) {
|
| | | if (res.data.token) {
|
| | | that.$store.commit('setToken', res.data.token)
|
| | | getUserInfo().then(ress => {
|
| | | that.$store.commit('setDriverInfo', ress.data)
|
| | | })
|
| | | }
|
| | | this.driverLogin(flag)
|
| | | } else if (source == 2) {
|
| | | if (res.data.token) { |
| | | that.$store.commit('setToken', res.data.token) |
| | | getUserInfo().then(ress => { |
| | | that.$store.commit('setUserInfo', ress.data) |
| | | }) |
| | | }
|
| | | let flag = res.data.member && res.data.member.id
|
| | | setTimeout(() => { |
| | | if (source == 0) { |
| | | this.driverLogin(flag) |
| | | } else if (source == 2) { |
| | | this.staffLogin(flag) |
| | | } else { |
| | | this.jump('/pages/index/index') |
| | |
| | | }
|
| | | })
|
| | | }
|
| | | // }
|
| | | // 刷新token
|
| | | // setTimeout(() => {
|
| | | // refreshToken().then(res => {
|
| | | // if (res.code && res.code === 200) {
|
| | | // this.$store.commit('setToken', res.data)
|
| | | // }
|
| | | // })
|
| | | // }, 3000)
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | <template> |
| | | <view class="main_app"> |
| | | <view class="title_wrap"> |
| | | <view class="name" v-if="userInfo.realname" |
| | | >{{ userInfo.realname || "" }},欢迎登录~</view |
| | | > |
| | | <view class="name" v-if="userInfo.realname">{{ userInfo.realname || "" }},欢迎登录~</view>
|
| | | <view class="name" v-else>请先登录</view> |
| | | <view class="btn" @click="loginOut">{{ |
| | | userInfo.realname ? "退出登录" : "去登录" |
| | |
| | | <view class="banner_wrap"> |
| | | <view class="h1">安泰物流</view> |
| | | <view class="h2">安全重于泰山 服务追求卓越</view> |
| | | <image |
| | | class="banner" |
| | | src="../../static/banner.jpg" |
| | | mode="widthFix" |
| | | ></image> |
| | | <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 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> |
| | | </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 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> |
| | | </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" /> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { logoutPost, stagingHead, wxAuthorize, refreshToken } from '@/api' |
| | | import {
|
| | | logoutPost,
|
| | | stagingHead,
|
| | | wxAuthorize,
|
| | | refreshToken,
|
| | | app_url
|
| | | } from '@/api'
|
| | | export default { |
| | | data() { |
| | | return { |
| | | userInfo: uni.getStorageSync('userInfo') || {permissions: []}, |
| | | 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' }, |
| | | 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' } |
| | | 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('----'); |
| | | },
|
| | |
|
| | | onShow() {
|
| | | setTimeout(() => {
|
| | | this.getTaskInfo() |
| | | }) |
| | | console.log('aaa', this.userInfo.permissions.indexOf('system:user:create')); |
| | | }, 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() { |
| | | this.$store.commit('empty') |
| | | logoutPost() |
| | | uni.redirectTo({ |
| | | url: '/pages/staffLogin/login' |
| | | }) |
| | | this.$store.commit('empty')
|
| | | window.location.href = app_url
|
| | | }, |
| | | getTaskInfo() { |
| | | stagingHead({ |
| | |
| | | }) |
| | | }, |
| | | } |
| | | }; |
| | | }
|
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | align-items: center; |
| | | margin-bottom: 24rpx; |
| | | padding-top: 10rpx; |
| | |
|
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 34rpx; |
| | | color: #222222; |
| | | } |
| | |
|
| | | .btn { |
| | | width: 144rpx; |
| | | height: 56rpx; |
| | |
| | | align-items: center; |
| | | } |
| | | } |
| | |
|
| | | .main_app { |
| | | padding-top: 12rpx; |
| | | } |
| | |
|
| | | .list{ |
| | | display: flex; |
| | | width: 100%; |
| | | flex-wrap: wrap; |
| | |
|
| | | .item{ |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | margin-bottom: 40rpx; |
| | | font-size: 26rpx; |
| | | position: relative; |
| | |
|
| | | image{ |
| | | width: 88rpx; |
| | | height: 88rpx; |
| | | margin-bottom: 20rpx; |
| | | } |
| | |
|
| | | .task_num{ |
| | | position: absolute; |
| | | top: -10rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .banner_wrap { |
| | | padding: 54rpx 44rpx; |
| | | color: #fff; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | width: 100%; |
| | | left: 0; |
| | | bottom: 48rpx; |
| | |
|
| | | image { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | |
| | | console.log(total); |
| | | console.log(recordList);
|
| | | if (activeTab == '0') { |
| | | // if(total <= myMeetingList.length) return this.showToast('暂无更多数据')
|
| | | if(total <= myMeetingList.length) return this.showToast('暂无更多数据')
|
| | | this.myPage = this.myPage + 1
|
| | | this.getDayMeeting()
|
| | | } else { |
| | | // if(total <= recordList.length) return this.showToast('暂无更多数据')
|
| | | if(total <= recordList.length) return this.showToast('暂无更多数据')
|
| | | this.recordPage = this.recordPage + 1
|
| | | this.getRecordList()
|
| | | }
|
| | |
| | | this.showUpload = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: (chooseImageRes) => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | |
| | |
|
| | | .adduser_list_item_ipt1_upload {
|
| | | margin-top: 24rpx;
|
| | | width: 120rpx;
|
| | | height: 120rpx;
|
| | | margin-right: 24rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | margin-right: 20rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | |
| | | align-items: center;
|
| | | justify-content: center;
|
| | | position: relative;
|
| | |
|
| | | &:nth-of-type(4n){ |
| | | margin-right: 0; |
| | | }
|
| | | .close {
|
| | | position: absolute;
|
| | | right: -20rpx;
|
| | |
| | |
|
| | | video {
|
| | | width: 100%;
|
| | | max-height: 120rpx;
|
| | | max-height: 156rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | width: 120rpx; |
| | | } |
| | | .loading { |
| | | color: $uni-color-primary; |
| | |
| | | class="status_img"></image>
|
| | | <view>{{ info.content }}</view>
|
| | | <view class="file_list">
|
| | | <view class="img_wrap" v-for="item in info.submitFileList" :key="item.id">
|
| | | <view class="img_wrap" v-for="item,i in info.submitFileList" :key="item.id">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
|
| | | class="img" />
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" class="video" :controls="false" />
|
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap"> |
| | | <video :id="'id' + i" :show-center-play-btn="false" |
| | | :src="item.fileurlFull" muted class="video" :controls="false" /> |
| | | <image src="@/static/play.png" class="play" mode=""></image> |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="text_wrap">
|
| | |
| | |
|
| | | <u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate"
|
| | | @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
|
| | | <!-- -->
|
| | |
|
| | | <view v-if="videoPlay" class="video_app">
|
| | | <video controls id="myvideo" :src="videoUrl" @fullscreenchange="screenChange"></video>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | page: 1,
|
| | | capacity: 50
|
| | | },
|
| | | memberList: []
|
| | | memberList: [],
|
| | |
|
| | | videoPlay: false,
|
| | | videoContext: null, |
| | | videoUrl: ''
|
| | | };
|
| | | },
|
| | | onLoad(op) {
|
| | |
| | | uni.previewImage({
|
| | | urls: [url]
|
| | | });
|
| | | },
|
| | | screenChange(e) {
|
| | | let fullScreen = e.detail.fullScreen; // 值true为进入全屏,false为退出全屏
|
| | | if (!fullScreen) {
|
| | | //退出全屏
|
| | | this.videoPlay = false; // 隐藏播放盒子
|
| | | }
|
| | | },
|
| | | videoClick(item, i) {
|
| | | this.videoContext = uni.createVideoContext("myvideo", this); // this这个是实例对象 必传
|
| | | console.log(item)
|
| | | this.videoUrl = item.fileurlFull;
|
| | | this.videoContext.requestFullScreen({
|
| | | direction: 90
|
| | | });
|
| | | this.videoContext.play();
|
| | | this.videoPlay = true;
|
| | | },
|
| | | handleOpen() {
|
| | | this.isShowHandle = true;
|
| | |
| | | this.showUploadBe = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | |
| | | this.showUploadAf = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | |
| | | this.showUpload = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | |
| | | }
|
| | |
|
| | | .adduser_list_item_ipt1_upload {
|
| | | width: 120rpx;
|
| | | height: 120rpx;
|
| | | margin-right: 24rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | margin-right: 20rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | |
| | | align-items: center;
|
| | | justify-content: center;
|
| | | position: relative;
|
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | |
|
| | | .close {
|
| | | position: absolute;
|
| | |
| | |
|
| | | video {
|
| | | width: 100%;
|
| | | max-height: 120rpx;
|
| | | max-height: 156rpx;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | .file_list {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | overflow-x: auto;
|
| | | flex-wrap: wrap;
|
| | |
|
| | | .img_wrap {
|
| | | margin-top: 24rpx;
|
| | | min-width: 160rpx;
|
| | | height: 160rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | | font-size: 22rpx;
|
| | | display: flex;
|
| | | border-radius: 4rpx;
|
| | | flex-direction: column;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | | position: relative;
|
| | | margin-right: 16rpx;
|
| | | margin-right: 20rpx;
|
| | | flex-shrink: 0;
|
| | | }
|
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | | }
|
| | | .video_wrap{ |
| | | position: relative; |
| | | border: 1px solid; |
| | | width: 156rpx; |
| | | height: 156rpx; |
| | | border-radius: 4rpx; |
| | | .play{ |
| | | width: 60rpx; |
| | | height: 60rpx; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | }
|
| | | .img {
|
| | | width: 100%;
|
| | | max-height: 100%;
|
| | |
| | | margin-top: 20rpx;
|
| | |
|
| | | .line {
|
| | | margin-bottom: 12rpx;
|
| | | margin-bottom: 18rpx;
|
| | | display: flex;
|
| | | font-size: 24rpx;
|
| | |
|
| | | &:nth-last-child(1) {
|
| | | margin-bottom: 0;
|
| | | }
|
| | |
|
| | | .label {
|
| | | color: #999999;
|
| | |
| | | line-height: 60rpx;
|
| | | padding: 0 32rpx;
|
| | | border-radius: 0rpx 0rpx 0rpx 30rpx;
|
| | | background-color: #e9edff;
|
| | | background: rgba(39, 155, 170, 0.12);
|
| | | color: $uni-color-primary;
|
| | | }
|
| | |
|
| | |
| | | }
|
| | |
|
| | | .adduser_list_item_ipt1_upload {
|
| | | margin-top: 24rpx;
|
| | | width: 120rpx;
|
| | | height: 120rpx;
|
| | | margin-right: 24rpx;
|
| | | margin-top: 20rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | margin-right: 20rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | |
| | | justify-content: center;
|
| | | position: relative;
|
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | |
|
| | | .close {
|
| | | position: absolute;
|
| | | right: -20rpx;
|
| | |
| | | <view class="line" |
| | | >4、公司借给申请人用车,申请借车人为第一责任人,不允许转借给其他人使用,若要借给他人使用。责任人要承担全部责任。</view |
| | | > |
| | | </view> |
| | | <view class="sub_btn" @click="handleSub">提交</view> |
| | | </view> |
| | | <!-- --> |
| | | <!-- :minDate="new Date(param.startTime).getTime()" |
| | | :maxDate="new Date(param.endTime).getTime()" --> |
| | |
| | | } |
| | | } |
| | | .sub_btn { |
| | | position: fixed; |
| | | bottom: 84rpx; |
| | | left: 30rpx; |
| | | // position: fixed; |
| | | // bottom: 84rpx; |
| | | // left: 30rpx; |
| | | margin-top: 60rpx; |
| | | width: 690rpx; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | |
| | | carsList: [], |
| | | param: { |
| | | queryDate: dayjs().format('YYYY-MM-DD'), |
| | | memberId: uni.getStorageSync('userInfo').memberId |
| | | // memberId: uni.getStorageSync('userInfo').memberId |
| | | }, |
| | | minDate: '', |
| | | pagination: { |
| | |
| | | }, |
| | | itemDetail(item) { |
| | | uni.navigateTo({ |
| | | url: "/pages/staff/vehicle/sendACarDetail?id=" + item.id |
| | | url: `/pages/staff/vehicle/sendACarDetail?id=${item.id}` |
| | | }) |
| | | }, |
| | | seletedCar(e) { |
| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <view class="status_wrap"> |
| | | <view class="name">{{ info.createMemberName }}提交的用车申请</view> |
| | | <view |
| | | class="desc" |
| | | :class="{ |
| | | gray: info.status == '2' || info.status == '3' || info.status == '4', |
| | | }" |
| | | >{{ infoStatus }}</view |
| | | > |
| | | <view class="name">{{ info.createMemberName || info.creatorName || info.memberName}}提交的用车申请</view>
|
| | | <view class="desc gray">{{ info.companyName }}</view> |
| | | <view class="desc" style="margin-top: 16rpx;" v-if="info.status == 0">处理中</view>
|
| | | <view v-if="info.status == '0' || info.status == '1'" class="status">{{ |
| | | statusMap[info.status] |
| | | }}</view> |
| | | <image v-if="info.status == '2'" src="@/static/ic_passed@2x.png" mode="widthFix" class="status_img"></image> |
| | | <image v-if="info.status == '4'" src="@/static/ic_cancel.png" mode="widthFix" class="status_img"></image>
|
| | | <image v-if="info.status == '3' || info.status == '6'" src="@/static/ic_refused@2x.png" mode="widthFix" |
| | | class="status_img"></image> |
| | | </view>
|
| | |
| | | <view class="label">车辆信息</view>
|
| | | <view class="value">{{ info.carCode }}</view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="item" v-if="info.driverName">
|
| | | <view class="label">司机信息</view>
|
| | | <view class="value">{{ info.driverName }} {{ info.driverPhone }}</view>
|
| | | <view class="value">{{ info.driverName }} {{ info.driverPhone || '' }}</view>
|
| | | </view>
|
| | | </view>
|
| | | <!-- 流程 -->
|
| | |
| | | </template>
|
| | | </view> |
| | | <template v-else> |
| | | <view v-if="(info.approveDateVO.canBeApproved == 1 || userInfo.memberId == info.memberId) && info.status == 0" class="main_footer" @click="isShowBack = true"> |
| | | <view v-if="(info.approveDateVO.canBeApproved == 1 || userInfo.memberId == info.memberId) && info.status == 0"
|
| | | class="main_footer" @click="isShowBack = true">
|
| | | <view class="agree btn">撤回用车</view> |
| | | </view> |
| | | </template> |
| | |
| | | <view class="appr_modal">
|
| | | <view class="title">{{ param.status == 2 ? "同意" : "拒绝" }}</view>
|
| | | <view v-if="param.status == 2" class="line" @click="openModal">
|
| | | <text :class="{placeholder9: info.approveDateVO.driverParam == 0}" v-if="param.driverName">{{ param.driverName }}</text>
|
| | | <text :class="{placeholder9: info.approveDateVO.driverParam == 0}"
|
| | | v-if="param.driverName">{{ param.driverName }}</text>
|
| | | <text v-else class="placeholder9">派车司机</text>
|
| | | <u-icon v-if="info.approveDateVO.driverParam == 1" class="ml12" name="arrow-right" color="#999999" />
|
| | | </view>
|
| | |
| | | width: 120rpx; |
| | | } |
| | | }
|
| | |
|
| | | .main_footer {
|
| | | padding-bottom: 64rpx;
|
| | | display: flex;
|
| | |
| | | <template> |
| | | <view class="login"> |
| | | <view class="login" :style="{height: windowHeight + 'px'}"> |
| | | <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" /> |
| | | <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" /> |
| | | <view class="login_title">安泰物流智慧园区</view> |
| | |
| | | > |
| | | </view> |
| | | |
| | | <view class="deal_wrap" v-show="!showKeyboard"> |
| | | <view class="deal_wrap"> |
| | | <image |
| | | @click="changeFalg" |
| | | v-if="ProtocolFlag" |
| | |
| | | src="@/static/meeting/icon/ic_choose@2x.png" |
| | | mode="widthFix" |
| | | class="checked" |
| | | |
| | | ></image> |
| | | <text>登录即同意</text> |
| | | <text class="deal" @click="showContent">《安泰物流用户协议》</text> |
| | |
| | | <u-popup |
| | | :show="isShowProtocol" |
| | | @close="isShowProtocol = false" |
| | | closeable |
| | | :round="8" |
| | | mode="center" |
| | | > |
| | | <view class="modal"> |
| | | <!-- <view v-html="htmlText"></view> --> |
| | | <view class="content"> |
| | | <mp-html :content="htmlText" /> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { loginPost, loginCaptcha, getUserInfo, getSystemDictData } from '@/api' |
| | | import { loginPost, loginCaptcha, getUserInfo, getSystemDictData, saveHkUserOpenid } from '@/api' |
| | | import { mapState, mapMutations } from 'vuex' |
| | | export default { |
| | | name: 'login', |
| | |
| | | isShowProtocol: false, |
| | | ProtocolFlag: false, |
| | | captcha: {}, |
| | | htmlText: '' |
| | | htmlText: '', |
| | | windowHeight: '' |
| | | } |
| | | }, |
| | | |
| | | onLoad() { |
| | | this.initCaptcha() |
| | | const result = uni.getWindowInfo() |
| | | this.windowHeight = result.windowHeight |
| | | console.log('result', result); |
| | | }, |
| | | onBackPress(options) { |
| | | uni.redirectTo({ |
| | |
| | | url: "/pages/staff/index" |
| | | }) |
| | | }) |
| | | saveHkUserOpenid({}) |
| | | } |
| | | }) |
| | | } |
| | |
| | | box-sizing: border-box; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | position: relative; |
| | | background: linear-gradient( |
| | | 180deg, |
| | | rgba(39, 155, 170, 0.2) 0%, |
| | |
| | | } |
| | | } |
| | | .deal_wrap { |
| | | position: fixed; |
| | | position: absolute; |
| | | width: 100%; |
| | | left: 0; |
| | | text-align: center; |
| | |
| | | margin-right: 12rpx; |
| | | } |
| | | } |
| | | .rela_wrap{ |
| | | position: relative; |
| | | margin-top: 360rpx; |
| | | } |
| | | } |
| | | .modal { |
| | | width: 690rpx; |
| | | min-height: 820rpx; |
| | | max-height: 720px; |
| | | max-height: 80vh; |
| | | border-radius: 24rpx; |
| | | padding: 32rpx; |
| | | padding: 30rpx 30rpx; |
| | | overflow: auto; |
| | | // .content{ |
| | | // height: 100%; |
| | | // overflow: auto; |
| | | // } |
| | | } |
| | | </style> |
| | |
| | | filePath: file.tempFilePath, |
| | | name: 'file', |
| | | formData: { |
| | | folderCode: 'MEMBER_IMG' |
| | | folderCode: 'MEMBER_IMG', |
| | | isFace: 0 |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | |
| | | |
| | | state: { |
| | | openId: openId || '', |
| | | // openId: openId || '123123', |
| | | member: member || null, |
| | | statusbarHeight: statusbarHeight || '0', |
| | | navHeight: navHeight || '0', |
| | |
| | | }, |
| | | // 清空登录缓存 |
| | | empty(state) { |
| | | uni.clearStorageSync() |
| | | state.token = '' |
| | | state.openId = '' |
| | | state.userInfo = {} |
| | | state.driverInfo = {} |
| | | uni.removeStorageSync('userInfo') |
| | | uni.removeStorageSync('driverInfo') |
| | | uni.removeStorageSync('token') |
| | | } |
| | | }, |
| | | actions: { |
| | |
| | | |
| | | export const baseUrl = 'zhyq_interface/' |
| | | // export const baseUrl = 'zhyq_interface/' |
| | | // export const baseUrl = 'http://192.168.0.173/gateway_interface/' |
| | | // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/' |
| | | // export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' |
| | | export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' |
| | | |
| | | export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/' |
| | | |
| | | export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` |
| | | export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch` |
| | |
| | | "disableHostCheck" : true, |
| | | "proxy" : { |
| | | "/gateway_interface" : { |
| | | // "target" : "http://10.50.250.253:8088/gateway_interface", // 代理服务器域名或IP地址 |
| | | "target" : "http://10.50.250.253:8088/gateway_interface", // 代理服务器域名或IP地址 |
| | | // "target" : "http://192.168.0.173/gateway_interface", // 代理服务器域名或IP地址 |
| | | "target" : "http://192.168.0.173/gateway_interface", // 代理服务器域名或IP地址 |
| | | // "target" : "http://192.168.0.173/gateway_interface", // 代理服务器域名或IP地址 |
| | | "changeOrigin" : true, // 允许跨域 |
| | | "pathRewrite" : { |
| | | "^/gateway_interface" : "" |
| | |
| | | |
| | | // export const baseUrl = 'gateway_interface/'/ |
| | | export const baseUrl = 'http://192.168.5.13/gateway_interface/' |
| | | export const baseUrl = 'gateway_interface/' |
| | | // export const baseUrl = 'http://192.168.5.13/gateway_interface/' |
| | | // export const baseUrl = 'http://192.168.0.173/gateway_interface/' |
| | | |
| | | export const statusMap = { |
| | |
| | | { |
| | | path: '/PlatformCall', // 月台叫号大屏 |
| | | name: 'PlatformCall', |
| | | meta: { |
| | | title: '安泰物流月台叫号大屏' |
| | | }, |
| | | component: () => import('../views/PlatformCall.vue') |
| | | }, |
| | | { |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>实时园区车辆</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="second_title"> |
| | | <div class="title"> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>在园人员分析</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="second_title"> |
| | | <div class="title"> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>当前车辆滞留预警</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="table"> |
| | | <div class="line header"> |
| | |
| | | <div class="separate"></div> |
| | | <div class="tab" :class="{ active: warningTab == '2' }" @click="tasClick('2')">行为告警</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="one_swiper_wrap"> |
| | | <div class="list one-swiper"> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>园区安防设备</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="monitoring" @click="showJk = !showJk"> |
| | | <img src="@/assets/images/SecurityControl/ic_jiankong@2x.png" class="icon" alt=""> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>今日访客滞留情况</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="table"> |
| | | <div class="line header"> |
| | |
| | | show: true, |
| | | position: 'outside', |
| | | formatter: (params) => { |
| | | const index = params.dataIndex; |
| | | const index = params.dataIndex |
| | | return `{color${index}|${params.data.name} ${params.data.rate}%}` |
| | | // return `<div>${params.data.name}</div>` |
| | | }, |
| | |
| | | margin-bottom: 20px; |
| | | font-size: 14px; |
| | | color: #D2E0FF; |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | |
| | | .second_title { |
| | | margin-top: 24px; |
| | |
| | | |
| | | .right_box_one { |
| | | margin-bottom: 20px; |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | |
| | | .second_title { |
| | | margin-top: 20px; |
| | |
| | | } |
| | | } |
| | | |
| | | .right_box_two {} |
| | | .right_box_two { |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | } |
| | | |
| | | .right_box_three {} |
| | | .right_box_three { |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | .one_swiper_wrap { |
| | | height: 140px; |
| | | overflow: hidden; |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | } |
| | | |
| | | .list { |
| | |
| | | flex: 1; |
| | | margin-right: 20px; |
| | | position: relative; |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | |
| | | .content { |
| | | display: flex; |
| | |
| | | |
| | | .visitor_warning { |
| | | width: 360px; |
| | | background: rgba(0, 86, 255, 0.05); |
| | | backdrop-filter: blur(5px); |
| | | |
| | | .table { |
| | | .list { |
| | |
| | | align-items: center; |
| | | font-weight: bold; |
| | | font-size: 16px; |
| | | background-image: -webkit-linear-gradient(top, |
| | | #ffffff 0%, |
| | | #c8ddff 66%, |
| | | #85b4ff 72%, |
| | | #74a9ff 100%); |
| | | -webkit-background-clip: text; |
| | | -webkit-text-fill-color: transparent; |
| | | |
| | | .icon { |
| | | width: 16px; |
| | |
| | | <template> |
| | | <v-scale-screen width="1920" height="960"> |
| | | <div class="main_app"> |
| | | <img src="@/assets/images/FireFighting/bg@2x.png" class="main_bg" alt="" /> |
| | | <img src="@/assets/images/task/bg@2x.png" class="main_bg" alt="" /> |
| | | <div class="main_header"> |
| | | <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" /> |
| | | <div class="title">安泰智慧物流园区-作业效能统筹</div> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>今日月台完成订单统计</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="car_static"> |
| | | <div class="echart_wrap"> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>今日月台工作时长趋势</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="list one-swiper"> |
| | | <div class="swiper-wrapper"> |
| | |
| | | <div class="separate"></div> |
| | | <div class="tab" :class="{ active: activeTab3 == 0 }" @click="tabClick3(0)">入库</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="echart_wrap"> |
| | | <div class="echart2" id="echart2"></div> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>今日车辆作业情况</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="static_wrap"> |
| | | <div class="item"> |
| | |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>实时告警</div> |
| | | </div> |
| | | <img src="@/assets/images/title@2x.png" class="bg" alt="" /> |
| | | <img src="@/assets/images/task/title@2x.png" class="bg" alt="" /> |
| | | </div> |
| | | <div class="list three-swiper"> |
| | | <div class="swiper-wrapper"> |