From 2f2594b3b345dfffc3b75c13cb1d0c7b9b911559 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Sep 2024 17:37:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=8A=A1=E7=9B=B8=E5=85=B3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 开发会务负责人选择功能; 加入会务列表功能 --- miniprogram/api/meeting/meetingRoom.js | 27 +++ .../meetingRoom/meetingStaff/meetingStaff.js | 128 +++++++++---- .../reservationRecord/approve/approve.js | 59 ++++-- .../reservationRecord/approve/approve.wxml | 1 + .../meetingDetail/meetingDetail.js | 98 +++++++--- .../meetingDetail/meetingDetail.wxml | 18 +- .../reservationRecord/service/service.js | 169 ++++++++++++------ .../reservationRecord/service/service.wxml | 15 +- 8 files changed, 382 insertions(+), 133 deletions(-) diff --git a/miniprogram/api/meeting/meetingRoom.js b/miniprogram/api/meeting/meetingRoom.js index 781a08d..638e40b 100644 --- a/miniprogram/api/meeting/meetingRoom.js +++ b/miniprogram/api/meeting/meetingRoom.js @@ -153,6 +153,16 @@ export function cancelOrderRq(data) { }); } +// 会议室-预约审核 +export function approveOrderRq(data) { + return request({ + // url: '/api/roomContent/cancelOrder', + url: '/app/mr/handle', + method: "post", + data, + }); +} + // 会议室-支付订单 export function meetingRoomPayOrderRq(data) { return request({ @@ -189,4 +199,21 @@ export function saveChangyangMeetingRecordRq(data) { method: "post", data }); +} + +// 会议室-查询会务人员信息 +export function getStaff() { + return request({ + url: '/app/mr/getWaiter', + method: "post", + }) +} + +// 会议室-分配会务人员 +export function addStaff(data) { + return request({ + url: '/app/mr/addWaiter', + method: "post", + data + }) } \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingStaff/meetingStaff.js b/miniprogram/pages/meeting/meetingRoom/meetingStaff/meetingStaff.js index 0f51909..e1ad6d5 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingStaff/meetingStaff.js +++ b/miniprogram/pages/meeting/meetingRoom/meetingStaff/meetingStaff.js @@ -3,8 +3,9 @@ const app = getApp() import Notify from '@vant/weapp/notify/notify'; import { - getMeetingRoomServiceAndEquipmentRq, - queryServiceMsgRq + getStaff, + selectReservationByIdRq, + addStaff } from "../../../../api/meeting/meetingRoom.js" @@ -17,33 +18,18 @@ Page({ IMG_NAME: app.IMG_NAME, rId: '', checkUser: [], - staffMusicList: [{ - id: 1, - name: '张三', - isSelect: false - }, { - id: 2, - name: '李四', - isSelect: false - - }, { - id: 3, - name: '王五', - isSelect: false - }], - staffServeList: [{ - id: 4, - name: '赵六', - isSelect: false - }, { - id: 5, - name: '朱七', - isSelect: false - }, { - id: 6, - name: '冯八', - isSelect: false - }] + // staffMusicList: [{ + // id: 1, + // name: '张三', + // isSelect: false + // }], + staffMusicList: [], + // staffServeList: [{ + // id: 4, + // name: '赵六', + // isSelect: false + // }], + staffServeList: [] }, /** * 生命周期函数--监听页面加载 @@ -62,9 +48,53 @@ Page({ // 获取数据 getData() { - let _this = this; + let _this = this + let id = _this.data.rId + // 获取预约信息 + selectReservationByIdRq({ + id: id + }).then(res => { + console.log('预约信息:', res) + let staffIdArr = [] + let staff = res.waiters + for (let key in staff) { + staffIdArr.push(staff[key].userId) + } + getStaff().then(resStaff => { + console.log('会务人员:', resStaff) + let musicList = [] + let serveList = [] + for (let key in resStaff.voiceWaiter) { + let eachObj = resStaff.voiceWaiter[key] + let isSel = false + if (staffIdArr.includes(eachObj.id)) { + isSel = true + } + musicList.push({ + id: eachObj.id, + name: eachObj.username, + isSelect: isSel + }) + } + for (let key in resStaff.serveWaiter) { + let eachObj = resStaff.serveWaiter[key] + let isSel = false + if (staffIdArr.includes(eachObj.id)) { + isSel = true + } + serveList.push({ + id: eachObj.id, + name: eachObj.username, + isSelect: isSel + }) + } + _this.setData({ + staffServeList: serveList, + staffMusicList: musicList + }) + }) + }) // ajax获取当前预约的人员以及会务人员列表 - }, // 服务选择 @@ -103,13 +133,47 @@ Page({ // 提交 console.log(_this.data.staffMusicList) console.log(_this.data.staffServeList) + let staffMusicList = _this.data.staffMusicList + let staffServeList = _this.data.staffServeList + let musicId = '' + for (let key in staffMusicList) { + if (staffMusicList[key].isSelect) { + musicId += staffMusicList[key].id + ',' + } + } + if (musicId != '') { + // 去掉最后一个, + musicId = musicId.substring(0, musicId.length - 1) + } + let serveId = '' + for (let key in staffServeList) { + if (staffServeList[key].isSelect) { + serveId += staffServeList[key].id + ',' + } + } + if (serveId != '') { + // 去掉最后一个, + serveId = serveId.substring(0, serveId.length - 1) + } + addStaff({ + id: _this.data.rId, + voiceWaiter: musicId, + serveWaiter: serveId + }).then(res => { + Notify({ + type: 'success', + message: '分配成功!' + }) + wx.navigateBack() + }) + // let pages = getCurrentPages(); //获取page // let prevPage = pages[pages.length - 2]; //上一个页面(父页面) // prevPage.setData({ // serviceList: _this.data.serviceList // }) // console.log(_this.data.serviceList) - wx.navigateBack() + // wx.navigateBack() }, /** diff --git a/miniprogram/pages/meeting/reservationRecord/approve/approve.js b/miniprogram/pages/meeting/reservationRecord/approve/approve.js index cb0c540..8126a74 100644 --- a/miniprogram/pages/meeting/reservationRecord/approve/approve.js +++ b/miniprogram/pages/meeting/reservationRecord/approve/approve.js @@ -11,7 +11,8 @@ import { import { selectReservationListByUserIdRq, selectVisitorInvitationRecordRq, - cancelOrderRq + cancelOrderRq, + approveOrderRq } from "../../../../api/meeting/meetingRoom.js" Page({ @@ -271,7 +272,7 @@ Page({ let statusValue = item.status; let showCancel = false // 显示取消操作 let showEdit = false // 显示编辑操作 - let showSatff = false // 显示会务人员 + let showStaff = false // 显示会务人员 let showApprove = false // 显示审批操作 let statusName = '' // 预约状态,1 取消 3 驳回 4 占用 5 待审核 7 审核通过,待开始 9 进行中 11已结束 @@ -292,7 +293,7 @@ Page({ // 占用,可以修改,取消 showEdit = true showCancel = true - showSatff = true + showStaff = true statusName = '已占用' } if (statusValue == 5) { @@ -300,13 +301,13 @@ Page({ showEdit = true showCancel = true showApprove = true - showSatff = true + showStaff = true statusName = '待审核' } if (statusValue == 7) { // 审核通过,可以取消,不允许修改 showCancel = true - showSatff = true + showStaff = true statusName = '已通过' } if (statusValue == 11) { @@ -318,7 +319,7 @@ Page({ item.showCancel = showCancel item.showEdit = showEdit item.showApprove = showApprove - item.showSatff = showSatff + item.showStaff = showStaff item.statusName = statusName // 状态字体颜色 item.statusColor = statusColor; @@ -467,16 +468,42 @@ Page({ url: '/pages/meeting/meetingReservation/meetingReservation?rId=' + _this.data.editId + '&time=' + chooseTimeStr, }) }, - pass() { + pass(e) { + let _this = this; + let id = e.currentTarget.dataset.id Dialog.confirm({ title: '确认', message: '是否确认通过会议室申请?', }) .then(() => { // on confirm - console.log('已通过') - // 重新加载数据 - this.getDataList() + approveOrderRq({ + id: id, + content: '审核通过', + operate: 'PASS' + }).then(res => { + console.log('passOrder', res) + if (res.code == 0) { + // 刷新预约数据 + _this.setData({ + reservationPageNum: 1, + reservationDataList: [], + reservationIsDataAll: false, + showRejectReason: false + }) + Notify({ + type: 'success', + message: '已通过该申请!' + }) + _this.getDataList() + } else { + // 危险通知 + Notify({ + type: 'danger', + message: res.msg + }); + } + }) }) .catch(() => { // on cancel @@ -521,10 +548,10 @@ Page({ } // 执行驳回方法 console.log('驳回,原因为' + reason) - return - cancelOrderRq({ + approveOrderRq({ id: id, - cancelResaon: reason + content: reason, + operate: 'REJECTED' }).then(res => { console.log('rejectOrder', res); if (res.code == 0) { @@ -533,7 +560,11 @@ Page({ reservationPageNum: 1, reservationDataList: [], reservationIsDataAll: false, - showRejcctReason: false + showRejectReason: false + }) + Notify({ + type: 'danger', + message: '已驳回该申请!' }) _this.getDataList() } else { diff --git a/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml b/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml index b1db92e..ab95afa 100644 --- a/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml +++ b/miniprogram/pages/meeting/reservationRecord/approve/approve.wxml @@ -27,6 +27,7 @@ 取消原因:{{item.operate[0].content}} + 驳回原因:{{item.operate[0].content}} + + 会务人员 + + (音控组){{item.name}} + + + (会务服务组){{item.name}} + + 创建时间 {{detail.createTime}} - + - + + + +