<template>
|
<view class="box">
|
<view class="box_head">
|
<canvas class="box_head_qrcode" canvas-id="img" v-if="[2,5,7,8,9].includes(info.status)"></canvas>
|
<image class="box_head_logo" src="../../static/logo@2x.png" mode="widthFix" v-else></image>
|
<text class="box_head_a" v-if="[0, 1].includes(info.status)">访客预约待审核</text>
|
<text class="box_head_a" style="color: #03AF76;" v-if="info.status === 2">访客预约审核通过</text>
|
<text class="box_head_a" style="color: #ED4545;" v-if="info.status === 3">访客预约审核不通过</text>
|
<text class="box_head_b" v-if="[0, 1].includes(info.status)">您的预约单已提交审核,请等待被访人审核</text>
|
<text class="box_head_b" v-if="info.status === 2">您的来访申请已审核通过,请在门卫处进行登记入场
|
如遇特殊情况,可联系被访人或安保人员</text>
|
<text class="box_head_b" v-if="info.status === 3">您的来访申请已被驳回,如有疑问,可联系被访人</text>
|
</view>
|
<view class="box_list">
|
<view class="box_list_label">拜访信息</view>
|
<view class="box_list_tips" v-if="info.status === 2">请注意查看出入门禁下发情况,如若下发失败需重新申请</view>
|
<view class="box_list_item">
|
<view class="box_list_item_label">被访人员:</view>
|
<view class="box_list_item_val">{{info.visitUserName}}</view>
|
</view>
|
<!-- <view class="box_list_item">
|
<view class="box_list_item_label">车牌号:</view>
|
<view class="box_list_item_val">{{info.carNos}}</view>
|
</view> -->
|
<view class="box_list_item">
|
<view class="box_list_item_label">拜访事由:</view>
|
<view class="box_list_item_val">{{info.visitReason}}</view>
|
</view>
|
<view class="box_list_item">
|
<view class="box_list_item_label">拜访时间:</view>
|
<view class="box_list_item_val">{{info.visitTime}}</view>
|
</view>
|
<view class="box_list_item">
|
<view class="box_list_item_label">访问门禁:</view>
|
<view class="box_list_item_val" v-if="info.doorGroupName && info.doorGroupName.length > 0">{{info.doorGroupName.join('、')}}</view>
|
</view>
|
<view class="box_list_item">
|
<view class="box_list_item_label">主访客:</view>
|
<view class="box_list_item_val">
|
{{info.name}} {{info.phone}}
|
</view>
|
</view>
|
<view class="box_list_item" v-for="(item, index) in info.withVisitsList" :key="index">
|
<view class="box_list_item_label">随访人员{{index + 1}}:</view>
|
<view class="box_list_item_val">
|
{{item.name}} {{item.phone}}
|
<view class="box_list_item_val_btn" v-if="[2,5,7,8,9].includes(item.status)">
|
<u-button text="查看二维码" size="mini" @click="seeQrCode(item)" type="primary"></u-button>
|
</view>
|
</view>
|
</view>
|
</view>
|
<u-popup :show="show" mode="center" @close="close">
|
<view class="qrocde">
|
<canvas class="qrcode_img" canvas-id="img1"></canvas>
|
</view>
|
</u-popup>
|
</view>
|
</template>
|
|
<script>
|
import wxcode from 'uniapp-qrcode'
|
|
export default {
|
data() {
|
return {
|
info: {},
|
show: false
|
};
|
},
|
onLoad(option) {
|
this.$u.api.detail({ id: option.id })
|
.then(res => {
|
if (res.code === 200) {
|
this.info = res.data
|
if (res.data.qrcode) {
|
this.$nextTick(() => {
|
wxcode.qrcode('img', res.data.qrcode, 320, 320)
|
})
|
}
|
}
|
})
|
},
|
methods: {
|
close() {
|
this.show = false
|
},
|
seeQrCode(code) {
|
if (code.qrcode) {
|
this.show = true
|
this.$nextTick(() => {
|
wxcode.qrcode('img1', code.qrcode, 300, 300)
|
})
|
} else {
|
uni.showToast({ title: '暂无二维码', icon: 'none' })
|
}
|
}
|
}
|
}
|
</script>
|
<style>
|
page {
|
background-color: #f7f7f7;
|
}
|
</style>
|
<style lang="scss" scoped>
|
.box {
|
width: 100%;
|
.qrocde {
|
width: 300rpx;
|
height: 300rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
.qrcode_img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
.box_head {
|
width: 100%;
|
padding: 40rpx 0;
|
box-sizing: border-box;
|
background-color: #ffffff;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
flex-direction: column;
|
.box_head_qrcode {
|
width: 320rpx;
|
height: 320rpx;
|
}
|
.box_head_logo {
|
width: 220rpx;
|
height: 220rpx;
|
}
|
.box_head_a {
|
font-size: 36rpx;
|
font-weight: 600;
|
color: #025EEF;
|
margin-top: 30rpx;
|
}
|
.box_head_b {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
margin-top: 24rpx;
|
text-align: center;
|
}
|
}
|
.box_list {
|
width: 100%;
|
margin-top: 20rpx;
|
background-color: #ffffff;
|
padding: 40rpx 30rpx;
|
box-sizing: border-box;
|
.box_list_tips {
|
width: 100%;
|
height: 52rpx;
|
padding: 0 20rpx;
|
box-sizing: border-box;
|
line-height: 52rpx;
|
background-color: rgba(224, 49, 42, 0.06);
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #E0312A;
|
border-radius: 4rpx;
|
margin: 30rpx 0;
|
}
|
.box_list_label {
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
.box_list_item {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
margin-top: 30rpx;
|
.box_list_item_label {
|
flex-shrink: 0;
|
font-size: 28rpx;
|
font-family: PingFangSC, PingFang SC;
|
font-weight: 400;
|
color: #666666;
|
}
|
.box_list_item_val {
|
font-size: 28rpx;
|
font-family: PingFangSC, PingFang SC;
|
font-weight: 400;
|
color: #333333;
|
display: flex;
|
align-items: center;
|
.box_list_item_val_btn {
|
width: 140rpx;
|
margin-left: 15rpx;
|
}
|
}
|
}
|
}
|
}
|
</style>
|