diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.js b/miniprogram/pages/meeting/meetingReservation/meetingReservation.js index 18319dc..3aa73b1 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.js +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.js @@ -69,7 +69,9 @@ Page({ list: [], value: null, }, - } + }, + showPicker: false, + actions: [], }, /** @@ -281,7 +283,7 @@ Page({ max: maxPerNum, // 最大容纳人数 devices: devicesArr, // 设备 typeName: queryParam.shapeDict.value, // 形状 - timeFormat: queryParam.timeRangeDict.value, // 预约时间格式:0 任意时间(管理员),1上午,2下午,3晚上 4 全天。值为0时,读取startTime和endTime为预约会议时间范围;其他值读取mrdate,再拼接时间为预约会议时间范围。 + timeFormat: 1, // 预约时间格式:0 任意时间(管理员),1上午,2下午,3晚上 4 全天。值为0时,读取startTime和endTime为预约会议时间范围;其他值读取mrdate,再拼接时间为预约会议时间范围。返回值为1时;读取 am,上午 0可预约 1不可预约 pm,下午 0可预约 1不可预约 night,晚上 0可预约 1不可预约,这里默认全部为1 mrdate: _this.data.dateStr } // 会议室列表数据 @@ -305,15 +307,83 @@ Page({ }) }) }, - - // 会议室 - jumpMeetingRoom(e) { - console.log('jumpMeetingRoom', e) - let timeRange = this.data.queryParam.timeRangeDict.value - timeRange = timeRange ? timeRange : 0 + chooseMeetingTime(e) { + let id = e.currentTarget.dataset.id + let am = e.currentTarget.dataset.am + let pm = e.currentTarget.dataset.pm + let night = e.currentTarget.dataset.night + if (this.data.userDetail.roomRole == 5) { + // 管理员,直接进入即可,全天都可以选择 + this.jumpMeetingRoom(id, 4, 0) + return + } + let cAction = [] + if (am == 0) { + cAction[0] = { + name: '上午', + subname: '8:00 - 12:00', + range: 1, + status: 0, + id: id + } + } else { + cAction[0] = { + name: '上午', + subname: '8:00 - 12:00', + range: 1, + status: 1, + id: id + } + } + if (pm == 0) { + cAction[1] = { + name: '下午', + subname: '12:00 - 17:30', + range: 2, + status: 0, + id: id + } + } else { + cAction[1] = { + name: '下午(不可预约)', + subname: '12:00 - 17:30', + range: 2, + status: 1, + id: id + } + } + if (night == 0) { + cAction[2] = { + name: '晚上', + subname: '17:30 - 24:00', + range: 3, + status: 0, + id: id + } + } else { + cAction[2] = { + name: '晚上(不可预约)', + subname: '17:30 - 24:00', + range: 3, + status: 1, + id: id + } + } + this.setData({ + showPicker: true, + actions: cAction + }) + }, + /** + * 跳转会议室详情 + * @param {*} id 会议室id + * @param {*} range 会议室时间选择范围 + * @param {*} status 是否可以预约 + */ + jumpMeetingRoom(id, range, status) { // 跳转预约详情 wx.navigateTo({ - url: "/pages/meeting/meetingRoom/meetingRoom?status=" + e.currentTarget.dataset.status + "&id=" + e.currentTarget.dataset.id + '&time=' + this.data.date + '&timeRange=' + timeRange + '&rId=' + this.data.rId + '&dep=' + this.data.dep + '&depId=' + this.data.depId + url: "/pages/meeting/meetingRoom/meetingRoom?status=" + status + "&id=" + id + '&time=' + this.data.date + '&timeRange=' + range + '&rId=' + this.data.rId + '&dep=' + this.data.dep + '&depId=' + this.data.depId }) }, callAdmin() { @@ -322,6 +392,16 @@ Page({ phoneNumber: num }) }, + onClosePicker() { + this.setData({ showPicker: false }) + }, + onSelectRange(event) { + console.log(event.detail) + let timeRange = event.detail.range + let id = event.detail.id + let status = event.detail.status + this.jumpMeetingRoom(id, timeRange, status) + }, /** * 生命周期函数--监听页面初次渲染完成 */ diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.json b/miniprogram/pages/meeting/meetingReservation/meetingReservation.json index 4923fdd..b2a0968 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.json +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.json @@ -6,6 +6,7 @@ "van-cell": "@vant/weapp/cell/index", "van-switch": "@vant/weapp/switch/index", "van-button": "@vant/weapp/button/index", - "van-notify": "@vant/weapp/notify/index" + "van-notify": "@vant/weapp/notify/index", + "van-action-sheet": "@vant/weapp/action-sheet/index" } } \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml index 4136cd6..9d4ffc7 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml @@ -4,7 +4,7 @@ - + @@ -25,23 +25,22 @@ {{item.name}} - - + + {{room.roomNum}} + 上午 + 上午 + 下午 + 下午 + 晚上 + 晚上 {{room.capacityNum}}人 {{room.typeName}} - - {{room.roomNum}} - - - 不可预约 - - - +