|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view class="main_app"> | 
|---|
|  |  |  | <view class="status_wrap"> | 
|---|
|  |  |  | <view class="name">丁恩凯的访客申请</view> | 
|---|
|  |  |  | <view class="desc">等待我处理</view> | 
|---|
|  |  |  | <view class="status">审批中</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!--  --> | 
|---|
|  |  |  | <view class="emyty"></view> | 
|---|
|  |  |  | <view class="module_list"> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">拜访人</view> | 
|---|
|  |  |  | <view class="value">廖成瑶</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">预计入/离厂时间</view> | 
|---|
|  |  |  | <view class="value">05/01 8:00 - 05/01 18:00</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="emyty"></view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">访客信息</view> | 
|---|
|  |  |  | <view class="value"> | 
|---|
|  |  |  | <image class="avatar" src="@/static/logo@2x.png" mode="widthFix"></image> | 
|---|
|  |  |  | <view class="info"> | 
|---|
|  |  |  | <text class="name">孙志 18177665678</text> | 
|---|
|  |  |  | <text>身份证号:3309****2910</text> | 
|---|
|  |  |  | <text>入园车辆:皖A88789</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">公司名称</view> | 
|---|
|  |  |  | <view class="value">中国移动</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">施工人员</view> | 
|---|
|  |  |  | <view class="value">否</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">来访事由</view> | 
|---|
|  |  |  | <view class="value">业务洽谈</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 流程 --> | 
|---|
|  |  |  | <view class="flow_wrap"> | 
|---|
|  |  |  | <view class="flow_title">流程</view> | 
|---|
|  |  |  | <view class="list"> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="avatar"> | 
|---|
|  |  |  | <image class="img" src="@/static/logo@2x.png" mode="widthFix" /> | 
|---|
|  |  |  | <image class="status" src="@/static/staff/liucheng_success@2x.png" mode="widthFix" /> | 
|---|
|  |  |  | <view class="separate"></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="content"> | 
|---|
|  |  |  | <view class="head"> | 
|---|
|  |  |  | <view class="event">某某提交的拜访申请</view> | 
|---|
|  |  |  | <view class="time">time</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="name_wrap"> | 
|---|
|  |  |  | <text>李东(<text class="status">处理中</text>)</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="remark">同意放行</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="avatar"> | 
|---|
|  |  |  | <image class="img" src="@/static/logo@2x.png" mode="widthFix" /> | 
|---|
|  |  |  | <image class="status" src="@/static/staff/liucheng_success@2x.png" mode="widthFix" /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="content"> | 
|---|
|  |  |  | <view class="head"> | 
|---|
|  |  |  | <view class="event">某某提交的拜访申请</view> | 
|---|
|  |  |  | <view class="time">time</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="name_wrap"> | 
|---|
|  |  |  | <text>李东(<text class="status">处理中</text>)</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="carbon"> | 
|---|
|  |  |  | <view class="carbon_item" v-for="i in 12"> | 
|---|
|  |  |  | <image src="../../../static/logo@2x.png" mode="widthFix"></image> | 
|---|
|  |  |  | <view class="text">name</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="emyty"></view> | 
|---|
|  |  |  | <view class="main_footer"> | 
|---|
|  |  |  | <view class="btn" @click="handleSub('0')">拒绝</view> | 
|---|
|  |  |  | <view class="btn agree" @click="handleSub('1')">同意</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--  --> | 
|---|
|  |  |  | <u-popup :show="showApprModal" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="showApprModal = false"> | 
|---|
|  |  |  | <view class="appr_modal"> | 
|---|
|  |  |  | <view class="title">同意</view> | 
|---|
|  |  |  | <textarea placeholder="同意说明,非必填" placeholder-class="placeholder9" /> | 
|---|
|  |  |  | <view class="main_footer"> | 
|---|
|  |  |  | <view class="btn" @click="showApprModal = false">取消</view> | 
|---|
|  |  |  | <view class="btn agree">提交</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </u-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | showApprModal: false, | 
|---|
|  |  |  | param: {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | handleSub(flag) { | 
|---|
|  |  |  | // this.param.flag = | 
|---|
|  |  |  | if (flag === '1') { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.showApprModal = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | page { | 
|---|
|  |  |  | background-color: #F7F7F7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | .main_app { | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | padding-bottom: 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .flow_wrap { | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .flow_title { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | margin-bottom: 24rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .list { | 
|---|
|  |  |  | .item { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | margin-bottom: 48rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .avatar { | 
|---|
|  |  |  | width: 80rpx; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | margin-right: 20rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .img { | 
|---|
|  |  |  | width: 80rpx; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | width: 28rpx; | 
|---|
|  |  |  | height: 28rpx; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | right: 0; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .separate { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 4rpx; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | background-color: #EEEEEE; | 
|---|
|  |  |  | left: 50%; | 
|---|
|  |  |  | transform: translate(-50%, 0); | 
|---|
|  |  |  | bottom: -80rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .head { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | margin-bottom: 4rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .event { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .time { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name_wrap { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #777777; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | color: $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .remark { | 
|---|
|  |  |  | margin-top: 12rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | padding: 14rpx 20rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | line-height: 36rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .carbon{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | width: 590rpx; | 
|---|
|  |  |  | overflow-x: auto; | 
|---|
|  |  |  | margin-top: 12rpx; | 
|---|
|  |  |  | .carbon_item{ | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  | image{ | 
|---|
|  |  |  | width: 60rpx; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | margin: 0 auto; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | view{ | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #777777; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .module_list { | 
|---|
|  |  |  | .item { | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  | border-bottom: 1rpx solid #E5E5E5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .label { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | margin-bottom: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .value { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .avatar { | 
|---|
|  |  |  | margin-right: 20rpx; | 
|---|
|  |  |  | width: 120rpx; | 
|---|
|  |  |  | height: 120rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | border: 2rpx solid #E5E5E5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .info { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status_wrap { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | margin-bottom: 20rpx; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .desc { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #ED4545; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | right: -30rpx; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | line-height: 60rpx; | 
|---|
|  |  |  | padding: 0 32rpx; | 
|---|
|  |  |  | border-radius: 0rpx 0rpx 0rpx 30rpx; | 
|---|
|  |  |  | background-color: #e9edff; | 
|---|
|  |  |  | color: $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .main_footer { | 
|---|
|  |  |  | padding-bottom: 64rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .btn { | 
|---|
|  |  |  | width: 336rpx; | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | line-height: 88rpx; | 
|---|
|  |  |  | background: #FFFFFF; | 
|---|
|  |  |  | border-radius: 44rpx; | 
|---|
|  |  |  | border: 1rpx solid #999999; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | margin: 16rpx 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .agree { | 
|---|
|  |  |  | background: $uni-color-primary; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | border: 1rpx solid $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .appr_modal { | 
|---|
|  |  |  | padding: 36rpx 30rpx 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | margin-bottom: 40rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | textarea { | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | width: 690rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | padding: 24rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | margin-bottom: 30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .emyty { | 
|---|
|  |  |  | width: 750rpx; | 
|---|
|  |  |  | height: 20rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | margin: 0 -30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view class="main_app"> | 
|---|
|  |  |  | <view class="status_wrap"> | 
|---|
|  |  |  | <view class="name">{{ info.name }}提交的访客申请</view> | 
|---|
|  |  |  | <view class="desc" :class="{ | 
|---|
|  |  |  | gray: info.businessStatus == '2' || info.businessStatus == '3' || info.businessStatus == '4', | 
|---|
|  |  |  | }">{{ statusMap[info.businessStatus] }}</view> | 
|---|
|  |  |  | <view v-if="info.businessStatus == '0' || info.businessStatus == '1'" class="status">{{ | 
|---|
|  |  |  | info.info | 
|---|
|  |  |  | }}</view> | 
|---|
|  |  |  | <image v-if="info.businessStatus == '2'" src="@/static/ic_passed@2x.png" mode="widthFix" class="status_img"> | 
|---|
|  |  |  | </image> | 
|---|
|  |  |  | <image v-if="info.businessStatus == '3'" src="@/static/ic_refused@2x.png" mode="widthFix" class="status_img"> | 
|---|
|  |  |  | </image> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!--  --> | 
|---|
|  |  |  | <view class="emyty"></view> | 
|---|
|  |  |  | <view class="module_list"> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">被访人</view> | 
|---|
|  |  |  | <view class="value">{{ info.visitUserName }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">预计入/离园时间</view> | 
|---|
|  |  |  | <view class="value" v-if="info.visitTime">{{ info.visitTime }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="emyty"></view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">访客信息</view> | 
|---|
|  |  |  | <view class="value"> | 
|---|
|  |  |  | <image class="avatar" :src=" | 
|---|
|  |  |  | info.prefix | 
|---|
|  |  |  | ? info.prefix + info.faceImg | 
|---|
|  |  |  | : require('@/static/meeting/common/default_user@2x.png') | 
|---|
|  |  |  | " mode="widthFix"></image> | 
|---|
|  |  |  | <view class="info"> | 
|---|
|  |  |  | <text class="name">{{ info.name }} {{ info.phone }}</text> | 
|---|
|  |  |  | <text>身份证号:{{ info.idCardDecode }}</text> | 
|---|
|  |  |  | <text>入园车辆:{{ info.carNos }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">公司名称</view> | 
|---|
|  |  |  | <view class="value">{{ info.companyName }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">是否涉及施工作业</view> | 
|---|
|  |  |  | <view class="value">{{ info.type == 0 ? "否" : "是" }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="item"> | 
|---|
|  |  |  | <view class="label">来访事由</view> | 
|---|
|  |  |  | <view class="value">{{ info.visitReason }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view v-if="info.constructionReason" class="item"> | 
|---|
|  |  |  | <view class="label">施工内容</view> | 
|---|
|  |  |  | <view class="value">{{ info.constructionReason }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 流程 --> | 
|---|
|  |  |  | <view class="flow_wrap"> | 
|---|
|  |  |  | <view class="flow_title">流程</view> | 
|---|
|  |  |  | <view class="list" v-if=" | 
|---|
|  |  |  | info.approveDateVO != null && info.approveDateVO.approveList != null | 
|---|
|  |  |  | "> | 
|---|
|  |  |  | <view class="item" v-for="(item, index) in info.approveDateVO.approveList" :key="item.id"> | 
|---|
|  |  |  | <view class="separate"></view> | 
|---|
|  |  |  | <view class="avatar"> | 
|---|
|  |  |  | <image v-if="item.type == 1" class="img" src="@/static/staff/ic_chaosong@2x.png" /> | 
|---|
|  |  |  | <image v-else-if="item.approveType == 1 || item.approveType == 0" class="img" | 
|---|
|  |  |  | src="@/static/staff/ic_shenpiren@2x.png" /> | 
|---|
|  |  |  | <image v-else-if="item.faceImg" :src="item.faceImg" class="img"></image> | 
|---|
|  |  |  | <span v-else class="img_name">{{item.memberName && item.memberName.slice(0,1)}}</span> | 
|---|
|  |  |  | <image v-if="item.status == 2" class="status" src="@/static/staff/liucheng_success@2x.png" | 
|---|
|  |  |  | mode="widthFix" /> | 
|---|
|  |  |  | <image v-if="item.status == 3" class="status" src="@/static/staff/liucheng_fail@2x.png" mode="widthFix" /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="content"> | 
|---|
|  |  |  | <view class="head"> | 
|---|
|  |  |  | <view class="event">{{ item.title }}</view> | 
|---|
|  |  |  | <view class="time">{{ item.checkDate }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="name_wrap"> | 
|---|
|  |  |  | <text>{{ item.memberName | 
|---|
|  |  |  | }}<text :class="{ status: item.statusInfo == '处理中' || item.status == '1'  }" | 
|---|
|  |  |  | v-if="item.statusInfo">({{ item.statusInfo }})</text></text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view v-if="item.checkInfo" class="remark">{{ | 
|---|
|  |  |  | item.checkInfo | 
|---|
|  |  |  | }}</view> | 
|---|
|  |  |  | <!-- 抄送人 --> | 
|---|
|  |  |  | <view v-if="item.approveType == 0 || item.type == 1 || item.approveType == 1" class="children"> | 
|---|
|  |  |  | <view class="child" v-for="child in item.approveList" :key="child.id"> | 
|---|
|  |  |  | <image v-if="child.faceImg" class="child_img" :src="child.faceImg" /> | 
|---|
|  |  |  | <view v-else class="child_name">{{ child.memberName && child.memberName.slice(0,1) }}</view> | 
|---|
|  |  |  | <view>{{ child.memberName }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="emyty"></view> | 
|---|
|  |  |  | <view v-if=" | 
|---|
|  |  |  | info.approveDateVO != null && | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <u-popup :show="showApprModal" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="showApprModal = false"> | 
|---|
|  |  |  | <view class="appr_modal"> | 
|---|
|  |  |  | <view class="title">{{ param.status == 2 ? "同意" : "拒绝" }}</view> | 
|---|
|  |  |  | <textarea v-model="param.checkInfo" :placeholder=" | 
|---|
|  |  |  | param.status == 2 ? '同意说明,非必填' : '拒绝说明,必填' | 
|---|
|  |  |  | " 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 { | 
|---|
|  |  |  | getVisitedDetail, // 访客预约详情 | 
|---|
|  |  |  | carUseBookAppr, | 
|---|
|  |  |  | visitsCancel | 
|---|
|  |  |  | } from '@/api' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | userInfo: uni.getStorageSync('userInfo') || { | 
|---|
|  |  |  | permissions: [] | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | showApprModal: false, | 
|---|
|  |  |  | param: {}, | 
|---|
|  |  |  | info: {}, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | id: '', | 
|---|
|  |  |  | type: '', | 
|---|
|  |  |  | infoStatus: '', | 
|---|
|  |  |  | cateList: [{ | 
|---|
|  |  |  | name: '访客申请', | 
|---|
|  |  |  | id: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: '访客报备', | 
|---|
|  |  |  | id: 1 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: '用车申请', | 
|---|
|  |  |  | id: 2 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: '隐患随手拍', | 
|---|
|  |  |  | id: 3 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | name: '物流车申请', | 
|---|
|  |  |  | id: 4 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | statusMap: { | 
|---|
|  |  |  | 0: '待审批', | 
|---|
|  |  |  | 1: '审批中', | 
|---|
|  |  |  | 2: '已通过', | 
|---|
|  |  |  | 3: '已拒绝', | 
|---|
|  |  |  | 4: '已取消', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | cancelShow: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(op) { | 
|---|
|  |  |  | uni.setStorageSync('ywinfo',{}) | 
|---|
|  |  |  | this.id = op.id | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 取消预约 | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | visitsCancel(this.id).then(res => { | 
|---|
|  |  |  | this.cancelShow = false | 
|---|
|  |  |  | this.getDetail() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | checkAuth(str) { | 
|---|
|  |  |  | const permissions = this.userInfo.permissions || [] | 
|---|
|  |  |  | return permissions.indexOf(str) > -1 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDetail() { | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | id | 
|---|
|  |  |  | } = this | 
|---|
|  |  |  | getVisitedDetail({ | 
|---|
|  |  |  | id | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.info = res.data | 
|---|
|  |  |  | if (this.info.approveDateVO && this.info.approveDateVO.approveList.length > 0) { | 
|---|
|  |  |  | this.info.approveDateVO.approveList.forEach(item => { | 
|---|
|  |  |  | if (item.approveList && item.approveList.length == 1 && item.type !== 1) { | 
|---|
|  |  |  | item.title = item.approveList[0].title | 
|---|
|  |  |  | item.faceImg = item.approveList[0].faceImg | 
|---|
|  |  |  | item.memberName = item.approveList[0].memberName | 
|---|
|  |  |  | item.statusInfo = item.approveList[0].statusInfo | 
|---|
|  |  |  | item.status = item.approveList[0].status | 
|---|
|  |  |  | item.approveList = [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onSubmit() { | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | param, | 
|---|
|  |  |  | info | 
|---|
|  |  |  | } = this | 
|---|
|  |  |  | if (param.status == '3' && !param.checkInfo) { | 
|---|
|  |  |  | return uni.showToast({ | 
|---|
|  |  |  | title: '请输入拒绝说明', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | carUseBookAppr({ | 
|---|
|  |  |  | status: param.status, | 
|---|
|  |  |  | objType: info.type, | 
|---|
|  |  |  | objId: this.id, | 
|---|
|  |  |  | // driverId: param.driverId, | 
|---|
|  |  |  | checkInfo: param.checkInfo | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | this.showApprModal = false | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '操作成功', | 
|---|
|  |  |  | icon: 'success' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | uni.navigateBack() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handleSub(status) { | 
|---|
|  |  |  | // this.param.flag = | 
|---|
|  |  |  | this.param = { | 
|---|
|  |  |  | status | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.showApprModal = true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | page { | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | .main_app { | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | padding-bottom: 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .flow_wrap { | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  | .flow_title { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | margin-bottom: 24rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .list { | 
|---|
|  |  |  | .item { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | margin-bottom: 48rpx; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .separate { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 4rpx; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | background-color: #eeeeee; | 
|---|
|  |  |  | left: 40rpx; | 
|---|
|  |  |  | transform: translate(-50%, 0); | 
|---|
|  |  |  | top: 80rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .avatar { | 
|---|
|  |  |  | width: 80rpx; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | margin-right: 20rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .img { | 
|---|
|  |  |  | width: 80rpx; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .img_name { | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | color: #FFFFFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | width: 28rpx; | 
|---|
|  |  |  | height: 28rpx; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | right: 0; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .head { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | margin-bottom: 4rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .event { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .time { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name_wrap { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #777777; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | color: $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .children { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-wrap: wrap; | 
|---|
|  |  |  | margin-top: 12rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .child { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | margin-right: 12rpx; | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #777777; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .child_img { | 
|---|
|  |  |  | width: 48rpx; | 
|---|
|  |  |  | height: 48rpx; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | margin-bottom: 2rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .child_name { | 
|---|
|  |  |  | margin-bottom: 2rpx; | 
|---|
|  |  |  | width: 48rpx; | 
|---|
|  |  |  | height: 48rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | padding-top: 4rpx; | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | border-radius: 50%; | 
|---|
|  |  |  | color: #FFFFFF; | 
|---|
|  |  |  | background-color: $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .remark { | 
|---|
|  |  |  | margin-top: 12rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | padding: 14rpx 20rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | line-height: 36rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .carbon { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | width: 590rpx; | 
|---|
|  |  |  | overflow-x: auto; | 
|---|
|  |  |  | margin-top: 12rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .carbon_item { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | image { | 
|---|
|  |  |  | width: 60rpx; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | margin: 0 auto; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | view { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #777777; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:nth-last-child(1) { | 
|---|
|  |  |  | .separate { | 
|---|
|  |  |  | height: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .module_list { | 
|---|
|  |  |  | .item { | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  | border-bottom: 1rpx solid #e5e5e5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .label { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | margin-bottom: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .value { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .avatar { | 
|---|
|  |  |  | margin-right: 20rpx; | 
|---|
|  |  |  | width: 120rpx; | 
|---|
|  |  |  | height: 120rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | border: 2rpx solid #e5e5e5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .info { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status_wrap { | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .name { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | margin-bottom: 20rpx; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .desc { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | color: #ed4545; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .gray { | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | right: -30rpx; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | line-height: 60rpx; | 
|---|
|  |  |  | padding: 0 32rpx; | 
|---|
|  |  |  | border-radius: 0rpx 0rpx 0rpx 30rpx; | 
|---|
|  |  |  | background-color: #e9edff; | 
|---|
|  |  |  | color: $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .status_img { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | right: 0rpx; | 
|---|
|  |  |  | top: 20rpx; | 
|---|
|  |  |  | width: 120rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .main_footer { | 
|---|
|  |  |  | padding-bottom: 64rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | // padding: 30rpx 10rpx 60rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | background: #ffffff; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .btn { | 
|---|
|  |  |  | // width: 336rpx; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | line-height: 88rpx; | 
|---|
|  |  |  | background: #ffffff; | 
|---|
|  |  |  | border-radius: 44rpx; | 
|---|
|  |  |  | border: 1rpx solid #999999; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | margin: 16rpx 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .agree { | 
|---|
|  |  |  | background: $uni-color-primary; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | border: 1rpx solid $uni-color-primary; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .appr_modal { | 
|---|
|  |  |  | padding: 36rpx 30rpx 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | margin-bottom: 40rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | textarea { | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | width: 690rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | padding: 24rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | margin-bottom: 30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .emyty { | 
|---|
|  |  |  | width: 750rpx; | 
|---|
|  |  |  | height: 20rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | margin: 0 -30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|