From 73af3ed9fbcc616cdecc739fc4307163c19c5764 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 07 六月 2024 14:35:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
h5/pages/staff/meetingManager.vue | 301 ++++++++++++++++++++++++++++++-------------------
1 files changed, 185 insertions(+), 116 deletions(-)
diff --git a/h5/pages/staff/meetingManager.vue b/h5/pages/staff/meetingManager.vue
index 21a04b5..3a75d64 100644
--- a/h5/pages/staff/meetingManager.vue
+++ b/h5/pages/staff/meetingManager.vue
@@ -1,66 +1,87 @@
<template>
<view class="main_app">
- <!-- -->
- <!-- <uni-calendar @change="changeCalendar" :selected="selected" /> -->
- <!-- 鏃ュ巻 -->
- <view class="container_b">
- <Calendar
- ref="Calendar"
- :currentTime="currentDate"
- :mark="mark"
- :showLunar="false"
- @dayChange="dayChange"
- @monthChange="monthChange"
- :rangeMode="false"
- :maskColor="'#ffffff'"
- :dateStart="dateStart"
- :dateEnd="dateEnd"
- :canDrag="false"
- ></Calendar>
- </view>
- <!-- -->
- <view class="card_list">
- <view class="card_title">
- <view class="name">
- <view class="icon"></view>
- <view class="text">浠婃棩浼氳</view>
- </view>
- <view class="meeting" @click="isShowStatus = true">
- <view class="text mr24">{{ activeStatus.name }}</view>
- <u-icon name="arrow-down" size="12" color="#999999" />
- </view>
+ <template>
+ <!-- <uni-calendar @change="changeCalendar" :selected="selected" /> -->
+ <!-- 鏃ュ巻 -->
+ <view class="container_b">
+ <Calendar
+ ref="Calendar"
+ :currentTime="currentDate"
+ :mark="monthMark"
+ :showLunar="false"
+ @dayChange="dayChange"
+ @monthChange="monthChange"
+ :rangeMode="false"
+ :maskColor="'#ffffff'"
+ :dateStart="dateStart"
+ :dateEnd="dateEnd"
+ :canDrag="false"
+ ></Calendar>
</view>
- <view class="list">
- <view class="item">
- <view class="head">
- <view class="name">aaaaa閫夊瀷</view>
- <view class="status">鍗冲皢寮�濮�</view>
+ <!-- -->
+ <view class="card_list">
+ <view class="card_title">
+ <view class="name">
+ <view class="icon"></view>
+ <view class="text">浠婃棩浼氳</view>
</view>
- <view class="line">
- <view class="label">浼氳鏃堕棿锛�</view>
- <view class="value">12:00-12</view>
+ <view class="meeting">
+ <view class="text mr24" @click="isShowStatus = true">{{
+ activeRoom.name
+ }}</view>
+ <u-icon name="arrow-down" size="12" color="#999999" />
</view>
- <view class="line">
- <view class="label">浼氳瀹わ細</view>
- <view class="value">202浼氳瀹�</view>
- </view>
- <view class="line">
- <view class="label">棰勭害浜猴細</view>
- <view class="value">鏉ㄦ煇鏌�</view>
- </view>
- <view class="line">
- <view class="label">澶囨敞锛�</view>
- <view class="value">--</view>
+ </view>
+ <view class="list">
+ <view
+ @click="handleDetail(item.id)"
+ class="item"
+ v-for="item in myMeetingList"
+ :key="item.id"
+ >
+ <view class="head">
+ <view class="name">{{ item.meetingName }}</view>
+ <view class="status" v-if="item.meetingStatus == '1'"
+ >鏈紑濮�</view
+ >
+ <view class="status red" v-if="item.meetingStatus == '2'"
+ >杩涜涓�</view
+ >
+ <view class="status" v-if="item.meetingStatus == '3'"
+ >宸茬粨鏉�</view
+ >
+ <view class="status padding" v-if="item.meetingStatus == '4'"
+ >鍗冲皢寮�濮�</view
+ >
+ <view class="status" v-if="item.meetingStatus == '5'"
+ >宸叉挙閿�</view
+ >
+ </view>
+ <view class="line">
+ <view class="label">浼氳鏃堕棿锛�</view>
+ <view class="value">{{ item.meetingTime }}</view>
+ </view>
+ <view class="line">
+ <view class="label">浼氳瀹わ細</view>
+ <view class="value">{{ item.roomName }}</view>
+ </view>
+ <view class="line">
+ <view class="label">棰勭害浜猴細</view>
+ <view class="value">{{ item.bookingUser }}</view>
+ </view>
+ <view class="line">
+ <view class="label">澶囨敞锛�</view>
+ <view class="value">{{ item.remark || item.meetingRemark }}</view>
+ </view>
</view>
</view>
</view>
- </view>
-
+ </template>
<!-- -->
- <u-picker
+ <u-picker
keyName="name"
:show="isShowStatus"
- :columns="statusList"
+ :columns="meetingList"
@confirm="seletedStatus"
@cancel="isShowStatus = false"
></u-picker>
@@ -69,70 +90,100 @@
<script>
import Calendar from '@/components/Li-Calendar/Li-Calendar.vue'
-import dayjs from 'dayjs'
-import { myMeetingPage } from '@/api'
+import dayja from 'dayjs'
+import { myMeetingPage, monthMeetingPage, roomsListPost } from '@/api'
+function getDate(date, AddDayCount = 0) {
+ if (!date) {
+ date = new Date()
+ }
+ if (typeof date !== 'object') {
+ date = date.replace(/-/g, '/')
+ }
+ const dd = new Date(date)
+ dd.setDate(dd.getDate() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
+
+ const y = dd.getFullYear()
+ const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 鑾峰彇褰撳墠鏈堜唤鐨勬棩鏈燂紝涓嶈冻10琛�0
+ const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 鑾峰彇褰撳墠鍑犲彿锛屼笉瓒�10琛�0
+ return {
+ fullDate: y + '-' + m + '-' + d,
+ year: y,
+ month: m,
+ date: d,
+ day: dd.getDay()
+ }
+}
export default {
components: {
Calendar
},
data() {
return {
+ activeTab: '0',
+ recordList: [],
+ recordPage: 1,
+ myPage: 1,
+ myMeetingList: [],
currentDate: '',
- dateStart: '2024-01-01',
+ dateStart: '1999-05-01',
dateEnd: '2999-06-15',
- mark: [
- {
- time: '2024-05-30'
- },
- {
- time: '2024-05-22',
- pointText: 'aaa',
- pointTextColor: '#fff'
- },
- {
- time: '2024-05-28',
- text: ['111','222'],
- pointTextColor: '#fff'
- }
- ],
- activeStatus: {
- name: '鍏ㄩ儴浼氳瀹�'
- },
- isShowStatus: false,
- statusList: [[
- { name: '鍏ㄩ儴浼氳瀹�', key: '' },
- { name: '鏈紑濮�', key: '1' },
- { name: '宸茬粨鏉�', key: '2' },
- ]],
- dataList: [],
- page: 1
+ monthMark: [],
+
+ isShowStatus: false,
+ activeRoom: {
+ name: '鍏ㄩ儴浼氳瀹�',
+ id: ''
+ },
+ meetingList: [],
+
}
},
onLoad() {
- this.currentDate = dayjs().format('YYYY-MM-DD')
- this.getList()
+ this.currentDate = dayja().format('YYYY-MM-DD')
+ this.initData()
+ this.getRoomList()
+ },
+ onShow() {
+ this.myPage = 1
+ this.myMeetingList = []
+ this.getDayMeeting()
+ },
+ onReachBottom() {
+ this.myPage = this.myPage + 1
+ this.getDayMeeting()
},
methods: {
- getList() {
- const { activeStatus } = this
- myMeetingPage({
- capacity: 10,
- page: this.page,
- model: {
- queryDate: this.currentDate,
- status: activeStatus.key || null,
- // roomsId: this.roomId,
- queryType: 1
- }
+ initData() {
+ // 褰撴湀鏁版嵁
+ monthMeetingPage({
+ yearMonth: this.currentDate.slice(0, 7)
}).then(res => {
- this.dataList = res.data.records
- })
+ this.monthMark = res.data.filter(i => i.meetingNum > 0).map(j => {
+ return {
+ time: j.monthDate,
+ pointText: j.meetingNum,
+ pointTextColor: 'red'
+ }
+ })
+ })
},
- handleDetail(item) {
+ getRoomList() {
+ roomsListPost({}).then(res => {
+ this.meetingList = [[{ id: '', name: '鍏ㄩ儴浼氳瀹�' }, ...res.data]]
+ console.log('meetingList', this.meetingList);
+ })
+ },
+ seletedStatus(e) {
+ this.myMeetingList = []
+ this.activeRoom = { ...e.value[0] }
+ this.isShowStatus = false
+ this.getDayMeeting()
+ },
+ handleDetail(id) {
uni.navigateTo({
- // url: `/pages/staff/meetingDetail?id=${item.id}`,
- url: `/pages/staff/meetingDetail`
+ url: `/pages/staff/meetingDetail?id=${id}`,
+ // url: `/pages/staff/meetingDetail`
})
},
changeCalendar(e) {
@@ -140,7 +191,6 @@
},
// 鐐瑰嚮鏌愬ぉ
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('-')))
@@ -148,11 +198,14 @@
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()
+ this.currentDate = riqi
+ this.myMeetingList = []
+ this.activeStatus = {
+ name: '鍏ㄩ儴浼氳瀹�',
+ key: ''
+ }
+ this.myPage = 1
+ this.getDayMeeting()
},
// 涓嬩竴鏈�
monthChange(data) {
@@ -164,14 +217,25 @@
dd = dd < 10 ? `0${dd}` : dd
let riqi = `${yyyy}-${mm}-${dd}`
console.log('鏃ユ湡', riqi)
- this.currentTime1 = riqi
- // this.getDateNum()
+ this.currentDate = riqi
+ this.initData()
},
- seletedStatus(e) {
- this.activeStatus = { ...e.value[0] }
- this.isShowStatus = false
- this.getList()
- },
+
+ getDayMeeting() {
+ const { myPage, activeRoom, currentDate } = this
+ // 褰撳ぉ鎴戝弬涓庣殑浼氳
+ myMeetingPage({
+ model: {
+ queryType: '1',
+ roomsId: activeRoom.id,
+ queryDate: currentDate
+ },
+ page: myPage,
+ capacity: 10
+ }).then(res => {
+ this.myMeetingList = [ ...this.myMeetingList, ...res.data.records ]
+ })
+ },
}
};
</script>
@@ -190,10 +254,6 @@
::v-deep .uni-calendar-item--isDay-text {
color: $uni-color-primary;
}
- ::v-deep .calendar-point {
- /* background-color: $uni-color-primary; */
- }
-
::v-deep .uni-calendar-item--isDay {
background-color: $uni-color-primary;
color: #fff;
@@ -274,6 +334,7 @@
padding: 0rpx 30rpx 30rpx;
background: #ffffff;
border-radius: 8rpx;
+ margin-bottom: 24rpx;
.head {
display: flex;
justify-content: space-between;
@@ -295,6 +356,14 @@
font-size: 22rpx;
color: #999999;
}
+ .padding {
+ color: $uni-color-primary;
+ border: 1rpx solid $uni-color-primary;
+ }
+ .red {
+ color: #e23f29;
+ border: 1rpx solid #e23f29;
+ }
}
.line {
display: flex;
--
Gitblit v1.9.3