|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view class="main_app"> | 
|---|
|  |  |  | <view class="status_wrap"> | 
|---|
|  |  |  | <view class="name">{{ info.createMemberName }}提交的{{ cateList[type].name }}</view> | 
|---|
|  |  |  | <view class="name">{{ info.createMemberName }}提交的访客报备</view> | 
|---|
|  |  |  | <view | 
|---|
|  |  |  | class="desc" | 
|---|
|  |  |  | :class="{ | 
|---|
|  |  |  | gray: info.businessStatus == '2' || info.businessStatus == '3' || info.businessStatus == '4', | 
|---|
|  |  |  | }" | 
|---|
|  |  |  | >{{ infoStatus }}</view | 
|---|
|  |  |  | >{{ info.info }}</view | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <view v-if="info.businessStatus == '0' || info.businessStatus == '1'" class="status">{{ | 
|---|
|  |  |  | statusMap[info.businessStatus] | 
|---|
|  |  |  | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">访客单位</view> | 
|---|
|  |  |  | <view class="value">{{ info.companyName }}人</view> | 
|---|
|  |  |  | <view class="value">{{ info.companyName }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">来访事由</view> | 
|---|
|  |  |  | 
|---|
|  |  |  | info.approveDateVO.canBeApproved != null && | 
|---|
|  |  |  | info.approveDateVO.canBeApproved == 1 | 
|---|
|  |  |  | " class="main_footer"> | 
|---|
|  |  |  | <view class="btn" @click="cancelShow = true" v-if="checkAuth('business:visits:cancel') && [0,1,2,5].includes(info.status)">取消预约</view> | 
|---|
|  |  |  | <view style="width: 30rpx; height: 100%;"></view> | 
|---|
|  |  |  | <view class="btn" @click="handleSub(3)">拒绝</view> | 
|---|
|  |  |  | <view style="width: 30rpx; height: 100%;"></view> | 
|---|
|  |  |  | <view class="btn agree" @click="handleSub(2)">同意</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | " placeholder-class="placeholder9" /> | 
|---|
|  |  |  | <view class="main_footer"> | 
|---|
|  |  |  | <view class="btn" @click="showApprModal = false">取消</view> | 
|---|
|  |  |  | <view style="width: 30rpx; height: 100%;"></view> | 
|---|
|  |  |  | <view class="btn agree" @click="onSubmit">提交</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </u-popup> | 
|---|
|  |  |  | <!-- 取消预约弹窗 --> | 
|---|
|  |  |  | <u-modal | 
|---|
|  |  |  | :show="cancelShow" | 
|---|
|  |  |  | :showCancelButton="true" | 
|---|
|  |  |  | title="系统提示" | 
|---|
|  |  |  | content='确定取消当前预约吗?' | 
|---|
|  |  |  | @cancel="cancelShow = false" | 
|---|
|  |  |  | @confirm="cancel" /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getVisitedReDetail, // 访客预约详情 | 
|---|
|  |  |  | carUseBookAppr | 
|---|
|  |  |  | carUseBookAppr, | 
|---|
|  |  |  | visitsCancel | 
|---|
|  |  |  | } from '@/api' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | 
|---|
|  |  |  | showApprModal: false, | 
|---|
|  |  |  | param: {}, | 
|---|
|  |  |  | info: {}, | 
|---|
|  |  |  | userInfo: uni.getStorageSync('userInfo') || { | 
|---|
|  |  |  | permissions: [] | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | id: '', | 
|---|
|  |  |  | type: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | 2: '已通过', | 
|---|
|  |  |  | 3: '已拒绝', | 
|---|
|  |  |  | 4: '已取消', | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | cancelShow: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(op) { | 
|---|
|  |  |  | uni.setStorageSync('ywinfo',{}) | 
|---|
|  |  |  | this.id = op.id | 
|---|
|  |  |  | this.type = op.objType | 
|---|
|  |  |  | this.infoStatus = op.info | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | checkAuth(str) { | 
|---|
|  |  |  | const permissions = this.userInfo.permissions || [] | 
|---|
|  |  |  | return permissions.indexOf(str) > -1 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 取消预约 | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | visitsCancel(this.id).then(res => { | 
|---|
|  |  |  | this.cancelShow = false | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDetail() { | 
|---|
|  |  |  | const { id } = this | 
|---|
|  |  |  | getVisitedReDetail({ id }).then(res => { | 
|---|
|  |  |  | 
|---|
|  |  |  | background: #ffffff; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .btn { | 
|---|
|  |  |  | width: 336rpx; | 
|---|
|  |  |  | // width: 336rpx; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | line-height: 88rpx; | 
|---|
|  |  |  | background: #ffffff; | 
|---|