From 1fb54194247a298f4550101c95b92d71f32183dd Mon Sep 17 00:00:00 2001 From: SelfRidicule Date: Thu, 27 Jun 2024 12:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=8F=E8=BF=B0:=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.json | 214 +++++++++--------- miniprogram/pages/index/index.js | 3 + .../meetingFacilities/meetingFacilities.js | 2 +- .../meetingRoom/meetingOrder/meetingOrder.js | 118 +--------- .../meetingService/meetingService.js | 167 ++++++++++++++ .../meetingService/meetingService.json | 9 + .../meetingService/meetingService.wxml | 23 ++ .../meetingService/meetingService.wxss | 46 ++++ 8 files changed, 362 insertions(+), 220 deletions(-) create mode 100644 miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.js create mode 100644 miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.json create mode 100644 miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxml create mode 100644 miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxss diff --git a/miniprogram/app.json b/miniprogram/app.json index bf450c0..7d88ab1 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -1,109 +1,111 @@ { - "pages": [ - "pages/index/index", - "pages/login/login", - "pages/login/wxlogin/wxlogin", - "pages/my/my", - "pages/community/community", - "pages/news/news", - "pages/index/detail/detail", - "pages/community/eventDetails/eventDetails", - "pages/enterpriseServices/enterpriseServices", - "pages/parkRepair/parkRepair", - "pages/enterpriseServices/serviceList/serviceList", - "pages/enterpriseServices/serviceDetail/serviceDetail", - "pages/community/registration/registration", - "pages/enterpriseServices/serviceApply/serviceApply", - "pages/parkRepair/repairDetail/repairDetail", - "pages/parkRepair/repairInApply/repairInApply", - "pages/enterpriseSelect/enterpriseSelect", - "pages/myActivities/myActivities", - "pages/parkRepair/evaluate/evaluate", - "pages/notice/notice", - "pages/notice/detail/detail", - "pages/complaint/complaint", - "pages/complaint/newComplaint/newComplaint", - "pages/my/personalData/personalData", - "pages/my/cropper/cropper", - "pages/party/party", - "pages/party/detail/detail", - "pages/my/accountSetting/accountSetting", - "pages/my/changePassword/changePassword", - "pages/my/retrievePassword/retrievePassword", - "pages/my/companyInformation/companyInformation", - "pages/my/editCompanyProfile/editCompanyProfile", - "pages/my/order/order", - "pages/my/order/detail/detail", - "pages/my/order/applyRefund/applyRefund", - "pages/index/office/office", - "pages/index/office/detail/detail", - "pages/index/office/apply/apply", - "pages/index/parkList/parkList", - "pages/enterpriseServices/myServiceList/myServiceList", - "pages/applyType/settledIn/settledIn", - "pages/applyType/applyType", - "pages/applyType/settledInApproval/settledInApproval", - "pages/applyType/moveInApply/moveInApply", - "pages/my/serviceApply/serviceApply", - "pages/complaint/complaintDetail/complaintDetail", - "pages/outer/outer", - "pages/meeting/accessControl/accessControl", - "pages/meeting/accessControl/accessControlRecord/accessControlRecord", - "pages/meeting/meetingReservation/meetingReservation", - "pages/meeting/meetingRoom/meetingRoom", - "pages/meeting/meetingRoom/meetingFacilities/meetingFacilities", - "pages/meeting/meetingRoom/meetingOrder/meetingOrder", - "pages/meeting/meetingRoom/meetingProtocol/meetingProtocol", - "pages/meeting/meetingRoom/meetingCoupon/meetingCoupon", - "pages/meeting/meetingRoom/meetingBooked/meetingBooked", - "pages/meeting/pay/waitPay/waitPay", - "pages/meeting/pay/waitComplete/waitComplete", - "pages/meeting/reservationRecord/reservationRecord", - "pages/meeting/reservationRecord/meetingRecord/meetingRecord", - "pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail", - "pages/meeting/invite/invite", - "pages/meeting/visitorIinvitation/list/list", - "pages/meeting/visitorIinvitation/add/add", - "pages/meeting/visitorIinvitation/detail/detail", - "pages/meeting/visitorIinvitation/indexBar/indexBar", - "pages/meeting/exhibition/list/list", - "pages/meeting/exhibition/detail/detail", - "pages/meeting/exhibition/booked/booked", - "pages/meeting/exhibition/order/order", - "pages/meeting/reservationRecord/exhibitionRecord/list/list", - "pages/meeting/reservationRecord/exhibitionRecord/detail/detail" - ], - "window": { - "backgroundTextStyle": "light", - "navigationBarBackgroundColor": "#fff", - "navigationBarTitleText": "Weixin", - "navigationBarTextStyle": "black" - }, - "tabBar": { - "custom": true, - "backgroundColor": "#ffffff", - "borderStyle": "black", - "selectedColor": "#5C8EFF", - "color": "#333333", - "list": [{ - "pagePath": "pages/index/index", - "iconPath": "/images/tabbar/home.png", - "selectedIconPath": "/images/tabbar/home-select.png", - "text": "首页" - }, - { - "pagePath": "pages/my/my", - "iconPath": "/images/tabbar/my.png", - "selectedIconPath": "/images/tabbar/my-select.png", - "text": "我的" - } - ] - }, - "usingComponents": {}, - "sitemapLocation": "sitemap.json", - "permission": { - "scope.userLocation": { - "desc": "为便于为您定位附近园区" - } + "pages": [ + "pages/index/index", + "pages/login/login", + "pages/login/wxlogin/wxlogin", + "pages/my/my", + "pages/community/community", + "pages/news/news", + "pages/index/detail/detail", + "pages/community/eventDetails/eventDetails", + "pages/enterpriseServices/enterpriseServices", + "pages/parkRepair/parkRepair", + "pages/enterpriseServices/serviceList/serviceList", + "pages/enterpriseServices/serviceDetail/serviceDetail", + "pages/community/registration/registration", + "pages/enterpriseServices/serviceApply/serviceApply", + "pages/parkRepair/repairDetail/repairDetail", + "pages/parkRepair/repairInApply/repairInApply", + "pages/enterpriseSelect/enterpriseSelect", + "pages/myActivities/myActivities", + "pages/parkRepair/evaluate/evaluate", + "pages/notice/notice", + "pages/notice/detail/detail", + "pages/complaint/complaint", + "pages/complaint/newComplaint/newComplaint", + "pages/my/personalData/personalData", + "pages/my/cropper/cropper", + "pages/party/party", + "pages/party/detail/detail", + "pages/my/accountSetting/accountSetting", + "pages/my/changePassword/changePassword", + "pages/my/retrievePassword/retrievePassword", + "pages/my/companyInformation/companyInformation", + "pages/my/editCompanyProfile/editCompanyProfile", + "pages/my/order/order", + "pages/my/order/detail/detail", + "pages/my/order/applyRefund/applyRefund", + "pages/index/office/office", + "pages/index/office/detail/detail", + "pages/index/office/apply/apply", + "pages/index/parkList/parkList", + "pages/enterpriseServices/myServiceList/myServiceList", + "pages/applyType/settledIn/settledIn", + "pages/applyType/applyType", + "pages/applyType/settledInApproval/settledInApproval", + "pages/applyType/moveInApply/moveInApply", + "pages/my/serviceApply/serviceApply", + "pages/complaint/complaintDetail/complaintDetail", + "pages/outer/outer", + "pages/meeting/accessControl/accessControl", + "pages/meeting/accessControl/accessControlRecord/accessControlRecord", + "pages/meeting/meetingReservation/meetingReservation", + "pages/meeting/meetingRoom/meetingRoom", + "pages/meeting/meetingRoom/meetingFacilities/meetingFacilities", + "pages/meeting/meetingRoom/meetingOrder/meetingOrder", + "pages/meeting/meetingRoom/meetingProtocol/meetingProtocol", + "pages/meeting/meetingRoom/meetingCoupon/meetingCoupon", + "pages/meeting/meetingRoom/meetingBooked/meetingBooked", + "pages/meeting/pay/waitPay/waitPay", + "pages/meeting/pay/waitComplete/waitComplete", + "pages/meeting/reservationRecord/reservationRecord", + "pages/meeting/reservationRecord/meetingRecord/meetingRecord", + "pages/meeting/reservationRecord/meetingRecord/meetingDetail/meetingDetail", + "pages/meeting/invite/invite", + "pages/meeting/visitorIinvitation/list/list", + "pages/meeting/visitorIinvitation/add/add", + "pages/meeting/visitorIinvitation/detail/detail", + "pages/meeting/visitorIinvitation/indexBar/indexBar", + "pages/meeting/exhibition/list/list", + "pages/meeting/exhibition/detail/detail", + "pages/meeting/exhibition/booked/booked", + "pages/meeting/exhibition/order/order", + "pages/meeting/reservationRecord/exhibitionRecord/list/list", + "pages/meeting/reservationRecord/exhibitionRecord/detail/detail", + "pages/meeting/meetingRoom/meetingService/meetingService" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "Weixin", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "custom": true, + "backgroundColor": "#ffffff", + "borderStyle": "black", + "selectedColor": "#5C8EFF", + "color": "#333333", + "list": [ + { + "pagePath": "pages/index/index", + "iconPath": "/images/tabbar/home.png", + "selectedIconPath": "/images/tabbar/home-select.png", + "text": "首页" + }, + { + "pagePath": "pages/my/my", + "iconPath": "/images/tabbar/my.png", + "selectedIconPath": "/images/tabbar/my-select.png", + "text": "我的" + } + ] + }, + "usingComponents": {}, + "sitemapLocation": "sitemap.json", + "permission": { + "scope.userLocation": { + "desc": "为便于为您定位附近园区" } + } } \ No newline at end of file diff --git a/miniprogram/pages/index/index.js b/miniprogram/pages/index/index.js index 1414af0..94582b9 100644 --- a/miniprogram/pages/index/index.js +++ b/miniprogram/pages/index/index.js @@ -195,6 +195,9 @@ Page({ wx.setStorageSync('openid', userDetail.openid) wx.setStorageSync('user', userDetail) wx.setStorageSync('userId', userDetail.id) + wx.setStorageSync('tenantId', app.tenantId) + wx.setStorageSync('parkId', app.parkId) + wx.setStorageSync('parkName', app.parkName) _this.setData({ userDetail }) diff --git a/miniprogram/pages/meeting/meetingRoom/meetingFacilities/meetingFacilities.js b/miniprogram/pages/meeting/meetingRoom/meetingFacilities/meetingFacilities.js index 4eba3e3..3330b0a 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingFacilities/meetingFacilities.js +++ b/miniprogram/pages/meeting/meetingRoom/meetingFacilities/meetingFacilities.js @@ -44,7 +44,7 @@ Page({ }).then(res => { console.log('queryServiceMsgRq', res); for (let i = 0; i < res.data.length; i++) { - if (res.data[i].dictValue == wx.getStorageSync('parkId')) { + if (res.data[i].dictValue == app.tenantId) { _this.setData({ msg: res.data[i].dictLabel }) diff --git a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js index 052139b..bf93070 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js +++ b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js @@ -35,17 +35,7 @@ Page({ bannerList: [], room: {}, userData: {}, - couponId: '', - couponData: {}, - couponList: [], - couponCount: 0, - couponUseList: [], - couponUseCount: 0, - couponNotUseList: [], - couponNotUseCount: 0, - countAmount: '', - totalAmount: '', - priceDialogShow: false, + serviceList : [], }, /** @@ -62,8 +52,6 @@ Page({ }) // 详细信息 this.getDetail(); - // 获取优惠卷 - this.getCustomerTicket(); }, // 详细信息 @@ -86,45 +74,6 @@ Page({ }) }, - // 获取优惠卷 - getCustomerTicket() { - let _this = this; - getCustomerTicketRq({ - "userId": _this.data.userData.id, - "customerId": _this.data.userData.icsCustomerId, - "meetingId": _this.data.meetingRoomId, - "type": '1' - }).then(res => { - let nowTime = new Date().getTime(); - let dataList = res.data.map(item => { - item.startTime = selfFormatTimeYMD(item.startTime) - item.endDate = selfFormatTimeYMD(item.endDate) - let kaishiTime = new Date(item.startTime + " 00:00:00") - let jieshuTime = new Date(item.endDate + " 23:59:59") - if (nowTime >= kaishiTime && nowTime <= jieshuTime) { - item.isDisable = false - } else { - item.isDisable = true - } - return item; - }) - // 可用 - let useList = res.data.filter(item => !item.isDisable) - // 不可用 - let notUseList = res.data.filter(item => item.isDisable) - - _this.setData({ - couponList: dataList, - couponCount: selfArrSum(dataList.map(item => item.num)), - couponUseList: useList, - couponUseCount: selfArrSum(useList.map(item => item.num)), - couponNotUseList: notUseList, - couponNotUseCount: selfArrSum(notUseList.map(item => item.num)), - }) - }) - }, - - // 主题修改监听 titleChange(event) { this.setData({ @@ -135,42 +84,12 @@ Page({ // 跳转-空间设施 jumpMeetingFacilities() { let meetingRoomId = this.data.meetingRoomId; + let serviceListJsonStr = JSON.stringify(this.data.serviceList) wx.navigateTo({ - url: '/pages/meeting/meetingRoom/meetingFacilities/meetingFacilities?meetingRoomId=' + meetingRoomId, + url: `/pages/meeting/meetingRoom/meetingService/meetingService?meetingRoomId=${meetingRoomId}&serviceList=${serviceListJsonStr}` }) }, - // 跳转-优惠卷 - jumpMeetingCoupon() { - let _this = this; - wx.navigateTo({ - url: `/pages/meeting/meetingRoom/meetingCoupon/meetingCoupon?type=1&couponId=${_this.data.couponId}&meetingRoomId=${_this.data.meetingRoomId}`, - }) - }, - - // 协议点击 - protocolChange() { - let _this = this; - _this.setData({ - protocolFlag: !_this.data.protocolFlag - }); - }, - - // 跳转协议 - jumpProtocol() { - let _this = this; - wx.navigateTo({ - url: "/pages/meeting/meetingRoom/meetingProtocol/meetingProtocol?title=" + _this.data.protocolTitle, - }) - }, - - // 价格明细 - priceDetail() { - let _this = this - _this.setData({ - priceDialogShow: true - }) - }, // 提交订单 submitCase() { @@ -184,15 +103,7 @@ Page({ }); return; } - if (!_this.data.protocolFlag) { - // 错误提示 - Notify({ - type: 'danger', - message: `请同意${_this.data.protocolTitle}!` - }); - return; - } - + saveMeetingRecordRq({ "roomContentId": _this.data.meetingRoomId, "userId": _this.data.userData.id, @@ -232,26 +143,7 @@ Page({ onShow() { console.log('onShow'); let _this = this - // 更新选择的优惠卷 - if (_this.data.couponId) { - let couponData = _this.data.couponList.find(item => item.ticketId == _this.data.couponId) - _this.setData({ - couponData - }) - } - // 查询金额 - calculateMeetingRoomAmountRq({ - "startTime": _this.data.startTime, - "endDate": _this.data.endTime, - "roomContentId": _this.data.meetingRoomId, - "ticketId": _this.data.couponId - }).then(res => { - console.log('calculateMeetingRoomAmountRq', res); - _this.setData({ - countAmount: res.amount.totalMoney, - totalAmount: res.amount.paidMoney, - }) - }) + }, /** diff --git a/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.js b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.js new file mode 100644 index 0000000..e33a822 --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.js @@ -0,0 +1,167 @@ +const app = getApp() + +import { + getMeetingRoomServiceAndEquipmentRq, + queryServiceMsgRq +} from "../../../../api/meeting/meetingRoom.js" + + +Page({ + + /** + * 页面的初始数据 + */ + data: { + IMG_NAME: app.IMG_NAME, + meetingRoomId: null, + detail: {}, + msg: {}, + serviceList: [], + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + let _this = this; + let serviceList = JSON.parse(options.serviceList) + _this.setData({ + ...options, + serviceList + }) + // 获取数据 + _this.getData(); + }, + + // 获取数据 + getData() { + let _this = this; + if (!(_this.data.serviceList && _this.data.serviceList.length > 0)) { + // 查询服务列表 + getMeetingRoomServiceAndEquipmentRq(_this.data.meetingRoomId).then(res => { + let serviceList = res.data.roomFServe.map(item => { + return { + serveId: item.id, + serveName: item.serveName, + isSelect: false, + num: '', + } + }) + _this.setData({ + serviceList + }) + }) + } + + // 查询服务信息 + queryServiceMsgRq({ + "dictType": "server_info" + }).then(res => { + console.log('queryServiceMsgRq', res); + for (let i = 0; i < res.data.length; i++) { + if (res.data[i].dictValue == app.tenantId) { + _this.setData({ + msg: res.data[i].dictLabel + }) + break; + } + } + }) + }, + + + // 服务选择 + checkBoxClick(e) { + let _this = this; + console.log('checkBoxClick', e); + // get param + let id = e.target.dataset.id + let serviceList = _this.data.serviceList.map(item => { + if (item.serveId == id) { + item.isSelect = !item.isSelect + } + return item + }) + _this.setData({ + serviceList + }) + }, + + // 服务输入数量 + inputChange(e) { + let _this = this; + console.log('inputChange', e); + // get param + let id = e.currentTarget.dataset.id + let num = e.detail; + let serviceList = _this.data.serviceList.map(item => { + if (item.serveId == id) { + item.num = num + } + return item + }) + _this.setData({ + serviceList + }) + }, + + // 确定 + submit() { + let _this = this; + let pages = getCurrentPages(); //获取page + let prevPage = pages[pages.length - 2]; //上一个页面(父页面) + prevPage.setData({ + serviceList: _this.data.serviceList + }) + wx.navigateBack(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.json b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.json new file mode 100644 index 0000000..bfcfdfc --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.json @@ -0,0 +1,9 @@ +{ + "usingComponents": { + "van-icon": "@vant/weapp/icon/index", + "van-checkbox": "@vant/weapp/checkbox/index", + "van-checkbox-group": "@vant/weapp/checkbox-group/index", + "van-field": "@vant/weapp/field/index" + }, + "navigationBarTitleText": "会议服务" +} \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxml b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxml new file mode 100644 index 0000000..7fb618e --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxml @@ -0,0 +1,23 @@ + + + + + 增值服务 + + + + {{item.serveName}} + + + + + + + + {{msg}} + + + 确定 + + + \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxss b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxss new file mode 100644 index 0000000..cf94a1c --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingService/meetingService.wxss @@ -0,0 +1,46 @@ + +.serviceView { + margin-top: 40rpx; +} + +.serviceView .leftLineTitle { + margin-left: 20rpx; +} + +.serviceView .serviceItemView { + margin-top: 30rpx; +} + +.serviceView .serviceItemView .serviceItem { + border-bottom: 1px solid rgb(126, 126, 126, 0.2); + display: flex; + justify-content: space-between; + align-items: center; + word-break: break-all; + padding: 20rpx 20rpx; +} + +.serviceView .serviceItemView .serviceItem:first-of-type { + border-top: 1px solid rgb(126, 126, 126, 0.2); +} + +.serviceView .serviceItem .name { + position: relative; + flex: 1; + margin-right: 20rpx; + padding-left: 10rpx; + font-size: 26rpx; +} + +.serviceView .serviceItem .content { + color: red; + font-size: 24rpx; + max-width: 400rpx; +} + +.statementView { + padding: 80rpx 40rpx; + font-size: 24rpx; + text-indent: 48rpx; + color: gray; +}