From 498e71eb8ce7db34e54f64dc2c83e8edc49c54a3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 08 五月 2024 10:40:06 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 h5/pages/meeting/index/index.vue |  487 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 487 insertions(+), 0 deletions(-)

diff --git a/h5/pages/meeting/index/index.vue b/h5/pages/meeting/index/index.vue
new file mode 100644
index 0000000..e25acbc
--- /dev/null
+++ b/h5/pages/meeting/index/index.vue
@@ -0,0 +1,487 @@
+<template>
+	<view class="container">
+		<!-- 鑷畾涔夊ご閮� -->
+		<navigation Title="鏅鸿兘浼氳瀹�"></navigation>
+		<you-scroll ref="scroll" @onPullDown="onPullDown" @More="More">
+			<!-- 閫氱煡鍏憡 -->
+			<view class="container_a" @click="jump">
+				<view class="container_a_left">
+					<image src="@/static/meeting/icon/home_ic_notice@2x.png" mode="widthFix"></image>
+				</view>
+				<view class="container_a_right">
+					<text>{{news.title}}</text>
+					<text>{{news.createDate ? news.createDate.substring(0, 10) : ''}}</text>
+				</view>
+			</view>
+			
+			<!-- 灞曚綅 -->
+			<view class="zw"></view>
+			
+			<!-- 鏃ュ巻 -->
+			<view class="container_b">
+				<Calendar
+				ref="Calendar"
+				:currentTime='currentTime1'
+				:mark='mark'
+				:showLunar="false"
+				@dayChange='dayChange'
+				@monthChange='monthChange'
+				:rangeMode='false'
+				:maskColor="'#ffffff'"
+				:dateStart='dateStart'
+				:dateEnd='dateEnd'
+				:canDrag='false'>
+				</Calendar>
+			</view>
+			
+			<!-- 浠婃棩浼氳 -->
+			<view class="container_c">
+				<view class="container_c_head">
+					<view class="container_c_head_left">
+						<view class="container_c_head_left_h"></view>
+						<text>褰撴棩浼氳</text>
+					</view>
+					<view class="container_c_head_right" @click="show = true">
+						<text>{{roomName.length > 10 ? roomName.substring(0, 8) + '...' : roomName}}</text>
+						<image src="@/static/meeting/icon/ar_open@2x.png" mode="widthFix"></image>
+					</view>
+				</view>
+				<view class="container_c_list" v-if="list && list.length > 0">
+					<view class="container_c_list_item" v-for="(item, index) in list" :key="index" @click="jumpRoom(item.id)">
+						<view class="top">
+							<view class="top_left">
+								{{item.meetingName}}
+							</view>
+							<view class="top_right" v-if="getDay === item.meetingDate && item.meetingStatus === 1">
+								鍗冲皢寮�濮�
+							</view>
+							<view class="top_right" v-else-if="getDay !== item.meetingDate && item.meetingStatus === 1">
+								鏈紑濮�
+							</view>
+							<view class="top_right jx" v-else-if="item.meetingStatus === 2">
+								杩涜涓�
+							</view>
+							<view class="top_right des" v-else-if="item.meetingStatus === 3">
+								宸茬粨鏉�
+							</view>
+						</view>
+						<view class="item_zw"></view>
+						<view class="item_info">
+							<view class="item_info_label">浼氳鏃堕棿锛�</view>
+							<view class="item_info_content">{{item.meetingTime}}</view>
+						</view>
+						<view class="item_info">
+							<view class="item_info_label">浼氳瀹わ細</view>
+							<view class="item_info_content">{{item.roomName}}</view>
+						</view>
+						<view class="item_info">
+							<view class="item_info_label">棰勭害浜猴細</view>
+							<view class="item_info_content">{{item.bookingUser}}</view>
+						</view>
+					</view>
+				</view>
+				<view class="container_c_list" v-else>
+					<view class="container_c_list_wu">
+						<image src="@/static/meeting/common/364.png" mode="widthFix"></image>
+					</view>
+				</view>
+			</view>
+		</you-scroll>
+		
+		
+		<!-- 浼氳閫夋嫨 -->
+		<u-picker :show="show" @cancel="show = false" keyName="name" @confirm="confirm" :columns="columns"></u-picker>
+		
+		<!-- 搴曢儴瀵艰埅 -->
+		<Tabbar :current="'0'"></Tabbar>
+	</view>
+</template>
+
+<script>
+	import youScroll from '@/components/you-scroll'
+	import Calendar from '@/components/Li-Calendar/Li-Calendar.vue';
+	import { getDay } from '@/utils/utils.js'
+	export default {
+		data() {
+			return {
+				show: false,
+				columns: [],
+				mark: [],
+				currentTime: '',
+				currentTime1: '',
+				title: 'Hello',
+				dateStart: '1999-05-01',
+				dateEnd: '2999-06-15',
+				roomName: '鍏ㄩ儴浼氳瀹�',
+				roomId: '',
+				
+				page: 0,
+				next: false,
+				list: [],
+				
+				news: []
+			}
+		},
+		components: { Calendar, youScroll },
+		onLoad() {
+			this.page = 0
+			this.next = false
+			this.list = []
+			this.mark = []
+			this.columns = []
+			this.currentTime = getDay().date
+			this.currentTime1 = getDay().date
+			this.$refs.Calendar.currentSelectTime = getDay().day
+			this.getRoom()
+			this.getNews()
+			this.getRoomList()
+			this.getDateNum()
+		},
+		onReachBottom(){
+			this.getRoomList()
+		},
+		methods: {
+			async onPullDown(done) {
+				this.page = 0
+				this.next = false
+				this.list = []
+				this.mark = []
+				this.columns = []
+				this.currentTime = getDay().date
+				this.currentTime1 = getDay().date
+				this.$refs.Calendar.currentSelectTime = getDay().day
+				await this.getRoom()
+				await this.getNews()
+				await this.getRoomList()
+				await this.getDateNum()
+				await done()
+			},
+			jumpRoom(id) {
+				uni.navigateTo({
+					url: `/packagesMine/meetingDetails/meetingDetails?id=${id}`
+				});
+			},
+			// 鑾峰彇鏌愭湀棰勭害鏃ユ湡
+			getDateNum() {
+				console.log('substring', this.currentTime1)
+				this.mark = []
+				this.$u.api.monthMeeting({
+					yearMonth: this.currentTime1.substring(0, 7)
+				}).then(res => {
+					res.data.forEach(item => {
+						// let day = new Date(getDay().date).getTime()
+						// let date = new Date(item.monthDate).getTime()
+						// date >= day && 
+						if (item.meetingNum > 0) {
+							this.mark.push({
+								time: item.monthDate,
+								markPoint: true,
+								pointText: item.meetingNum
+							})
+						}
+					})
+				})
+			},
+			getNews() {
+				this.$u.api.findNewNotice({})
+					.then(res => {
+						if (res.data) {
+							this.news = res.data
+						}
+					})
+			},
+			getRoomList() {
+				if (!this.next) {
+					this.page = this.page + 1
+					this.$u.api.myMeetingPage({
+						capacity: 10,
+						page: this.page,
+						model: {
+							queryDate: this.currentTime,
+							roomsId: this.roomId,
+							queryType: 1
+						}
+					}).then(res => {
+						if (res.data.records.length > 0) {
+							this.list = [...this.list, ...res.data.records]
+						}
+						if (res.data.records.length < 10) {
+							this.next = true
+						}
+					})
+				}
+			},
+			jump() {
+				uni.navigateTo({
+					url: '/packagesMine/notice/notice'
+				});
+			},
+			getRoom() {
+				this.$u.api.roomsList({})
+					.then(res => {
+						let room = []
+						room = res.data
+						room.unshift({ name: '鍏ㄩ儴浼氳瀹�', id: '' })
+						this.columns.push(res.data)
+					})
+			},
+			confirm(e) {
+				this.roomName = e.value[0].name
+				this.roomId = e.value[0].id
+				this.show = false
+				this.list = []
+				this.page = 0
+				this.next = false
+				this.getRoomList()
+			},
+			// 鐐瑰嚮鏌愬ぉ
+			dayChange(data){
+				console.log(data)
+				let date = data.time
+				let yyyy = data.time.substring(0, 4)
+				let mm = Number(data.time.substring(data.time.indexOf('-') + 1, data.time.lastIndexOf('-')))
+				let dd = Number(data.time.substring(data.time.lastIndexOf('-') + 1, data.time.length))
+				mm = mm < 10 ? `0${mm}` : mm
+				dd = dd < 10 ? `0${dd}` : dd
+				let riqi = `${yyyy}-${mm}-${dd}`
+				this.currentTime = riqi
+				this.list = []
+				this.next = false
+				this.page = 0
+				this.getRoomList()
+			},
+			// 涓嬩竴鏈�
+			monthChange(data){
+				let date = data.date.replace(/[/]/g, '-')
+				let yyyy = date.substring(0, 4)
+				let mm = Number(date.substring(date.indexOf('-') + 1, date.lastIndexOf('-')))
+				let dd = Number(date.substring(date.lastIndexOf('-') + 1, date.length))
+				mm = mm < 10 ? `0${mm}` : mm
+				dd = dd < 10 ? `0${dd}` : dd
+				let riqi = `${yyyy}-${mm}-${dd}`
+				console.log('鏃ユ湡', riqi)
+				this.currentTime1 = riqi
+				this.getDateNum()
+			},
+			setRangeMode(){
+				this.rangeMode = !this.rangeMode;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		width: 100%;
+		background-color: #fff;
+		.container_a {
+			width: 100%;
+			height: 80rpx;
+			background: #FFFFFF;
+			display: flex;
+			align-items: center;
+			padding: 0 30rpx;
+			box-sizing: border-box;
+			.container_a_left {
+				width: 40rpx;
+				height: 40rpx;
+				flex-shrink: 0;
+				margin-right: 20rpx;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.container_a_right {
+				flex: 1;
+				height: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				flex-wrap: wrap;
+				text {
+					&:first-child {
+						width: 400rpx;
+						overflow: hidden;
+						white-space: nowrap;
+						text-overflow: ellipsis;
+						font-size: 26rpx;
+						font-family: PingFangSC-Regular, PingFang SC;
+						font-weight: 400;
+						color: #333333;
+					}
+					&:last-child {
+						flex-shrink: 0;
+						font-size: 24rpx;
+						font-family: PingFangSC-Regular, PingFang SC;
+						font-weight: 400;
+						color: #999999;
+					}
+				}
+			}
+		}
+		.zw {
+			width: 100%;
+			height: 20rpx;
+			background: #F7F7F7;
+		}
+		.container_b {
+			width: 100%;
+			padding: 30rpx;
+			background: #FFFFFF;
+			padding-top: 20rpx;
+			box-sizing: border-box;
+		}
+		.container_c {
+			width: 100%;
+			padding: 30rpx;
+			box-sizing: border-box;
+			display: flex;
+			flex-direction: column;
+			background-color: #F7F7F7;
+			.container_c_head {
+				width: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				.container_c_head_left {
+					display: flex;
+					align-items: center;
+					.container_c_head_left_h {
+						width: 6rpx;
+						height: 32rpx;
+						background: #0055FF;
+						border-radius: 4rpx;
+						margin-right: 16rpx;
+					}
+					text {
+						font-size: 32rpx;
+						font-family: PingFangSC-Semibold, PingFang SC;
+						font-weight: 600;
+						color: #222222;
+					}
+				}
+				.container_c_head_right {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					// width: 200rpx;
+					padding: 0 20rpx;
+					box-sizing: border-box;
+					height: 52rpx;
+					background: #FFFFFF;
+					border-radius: 26rpx;
+					border: 2rpx solid #EEEEEE;
+					box-sizing: border-box;
+					text {
+						font-size: 24rpx;
+						font-family: PingFangSC-Regular, PingFang SC;
+						font-weight: 400;
+						color: #333333;
+						margin-right: 22rpx;
+					}
+					image {
+						width: 20rpx;
+						height: 10rpx;
+					}
+				}
+			}
+			.container_c_list {
+				width: 100%;
+				margin-top: 32rpx;
+				display: flex;
+				flex-direction: column;
+				.container_c_list_wu {
+					width: 100%;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					margin-top: 50rpx;
+					image {
+						width: 340rpx;
+						height: 364rpx;
+					}
+				}
+				.container_c_list_item {
+					width: 100%;
+					display: flex;
+					flex-direction: column;
+					padding: 30rpx;
+					box-sizing: border-box;
+					background-color: #ffffff;
+					margin-bottom: 20rpx;
+					.top {
+						width: 100%;
+						height: 50rpx;
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						.top_left {
+							flex: 1;
+							overflow: hidden;
+							white-space: nowrap;
+							text-overflow: ellipsis;
+							font-size: 32rpx;
+							font-family: PingFangSC-Semibold, PingFang SC;
+							font-weight: 600;
+							color: #222222;
+						}
+						.des {
+							color: #999999 !important;
+							border: 2rpx solid #999999 !important;
+						}
+						.jx {
+							color: #F62710 !important;
+							border: 2rpx solid #F62710 !important;
+						}
+						.top_right {
+							flex-shrink: 0;
+							margin-left: 20rpx;
+							// width: 104rpx;
+							padding: 4rpx 8rpx;
+							// height: 38rpx;
+							border-radius: 4rpx;
+							border: 2rpx solid #0055FF;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							font-size: 22rpx;
+							font-family: PingFangSC-Regular, PingFang SC;
+							font-weight: 400;
+							color: #0055FF;
+						}
+					}
+					.item_zw {
+						width: 100%;
+						height: 2rpx;
+						background-color: #E5E5E5;
+						margin: 28rpx 0 30rpx 0;
+					}
+					.item_info {
+						width: 100%;
+						display: flex;
+						align-items: center;
+						margin-top: 24rpx;
+						&:first-child {
+							margin-top: 0 !important;
+						}
+						.item_info_label {
+							flex-shrink: 0;
+							font-size: 28rpx;
+							font-family: PingFangSC-Regular, PingFang SC;
+							font-weight: 400;
+							color: #666666;
+						}
+						.item_info_content {
+							flex: 1;
+							font-size: 28rpx;
+							font-family: PingFangSC-Regular, PingFang SC;
+							font-weight: 400;
+							color: #333333;
+						}
+					}
+				}
+			}
+		}
+	}
+</style>

--
Gitblit v1.9.3