From ee09115377690a235404d7cfa00c83737fa466db Mon Sep 17 00:00:00 2001 From: "471615499@qq.com" Date: Tue, 24 Sep 2024 23:04:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E9=83=A8=E5=88=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/api/meeting/meetingRoom.js | 22 +- miniprogram/pages/meeting/index/index.js | 6 +- .../meetingReservation/meetingReservation.js | 194 +++++++++++------- .../meetingReservation.wxml | 4 +- .../meetingBooked/meetingBooked.js | 18 +- .../meetingRoom/meetingOrder/meetingOrder.js | 104 +++++++--- .../meetingOrder/meetingOrder.wxml | 4 +- .../pages/meeting/meetingRoom/meetingRoom.js | 12 +- .../meeting/meetingRoom/meetingRoom.wxml | 9 +- 9 files changed, 240 insertions(+), 133 deletions(-) diff --git a/miniprogram/api/meeting/meetingRoom.js b/miniprogram/api/meeting/meetingRoom.js index 4661cf0..414eb50 100644 --- a/miniprogram/api/meeting/meetingRoom.js +++ b/miniprogram/api/meeting/meetingRoom.js @@ -2,29 +2,32 @@ import { request } from '../selfRequest'; -// 查询条件筛选 +// 查询条件筛选,废弃 // 1.会议室类型,2.人数,3.会议室设备,4.形式 export function meetingRoomDict(param) { return request({ - url: '/api/roomContent/searchInfo/' + param, - method: "get", + // url: '/api/roomContent/searchInfo/' + param, + url: '/app/mr/getConstData', + method: "post", }); } // 会议室列表 export function meetingRoomListRq(data) { return request({ - url: '/api/roomContent/list', + // url: '/api/roomContent/list', + url: '/app/mr/getAllRoom', method: "post", data }); } // 会议室详情信息 -export function meetingRoomDetailRq(id) { +export function meetingRoomDetailRq(data) { return request({ - url: '/api/roomContent/info/' + id, - method: "get", + url: '/app/mr/roomMrs', + method: "post", + data }); } @@ -172,10 +175,11 @@ export function queryServiceMsgRq(data) { } -// 长阳-提交会议预约 +// 提交会议预约 export function saveChangyangMeetingRecordRq(data) { return request({ - url: '/api/roomContent/saveChangyangMeetingRecord', + // url: '/api/roomContent/saveChangyangMeetingRecord', + url: '/app/mr/booking', method: "post", data }); diff --git a/miniprogram/pages/meeting/index/index.js b/miniprogram/pages/meeting/index/index.js index 3af123e..7ba37cc 100644 --- a/miniprogram/pages/meeting/index/index.js +++ b/miniprogram/pages/meeting/index/index.js @@ -58,6 +58,7 @@ Page({ username: '', // 用户名 pwd: '', // 登录密码 depName: '', // 登录单位 + depId: '', // 登录单位id beforeClose(action) { return new Promise(resolve => { if (action === 'confirm') { @@ -98,7 +99,7 @@ Page({ // 跳转会议预约页面 goRes(e) { wx.navigateTo({ - url: '/pages/meeting/meetingReservation/meetingReservation?time=' + e.detail + '&dep=' + this.data.depName, + url: '/pages/meeting/meetingReservation/meetingReservation?time=' + e.detail + '&dep=' + this.data.depName + '&depId=' + this.data.depId, }) }, // 跳转菜单 @@ -215,7 +216,8 @@ Page({ username: '', pwd: '', showLogin: false, - depName: res.data.orgName + depName: res.data.orgName, + depId: res.data.orgId, }) this.showTimePicker() } diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.js b/miniprogram/pages/meeting/meetingReservation/meetingReservation.js index 30687ed..7daf320 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.js +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.js @@ -18,11 +18,12 @@ Page({ rId: '', dep: '', date: '', + dateStr: '', queryParam: { timeRangeDict: { list: [{ text: '全天', - value: null + value: 4 }, { text: '上午', value: 1 @@ -33,7 +34,7 @@ Page({ text: '晚上', value: 3 }], - value: null, + value: 4, }, meetingTypeDict: { list: [], @@ -95,17 +96,14 @@ Page({ } if (!options.dep) { options.dep = '' + options.depId = '' } const time = options.time if (!time || time === '') { app.selfShowMsg('请选择时间!', '/pages/meeting/index/index') return } - this.setData({ - date: time, - rId: options.rId, - dep: options.dep - }) + const _date = new Date(parseInt(time)) const _year = _date.getFullYear() const _month = _date.getMonth() + 1 // 月份从0开始,需要+1 @@ -114,6 +112,13 @@ Page({ wx.setNavigationBarTitle({ title: _year + '年' + _month + '月' + _day + '日' }) + this.setData({ + date: time, + rId: options.rId, + dep: options.dep, + depId: options.depId, + dateStr: _year + '-' + _month + '-' + _day + }) // 初始化数据 this.initData(); }, @@ -121,28 +126,76 @@ Page({ // 初始化数据 initData() { let _this = this; - // 1.会议室类型,2.人数,3.会议室设备,4.形式 - meetingRoomDict("1").then(res => { - console.log('meetingRoomDict("1")', res); + meetingRoomDict().then(res => { + console.log('meetingRoomDict', res) + let queryParam = _this.data.queryParam + let dataObj = res.data // 封装参数 - let list = res.roomContents.map(item => { - return { - text: item.typeName, - value: item.typeValue - } - }) - list = [{ + let floorList = [] + for (let key in dataObj.floors) { + let eachObj = dataObj.floors[key] + const keys = Object.keys(eachObj) + floorList.push({ + text: keys[0], + value: keys[0] + }) + } + floorList = [{ text: "楼层", value: null - }, ...list] + }, ...floorList] + queryParam.meetingTypeDict.list = floorList + let deviceList = [] + for (let key in dataObj.devices) { + let eachObj = dataObj.devices[key] + const keys = Object.keys(eachObj) + deviceList.push({ + text: keys[0], + value: keys[0] + }) + } // 赋值参数 - let queryParam = _this.data.queryParam; - queryParam.meetingTypeDict.list = list; + queryParam.itemDict.list = deviceList + let typeList = [] + for (let key in dataObj.types) { + let eachObj = dataObj.types[key] + const keys = Object.keys(eachObj) + typeList.push({ + text: keys[0], + value: keys[0] + }) + } + typeList = [{ + text: "形式", + value: null + }, ...typeList] + queryParam.shapeDict.list = typeList _this.setData({ queryParam }) - console.log('meetingRoomDict("1")=>', list); }) + // 1.会议室类型,2.人数,3.会议室设备,4.形式 + // meetingRoomDict("1").then(res => { + // console.log('meetingRoomDict("1")', res); + // // 封装参数 + // let list = res.roomContents.map(item => { + // return { + // text: item.typeName, + // value: item.typeValue + // } + // }) + // list = [{ + // text: "楼层", + // value: null + // }, ...list] + // // 赋值参数 + // let queryParam = _this.data.queryParam; + // queryParam.meetingTypeDict.list = list; + // _this.setData({ + // queryParam + // }) + // console.log('meetingRoomDict("1")=>', list); + // }) // meetingRoomDict("2").then(res => { // console.log('meetingRoomDict("2")', res); // // 封装参数 @@ -164,44 +217,44 @@ Page({ // }) // console.log('meetingRoomDict("2")=>', list); // }) - meetingRoomDict("3").then(res => { - console.log('meetingRoomDict("3")', res); - // 封装参数 - let list = res.roomItem.map(item => { - return { - text: item.name, - value: item.id - } - }) - // 赋值参数 - let queryParam = _this.data.queryParam; - queryParam.itemDict.list = list; - _this.setData({ - queryParam - }) - console.log('meetingRoomDict("3")=>', list); - }) - meetingRoomDict("4").then(res => { - console.log('meetingRoomDict("4")', res); - // 封装参数 - let list = res.roomContents.map(item => { - return { - text: item.shape, - value: item.shape - } - }) - list = [{ - text: "形式", - value: null - }, ...list] - // 赋值参数 - let queryParam = _this.data.queryParam; - queryParam.shapeDict.list = list; - _this.setData({ - queryParam - }) - console.log('meetingRoomDict("4")=>', list); - }) + // meetingRoomDict("3").then(res => { + // console.log('meetingRoomDict("3")', res); + // // 封装参数 + // let list = res.roomItem.map(item => { + // return { + // text: item.name, + // value: item.id + // } + // }) + // // 赋值参数 + // let queryParam = _this.data.queryParam; + // queryParam.itemDict.list = list; + // _this.setData({ + // queryParam + // }) + // console.log('meetingRoomDict("3")=>', list); + // }) + // meetingRoomDict("4").then(res => { + // console.log('meetingRoomDict("4")', res); + // // 封装参数 + // let list = res.roomContents.map(item => { + // return { + // text: item.shape, + // value: item.shape + // } + // }) + // list = [{ + // text: "形式", + // value: null + // }, ...list] + // // 赋值参数 + // let queryParam = _this.data.queryParam; + // queryParam.shapeDict.list = list; + // _this.setData({ + // queryParam + // }) + // console.log('meetingRoomDict("4")=>', list); + // }) // 数据-会议室列表 this.meetingRoomList() }, @@ -261,26 +314,27 @@ Page({ } }) let param = { - "type": queryParam.meetingTypeDict.value, - "capacityNum": queryParam.personDict.value, - "roomItemList": roomItemList, - "shape": queryParam.shapeDict.value, - timeRange: queryParam.timeRangeDict.value + floor: queryParam.meetingTypeDict.value, // 楼层 + capacityNum: queryParam.personDict.value, // 人数 + device: '', // 设备 + typeName: queryParam.shapeDict.value, // 形状 + timeFormat: queryParam.timeRangeDict.value, // 预约时间格式:0 任意时间(管理员),1上午,2下午,3晚上 4 全天。值为0时,读取startTime和endTime为预约会议时间范围;其他值读取mrdate,再拼接时间为预约会议时间范围。 + mrdate: _this.data.dateStr } // 会议室列表数据 meetingRoomListRq(param).then(res => { console.log('meetingRoomListRq', res); let roomArr = {} - let valueObj = res.rows + let valueObj = res.data for (let key in valueObj) { let eachObj = valueObj[key] - if (eachObj['type'] in roomArr) {} else { - roomArr[eachObj['type']] = { - name: eachObj['typeName'], + if (eachObj['floorId'] in roomArr) {} else { + roomArr[eachObj['floorId']] = { + name: eachObj['floor'], list: [] } } - roomArr[eachObj['type']]['list'].push(eachObj) + roomArr[eachObj['floorId']]['list'].push(eachObj) } // console.log(roomArr) _this.setData({ @@ -296,7 +350,7 @@ Page({ timeRange = timeRange ? timeRange : 0 // 跳转预约详情 wx.navigateTo({ - url: "/pages/meeting/meetingRoom/meetingRoom?id=" + e.currentTarget.dataset.id + '&time=' + this.data.date + '&timeRange=' + timeRange + '&rId=' + this.data.rId + '&dep=' + this.data.dep, + url: "/pages/meeting/meetingRoom/meetingRoom?id=" + e.currentTarget.dataset.id + '&time=' + this.data.date + '&timeRange=' + timeRange + '&rId=' + this.data.rId + '&dep=' + this.data.dep + '&depId=' + this.data.depId }) }, diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml index 5b9b1b2..e4f0f5a 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml @@ -27,9 +27,9 @@ {{item.name}} - {{room.roomName}} + {{room.roomNum}} - {{room.capacityNum}}人 {{room.shape}} + {{room.capacityNum}}人 {{room.typeName}} - {{room.meetingName}} + {{room.name}} @@ -12,7 +12,7 @@ - {{room.buildingName}} | {{room.roomName}} | {{room.capacityNum}}人 | {{room.shape}} + {{room.floor}} | {{room.roomNum}} | {{room.capacityNum}}人 | {{room.typeName}} #{{serviceItem.name}} #{{serveItem.serveName}} diff --git a/miniprogram/pages/meeting/meetingRoom/meetingRoom.js b/miniprogram/pages/meeting/meetingRoom/meetingRoom.js index 67be1a8..be905a7 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingRoom.js +++ b/miniprogram/pages/meeting/meetingRoom/meetingRoom.js @@ -17,6 +17,7 @@ Page({ date: '', // 选择的时间 rId: '', // 预约id dep: '', // 预约单位 + depId: '', timeRange: '', // 选择的时间范围 detail: {}, bannerList: [], @@ -37,12 +38,15 @@ Page({ date: time, timeRange: timeRange, rId: options.rId, - dep: options.dep + dep: options.dep, + depId: options.depId }) let meetingRoomId = options.id; - meetingRoomDetailRq(meetingRoomId).then(res => { + meetingRoomDetailRq({ + roomId: meetingRoomId + }).then(res => { console.log('meetingRoomDetailRq', res); - let detail = res.roomContent; + let detail = res.room let bannerList = [] if (detail.indoorPicUrl) { try { @@ -146,7 +150,7 @@ Page({ let time = this.data.date let timeRange = this.data.timeRange wx.navigateTo({ - url: "/pages/meeting/meetingRoom/meetingBooked/meetingBooked?meetingRoomId=" + meetingRoomId + '&time=' + time + '&timeRange=' + timeRange + '&rId=' + this.data.rId + '&dep=' + this.data.dep, + url: "/pages/meeting/meetingRoom/meetingBooked/meetingBooked?meetingRoomId=" + meetingRoomId + '&time=' + time + '&timeRange=' + timeRange + '&rId=' + this.data.rId + '&dep=' + this.data.dep + '&depId=' + this.data.depId, }) }, diff --git a/miniprogram/pages/meeting/meetingRoom/meetingRoom.wxml b/miniprogram/pages/meeting/meetingRoom/meetingRoom.wxml index 3723d70..69e1b5d 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingRoom.wxml +++ b/miniprogram/pages/meeting/meetingRoom/meetingRoom.wxml @@ -1,7 +1,7 @@ - {{detail.meetingName}} + {{detail.name}} @@ -10,10 +10,11 @@ - {{detail.buildingName}} | {{detail.roomName}} | {{detail.capacityNum}}人 | {{detail.shape}} + {{detail.floor}} | {{detail.roomNum}} | {{detail.capacityNum}}人 | {{detail.typeName}} - #{{serviceItem.name}} - #{{serveItem.serveName}} + {{detail.device}} +