|  |  |  | 
|---|
|  |  |  | <view class="heade_title"> | 
|---|
|  |  |  | <image | 
|---|
|  |  |  | class="icon" | 
|---|
|  |  |  | src="../../static/staff/ar_left@2x.png" | 
|---|
|  |  |  | src="@/static/staff/ar_left@2x.png" | 
|---|
|  |  |  | @click="changeDate(-1)" | 
|---|
|  |  |  | mode="widthFix" | 
|---|
|  |  |  | ></image> | 
|---|
|  |  |  | <text class="date">{{ activeDateCum }}</text> | 
|---|
|  |  |  | <image | 
|---|
|  |  |  | class="icon" | 
|---|
|  |  |  | src="../../static/staff/ar_right@2x.png" | 
|---|
|  |  |  | src="@/static/staff/ar_right@2x.png" | 
|---|
|  |  |  | @click="changeDate(1)" | 
|---|
|  |  |  | mode="widthFix" | 
|---|
|  |  |  | ></image> | 
|---|
|  |  |  | 
|---|
|  |  |  | <view | 
|---|
|  |  |  | @click="datetimeClick(item, i)" | 
|---|
|  |  |  | class="item" | 
|---|
|  |  |  | :class="{ disable: item.isUse, active: item.checked == '1' }" | 
|---|
|  |  |  | :class="{ | 
|---|
|  |  |  | disable: item.isUse, | 
|---|
|  |  |  | active: item.checked == '1', | 
|---|
|  |  |  | hasSub: item.bookingTimeId, | 
|---|
|  |  |  | }" | 
|---|
|  |  |  | v-for="(item, i) in timeList" | 
|---|
|  |  |  | :key="i" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 
|---|
|  |  |  | <view class="">{{ item.name }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="sub" @click="onSubmit" | 
|---|
|  |  |  | >确认预约</view | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <view class="sub" @click="onSubmit">确认预约</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!--  --> | 
|---|
|  |  |  | 
|---|
|  |  |  | <view class="h1">{{ activeInfo.meetingName }}</view> | 
|---|
|  |  |  | <view class="line"> | 
|---|
|  |  |  | <view class="label">会议时间</view> | 
|---|
|  |  |  | <view class="value">{{ activeInfo.meetingTime }}</view> | 
|---|
|  |  |  | <view class="value" v-if="activeInfo.meetingDate">{{ activeInfo.meetingDate.slice(5) }} {{ activeInfo.meetingTime }}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line"> | 
|---|
|  |  |  | <view class="label">会议室</view> | 
|---|
|  |  |  | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | roomsListPost, | 
|---|
|  |  |  | getRoomUseTime, | 
|---|
|  |  |  | meetingDetail | 
|---|
|  |  |  | meetingDetail | 
|---|
|  |  |  | } from '@/api' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | 
|---|
|  |  |  | activeRoom: { | 
|---|
|  |  |  | yudingDate: '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | selDatetime: '', | 
|---|
|  |  |  | selDatetime: '', | 
|---|
|  |  |  | isShowDetail: false, | 
|---|
|  |  |  | activeInfo: {}, | 
|---|
|  |  |  | meetingList: [], | 
|---|
|  |  |  | 
|---|
|  |  |  | roomClick(item) { | 
|---|
|  |  |  | this.$set(this.activeRoom, 'roomId', item.id) | 
|---|
|  |  |  | this.$set(this.activeRoom, 'roomName', item.name) | 
|---|
|  |  |  | this.$set(this.activeRoom, 'limitNum', item.limitNum) | 
|---|
|  |  |  | this.getRoomTime() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onSubmit() { | 
|---|
|  |  |  | const { activeRoom } = this | 
|---|
|  |  |  | onSubmit() { | 
|---|
|  |  |  | const { activeRoom } = this | 
|---|
|  |  |  | const selTimeList = this.timeList.filter(i => i.checked == '1') | 
|---|
|  |  |  | if (selTimeList.length == -1) { | 
|---|
|  |  |  | return uni.showToast({ | 
|---|
|  |  |  | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const obj = { | 
|---|
|  |  |  | startTime: selTimeList[0].startTime, | 
|---|
|  |  |  | endTime: selTimeList[selTimeList.length - 1].endTime, | 
|---|
|  |  |  | bookingTimeList: selTimeList.map(i=>i.id).join(',') | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: `/pages/staff/meetingSubOrder?yudingDate=${activeRoom.yudingDate}&roomName=${activeRoom.roomName}&roomId=${activeRoom.roomId}&startTime=${obj.startTime}&endTime=${obj.endTime}&bookingTimeList=${obj.bookingTimeList}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | const obj = { | 
|---|
|  |  |  | startTime: selTimeList[0].startTime, | 
|---|
|  |  |  | endTime: selTimeList[selTimeList.length - 1].endTime, | 
|---|
|  |  |  | bookingTimeList: selTimeList.map(i => i.id).join(','), | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: `/pages/staff/meetingSubOrder?yudingDate=${activeRoom.yudingDate}&roomName=${activeRoom.roomName} | 
|---|
|  |  |  | &roomId=${activeRoom.roomId}&startTime=${obj.startTime}&endTime=${obj.endTime} | 
|---|
|  |  |  | &bookingTimeList=${obj.bookingTimeList}&limitNum=${activeRoom.limitNum}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | // this.$jump('/pages/staff/vehicle/apply') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getRoomList() { | 
|---|
|  |  |  | 
|---|
|  |  |  | if (this.meetingList.length > 0) { | 
|---|
|  |  |  | this.$set(this.activeRoom, 'roomId', this.meetingList[0].id) | 
|---|
|  |  |  | this.$set(this.activeRoom, 'roomName', this.meetingList[0].name) | 
|---|
|  |  |  | this.$set(this.activeRoom, 'limitNum', this.meetingList[0].limitNum) | 
|---|
|  |  |  | this.getRoomTime() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | datetimeClick(item, index) { | 
|---|
|  |  |  | if(item.bookingTimeId){ | 
|---|
|  |  |  | this.getDetail(item.bookingTimeId) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (item.bookingTimeId) { | 
|---|
|  |  |  | this.getDetail(item.bookingTimeId) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (item.isUse == '1') return | 
|---|
|  |  |  | const { timeList } = this | 
|---|
|  |  |  | const selTimeList = timeList.filter(i => i.checked == '1') | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeDate(num) { | 
|---|
|  |  |  | const yudingDate = this.activeRoom.yudingDate | 
|---|
|  |  |  | if (num < 0 && yudingDate === dayjs().format('YYYY-MM-DD')) return | 
|---|
|  |  |  | let fn = num > 0 ? 'add' : 'subtract' | 
|---|
|  |  |  | this.yudingDate = dayjs(yudingDate)[fn](1, 'days').format('YYYY-MM-DD') | 
|---|
|  |  |  | this.activeRoom.yudingDate = dayjs(yudingDate)[fn](1, 'days').format('YYYY-MM-DD') | 
|---|
|  |  |  | console.log('yudingDate', this.activeRoom.yudingDate) | 
|---|
|  |  |  | this.getRoomList() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDetail(id) { | 
|---|
|  |  |  | meetingDetail({ | 
|---|
|  |  |  | id | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | getDetail(id) { | 
|---|
|  |  |  | meetingDetail({ | 
|---|
|  |  |  | id | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.activeInfo = res.data | 
|---|
|  |  |  | this.isShowDetail = true | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | 
|---|
|  |  |  | padding: 40rpx 30rpx; | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | margin-bottom: 40rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .h1 { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | margin-bottom: 30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | background: $uni-color-primary; | 
|---|
|  |  |  | border-radius: 44rpx; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | padding: 20rpx 30rpx 84rpx; | 
|---|
|  |  |  | box-shadow: 0rpx -3rpx 6rpx 0rpx #eeeeee; | 
|---|
|  |  |  | .sel_time { | 
|---|
|  |  |  | 
|---|
|  |  |  | background-color: #cccccc; | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .hasSub{ | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | background-color: #2d5c65; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .meeting_list { | 
|---|
|  |  |  | display: flex; | 
|---|