| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <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>
|