描述:会议室享清福

This commit is contained in:
SelfRidicule 2024-02-26 19:30:25 +08:00
parent 097de6114c
commit 4f35ab7f12
5 changed files with 309 additions and 50 deletions

View File

@ -1,11 +1,33 @@
// pages/meeting/meetingRoom/meetingRoom.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
IMG_NAME: app.IMG_NAME,
contentSwichFLag: true,
bannerList: [{
bg: '/profile/static/index/banner/1.jpg',
url: ''
}, {
bg: '/profile/static/index/banner/2.jpg',
url: ''
}, {
bg: '/profile/static/index/banner/3.jpg',
url: ''
}],
mapData: {
latitude: 33.601291,
longitude: 119.031829,
markers: [{
id: 1,
latitude: 33.601291,
longitude: 119.031829,
title: '淮安茂业天地购物中心'
}]
}
},
/**
@ -15,6 +37,15 @@ Page({
},
// 切换内容展示
contentSwich() {
console.log('contentSwich', 1);
let _this = this;
_this.setData({
"contentSwichFLag": !_this.data.contentSwichFLag
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/

View File

@ -1,3 +1,6 @@
{
"usingComponents": {}
"usingComponents": {
"van-icon": "@vant/weapp/icon/index"
},
"navigationBarTitleText": "会议室"
}

View File

@ -1,2 +1,64 @@
<!--pages/meeting/meetingRoom/meetingRoom.wxml-->
<text>pages/meeting/meetingRoom/meetingRoom.wxml</text>
<view class="containerView">
<!-- 轮播图 -->
<swiper class='swiper-box' indicator-dots autoplay interval="3000" duration="1000" circular='true'>
<swiper-item wx:for="{{bannerList}}" wx:key="index">
<image class="img" src="{{IMG_NAME + item.bg}}" mode="aspectFill"></image>
</swiper-item>
</swiper>
<!-- 会议室详细信息 -->
<view class="roomView">
<!-- 类型信息 -->
<view class="typeView">
<view class="typeItem">
<view class="name">所在楼层</view>
<view class="value">12层</view>
</view>
<view class="typeItem">
<view class="name">空间面积</view>
<view class="value">12345m</view>
</view>
<view class="typeItem">
<view class="name">办公面积</view>
<view class="value">550m</view>
</view>
</view>
<!-- 文字内容 -->
<view class="content {{contentSwichFLag ? 'hidden' : ''}}">
在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index数组当前项的变量名默认为 item在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index数组当前项的变量名默认为 item在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index数组当前项的变量名默认为 item在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index数组当前项的变量名默认为 item
</view>
<view class="contentSwichBtn" bind:tap="contentSwich">
{{contentSwichFLag ? '展开' : '收起'}}
<van-icon wx:if="{{contentSwichFLag}}" name="arrow-down" />
<van-icon wx:if="{{!contentSwichFLag}}" name="arrow-up" />
</view>
</view>
<!-- 设施 -->
<view class="facilitiesView">
<view class="leftLineTitle">空间设施</view>
<view class="itemView">
<view class="singleItem" wx:for="{{10}}">
<van-icon name="after-sale" size="40px" />
<view class="name">VIP</view>
</view>
</view>
</view>
<!-- 价格 -->
<view class="priceView">
<view class="leftLineTitle">价格</view>
<view class="content">¥ 200.00/半小时 起</view>
</view>
<!-- 地图 -->
<view class="mapView">
<view class="leftLineTitle">空间周边</view>
<map class="myMap" latitude="{{mapData.latitude}}" longitude="{{mapData.longitude}}" markers="{{mapData.markers}}" show-location></map>
</view>
<!-- 预约 -->
<view class="reservationBtn">会议预约</view>
</view>

View File

@ -1 +1,157 @@
/* pages/meeting/meetingRoom/meetingRoom.wxss */
.containerView {
height: 100vh;
width: 100vw;
overflow: auto;
padding-bottom: 100rpx;
background: #ffffff;
}
.leftLineTitle {
border-left: 8rpx solid #76aef9;
padding-left: 10rpx;
font-size: 32rpx;
}
.swiper-box {
box-sizing: border-box;
/* width: 100%; */
height: 358rpx;
margin: 0 22rpx;
}
.swiper-box .img {
border-radius: 14rpx;
width: 100%;
height: 100%;
}
/* 轮播小点点 */
.swiper-box .wx-swiper-dots.wx-swiper-dots-horizontal {
margin-left: 36%;
}
.swiper-box .wx-swiper-dot {
width: 20rpx;
display: inline-flex;
height: 5rpx;
margin-left: 10rpx;
justify-content: space-between;
}
.swiper-box .wx-swiper-dot::before {
content: '';
flex-grow: 1;
background: rgba(255, 255, 255, 0.8);
border-radius: 0rpx
}
.swiper-box .wx-swiper-dot-active::before {
background: #ff3333;
}
.swiper-box .wx-swiper-dot-active {
width: 40rpx;
}
.roomView {
margin-top: 30rpx;
}
.roomView .typeView {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 30rpx;
}
.roomView .typeView .typeItem {
text-align: center;
}
.roomView .typeView .typeItem .name {
font-size: 28rpx;
color: gray;
}
.roomView .typeView .typeItem .value {
margin-top: 10rpx;
font-size: 26rpx;
font-weight: bold;
color: black;
}
.roomView .content {
margin: 40rpx 20rpx 0;
font-size: 26rpx;
transition: all 1s;
}
.roomView .content.hidden {
height: 200rpx;
overflow: hidden;
transition: all 1s;
}
.roomView .contentSwichBtn {
border: 1px solid rgb(202, 202, 202);
border-radius: 6rpx;
margin: 20rpx;
padding: 14rpx;
text-align: center;
font-size: 28rpx;
}
.facilitiesView {
margin: 50rpx 20rpx;
}
.facilitiesView .itemView {
display: flex;
justify-content: start;
align-items: center;
flex-wrap: wrap;
}
.facilitiesView .itemView .singleItem {
box-sizing: border-box;
width: 25%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 30rpx;
}
.facilitiesView .itemView .singleItem .name {
margin-top: 4rpx;
}
.priceView {
margin: 20rpx;
}
.priceView .content {
margin: 30rpx 20rpx;
font-size: 32rpx;
color: red;
}
.mapView {
margin: 50rpx 20rpx;
}
.mapView .myMap {
margin-top: 30rpx;
width: 100%;
height: 500rpx;
}
.reservationBtn{
background: #5a6ff2;
font-size: 28rpx;
color: white;
padding: 26rpx;
margin: 70rpx 20rpx;
text-align: center;
border-radius: 10rpx;
}

View File

@ -6,6 +6,13 @@
"condition": {
"miniprogram": {
"list": [
{
"name": "pages/meeting/meetingRoom/meetingRoom",
"pathName": "pages/meeting/meetingRoom/meetingRoom",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/index/index",
"pathName": "pages/index/index",