| | |
| | | <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; |