From 96629fa202821bc59d3d06a1242300985cc7bbd1 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 13 Sep 2024 17:09:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=9A=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 会议功能调试,加入首页,修改列表页 --- miniprogram/app.json | 1 + miniprogram/pages/index/index.js | 10 +- miniprogram/pages/meeting/index/index.js | 148 ++++++++++++++++++ miniprogram/pages/meeting/index/index.json | 7 + miniprogram/pages/meeting/index/index.wxml | 32 ++++ miniprogram/pages/meeting/index/index.wxss | 146 +++++++++++++++++ .../meetingReservation/meetingReservation.js | 19 ++- .../meetingReservation.wxml | 75 +++++---- .../meetingReservation.wxss | 139 +++++++++------- 9 files changed, 475 insertions(+), 102 deletions(-) create mode 100644 miniprogram/pages/meeting/index/index.js create mode 100644 miniprogram/pages/meeting/index/index.json create mode 100644 miniprogram/pages/meeting/index/index.wxml create mode 100644 miniprogram/pages/meeting/index/index.wxss diff --git a/miniprogram/app.json b/miniprogram/app.json index e618e9a..cef4a4d 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -47,6 +47,7 @@ "pages/my/serviceApply/serviceApply", "pages/complaint/complaintDetail/complaintDetail", "pages/outer/outer", + "pages/meeting/index/index", "pages/meeting/accessControl/accessControl", "pages/meeting/accessControl/accessControlRecord/accessControlRecord", "pages/meeting/meetingReservation/meetingReservation", diff --git a/miniprogram/pages/index/index.js b/miniprogram/pages/index/index.js index 1b8d1a9..ef384fa 100644 --- a/miniprogram/pages/index/index.js +++ b/miniprogram/pages/index/index.js @@ -113,11 +113,11 @@ Page({ img: "/profile/static/index/menu-bxfw.png", path: "/pages/reportRepair/index/index" }, - // { - // name: "会议预约", - // img: "/profile/static/index/menu-hyyy.png", - // // path: "/pages/meeting/meetingReservation/meetingReservation" - // }, + { + name: "会议预约", + img: "/profile/static/index/menu-hyyy.png", + path: "/pages/meeting/index/index" + }, // { // name: "展厅预约", // img: "/profile/static/index/menu-ztyy.png", diff --git a/miniprogram/pages/meeting/index/index.js b/miniprogram/pages/meeting/index/index.js new file mode 100644 index 0000000..37fd1a3 --- /dev/null +++ b/miniprogram/pages/meeting/index/index.js @@ -0,0 +1,148 @@ +const app = getApp() + +import Notify from '@vant/weapp/notify/notify'; + +Page({ + + /** + * 页面的初始数据 + */ + data: { + IMG_NAME: app.IMG_NAME, + userDetail: {}, + menuList: [{ + type: "report", + name: "会议预约", + img: "/profile/static/repair/index/my.png", + path: "/pages/meeting/meetingReservation/meetingReservation", + visible: true + }, { + type: "query", + name: "预约记录", + img: "/profile/static/repair/index/query.png", + path: "/pages/meeting/reservationRecord/meetingRecord/meetingRecord", + visible: true + }, { + type: "assign", + name: "会议审核", + img: "/profile/static/repair/index/case.png", + path: "/pages/meeting/visitorIinvitation/list/list", + visible: false + }, { + type: "repair", + name: "会务服务", + img: "/profile/static/repair/index/repair.png", + path: "/pages/reportRepair/repair/index/index", + visible: false + }] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + let _this = this + let userDetail = wx.getStorageSync('user') + _this.setData({ + userDetail + }) + // 展示模块 + _this.visibleBlock() + }, + + // 跳转菜单 + jumpMenu(e) { + console.log('jumpMenu', e); + let obj = e.currentTarget.dataset.obj + console.log(obj.path) + if (obj.visible) { + wx.navigateTo({ + url: obj.path, + }) + } else { + app.vantNotifyErrTop(Notify, `"${obj.name}"无权限访问!`) + return + } + }, + + // 展示模块 + visibleBlock() { + let _this = this + let userDetail = _this.data.userDetail + let dataType = userDetail.dataType + let menuList = _this.data.menuList + // 角色类型 1.普通用户,3派单员,5维修工,7管理员 , 9楼层 + // if (dataType == 3 || dataType == 7) { // 展示-派单入口,仅有派单员、管理员能进 + // menuList = menuList.map(item => { + // if (item.type == 'assign') { + // item.visible = true + // } + // return item + // }) + // } + // if (dataType == 5) { // 展示-维修入口 + // menuList = menuList.map(item => { + // if (item.type == 'repair') { + // item.visible = true + // } + // return item + // }) + // } + // _this.setData({ + // menuList + // }) + }, + + back() { + wx.navigateBack() + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/meeting/index/index.json b/miniprogram/pages/meeting/index/index.json new file mode 100644 index 0000000..88044d6 --- /dev/null +++ b/miniprogram/pages/meeting/index/index.json @@ -0,0 +1,7 @@ +{ + "navigationStyle": "custom", + "usingComponents": { + "van-icon": "@vant/weapp/icon/index", + "van-notify": "@vant/weapp/notify/index" + } +} \ No newline at end of file diff --git a/miniprogram/pages/meeting/index/index.wxml b/miniprogram/pages/meeting/index/index.wxml new file mode 100644 index 0000000..11becc1 --- /dev/null +++ b/miniprogram/pages/meeting/index/index.wxml @@ -0,0 +1,32 @@ + + + + + + + + + + + + 会议系统 + + 欢迎进入 + 淮安市行政中心会议管理系统 + + + + + + + + {{item.name}} + + + + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/meeting/index/index.wxss b/miniprogram/pages/meeting/index/index.wxss new file mode 100644 index 0000000..143bd15 --- /dev/null +++ b/miniprogram/pages/meeting/index/index.wxss @@ -0,0 +1,146 @@ +.topHead { + position: relative; + height: 639rpx; + +} + +.topHead .maskView1 { + position: absolute; + z-index: 1; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #4c81e5; + opacity: 87%; + border-bottom-left-radius: 96rpx; + border-bottom-right-radius: 96rpx; +} + +.topHead .maskView2 { + position: absolute; + z-index: 2; + right: 0; + top: 187rpx; + width: 446rpx; + height: 452rpx; +} + +.topHead .maskView3 { + position: absolute; + z-index: 3; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #4c81e5; + opacity: 85%; + border-bottom-left-radius: 96rpx; + border-bottom-right-radius: 96rpx; +} + +.topHead .homeView{ + position: absolute; + z-index: 4; + left: 40rpx; + top: 100rpx; + + border-radius: 50rpx; + width: 50rpx; + height: 50rpx; + display: flex; + justify-content: center; + align-items: center; + background: #4b71be; +} + +.topHead .title { + position: absolute; + z-index: 4; + left: 50%; + top: 120rpx; + transform: translateX(-50%); + font-size: 32rpx; + color: #FFFFFF; + line-height: 1rpx; + text-align: left; +} + +.topHead .contentView { + position: absolute; + z-index: 4; + left: 0; + top: 280rpx; + padding-left: 58rpx; +} + +.topHead .contentView .label1 { + font-size: 57rpx; + color: #FFFFFF; + line-height: 1; + font-weight: 700; +} + +.topHead .contentView .label2 { + font-size: 33rpx; + color: #FFFFFF; + line-height: 1; + margin-top: 40rpx; + font-weight: 700; +} + +.topHead .logo { + position: absolute; + z-index: 4; + left: 50%; + bottom: -140rpx; + transform: translateX(-50%); + width: 250rpx; + height: 250rpx; +} + +.menuContainerView { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + padding: 150rpx 80rpx 0; +} + +.menuContainerView .menuView { + width: 260rpx; + height: 260rpx; + border-radius: 10rpx; + box-shadow: -2px 2px 10px 0 rgba(102, 116, 166, 0.2); + flex-shrink: 0; + margin-bottom: 80rpx; + + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.menuContainerView .menuView .menuImg { + width: 140rpx; + height: 140rpx; +} + +.menuContainerView .menuView .menuTitle { + font-size: 32rpx; + color: #4B6291; + font-weight: 600; + line-height: 1; + margin-top: 20rpx; +} + +.ownership { + position: absolute; + left: 0; + bottom: 34rpx; + width: 100%; + word-break: break-all; + text-align: center; + font-size: 22rpx; + color: #878787; +} \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.js b/miniprogram/pages/meeting/meetingReservation/meetingReservation.js index d53bd64..b820010 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.js +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.js @@ -15,6 +15,7 @@ Page({ data: { IMG_NAME: app.IMG_NAME, roomDataList: [], + roomDataNew: {}, queryParam: { meetingTypeDict: { list: [], @@ -65,7 +66,7 @@ Page({ } }) list = [{ - text: "类型", + text: "楼层", value: null }, ...list] // 赋值参数 @@ -203,6 +204,19 @@ Page({ // 会议室列表数据 meetingRoomListRq(param).then(res => { console.log('meetingRoomListRq', res); + let roomArr = {} + let valueObj = res.rows + for(let key in valueObj) { + let eachObj = valueObj[key] + if (eachObj['type'] in roomArr) { + } else { + roomArr[eachObj['type']] = { + name: eachObj['typeName'], + list: [] + } + } + roomArr[eachObj['type']]['list'].push(eachObj) + } let roomDataList = res.rows.map(item => { if (item.indoorPicUrl) { try { @@ -214,7 +228,8 @@ Page({ return item }) _this.setData({ - roomDataList + roomDataList, + roomDataNew: roomArr }) }) }, diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml index 99d0711..b694da5 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxml @@ -1,46 +1,43 @@ - - - - - - - - - - - - - - 收起 - - - - - - - - - - - - {{room.capacityNum}}人间 | {{room.roomName}} | {{room.buildingName}} - - #{{roomItem.name}} - - - - {{room.shape}} - - - + + + + + + + + + + + + + + 收起 + + + + + + + + + {{item.name}} + + + {{room.roomName}} + + {{room.capacityNum}}人 {{room.shape}} + + + + + - - + + \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxss b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxss index 709acc6..d2ae455 100644 --- a/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxss +++ b/miniprogram/pages/meeting/meetingReservation/meetingReservation.wxss @@ -1,102 +1,129 @@ - -.queryView{ - position: fixed; - left: 0; - top: 0; - z-index: 1; - width: 100%; +.queryView { + position: fixed; + left: 0; + top: 0; + z-index: 1; + width: 100%; } .meetingRoomView { - margin-top: 100rpx; - padding: 30rpx 30rpx; + margin-top: 100rpx; + padding: 30rpx 30rpx; } .meetingRoomView .meetingRoomItem { - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 30rpx; - padding-bottom: 30rpx; - border-bottom: 1px solid rgb(126, 126, 126, 0.3); + /* display: inline-block; */ + width: 33%; + float: left; + justify-content: space-between; + align-items: center; + margin-top: 30rpx; + padding-bottom: 30rpx; + /* border-bottom: 1px solid rgb(126, 126, 126, 0.3); */ } .meetingRoomView .meetingRoomItem .content { - display: flex; - flex-direction: column; - justify-content: start; - align-items: flex-start; - height: 180rpx; + position: relative; + width: 85%; + margin: 0px auto; + height: 180rpx; + border: 1px solid #A3CDFF; + background-color: #A3CDFF; +} + +.meetingRoomView .meetingRoomItem .disabled { + border: 1px solid #F2F2F2; + background-color: #F2F2F2; } .meetingRoomView .meetingRoomItem .content .title { - font-size: 32rpx; - color: black; + font-size: 40rpx; + font-weight: 700; + color: black; + text-align: center; + margin-top: 40rpx; } .meetingRoomView .meetingRoomItem .content .articleView { - display: flex; - flex-wrap: wrap; - justify-content: start; - align-items: center; - margin-top: 18rpx; + display: flex; + flex-wrap: wrap; + justify-content: start; + align-items: center; + margin-top: 18rpx; } .meetingRoomView .meetingRoomItem .content .articleView .article { - font-size: 28rpx; - color: gray; - margin-left: 10rpx; + font-size: 28rpx; + color: gray; + margin-left: 10rpx; } .meetingRoomView .meetingRoomItem .content .articleView .article:first-child { - margin-left: 0; + margin-left: 0; } .meetingRoomView .meetingRoomItem .content .propOpen { - flex: 1; + flex: 1; } .meetingRoomView .meetingRoomItem .content .priceView { - display: flex; - justify-content: start; - align-items: center; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 50rpx; + line-height: 50rpx; + text-align: center; + background-color: #D8E9FC; + color: #000; +} + +.meetingRoomView .meetingRoomItem .disabled .priceView { + background-color: #F2F2F2 !important; } .meetingRoomView .meetingRoomItem .content .priceView .price { - font-size: 32rpx; - color: red; - font-weight: bold; + font-size: 32rpx; + color: red; + font-weight: bold; } .meetingRoomView .meetingRoomItem .content .priceView .unit { - font-size: 24rpx; - color: gray; + font-size: 24rpx; + color: #333; } .meetingRoomView .meetingRoomItem .imgView { - position: relative; - width: 320rpx; - height: 180rpx; + position: relative; + width: 320rpx; + height: 180rpx; } .meetingRoomView .meetingRoomItem .imgView .title { - position: absolute; - left: 0; - top: 16rpx; - background: #76aef9; - font-size: 24rpx; - color: white; - font-weight: bold; - padding: 8rpx 16rpx; - border-top-right-radius: 6rpx; - border-bottom-right-radius: 6rpx; + position: absolute; + left: 0; + top: 16rpx; + background: #76aef9; + font-size: 24rpx; + color: white; + font-weight: bold; + padding: 8rpx 16rpx; + border-top-right-radius: 6rpx; + border-bottom-right-radius: 6rpx; } .meetingRoomView .meetingRoomItem .imgView .img { - width: 100%; - height: 100%; - border-radius: 10rpx; + width: 100%; + height: 100%; + border-radius: 10rpx; +} + +.roomType { + width: 100%; + padding: 15rpx 30rpx; + font-weight: 700; + font-size: 32rpx; } \ No newline at end of file